I’m supposed to be working on some distributed feed stuff tonight, but dammit, this song is incredible and I want to think about it.

Imogen Heap is a musical genius. Whatever you think of her particular style, voice, lyrics; one has to admit that anybody who can sit down and invent an eight track song to any suggested melody, in any key, beat, and meter, on the fly, understands music.

Continue reading (660 words)

Highway 1, north of San Francisco. I absolutely love the stretch at the crescendo; it makes me melt every time I hit those curves.

Experimenting with vibration stabilization with virtualdub deshaker, but I don’t think the 82% rolling shutter factor is correct for the 1080p mode… so the sky is dancing. Color is a little closer to what I’d like, and I got to have a little fun with that first cut to the tunnel. :)

Continue reading (86 words)

Sometimes you need to figure out where ruby code came from. For example, ActiveSupport showed up in our API and started breaking date handling and JSON. I could have used git bisect to find the commit that introduced the problem, but there’s a more direct way.

<cr:code lang=“ruby”> set_trace_func proc { |event, file, line, id, binding, classname| if id == :require args = binding.eval(“local_variables”).inject({}) do |vars, name| value = binding.eval name vars[name] = value unless value.nil? vars end

puts "req #{args.inspect}"
if defined? ActiveSupport
  puts "AHA"
  exit!
end

Continue reading (121 words)

cs.jpg

If I recall correctly, this was the result of a protracted 1v1 CounterStrike match between myself and Jon Beare. Neither of us could move without exposing ourselves, so we fought by proxy.

Continue reading (33 words)

Researchers at KERN (the Kyle Eats Ridiculously Nook) have announced reactions of unprecedented energy. The upcoming paper is expected to place new upper bounds on the maximum mass of the T-Burgeron. Results from the TASTEBUD array and Digestive Calorimeter are said to be “off the charts.”

Quantum foam researchers are eagerly awaiting the results of the supersymmetric supersalad (S4) experiment, which is the first to explore symmetry breaking between feta cheese and fresh c-tomatoes. High activation energies in fork-lettuce interactions have long limited the experimental accessibility of the salad model, but new models of bound arugula-cucumber pairs suggest a “delicious island of stability” may lurk at larger plate sizes.

Superstring theorists continue to argue that all vegetables are fundamentally stringlike, but thus far only beans have been proven to meet the topological constraints.

Continue reading (134 words)

Killing animals and eating them may be immoral, but can we please stop claiming humans are “naturally” vegetarian? We’re opportunistic omnivores, which probably has something to do with why vegans need to watch their diets carefully in order to have working blood cells.

Look at your teeth. Now back to me. NOW BACK TO YOUR TEETH. That’s generalized dentition, and appears in classic omnivores. Look left. It’s a chimpanzee, our nearest evolutionary relative. He’s killing and eating a Colubus monkey, their most frequent prey. Look down. What’s that in your gut? Oh that’s right; it’s a lack of a fermenting vat, efficient digestive enzymes for grasses, and inability to synthesize key vitamins and amino acids. Look again. THOSE DEFICIENCIES ARE NOW A COLONY OF SYMBIOTIC BACTERIA WHICH METABOLIZE ANIMAL TISSUES. I’m eating a horse.

I enjoy fruits and vegetables. I eat a lot of them. Probably more than most vegans. And don’t get me started on how amazingly delicious (and good for you!) vegan food can be. But we really are omnivores—PETA’s bad science to the contrary.

Continue reading (186 words)

6:00 AM. Oh, snap.

I think I was supposed to be on a plane. This morning? Wouldn’t I have set an alarm for that? Yeah, the plane definitely leaves at 7. Today? I packed last night–it must be today. How long does it take to get to San Jose?

An hour?

Continue reading (842 words)

Most Rubyists know about monkeypatching: opening up someone else’s class (often, something like String or Object) to modify some of its methods after the fact. It’s both incredibly powerful when used judiciously, and incredibly dangerous the rest of the time. I’ve spent countless hours trying to debug conflicting definitions of #to_json, or trying to untangle ActiveRecord’s astonishing levels of dynamic method aliasing.

I’m here to introduce you to a far more exciting threat: set_trace_func. This invidious callback is invoked on every function call and line of the Ruby interpreter. Most people, if they’re aware of it at all, correctly assume it’s intended for profiling.

They couldn’t be more wrong.

Continue reading (874 words)