Trevor Turk

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

Category: General

Links

Projects

Handling ActionView::MissingTemplate exceptions

Perhaps you’ve been receiving annoying emails about exceptions like this in your Rails apps:

A ActionView::MissingTemplate occurred in posts#destroy:

Missing template posts/destroy with {:formats=>[:html], :locale=>[:en, :en], :handlers=>[:rjs, :rhtml, :rxml, :erb, :builder]} in view paths...

This exception is raised when you’re missing the template for responding to a request of a certain format. So, if the browser requested HTML and you only expected to receive JS, you might simply modify your controller action like so:

respond_to do |format|
  format.js
end

This specifies that you’re only going to respond to JS requests, and any others will be served a 406 “not_acceptable” response, which will quiet down that exception noise.

Have you handled these in some other way? If so, please let me know!

Links for 12-9-2011

Consistent Hashing in memcache-client

paperplanes. The Simple Magic of Consistent Hashing

Welcome to the Age of Overparenting – Boston Magazine – bostonmagazine.com

You’ve Probably Read Enough | Ben’s Blog

To get started on one of your lingering interests, you probably don’t need to read about it as much as you think. Go. Do it. And learn from there.

Profiling Rails startup with DTrace – Tender Lovemaking

Twine : Listen to your world, talk to the Internet by Supermechanical — Kickstarter

Knyle Style Sheets — Warpspire

