August 2005 Archives

The Toughest SOB I've Ever Known.

It's been a sad day around the Appnel household. My grandfather, Walter Appnel, passed away this morning. He was a hero of mine and the toughest SOB I've ever known. Just shy of his 80th birthday, my mother-in-law commented that he was young. In a sense he was, but to have known the story of his life, or at least the parts he told us about, you realize he lived several of our lifetimes.

His father left him and his mother broke and destitute during the depression when he was only 2 year old. 10 years later his father returned for him because he had reached working age. My grandfather told him to go to hell that he never wanted to see him again. (And he didn't.) He lied about his age to join the navy and fight in World War II. It was a better opportunity then what he had going on as a junior high drop out. He worked on a crew firing one of the main guns of a battleship. Firing them over Normandy on D-Day and later over the Pacific as kamikazes rained down from the sky. His mother died while he was in the service. He never got to say goodbye. He almost died himself painting the side of a battleship when his plank broke. He hit the dock below and was knocked out cold before rolling into the sea. Another sailor saved him by diving from the deck into the water and fishing him out. He lost all of his teeth then.

Some time after the war and now back home, he contracted Polio and became quite sick. His second brush with death. A girl he met at the bowling alley came to see him every day in the hospital. He told us, What else could I do, but marry her?

He had two children who gave him 6 grandchildren and 5 great grandchildren (and still counting).

Two year ago we almost lost him. He flat-lined and the doctors brought him back. He spent weeks in the hospital and despite the odds he pulled back from death again. (He finally quit smoking after 60 years.) Yesterday when I heard his chances looked very grim a small part of me thought he might actually cheat death again.

He loved to bowl. It was his life. All of friends, fun and good times revolved around it. He wasn't too bad at it either having rolled a number of 300 (perfect score) games over the years including one just a few years ago.

He loved to play cards. He was a marvelous blitz player that taught me everything I know about that game.

He loved drinking his 7-and-7's and talking to his children and counseling them.

He worked his fingers to the bone. He taught himself to be a carpenter, plumber and electrician to work remodeling homes as his second full-time job that he held most of his working years. He was the seed of the Appnel family hard work ethic.

He also liked to tell it like it is – strains of which still remain through the generations of the Appnel family. He spoke with no filters and with colorful language. He was the king of the dirty joke one liner.

He was a dedicated family man. Just being together is what matters, he would tell me. Appropriately enough that is just what the family did the day before he was suddenly admitted to the hospital and passed away.

We love you Pop Pop and will miss you.

Om Malik writes:

When you cannot comprehend the revolution, you try to poo-pooh it. Scoble, having been assimilated by the borg, laments desire for thin client type functionality as a “disease that’s all the rage lately.” He thinks thick clients are coming back. Like Bell Bottoms, Disco Music and Happy Days!

OSCON Wrap-Up.

It's been a week since OSCON ended and I'm just beginning to recover. Very interesting things abound.

The theme/tagline of this year's event was The Future is Open. Rumor is the runner-ups with The David Hennemeier Hanson Show and With Ruby on Rails! More on that in a bit though.

Ben Hammersley and I had quite a good turn out and response to our 45 Syndication Hacks in 45 minutes presentation. While we were in one of the smaller presentation room its was filled to capacity throughout. You dread presenting on the last day, last session because attendance is significantly diminished as everyone is burnt-out or running off to catch their flight. Ironically I seem to draw this dubious honor each time I present. Perhaps there is a secret password I'm forgetting to say. Nevertheless for those who are interested in our flying-by-the-seat-of-our-pants slides they are here.

I attended Brad Fitzpatrick's scalable Perl presentation. Quite an impressive setup they have developed. Some of the tools they've develop and released as open source – memcache and perlbal – look quite intriguing stuff I hope to take a look at soon. The mention of a forthcoming distribution, Data::ObjectDriver, caught my eye. As I suspected it sounds like an open source version of MT's data persistence layer with various high-end scalability functions built in. Six Apart founder Ben Trott discusses the module here. Looking forward to that modules release.

My sleeper pick was Yahoo's Michael Radwin's presentation on HTTP caching and cache busting. Highly useful information to anyone dealing with efficient distribution of content on the Web. Presentation hasn't been posted. My rough notes at the end of this post.

So Ruby on Rails and its creator David Hennemeier Hanson seemed to be everywhere at the conference. The good Mr. Hanson had 1 tutorial, 2 presentations and 1 keynote this year. Several other Ruby presentations were also on the bill and the discussion of many conversations heard through out the conference. There was even a Ruby on Rael sighting. The always insightful and humorous Danny O'Brien put it best when he noted that Ruby moved from being ignored to winning (thereby bypassing being laughed at and fighting) in about three weeks. I always worry when any thing gets hyped up into such a rich foamy lather because misuse and backlash is inevitable. Ruby on Rails does have a lot of nice things worth praise.

The thing I like most about Rails is the thinking and philosophy behind the framework. The idea of joy and aesthetics is a novel one that gets lost or forgotten. I once felt that type of joy from MT and know it really can make a difference.

The following are my rough notes I took from Extracting Rails from Basecamp and Secrets Behind Ruby on Rails.

Less people, more power
Less money, more value
Less resources, better use
Less time, better time

Prove that an application is worth building the big thing (scaling up) for it.

We built half a product instead of a half-ass product.

Develop less software.

Too much enterprise. Too much focus on 99.999% uptime. Too much 100 man shops.

Liberate the good ideas. Change the language. Change the context. Retain the core insights.

Call me shallow. I love beautiful code. Aesthetics. Joy.

On APIs: I'll know when I see it. You have to feel an API to make it fit. Guessing the future is for fortune tellers.

Why Open Source? For entirely selfish reasons. Make others do the work. Bask in the glow of being a giver. What's there to loose?

Fear obscurity. You need a network to reap the effects.

Passion is infectious. The baseline of excitement. A conversation of success.

Scaling a culture. Early influx can bend you out of shape. Release not so early, then often. Set a viral example of kindness.

Getting rid of XML situps. Use conventions.

 class Post < ActiveRecord::Base
    belongs_to  :weblog
    has_many    :comments
    has_one     :author, :class => Person
 end

No compilation. No deployment. No server restarts. No code generation.

Ruby: Introspection, Open classes, Execute code in class definitions.

Complete, integrated, and familiar stack. One language all the time.

The bucks stops here. We handle it all.

Responsible for the whole experience. Taking care of all the little things.

Flexibility is overrated. Its a bad notion. Trade flexibility for constraints are liberating.

Of all the Rails knock-offs being discussed, this last point, that flexibility (in frameworks) is overrated, seems to be the most crucial and most overlooked attribute. (Are you listening Catalyst team? This is what I meant.) Phil Windley rocks out flexibility being overrated here. I didn't get to attend the Rails tutorial, but Phil did.

Notes on Michael Radwin's HTTP Caching presentation:

 Cache Publishing and Busting.

 (Dynamic Content)

 Frequently 
     HTML

 Occasionally
     CSS
     JavaScript

 Rarely/Never
     Images
     Flash
     PDF

 (Static Content)

 Top 5 Techniques.

 Use Cache-Control: private for personal content
     For use with dynamic content. 
     HTTP 1.1 Caching anything by default
     In practice, most caches avoid anything with:
         Cache-Control/Pragma header
         Cookie/Set-Cokkie header
         WWW-authenticate/Authorization
         POST/PUT
         302/307
         SSL content

     Cache-Control: private

     Shared caches bad for shared content
     Private caches perfectly OK
     Avoid personalization leakage.

 Images Never Expire
     Dictate that images once published never change
         Set Expires header 10 years in the future
     Use news names for new versions
     Tradeoffs
         More difficult for designers
         Faster user experience, bandwidth savings

     mod_expires
     ExpiresActive on
     ExpiresByType image/gif A315360000 # 10 years
     ExpiresByType image/jpg A315360000

     mod_headers provides a HTTP 1.1 solution

     mod_images_never_expire - Never even hits the file system 
     when an if-Modified header is sent.

 Cookie-free TLD for static content
     A seperate domain name for your static content (like images) 
       cuts down on the size of the requests coming from a cookie 
       header being inserted in every request.
     Many proxies are more likely to not cache a file to avoid 
       personalized data leaks.

 Use Apache defaults for occasionally changing static content

 Use randon tags in URL for accurate hit metering or 
   very sensitive content.
     Convert public shared proxy caches into private caches
     Without breaking real private (browser) caches
     (Missed last point)

     (Missed more here.)
     Return 302 to highly cacheable images file
     Counts 302s as hits

     Does not require modifying HTTP headers
         No need for Pragma: no-cache or Expires
         Doesn't break the back button
     Browser history & visited-link highlighting
         Javascript timestamps/random numbers
             Easy to implement
             Breaks visited link highlighting
         Session or Persistent ID preserves history
             A little harder to implement

     User expectation: Back button works instantly
         Private caches normally enable this behavior
     Aggressive cache-busting breaks back button
         Server sends Pragma: no-cache or Expires in past
         Browser must re-visit server to re-fetch page
         Hitting network much slower than hitting disk
    (one more)

 Pro-Caching Techniques
 Cache-Control: max-age=<bignum>
 Expires: <10 years into future>
 Generate static content headers
     Content-Length
     Last-modified, ETag
 Avoid cgi-bin, cgi, "? in URLs
     Some proxies (e.g.Squid) won't cache
     Workaround: use PATH_INFO instead.

 Cache-busting Techniques
 Use POST instead of GET
 Use random strings and ? char in URL
 Omit Content-Length and Last-Modified
 Send explicit headers on Response
     Breaks back button
     Only as a last resort
         Cache-Control: max-age=0,no-cache,no-store
         Expires: PAST DATE
         Pragma: no-cache

 Books Web Caching and Replication (Addision Wesley)
 Web Caching (O'Reilly)

Basically, when I was complaining on how I was tired of the critics of Six Apart dissecting all my posts and being so determined in their nastiness, [Anil Dash] made me realize that I need to write for the people who support the company. Mena Trott, Six Years of Dashes

Hooray! Mena is back. Ben too. In the past few days I think Mena has equaled her previous year's public weblog posts. In the past week or two I think Ben has quadrupled his yearly output. Exciting. Really, it is.

Relatedly everyone's favorite Six Apart homey, Anil Dash is celebrating his personal weblog's 6th year anniversary.

tima@OSCON

I'm on my way out to the O'Reilly Open Source Convention. Ben Hammersley and I will be presenting 45 syndication hacks in 45 minutes. I have the utmost faith in Ben to pull off something so mad and only hope I can keep up. We got the time slot I alwys get – last day, last session. Oh, well. It still should be fun.

About this Archive

This page is an archive of entries from August 2005 listed from newest to oldest.

July 2005 is the previous archive.

September 2005 is the next archive.

Find recent content on the main index or look in the archives to find all content.