diary of an aspiring grad, part ii

There is no time for a haiku!  I want to share the exciting news that I got accepted to UC Berkeley for their PhD program in Electrical Engineering and Computer Science!  And that they will give me full funding, assuming that I maintain good academic standing.  Yeeha!



:D :D :D :D :D :D :D :D


wherever you go...

Lost, oh, my goodness,
Winding beyond the call of...
Anything, really.

We busted out our enormous paper map collection today to see how far we actually went on our bike trip.  Our initial estimate (based on our super old map) was 10,000km for the trip, but as we progressed we realized that we were going somewhat further than that.  During the trip we upped the estimate for the whole shebang to about 11,000km, but we're suspicious that even that is a gross underestimate.

We didn't make it through more than a few days on our mapmyride account, but going through that stack of maps is just heartbreaking.  Our route between Hamburg and Bremmen was about 240km, and according to GMaps the most efficient route (even avoiding highways/taking walking directions) is 110km.  We were so lost.

Anyway, it's fun in a way to do this.  I'm excited to see how the totals finally turn out when we get a bit further with the project!



Bits and bobs get lost,
Scattered at random among
Other things.  But no more!

There are many kinds of trees, but for day 7 today we decided to create an earring tree to hold all my little dangly dudes.  We originally had a plan for a pretty epic metal contraption involving screen door screen, but when I was in the fabric store today I had an epiphany and realized that it would be about 1,000,000 easier to just buy an embroidery hoop and some sexy fabric and stick those suckers through.  We also got some ribbon with little rings sewn in that may be useful for holding necklaces, but since we're not allowed to hang things on the wall yet, anyway, we're holding off on that part.

Also, Fried left this morning!  Sad!  He even did our dishes before leaving.  And he left us with some delicious German chocolate!  If you ever have a chance to host this guy, seriously do it.



What do you get when you combine a $7 painting from Goodwill with $0.07 of craft lace?

Obvious question: just what is that?

Fun is the primary goal of thing-a-day; that said, it also creates a prime opportunity to improve our space in a more practical way. This bargain-basement contraption is none other than our new laundry drying rack. We originally envisioned a freestanding rack with legs (from an ironing board, say) but quickly realized that we could just as easily set this frame across our bathtub.

Which brings me to an important point about thing-a-day (and life in general): simplify where possible. Judging by the semi-official thing-a-day site, this annual creative sprint is not meant to become a second full-time job; half an hour per day is all it takes to build something simple, cool, and possibly functional. (Also remember the famous dictum: form follows function.)



Typing comes later,
For now, markers!  Be a child!
Whimsy does belong.

For day 5, we sat down at Noisebridge to hash out ideas for a website.  We are going, sometime in the hopefully not-too-distant future, to be moving this blog and all of our goodies to fearlesstost.com, and we wanted to come up with a fun site concept together (since Evan did most of the biketotheearth site back in the day).  We managed to pull ourselves out of technical details (writing a blog isn't that hard, anyway) to come up with a fun splash page:

So our blog will be organized into sections: one section for travel (the plane), one for robots (the robot Godzilla), one for our D&D campaign (the Godzilla dragon), one for SF itself (the bridge), one for plants (the island of trees), one for crafts (the craft shop), one for business/resumes (the businessman), one for cycling (the biker chick), one for music (the breakdancing dude), one couchsurfing/warmshowers (the dude on the couch), one for programming (the people on laptops), and one for our kitchen/recipes (the kitchen).  We felt that the whiteboard-like theme was representative of the fact that we feel our site isn't really going to be "refined."

We cleaned it up and are posting it on fearlesstost.com.  The links don't go anywhere yet, but it's a start.  (p.s. in the image below, the grey boxes just mean that it's transparent)


memories of up north

San Francisco is a beautiful city, but there's one thing it's not exactly known for: snow. Last time snow graced the skies above SF: 1976. Last time before that: 1887. What are two relative newcomers from places with real winters to do?

Okay, so maybe not as fun to play with as real snow - but these snowflakes are a welcome addition to our studio apartment!



Sand slips twixt fingers,
They pause, examine a rock,
Tracing changing waves.

Thing-a-day day 3: Zen rock garden!  It was a fairly quick project (I guess they're supposed to all be, but we have some more involved things planned); basically we took a bike ride to the beach and got some sand, then borrowed some rocks from planters around the area, broke a comb in half and bent every other tooth back to make it function as a rake, and arranged our garden in an eye-pleasing manner.  The dish was something we got at Goodwill for $4.49, and the rest of the stuff was free.  Yay!

In other news, we had a Couchsurfer arrive today!  He is our second.  His name is Fried, and he's a high school student from Germany who recently graduated and is thinking about studying computer science.  He seems bright enough... and we'll try to indulge his leanings with some tours around the Valley tomorrow.


Two of them, actually. This is our thing-a-day project for Feb. 2: DM screens designed for an Internet-based D&D campaign we have planned. Pics below:

We had boatloads of fun drawing and coloring these. Next up: a Zen rock garden! More to come.

xhp + python == xhpy

You can say what you want about the moral/ethical/epistemological/whatever implications of Facebook, but they build some cool stuff - and, to their credit, they open source a lot of it. In that vein, they developed XHP as an extension to PHP that allows developers to use XML literals in PHP code.

Like most things, web development follows fads. Rewind a bit: AJAX was the poster child of next-generation web development. Then it was SOAP and other sundry XML-based services. Location and real-time are currently hot topics among the Web 57.0 crowd. In the process, XML fell out of favor, replaced by fancy new data transport formats like JSON and (for your performance-obsessed backend service writers) flexible cross-language interface definition languages like Thrift and protobuf.

Okay. So XML sucks, blah blah blah. Why would you want to hack support for it into PHP, much less Python?

Let me say this: using XML as a templating language is far, far different from using it as a data transport mechanism. For the latter, it's impossibly verbose. For the former, however, it's incredibly natural; if you've done any web development, you've already been using a (less strictly-validated) version of XML.

Fine. Writing XML is like writing HTML. Why should I care?

  • With XHPy (which, for lack of a better name, is what I'm calling this XHP-Python hybrid), you can write your own tags. It's like an extensible version of HTML without all that XSLT crap, expressed in a relatively natural Pythonic syntax.
  • XHPy takes care of HTML escaping automatically, and you can always define tags to perform other escaping/internationalization/general string transformations.
  • XHPy allows you to build templates without requiring external templating languages, template files, or any of that nonsense. In this sense, it is a templating language, but it's a templating language that integrates tightly with Python itself.
Alright, enough ranting about the virtues of XHPy. If you're curious, the repo is up on my github page; I'm currently working on easy_install integration, but for now you'll have to git clone the repo and add it to your PYTHONPATH.

Enjoy! I hope this benefits someone out there; as usual, bug reports/fixes and comments are always welcome.


hourly comic day

These penned images
Speak for themselves, so look!
Look upon them now!

Look, I don't feel like writing a haiku.

Today was the first day of thing-a-day!  We started off the month with the lovely Hourly Comic Day that we've mentioned before.  All of our scanned comics can be seen as a nice collection at http://picasaweb.google.com/biketotheearth/Hourlies#.  Otherwise, you can just look at them spamming the bottom of this post.

It was a neat thing to do hourly comic day; it meant taking a few minutes out of each hour to both relax and to reflect on what was happening.  It's something that people don't necessarily do that often.

Plus, I like drawing.  :D

Without further ado, Fearless Tost's hourly comics: