Links for 8-25-10

Extensible Autocomplete « jQuery UI Blog

The release of the Autocomplete widget in jQuery UI 1.8 was a pretty important milestone for the jQuery UI team. If you’ve looked at the widget, you may have noticed that there are only four options, far fewer than our other plugins. Unlike progressbar, our plugin with the fewest options, Autocomplete’s small API isn’t a direct result of the plugin’s simplicity. In fact, Autocomplete is quite complex.

Create your own CarrierWave processors

As you can see, CarrierWave allows us to create generic processors so you can get your images exactly as you want them. I’m actually quite surprise to see there’s not a lot of open source processors running wild.

Readme Driven Development

Consider the process of writing the Readme for your project as the true act of creation. This is where all your brilliant ideas should be expressed. This document should stand on its own as a testament to your creativity and expressiveness. The Readme should be the single most important document in your codebase; writing it first is the proper thing to do.

In Praise of Quitting Your Job

Creativity is the manifestation of lateral thinking, and without tangible results, it becomes stunted. We have to see the fruits of our labors, good or bad, or there’s no motivation to proceed, nothing to learn from to inform the next decision.


The cache honors backend’s “Expires”, “Cache-Control: no-cache”, and “Cache-Control: max-age=XXX” headers since version 0.7.48. Since version 7.66, “private” and “no-store” are also honored. [Somewhat of an alternative to Varnish, built right into nginx.]

Skinny daemons

The basic idea here is to use the thin webserver as a container for whatever app or service you want to run inside it. The whole thing can then be packaged as a rubygem, and you end up with an easily installable service which can be used by any programmer who can send an HTTP request – not just Rubyists.

35 Lessons in 35 Years

My father always told me that the day we stop learning is the day we die. I wrote this as a sort of preparation for my 35th birthday last week.

Why Free Plans Don’t Work

If we have thousands of users that don’t increase awareness and will never pay for our product, why do we insist in offering something that’s going to hurt our business? Maybe we should just skip that free plan and focus on making money instead.

jQuery Mobile

The jQuery project is really excited to announce the work that we’ve been doing to bring jQuery to mobile devices. Not only is the core jQuery library being improved to work across all of the major mobile platforms, but we’re also working to release a complete, unified, mobile UI framework.

Dynamo and CouchDB Clusters – Cloudant

For a while, CouchDB was described as a “distributed, fault-tolerant and schema-free document-oriented database accessible via a RESTful HTTP/JSON API.” The story about CouchDB’s ‘distributed’ description has always involved its multi-master replication. In this sense, it is not truly a horizontally scalable database, as noted here. With the availability of Cloudant’s new hosted service, a new option has entered the scene. Our clustering is similar to Voldemort, Cassandra, or Riak, as it implements a version of Amazon’s Dynamo.

Consumers Find Ways to Spend Less and Find Happiness

“The idea that you need to go bigger to be happy is false,” she says. “I really believe that the acquisition of material goods doesn’t bring about happiness.”

4 years at Engine Yard, what a long strange trip it’s been.

So by now most folks who know me know that I have resigned from the startup I co-founded, namely Engine Yard Inc.


CoTweet is a platform that helps companies reach and engage customers using Twitter.

Slicehost Articles: Basic Linux task scheduling with cron

Sometimes you want to run commands nightly or weekly. You could just log in and run them yourself, but scheduling those tasks with cron is less hassle in the long run. [Awesome 3 part series on cron basics.]

Reward your zoomers!

When you’re viewing content on a mobile device one of the most common uses is to zoom in on content to view it larger so it’s easier to read or tap. This makes text look crisp and beautiful, especially on the latest high resolution mobile screens, but a side effect is something terrible: images look much much worse. Why should mobile users be punished for zooming in?