vimtronner: A Multiplayer, Command-line vim Trainer Built on Node.js and

By on in Everything Else, Web

vimtronner game play

Greetings, programs! Meet vimtronner, a multiplayer command-line game that teaches you the core vim keys. Be the last player alive by either controlling your bike safely around obstacles or building your own walls for your opponents to crash into. Just remember: you can’t do both at the same time!

You can learn how to install and play vimtronner on its Github page as well as check out its codebase. In this post we’ll walk through it’s origins and lessons learned about terminal graphics, handling input for games, efficiently routing events to interested parties and more. Continue reading …

Applying Functional Programming Principles To Your Rails Codebase

By on in Design, Everything Else, Web

All the programmers around me seem to have very strong opinions about functional programming. The Internet certainly loves to talk about it. Some of the concepts are interesting – but many of them (at first) don’t seem to apply for those of us writing database-fronting web applications. What can we apply from a world in which side effects are shunned if the majority of what our application is doing is getting stuff out of a database for display on a web page?

In this article, I’ll share some of the lessons I’ve learned writing programs in a functional style using other languages and how these lessons apply to problems of testability, predictability, and parallelism in the regular ‘ole web application code we’re writing today. I’ll show you how you can increase the quality of your existing application by introducing stateless functions that interact with the state-manipulating stuff you’re already familiar with (and have already written). This article is geared towards web application development in the real world; don’t fret, the word “monad” does not appear anywhere on this page. Continue reading …

The 6 Essential Traits of the Successful DEO (and what the heck is a DEO?)

By on in Everything Else


Rise of the DEO: Leadership by Design, an evening with Authors Maria Giudice & Christopher Ireland

On Thursday, November 14, we’re pleased to host the authors of Rise of the DEO: Leadership by Design, Maria Giudice and Christopher Ireland, in a special event discussing the role of the DEO and their place in navigating the business challenges of today.

Space is Limited: RSVP on Eventbrite

Do you have the traits of a DEO?

Continue reading …

The JavaScript Event Loop: Explained

By on in Everything Else

What’s this post about?

With JavaScript approaching near-ubiquity as the scripting language of the web browser, it benefits you to have a basic understanding of its event-driven interaction model and how it differs from the request-response model typically found in languages like Ruby, Python, and Java. In this post, I’ll explain some core concepts of the JavaScript concurrency model, including its event loop and message queue in hopes of improving your understanding of a language you’re probably already writing but perhaps don’t fully understand.

Continue reading …

Courtney Hemphill Speaks at Lean UX SF Meetup

By on in Everything Else

Come check out Courtney Hemphill as she speaks at this week’s Lean UX SF Meetup this Tuesday as she gears up for her talk at this year’s FlowCon. Courtney will be talking about the weekly flow of product development at Carbon Five, including the importance of fostering integrated teams, establishing cadence, and gathering user feedback & validation.

Check out the Lean UX SF Meetup for more details and to put your name on the waiting list for this sold out event. If you can’t make it, or can’t get in, why not pick up a ticket to FlowCon?

Kablammo! The Ruby Robot War Has a Winner

By on in Everything Else

At this year’s GoGaRuCo, we ran a coding contest called Kablammo. Contestants submitted robot strategies and their ‘bots fought it out in the arena at for a chance to win a Printrbot Simple 3D printer. After more than 20 entries and 1,000 battles, we’re ready to announce the winner!



Congratulations to Jeff Moore (AKA jhmoore) for his robot Yashwantrao Holkar. Jeff works at Mavenlink as a software engineer, and his hobbies include riding motorcycles way too fast, podcasting about terrible things on the internet, and baking pies.

There were a lot of great entries, but after checking out Jeff’s code and pitting his strategy against all comers in both one-on-one and one-on-many battles, he emerged as the winner. He’ll be receiving his Printrbot in the mail and we look forward to seeing what he prints up with it.


We’d like to thank all of the participants. We had a ton of fun coding the tournament and hope you had as much fun playing. We’ll be running more Kablammo tournaments in the future, so keep an eye on the blog. In the meantime, feel free to check out the repo, run your own server, or submit a robot into the public arena.

GoGaRuCo 2013

By on in Everything Else

We are thrilled to be one of the sponsors of the Golden Gate Ruby Conference once again. GoGaRuCo is a great event, balancing technical talks with the meta-topics that are important to all of us. We’re very psyched about what Leah, Josh, Jim, and all of the volunteers and speakers have done. Their work helps make the Ruby Community the awesome place that it is today.

We are proud to be one of the sponsors. For our third year as a sponsor we upped our involvement by running a table and hosting one of the official parties with our friends at Sharethrough: the Hacker + Maker Lounge. Rather than throwing a party at a club where it’s too loud to talk or where the primary activity is drinking, we created an event focused on the other things we’re excited about: learning and creating new things (in addition to good food and drink).


The Hacker + Maker Lounge passport.

Continue reading …

Lean in the Enterprise: an Evening with Brant Cooper & Patrick Vlaskovits

By on in Everything Else

Please join us at Carbon Five in San Francisco on Thursday, August 29th at 6:30pm for a special evening featuring Brant Cooper & Patrick Vlaskovits as they share their unique perspective on entrepreneurship in the enterprise drawn from their own experience and as authors of New York Times bestseller, The Lean Entrepreneur.


Brant & Patrick will be joined by Bennett Blank, Innovation Leader at Intuit, and the three will share their insights into the particular challenges with bringing Lean to the enterprise. Topics for discussion include:

  • Legal & Branding – Existing enterprises incur significant risk by running experiments with their existing customers.
  • Human Resources – Behaving like an intrapreneur requires skills that are quite different from those of an enterprise employee.
  • Leadership – Your employees are not the only people in the organization that will need to behave differently.
  • Sales & Marketing – As your product teams embrace this new way of working they will need to learn how to handle their own sales & marketing.

The evening will include a happy hour, Q&A session, and book signing by the authors. Space is limited for this invite-only event, so please RSVP.

Details & RSVP →

Front-End Tech Talks Next Week

By on in Everything Else

Next Wednesday, June 26th, we’re hosting a Tinderbox event featuring three tech talks on various front-end development topics. We’re excited to have a guest speaker from Cue in the line up, plus two Carbon Five developers, including Erin who’s flying up from our Santa Monica office and Ingar, one of our tech leads in San Francisco. On the menu:

  • HTML5 Multiplayer Game Development (+ Node.js) – Ingar Shu / C5
  • New Browsers, Same Vulnerabilities – David Bloom / Cue
  • Backbone.Marionette – Erin Swenson-Healey / C5

If you haven’t yet been to one of the Tinderbox events, check it out. We aim for quality in both the talks and participation. Each talk includes Q&A and if previous events are any indicator, the Q&A can be as much fun as the talks. Come early to meet other great developers.

Doors open at 6:15, and the talks start at 7 sharp. Learn more and RSVP on the Tinderbox event page.