Michael Buffington

Good Work David

Wednesday, August 03 2005

David just won the Best Hacker Award at OSCON for his work on Ruby on Rails. This is certainly something to be excited about, and I can’t think of anyone right now that deserves it more. Ruby on Rails is truly an incredible framework.

I had the privilege of having dinner with David a few months ago, and was impressed with his humility. In the midst of all the praise and admiration for his brainchild, “off the clock” he was a normal guy with no ego whatsoever. While Rails is praiseworthy on its own merits, it certainly doesn’t hurt that the father of the movement has his act together in the real world. Good work David.

Jonas and Corn

Tuesday, August 02 2005

.flickr-photo { border: solid 1px #000000; }
.flickr-frame { float: left; text-align: center; margin-right: 15px; margin-bottom: 15px; }
.flickr-caption { font-size: 0.8em; margin-top: 0px; }

IMG_8019

IMG_8019,
originally uploaded by Sixfoot6.

Ryan took some photos of Jonas biting into what I think is his first ear of corn.

Cool Devices Wishlist Installment

Tuesday, August 02 2005

After reading about the Goldfish Hearing Aid (an earplug that can replay the last 10 seconds of audio upon command (also, I don’t think it really exists yet)) I started thinking about a couple other cool devices that we should have:

Digital Camera Contact Lenses
Create a contact lens with a CMOS sensor in it that sits directly below the iris to avoid obscuring vision, and is tilted just right so that it can capture images from the wearer’s perspective. Give it some cilia that, when bent by blinking, generate enough electricity to power the rig. Images are captured after the chip and/or cilia detect specific blink patterns. When taken out at night, the lenses offload the images directly to Flickr using the docking port/contact lens case.

Airbag Garments
This idea comes as I nurse several sore spots on my left leg after a pretty hard skateboarding slam. I want a pair of pants that can detect when I’m about to fall down, and detect where the most impact is going to occur and then shift either air or some kind of gel to the impact zone. I imagine a sort of dual layer pair of pants that is embedded with motion and proximity sensors. The sensors constantly talk to the two layers, and when sudden motion is detected, they do some math to figure out where to constrict the two layers, resulting in a pile of up air/gel in a specific spot. This wouldn’t be life saving in a car accident or anything, but it would be really nice for sports like skateboarding where even with protective gear, you can’t always cover every inch with padding.

My Solution to All Things Bad on the Internet

Tuesday, July 26 2005

Greg Veen eats apple cores. This is unarguably horrible, though Greg argues that it is indeed a good thing to eat apple cores. Upon discussing this with Greg, two ideas were borne that bear repeating and eventually implementation:

The Trivial Question Portal
Imagine for a second that there’s no such thing as spam, or abuse of the Internet at all. It just doesn’t happen (I’ll say more about this on idea number two). Now, you have this little program running on your computer, and you can open it up and ask it a trivial question, like “Do you think eating apple cores is akin to eating sweet and juicy cockroaches?”. Your question would immediately land in the inbox of everyone on the Internet who were also using the Trivial Question Portal. Your question would start, undoubtedly, getting responses from citizens of the Internet immediately and your argument would be won. This would work splendidly, of course, because of the lack of abuse, which leads to idea number two.

Stopping Bad Behavior on The Internet
Pretend for a second that the only way to get on the Internet is by first taking an intense psychological test that determined, with supreme accuracy, what you fear the most in life (both your conscious and subconscious fears). By logging on to the Internet, you agree that, should you abuse the Internet, those fears would be immediately realized. And the Internet decides if you’ve abused the Internet or not by asking the following question through the “Trivial Question Portal”. If two thirds of the Internet populace says yes, your worst fears become real.

For example, let’s say you ask the Internet the question “Would like to purchase some viagra?” through the Trivial Question Portal. Someone might then ask back “Is Joe User abusing the Internet?” and before you know it, all those nude photographs taken years ago show up on CNN, and tarantulas begin nesting in your ears.

Of course you’d never be able to take this concept into real life. Governing by fear only works on half the people at any given time.

Multiple Databases in Rails

Monday, July 25 2005

I just spent a while trying to figure how to have a single Model in my Rails application talk to another table in another database. The solution is so staggeringly simple I’m embarrassed that I had to figure it out nearly by mistake:

1
2
3
class YourModel < ActiveRecord::Base
def self.table_name () “dbname.tablename” end
end

The user name and password required to access the other database need to be the same as the user name and password on the database you’ve set up in your databases.yml file. After that, you’re simply taking advantage of MySQL’s (or most RDBMS servers’) ability to access other databases on the same server, provided the current user has the rights to do so.

TactaPad

Friday, July 22 2005

The TactaPad looks like an interesting alternative to a mouse. A couple of years ago I talked about wanting to be able to have two mice, and it seems like the TactaPad could be “two mice”. But having watched the TactaPad in action, I realize that whether you have the TactaPad or two mice working at once, the operating systems we use just aren’t ready.

Consider window resizing for example. I could see the impulse of using two mice or two hands to grab each edge of a window and resizing it as a natural thing to want to do, but the OS has no idea how to handle that. It’s designed to look for a single mouse down event, and wait for a single mouse up event indicating the end of the drag. In current OS’s, it would simply ignore one of the two mice. Seems like simple stuff, but deep in the core os OS’s, single mouse events are pretty entrenched.

Tactiva says that TactaPad has the capability of manipulating objects using two hands at the same time, but if you watch the videos closely, it never happens out in the OS. Hands are trading off. It’s basically the same as having a single mouse cursor, trading the cursor between your fingers. Only Tactiva commissioned software seems to be able to detect multiple touches at the same time (because they can do that), but no current OS will ever take advantage of that.

And finally – I predict we’ll never see the TactaPad. They predict it will cost $1000.00 if they can even get it built en masse, and just look at it. It’s simply massive, has a camera hovering above it, and makes keyboard use a little more challenging. Neat concept, but I won’t be using one soon (unless of course they’d like me to review it, which I’d be glad to do).

Furniture Hacking

Thursday, July 21 2005

Matt gave us a desk a few weeks ago with the warning “it might make a good crafting desk”. I picked it up for Carrie to use, but as I’m on the eternal and never ending quest to build the perfect office setup, I poached it for myself.

It quickly became apparent why the warning was given – it was a corner unit (you can see it here in Matt’s office) and the opening was pretty narrow. When shifting positions or trying to get closer to the monitors, the armrests on my Mirra chair would bash into it, and it became annoying and uncomfortable really fast.

Other than that, the desk was great – fully height adjustable legs from Ikea (important for me, as that’s a big part of my Holy Grail of a perfect work setup) and perfect amount of space for my two monitors, but not too big.

Yesterday, I ditched the desk top and made my own design out of MDF. It literally took just a few hours. I took the old desktop and matched part of its shape, but widened the “mouth”, and just sort of connected the dots. No precise measurements or anything, just went for it. It has imperfections, but those are quickly overlooked as I’m able to move my chair forward and pivot while nestled in the arc of the mouth of the desk.

You could do something similar as well, a few legs from Ikea, a $20.00 piece of MDF, and a $30.00 scroll saw will put you on your way to custom desk freedom. Make your own Biomorph desk for a fraction of the cost (and, admittedly, features).

Personal Cartoonist Needed

Tuesday, July 19 2005

I’m looking for a personal cartoonist. You have to work really cheaply, which might mean that I’ll select offshore candidates more readily than domestic personal cartoonists. Understanding English is preferred, but if you know too much English your chances of getting the position will be reduced.

Requirements:
Must be ready to produce an editorial style cartoon at any moment, and be able to upload it to me. A consistent style would be nice, but not required. If styles are going to vary at all, they must vary drastically. Black and white or full color is fine. Photo collages are fine, though I’ll probably reject them unless they’re super funny or have cats in them.

I will determine the subject matter. You will be given plenty of material to complete each assignment. Payment for each assignment will be issued through Paypal upon acceptance.

Contact me if you’re interested. I’m a good boss.

Drag and Drop Lists in Rails

Monday, July 18 2005

I put together a quick How To on using the drag and drop helpers in Rails. Pretty simple stuff. Probably so simple that I wouldn’t be surprised if I messed up the How To. Let me know if it doesn’t work for you.

Garage Band

Monday, July 18 2005

I was into Ska in the mid nineties. Not enough to wear the uniform, but enough that it was basically all I listened to for a while, and I actually played trumpet (very badly) in a band that played a couple of good shows. We had our own following in a time when bands like No Doubt and Reel Big Fish weren’t always headlining, and were playing at small venues with mostly local fans. It was great fun, and I’m sure that those who were a part of that time will remember it fondly for the most part. The band was called Exit Smiling, and we had some great times and colossal fights. There’s a band in Milwaukee now with the name (either a heavy metal band or punk, can’t be certain) which makes me sort of sad, but I can’t blame them for coming up with a good name.

The other day, I had the tune of song from Goodwin Club in my head, an Orange County ska band popular around 1994-1995, and I’ve spent the last thirty minutes digging through the Internet trying to find a recording. In doing so, I realize that the Internet, and what it provides, has become fully entrenched into nearly all my behaviors. Without even giving it thought, I went out looking for content that is essentially pre-Web, pre-MP3, and therefore doesn’t exist (at least to me, as I take the Internet for granted).

Today, a band like the Goodwin Club, would likely have MP3’s scattered throughout the Internet, either by their own choice or out of their control. It would almost be harder not to spread their recordings wide, as demo tapes would probably be created in digital format first. With tools like GarageBand for the Mac, and the simple ubiquity of computers that can record audio in the first place, the difference between garage bands from 2005 and 1994 is about the same as the difference between garage bands from 1950.

And while I really would like to find even just one digital recording of the Goodwin Club, I understand that the sort of warmth that comes from remembering the Good Old Days doesn’t come from having exact bit by bit recordings. The lack of a full archive requires that you swim in your memories, sending off ripples that bring about other lost memories that you might overlook if given an all encompassing, unbiased and completely comprehensive perspective. The imperfections of the mind mold those experiences into something else over time, something that perfection might destroy.

But if you have a copy, I still want it.