Monday, October 15, 2007

18 Months Windows-Free (Nearly)

I'm Dave and I am a former Windows user.

Not that I ever liked it. Back in the day, I used Atari 8-bit and 16-bit 68000 computers. The Atari ST machines were cool because you could run Mac programs on them with the help of the Spectre GCR Mac emulator, and the native Atari programs (like PageStream and Calamus) were actually pretty very good themselves. Power without the price. Stickin' it to the man never felt so good... we had the best of both worlds.

Around 1994, as I was also getting into Linux, I started to use Windows as my primary desktop UI. It sucked, but at least back in those days (Windows for Workgroups 3.11) you knew how it sucked and why. And in general you could work around it. It was lightweight enough to be manageable.

Back when I ran an ISP, I developed a bunch of software using Microsoft SQL Server, ASP, Access, and other relatively common, garden-variety tools of the day. It got the job done and I was happy enough.

During the Mac's PowerPC years, I always found the Mac to be needlessly obscure and imperious; its choice of the PowerPC architecture, while admirable from a performance standpoint, just made very little sense in terms of interfacing with the rest of the world.

The Web hadn't really emerged as a viable application development platform at that point, and the Mac was pointlessly obscure in the face of Windows. Everything was available for Windows, and the Mac was precious, delicate, and oh-so-special. I wasn't interested, despite my respect for the platform.

Around December 2004 I succumbed and bought an iBook G4, a PowerPC machine. As a software developer I was curious about how OS X was coming along so I thought it would be cool to have a current Mac.

When in early 2006, Steve announced they would be switching to Intel chips, I felt a nearly religious change of heart towards Apple, or that Steve had one towards me. The implications were obvious: the long freeze was over. Mac would become Intel friendly, and Intel-friendly OS's like Linux and Windows were suddenly going to be a possibility on the Mac. Yeah, I am aware that there were ways to run Linux and Windows on PPC, but it was hard (and obscure). I'm all about ubiquity and reaching for things that can be done on a huge platform.

I went out and bought a Mac Mini Core Duo shortly after and have never looked back. While I'm writing this on my old decrepit iBook G4, I also own a MacBook Pro, a MacBook, a Mac Pro, a MacMini, an iMac, an iPhone, and two iPods. I am a certiifiable Apple Fanboy, though I try hard to hide it (and mitigate it).

I still use Windows to run Quickbooks and Quicken, and the occasional odd program (like the Nokia phone firmware updater). It seems it can't be easily avoided. The Mac versions of both Quickbooks and Quicken are crimes against humanity, though the Windows versions aren't much better. No matter, home is where the heart is, and I must say that to finally be using a decent OS on decent hardware on a regular basis is truly bliss.

Now I read reports about Microsoft's dominance in the OS space and I just shrug and think "yeah I guess", while I myself have been shielded from the tyranny for nearly 2 years... Now when I run Windows, I look at it as some outmoded form of existence that I revisit now and again for nostalgia.

Don't even talk to me about Vista.

Last February, upon its release, I went out and bought a copy, thinking that as a technologist, I should know what it does and doesn't do. As an optimist, I figured it had to have some redeeming qualities. After loading it on my PC, I can say it was a pointless exercise bordering on utter disaster.

I wanted to "experience" the Aero-glass features, so I bought a new $175 video card. I bought a new $200 300Gb hard drive so I could install Vista without imperiling my old XP installation. This was all a huge mistake. I ended up with my XP installed as a secondary drive, and a bunch of programs that wouldn't run. Accept or Deny?

Then my Vista boot drive died, and the whole thing ended up as a pile on the floor with a Knoppix Live-CD stuffed in the DVD drive, acting like a life-raft on the Titanic, trying to tar+scp things off onto whatevner machine would take it. If I had a gun, I'd shoot the thing. It is dead, and Vista killed it as far as I am concerned.

Now I keep my virtual machines on an external USB drive I can carry between my MacPro or my MacBook Pro (depending on where I am) and I am a lot happier.

Bless you Steve, for finally coming around to Intel. It may not always be better, but at least it's what everybody else is using. Now when I hear about the latest stupid ideas from Microsoft, I can just shrug them off, secure in the knowledge that a) my Mac will work great, and b) I can run Linux or BSD or Solaris to do anything else.

And I can even know that I can run Windows, if I absolutely must. For creative professionals (and by this I include everybody from artists to coders to database guys), the Mac is truly a gift to you. Enjoy it, appreciate it. If you are still on Windows or forcing yourself to use a Linux UI for ideological pride, it's time to move.

Anyone with a creative bone in their body should be using today's Macs.

Saturday, October 6, 2007