I heard you liked files (Episode #228 – December 6, 2011)

The 2011 Eddys

Riding Rails: What’s new in Edge Rails: EXPLAIN

You Aren’t Who You Hang Out With | Mike Industries

Don’t Be A Free User (Pinboard Blog)

Creating an API // RailsTips by John Nunemaker

thoughtbot/bourne – GitHub

Adds test spies to mocha

github/rack_monitor – GitHub

monitor your rack apps in production

fancyBox – Fancy jQuery Lightbox Alternative

fancyBox is a tool that offers a nice and elegant way to add zooming functionality for images, html content and multi-media on your webpages. It is built at the top of the popular JavaScript framework jQuery and is both easy to implement and a snap to customize.

Custom File Inputs with a Bit of jQuery | Viget Inspire

File inputs are notorious for being a pain to style across all browsers.

Fast, easy, realtime metrics using Redis bitmaps «

lantins/resque-retry – GitHub

A resque plugin; provides retry, delay and exponential backoff support for resque jobs.

Configuration for Rails, the Right Way | The Carbon Emitter

One little known secret is that Rails 3 allows you to define your own configuration elements trivially.

Stripe

You don’t need a merchant account or gateway. Stripe handles everything, including storing cards, subscriptions, and direct payouts to your bank account.

Solving Cucumber’s Problems — Elabs

Turnip parses Gherkin feature files and runs them in RSpec. You run your feature files the exact same way you would run a normal spec file, and they are automatically run when you run your RSpec suite.

PhantomJS: Headless WebKit with JavaScript API

PhantomJS is a headless WebKit with JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG.

Don’t Call Yourself A Programmer, And Other Career Advice | Kalzumeus Software

tallgreentree/omniauth-37signals – GitHub

37signals OAuth2 Strategy for Omniauth 1.0

timrwood/moment – GitHub

Moment.js is a lightweight javascript date library for parsing, manipulating, and formatting dates.

Stacking the Bricks « Unicornfree

This lesson was specifically crafted for you: The smart person who has the skills and the know-how to execute… but isn’t sure where or how to get started on what seems like a gargantuan task.

glennr/uber-glory-tmbundle – GitHub

Uber Textmate macros to make your life glorious. Well they mostly strip whitespace.

The Social Graph is Neither (Pinboard Blog)

My hope is that whatever replaces Facebook and Google+ will look equally inevitable, and that our kids will think we were complete rubes for ever having thrown a sheep or clicked a +1 button. It’s just a matter of waiting things out, and leaving ourselves enough freedom to find some interesting, organic, and human ways to bring our social lives online.

holman/play – GitHub

We like playing music at the GitHub office. Everyone has their own library on their own machines, and everyone except for me plays shitty music. Play is designed to make office music more palatable.

InfoQ: Simple Made Easy

Rich Hickey emphasizes simplicity’s virtues over easiness’, showing that while many choose easiness they may end up with complexity, and the better way is to choose easiness along the simplicity path.

Day-O // ShaunInman.com

Day-O is a simple menu bar clock replacement with a simple calendar for your Mac.

Mud Rooms, Red Letters, and Real Priorities | 43 Folders

Yield Thought, I swapped my MacBook for an iPad+Linode

Police Slog Through 40,000 Insipid Party Pics To Find Cause Of Dorm Fire | The Onion – America’s Finest News Source | Onion News Network

Fast Rails Tests – Corey Haines – Golden Gate Ruby Conference 2011

In this talk, I will go over some techniques for keeping your test suite lean and fast. Along the way, we’ll discuss the design improvements that come out of these changes.

Hyperbole and a Half: Adventures in Depression

And that’s how my depression got so horrible that it actually broke through to the other side and became a sort of fear-proof exoskeleton.

CSS: Taking control of the cascade – (37signals)

Using CSS sprites with Rails helper methods – (37signals)

A Quick Introduction to Rack

Why We Moved Off The Cloud at Mixpanel Engineering

After getting fed up with variable cloud performance, I decided to make the move to dedicated hardware.

Say Hello to Hubot – GitHub

For the past year or so we’ve been telling people about Hubot, our amazing Campfire bot. We have a lot of fun working on Hubot. He makes us laugh, he ships our code, he is the interface to our CI server, and a whole lot more. Over the last year, he’s grown bigger and messier. So we decided to rewrite him from scratch, open source him, and share him with everyone.

The Dropbox API!

GitHub Secrets – GitHub

Over the years we’ve added quite a bit of stuff to GitHub. Sometimes we ship huge features, sometimes we ship small, lesser-known bonus features.

A Modern Guide to Threads | The Carbon Emitter

“Algorithm” is Not a Four-Letter Word

Web Development Blog | Ruby on Rails Web Development | Viget Extend

When solving a particular problem in an OO language, it often makes sense to take a step back and think about the conceptual entities involved and how they collaborate with one another. By adhering to some basic design principles, notably the separation of concerns and encapsulation, we have a solution that is easier to understand and maintain.

Understanding the Rails Logger | Grinding Gears

Introducing the YouTube Insult Generator

Why Bundler 1.1 will be much faster – Pat Shaughnessy

iOS 5: Tips, Tricks & Hidden Features

Daring Fireball: The iPhone 4S

Why programs become territorial – (37signals)

Until you’re ready to delay things you really want done, it’s fruitless to bemoan that parts of the code base territorial.

Steve Jobs and drug policy – Salon.com

MicroGems: five minute RubyGems – Jeff Kreeftmeijer

Your Number One Priority

An 8 hour work day with exercise is more valuable than an 10 hour work day without. Justifying daily exercise as your number one priority is such an easy thing to do. If exercise isn’t your number one priority, your priorities are wrong.

Rands In Repose: Building Serendipity

The training wheels came off | Aslak Hellesøy

What’s So Great About Siri? | Cult of Mac

Steve Jobs, 1955 – 2011 | Epicenter | Wired.com

Steve Jobs didn’t | asymco

14km – Mocha doesn’t play nice with Rails 3 & Bundler

After an hour or two digging around, I stumbled across a post on the Mocha mailing-list that mentioned ordering problems with Mocha and Test::Unit. Sure enough, if I rearranged the modified require lines so that Test::Unit was loaded after Mocha

Help.GitHub – Ignore files

How I name my apps – Zach Waugh

bassnode/bundler_timer – GitHub

Logs the time you spend waiting for bundler

#101: Wiki page explaining how to use rbenv in production .. – Issues – sstephenson/rbenv – GitHub

Read on (Sinatra: New feature release, Contrib and Recipes)

fog 1.0 is here!

[ANN] Rails 3.1.1.rc2

Timelines.com Sues Facebook, Says Its New Timeline Feature Could “Eliminate” Them – TechCrunch

Kinda cranky pizza guy – chicagotribune.com

Amazon Kindle Fire explodes onto tablet scene – Chicago Sun-Times

? Amazon’s New Kindles

detailed account (Drift: an iPad app for GitHub Gists)

Large Ruby File Downloads Done Right! – Dan Watsons Coding Zen

What is needed is to download and stream the file directly to disk leaving the RAM well alone.

textmate/ruby.tmbundle – GitHub

TextMate support for Ruby

Jason Fried on Learning What Your Employees Really Think | Inc.com

sstephenson/rbenv-vars – GitHub

An rbenv plugin that safely sets global and per-project environment variables

Bundler’s Best Kept Secret – Pat Shaughnessy

This week I just discovered Bundler’s best kept secret: the bundle viz command will generate a network graph showing the dependencies among all the different gems used by your Ruby app.

Links for 09-26-11

How Batman can Help you Build Apps – Shopify

I’d like to give a quick tour of what makes Batman different and why you might want to use it instead of the other amazing frameworks available today.

Bare-bone, stripped-down Devise | Plataforma Tecnologia Blog

It is important to keep in mind that Devise was built by us to be flexible and capable of handling different requirements from different clients, so it is PlataformaTec’s priority to have it as flexible as possible!

wjessop/Scamp – GitHub

A framework for writing Campfire bots

Pogodan | per-app environment variables with pow and rbenv

However with RVM we’d been taking advantage of the per-directory .rvmrc files to set per-application environment variables for configuration (e.g. DB URIs, API keys, etc.) on our dev machines.

summarized the changes over 1.9.2 (Ruby 1.9.3 Release Candidate 1 Released (What’s new?))

A First Look at BankSimple | BankSimple Blog

Gem Versioning and Bundler: Doing it Right « Katz Got Your Tongue?

dwilkie/carrierwave_direct – GitHub

Process your uploads in the background by uploading directly to S3

gzigzigzeo/carrierwave-meta – GitHub

File’s metadata saving plugin for carrierwave

rtomayko/replicate – GitHub

Dump and load relational objects between Ruby environments

ryanb/letter_opener – GitHub

Preview mail in the browser instead of sending

What Self can teach us about the future of JavaScript /by @assaf

[FYI: historic] The desicive moment of the language name Ruby. (Re: [ANN] ruby 1.8.1)

Sane RSS usage

GoRuCo 2011 – Jeremy Ashkenas – CoffeeScript for the Well-Rounded Rubyist on Vimeo

Animated GIFs Capture Stanley Kubrick’s Most Immortal Scenes | Co. Design

GitX (L)

Open Source Mac OS X Git client

How to use iPhone 4 as a Pay-Go iPhone

How to setup an iPhone 4 as a Pay-Go phone

jejacks0n/mercury – GitHub

A fully featured HTML5 WYSIWYG editor written in CoffeeScript on top of the Rails 3.1 asset stack

So, what is GitHub Flow?

Anything in the master branch is deployable
To work on something new, create a descriptively named branch off of master (ie: new-oauth2-scopes)
Commit to that branch locally and regularly push your work to the same named branch on the server
When you need feedback or help, or you think the branch is ready for merging, open a pull request
After someone else has reviewed and signed off on the feature, you can merge it into master
Once it is merged and pushed to ‘master’, you can and should deploy immediately

Ruby on Rails Guides: Ruby on Rails 3.1 Release Notes

Highlights in Rails 3.1: Streaming, Reversible Migrations, Assets Pipeline, jQuery as the default JavaScript library

Mobile development with HTML5 | Engine Yard Ruby on Rails Blog

This post will go over some key concepts and features of HTML5, setting the stage for more advanced subjects.

Heroku Postgres

the largest and most reliable Postgres service in the world

sstephenson/sprockets at v2.0.0 – GitHub

Rack-based asset packaging system

10.6: Terminal and ‘focus follows mouse’ modification – Mac OS X Hints

defaults write com.apple.Terminal FocusFollowsMouse -string NO

Active Record batch processing in parallel processes

My semi-educated guess on the Amazon tablet

balupton/history.js – GitHub

History.js gracefully supports the HTML5 History/State APIs (pushState, replaceState, onPopState) in all browsers. Including continued support for data, titles, replaceState. Supports jQuery, MooTools and Prototype. For HTML5 browsers this means that you can modify the URL directly, without needing to use hashes anymore. For HTML4 browsers it will revert back to using the old onhashchange functionality.

paperplanes. Web Operations 101 For Developers

cloudHQ for Dropbox – Basecamp, Dropbox and Google Docs

Integrate Dropbox, Basecamp, and Google Docs

What came before WebSockets?

ernie/valium – GitHub

Access attribute values directly, without instantiating ActiveRecord objects

spin.js

No images, no external CSS
No dependencies
Highly configurable
Resolution independent
Works in all major browsers, including IE6
Smaller than an animated GIF (3K minified, 1.7K gzipped)
MIT License

pry/pry – GitHub

an IRB alternative and runtime developer console

Amazon ElastiCache

Amazon ElastiCache is a web service that makes it easy to deploy, operate, and scale an in-memory cache in the cloud.

Skeleton: Beautiful Boilerplate for Responsive, Mobile-Friendly Development

A Beautiful Boilerplate for Responsive, Mobile-Friendly Development

Twitter Bootstrap

Bootstrap is a toolkit from Twitter designed to kickstart development of webapps and sites.
It includes base CSS and HTML for typography, forms, buttons, tables, grids, navigation, and more.

What they’re “protecting” us from – Anil Dash

It’s a choice whether you, or anyone else, wants to accept the falsehood that liberal values are somehow in contradiction with business success at a global scale.

mattmatt/riaktivity – GitHub

Store user timelines in Riak

A Gentle Introduction to CarrierWave | Engine Yard Ruby on Rails Blog

CarrierWave is self-described as a “classier solution for file uploads for Rails, Sinatra and other Ruby web frameworks.” Although I’ve head it referred to as “a new kid on the block” it’s actually quite an old gem. The initial checkin is from August 2008 and the first release was in March 2009. The original name was Merb::Upload and it started without support for Rails.

Share links instantly between computers – SendTab

SendTab is a browser extension that lets you share links instantly between computers.

sj26/rbenv-install – GitHub

A really thin wrapper around ruby-build for rbenv.

Rendering Rails 3.1 assets to string – Phusion Corporate Blog

Understanding “Prototypes” in JavaScript « Katz Got Your Tongue?

ignore the code: More on Software Patents

it is simply not possible to create any non-trivial piece of software that doesn’t violate hundreds of patents. As a result, you can’t release software without putting yourself into a position where you might suddenly lose all of your money.

Why software patents are not fixable – Marco.org

On Being A Journeyman Software Developer: Being honest vs Making excuses

Often times, we choose to be in certain situations and then, rather than admitting that the situation is bad and dysfunctional, then convince ourselves — and justify to others — that this is the only way it can be. While we are free to choose trade-offs for whatever situation we place ourselves in, it is important to be honest with ourselves about the causes of the situation.

kennethreitz/osx-gcc-installer – GitHub

GCC Installer for OSX! Without Xcode!

SoftwarePatent

At a time when our future affluence depends so heavily on innovation, we have drifted toward a patent regime that not only fails to fulfil its justifying function, to incentivise innovation, but actively impedes innovation.

Nodeload2: Downloads Reloaded – GitHub

sstephenson/rbenv – GitHub

Simple Ruby version management

Bulkr: Backup, download flickr photos & sets (Mac, Windows & Linux)

Bulkr is the complete solution to backup, browse & download photos on Flickr. Install it free.

Ava’s 5 girls and 3 boys !! – a set on Flickr

Ava’s 5 girls and 3 boys !!

has_many :bugs, :through => :rails

After moving to Sam Stephenson’s awesome Pow, not being able to use ruby-debug was the primary obstacle I had adjusting to my new development environment. But as it turns out, it’s very simple to use ruby-debug with Pow.

Subtraction.com: A Word About Unsolicited Redesigns

If you have good ideas and the talent to execute them and argue for them, the world will still sit up and pay attention even if you take care in your language and show respect to those who don’t see things quite the way you do.

LevelDB: A Fast Persistent Key-Value Store – Google Open Source Blog

LevelDB is a fast key-value storage engine written at Google that provides an ordered mapping from string keys to string values. We are pleased to announce that we are open sourcing LevelDB under a BSD-style license.

Gerd Arntz Web Archive

The debt ceiling backlash within the GOP – War Room – Salon.com

Obama’s and Bush’s effects on the deficit in one graph – Ezra Klein – The Washington Post

Free Time – Marc-André Cournoyer’s blog

Yeah, life is hard, I agree with that.

Intellectual Ventures And The War Over Software Patents : Planet Money : NPR

Pivotal Labs: Talks

If you don’t measure it, you can’t optimize it. Coda Hale of Yammer talks about service-level performance metrics, how they use them to guide their development strategy, and how you can improve the transparency of your own software.

codegram/rack-webconsole – GitHub

Rack-based interactive console (à la Rails console) for your web application’s front-end

rs/SafariOmnibar – GitHub

Safari plugin to add Chrome like omnibar in Safari

Terminus

Terminus is an experimental Capybara driver implemented in client-side JavaScript. It lets you script your application in any browser on any device, without needing browser plugins.

Blog II – The Sequel Blog – Dangerous Reflection

Bottom line: don’t call ruby’s reflection methods with user-defined strings or you open yourself up to denial of service.

The Slicehost Story

Slicehost—a scrappy web company bootstrapped with $20,000—cashed out for big bucks in 2008. How did they do it? More importantly, was it worth it?

iOS Integration Testing

Today we’re happy to announce KIF, the “Keep It Functional” framework. KIF allows for realistic iOS integration testing through simulated user interaction.

nginx news

Rails migrations with no downtime

Faraday: advanced HTTP requests made easy

Faraday is a library for making HTTP requests and to serve as a backbone for writing API wrapper libraries such as twitter. It has an interesting philosophy, but to really appreciate it you must first understand what problem it solves.

Heroku | Matz joins Heroku

Today marks a very special occasion in the history of Heroku, as we are honored to announce that Yukihiro “Matz” Matsumoto, the creator of Ruby, has joined the Heroku team as Chief Architect, Ruby.

Tuffcode – Home

HTTP Scoop 1.4. The HTTP sniffer for Mac OS X.

Throw, Catch, Raise, Rescue… I’m so confused!

Ruby is a language that tries to anticipate your needs as a programmer. One common need is a way to terminate execution early when we find there is no further work to be done. Unlike in some languages, where we would have to either abuse the exception mechanism or use multiple loop breaks and method returns to achieve the same effect, Ruby provides us with the catch and throw mechanism to quickly and cleanly make an early escape. This leaves begin/raise/rescue free to be used for errors, and nothing else.

jeremyw/stamp – GitHub

Format dates and times based on human-friendly examples, not arcane strftime directives.

brotherbard/gitx – GitHub

Experimental fork of Pieter’s nice git GUI for OS X. Includes: sidebar, fetch, pull, push, add remote, merge, cherry-pick, rebase, clone, clone to. Mac OS X 10.5+ (see wiki for screenshot)

Scaling a web site using HTTP caching and JS async calls | Merbist

The challenge is that a lot of people using the Rails framework are used to doing page caching instead of relying on HTTP caching, even though this feature was added a long time ago. The major problem with page caching is that it doesn’t scale that well as soon as you run more than one server. Indeed you would need to store the page content to a shared drive between your servers or use memcached and do some work to avoid hitting your app every single time. On the other hand, HTTP caching is extremely easy to handle at the application level and it will dramatically reduce the amount of requests hitting your app. Let me explain a little more about HTTP caching.

jyoungblood/smoke.js – GitHub

framework-agnostic styled alert system for javascript

Courtesy Suicide » Matt Legend Gemmell

Excessive verbiage isn’t courtesy; it’s just waffling. Get to the bloody point.

Wildbit » Responsive design for email – the largest mobile audience – Thoughts on building web apps, businesses, and virtual teams

nathanvda/cocoon – GitHub

Dynamic nested forms using jQuery made easy; works with formtastic, simple_form or default forms

Links for 07-08-11

Links!

Why WSJ Mobile App Gets ** Customer Reviews (Jakob Nielsen’s Alertbox)

Why do so many people think they have to pay when they don’t? Because of a highly confusing user interface design.

nathanvda/cocoon – GitHub

Dynamic nested forms using jQuery made easy; works with formtastic, simple_form or default forms

Heroku | Clojure on Heroku

Please, please, please stop asking how to find a technical co-founder. – humbledMBA

You don’t find a technical cofounder, you earn one.

Paper.js — About

Paper.js is an open source vector graphics scripting framework that runs on top of the HTML5 Canvas. It offers a clean Scene Graph / Document Object Model and a lot of powerful functionality to create and work with vector graphics and bezier curves, all neatly wrapped up in a well designed, consistent and clean programming interface.

Chatbox – Project collaboration inside Dropbox

Chatbox makes it easy to discuss or comment on files shared over Dropbox. Install it, right click on any files / folders inside Dropbox, and start conversations with people you shared the Dropbox folder with.

How to take advantage of Redis just adding it to your stack

Redis is different than other database solutions in many ways: it uses memory as main storage support and disk only for persistence, the data model is pretty unique, it is single threaded and so forth. I think that another big difference is that in order to take advantage of Redis in your production environment you don’t need to switch to Redis. You can just use it in order to do new things that were not possible before, or in order to fix old problems.

andrew/brewdler – GitHub

Bundler for non-ruby dependencies from homebrew

Google Swiffy

Swiffy converts Flash SWF files to HTML5, allowing you to reuse Flash content on devices without a Flash player (such as iPhones and iPads).

github/linguist – GitHub

We use this library at GitHub to detect blob languages, highlight code, ignore binary files, suppress generated files in diffs and generate language breakdown graphs.

Native style momentum scrolling to arrive in iOS 5 · Johan Brook

The Technium: The Shirky Principle

The Billy Baldwin of Conditional Assignment // Collective Idea

Speed up your unit tests with Devise

Start-Up Lytro Aims to Sharpen Focus of Entire Camera Industry – Ina Fried – News – AllThingsD

BundleWatcher: Watching Your Gems

Heroku | The New Heroku (Part 1 of 4): The Process Model & Procfile

Egregious Dropbox Authentication Bug Yesterday

Mocking fog When Using It With Carrierwave

has_many :through – Slightly more readable Ruby

Automate Github Pull Requests [splitbrain.org]

Catastrophic Prototyping and Other Stories

I went to graduate school at Georgia Tech, and read some Chris Crawford. I learned that he had the same problem. But he didn’t think of it as failure. For him, this was an organic part of the development process. The failures filling his hard drive were actually “prototypes” that helped him decide which ideas were worth pursuing. For each good idea, there were a large number of stupid ones that didn’t work out. Failing, for this successful designer, was a way to find the good ideas.

PIPEROID paper pipe robots

? Most common numeric passcodes

github.com/thoughtbot cleanup

Automatic Login Links

What’s Up With All These Changes in Rails? « Katz Got Your Tongue?

Folklore.org: Macintosh Stories

How we got the unusual symbol used for the menu command key

Automated Heroku Database Backups to Amazon S3, Rackspace Cloud Files, or Google Storage – Jack Chu

The heroku_cloud_backup gem also adds a rake task to your project, but supports all the providers that fog supports. It’s also a lot more configurable through the heroku config. The heroku:cloud_backup task, when called, will upload the latest PG Backup capture to the cloud using fog. Currently, it supports Amazon S3, Rackspace Cloud Files, and Google Storage.

iOS device and OS version stats from Instapaper 3.0 – Marco.org

Use concerns to keep your models manageable — Gist

The Most Important Code Isn’t Code

Documentation is the single most important change I’ve made to my coding style in the last year.

Jeff Bezos on innovation: Amazon ‘willing to be misunderstood for long periods of time’ – GeekWire

If it’s still Amazon’s philosophy to make bold bets, I would expect that maybe some of them wouldn’t work out, but I am just not seeing that. So, my question is where are the losers?

futuresimple/broadcast – GitHub

A broadcasting microframework making publishing of messages to different services easy.

Introducing appointment slots in Google Calendar – Official Gmail Blog

Reaching localhost from VMware / virtual machines on a Mac – Rowlando’s Blog

Jeff Dean’s Ruby Blog – Testing your gem against multiple rubies and rails versions with RVM

josh/ruby-coffee-script – GitHub

Ruby CoffeeScript Compiler

sstephenson/ruby-eco – GitHub

Ruby Eco Compiler

ksuther.com | Chax

Chax is a collection of minor modifications and additions that make using Apple’s iChat more enjoyable.

halostatue/rubypython – GitHub

RubyPython is a bridge between the Ruby and Python interpreters. It embeds a running Python interpreter in the Ruby application’s process using FFI and provides a means for wrapping, converting, and calling Python objects and methods.

RubyGems Guides

Learn how RubyGems works, and how to make your own.

Ryan’s Scraps: Extend Your ActiveRecord Association Methods

You can customize to your heart’s content – these are just some simplistic examples of how to plug into this nifty feature. I just recently stumbled upon it and thought it might be worth spreading the word since I found myself smitten by it.

RobertLowe/mynu – GitHub

mynu – A simple DSL to create a systembar menu with macruby in OSX

Divide and Concur « Code as Craft

Girl Friday – girl_friday

Optimizing Heroku

Michael van Rooijen (meskyanichi) – More concurrency on a single Heroku dyno with the new Celadon Cedar stack

You’d have a dyno that should (in terms of memory) be able to spin up 3 or 4 instances, but you were only able to spin up a single Thin instance per dyno. With Thin, even after the introduction of Cedar, this is still the case. But now since the application server constraint no longer exists, you can use Unicorn to do it. With this, you should be able to improve your application’s throughput by a factor of 3 to 4 on the same dyno.

whomwah/qlstephen – GitHub

A QuickLook plugin that lets you view plain text files without a file extension

This Blog Post Costs $3.99 : Planet Money : NPR

When something costs $3.99, you just round up and tell yourself it costs $4.00. Right?

Agile eLearning » Industrial Logic’s Greatest Hits » 2011 BLogic: Return of the Horizontal Slice

We can deliver value and learn faster by horizontally slicing our vertical slices and deploying those horizontal slices to production.

Buddhists make rational economic decisions | Diamond Way Buddhism UK Blog

Google Chrome – Why I Hate It And Continue To Use It

toretore/babilu – GitHub

JavaScript Rails internationalization

danwebb.net – Its About The Hashbangs

Commit f4897f890d8dd33215fef238902988e8823a6539 to jnicklas/capybara – GitHub

Capybara ate Steak, didn’t it?

highlight.js

Highlight.js highlights syntax in code examples on blogs, forums and in fact on any web pages. It’s very easy to use because it works automatically: finds blocks of code, detects a language, highlights it.

moocode – cloud infrastructure and services

“Our Marketing Is Up Fog Creek” And What We Did About It – Fog Creek Blog

Mission Bicycle Company

We build stunningly distinct machines designed for city riding.

How I’ve started to contribute to open source – Binary Balance

The rest of this post is devoted to a couple of small case studies in my open source contributions and the lessons that I have drawn from them, hopefully for the benefit of those of us who may be interested in beginning to contribute to OSS.

Creating strongly-typed, app-wide, user-editable settings

rake deploy and rake cache_assets for Heroku (storing JS minimized and gzipped on Amazon S3) — Gist

rake deploy and rake cache_assets for Heroku (storing JS minimized and gzipped on Amazon S3)

javan/copy – GitHub

Sinatra-based CMS

Hype

Using Hype, you can create beautiful HTML5 web content. Animations and interactive content made with Hype work on desktops, smartphones and iPads. No coding required.

Fetch.io | Cloud Storage & Media, supports RapidShare, MegaUpload, MediaFire, BitTorrent, and more

FETCH.IO LETS YOU DOWNLOAD MEDIA FROM MULTIPLE SOURCES AND STREAM THEM INSTANTLY, FAST.

contrast/uploadify-s3 – GitHub

A rails plugin for using uploadify direct to S3

Amazon Now Selling More Kindle Books Than Print Books

elabs/front_end_testing_talk – GitHub

Our presentation “The Front End Testing Frontier” given by cjkihlbom and jnicklas at Scottish Ruby Conference 2011.

Perl, the first postmodern computer language – Perl.com

Netflix passes BitTorrent in U.S. bandwidth traffic

New Relic Releases Real User Monitoring and Ditches RPM Name

yostudios/Spritemapper – GitHub

CSS Spritemap Generator

DHH’s RailsConf 2011 Keynote Live-Blogged Here

Sinatra: Frequently Asked Questions

How do I automatically escape html?

ghissues

I made a little Sinatra app called ghissues. It’s a dashboard view of all issues in private repos in your organizations on GitHub.

Because GitHub gives you:

https://github.com/organizations/ORG_NAME/dashboard/pulls

…but not:

https://github.com/organizations/ORG_NAME/dashboard/issues

You can use it here:

https://ghissues.heroku.com/

You can view the source and contribute here:

https://github.com/trevorturk/ghissues

Working at 37signals

BTW — I started working at 37signals in April. They’re still looking for another programmer…!

Links for 5-17-11

Lots of links. It’s been too long!

Legacy Development with Pow « Stuff… And Things…

However, there is a downside:  Pow doesn’t play nicely with Apache (or any server listening on port 80). Life isn’t all greenfield, if in the course of the day you need to work on PHP or CGI legacy apps Pow is not so simple.   Pow creates a firewall rule that redirects port 80 to its port; to access Apache you need to either toggle the firewall rule on and off or move Apache to a different port all together. And now you’re running two web servers.  There has to be a better way.

unconed/TermKit – GitHub

Experimental Terminal platform built on WebKit + node.js. Currently only for Mac, though the prototype works 90% in any WebKit browser.

guard/guard – GitHub

Guard is a command line tool to easily handle events on files modifications (FSEvent / Inotify / Polling support).

My Github Issues — Gist

Download github issues for offline access

achiu/terminitor – GitHub

Terminitor automates your development workflow setup. Less time setting up, more time getting things done.

Getting Organized with the Tasks API – Google Apps Developer Blog

Mailgun: Programmable Email Servers and Mailbox API

Send, track and analyze. Receive, parse and store.

Rails 3: Fully Loaded | Intridea Blog

I’d like to share a stack of gems that I’ve been using this year. Hopefully they will give people a bit of help while developing a new Rails 3 app.

Exit Interview: Newsvine’s Mike Davidson – (37signals)

Heroku: How does Heroku work? – Quora

Obtiva’s Newest Senior Consultants

Are Four Words Worth $25 Billion for Groupon? – BusinessWeek

Sass on Heroku or any generated files for that matter – UnderpantsGnome

Since Heroku doesn’t care what you push to it as long as it is in the master branch on their end, why not generate the assets in a throwaway branch and push that up?

johnmuhl/html5.tmbundle – GitHub

HTML bundle for TextMate

Twitter sparklines

Just How Dangerous Is Sitting All Day? [INFOGRAPHIC]

Applying the Unix Process Model to Web Apps

The unix process model is a powerful way to approach running your web app. Procfile gives us a way to declare process types, and Foreman gives us an easy way to run the app’s processes in both development and deployment environments.

Organized Models (Episode #173 – May 6th, 2011)

Reversible Migrations

Better – Merlin Mann

The Changelogs for Rails 3.1 Beta 1 — Gist

Queue failed Solr calls with Delayed::Job – UnderpantsGnome

rubygems 1.8 is coming – Polishing Ruby

Musings from Boulder – Waiting for jQuery Ajax calls to finish in Cucumber

martinbtt/net-http-spy – GitHub

Ever wondered what HTTP requests the Ruby gem you are using to connect to a third party API is making? Use HTTP Spy to see what is going on behind the scenes

zencoder/video-js – GitHub

VideoJS is an HTML5 video player that uses the HTML5 video tag built into modern browsers, and uses javascript to add custom controls, new functionality, and to fix cross browser bugs.

tenderlove/rails_autolink – GitHub

This is an extraction of the `auto_link` method from rails. The `auto_link` method was removed from Rails in version Rails 3.1. This gem is meant to bridge the gap for people migrating.

Fixing Uninitialized Constant MysqlCompat::MysqlRes Error on Snow Leopard

pengwynn/octokit – GitHub

Simple Ruby wrapper for the GitHub v2 API and feeds

joshsusser/informal – GitHub

Easily use any Plain Old Ruby Object as the model for Rails form helpers.

The “book” is dead [dive into mark]

What Safari’s “Reading List” in Lion means for Instapaper – Marco.org

Starbucks practices extremely predatory site selection for their stores: they’ll intentionally move in right across the street from or immediately next door to independent coffee shops, in an unnecessarily aggressive effort to drive them all out of business. It puts the bad ones out of business, but it actually helps the good ones.

The Netflix Tech Blog: Lessons Netflix Learned from the AWS Outage

AWK-ward Ruby

Real time vs. slow time – and a defense of sane work hours – (37signals)

Subtle Patterns | High quality patterns for your next web project

Netflix tops Comcast as largest video subscription service – Apr. 25, 2011

Netflix knocked over a new milestone Monday: It now has more subscribers than the largest cable TV operator in the U.S.

MongoDB as a Key-Value Solution for Logging Events Data | Engine Yard Ruby on Rails Blog

Tech Notes: Complexity is the enemy

Another word for this problem is cleverness: to quote another one of the C hackers, “Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.”

CodeConf Sunday Summary – The Changelog – Open Source moves fast. Keep up.

CodeConf Saturday Summary – The Changelog – Open Source moves fast. Keep up.

injekt/slop – GitHub

Option gathering made easy

Edge Rails.info :: ActiveRecord Identity Map

If you’ve been using rails for a while now you may be familiar with Active Record’s query cache. The query cache is a powerful part of Active Record which reduces unnecessary SQL calls and provides general speed improvements, especially when dealing with associations. The problem with the query cache, however, is when retrieving two identical records from the database two in-memory objects will still be created.

The Sad, Beautiful Fact That We’re All Going To Miss Almost Everything : Monkey See : NPR

Showoff

The easiest way to share localhost over the web.

How Twitter Was Founded

How to Play with Rails 3.1, CoffeeScript and All That Jazz Right Now

Maybe I’m weird (actually, there’s no maybe about it) but when I first heard about Rails 3.1 getting CoffeeScript and Sass out of the box, I wanted to see how it worked and how smooth the process would be. So like quite a few people on IRC I’ve seen, I installed edge Rails (currently 3.1.0-beta) and got playing. (Yes, it’s PRE-RELEASE. Expect mischief!)

Subtraction.com: Commented Out

Rails 3.1 Adopts CoffeeScript, jQuery, Sass and.. Controversy

I’m glad David’s stepping into these sorts of discussions again. He seemed to fade away during the year before Rails 3 came out, leaving a lot of the “thought leadership” to Yehuda Katz. Now he’s back on top form and talking sense – long may it last.

The Quest Continues: Introducing capybara-webkit – GIANT ROBOTS SMASHING INTO OTHER GIANT ROBOTS

What we need was a real rendering engine coupled with a full Javascript and DOM implementation, but without all the cruft of a GUI browser. What we really wanted was a headless implementation of WebKit’s rendering engine that could be driven by Capybara tests. After Tristan “Websockets” Dunn showed me PhantomJs, I realized this might be possible using Qt’s WebKit implementation.

meskyanichi/hirefire – GitHub

HireFire automatically “hires” and “fires” (aka “scales”) Delayed Job (and soon Resque too!) workers on Heroku. When there are no queue jobs, HireFire will fire (shut down) all workers. If there are queued jobs, then it’ll hire (spin up) workers. The amount of workers that get hired depends on the amount of queued jobs (the ratio can be configured by you). HireFire is great for both high, mid and low traffic applications. It can save you a lot of money by only hiring workers when there are pending jobs, and then firing them again once all the jobs have been processed. It’s also capable to dramatically reducing processing time by automatically hiring more workers when the queue size increases.

Learn more on Cloud Foundry

Cloud Foundry, a VMware-led project is the world’s first open Platform as a Service (PaaS) offering. Cloud Foundry provides a platform for building, deploying, and running cloud apps using Spring for Java developers, Rails and Sinatra for Ruby developers, Node.js and other JVM frameworks including Grails.

Launching Trajectory: Communication Builds Better Software – GIANT ROBOTS SMASHING INTO OTHER GIANT ROBOTS

Over the past 8 years, we’ve used many tools for project communication and planning and we tried very hard to not write our own. The latest combination was Basecamp and Pivotal Tracker. Basecamp was great for discussion and communication. Pivotal Tracker was great for user stories and emergent planning.

However, we’ve grown tired of having one tool that designers love, one tool that developers love, and no tool that clients love.

Rodreegez/powder – GitHub

Syntactic suger for http://pow.cx/

Issues 2.0: The Next Generation – GitHub

Facebook’s Open Compute Project

Better AWS Access Control with IAM (and Fog)

Any MacRuby Apps in the App Store? Yes. – RedwoodApp Development Blog

Ephemeralization

jashkenas/coffee-script-tmbundle – GitHub

A TextMate Bundle for CoffeeScript

githits.me

Most followed users on github by city.

josh/nack – GitHub

Node powered Rack server

37signals/pow – GitHub

Zero-configuration Rack server for Mac OS X

jcf/git-tmbundle – GitHub

The Git TextMate Bundle

Bookmarks Bar Keyboard Shortcuts – Google Chrome extension gallery

Trigger the first ten Bookmarks Bar items with Ctrl+1 through Ctrl+0 (on OS X; it’s Alt on Windows, Meta on Linux).

37signals Product Blog: Using MailChimp and Highrise together to create mailing lists and track campaigns

Call Me Fishmeal.: Success, and Farming vs. Mining

Felix’s Node.js Guide

Heroku | Dev Center | Managing Multiple Environments for an App

sstephenson/eco – GitHub

Eco lets you embed CoffeeScript logic in your markup. It’s like EJS and ERB, but with CoffeeScript inside the . Use it from Node.js to render your application’s views.

8 Ways Companies Can Contribute to Open Source Communities

Permit (freely encourage) your developers to engage with the OSS community around each project. They, and your company, will get two primary benefits: You will gain a more intimate understanding of the projects, and you will have social and productive relationships with the other core developers and contributors in the community. It’s easy to ask a friend to help solve a problem. The first step is to contribute to their project; friendship and partnership will follow.

cbeier/heroku_asset_packager – GitHub

A plugin to duck-punch asset packager and provide middleware to work on Heroku with a ROFS.

Testing Advice in Eleven Steps « Rails Test Prescriptions Blog

As it happens, my generic advice on Rails testing hasn’t changed substantially, even though the tools I use on a daily basis have.

Official Google Blog: +1’s: the right recommendations right when you want them—in your search results

Today we’re taking that a step further, enabling you to share recommendations with the world right in Google’s search results. It’s called +1—the digital shorthand for “this is pretty cool.” To recommend something, all you have to do is click +1 on a webpage or ad you find useful. These +1’s will then start appearing in Google’s search results.

Thoughts on testing – part 1 – Object Reload

It doesn’t take a genius to realise that testing is a very personal matter. From Test::Unit purists to RSpec evangelists, everyone has their own take on testing Ruby code. And whilst we believe that not only there are no silver bullets in most of the problems in software development but personal preferences make it unlikely that there will ever be any, we’d like to share our thoughts about testing in this series of posts. We hope it will be as enjoyable for you to read as it was for us to write.

Website Monitoring and Load Testing – In The Cloud | BrowserMob

BrowserMob Provides FREE Website Monitoring and Load Testing [Used by github]

JSONView for Chrome™ – Google Chrome extension gallery

JSONView for chrome is an extension that helps you to parse and view JSON documents

jamesgolick/always_verify_ssl_certificates – GitHub

Ruby’s net/http is setup to never verify SSL certificates by default. Most ruby libraries do the same. That means that you’re not verifying the identity of the server you’re communicating with and are therefore exposed to man in the middle attacks. This gem monkey-patches net/http to force certificate verification and make turning it off impossible.

bcardarella/client_side_validations – GitHub

Rails 3 Client Side Validations

citizen428/methodfinder – GitHub

A Smalltalk-like Method Finder for Ruby. Provided with a receiver, a desired result and possibly some arguments, it will list all methods that produce the result when called on the receiver with the arguments.

mislav/faraday-stack – GitHub

an add-on library that implements several middleware (such as JSON and XML parsers) and helps you build an awesome stack that covers most of your API-consuming needs.

Commit cb3e96a447df592947ae10221c7494eb8bf08012 to rails/rails – GitHub

Make JavaScriptHelper#j() an alias for JavaScriptHelper#escape_javascript()

TwP/turn – GitHub

A new look and feel for Test::Unit output — Test::Unit Reporter (New)

Commit f8a05ad297d637596d029b013bb65128ca0aa8bd to rails/rails – GitHub

Allow FormHelper#form_for to specify the :method as a direct option instead of through the :html hash

Commit 2c0c4d754e34b13379dfc53121a970c25fab5dae to rails/rails – GitHub

Add `config.force_ssl` configuration which will load `Rack::SSL` middleware if set to true

Commit e2b07ee000439d0bd41f725ff9f7ad53e52a7e9b to rails/rails – GitHub

Added Base.http_basic_authenticate_with to do simple http basic authentication with a single class method call

TomK32/macruby-statusmenu – GitHub

An example for a StatusMenu application written in MacRuby

Adding additional processing support to CarrierWave » Transcending Frontiers

Out of the box CarrierWave provides a consistent interface to process images using RMagick, MiniMagick or ImageScience. Resizing and cropping is supported for all three image processing engines but setting the quality or removing personal data is not supported. Thankfully, CarrierWave provides an easy way to extend the default functionality so we can do more.

Rails 3 + Devise + Uploadify = No Flash Session Hacks

So, this token authentication got me thinking. Instead of sending an encoded string with session information to flash, which in turn sends it to the server, which in turn hacks it into an actual session, I could just send the user’s authentication token along! No sever-side hacks required – it’s all built in into devise already!

Job: Rails Programmer – 37signals

Amazon Web Services Blog: Amazon EC2 Dedicated Instances

Skills Matter : CukeUp! 24-03-11

Product design at GitHub — Warpspire

Ten Lessons from GitHub’s First Year

Bootstrapped, Profitable, & Proud: Coudal

David Worthington’s Mom Reviews the iPad, Her First Computer

Mom: Yeah. I’m doing more and more of that lately. I’m learning from my mistakes, and beginning to use Google.

Ryan Singer at Future of Web Apps, London 2010 on Vimeo

Here’s a talk I gave at Future of Web Apps 2010 in London. In this talk, I walk through the steps of creating a web app including modeling, sketching, HTML, Photoshop explorations, and moving from static mockups to live running code. Each step is illustrated with a real example, including some live sketching and live HTML. I also wanted to give a sense of how we think about apps at 37signals, as a stack of different levels that we can iterate on individually.

Visualizing a product’s UI and code layers – (Ryan Singer)

If I ask you to visualize a software product, a picture of the interface probably comes to mind. From the user’s perspective, the interface is the product. For us on the development side, the product is more than that. It’s the interface, the code, the connections from code to UI, the separations of concerns and the boundaries between features.

soveran/ohm – GitHub

Object-Hash Mapping for Redis

ezmobius/redis-rb – GitHub

A ruby client library for the redis key value storage engine

Using Redis with Ruby on Rails

TL;DR: Redis is fucking awesome.

Why I Don’t Do Sales On The App Store « carpeaqua by Justin Williams

defunkt/jquery-pjax – GitHub

pushState + ajax = pjax. pjax loads HTML from your server into the current page without a full reload. It’s ajax with real permalinks, page titles, and a working back button that fully degrades.

Code School – Learn by Doing

An interactive online marketplace where you can learn to code directly in the browser

vinibaggio/outpost – GitHub

Monitor your service’s availability through a simple, clean DSL

mperham/lunchy – GitHub

A friendly wrapper for launchctl

outoftime/sunspot – GitHub

Solr-powered search for Ruby objects

loopj/jquery-tokeninput – GitHub

Tokeninput is a jQuery plugin which allows your users to select multiple items from a predefined list, using autocompletion as they type to find each item. You may have seen a similar type of text entry when filling in the recipients field sending messages on facebook.

Bake, Don’t Fry (Aaron Swartz: The Weblog)

inessential.com: A plea for baked weblogs

nathansmith/formalize – GitHub

Teach your forms some manners

Sign, edit, and fax documents online | HelloFax

With HelloFax, you can send faxes, sign documents and fill out forms… all from your computer.

Y Combinator Startup Demo Day Winter 2011, With Company List | Liz Gannes | NetworkEffect | AllThingsD

Y Combinator on Tuesday showed off its latest class of start-ups at its Mountain View, CA, headquarters, offering an extra-large sampler pack of developer tools; social apps; lots of services for markets like real estate, doctors and parents; and, of course, a few of its trademark productivity apps.

Javascript integration testing example: installing and using Mixpanel – GIANT ROBOTS SMASHING INTO OTHER GIANT ROBOTS

We’ve been on a quest for years to make sure our integration tests covered the Javascript components of the app. We noted in November that we felt the community had reached an important plateau with a toolset of Cucumber, Capybara, and Akephalos.

While still frequently painful, our default mentality on new projects is “we will be able to test the Javascript components of this app in our usual integration tests.”

bernerdschaefer/akephalos – GitHub

Headless HTMLUnit powered browser for Capybara

Digital Subscription Prices Visualized (aka The New York Times Is Delusional)

The New York Times pricing seems designed not to get people to subscribe digitally, but rather to discourage existing subscribers from cancelling their print subscriptions. I think the chart above validates that view: they apparently have no interest in competing for digital-only dollars. 

devstructure/blueprint – GitHub

Reverse engineer server configuration

Newspaper Club | Helping people to make their own newspapers

We’re here to help you make your own newspapers. You can use our online tool to upload and arrange your words and pictures or you can use the site to send us a PDF. We print every Tuesday afternoon, and you’ll get your papers in about a week.

Desktime – Shared Desks and Coworking

Rent shared spaces, empty desks, conference rooms, or entire offices by the day, week, or month.

jlong/serve – GitHub

Serve is a small Rack-based web server and rapid prototyping framework for Web applications (specifically Rails apps). It is designed to compliment web application development and enforce a strict separation of concerns between designer and developer. Using Serve allows the designer to work in a separate prototype project, while the developer can work on the actual application and utilize resources from the prototype as needed. This allows the designer to focus on presentation and flow, while the developer can focus on implementation.

Alex Payne — Not A Waste

Building a business around maximizing your individual happiness is not particularly useful or admirable. That is my position, and I’m well aware that it may be unpopular with some.

ketralnis comments on Why reddit was down for 6 of the last 24 hours.

I don’t work for reddit anymore (as of about a week ago, although I didn’t get as much fanfare as raldi did), but I can tell you that they’re giving Amazon too much credit here. Amazon’s EBSs are a barrel of laughs in terms of performance and reliability and are a constant (and the single largest) source of failure across reddit.

Lessons from 11 years of community (my SXSW 2011 talk) on Vimeo

A lot of people missed my talk so I recorded it in my office as soon as I got home from Austin. It covers mainly moderation tips and ideas for building tools for more effective moderation.

drbrain/meme – GitHub

Generate memes from http://memegenerator.net

the { buckblogs :here }: Infinity

Clarifying the Roles of the .gemspec and Gemfile « Katz Got Your Tongue?

Links for 3-15-11

A digest of my recent links on Pinboard:

Pivotal Labs: Talks

Kevin Kelly, Founding Executive Editor of Wired Magazine and noted technologist, presents ideas from latest book, What Technology Wants. “[T]echnology as a whole is…a living, evolving organism that has its own unconscious needs and tendencies.”

viatropos/queuable – GitHub

Free Cron and Background Jobs for Heroku

joshaven/string_score – GitHub

JavaScript string ranking 0 for no match upto 1 for perfect… “String”.score(“str”); //=> 0.825

seatgeek/soulmate – GitHub

Redis-backed service for fast autocompleting – extracted from SeatGeek

Hacker News | iOS Libraries

1.0 Is the Loneliest Number — Matt Mullenweg

janmonschke/backbone-couchdb – GitHub

A couchdb connector for backbone with support for real time changes.

Seth’s Blog: Bring me stuff that’s dead, please

The drive-by technorati are well-informed, curious and always probing. They’re also hiding… hiding from the real work of creating work that matters, connections with impact and art that lasts. I love to hear about the next big thing, but I’m far more interested in what you’re doing with the old big thing.

Contrast | The Blog | The future of analytics products

injekt/rack-pygmentize – GitHub

Rack middleware to pygmentize your code blocks

bmabey/database_cleaner – GitHub

Strategies for cleaning databases in Ruby. Can be used to ensure a clean state for testing.

ajmurmann/resque-heroku-autoscaler – GitHub

Resque plugin to autoscale your workers on Heroku

asynchrony/image_science – GitHub

Variant of ImageScience that does not require RubyInline

Hacker News | Twitter to developers: no new Twitter clients

linux – Is it normal to get hundreds of break-in attempts per day? – Server Fault

I just checked my server’s /var/log/auth.log and found that I’m getting over 500 failed password/break-in attempt notifications per day! My site is small, and its URL is obscure. Is this normal? Should I be taking any measures?

couchbaselabs/iOS-Couchbase – GitHub

A build of Apache CouchDB optimized for iPad, iPhone, and iPod Touch

wycats/artifice – GitHub

Replaces Net::HTTP with a subclass that routes all requests to a Rack application

josevalim/elixir – GitHub

Simple Object Orientation and charming syntax on top of Erlang

mdub/sham_rack – GitHub

run Rack applications in-process, without a server

The Pragmatic Studio | Transitioning to Xcode 4

Xcode 4 was released today, and we have 6 free screencasts available to help you quickly make the transition and learn time-saving keyboard shortcuts along the way

Xcode 4 released with git integration – GitHub

Today Apple released Xcode 4. We’re pretty excited over here because Xcode 4 is the first Xcode release to support git natively. What’s even more, new projects default to git repos!

Text of Steve Jobs’ Commencement address (2005)

Again, you can’t connect the dots looking forward; you can only connect them looking backwards. So you have to trust that the dots will somehow connect in your future. You have to trust in something — your gut, destiny, life, karma, whatever. This approach has never let me down, and it has made all the difference in my life.

Sound Stage for Mac

Make iOS App Trailers

sdsykes/slim_scrooge – GitHub

SlimScrooge heavily optimises your database interactions

Why Angry Birds is so successful and popular: a cognitive teardown of the user experience

Why is it that over 50 million individuals have downloaded this simple game? Many paid a few dollars or more for the advanced version. More compelling is the fact that not only do huge numbers download this game, they play it with such focus that the total number of hours consumed by Angry Birds players world-wide is roughly 200 million minutes a DAY, which translates into 1.2 billion hours a year. To compare, all person-hours spent creating and updating Wikipedia totals about 100 million hours over the entire life span of Wikipedia (Neiman Journalism Lab). I say these Angry Birds are clearly up to something worth looking into.

Anatomy of a Crushing (Pinboard Blog)

A number of people asked about the technical aspects of the great Delicious exodus of 2010, and I’ve finally had some time to write it up.

postrank-labs/goliath – GitHub

Goliath is a non-blocking Ruby web server framework

ccgus/fmdb – GitHub

A Cocoa / Objective-C wrapper around SQLite

jcoglan/primer – GitHub

Intelligent caching, no observers necessary

aslakhellesoy/aruba – GitHub

Cucumber steps for driving out command line applications. The command line application can be anything, a compiled C program, a Java program, a Perl script – anything.

Gauges

Collect and analyze your web traffic in real-time using our fast, reliable hosted system.

OpEd: For employment’s sake, Chicago’s small businesses need support from all sides | Opinion | Crain’s Chicago Business

General Assembly Aims to Gather New York Techies – NYTimes.com

A new business in the Flatiron district of Manhattan called General Assembly is not a university, but its founders hope it will seem like one. The 20,000-square-foot space offers desks, Internet access, classes and other services for entrepreneurs.

How an Illinois rest stop inspired a web page – (37signals)

What’s New in Sinatra 1.2?

As announced on the mailing list, we have just released Sinatra 1.2.0. Let’s have a closer look at the new features.

Musings from Boulder – Testing OmniAuth based login via Cucumber

This morning we needed to write a Cucumber scenario to test that a user could log into the system using Google Apps.

Tabs – Interface Icons for iOS & Designers

rmm5t/jquery-timeago – GitHub

Timeago is a jQuery plugin that makes it easy to support automatically updating fuzzy timestamps (e.g. “4 minutes ago”).

A Few ObjectId Tricks // MongoTips by John Nunemaker

One of the things that I was not aware of until recently is how handy MongoDB’s object ids actually are. Below are a few tips based on some things I have been doing lately.

airblade/paper_trail – GitHub

Track changes to your models’ data. Good for auditing or versioning

dolzenko/silent-postgres – GitHub

Rails plugin that silences Postgresql connection adapter verbose output

Hacker News | Joyent: 54+ hours of downtime

markevans/dragonfly – GitHub

An on-the-fly processing/encoding framework written as a Rack application.

Jerry Seinfeld’s Productivity Secret

Years ago when Seinfeld was a new television show, Jerry Seinfeld was still a touring comic. At the time, I was hanging around clubs doing open mic nights and trying to learn the ropes. One night I was in the club where Seinfeld was working, and before he went on stage, I saw my chance. I had to ask Seinfeld if he had any tips for a young comic. What he told me was something that would benefit me a lifetime…

On the Front Lines, In the Trenches – (37signals)

When I was at the Crate and Barrel store helping a woman find a set of drinking glasses I had a short conversation with her about what sort of glasses she was interested in. There are so many glasses at the Crate. In this 5 minute conversation I helped her hone in on the right glasses. Making this one $9.99 sale taught me loads more than a graphic design book had ever done. I remembered this later as I designed the UI for the website.

Disabling ActiveModel callbacks – Jeff Kreeftmeijer

If you can’t or you’re completely sure you have a valid reason to skip your callbacks, you probably tried something like removing the callback method but found out that didn’t work anymore.

Amazon Web Services Blog: AWS CloudFormation – Create Your AWS Stack From a Recipe

Our newest creation is called AWS CloudFormation. Using CloudFormation, you can create an entire stack with one function call. The stack can be comprised of multiple Amazon EC2 instances, each one fully decked out with security groups, EBS (Elastic Block Store) volumes, and an Elastic IP address (if needed). The stack can contain Load Balancers, Auto Scaling Groups, RDS (Relational Database Service) Database Instances and security groups, SNS (Simple Notification Service) topics and subscriptions, Amazon CloudWatch alarms, Amazon SQS (Simple Queuue Service) message queues, and Amazon SimpleDB domains.

blueimp/jQuery-File-Upload – GitHub

jQuery File Upload Plugin

Copycopter

Copycopter lets you edit live copy in your web app. Setup is simple and managing copy is simple, flexible and forgiving.

Cross browser testing with Selenium – Sauce Labs

Because you understand that test/behavior driven development and continuous integration make your web applications easier to develop with fewer bugs. We run your Selenium tests 10x faster in parallel, cut your infrastructure overhead, increase the velocity of your agile development process, run browsers in the cloud, deliver live test video, provide secure tunnels and live/breath Selenium testing.

imakewebthings/jquery-waypoints – GitHub

Waypoints is a small jQuery plugin that makes it easy to execute a function whenever you scroll to an element

fastestforward/rollout – GitHub

Conditionally roll out features with redis + memcache.

cleditor/cleditor – GitHub

a lightweight jQuerified HTML editor

nesquena/query_reviewer – GitHub

An excellent development aid. Will run “EXPLAIN” before each of your select queries in development, and provides a display which makes them easy to browse. In this fork, gemified and compatible with Rails 2 + 3.

Alex Young: We Are The App Store

Without Readability and innovative small businesses like it, the App Store is nothing. What’s an App Store without Apps? A way to sell Apple’s over-hyped and underused applications like Pages for iPad?

Marco.org – Subscriptions and the new In-App Purchase requirement

The discussion shouldn’t be whether Apple can enforce this policy, but whether they should. And if you look at what this does to developer relations, big and small, it’s easier to argue that this is likely to result in more harm than good to the iOS platform.

The Science of Entrepreneurship | Dustin Curtis

I think to build a great company you need to have a well defined hypothesis based on a theory for a market’s evolved future.

And I think the most effective way to enter that market is to build a company like a scientist testing the theory. As an experiment.

Identity Map and ActiveRecord

As many of you may know IdentityMap was merged recently into ActiveRecord.

seattlerb/minitest – GitHub

minitest provides a complete suite of testing facilities supporting
TDD, BDD, mocking, and benchmarking.

defunkt/dotjs – GitHub

dotjs is a Google Chrome extension that executes JavaScript files in ~/.js based on their filename. If you navigate to http://www.google.com/, dotjs will execute ~/.js/google.com.js.

Icons

These are icons I drew for my personal needs. They are all in vector and drawn on this page with Raphaël

Amazon Web Services Blog: Host Your Static Website on Amazon S3

You can now configure and access any of your S3 buckets as a “website.” When a request is made to the root of your bucket configured as a website, Amazon S3 returns a root document. Not only that, if an error occurs your users receive an HTML error document instead of an XML error message. You can also provide your own error documents for use when a 4xx-class error occurs. 

Casecommons/pg_search – GitHub

PgSearch builds ActiveRecord named scopes that take advantage of PostgreSQL’s full text search

Linux is not about choice [was Re: Fedora too cutting edge?]

If I could only have one thing this year, it would be to eliminate that
meme from the collective consciousness.

nickvegas.tv – Your Twenty Four Hours

Try this. Set a timer to go off once every hour. When that timer beeps, ask yourself “Is what I am doing right now important?” If it is, continue. If not, stop what you were doing and put your twenty four hours into something that matters.

madrobby/zepto – GitHub

zepto.js is a minimalist inlinable framework for mobile WebKit browsers, with a jQuery-like chaining syntax

soveran/ost – GitHub

Redis based queues and workers

amatsuda/kaminari – GitHub

A Scope & Engine based clean and powerful and customizable and sophisticated paginator for Rails 3

Sophie’s Voice: Scaling the Personal Touch in Customer Service | Xconomy

We learned pretty early that WePay users who have interacted at least once with a WePay representative are happier with the service, transact more, and are more likely to refer friends.. When you register for WePay, you don’t get an e-mail from “no-reply@WePay.com,” you get an e-mail from “sophie@wepay.com.” If you reply, it goes directly to her, and she responds.

CouchOne — Your Data. Anywhere.

CouchOne and Membase Merge Companies and Technologies to Create the First Comprehensive, End-to-End NoSQL Database

New Ruby 1.9 Features, Tips & Tricks – igvita.com

For the most part, you could upgrade from Ruby 1.8.x and remain blissfully unaware of the many updates and improvements within the language – but what fun would that be?

When to use alias_method_chain – metautonomo.us

alias_method_chain is frequently abused in the Rails world, but it wouldn’t exist if there wasn’t a valid use case.

How Percona does a MySQL Performance Audit – MySQL Performance Blog

Our customers or prospective customers often ask us how we do a performance audit (it’s our most popular service). I thought I should write a blog post that will both answer their question, so I can just reply “read all about it at this URL” and share our methodology with readers a little bit. This fits well with our philosophy of openness. It also shocks people sometimes — “you’re giving away the golden goose!” Not really. What you hire us for is our experience, not a recipe that anyone can follow.

Follow

Get every new post delivered to your Inbox.