Links for 2-1-11

I’ve cleaned out my GitHub watched repos quite a bit. My newsfeed just had way too much going on. Something needed to be done. Before cleaning things up, I decided to bookmark all of the repos I had been watching on pinboard:github. If you’re interested, have a browse through those links. There are some really great projects buried in there.

Top 10 Mistakes in Behavior Change

Today, Web Development Sucks

It’s hairy, scary, maybe even downright abominable. Here I’ll try and explain why I think our current tool chains are inadequate, and where I think we should be going to fix it.

Nate’s Blog – revealing the ActionController callback filter chain

Due to some fancy-pants metaprogramming in AbstractController::Callbacks, it’s hard to see what’s going on.

ETags with memcached // opensoul.org

While working on a Sinatra-based JSON web service that gets very heavy traffic, I wanted to find a way to short-circuit requests and avoid most of the stack if a resource hasn’t been modified.

Hacker News | Google algorithm change launched

Earlier this week Google launched an algorithmic change that will tend to rank scraper sites or sites with less original content lower. The net effect is that searchers are more likely to see the sites that wrote the original content. An example would be that stackoverflow.com will tend to rank higher than sites that just reuse stackoverflow.com’s content. Note that the algorithmic change isn’t specific to stackoverflow.com though.

Graham Wetzler: Why Dropbox Succeeded and Syncplicity Didn’t

Our company had too many features and this created confusion amongst our customer base. This in turn led to enough customer support issues that we couldn’t innovate on the product, we were too busy fixing things.

A List Apart: Articles: Never Use a Warning When you Mean Undo

Oh, and the next time you see a warning used instead of undo, send the designer of the application/website a nice e-mail suggesting that they implement an “undo” feature instead. Send them a link to this article. Let’s see if we can’t change the way people design on the web—and in the process make everyone’s computing life more humane and less frustrating in one little way. Let the war on warnings begin!

Operator billing – QuirksBlog

I hesitate to name 2011 the Year of Operator Billing, because there are many technical and political issues that must be solved before a unified system can be deployed across Europe and North America, and that’ll take more than a year. But operator billing is definitely coming.

Data Modeling in Performant Systems // RailsTips by John Nunemaker

Don’t should on yourself // opensoul.org

Should is a dangerous word. It conveys a sense of obligation. Failure to follow through with things you should do leads to guilt. Guilt is demotivating.

Newlee – HTTP Basic Authentication and Devise

Say you’re using Heroku to host a staging version of your app that uses Devise for authentication. You want to keep unwanted visitors out of your staging app, but your app only uses authentication for certain features. You want to block outsiders from accessing the app entirely. Since Heroku doesn’t allow you whitelist IP addresses in your webserver config, you might want to try HTTP basic access authentication to provide top-level authentication. Doing this in Rails is pretty straightforward.

Iterating Through Time With Rails — Andy Lindeman

While the #to_i calls look a bit unappealing, it’s important that Range#step is called over numbers, or else it would have to call #succ 86400 times between iterations!

What Larry Page should do as New CEO of Google

What I saw in Google’s WiFi´s effort were different “professors” running around with different ideas, trying to line up Google resources behind them only to rise and fall with unfinished projects. Initiatives like WiFi San Francisco, municipal WiFi throughout USA never took off because of lack of company wide support. And WiFi is but one example.

A Backbone.js demo app (Sinatra Backend)

Background Jobs with RabbitMQ and Minion

So if you’re comfortable with the concept of using a queueing system to run background jobs, and are ready to go to the next level of scalability, performance, and robustness, where to from here? It’s time to get your hands dirty with a serious queueing tool: RabbitMQ.

John Resig – Learning from Twitter

An issue popped up on Twitter this past week that caused the web site to be generally unusable for many users. It appears as if attempts to scroll were unbearably slow and caused the site to be unresponsive.

phil.sergi.blog: Testing Rake Tasks with RSpec

Not sure if this is the correct way to go about testing rake tasks but it works pretty well.

Update: A New & Improved jQuery Script to Automatically Preload images from CSS | Filament Group, Inc., Boston, MA

When we first launched the lab, we released a jQuery plugin that automatically preloads all images referenced in CSS files. We’ve found the script to be incredibly helpful in developing snappy applications where images are always ready when we need them. This post describes a significant update to the script which will make it even easier to integrate in existing projects.

Quick Left | Hoptoad + delayed_job

The Ambiguity of “Open” and VP8 vs. H.264 – Blog

Google has recently announced their intention to remove the H.264 video codec from its Chrome browser.

Ruby Conference 2010 Videos

Optimizely: A/B Testing you’ll actually use

Simple, fast, and powerful. Optimizely is a dramatically easier way for you to improve your website through A/B testing. Create an experiment in minutes with our easy-to-use visual interface with absolutely no coding or engineering required.

Rails 2.3.8, Rack 1.1 and the curious case of the missing quotes – Ruby on Rails, JRuby, AWS, EC2, Exalead

If you’re using Rails 2.3.8 for your application and thought that you were safe after May’s comedy of errors produced three point updates in as many days, think again. Unfortunately there’s a little bug that can lead to parameters being altered or potentially even truncated without warning.

Cory’s Ruby YUI Compressor v 2.0 Simpler, shorter. « Cory O’Daniel – These are just words

So, a while ago I write a Ruby YUI Compressor Wrapper which is still available and works great (although it could use a newer jar file) as far as I know… [but] on a new project I’m working on *I just need a inline YUI compressor* and I dont give a damn about anything else like bundling, globbing or whatever. So I ended up throwing together this little (~50 lines less comments) Ruby YUI Compressor to do my dirty work.

Jasmine: BDD for Javascript | Jasmine

Jasmine is a behavior-driven development framework for testing your JavaScript code. It does not depend on any other JavaScript frameworks. It does not require a DOM. And it has a clean, obvious syntax so that you can easily write tests.

Red Squirrel’s Nuts – Chicago’s Ruby Developer Crisis

Trying to hire Ruby developers in Chicago is hard right now. Really hard. Like, I think every single one of them is happily engaged in their work. This is great for Chicago Ruby developers. This is frustrating for people trying to ramp-up their teams with local Ruby talent. How did we get here? How do we get out of this problem?

TotalFinder

…brings tabs to your native Finder and more!

Published by

Trevor Turk

A chess-playing machine of the late 18th century, promoted as an automaton but later proved a hoax.