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.
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.
Due to some fancy-pants metaprogramming in AbstractController::Callbacks, it’s hard to see what’s going on.
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.
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.
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.
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!
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.
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.
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.
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 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.
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.
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.
Not sure if this is the correct way to go about testing rake tasks but it works pretty well.
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.
Google has recently announced their intention to remove the H.264 video codec from its Chrome browser.
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.
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.
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.
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?
…brings tabs to your native Finder and more!