An American Childhood

About a month ago, I finished my second Annie Dillard book, An American Childhood.  Dillard has had a special place in my heart ever since I read Pilgrim at Tinker Creek in high school.  Tinker Creek is a Thoreau-like book of insanely detailed observation so powerful I find myself rereading every two or three years.  The language in Tinker Creek is so beautifully crafted that it reads, at times, like a prose poem, the art of which can, if care is not taken, distract from the actual content of the text.  So, it is with this high opinion of DIllard that I began to read An American Childhood.  I was not dissappointed.

On the surface, the book is a memoir of Dillard’s early years in Pittsburgh, from birth through adolescence, in the 1950s.  Dillard tells the story with the same skill as Pilgrim at Tinker Creek, and with the same attention to detail.  She bounces between topics, describing her father’s wide-eyed trip down the Mississippi one summer after quitting his job, and her mother’s wit and command of the spoken word.  The common thread in all of this is her childhood exuberance.  The young Dillard is not only intelligent but hungering for knowledge of any sort, reading field guides, linguistic texts, and drawing how-tos.  Reading up on her large rock collection, Dillard is surprised to discover adults with her own sense of wonder:

One book cautioned me against refining any gold I found…if I refined it in any way I was “obliged by law” to sell it to a licensed gold dealer…these, then, were books which advised, in detail, how to avoid making money, right here in America.

The descriptions of regular events like the family’s improving social status and country club sponsored cotillions, contrasts sharply with Dillard’s inner dialogue, the fervor of which grows and grows throughout the book, causing her to wonder if it will last:

Must I then lose the world forever, that I had so loved?  Was it all, the whole bright and various planet, where I had been so ardent about finding myself alive, only a passion peculiar to children, that I would outgrow even against my will?

An American Childhood has the marks of a typical memoir, but is made all the more enjoyable by Dillard’s mastery of language.  Furthermore, the young Dillard’s refusual to be blasé about anything large or small in the universe, is echoed by her modern author’s voice and the depth of self-revelation.  This is a book enjoyable from many angles, and though I’ve read only a small fraction of Dillard’s work, she is undoubtedly one of my favorite authors.

lunchtime musings with Dan

Dan Swick insisted I blog this bit of conversation from our lunchtime chat:

(12:23:00 PM) thatmattbone: actually, I know what my ideal job would be…I’d be a waitress with a big red wig on roller skates, and I’d go around filling up coffee cups at a tech company like google and gabbing about their exciting projects, saying things like “can I freshen that coffee, hun…looks like you forgot to declare that variable, darling”

 

burn the rope

The first game I’ve ever beaten.  Ever.

http://www.mazapan.se/games/BurnTheRope.php

(you have to burn the rope)

xtra! xtra!

Yesterday I received my xtracycle, and today I finished the assembly.  Sort of.  I’m still lacking proper shift cable and housing so I’m rocking a single speed xtracycle right now, but I took it on its maiden voyage in the middle of our giant snow.  First off, the xtracycle handles beautifully in the snow.  The bike is so long you can actually get the thing sideways and control it quite nicely.  More importantly, though, this beast can haul anything.  In the photo above, I’m hauling punch ingredients for our work Christmas party.  I can’t wait to haul crap.  If you need a large object transported by bicycle, just let me know.

And now gratuitous roller shots:

hold on!

hold on!

dan is teh roller rockstar

dan is teh roller rockstar

it’s cold.

I’d just like to point out that when I went to bed it was 51 degrees, and when I woke up, it was 5 degrees.  So, whoever is in charge of these things, please stop with the order of magnitude temperature changes in 8 hours.

That is all.

the affero public license

After Chris Grubbs and I finished up our work on phlombay.com for a class project about a year ago, we released what little code there was under the Affero Public License.  My reasons were strictly idealogical, and I assume Chris wasn’t going to be selling proprietary versions of the site, so he went along just fine.  However, since that time I’ve really wondered about the utility of license (as an aside, I’ve started work on phlombay again, but that’s another post entirely).

Unlike the GPL, the Affero stipulates that licensed software running on a network and providing a network or web service, must also provide the source.  So while Google is not required to release any modifications to (the GPL licensed) MySQL backing up their search, they would be required to do so were the software licensed under Affero (I think…but what if the DB server is merely accessible via a webapp…hmmm).

Regardless, I had wondered about the utility of this license.  However, that changed today after discovering some of the technorati services such as events and contacts.  These services parse a page looking for microformats and then generate the appropriate file for that microformat (i.e. a vCard or iCal file).  This is a perfect example of when code should be released under the Affero.  By providing the code backing up these services, Technorati would enable users to setup their own servers (to relieve load, enforce uptime requirements, etc) while also ensuring that any modifications would be available to the public.

