my 31st year: a retrospective

Kragen Javier Sitaker kragen at pobox.com
Wed Nov 28 00:14:19 EST 2007


My 31st year of life began November 18th, 2006, and ended Novenber
18th, 2007.

Just before this year began, I arrived in Argentina, which is now my
home.  I spent most of the year in Argentina, although I also went
back to the US for three months, and visited Uruguay for a few weeks
and Chile and Brazil for a week each.

The biggest thing I've done this year is that I've learned Spanish.  I
now feel comfortable saying that I can speak Spanish, even though I
still have to ask for a lot of clarification.  Surprisingly, on my
trip to Brazil for the International Free Software Forum FISL, I was
able to understand a surprising amount of the Portuguese spoken at the
conference, thanks in large part to my wonderfully helpful and
supportive fellow members of CouchSurfing, but also the similarity
between Portuguese and Spanish.

I had a lot of other memorable experiences:

- I wrote a draft of an essay called, "What's Wrong With HTTP?" about
  how to replace much of the current web with decentralized social
  software.

- I wrote a draft of an essay called, "the end-to-end principle in
  human society: scholarly writing and freedom of speech", which got a
  lot of good feedback, but needs a lot of work.

- I wrote an essay entitled, "my evolution as a programmer," which
  several people have liked a lot.

- At the beginning of the year, on my birthday, I participated in what
  may have been history's largest pillow fight, the Lucha de Almohadas
  Buenos Aires.  There were several thousand participants (nobody
  knows how many exactly) and it went on for several hours.  I
  probably lost some parts of my brain to vascular damage during this
  fight --- I was pretty punch-drunk by the end.

- Beatrice and I went to the two weddings of four dear friends: Sarah
  Torpey, Johann Hibschman, Mary Corey March, and Topher Saari.

- Beatrice and I celebrated our fourth wedding anniversary and the
  sixth anniversary of our meeting.

- I visited Itaipú dam, which was at the time the largest
  hydroelectric power plant in the world, and which is orders of
  magnitude larger than any other machine I've ever seen.  I stood in
  a room with a single rotating turbine shaft that supplied
  approximately the entire electricity demand of Paraguay, one of
  twenty such shafts in the plant.  This degree of centralization is,
  I think, an outdated relic of the twentieth century --- it creates
  vulnerabilities to coercion --- but I'm glad I got a chance to see
  it.

- Some thief privatized my laptop (a lovely Thinkpad that was a gift
  from Jesse Andrews) early in the year, here in Buenos Aires.  I've
  bought a couple more older Thinkpads for US$300 each since then, but
  they aren't nearly as nice.

- The hard disk on my main server crashed.  I ran the machine off
  LNX-BBC for several months, but I still haven't properly recovered
  it.

- I became acquanted with tango nuevo music like that of Supervielle
  and Tanghetto.

- With my friend Nadia, I went to my first milonga, although I didn't
  try to tango because I didn't know how.

- I went to the Feria de Libros, the world's largest retail book fair.

- I broke my front fork and flew over the handlebars of my bicycle,
  just a few weeks ago.  I was unhurt, but getting the rest of the way
  home took a while.

- I got my first MRI, as part of a neuroscience experiment at the
  University of California at San Francisco on how visual perception
  works.  This accounted for my entire income for the year, which I
  think was US$60.

- Beatrice got her first MRI as well.

- I got my first speeding ticket in years.

- I met Beatriz Busaniche, one of the most important free software
  activists in the world; she has in the past done a number of
  important jobs at the Free Software Foundation, Latin America, and
  is currently working with Fundación Via Libre.

