I was recently looking on the web for a very clear description of what a RESTful resource is. Clear and accurate definitions were few and far between, so I decided I’d write one. What Is a Resource? A resource is: a noun that is unique and can be represented as data and has at least [...]
I’ve put the slides online for my Boston Ruby Group talk “Babies vs. Zombies”. In the talk I mentioned the excellent paper Big Ball of Mud and the fascinating study “How Many Variables Can Humans Process?”.
Are you a good Ruby on Rails developer that loves to code? Have you published a high-quality, successful gem? If not, you may be making a mistake that could cost you as much as $100,000. If this surprises you, there are three things you should realize: Fact #1: If you can create a high-quality, successful [...]
The Wicked Good Ruby Conf got off to a great start today with a powerful singing performance by Liana Leahy and a wonderfully inspiring and sobering keynote by Sandi Metz. After the keynote, I attended the talk Wicked Bad Ruby by Matt Aimonetti and it really struck a chord with me. The discussion afterwards with [...]
The tabulous gem has continued to grow in popularity ever since I released it in 2011. Since so many people have found it useful, I decided to give it some love. Tabulous 2 is a complete rewrite, featuring a simpler syntax and new behavior. Tabulous is designed to be perfect for quick prototyping, robust enough [...]
Have you ever hesitated when trying to refactor a controller for simplicity? Sure, you know how to write a controller so that it “works”. You even know how to organize your controllers in a resource-oriented, RESTful way. But when it comes to understanding the purpose of controllers, they’ve always seemed a bit fuzzy. And they’ve [...]
What do you get when you cross Ember.js with the Single Responsibility Principle? I recently decided to find out by refactoring the architecture of Ember.js so that each class had only one responsibility. This is the result of my experiment. Three Layers You can think of a software application as having three layers, each having [...]
Estimating how long it will take to develop software is difficult. Fortunately, as an industry we’ve moved away from big-planning-up-front, exhaustive Gantt charts and toward a more agile approach. Unfortunately, we’ve stuck with single point estimates which have some significant disadvantages when compared to range estimates.