Weekly Digest, 8-10-09
Weekly in name only ;)
What’s New in Edge Rails: Default RESTful Rendering
Controller responders handle the chore of matching the HTTP request method and the resource format type to determine what type of response should be sent. And since REST is so well-defined it’s very easy to establish a default responder to handle the basics.
Out of the Kitchen, Onto the Couch
“Here’s an analogy,” Balzer said. “A hundred years ago, chicken for dinner meant going out and catching, killing, plucking and gutting a chicken. Do you know anybody who still does that? It would be considered crazy! Well, that’s exactly how cooking will seem to your grandchildren: something people used to do when they had no other choice. Get over it.”
Approaching a Minimum Viable Product
The purpose of the MVP is to answer your most pressing question, to validate your most pressing business assumption. To create an MVP work backwards from your question, not forwards from a feature list. Invest as little as possible to answer the question because after this there will be another question and another and you’ll need enough money to answer them all.
When you’re not expecting something to fail, always use the methods that raise exceptions on failure.
What’s New in Edge Rails: Cleaner RESTful Controllers w/ respond_with
REST is a first-class citizen in the Rails world, though most of the hard work is done at the routing level. The controller stack has some niceties revolving around mime type handling with the respond_to facility but, to date, there’s not been a lot built into actionpack to handle the serving of resources.
A mini view framework for console/irb that’s easy to use, even while under its influence. Console goodies include a no-wrap table, auto-pager, tree and menu.
Simple easy contact form for Rails with I18n, validations, attachments and request information.
Ruby on Rails recently added a built-in ActiveModel::StateMachine implementation and even more recently tied it in to ActiveRecord. And, for being a built-in library, it’s pretty damned fully-featured.
Deployment Script Spring Cleaning at GitHub
As we get ready to upgrade our servers I thought it’d be a good time to upgrade our deployment process. Currently pushing out a new version of GitHub takes upwards of 15 minutes. Ouch. My goal: one minute deploys (excluding server restart time).
QuickMagick is a gem for easily accessing ImageMagick command line tools from Ruby programs.
GreenAsJade’s s3-swf-upload-plugin
A rails plugin which allow user upload files to S3 through an embedded flash directly. This fork has environment setting of amazon creds (to avoid hardcode in app), configurable message for the select button, bugfix on submit-without-select, much improved feedback to the user about what is happening, ability to check the file they selected, before it gets actually uploaded.
RSS Subscribers or Twitter Followers: Which Are Worth More?
I would need to test first to find the optimal valuation, but I am guessing it would be between 5 and 10 Twitter followers for each RSS subscriber.
You Have to Choose Who To Read
The wonderful thing is that in A.D. 2009, the option of reading primary sources is open to anybody who’s willing to take a little trouble.
“Oh, it’s easy, just a quick http call. I could write a script to do it in like 20 seconds.” But of course it’s not as simple as just writing a quick script. It’s tempting to think that adding a feature like this is just about adding the functionality — but there’s a bunch more to it than that.
I think that Cassandra is the most promising current implementation of a runtime distributed database, but much work remains to be done. We’re beginning to use Cassandra at Twitter
As in many scalability decisions, we’d have been much better off investing in agility, so that we could change the architecture in response to actual customer demand, rather than trying to predict the future. That’s what Just-in-time Scalability is all about. Sometimes quick and dirty actually incurs less debt.
Enter the URL of any CSS file to view and modify its color spectrum.
Now that the term “ramen profitable” has become widespread, I ought to explain precisely what the idea entails.
To make a long story a little less long, we saw some pretty extreme performance improvements from moving Basecamp out of a virtualized environment and back onto dedicated hardware.
This is the website for the Pro Git book, written by Scott Chacon and published by Apress. Here you can find the full content of the book, a blog with tips and updates about Git and the book and open source projects related to Git or referenced in the book.
Time has come for us to make a sortable list, and let’s face it, drag&drop are the prettiest ones. So, let me explain how to proceed.
Reputation – Yahoo! Design Pattern Library
A person participating in a social structure expects to develop a reputation and hopes for insight into the reputations of others, but each designed model of participation and reputation embodies its own set of biases and incentive structures. Balancing these forces determines in large measure the success or failure of a social system.
A simple, open, web-hook-based pubsub protocol & open source reference implementation.
As Tom Peters says, “You can’t shrink your way to greatness,” and yet that’s what so many dying businesses try to do. They hunker down and wait for things to get better, but they don’t. This isn’t a dip, it’s a cul de sac. It’s over.
Newsstand and subscription prices have never been the main source of revenue for newspapers anyway — advertising is. But they can’t make as much money from web advertising as from print for several reasons. Pre-Internet, newspapers had inordinate control over the supply of news, and therefore over the supply of advertising, and they grew fat on the profits.
Rails Rumble – This Bird’s Ready to Rumble
Of course, even applications that aren’t quite so Twitter-centric can benefit from some Twitter integration. Here’s a list of some resources that may inspire you to include them in your Rumble application in some way.
A few weeks back we (Steve and I) added multiple asset upload to Harmony using Uploadify. If you are thinking that sounds easy, you would be sorely mistaken.
Rackable is a tiny module that aims to make any Ruby object Rack-friendly and provide it with a REST-like interface. Basically, what it does is providing an object with a call() method that uses the Rack environement to dispatch to a method, giving helper objects such as headers, query parameters, …
ActiveRecord / Rails Filter Text Fields Before Assigning them
Railscasts Self-Referential Association
Creating a social networking site often requires a self-referential association on the User model to define friends/followers. In this episode I show how to do exactly that.
A custom color picker designed specifically for developers. Makes getting colors out of Photoshop/Acorn mock-ups quick and easy.
If you’re just getting started in computer science or looking to specialize in a web technology, then you should definitely look into Drupal. Jobs in the marketplace are in high demand, especially compared to some of the other CMS platforms. The number of Drupal job opportunities continues to increase.
Maker’s Schedule, Manager’s Schedule
Those of us on the maker’s schedule are willing to compromise. We know we have to have some number of meetings. All we ask from those on the manager’s schedule is that they understand the cost.
The killer feature that delayed_job has is send_later, this lets you transparently turn a method call on a class or object into a delayed_job. It also supports declaring certain methods to be handled asynchronously in an environment file…
DropBox Y Combinator Application
Y Combinator Funding Application, Summer 2007, DropBox
TrafficServerProposal Apache Proposal from Yahoo
Traffic Server fills a need for a fast, extensible and scalable HTTP proxy and caching. We have a production proven piece of software that can deliver HTTP traffic at high rates, and can scale well on modern SMP hardware. We have benchmarked Traffic Server to handle in excess of 35,000 RPS on a single box. Traffic Server has a rich feature set, implementing most of HTTP/1.1 to the RFC specifications.
Daring Fireball: Charging for Access to News Sites
…and it’s not really surprising that they’re failing to evolve. The decision-makers — the executives sitting atop large non-editorial management bureaucracies — are exactly the people who need to go if newspapers are going to remain profitable.
Creates, manages and saves aliases for class methods, instance methods, constants, delegated methods and more.
Why Does Time Go Faster As We Get Older?
If you travel to Australia, and the yield sign says “Give Way”,you notice it again. That’s why travel is so memorable… As we get older, unfamiliar things and new perceptions are fewer and fewer… Thus it seems that time is passing faster… My own philosophy, which I often forget to follow, is to optimize my perceived lifespan by doing as many unfamiliar things as possible.