- I wrote my first program on an OLPC XO laptop prototype, a graphics
  hack for its Open Firmware boot PROM.  (The laptop in question
  didn't have a working operating system installed at the time.)

- I wrote my first interesting programs in the programming languages
  OCaml, Forth, and 386 assembly.

- I got Bicicleta to a point where it could run some programs, and
  wrote a metacircular interpreter in it to clarify its semantics.

- I went to a number of conferences and unconferences: a couple of
  SuperHappyDevHouses, the Bar Camp Block Party for the anniversary of
  the original Bar Camp, the FISL I mentioned before, Bar Camp Buenos
  Aires, Wiki Wednesday, Dorkbot, and the CaFeConf free software
  conference here in Buenos Aires.

- I moved into an apartment across the street from Buenos Aires's
  first skyscraper, a gorgeous Art Deco thing that currently houses
  the Sofitel.

- I saw a lot of live music performances.  A couple of performances of
  Kevin Johansen and the Nada, Roger Waters, a couple of Pink Floyd
  imitation bands, New Order (at Personalfest), the national symphony
  orchestra, Supervielle (at Personalfest and later at the ND/Ateneo),
  some jazz band, Tanghetto, and some other things I've forgotten.

- I did my first install of OpenWRT on a Linksys WRT54GL.

- Beatrice and I took care of a vacant hotel belonging to a friend of
  her family for three months.

- I lived with a fairly minimal volume of physical possessions for
  most of the year.

- Beatrice and I spent three months couchsurfing with generous friends
  in the San Francisco Bay Area, a bounty for which I am immensely
  grateful; it was equaled only by the opportunity to spend time with
  so many people I care deeply about.

- I seem to have nearly healed the anal fissure that had been plaguing
  me since 2001.  It's only bled once in the last few months.

- I did my first interesting computer hardware hack, modifying an
  instance of Limor Fried's minipov2 to be able to sense light with
  one of its LEDs: http://pobox.com/~kragen/light_sensing/

- I designed my first font, starting with my handwriting:
  http://pobox.com/~kragen/oilpencil/ --- I use the "pencilitalic" as
  the default font for my web browsing now, even though it leaves a
  lot to be desired.

- I spent some time reading and providing comments on drafts of my
  friend Linley's book, "Who's Afraid of Marie Curie?", which I
  strongly recommend.

- I met Andrew Cooke and his partner Paulina for the first time, after
  corresponding with them occasionally for many years.

- I met Darius Bacon for the first time, after corresponding with him
  occasionally for many years.

- Beatrice and I hosted a series of "creativity labs" where a variety
  of artsy people got together to discuss their creative processes and
  try all kinds of goofy exercises to see if they would help.

- I visited New York for the first time in my life, with the exception
  of sleeping through it on the train between D.C. and Boston a couple
  of times a few years ago.

- Had lunch with Jonathan Edwards, who is working on Subtext, a system
  based on ideas similar to Bicicleta, at MIT.  This is the second
  time I'd had a chance to meet up with him.

- I went to RoboGames, which is the new name for Robolympics, where I
  saw robots fighting each other.  One of them caught on fire.

- I was called a slut for probably the first time in my life.  It was
  meant in a nice way (the utterer would wear the same title proudly),
  but I don't think it was really deserved.

- I went to the Fire Arts Festival and saw Dance Dance Immolation, the
  Flaming Lotus Girls' Serpent Mother, and a production of the Odyssey
  that included lightning from giant tesla coils, aerial dance with
  silks, a woman doing unbelievable contortions supported entirely by
  her teeth, ballet, break dancing, opera, giant fireballs rolling
  toward me, fire dancing, and ten-meter-tall welded sculptures.

- I saw Mother and Child, the prototypes for those ten-meter-tall
  welded sculptures, in their new home along the waterfront in San
  Francisco.  They look much smaller underneath the Bay Bridge than
  they did when I first met them, alone at the end of a kilometer of
  flaming footprints in the middle of the desert.

- I learned to make empanadas.

- I helped my friends Chip and Annie move to Colorado, my friend
  Elaine move to Arizona, and my friend Celeste move across town.

- I helped build robots for the OrbSwarm.

- I saw the CandyFab 2000, the first of a new wave of low-cost 3D
  printers, at Dorkbot.

- I watched my first Ultimate game, and the first soccer game I'd seen
  in a long time.

- I visited the Palace of the Legion of Honor and saw a number of
  Rodin sculptures for the first time.

- In Buenos Aires, I participated in a Hacklab for the first time;
  this is where I modified my minipov2 to be able to sense light.

- Here at a screening in Buenos Aires, I saw Youth Without Youth, a
  really intense and enjoyable film, but I think I will have to see it
  again to understand it.

- I made my first SIP phone call from my own computer.

- I won Prince of Persia (the original) for the first time.  I played
  Ur-Quan Masters for essentially the first time.

- I learned to bark like a dog, quite realistically.

- I read a lot of Forth systems: eForth 1.0, Bill Muench's later ITC
  eForth, parts of F-83, and Rich Jones's Forth implementation written
  in gas.

- During our first year (minus three months) in Buenos Aires, we have
  been visited by seven friends from the US, and six more have either
  visited since my birthday or will visit in the next few months.

- I read a bunch of books and papers; among them:
  - the beginning of Yochai Benkler's Wealth of Networks, which I
    think describes an economic change as fundamental as that of its
    namesake
  - most of Olin Shivers's dissertation about ORBIT, but I think I
    need to read it again a time or two to understand it
  - Craig Chambers's and Urs Hölzle's dissertations about Self
  - Ronald Coase's original paper in which he proposed the idea of
    transaction costs
  - Feeley and Dubé's PICBIT paper
  - Dan Bernstein's "10 years of qmail 1.0" paper
  - Naylor and Runciman's "Reduceron" paper, which explains how they
    think they can get Haskell to run five times faster than C on a
    Pentium by compiling it into FPGAs, because they got it to run
    half as fast on a five-year-old FPGA with a thirtieth of the
    Pentium's clock rate
  - Kiczales' "The Art of the Metaobject Protocol," which I had wanted
    to read for years and which Andrew Cooke was kind enough to lend
    me;
  - Vernor Vinge's "Rainbows End", which had been recommended to me
    before, but which is now on the web at vrinimi IIRC
  - Frank Herbert's "Dune" again, after reading the following item:
  - the first ever book of literary criticism that I bothered to
    finish: Tim O'Reilly's exegesis and analysis of the Dune trilogy.
  - "All you wanted to know about the HiPE compiler (but might have
    been afraid to ask)"
  - a bunch of papers about new Bentonite clay composite materials
  - Abdulaziz Ghuloum's wonderful tutorial on an incremental approach
    to compiler construction
  - Alexey Karpenko's report on the weather balloon he, his dad, and a
    couple of friends launched to 32km in elevation, in the lower
    stratosphere
  - All the stuff in the "Project Rho Atomic Rocket" repository, about
    how to calculate plausibility for hard-science space operas
  - part of Raph Levien's dissertation
  - the "Haaarg, world!" series of blog posts, about teaching a
    six-year-old to program in Python
  - some documents about the SCORE project to produce a thermoacoustic
    "Stove for COoking, Refrigeration, and Electricity" for the
    world's poor
  There were a lot of others; these are mostly from the last few
  months.