Though many object to the viral nature of licenses like the GPL, this objection is somewhat neutered in terms of webservices.  Generally the service is available for  (as in beer) already.  Modifications to the code of this service probably serve no real monetary purposes; instead they improve the quality of the service.  Therefore, there is less of a reason to shy away from a viral license when releasing code that backs webservices.   Sure, in a perfect world we wouldn’t need viral licenses (or any licenses at all!), but that world is far off.  Until then, the GPL and the Affero GPL are handy intellecutal property hacks.

private methods are stupid

Today at work in a unit-testing-brown-bag-lunch-session, I spouted off about private methods, claiming that they are stupid.  I stand by my statement; private methods are definitely stupid.  However, my true feelings are a bit more nuanced.

If we assume we are associating a specific chunk of functionality with every method we write, then there is an overarching hubris associated with declaring a method to be private.  When we declare such a method to be private, we  predict the future, saying “only I, the privileged creator of this spectacular class will ever need this functionality.”

But, wait, aren’t there legitimate reasons to declare a private method?  What if a particular method leaves an object in an inconsistent state, debilitating all subsequent calls to “public” methods?  Should this dangerous method be marked private?  Perhaps.  Leaving aside arguments about the necessity to create such a method, there are other ways around the problem.  Convention, not language level constructs solve the issue nicely.  Python, for example, uses a leading underscore for “private” methods, and Smalltalk programmers sometimes place these methods in the “private” protocol.  And while I am not interested in metaphysical debates about what makes a system “object oriented” (I mean really, I think CLOS is perhaps the best OO system out there), with the examples of Smalltalk and Python, it is clear that private methods are not necessary for OO systems.

The argument that private methods are necessary to “protect” code is even sillier.  If we’re afraid of how other programmers might use our classes, then we shouldn’t bother programming.  Not only do these fears foster a sense of mistrust among programmers, but also, they are not easily eliminated.  In the most straightforward cases, users of our classes with access to the code may go through and mark useful methods public (note that loosening protection introduces no bugs in non-reflective code), or worse, copy and paste this functionality into another method entirely.   In more severe cases, the “nefarious” programmer will resort to introspection or disassemblers.

We programmers are tinkerers, and we should be willing to let ourselves tinker.  Sleep easy, and declare your methods to be public!

bailout!

Barack Obama becomes president

Barack Obama becomes president

Boingboing reports today on the staggering cost of the bailout(s) thus far.  However, it’s easy to get lost in such huge numbers.  What’s a million? billion? trillion?

Fortunately the google comes to the rescue and we can quickly figure that the cost is around $13,000 per person  (4 trillion divided by 300 million).

What would happen if we just gave that amount of scratch away?  What would everyone do with $13,000?

attack!

About a year ago I went to see the fine folks at the Loyola Health Center complaining of night time wheezing and shortness of breath when riding bicycles in sub 20 degree temperatures.  After the standard pregnancy test, I summited Mt. Nerdom and was prescribed an albuterol inhaler.  The ‘health care professional’ warned: “this does not necessarily mean you have asthma.”

In the interim I’ve used the inhaler an average of once a month.  However, all usage stopped during my time in Bloomington and quickly picked up after returning to Chicago.  Accompanying my most recent difficulty breathing is the standard allergy-based runny nose.  I now suspect Alice the Cat (see above) is the source of these problems.  In an attempt to alleviate my nasal symptoms I’ve tried the usual claritin but have also resorted to a netipot:

Do not be fooled by the pleasant music.  This is the nasal equivalent of water boarding.  And though the device does seem to work, the “see also: douche” in the wikipedia article on nasal irrigation is quite revealing.

I fear I must soon return to the doctor to find a more comprehensive solution.  Sebastian will not allow me to turn Alice the Cat into Alice the Stirfry, and I am not excited about the prospect of washing her once a week to reduce dander output.  With any luck, some pharmaceutical miracle can restore the cat-man balance while producing interesting side effects (I’m rooting for mood-swings and irritability).

reboot. v2.

Several months ago I explained how I was leaving Chicago to start my phd at Indiana University.  That’s what I did.  I packed up, headed south, and started with more school.  For a variety of reasons, though, I decided to leave my program.  I’m back in Chicago permanently and will be starting as a developer at Duo Consulting on November 3rd.

Some, upon hearing this news, treat me as though someone has died, and while this was a sudden decision, it was well thought out and the best for myself and those I love.  The last few weeks have been hectic, but I’m really looking forward to my new job and life in Chicago.