It's 2004, which means a number of things - in the United States it's a presidential election year. Time was when it would have meant the Winter Olympics would have just wrapped up, with the Summer Olympics on their way in a few months. (I still don't get the point of staggering the winter and summer games by two years - they're not really "olympics" anymore if they happen every two years.) It's also a leap-year, and today is February 29. Congratulations are in order to my friends Chris and Colleen, who are getting married today. (Insert predictable jokes about the infrequency of having to buy anniversary gifts here.)
Four years ago Chris and I were working at a quintessential Santa Monica Startup, having bailed in January on Edmunds. The decision to leave Edmunds was the right one - the (profitable) company of about 20 that I joined in 1998 had caught Dot Com fever, rounded up some venture capital, and hired about 80 more people to do the work of the original 20.
My impulsive decision to join that startup, though, was probably not the best one I could have made. This was early 2000, a couple of months before the Boo.com implosion that signaled the beginning of the end; web design monkeys like myself were still in ridiculous demand. Posting a resume on Monster.com in the morning was sure to result in at least half a dozen calls by the afternoon, and I responded to one of the first such calls I received once I decided to leave Edmunds. It was a headhunter, who pitched this startup that was practically right around the corner. ("Great!" I thought to myself for some reason, despite the fact that I lived in Sherman Oaks and the commute to the new Edmunds office in Santa Monica was already killing me)
I visited the site and, bought into the business model, which to a relatively inexperienced 25 year old web designer in early 2000 seemed perfectly sensible:
I was so eager to get out that I jumped on it, without waiting to see what else might come along closer to home. It was startup all the way - converted industrial garage/shop space with a loft, dogs welcome at the office, long hours, trendy launch parties, the whole ball of wax.
It also wound up being hell - the reasons being too numerous and nuanced to get into here - and in early May Chris and I left - he was lucky enough to escape back to his native Illinois while I went on to Stan Lee Media, where I was introduced to PHP, starting the long chain of events that finds me writing this from the other side of the continent.
For posterity and in observation of this peculiar date, here are the major milestones of the last four years.
Assuming I'm still doing this in another four years, it will be fun to repeat this exercise. For now, though, I'm looking forward to March and the increasingly warmer temperatures it will bring.
While working my way through The Zope Book (2.6 edition), I finally got to the first practical example in the Using Basic Zope Objects chapter.
I created the example scripts as directed, diligently typed in the example templates and code (Copy paste works too, but I find when following programming tutorials that I memorize syntax more quickly if I type the examples out longhand), loaded the test form in the browser, and submitted it.
It crashed and burned with an error not remotely hinted at in the documentation. I checked and rechecked all of the code in all three of the application files, and everything was correct; parameters accounted for, no mismatched quotes, nothing.
It took me half an hour to figure out that I had misspelled the name of the Script (Python) object "calculateCompoundingInterest", which gets called by the interestRateDisplay template.
Instead of telling me that it couldn't find calculateCompoundingInterest, Zope was telling me that there was an error in it.
I'm sure there's an architectural reason for this behavior, and now that I know what the error caused by a missing object looks like I hopefully won't get stuck on this again, but it does seem peculiar.
I'm glad I learned frailing first, because the Scruggs style is hard... there's no getting around it, no matter how eager I am to be good at it right now, which of course is usually the reason a person decides to learn any instrument.
"Geology is the study of pressure and time. Thats all it takes really... pressure, and time." -Frank Darabont, paraphrasing Stephen King in his screenplay for Rita Hayworth and the Shawshank Redemption.
I began taking banjo lessons again last week. Whereas in the summer of 2002 I took a total of five lessons in the frailing style, this time around I'm pursuing the three-finger, Earl Scruggs style. The style most commonly associated with bluegrass music. The one you probably know from Deliverance or pretty much any mainstream media depiction of anything having to do with the rural south.
I'm glad I learned frailing first, because the Scruggs style is hard... there's no getting around it, no matter how eager I am to be good at it right now. Wanting to be good at an instrument, of course, is usually the reason a person decides to learn it, assuming they haven't been required by their parent to arbitrarily pick one.
I had Cripple Creek more or less down within just a day or two after my first lesson back in 2002. In its most basic form, frailing is a much simpler style, although players like Ken Perlman have done mind-boggling things with it.
This time I'm faced with hours and hours of practice before I can hope to rattle off a tune with the staccato speed and syncopation that seems so effortless for experienced players.
I think the moment of realization of what is involved in becoming good (whatever your personal definition of good is) at an instrument is where a great many people give up... it was where I gave up on piano after five or six lessons in high school, and where I would have given up on trumpet if getting braces hadn't forced the issue for me. I remember a general feeling of the effort not being worth the reward, and lessons and practice became more of a grudging duty than a pleasure.
Although I can currently barely make my way through Peter Wernick's plain vanilla arrangement of "She'll be Coming Round The Mountain", I don't have that sinking feeling of futility I did with piano and trumpet. I'm still more excited than anything, because this is a thing that I want. I've got a better banjo to learn on this time, a good teacher, and as much time as I need to learn my instrument... what is there to be frustrated about?
I have a love/hate relationship with the reader review features offered by online retailers like Amazon.com. Reviews of media such as books, music, or movies are pretty much worthless, because they all boil down to
"This is the best book I ever read EVER! A MUST HAVE!"
"This CD stinks, I was expecting it to be exactly like my favorite album by this artist from 10 years ago, and it's different, therefore it's no good. Don't waste your money."
When it comes to less subjective items, like tools or appliances, you can sometimes expect somewhat more useful commentary... but not always.
While daydreaming about the workshop I'd eventually like to get set up in our small utility room, I went poking around Amazon for cheap, bench top bandsaws. I found one by Delta, a generally reputable manufacturer of power tools, and proceeded to browse the comments.
The reviews are so divided as to make you wonder whether you're reading reviews for the same item... half of the people really dislike the saw, citing problems with straight cuts and the blade bending to the left when cutting curves, despite numerous attempts at adjustment.
The other half are more typical of an Amazon review, basically saying "This is a good saw for the money. I've had mine for two years now and never had any problems with it!"
So whose opinion an I supposed to trust? The people telling tales of repeated adjustment and tinkering sound like they know what they're doing, but the fact that they adjusted the saw doesn't necessarily mean that they adjusted it correctly.
On the other hand, maybe the people with no complaints never tried to cut anything denser than 1/8" thick balsa wood.
As with most content on the internet, I think it's best to take the good and the bad reviews with a grain of salt and temper it with reasonable expectations; for $99 you're not going to get a contractor grade piece of equipment.
On the occaisional day that I work from home, I usually sit at the kitchen table. The kitchen table, like every kitchen table in every place I've ever lived, also serves as the default horizontal space upon which to pile bills, junkmail, grocery receipts, spare change, paperclips, pens that no longer write, crumbs, dead batteries, and lord knows what else.
In other words, a huge mess. After half a day of low productivity and constant distraction, I took fifteen minutes to clean off the table. Junk mail ripped up and thrown out, bills neatly piled, random computer peripherals gathered and moved downstairs, nothing on the table but my laptop, and a cup of coffee.
I can feel my focus returning already. Every time I go through this pileup and purge cycle, one part of me thinks I should resolve to take a few minutes at the beginning or end of each day to maintain this pristine work space instead of letting it go so distracting... but another part of me thinks I would miss that sense of miraculous transformation.
I think my usual system will be fine, as long as the pileup phase doesn't get extreme.
Let the direct to video and merchandising crapflood begin! While it's true that Jim Henson himself was in talks with Disney before he died in 1990, I would like to think that any arrangement he made while still in the picture would have left him with careful control over his creations... as it stands now, the Jim Henson Company will hang around for a while in an advisory/production role, and then... who knows? In the clutches of Disney's, wherever the Muppets end up will probably not be any place Jim Henson would want.
This is really just the other shoe dropping 14 years later; A lot of the warm, fuzzy, genuineness of the Muppets left this earth with their creator fourteen years ago; things I've seen Muppets in since then have all had a celebrity-cameo-on-a-sitcom feeling. "Hey, remember us? We're the Muppets! Buy our videos!"
How sad it is now to read the quote at the top of the Muppet Central tribute to Jim Henson:
"I don't know who Jim Henson is, but I've heard he has his hand in a lot of things around here." - Kermit the Frog
Not anymore, Kermit.
Last year I had some fun with Markov chains when I put together my own random word generator.
As the number of posts on this weblog has ballooned past 300, it occurred to me that it would be fun to apply two word Markov chains to my own writing, and see what comes out. File this under one of those "When I have a few hours to kill" projects, which really means "When I have an entire weekend to kill."
Well, I should have known better - somebody's already done it, in Perl. Behold, MarkovBlogger!
What delightfully intelligent-sounding yet completely incoherent things it says! I can't wait to see what I sound like as Zippy the Pinhead. Somebody who knows Perl (meaning: not me) could probably massage jjohn's code into a Movable Type plugin that operates directly on the mt_entries table.
Objectives are a tricky thing, and it's been my experience that the objective you put on a resume that gets you hired rarely matches the job you wind up doing. That's not necessarily a bad thing, but since my skills and interests are constantly evolving I've elected to link to two or three different wiki pages related to the things I'm interested in doing for a living; you won't find typical resume Objectives like "Seeking full time work implementing cross platform solutions for blah blah blah...". I like to think that the more general description pages will give prospective employers a better insight into why I'm interested in these things in the first place.
That was the contents of the "Resume Objectives" page on my incomplete, experimental Wiki resume from 2002. It's the number 7 result on MSN's search for the words "Resume Objectives", and I when I began looking at my traffic again I was surprised to learn that it's also currently the number one requested page on *.greyledge.net.
I guess perhaps it's good advice - the "Objective" section on the resume that resulted in my current job read
Seeking a position developing web sites, applications, and services using open source technologies and protocols.
Succinct without being overly specific, no buzzwords, and now that I read it again, I realize that it describes exactly what I got hired to do.
This year I find myself in the unusual position of having a bit of money from our tax returns which isn't already earmarked towards something more important like, say, moving cross country or paying bills while unemployed, and with the release of GarageBand I began thinking about buying the M-Audio Keystation 49e for synth noodling.
I even went so far as to drive in to a Boston Apple Store to check one out, and that was where I began having second thoughts. It's a nice keyboard for the price, but I just never connected with keyboard/piano the way I do with stringed instruments; it would be a great add-on to GarageBand, but it's hard to get very excited over. The other factor was that they were out of stock- and they seem to be out of stock at most places online, too. A coworker ordered one directly from Apple a few weeks ago, and won't be getting it until march.
While idly searching Ebay for a couple of nicer alternatives recommended by a very knowledgable friend, It occurred to me to search for mandolin - an instrument that I've been growing interested in since taking up banjo a couple of years ago.
To my surprise, there were all kinds of instruments available for far less than the entry-level models I've seen at local music stores. Intrigued, I expanded my research to newsgroup recommendations, and other online retailers. The Kentucky KM-140 mandolin and its solid-top brother, the KM-140S, came up repeatedly as great instruments for the money. Furthermore, the KM-140S can be had for an astonishing price from an online retailer that I've heard nothing but wonderful things about on the alt.banjo groups in the past. Besides the good price, this store makes sure your instrument is properly set up before shipping and gives you 100% trade-in value for it should you ever decide to upgrade to something else.
It's a no-brainer, except for the part of me that's growing ever more conscious of the need to support local small businesses... when you shop with price as your exclusive criteria for long enough, you wind up with Wal-Mart. What is making the decision particularly difficult in this case is the big disparity in prices, and the fact that I haven't found a local folk instrument shop that I'm crazy about... There's a nearby store with an amazing selection of instruments and a very knowledgeable proprietor, but he always makes me feel like I'm wasting his time.
Local stores have the KM-140 priced above retail, which I assume is factors in the cost of a gig bag, resulting in a price gap of nearly $100 between them and the aforementioned online store. I understand that small, storefront-only businesses need to make a bigger margin on instruments to cover overhead, but $100 is a serious chunk of change.
It's a big enough difference that I know better than to stroll into a local store and suggest that they match the internet price to get my business. I don't get the impression that the local prices are negotiable, and even if they were I don't cotton to that way of doing business; if you're willing to sell me product x for n dollars, then just sell it to me instead of making me jump through hoops and wasting both our time.
In the end, I think I'm going to be ordering the instrument online - the praise I've heard from other customers and the lifetime trade-in are what seals the deal. I will salve my conscience by taking a few lessons from a local music teacher, and continue to look for a local store more like the Blue Ridge Pickin' Parlor in Chatsworth, California, who sold me my first banjo and got me started.
After three weeks, two microphones, and more money spent on adapters (and time spent returning them) than I care to think about, I'm giving up on my gung-ho GarageBand recording ambitions, at least for the time being.
So, I think it's back to Amazon with the Sony microphone. I'll keep the iMic and use it with my old Packard Bell desktop computer mic, which is also somewhat quiet, but better.
It's a disappointment. I would really like to use GarageBand to its potential, but based on this experience microphone recording on the Mac is an inordinate pain in the ass and wallet.
I do have another, somewhat related crazy scheme planned to distract me from this crushing defeat, however.
Be interesting or be quiet is Adam Kalsey's advice to bloggers everywhere.
It's abrupt statement... an overly sensitive person might think they were being offered a nice big cup of STFU, but it's really common sense.
I'm just now reminding myself of that... since resuming this weblog in late December I've really been racking up the posts without spending a whole lot of time planning or self-editing. I suspect that Movable Type is to blame; for me there's still a certain euphoria derived from how easy it is to add a nicely formatted web page to the site, and have links to everything else taken care of automatically. Sometimes it's tempting to add a photo or an ad hoc post just to watch the pages rebuild themselves just so... it's truly a thing of beauty.
But to what end? I think I experienced a similar giddiness when I had my own humble CMS back in 2001-2002, and many of my posts reflect it... random progress updates to myself about the nerdish project of the moment, which with the perspective of time not very interesting, and in some cases embarrassing. So what do I do with them? They're interesting to me from an autobiographical standpoint, but are they worth keeping online for hapless Google searchers to stumble across?
This site can't go on the way it has been; It's unbecoming to have an in depth article about hacking Movable Type category archives next to an entry titled I Love to Fart, no matter how interesting or entertaining I might think each one is in its own right.
The time has come to step back and take a look at what I've learned about surfing and building web pages over the last 8 years, and take the time to do something with it that is a better reflection of my personal and professional investment with this world wide web thing.
Until I figure out what's causing rendering weirdness with the DocBook XSL-generated article XHTML, please read this at http://sundown.greyledge.net/files/mt_paged_archives.html.
If you plan to link to this article, though, I'd appreciate it if you could use this URL so that everybody benefits from the trackbacks.
...Plus c'est le meme chose.
Exploring Footers: A List Apart is another installment in the sisyphean struggle to implement cross-browser, 100% W3C standards-compliant web pages laid out using CSS instead of tried and true table layout.
I'm usually not on the bleeding edge when it comes to this stuff... I scoffed at CSS for a long time in the days where you still had to design for Netscape 4.x; support was so piss-poor that it just wasn't worth it, and when you needed to change a font color there was always TextPad's find/replace across multiple documents. My portfolio site is XHTML and CSS compliant, but this weblog is probably not remotely valid due to my recycling of older entries with unterminated <br> tags and such.
In early 2004, CSS support is worlds better across all of the major browsers, but it still seems to be lacking when it comes to styles that deal with the height of things, as in "This div should expand to fill 100% the height of its container, so I can position this footer block at the bottom"
If, for some strange reason, I'm in your email client's address book and you run Windows, would you please, please please check your computer for the MyDoom virus? Better yet, would you please stop using Windows altogether?
I'd like to stop receiving bounced messages sent by the virus from your computer as me.
If you thought people who gave print publications version numbers were pretentious, wait til you get a load if this guy.
Despite my diligent efforts to create and edit files exclusively in UNIX mode with Emacs, once in a while I will open a document and find it peppered with the annoying ^M characters that represent carriage returns (as opposed to linefeeds.)
Copying the ^M character and attempting to yank it into the query-replace minibuffer doesn't work. Enter a convenient key combo to represent the escape char, C-q C-m. (The equivalent key combo for linefeeds is C-q C-j)
So to replace all CR characters with LF characters from the cursor to the end of the buffer, do like so:
Query replace: C-q C-m with: C-q C-j
Tree shadows across the snow.
I was seized by a fit of nostalgia while browsing the beer aisle at the grocery store, and brought home a six pack of J.W. Dundee's Honey Brown Lager. Being a local beer, Honey Brown was relatively cheap and was a staple at most parties on and off campus... it was the perfect beer for those of us who couldn't stand the pisswasser made by the likes of Coors/Bud/Miller, but didn't have the money to spend on, say, Bass and Guinness by the 12 pack.
8-10 years later, my impression is pretty much the same; better than Coormillweiser, but not something you'd bring over to your fellow beersnob's house. Sometimes it's better to remember things in context... the novelty of scoring beer or being suddenly old enough to buy it legally, playing in a crappy but well-liked band at parties, the middle of the night trips to Jay's Diner, and the whole college experience in general.
It's a bit sad to find myself rushing headlong towards the end of my 20's... but at the same time I like the thought that as I head into the next thirty years, I won't have to waste my time with all the crap that you have to put up with or get worked out during the first thirty.
Willoughby's first night with us.<!-- iphoto_id: 732.0 -->