- I wrote a bunch of little bits of software, mostly in the nature of
  exercises:
  - a simple real-time 3-D rendering engine in 350 lines of JavaScript
  - a Lisp 1.5 interpreter in under 4kB of C (this is much larger than
    Lisp interpreters that have been entered into the IOCCC in past
    years)
  - a lambda-calculus interpreter in about 600 lines of JavaScript,
    using combinator graph reduction and therefore running painfully
    slowly; this was on top of the combinator graph reduction engine I
    had written earlier.  Maybe the most interesting part of this is
    that it includes a shift-reduce bottom-up parser in which it is
    practical to manually write out the reduction rules
  - Some DHTML translations of some old kragen-hacks posts
  - A sort of étude on various approaches to laziness in Python
  - A DHTML sketch of part of the Bicicleta UI
  - A DHTML program to draw curves of Lamé
  - A grayscale version of Naor and Shamir's visual one-time pads, in
    140 lines of Python and PostScript
  - A toy interpreter of a subset of APL in 250 lines of OCaml
  - A little dynamic query view thing in DHTML to help me buy a
    laptop
  - A boolean expression evaluator in the Gaim text replacement
    plugin, which is only intended to correct common misspellings as
    you type, but turns out to be able to do arbitrary computation
  - Real-time audio harmonic synthesis in 30 lines of Python with
    Numeric and PyGame
  - A tiny stack-machine bytecode interpreter in 386 assembly --- I
    can't call it a Forth interpreter yet

