/Library/Ruby/Gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:572:in `start_tcp_server': no acceptor (RuntimeError)

Seeing this error when trying to run your Rack or Sinatra webapp? It’s probably because you’re already running something on the port you’re trying to use. This happens quite a bit if you’re using daemonized Rack apps that go off on their own after you close the controlling shell. Use...

Importing old content

I’ve got text archives of my blog posts going back to about 2008 2007, so I’m going to start importing those old blog posts into posterous – Note: As of April 15th, 2012, I’ve imported these all into a new blog on Github Pages running Octopress/Jekyll – and backdating...

Currently Reading: Clean Code by Robert C. Martin

While it comes off as a little repetitive after The Pragmatic Programmer and Code Complete, “Uncle Bob” has a few interesting things to say. I’ll write another post with my notes after I’ve finished the book. The introductory on naming is dated, as most Pragmatic Programmers are no longer naming...

Continuous Integration for the Lone Programmer

(This post is part of my blog archiving project. This post appeared on blog.mattgauger.com on January 30, 2010.) There’s a laundry list of tools and practices in my head that I consider part of modern software engineering (version control, unit testing, code reviews, etc.) These aren’t necessarily required on...

How Does Wisconsin Get the Job Done?

(This post is part of my blog archiving project. This post appeared on blog.mattgauger.com on January 25, 2010.) The title is the question I asked myself after reading through the latest interview at UsesThis.com. I’d thought about using the Creative Commons-licensed stylesheets of Usesthis.com (aka TheSetup) for a nicer...

Web414 January 2010

(This post is part of my blog archiving project. This post appeared on blog.mattgauger.com on January 14, 2010.) Web414 is a monthly technology meetup here in Milwaukee, which is responsible forBarCampMilwaukee, MKE Devhouse, Milwaukee’s coworking meetups, photowalks, and many of our other events in Milwaukee. Bucketworks is the usual host...

Pulled Thoughts

(This post is part of my blog archiving project. This post appeared on blog.mattgauger.com on January 7, 2010.) Below are several bits and pieces of my previous blog post which didn’t ultimately get included. I thought that there were some neat thoughts in here, so I included them, without rewriting to add...

Feedback Loops and Emergent Behavior

(This post is part of my blog archiving project. This post appeared on blog.mattgauger.com on January 5, 2010.) This post started out as a review of two books. My friend Zac Witte introduced me to the work of Jeff Hawkins, previously of Palm and now working at a company called Numenta, which...

Purpose

(This post is part of my blog archiving project. This post appeared on http://blog.mattgauger.com/2009/12/28/purpose/ on December 28, 2009.) Every blog has to have a purpose. For awhile, I had a blog hosted on Wordpress.com, The Byte Codex. I had told myself that it was my coding blog, and that...

The First 2500 Are the Hardest

(This post is part of my blog archiving project. This post appeared on blog.mattgauger.com on December 27, 2009.) Seth Godin is a prolific blogger. He’s also a successful author. When he hit his 3000th post, I remember him writing The hard part, as you can guess, is the first...