Weekly Digest, 10-12-09

Monthly Digest? 😉


Pomodoro Desktop is a desktop application for Time Management on your Mac OSX. It is a simple but effective way to manage your (coding) time, and it’s based on the Pomodoro technique

Clean CSS

Optmize and Format your CSS

Hacker News | GitHub’s Unicorn Setup

[Interesting comments as usual.]


Photo editing the easy way, online in your browser. Picnik makes your photos fabulous with easy to use yet powerful editing tools. Tweak to your heart’s content, then get creative with oodles of effects, fonts, shapes, and frames.

Unicorn! – GitHub

We’ve been running Unicorn for more than a month. Time to talk about it.


Munin the monitoring tool surveys all your computers and remembers what it saw. It presents all the information in graphs through a web interface. Its emphasis is on plug and play capabilities. After completing a installation a high number of monitoring plugins will be playing with no more effort.

On Gem Forking

So, GitHub has recommended Gemcutter as an alternative to hosting gems on GitHub…


API-driven phone calls, in minutes (call your code: AGI/AMI, HTTP, Asterisk-Java, Adhearsion). Cloudvox is the most practical, stable, open environment for API-driven phone calls.

Gem Building is Defunct

We will continue to serve old gems at http://gems.github.com/ for at least one year. [New gems can’t be built, though.]

* is Unix

Ryan’s I like Unicorn because it’s Unix appears to have started a mini-meme of folks writing simple forking network servers in their language of choice. I’m really enjoying reading ‘em — they’re a sort of Rosetta Stone of network code…


Chargify simplifies recurring billing for Web 2.0 and SaaS companies.

Everything I know about Open Source I learned from Indie Hip Hop

Slides from an Aloha on Rails presentation.


Get the FlipClock Widget for your Dashboard!

nginx and varnish on Mac OS X

Since I’m a happy user of the macports collection already anyway, I let it do the ‘heavy lifting’ of actually installing nginx and varnish. In addition I provided a launchd startup item for varnish and also added a host entry for wahlcomputer to enable virtual hosting for nginx and varnish.

atmos’s rack_hoptoad

A gem that provides exception notifications to hoptoad as rack middleware.

Ubuntu Intrepid – adding an Nginx init script

…let’s go ahead and create one for easy control of Nginx, and to ensure it restarts on a reboot.

Generate gem.yml and .gems for Rails

A rake task which will generate gem configuration files based on your “config.gem” specifications in Rails. This comes in handy when deploying to Engine Yard, or Heroku.

Custom Chef Recipes with Engine Yard Cloud

One of the power user features of Engine Yard Cloud is the ability to use custom Chef recipes to install or configure anything that can run on Gentoo Linux that we have not already automated as part of the platform. This allows for extensive customizations of your environments and empowers you to run virtually all custom software you might need.


SHJS is a JavaScript program which highlights source code passages in HTML documents. Documents using SHJS are highlighted on the client side by the web browser.

Getting ready for CouchDB 0.10

I’ve setup a local copy of CouchDB, from the 0.10 branch, just to see if my application code could handle its awesome powers. Here are my two big takeaways…

Paperclip, S3 & Delayed Job in Rails

Here’s how I use Paperclip (with storage on S3) and delayed_job to process images after they’re uploaded in the background.

Ryan Singer of 37signals – UI Fundamentals for Programmers

I gave a talk on “UI Fundamentals for Programmers” at WindyCityRails in Chicago last month. The talks covered modeling, breaking apps into screens, visual techniques, flows, and a few coding tips. [This is a great talk. Highly recommended viewing.]

Source code beautifier / syntax highlighter – convert code snippets to HTML

hilite.me converts your code snippets into pretty-printed HTML format, easily embeddable into blog posts and websites.

Keeping controllers empty with faux attributes – Momoro Machine

The barely any code way… use a fake attribute. Define an attribute setter on User, and then just make a small form in the view to set it.

Build it

The good innovation — the innovation that makes the world a better place and builds real wealth in society — that stuff is done by radically self-reliant creators who get their hands dirty. Not talkers. Not dreamers. Builders.


At ActionRails, we offer a variety of services designed to push your Rails developers to the next level… Application Evaluation; Weekly Code Reviews; Developer Hotline.

And if only 1% of those people…

…he forgot there was a number lower than one percent…

Working hard is overrated

Much more important than working hard is knowing how to find the right thing to work on.

Nginx_As_a_Reverse_Proxy – Couchdb Wiki

Nginx can serve as a reverse proxy to CouchDB for scenarios such as URL rewriting, load-balancing, access restriction, etc.


This is a ruby program that easily transfers directories between a local
directory and an S3 bucket:prefix. It behaves somewhat, but not precisely, like the rsync program. [I can verify that this is an awesome little tool.]

Full Stack ETag Support

The conclusion that I draw is that I definitely want to use Rack::Cache—100% improvement over reassembling the HTML on each request is too good to pass up. As for the 20% speed boost that full stack ETag buys me, I am not sure that the complexity that is introduced warrants the speed boost.

Browser Cache Usage Exposed

…reducing the number of HTTP requests has the biggest impact on reducing response time…

Place Pages for Google Maps

A Place Page is a webpage for every place in the world, organizing all the relevant information about it. By every place, we really mean *every* place — there are Place Pages for businesses, points of interest, transit stations, neighborhoods, landmarks and cities all over the world.


CouchApp is designed to structure standalone CouchDB application development for maximum application portability. CouchApp is a set of scripts and a jQuery plugin designed to bring clarity and order to the freedom of CouchDB’s document-based approach.

nginx, worker_processes, and passenger_max_pool_size

The Phusion Passenger pool size is independent from the number of
Nginx worker processes that you have. Setting the number of Nginx workers to the number of CPU cores should be sufficient.

Sinatra: Writing Extensions

Sinatra includes an API for extension authors to help ensure that consistent behavior is provided for application developers.

How Should Mac Apps Be Distributed?

…but to make this work for apps delivered by disk image, users have to understand that they must copy the app from the image to their startup drive. This is where some get lost.

Sammy.js, CouchDB, and the new web architecture

Welcome to the new world. HTTP Databases and JSON Storage. The simple act of making the database and the browser more powerful on either end has destroyed the need for the middle tier.

GitHub is Moving to Rackspace!

In just a few short weeks we will be moving GitHub to a new home at Rackspace. We’re aware of the current stability and performance issues, and we want to let you know what we’re doing about it.


Hurl makes HTTP requests. Enter a URL, set some headers, then view the response. Perfect for APIs.