Skip to content
Feb 28 10

_method in recent rails is brokenish

by Topper

I was trying to pass in _method: ‘put’ as part of a json body and for some reason rails kept not realizing that I wanted to put.

Then I came across this article:

So… if you’re using prototype your “put” methods look something like this:

new Ajax.Request(url, {
onSuccess: callback,
requestHeaders: {‘X-Http-Method-Override’: ‘put’},
postBody: Object.toJSON(params),
contentType: “application/json”

Feb 23 10

Game Theory

by Topper

You can skip the last 10 minutes or so when he dives into this odd crazy future… but the beginning part really makes you think about how you can add game theory to any business you’re in. I really like the idea of experience points and leveling up for class. That’s something any event-based business could really get into.

h/t Andrew Holz. via

Jan 27 10

Rails thread safety

by Topper

Calling Rails.configuration.threadsafe! at the end of your environment.rb does *not* turn on multi-threading. Adding config.threadsafe! to your individual environments (like production.rb) *does* turn on multi-threading.

You can also check that your multi-threading is active by seeing if ActionController::Base.allow_concurrency is true.

We add ::RAILS_DEFAULT_LOGGER.fatal { “Mulithreading is active? #{ActionController::Base.allow_concurrency}” }
to the end of our environment.rb to let us know that it worked.

Dec 2 09

Google Analytics Launches Asynchronous Support

by Topper

Google Code Blog: Google Analytics Launches Asynchronous Tracking

Google Analytics Launches Asynchronous Tracking
Tuesday, December 01, 2009

Today we’re excited to announce our new Google Analytics Asynchronous Tracking Code snippet as an alternative way to track your websites! It provides the following benefits:

* Faster tracking code load times for your web pages due to improved browser execution
* Enhanced data collection & accuracy
* Elimination of tracking errors from dependencies when the JavaScript hasn’t fully loaded

This is excellent news. I had implemented something similar on my own, but it always had its own problems. I’m glad to see it officially supported.

Nov 30 09

Daring Fireball: jQuery touch isn’t as good as a native app.

by Topper

Daring Fireball Linked List: jQTouch

But the demos show just how far short even best-of-breed iPhone web apps fall compared to native apps.

John Gruber writes about jQTouch demos saying they “aren’t great.” It made me wonder what in particular he finds lacking – as those demos look exactly the same as their native counter parts to me. Or – was it that they lacked “features” which would be “not the fault of the framework.”

I think you can do *so* much in safari on the iphone now days… it really hasn’t been explored very thoroughly.

Nov 16 09

Excellent UXMatters artice: “First, Do No Harm”

by Topper

First, Do No Harm :: UXmatters

Being able to make the necessary tradeoffs between conflicting constraints takes skill. I’ve always viewed constraints as my friends. They make me more creative. By thoroughly understanding the limitations that constrain a design solution, I can make the right tradeoffs and come up with the best design solution possible under those constraints. Plus, balancing different constraints often forces me to think outside the box, so inspires innovative design solutions.

Excellent and long article talking about various user-time-wasting or user-annoying things to avoid in your UI.

Nov 6 09

Does the modern browser landscape look excellent to you?

by Topper

If you were able to say: “Fuck IE6” (at least being able to say: “it will work, but will be old school.” Do you think we live in a world now where the browsers have “enough” features? That is to say – the javascript engines are fast enough to simulate features of other browsers and frameworks are pervasive enough to have already done that for you?

I watched this video last night ( which was well done. Basically – YUI has taken the html5 spec and ported it to other browsers. There’s Raphael: which has taken SVG and moved it to other browsers.

It seems to me that, while I can’t wait till IE9 or 8.5 support stuff that Firefox and Safari have supported for years, the modern landscape is looking pretty good.

Computers are getting fast enough and the javascript engines are good enough that we are consistently better able to simulate APIs in the “crappy browsers.”

What do you think?

Oct 13 09

Our friends-and-family release of Croon My Tune

by Topper

Hey all,

I’ve been working on a little website called Croon My Tune with my
friend Mike. I’d love it if you’d check it out
( Basically, you just type in any words you
want, pick a tune, and then someone will sing those words for you
(it’s like a modern, online, singing telegram). You then have a home
for your song (or “croon,” as we call it) that you can send via email,
IM, Facebook, etc. It’s worked really nicely so far for a bunch of
uses (invitations, weird emails, etc). I want to hear how it works for

At this point, it costs $4.99/croon (we’re working to reduce that).

We’re still actively developing the product,
but I think it’s at a point now where I can share it with my greatest
advisors: you, my friend, family and blog readers.

Thanks for checkin’ out the site. I think you’ll like it. It’s really
fun to work on, that’s for sure.

Want to hear this post sung?
2 other examples?

Sep 23 09

Support the VRF

by Topper

They want to send a team into Cambodia to document great artists and musicians. It sounds like a pretty amazing project. They just got my $20.

Sep 18 09

ATTs 1993 Predictions Remarkably Accurate

by Topper


It’s amazing how many of these 1993 predictions are just common place today.