The Lab Notebook
Notes from our team on building software and running projects.
-
Why Do I Need a Code Review?
Existing applications may have been developed a while ago, by many different developers. A code review allows us to assess the current state of the project.
-
What Can I Expect From Our Initial Meeting?
This article describes what what you can expect from our initial meeting, what information we're trying to gather and why we're gathering it.
-
Find and replace {} in sed
There is an awkward gotcha when trying to find and replace the empty hash/object with sed from the command line.
-
Per tenant IDs, with CanCanCan
This article shows you how to scope IDs to tenants in a multitenant system, using CanCanCan, in Ruby on Rails.
-
Prevent Rails From Caching in Development
We ran into a strange problem in our development environment recently that had us puzzled. Even though we'd turned off caching, we were still seeing cached results. What's going on?!
-
Level Up With a New Podcast
Chris keeps telling me I should listen to more podcasts, but I keep putting it off. No more! I've made it a goal to create a wondorous playlist of epic proportions. Here's a podcast I found recently that kept my attention, was interesting and fit perfectly into my commute.
-
CodeDay Phoenix - May 23-24, 2015
CodeDay is an event geared toward students, where they go from idea to app in 24 hours. It's been organized in Phoenix a few times and we're really excited to see it back again. Check it out!
-
Pessimistic Prerelease Peculiarities
We show that a commonly held assumption about the pessimistic requirement operator isn't necessarily always true, specifically when dealing with prerelease gem versions
-
5 Indispensible Rails Testing Gems
There are certain Ruby gems that we've found to be useful and include in every project we work on. Here are a few of the testing gems we feel are indispensible.
-
STI store: Putting attributes in their place
We show some of the disadvantages which arise when adding attributes to models which use single table inheritance, and introduce a new approach which resolves them.