@JimCody100 #wcmke Rob Your "Managing Risk and Selling Value" was one of the best talks of the entire Milwaukee Wordcamp! @Simontegu I owe you some "free" beer after that amazing talk

Upcoming presentations

February 18 - 19, I'm presenting a talk titled "Teaching functional programming to n00bs in mobs" at Lambda Days in Kraków, Poland.

February 20 - 21, I'll be doing an functional programming workshop in Kraków, Poland.

April 29 - 30, we're tentatively planning another functional programming workshop in London. Stay tuned.

Presentations I've given

I often have the opportunity to present at conferences, local tech meetups, and occasionally present for corporate training events. Here are some of the presentations I've given. Many of these presentations are available to schedule.

Irrational configuration system to functional data store

This is my 2015 conference talk on using a functional data store to replace an organically-grown configuration system in one of our software platforms. I think it was pretty well received. The most pleasing comment I heard was in a tweet from @rabbitonweb: "@version2beta's talk currently the best of all I've seen at #codemesh. Just the right ratio of theory and practice in a case study." @codemiller tweeted a quote from my talk that's been retweeted almost a hundred times: "It's almost as if we don't trust someone with functional programming until they've proven they can go a decade with object oriented programming and still not murder anyone."

My transcript with slides is available in my blog.

Where to go from here? Change the world.

Rails Girls Salt Lake City 2015, October 17, 2015 in Salt Lake City, Utah

This is a short talk I was asked to give at a RailsGirls event in Salt Lake City on October 17, 2015. The requested subject was "Where to go from here?" It's possible the organizers wanted practical advice for participants on how they might keep going into a career in development, but when I said I wanted to talk about gender diversity and changing culture, they accepted my talk.

My transcript with slides is available in my blog.

Why be functional?

OC Tanner Company Functional Programming Bootcamp (internal training event), August 27, 2015, Salt Lake City, Utah

I gave this talk at OC Tanner during a functional programming boot camp for our developers. It looks at complexity, the influence of language design on program design, and how pure functional programming may provide strong benefits.

My transcript with slides is available in my blog.

How to hire a software engineer

OpenWest 2015, May 8, 2015 in Orem, Utah

In 1996, I interviewed an excellent electrical engineer straight out of college and offered her a job. She politely declined in favor of the offer she received from NASA. Ever since, I've been finding ways to find, recruit, and hire candidates who are also going to attract excellent offers from highly desirable employers. Spoiler alert: part of my strategy is to mentor engineers, especially women, in becoming high value candidates.

This talk is derived from the training presentation I gave to the software engineering department at OC Tanner, where we are using the hiring process very much as described.

My transcript with slides is available in my blog.

Idiomatic Erlang in 42 minutes or less

OpenWest 2015, May 8, 2015 in Orem, Utah

I can't teach you Erlang in 42 minutes, but I will show the three most Erlangy characteristics of Erlang: functional programming goodness through pattern matching, concurrency oriented architecture, and error handling through Erlang's "Let It Crash" offensive programming paradigm. With these three concepts, it's possible to see when and why Erlang is the right tool for your job.

My transcript with slides is available in my blog.

Navigating the bazaar of open source libraries

That Conference, August 12 - 14, 2013 at Kalahari Resort, Wisconsin Dells, Wisconsin

Choosing a software library — a module for a content management system, a gem for Ruby, a Python or Node.js package — is a daunting and sometimes improbable task. The community is prolific and choices are bewildering. Choosing well requires not only a technical analysis of features and code, but every bit as much an understanding of dynamic social relationships at work in the community. "Put people first" explores not only how to navigate this bazaar of coders and code, but also how to engage the authors, contribute in kind, and ultimately become part of the community.

My transcript for Navigating the Bazaar and slides are available in my blog.

Managing Risk and Selling Value

Presented at Wordcamp Milwaukee, June 7 - 9, 2013 at Bucketworks in Milwaukee, Wisconsin.

You're a skilled practitioner of web crafts. You can make WordPress sing. You can get Google agog. You can send customers clicking to conversions. But do you know how much to charge? This presentation explores how the three prime factors for pricing your work — complexity, risk, and value — interact with each other. W'll also learn a C-R-V formula that helps you select the right jobs and makes each one lucrative for both you and your client.

A transcript of my Managing Risk and Selling Value presentation is available on my blog. My slides for this presentation are also online.

Civic hacking with IPython and Pandas

Presented at a joint meetup between the Milwaukee Data Initiative (meetup) and Milwaukee Tech Engine, June 6, 2013, at Bucketworks in Milwaukee, Wisconsin.

Some programs are never meant to be written. Often we just have a bunch of data that we need to crunch or parse or munge or just understand better. Python, and the iPython Notebook give us some excellent tools for exploring a problem domain from the inside out, using a powerful scripting language that's still considered 'the easiest programming language to learn'. In this presentation, we'll work hands-on with iPython and the Pandas data analysis library to explore some 'big data' and see what kind of answers we can tease out of it.

A transcript of my civic hacking presentation is available. My civic hacking slides are also online.