MoMA NY Selects Twittervision & Flickrvision

Yesterday, I received final confirmation that the Museum of Modern Art in New York has selected my mash-ups and for its 2008 exhibition Design and the Elastic Mind.

I'm certainly very flattered to be included and have never considered myself to be an artist. I didn't seek out MoMA on this. I am just very, very happy to have an opportunity to participate in a small way in the ongoing dialog about what technology means for humanity. Crap. Now I sound like an artist.

Incidentally, this means that and are the first ever Ruby On Rails apps to be included in a major art exhibition. I already told DHH.

Anyway, at RailsConf Europe a few weeks ago, Dave Thomas' keynote speech emphasized the role of software designers as artists. He said, "treat your projects as though they are artworks, and sign your name to them." Or pretty close to it. I think this is incredibly valuable advice for software designers today.

We're past the days of using machines as amplifiers of our physical efforts. It's not enough to jam more features into code just so we can eliminate one more position on the assembly line. We're at a point where the machines can help amplify our imaginations.

Today, creativity and imagination (what some folks are calling the right brain) are becoming the key drivers of software and design. With imagination, we can see around the corners of today's most pressing challenges. While technical skill is certainly valuable, if it's applied to the wrong problems, it's wasted effort.

Creativity, imagination, and artistry help us identify the areas where we should put our efforts. They help us see things in new ways.

Everywhere I turn (perhaps partly because I am a Rubyist), I hear discussions of Domain Specific Languages, and of framing our problems in the right grammars.

This is hugely valuable because the creative part of our brain thinks in terms of semantics, grammars, and symbols. If we can't get the words right, our imaginations can't engage.

Everything stays stuck in the left side of our brains when we have to jump through hoops to please some particular language or development environment.

I hope you all will come out to see Design and the Elastic Mind when it opens at NYC MoMA, Feb 24 - May 12 2008. I'm not sure how we're going to present the sites but we're going to see if we can get some partners and sponsors involved to do something really beautiful.

And again, thanks to MoMA for the selection. And here's to creativity, imagination, and artistry as the next big thing in software design!

Adhearsion is Moving Forward in a Big Way!

Over the next two weeks, Jay Phillips, Chad Fowler, Marcel Molina, Rich Kilmer, Ed Guy, Glenn Dalgliesh and myself are getting together to work on advancing Adhearsion, the open source VoIP technology.

For those of you who don't know about Adhearsion, it brings a simple, elegant grammar to the world of VoIP. It's an object-oriented DSL (domain specific language) written in Ruby. But that's what's going on underneath. Here's what's going on for you, the user:

# This is an example extensions.rb file which
# would handle how calls are processed by
# Asterisk. This is all completely valid Ruby
internal {
case extension
when 100...200
callee = User.find_by_extension extension
unless callee.busy? then dial callee
voicemail extension

when 111 then exec :meetme

when 888
play weather_report('Dallas, Texas')

when 999
play %w(a-connect-charge-of 22
cents-per-minute will-apply)
sleep 2.seconds
play 'just-kidding-not-upset'

Obviously this is much more palatable than what you might find in your average asterisk extensions.conf file.

Chad, Marcel, and Rich are some of the biggest names in the Ruby & Rails communities. Ed Guy is a legend in Open Source telephony. Jay is the originator of Adhearsion. Glenn, Ed, Jay, and I all work together for the project's sponsor, Truphone. There is some thought that with all of us on the job, Adhearsion might just become the next big thing to come out of the Ruby community.

We'll see about that; it could certainly happen. One thing that is for sure though is that our efforts should bring a level of beauty and clarity heretofore unrealized in the VoIP/telephony/collaboration world, and that certainly is a good thing.

My Wife Is Julie, the 1974 American Girl Historical Character

We were on vacation in San Francisco in July 2005 when my wife was asked to pose hanging off a cable car by some photographers from American Girl.

In New York yesterday, we took our daughter to the American Girl store there and were greeted with these giant 7' tall posters. Jennifer immediately remembered the incident in San Francisco. The staff was amused and gave us a free poster. And I'm amused that she's the 1974 character who gets to say things like "Far Out."

She looked up the illustrator, Robert Hunt, online. He's apparently a major illustrator in the business, having done the artwork for the Dreamworks logo (kid sitting on the moon) as well as a bunch of other major work. Anyway, he described his process very thoroughly, and it seems unlikely that her "likeness" was used, as that would have required a model release, etc.

The team taking the photos was so emphatic (watch for it, it'll be you!) though and the overall likeness to the pose that day is so great that we think those shots were used for blocking out the design.

We'll probably never know, but these little coincidences add a touch of magic to life.