- I finished transcribing George Soros's Google talk on "The Age of
  Fallibility".  Although I can't find the final third of it at the
  moment, and haven't posted it online yet.

Frustrations
------------

I feel a little frustrated with how little I've been accomplishing.
I attribute that to the following causes:
- not keeping my surroundings in order; e.g. keeping servers running,
  computer files findable, backed up, and on my laptop where
  appropriate, papers properly filed, search indexes updated, mail
  readers efficient, laptops in physically operable condition, clothes
  washed and put away so I don't waste time finding them, etc. (This
  is not as bad as it sounds; the apartment usually needs a few
  minutes of picking up to make it neat enough to be proud to show to
  company, but there are never piles of stuff lying around on the
  floor, except in the designated Dirty Laundry Area.)
- not following through; I've started many more little projects than
  I've finished.  In many cases the trigger for this seems to be
  realizing that the project is either going to take much more effort
  than I expected, or that it is not going to be as good as I had
  expected.
- paradoxically, another cause is following through on the wrong
  things --- winning Prince of Persia, for example, which took several
  hours of puzzle-solving that I could have perhaps more productively
  spent on getting a server back up and running.  In the larger scheme
  of things, this is the thing that costs most people their careers:
  they spend their entire careers working on things that don't matter
  very much.  (I don't mean that they don't have careers as a result;
  I mean that they waste their entire careers.)  For example, the vast
  majority of software that has been written has been discarded after
  being used by only a few people for a short time, and many people
  have spent their careers writing that software.
- spending too much time "preparing" (e.g. reading, sketching, asking
  for feedback) and not enough time actually making stuff.  I think.
- I don't have a really good social support structure to help keep me
  motivated to do interesting stuff.  In a way, this is part of the
  objective of living in Buenos Aires --- I think that a lot of the
  things that excite people in Silicon Valley are kind of stupid, but
  when I'm there, I share in that same excitement.  But, like everyone
  else, I benefit greatly from collaborators and mentors.  I can't
  blame my current status on the environment; among others, Aaron
  Swartz, Andrew Cooke, Aristotle Pagaltzis, Benjamin Sergeant, Ben
  Sittler, Christoph Toshok, Danny O'Brien, Darius Bacon, Eric
  Tiedemann, Eugen Leitl, Jason Evans, Jo Walsh, Leito Monk, Matthew
  O'Connor, Michael Leonhard, Perry Lorier, Pupeno, Richard
  Uhtenwoldt, Rohit Khare, Ryan Tomayko, Seth Schoen, Shae Erisson,
  Slava Pestov, Stefan Sittler, Strata Chalup, Zooko O'Whielacronx,
  and especially Dave Long and Jesse Andrews, have all been generous
  with their time in sharing their expertise and helping me with my
  own pet projects, but I haven't been nearly as responsive and
  appreciative as they deserve; and if I were to work on, say,
  software that other people were already using, then I would probably
  get a lot more motivating responses.

I was extremely social during the three months in the Bay Area, and
immediately after coming back; during that time, I didn't achieve very
much toward my larger goals, nor did I keep up with email.  Now I feel
that I've let the pendulum swing a bit too far back the other way;
although I still talk with dozens of people in the course of a normal
day, I haven't followed up on my contacts from various conferences; I
haven't established working relationships with local free-software
organizations; I haven't found a way to fulfill my moral obligation to
share what knowledge I have by teaching --- haven't even become
acquainted with the local educational system really; I haven't put
most of my little software projects in a demoable state, and
explaining them is a lot harder than demoing them would be.



More information about the Kragen-journal mailing list