Jamie's Weblog

Lessons of a startup CTO — and other things

Here I am!

Jamie Lawrence

Jamie Lawrence

I help non-technical founders start their business, build their product, get their first customers, and grow their technical team. I'm a generalist software engineer and I've worked with many different languages over the past 15 years but my current tool of choice is Ruby on Rails. I'm also an enthusiastic photographer and a novice archer

Personal Links

View Full Profile →

Ruby on Rails

October 23, 2014 0

The Ruby in Rails

2014-10-20 at 17.04

Back in August I did a short talk at Corkdev about the features of Ruby that make Rails so easy to work with. The aim was to show off Rails to a general tech audience but without being all preachy about it. So instead I flew through the actual Rails stuff and then looked at […]

Read More
October 20, 2014 0

Generating a hierarchical graph with Rails & Javascript

2014-10-20 at 21.50

At WorkCompass, we can import a .csv file of employees from a customer but, as anyone who’s done anything with CSV files knows, you need a lot of validation to make sure the data is clean. Among the automated checks are some manual things like “these are the email domains used, are you sure they’re […]

Read More
February 24, 2014 3

Using Guard and Vagrant for Rails development

Background I do all my development in a Vagrant VM and it’s mostly a seamless experience — except when using I was using guard. guard listens to file changes and runs the matching specs — it’s invaluable when doing any test-driven development. But when guard was running inside Vagrant it wouldn’t receive the filesystem events […]

Read More
January 29, 2014 0

Implementing User Settings with Rails 3.2, Postgres and Apartment

ok, so I’ll actually be talking about Company settings, not User settings. You get the idea. I needed to start storing some per-company configuration settings in a client app. I could obviously start adding columns to the Company table but these settings will: a) change over time; b) only apply to a few companies (the […]

Read More
January 27, 2014 0

Did the backup run?

So, after a major screw-up today I discovered that the daily backup process hadn’t run for the past two weeks (ASIDE: after you update ruby, remember to reinstall all the non-bundled gems) I use the backup gem to automate the backup process (user content, postgres database, and the actual app) and it’s scheduled to run […]

Read More
November 7, 2013 0

Links from last night’s RubyCork meetup

Here’s a quick selection of links from last night’s RubyCork meetup: Schema_plus: A very nice gem that let’s you create indices within create_table migration jsRoutes incredibly useful gem which bring your Rails routes into your Javascript. Solves a big pain in modern rails apps. SelfControl for helping you to focus without distracting news sites/blogs etc. […]

Read More
September 20, 2013 0

Sneaky Ruby tricks me again (and and && and or or ||)

You see, I had this little piece of code like: if last_statistic.blank? or last_statistic.different?(options) # do stuff end but I wanted to make it a bit more obvious what that condition represented so I changed it to create_new = last_statistic.blank? or last_statistic.different?(options) if create_new # do stuff end That should be the same, right? Right?! […]

Read More
August 2, 2013 0

PSA: Strip your user’s (email address)

Help preserve your sanity by strip’ing your user’s email address unless you enjoy being confused by things-that-should-work-but-don’t when confronted by a email address like ‘ jamie@ideasasylum.com’. Rails makes this exceptionally easy by overriding the default setter: “`ruby class User < ActiveRecord::Base # … def email=(email) write_attribute :email, email.strip end end describe User do it ‘should […]

Read More
July 14, 2013 0

Printing story cards from Pivotal Tracker

The advantage of tools like Pivotal Tracker is that you can easily collaborate online but, just occasionally, it’s nice to print out a stack of story cards, lay them out on a table and physically move them around. Pivotal Tracker doesn’t have a means of printing (yeah, I was surprised too) but there are several […]

Read More
July 7, 2013 0

Ruby Markers for Sublime Text

Have you ever wondered how Avdi gets those results-as-comments in his Ruby Tapas episodes? I did. And apparently it’s one of the most asked questions he receives. The answer is xmpfilter and it comes with extensions for vi/Emacs. But if you’re a Sublime Text hacker like myself and mildly allergic to vi/Emacs, can you get […]

Read More
Older Posts