MODX can beat up your Content Management System

Presented at Web414's[1] Content Management System Showdown, May 9, 2013, where I served as a panelist.

Presented at the Milwaukee Web Design Meetup,[2] December 2011, where I served as a panelist.

A presentation on the MODX content management framework during a CMS megapanel discussion and presentation.

I created a Prezi for this presentation. You can view it at

Dev environments with Vagrant

Presented at Fox Cities PHP[3] on May 8, 2013.

Presented at MKEPUG[4] on February 12, 2013.

Virtual development environments keep your workspace clean and predictable in dev and production, and creating a virtual development machine with Vagrant is quick and easy once you have all the pieces in place. Rob Martin (@version2beta) is going to put all the pieces together and hand them to you, and then show you how you can use them.

[A transcript of my presentation][vagranttrascript] is posted in my blog, if you want to see what I had to say. My slides are also available.

The Tyranny of the Database (lightning talk)

Presented at RubyMKE[5], April 16, 2013

This short talk explores the weaknesses of traditional databases and how we use them, and argues for using services for more decoupling of the data layer from the application layer. This is part one of a larger presentation I'm preparing on the Arbitrary framework.

A transcript of my presentation is posted in my blog, and my slides are also available online.

How much should you charge? Managing risk and selling value.

Presented at Web414[1] on February 21, 2013.

You're a skilled practitioner of web crafts. You can refactor a repulsive code repository. You can get Google agog. You can send customers clicking to conversions. But you don't know how much to charge.

@version2beta's presentation explores how the three prime factors for pricing your work - complexity, risk, and value - interact with each other and help make the right jobs lucrative for you and your client.

This presentation is intended for freelance web craftspeople, bespoke design agencies, and boutique development firms.

A transcript of my presentation is posted in my blog. My slides are also online. I made a tool for calculating CRV Factors.

Also, @dustyf created a video of this presentation. The presentation starts at 17:30 and goes about 55 minutes. I think a few of the questions and answers were included, but not all - we continued informal discussion for more than an hour after the presentation. And if you enjoy the kind of humor that involves seeing people suffer, my computer locks up and I have to borrow another machine, and it's kind of funny in that sad way.

Idiomatic Node.js patterns

Presented at Bar Camp Milwaukee 7,[6] October 2012

Ever have a conversation with someone who speaks your language with a heavy accent? It helps to recognize the common patterns. Learning Node.js is much the same; sure it's javascript, but sometimes it is rather hard to follow. In this session we will review the three most essential patterns in Node.js: modules, callbacks, and streams.

Much to my surprise, a participant at this presentation recorded audio and uploaded it to Also, I made my presentation slides public on Google Drive.

Get out of the Generic Aisle

Presented at Web414, June 14, 2012

Arlen Walker (@arlen) and Rob Martin (@version2beta) will present Backbone.js as a tool to take your typical canned widget functionality a step further, and set your work apart from the masses. Backbone.js is a client-side JavaScript framework, but who really cares about that? What's important is what you can do with it. Arlen and Rob will live code (ooh, scary!) a Twitter widget demonstrating backbone's ability to easily acquire, process and present arbitrary data from diverse sources. Speakers: Rob and Arlen worked on their first project together over two decades ago - they just didn't know it at the time. It was the 1992 Solar and Electric Vehicle Association race. Arlen was on the battery team, and Rob was on the embedded controls team, and the car won first place. Today, Arlen programs under his own flag, Paladin Web Services, and Rob is top devops person at Top Floor Technologies.

Arlen and I prepared our slides using Showoff, a Ruby framework on Sinatra for presentations. They're online at Rather than live code, we created a git repository with tags for twelve steps in the presentation. That's at During our demonstration we produced a backbone-based twitter widget, which is at

5 Cool Things About PostgreSQL

Presented at Bar Camp Milwaukee 6,[6] October 2011

An overview of new features in PostgreSQL version 9.

I created a Prezi for this presentation, and you can view it online.

@version2beta's Prezi Prezi

At DjangoCon 2011 I presented a lightning talk showing off Prezi. It's online at and My talk is last, starting at 16:20. My Prezi is also available online.

Overview of Cloud Computing

Presented at Web414[1], August 2011

Presented a survey and comparison of cloud computing options from Amazon Web Services, Rackspace, and Linode.

  1. Web414 is Milwaukee's Web Community with monthly meetups and presentations varying from frameworks and content managers to version control to business and freelance management.

  2. The Milwaukee Web Design Meetup is an education, information sharing, and networking meetup for web professionals in Milwaukee.

  3. Fox Cities PHP serves a wide variety of developers spread across a significant portion of the state in and around the Neenah-Appleton area but going much further in every direction.

  4. The Milwaukee PHP Users Group meets monthly to discuss issues related to PHP development.

  5. RubyMKE is a meetup for Milwaukee's burgeoning Ruby community, often bringing 20 or 30 people into the regular weekly meetups and attacting twice that to Railsbridge-style training courses.

  6. Bar Camp Milwaukee is an annual tech conference (often referred to as an "unconference"). In Milwaukee, they typically last two days.