Apt
Over the past two months, I’ve spent many a weekday evening with my nose pointed downward into a programming book. The result of this study and effort, which I’m today nudging forward out into the world, is Apt, a web app that allows roommates to keep track of their spending. (Have a roommate who never quite pays her share of the bills or — as in my case — always seems to buy the milk and orange juice before you’ve had a chance? Apt helps you keep tabs on such things.)
I’m hosting Apt and writing about it for two reasons:
It’s my first substantial foray into programming. I’m happy with it, but I also want to expose it to the light of day. I ask, humbly, for your feedback.
It works, and some of you may find it useful.
Beginning an education in programming on one’s own, I’ve found, is not easy. We don’t lack for excellent —and free — resources: Chris Pine’s Learn to Program is an exceptionally clear and friendly introduction to Ruby, and Michael Hartl’s thorough Ruby on Rails tutorial is equally terrific. No single resource, though, can bottle up and serve something as complicated and dynamic as programming in general and web application development in particular. There are simply too many subtleties, too many edge cases, too many moving parts. Focusing on this project, though, helped me avoid becoming overwhelmed by the breadth and intricacy of this landscape.1 Rather than drown trying to absorb a thick reference book’s worth of information, I could, at each step of this process, identify a handful of immediate challenges and work one-by-one to overcome them. It wasn’t always easy, but it was almost always fun.
The following free resources, supplementing what I learned from Pine and Hartl, also proved useful:
- RailsCasts — brief Rails screencasts by Ryan Bates, each on a particular topic
- Rails for Zombies — a sequence of tutorial videos, with a cute/corny Zombie theme, that provides a general overview of Ruby on Rails
- Stack Overflow — a programmer forum that can be a godsend when trying to resolve a one-off roadblock2
I am a beginner, and Apt is the product of a beginner’s efforts. If you decide to try it out and you notice bugs, or if you otherwise have complaints, please let me know. I have no plans to expand Apt substantially, but I would like to make it good.
-
37 Signals wrote an excellent blog post about the usefulness of such a project when learning to program. ↩
-
Then again, Stack Overflow itself can be a source of frustration. ↩