Sure, HTTP status codes should be used. But they aren't enough to communicate application-specific messages from an app backend to an AJAX front-end. For example, AJAX on the browser might submit a form and the server returns a 422 (HTTP validation error status code). How will you be able to inform the user that the "email address must contain @" or "foobar is not an acceptable name"? You need to consume some JSON that has a payload of application-specific status messages.
I don't know if this proposal is optimal (smarter guys than me can decide that). But I know that a standard way of communicating application-specific errors would be a big step forward.
A year ago I searched for an adequate in-place editing plugin for Rails that didn't require major surgery to provide error messages to the user. I was surprised at the complexity required to handle a simple error condition. Usually Rails has all the goodness baked in but it seems application-specific status messages with JSON are out of scope. I asked "How to show server errors in Rails with JSON and jQuery" [1] on Stack Overflow and it's received more views than any other question I've ever asked.
I rebuilt a house in the SF Bay Area several years ago.
In-floor radiant heating is my absolute favorite feature. Nothing like it.
On-demand tankless hot water system. With two loops (one open, one closed) and a heat exchanger between the two, one on-demand system can serve your domestic hot water plus the in-floor heating.
Humidity switches in the bathrooms to kick on the exhaust fan when moisture builds up from the shower (an anti-mold measure).
I put in structured wiring for phone, Ethernet (CAT 6), and video. I feel really stupid now as the only video I watch is on the computer and I gave up my landline to go solely cellular. I still like the Ethernet jacks in every room but mostly because I can put my wireless router anywhere. Lesson learned: technology changes rapidly. My structured wiring box looks quaint instead of high-tech after only five years.
A solar tube (basically a round skylight with a thirty foot reflective tube) that brings natural light down to ground floor rooms. Very nice.
One piece of advice: Don't get started on house remodeling or construction if you're doing a startup or trying to run a business. It tends to demand far more time than you have. And it's true it can put a strain on relationships (for the same reason).
Think about the guys in any prison movie: Take time to plan your escape.
1) Instead of digging a hole with stolen spoons in the prison yard, learn to program. "Rails for Zombies" (the tutorial) or Michael Hartl's book can substitute for stolen spoons. Build a personal pet project or find a way to contribute to an open source project. It'll be more fun than digging a hole in the prison yard. And you'll develop a marketable skill that'll get you a job so you don't end up back in prison.
2) While you are developing programming skills, get yourself transferred to a different prison where you can make an easier escape. You can get into any community college in the Bay Area (Laney College in Oakland, for example). Or try SF State or CSU-Hayward. Going to college in the Bay Area will give you a base and you can make your escape to a startup from there.
3) Just like the guys who volunteer in the prison library to get in position for their great escape, once you're in the Bay Area and enrolled in a local college, volunteer for all the startup events and conferences (seems like you've already done that with the TechCrunch events). It'll be a lot easier to ask people about jobs or hookup with a cofounder if you can say you're already living here and have got some useful skills.
You're smart to recognize that you need to escape your current environment to move ahead in your life. Just make the change in a smart way. Or you'll be stuck in solitary confinement for a long time.
In the 1980s, I ran a monthly 24 page punk rock music magazine using this technology. By 1984, after I sold the business, desktop publishing was already pushing out "cold type". "Cold type" -- or phototypesetting -- was what we called the Compugraphic and Linotype machines that used photosensitive paper to image columns of type. As opposed to "hot type" -- the Linotype, Ludlow, and Monotype machines that poured molten lead into molds.
There was something seriously fun about the mechanics of publishing with cold type. It was a very satisfying physical process, involving all the senses: the smell of photoprocessing chemicals, the warmth of the wax machine, the glow of the light table, our art director humming while wearing his Walkman cassette player. And all the tools: xacto knives, rulers, sheets of rub-on borders and alignment crosshairs. Good layout required an aesthetic sense alloyed with a keen eye, mental concentration and fine motor skills. Maybe not so different from Photoshop now but there was an embodied, kinesthetic and sensual aspect that's gone missing.
We thought the combination of the $4000 128K Mac and $6000 Apple Laser Printer was an incredible and liberating technology. Now we barely remember that "desktop publishing" was an innovation. And now I realize I miss the physicality of cold type.
Of course, there were those who decried all that was lost in the transition from hot type to cold type. Famously, it was a desire to recreate the aesthetic qualities of hot type that spurred Donald Knuth to create TEX, the digital typesetting program.
The large ecosystem is one of the biggest benefits to Ruby/Rails development but, yes, it can be difficult to determine which third-party project is best supported or most popular. I'd have gotten lost long ago if it wasn't for Christoph Olszowka's "The Ruby Toolbox" site [1] with its grouping of projects by category and sorting by GitHub watchers, forks, and recent activity. Take a look if you don't know about it already.
Great to see a curated collection of resources about RESTful practices. Hosted on code.google.com... now if only Google would uniformly adopt REST for their own APIs. Google is still using SOAP for the AdWords API and I get hives every time I have to dive into it.
If you want to see how it's done in Ruby on Rails, here's an example app with authentication and user management and MongoDB for data. With a tutorial.
https://github.com/fortuity/rails3-mongoid-devise
I too use Toodledo, on the iPad and web. I have even used it collaboratively to track tasks with my virtual assistant. It's got complexity (you can organize tasks by folders, goals, priorities, status, and more) but if you're not overwhelmed with all the options, you can use it for simple list making. It feels very much like a personal effort by a single developer. It runs well though the interface is pretty much lists and boxes, not design art.