Random Musings.

I Am Back!

After a long (just over 2 year) hiatus, I am back. And I am blogging.

It’s basically just a Octopress, just like I always have had.

How long will this last? Who knows! It’s going to be interesting though, because one of my 2015 goals is to blog at least 6 times over the course of the year, if not more.

Here’s to many more blog posts.

Workshop April 26th & 27th: Introduction to Startup Prototyping for the Web

From Idea To WebApp

Have you ever had an idea for an app or website, but lack the skills to make a prototype?

Do you sometimes feel out of touch, disconnected or confused as to what your technical cofounder just tried to explain to you?

Has this ever caused problems later on, such as scope creep, missed deadlines, or creating the wrong feature?

This is a frequent and reoccurring problem in many companies, and one of the key factors why many startups fail to launch.

That is why I am proud to be offering a 1-day workshop aimed at bridging that gap.

You will be exposed to such topics, skills and tools as: - A application lifecycle, from idea, to testing, to the final, finished product. - The fundamentals of the Ruby programming language. - Test Driven Development - a method of producing well written, easy-to-maintain code. - User Stories and similar Agile methodologies. - Git and Source Control - How to manage your projects code and assets, and collaborate. - Ruby on Rails, a primer web development framework used by companies such as Shopify, 37 Signals, Groupon, and many others.

It’s an opportunity to learn how to think like a developer, and know how to take the next steps towards being able to build your own product.

Creation is the language that is spoken in most startup ecosystems, and so it makes sense that everyone should be able to lend a hand, build a quick little demo for an idea, etc.

As said by Noah of 37 Signals:

Before I could actually make things, I felt like an outsider – who was I to provide advice to these people who actually made things?

and also:

Rather than waiting for a developer to have time to help me, I could just do it myself … being part of a small company places a constraint on how much can be devoted to things that aren’t directly customer facing.

So, learning to create things is a arguably important skill for anyone in a startup.

Sign up on EventBrite today!


At the Shaker LaunchHouse, located at 3558 Lee Road, Shaker Heights, OH.

View Larger Map


As we’re sure you noticed, the prices are a bit steep. However, if you get in before the Early Bird tickets sell out, then you get $25.00 off the ticket price!

You are probably wondering, why are the prices so high? Well, lets do a bit of comparision.

Among the various companies out there that are teaching this type of material, the price for an event like this would be around $300-500, instead of the $200 we are asking.

It’s a steal, and we hope that you decide to attend and learn!

Who Is James Gifford?

James is the founder of Snowy Penguin Solutions LLC, a technology startup in the IT and technology education arena. He is a frequent open source software contributor, and is currently writing a book on a configuration tool called Puppet, as well as writing a book on Ruby on Rails.

Ask Ubuntu 2013 Moderator Election Results: Welcome New Moderators!

Every once in a while (which has been every year so far), Ask Ubuntu has a community moderator election, where you, the community, elect new moderators to help keep the site clean.

Yesterday, the Ask Ubuntu 2013 Moderator elections wrapped up - our 3 additional moderators are:

Luis Alvarado,


And RolandiXor!

They join the existing team of moderators, who are very excited about the new group!

Congratulations to all, and keep up the good work!

Tricks of the Rails Development Trade Learned While Updating Applications

As I’m sure most of us are aware, Rails recently had some security holes brought to light and fixed.

These are my notes after upgrading about a dozen applications, many of them twice in the past month or two.

If you don’t have a solid batch of unit tests, then the odds of my spending any time on patching your open source project are nil. Well, not quite: I’ve done a few.

But seriously, with tests, my workflow looks something like this:

  • read README. Make note of any special dependencies, like elasticsearch or postgres in development.

  • git clone.

  • create new rvm gemset.

  • bundle install.

  • read through config/database.yml, change if needed to work with my setup. Changes are normally limited to things like the database name, the database user, password, etc.

  • rake db:create

  • rake db:migrate && rake db:seed && rake db:test:prepare

  • and then I run the tests - either rake test, rspec spec or rake spec. I’ve seen all three of them, and I’m sure I’ll see more variations as time goes on. Side note: For Rails applications, we should always alias rake test to the testing framework that is being used.

  • if the tests all pass before I upgrade, I upgrade with bundle update rails && rake test, if they don’t, then I try to make them pass (I normally can), but if I can’t, I and then update Rails, re-run the tests, and make sure they are either all green, or that there are no new failures. (No more than 5% of the tests can fail).

  • commit, submit a pull request, ping the maintainer on twitter after 24 hours if it isn’t merged.

Without tests:

  • git clone
  • bundle install
  • rake db:migrate
  • rails server
  • poke around in the browser.
  • update rails
  • spend my time going through weird stacktaces and weird errors, or worse, not knowing if I broke something.


So, the take aways are:

  • Documentation on how to get a fully functional dev environment, having tests, and having the code on github.

  • Test suites rule.

  • Readable code is also important - there were a few situations where the tests were failing, and I had to go through and read the code to understand why, and it was surprisingly easy to debug these applications - I’m sure that the test-driven design was also a big part of it, but there was also a certain element of “this is readable code, I can understand this”.

Oh, and if you’re looking for someone to update your Rails applications with critical security fixes in the future, lets talk.