<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>wednesday night / latest ramblings</title>
  <link rel="alternate" type="text/html"            href="http://wednesdaynight.org/diary" />
  <link rel="self"      type="application/atom+xml" href="http://wednesdaynight.org/diary.atom"/>
  <generator uri="http://wednesdaynight.org/" version="0.1">wn.php</generator>
  <updated>2008-08-28T17:50:07+00:00</updated>
  <id>tag:wednesdaynight.org,2008:diary</id>
  <entry>
    <title>why i love developing on linux</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/8/28" />
    <published>2008-08-28T17:49:59+00:00</published>
    <updated>2008-08-28T17:50:07+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-08-28-1</id>
    <content type="html"><![CDATA[
<p>

  so, where to start.  i want to put an animation in a dialog.
  GtkImage can show a GdkPixbufAnimation.  sounds good so far.

</p>
<p>

  <a href="http://library.gnome.org/devel/gdk-pixbuf/stable/gdk-pixbuf-animation.html#gdk-pixbuf-animation-new-from-file">gdk_pixbuf_animation_new_from_file()</a>?
  well, i'm embedding the pixbuf data in my binary; not loading from a
  file.

</p>
<p>

  <a href="http://library.gnome.org/devel/gdk-pixbuf/stable/gdk-pixbuf-animation.html#gdk-pixbuf-simple-anim-new">gdk_pixbuf_simple_anim_new()</a>
  would be great, but we're targetting gtk 2.4, so it's out.

</p>
<p>

  so, in a sane library, i'd be able to implement my own animation
  object that i load myself, but thanks to gdk-pixbuf's opaqueness, i
  simply cant.  but thank god the manual has an extensive section on
  the <a href="http://library.gnome.org/devel/gdk-pixbuf/stable/apas02.html">differences
  between imlib and gdk-pixbuf</a>.  it's really comforting right now.

</p>
<p>

  ok, so i have to handle the loading and timing myself.  this is more
  than just &lt;img src=, but at least it's in C, so it's fast, right?

</p>
<p>

  so, i probably don't need to run my timer when the dialog's not
  visible; do i connect to show, realize, map, or map-event?

</p>
<p>

  i guess i'm just a little extra cranky this morning because, when i
  type my password wrong, SLED takes <b>thirty earth seconds</b>
  before i'm allowed to try again.  it's almost faster to just reboot.
  i mean, it <i>should</i> be, if that weren't so slow.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>August 26th, 2008</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/8/26" />
    <published>2008-08-27T06:24:11+00:00</published>
    <updated>2008-08-27T06:24:16+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-08-26-1</id>
    <content type="html"><![CDATA[
<blockquote>
  <p>

    <a href="http://www.pbs.org/newshour/bb/politics/july-dec08/warnerspeech_08-26.html">Think
    about it: after September 11th, if there was a call from the
    president to get us off foreign oil to stop funding the very
    terrorists who had just attacked us, every American would have
    said, &quot;how can I do my part?&quot; This administration failed
    to believe in what we can achieve as a nation, when all of us work
    together.</a>

  </p>
</blockquote>
<p>

  i guess one thing that has disappointed me about this year's
  radiohead tours is that for how much they played stuff off the first
  in rainbows disc, they've really neglected the second.  down is the
  new up, last flowers, up on the ladder, 4 minute warning... when the
  acoustic guitar comes in in go slowly, and it feels like some pink
  floyd song, these would have been great on the road.  oh well.

</p>
<p>

  they did play bangers + mash, but i don't really like that one.

</p>
<blockquote>
  <p>

    <a href="http://www.songmeanings.net/lyric.php?lid=3530822107858556871">It's
    too much; too bright, too powerful: too much.</a>

  </p>
</blockquote>
]]>
    </content>
  </entry>
  <entry>
    <title>and truckdrivers!</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/8/25" />
    <published>2008-08-26T07:33:11+00:00</published>
    <updated>2008-08-26T07:33:16+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-08-25-1</id>
    <content type="html"><![CDATA[
<p>

  as i turn the corner into hour three of PBS's convention coverage
  (this is already after a full news hour), it occured to me that a
  couple of weeks ago, i spent this long... <i>running</i>.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>my favorite band is a witch</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/8/24" />
    <published>2008-08-26T03:15:15+00:00</published>
    <updated>2008-08-26T03:15:20+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-08-24-1</id>
    <content type="html"><![CDATA[
<p>

  three (or four) awesome bands, a few yards from the stage, and all i
  had to do was stand for seven hours.  i think BSS peaked with 13
  people on stage during ibi?  it's been a while since i've seen them
  with their full setup of five guitars + horns.

</p>
<ol>

  <li><a href="http://www.youtube.com/watch?v=g1GSpf65UKs">Pacific Theme</a></li>
  <li><a href="http://www.youtube.com/watch?v=nuEu_V5sLgg">KC
  Accidental</a></li>
  <li><a href="http://www.youtube.com/watch?v=EUGu666fUfM">7/4 (Shoreline)</a></li>
  <li><a href="http://www.youtube.com/watch?v=ty1wtankKhE">Farewell to
  the Pressure Kids</a></li>
  <li><a href="http://www.youtube.com/watch?v=RblETYsHq64">Fire Eyed
  Boy</a></li>
  <li><a href="http://www.youtube.com/watch?v=YiUzspjqiNM">Churches
  Under the Stairs</a></li>
  <li><a href="http://www.youtube.com/watch?v=SbVzMSnr5Ig">Love is
  New</a>
  <li><a href="http://www.youtube.com/watch?v=L7FC28tMkMU">Anthems for
  a Seventeen Year Old Girl</a></li>
  <li><a href="http://www.youtube.com/watch?v=ZHX6Pg1Rsag">Ibi Dreams
  of Pavement</a></li>

</ol>
<p>

  i'm pretty sure i'd be able to find myself in some of the wide
  shots, if it wasn't youtube-quality.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>don't lose your nerve</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/8/23" />
    <published>2008-08-24T07:12:36+00:00</published>
    <updated>2008-08-24T07:12:47+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-08-23-1</id>
    <content type="html"><![CDATA[
<p>

  there was that moment, complete silence with the trees around, the
  trees and thom's reverby voice, and light guitar, and for those
  brief minutes, that was it, this is amazing, and the rest of the
  show, the rest of the year, will not be as amazing, but right now
  it's amazing, just when you thought it couldn't be, it's possible.

</p>
<p>

  the crowd was very behaved, except for the two women i actually
  shushed during exit music (hey, that's what they do in europe), and
  i even enjoyed talking to the couple next to me (between songs, of
  course).  they'd seen them the other day in seattle, where they
  played talk show host, and vancouver, and APW which i should have
  gone to, because they played kid a, which i didn't hear this summer.
  but it wouldn't be the same, it will never be the same, something
  has been lost.  anyway, i &quot;mentioned&quot; i saw them in dublin
  - <i>the rainbow show?</i>, yeah! - and then i made my dutiful pitch
  for broken social scene but they already knew.

</p>
<p>

  and even though wikipedia doesn't list it in its this-day-in page,
  have a safe, healthy, and, most importantly, a very
  happy <a href="http://en.wikipedia.org/wiki/Windows_95">windows 95
  day</a>!

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>tired</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/8/20" />
    <published>2008-08-21T06:07:50+00:00</published>
    <updated>2008-08-21T06:07:54+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-08-20-1</id>
    <content type="html"><![CDATA[
<p>

  not getting enough sleep lately, oh well.  i got a new bike lock
  friday, but the rack by work is too thick, and i couldn't lock my
  front whell with it, so that followed me upstairs to the office.
  during the day i noticed some tire damage, i assume from the move,
  so on my way home i stopped by
  the <a href="http://www.thefreewheel.com/">local bike shop</a> for
  some replacements.

</p>
<div class="picture"><img src="http://wednesdaynight.org/2008/08/tired.jpg" alt="" /></div>
<div class="picture-caption">they had some yellow ones too, but
				 that would be crazy</div>
<p>

  i asked the guy why all the people who ride <i>fixies</i>
  have <a href="http://flickr.com/search/?q=aerospoke+fixie&amp;s=int&amp;z=t">aurospokes</a>
  and stuff.  he said it's just cause they look cool.

</p>
<p>

  here are the only two pictures i guess i took during my two weeks in
  europe:

</p>
<div class="picture"><img src="http://wednesdaynight.org/2008/08/sockets.jpg" alt="" /></div>
<div class="picture-caption">first day, in my hotel in limerick</div>
<div class="picture"><img src="http://wednesdaynight.org/2008/08/gare-du-nord.jpg" alt="" /></div>
<div class="picture-caption">last day, getting ready to
					leave paris</div>
<p>

  i had an awesome burrito today: prawns are <i>definitely</i> the new
  fish.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>welcome to san francisco</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/8/17" />
    <published>2008-08-18T09:09:53+00:00</published>
    <updated>2008-08-18T09:09:57+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-08-17-1</id>
    <content type="html"><![CDATA[
<div class="picture"><a href="http://off.net/diary/2008/06/11/welcome-to-barbados/" title=""><img src="http://wednesdaynight.org/2008/08/weather.png" alt="" /></a></div>
<div class="picture-caption">official motto: <i>perfect consistency is its only reward</i></div>
]]>
    </content>
  </entry>
  <entry>
    <title>i wonder how many js_Invoke()s i can get on the stack...</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/8/17" />
    <published>2008-08-18T09:09:53+00:00</published>
    <updated>2008-08-18T09:09:57+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-08-17-2</id>
    <content type="html"><![CDATA[
<p class="console" style="white-space: pre;"
>#8  0x1808ac0a in nsJSContext::EvaluateString
...
#20 0x001c5a63 in js_Invoke
...
#45 0x001c5a63 in js_Invoke
...
#55 0x001c59ee in js_Invoke</p>
<p>

  i should really go to bed.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>G_GNUC_CONST considered harmful</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/8/16" />
    <published>2008-08-17T06:46:50+00:00</published>
    <updated>2008-08-17T06:47:03+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-08-16-1</id>
    <content type="html"><![CDATA[
<p>

  some sort of epic plague has set upon gtk, and it's time someone
  said something about it: <i>why are _get_type() functions declared
  G_GNUC_CONST</i>?

</p>
<p>

  to
  wit: <a href="http://svn.gnome.org/viewvc/gtk%2B/trunk/gtk/gtkentry.h?revision=20900&amp;view=markup">GType
  gtk_entry_get_type (void) G_GNUC_CONST;</a>


</p>
<p>

  <i>glib's own documentation</i>
  has <a href="http://library.gnome.org/devel/glib/unstable/glib-Miscellaneous-Macros.html#G-GNUC-CONST:CAPS">this
  to say on the matter</a>:

</p>
<blockquote>
  <p>

    Likewise, a function that calls a non-const function usually must not be const.

  </p>
</blockquote>
<p>

  &quot;usually must not&quot; is a little passive-aggressive for api
  docs, but anyway these _get_type() functions almost all call
  g_type_register_static_simple, <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#g-type-register-static-simple">which
  is not const</a>.

</p>
<p>

  anyway, the problem is if you have code like this:

</p>
<p class="code" style="white-space: pre;"
>GTK_TYPE_ENTRY;
g_print (&quot;%s\n&quot;, g_type_name (g_type_from_name (&quot;GtkEntry&quot;)));</p>
<p>

  it may or may not work, depending on your optimization level. if you
  ignore the return value of a G_GNUC_CONST function, gcc -O2 will
  happily optimize it out, as i
  discovered <a href="http://code.google.com/p/ilovegom/source/detail?r=16">long
  ago</a>.

</p>
<p>

  the <strike>fix</strike> workaround is to pass the return value from
  the const call into a function that is not declared
  const; <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#g-type-qname">g_type_qname</a>()
  fits this bill rather nicely.

</p>
<p>

  well, i'm sure they have a good reason.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>another eight weeks</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/8/16" />
    <published>2008-08-17T06:46:50+00:00</published>
    <updated>2008-08-17T06:47:03+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-08-16-2</id>
    <content type="html"><![CDATA[
<p>

  it's taken two months, but my name is finally on the outside of my
  office.  it's not painted on the door, or etched into anyway; just a
  simple printout.  but now maybe people will stop calling me amy.

</p>
<p>

  it's still sort of weird working for a proprietary company.  just
  about nothing i worked on at novell ever got released, or looked at
  by anyone other than myself, so i didn't think it would be a big
  change.  but at an employee meeting the other day they were
  recognizing people who'd registered software patents.  the
  juxtaposition between the cheering there and the reaction most of my
  normal friends have to software patents is quite striking.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>square one</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/8/16" />
    <published>2008-08-17T06:46:50+00:00</published>
    <updated>2008-08-17T06:47:03+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-08-16-3</id>
    <content type="html"><![CDATA[
<p>

  after <a href="http://wednesdaynight.org/diary/2008/8/12" title="">my previous failure</a> with
  XPCOM, a helpful person on #content pointed me
  at <a href="http://developer.mozilla.org/en/docs/XTF">XTF</a>.
  don't let the sparse documentation and lack of examples frighten; in
  my experience those are signs that you are <i>on the road to
  glory</i>.

</p>
<p>

  basically, it lets me register an object that gets called when
  elements with a specific namespace are encountered in a document,
  and i can create an object that is effective aggregated with that
  element.  <a href="http://code.google.com/p/ilovegom/source/browse/trunk/gom/examples/hello.gom">since
  i use namespaces</a>, this is exactly what i have been looking for
  this whole time.  and it looks like it'd be pretty easy to add
  support for other libraries, if you are interested in
  some <a href="http://view.sourceforge.net/">incredibly erotic
  widgets</a>.

</p>
<p>

  unfortunately, though, this means throwing out just about every line
  of code i've written since october, and more or less starting anew.
  the cost of progress, i guess.  and anyway, did i really want to
  maintain my own dom implementation?

</p>
<p>

  anyway, in a night or two i got it creating widgets, and setting
  their properties (including container child properties) working
  correctly.  i even have
  an <a href="http://code.google.com/p/ilovegom/source/browse/trunk/gom/src/xpgom/xgNavigator.js.in">nsIDOMNavigator
  implementation written in javascript</a>.  pretty awesome!  anyway,
  i think the difficult legwork in getting scripts working is done,
  but there's a little more work there that will have to wait for
  tomorrow.

</p>
<p>

  i am not quite yet ready to svn rm my old implementation; but that
  day is fast approaching...

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>the end of an erra</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/8/13" />
    <published>2008-08-14T13:39:54+00:00</published>
    <updated>2008-08-14T13:39:58+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-08-13-1</id>
    <content type="html"><![CDATA[
<p>

  one of the earliest memories i have of my move to boston is having
  breakfast at the greenhouse cafe after opening a checking account at
  the bank boston branch in harvard square.  i got checks w/o an
  address or phone number on them (since i had neither at the time),
  which i tried to use to buy my first laptop, that trusty n505ve.  of
  course, compusa didn't take checks so loper paid for it and i wrote
  him a check.

</p>
<p>

  of course, that was two mergers ago, and compusa isn't even around
  anymore.

</p>
<p>

  anyway, i just closed my bank of america checking account.  hooray!

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>those ivory tower eggheads have done it again</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/8/13" />
    <published>2008-08-14T13:39:54+00:00</published>
    <updated>2008-08-14T13:39:58+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-08-13-2</id>
    <content type="html"><![CDATA[
<p>

  kudos to the fine folks at suse, who have
  evidently <a href="http://www.gnome.org/~michael/blog/icecream.html">reimplemented
  distcc + mdns, poorly</a>.  as a refresher, to enable this on a
  modern unix requires no invocations of sed, or learning whatever the
  current package manager <i>du Tag</i> happens to be:

</p>
<div class="picture"><img src="http://wednesdaynight.org/2008/08/distcc.png" alt="" /></div>
<p>

  what's even more ridiculous is that <i>distcc is already
  open-source</i>.  what the hell, guys?  multicast dns-enabled
  (x)inetd probably is, too.  good going.

</p>
<p>

  their faq is full of awful english, and even worse jokes; i will not
  dignify it with a link, but two elements of FUD do merit addressing:

</p>
<blockquote>
  <p>

    you're changing compiler versions often and still want to speed up
    your compilation (see the ICECC_VERSION support)

  </p>
</blockquote>
<p>

  i... i don't know why you are changing compilers often.  i am not
  going to ask; i really don't want to know.  anyway, if your company
  hasn't figured out how to distribute a toolchain to its developers,
  dag has awesome distcc compiler packages for
  <a href="http://dag.wieers.com/rpm/packages/distcc-compilers-redhat/">red
  hat</a>
  and <a href="http://dag.wieers.com/rpm/packages/distcc-compilers-fedora/">fedora</a>.
  i used to use these when i had <a href="http://wednesdaynight.org/diary/2004/9/1" title="">a mini
  cluster in brookline</a>, and it was the best.  cross compilers
  were no problem, either; i also distributed x86 builds to my ppc
  macs.

</p>
<blockquote>
  <p>

    <b>most important</b>: you're sitting in a office with several
    co-workers that do not like if you overload their workstations
    when they play doom (distcc doesn't have a scheduler)

  </p>
</blockquote>
<p>

  it's 2008, guys.  if your workstation can't handle DooM on one of
  its cores while the other three are compiling compilers, well, i
  don't even know.  maybe if you had a stable kernel abi that didn't
  require recompilation of drivers for SMP and UP machines, you
  wouldn't have to spend so much time compiling?  just throwing that
  out there.

</p>
<p>

  also, it cannot go without saying that today was the first boston
  radiohead show of the millennium that i missed.  and they played kid
  a and a wolf at the door!  i can take some solace in the fact that i
  wouldn't be going to the smelly old tweeter center anyway, even if i
  wasn't in california.

</p>
<p>

  i will also take this opportunity to mention that tickets for
  radiohead's show IN TOKYO ON MY BIRTHDAY (WHICH IS ALSO THOM'S
  BIRTHDAY) go on sale august 23.  you know, if you happen to be
  shopping on the internet that day.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>a little disappointed</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/8/12" />
    <published>2008-08-13T05:47:43+00:00</published>
    <updated>2008-08-13T05:47:47+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-08-12-1</id>
    <content type="html"><![CDATA[
<p>

  i had been doing a few small improvements since my initial xpcom
  parsing success on friday, but a Document.importNode()-based
  solution is not a... solution.  today, i wrote
  a <a href="http://developer.mozilla.org/en/docs/SAX">SAX-based</a>
  parser in js, that just called my DOMImplementation's functions (why
  there isn't something in mozilla that can do that already had
  confounded me, but as you'll see, i'm no longer so naive).

</p>
<p>

  that was all well and good, until i got it working, and tried to use
  <a href="http://developer.mozilla.org/en/docs/SAX">XMLSerializer</a>
  to print out my dom tree.  that did not work.  you see, there is a
  pesky little function call nsContentUtils::CanCallerAccess(), which
  contains this:

</p>
<p class="code" style="white-space: pre;"
>nsCOMPtr&lt;nsINode> node = do_QueryInterface(aNode);
NS_ENSURE_TRUE(node, PR_FALSE);</p>
<p>

  unfortunately, while my objects support nsIDOMNode, they do not
  support nsINode; its header is not in the public sdk directory, and
  besides:

</p>
<p class="code" style="white-space: pre;"
>class nsINode : public nsPIDOMEventTarget {</p>
<p>

  that P doesn't lead me to believe i should be implementing it.

</p>
<p>

  ok, that's fine.  i can create a dummy document with DOMParser, and
  import my document into it, and then dump that.

</p>
<p>

  of course, nsDocument::ImportNode() has this:

</p>
<p class="code" style="white-space: pre;"
>nsCOMPtr&lt;nsINode> imported = do_QueryInterface(aImportedNode);
NS_ENSURE_TRUE(imported, NS_ERROR_FAILURE);</p>
<p>

  i'm sure i'll think of something in my sleep.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>it's almost as if it's trying to tell me something...</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/8/10" />
    <published>2008-08-10T22:06:37+00:00</published>
    <updated>2008-08-10T22:06:44+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-08-10-1</id>
    <content type="html"><![CDATA[
<p>

  i just let roomba clean my apartment for the first time, and it has
  apparently resorted to autovorism.  i found an arm from its
  <a href="http://store.irobot.com/product/index.jsp?productId=2822986">spinny
  brush</a> in its dust bin :(

</p>
<p>

  maybe it's
  also <a href="http://en.wikipedia.org/wiki/Starfish#Regeneration">regenerative</a>?

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>baby steps</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/8/8" />
    <published>2008-08-09T10:24:04+00:00</published>
    <updated>2008-08-09T10:24:12+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-08-08-1</id>
    <content type="html"><![CDATA[
<p>

  another late night hacking session to start the weekend.  i've
  managed to get enough of my xp<i>gom</i> binding going to be able to
  load some widgets:

</p>
<div class="picture"><img src="http://wednesdaynight.org/2008/08/xpgom.png" alt="" /></div>
<p>

  this is quite different from what i was doing before; i'm now using
  a &quot;real&quot; Mozilla XMLHttpRequest object to fetch a gom XML
  file.  then, i use my dom implementation to import the XHR's
  responseXML document element into a gom document.

</p>
<p>

  it is basically magic.

</p>
<div class="picture"><img src="http://wednesdaynight.org/2008/08/muni.png" alt="" /></div>
]]>
    </content>
  </entry>
  <entry>
    <title>back into the unknown</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/8/7" />
    <published>2008-08-08T08:15:56+00:00</published>
    <updated>2008-08-08T08:16:00+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-08-07-1</id>
    <content type="html"><![CDATA[
<p>

  one of my first interactions with nat was trying to answer miguel's
  call for a mozilla bonobo component.  i really had no idea what i
  was doing, or getting into, and fortunately not much has changed.

</p>
<p>

  i've had the guy from lifestyles of the rich and famous in my head
  all night, describing gom as &quot;home to the world's
  most <i>gorgeous</i> interfaces.&quot; i don't know, it's just
  there.

</p>
<p>

  it's not ready to commit, but after days of deliberation, i think
  i'm narrowing in on a nice xpcom/gobject bridge, with this clever
  hack at its heart:

</p>
<p class="code" style="white-space: pre;"
>gpointer
gom_unknown_query_interface (gpointer unknown, GType requested_interface, GError **error)
{
    if (GOM_UNKNOWN_GET_INTERFACE (unknown)->query_interface) {
        return GOM_UNKNOWN_GET_INTERFACE (unknown)->query_interface (unknown, requested_interface, error);
    } else if (g_type_is_a (G_OBJECT_TYPE (unknown), requested_interface)) {
        return g_object_ref (unknown);
    }
    g_set_error (error, GOM_DOM_EXCEPTION_ERROR, GOM_NO_INTERFACE_ERR,
                 &quot;Object does not support %s&quot;, g_type_name (requested_interface));
    return NULL;
}</p>
<p>

  the only class that will actually implement GomUnknown's
  query_interface is my base class for GObjects that wrap an xpcom
  object, which is:

<p class="code" style="white-space: pre;"
>static gpointer
gom_wrapped_query_interface (gpointer unknown, GType requested_interface, GError **error)
{
    GomWrappedPrivate *priv = PRIV (unknown);
    if (g_type_is_a (G_OBJECT_TYPE (unknown), requested_interface)) {
	return g_object_ref (unknown);
    }
    return gom_wrap_xpcom (priv->wrappedObject, requested_interface, error);
}
</p>
<p>

  gom_wrap_xpcom() walks my list of IID &lt;-&gt; GType mappings, and
  will return a (possibly cached) GObject that implements
  requested_interface by simply calling each function's xpcom
  equivalent.

</p>
<p>

  maybe i should have just used python.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>day one</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/8/6" />
    <published>2008-08-07T04:19:50+00:00</published>
    <updated>2008-08-07T04:20:04+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-08-06-1</id>
    <content type="html"><![CDATA[
<p>

  decided to stop whining and ran two miles before work this morning.
  definitely the most painful two miles i've run... since the last two
  at the end of the marathon.  although i'm feeling much better than
  yesterday, i don't think i'm going to make 20 on sunday.  i think i
  could do 22 in two weeks, so i'll get back into the schedule slowly.

</p>
<p>

  i have been very hungry the past couple of days, though.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>and i love my necks</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/8/4" />
    <published>2008-08-05T03:34:11+00:00</published>
    <updated>2008-08-05T03:34:15+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-08-04-1</id>
    <content type="html"><![CDATA[
<p>

  at the cigar shop near the office, i asked the guy if he actually
  made anything selling monthly muni passes.  he said twenty-five
  cents each, and that's why not many places sell them.  but, he said
  most people don't realize that it's a good way to get customers into
  their shop, and they'll often pick up something else, and it adds
  up.

</p>
<p>

  that's what i figured.

</p>
<p>

  still sore.  so sore.

</p>
<p>

  oh my god, i almost forgot.  before the race yesterday, the MC was
  doing some thing about how some troops ran &quot;the san francisco
  marathon&quot; from afganistan, or something, <a href="http://wednesdaynight.org/diary/2007/4/16" title="">whatever</a>.  then he said we hope they'll come home
  soon, wherever they are: afganistan, iraq, or <b>iran</b>.

</p>
<p>

  ahem.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>stalked.</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/8/2" />
    <published>2008-08-02T22:13:25+00:00</published>
    <updated>2008-08-02T22:13:32+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-08-02-1</id>
    <content type="html"><![CDATA[
<p>

  make of this what you will:

</p>
<ul>

  <li>january 2000: i move to boston</li>
  <li>december
  2000: <a href="http://en.wikipedia.org/wiki/Manny_Ramirez#Manny_moments">manny
  ramirez</a> signs with the red sox</li>
  <li>june 2008: i move to san francisco</li>
  <li>july 2008: manny ramirez is traded to the dodgers</li>

</ul>
<p>

  LA isn't quite SF, but still.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>the final countdown</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/7/30" />
    <published>2008-07-31T04:18:58+00:00</published>
    <updated>2008-07-31T04:19:02+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-07-30-1</id>
    <content type="html"><![CDATA[
<p>

  after twenty weeks of training, across five cities, four timezones,
  three countries, two continents, and one cross-country move, i have
  ten miles of training left before my race on sunday.  it's a little
  stressful, since pretty much i can only make
  a <a href="http://www.pbs.org/newshour/bb/politics/july-dec08/sbobamatrip_07-18.html">cock-up</a>
  of it at this point.  for example, sprinting, in the shoes that hurt
  my legs, to catch the bus on monday.

</p>
<p>

  they have some sort of real-time text messaging thing, so if anyone
  wants to follow along in my brazen disappointment, let me know and
  i'll add you to the thing.  for those of you who enjoy sleeping late
  on sunday, note that it starts around 5:30 am pacific.

</p>
<p>

  other events that have recently transpired have been the 11th
  anniversary of the last time i drove a car, and the receipt of a
  letter from my health insurance company with the following amusing
  excerpts:

</p>
<blockquote>
  <p>

    Some medical conditions, either alone or in compination with the
    cost of medication, present uncertain medical underwriting risks.
    In view of these risks, we have enrolled you in our CORE 5000 PLAN
    Level 1 Plus 50 Plan.  This is our CORE 5000 PLAN Level 1 Plan
    with an additional 50% premium.  The basis for our decision is
    listed below.

  </p>
  <p>

    Provider: Health Statement<br />
    Medical History: Elevated weight

  </p>
  <p>

    ...

  </p>
  <p>

    To be considered for a reduction in the additional premium, you
    must 1. maintain your weight below 215 lbs for a mimimum of 6
    months from the effective date of this coverage, and 2. meet the
    Medical Underwriting Guidelines in effect at the time of
    application.

  </p>
</blockquote>
<p>

  i think i'm up to the challenge.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>lost in translation</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/7/30" />
    <published>2008-07-31T04:18:58+00:00</published>
    <updated>2008-07-31T04:19:02+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-07-30-2</id>
    <content type="html"><![CDATA[
<p>

  the end of
  the <a href="http://www.pbs.org/newshour/bb/asia/july-dec08/pakistanpm_07-29.html">news
  hour's interview with pakistan's prime minister last night</a> was
  something my friend phil should read:

</p>
<blockquote>
  <p>

    MARGARET WARNER: Bottom line, Mr. Prime Minister, what could the
    U.S. expect to see, let's say in six months, as a benchmark, as
    evidence that your government's approach to fighting terrorism is
    more successful than President Musharraf's was?

  </p>
  <p>

    YOUSUF RAZA GILANI: I really don't know. But at the same time, I
    think, when there is any actions that has the support and the
    backing of a political government, it is always successful.

  </p>
  <p>

    MARGARET WARNER: But have you set any benchmarks for yourself?


  </p>
  <p>

    YOUSUF RAZA GILANI: Certainly that we are convinced ourselves that
    it's working.

  </p>
</blockquote>
<p>

  <i>...when there is any actions that has the support and the backing
  of a political government, it is always successful.</i>

</p>
<p>

  well, i'm convinced, too.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>i.m. impressed</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/7/27" />
    <published>2008-07-28T05:35:31+00:00</published>
    <updated>2008-07-28T05:35:40+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-07-27-1</id>
    <content type="html"><![CDATA[
<p>

  well, it's
  done.  <a href="http://code.google.com/p/ilovegom/source/detail?r=65">gom
  uses xpcom</a>.

</p>
<p>

  it was a bit painful at times, yes, but not nearly as frustrating as
  trying to get the python bits working (despite that being
  three-year-ago-me's fault).  it's even now using the
  standard <a href="http://developer.mozilla.org/en/docs/Gecko_SDK">gecko
  sdk</a> which should make it easier for others to build, and me to
  support.

</p>
<p>

  after i had
  written <a href="http://code.google.com/p/ilovegom/source/browse/trunk/gom/src/libgom/gomuriutils.cc?r=65#92">gom_uri_get_contents</a>(),
  and everything was working great locally, i wondered: do i now
  support remote files?

</p>
<div class="picture"><img src="http://wednesdaynight.org/2008/07/xpgom.png" alt="" /></div>
<div class="picture-caption">the answer is yes</div>
<p>

  well, as long as it doesn't require an auth dialog or anything.

</p>
<p>

  i guess next up is
  <a href="http://developer.mozilla.org/en/docs/XPConnect">xpconnect</a>,
  which gives me XHR for free?

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>i still hate python</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/7/26" />
    <published>2008-07-26T21:42:40+00:00</published>
    <updated>2008-07-26T21:42:44+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-07-26-1</id>
    <content type="html"><![CDATA[
<p>

  so, in order to
  implment <a href="http://www.w3.org/TR/XMLHttpRequest/#open">XMLHttpRequest.open()</a>
  (i still always type XmlHTTPRequest), i need to
  support <a href="http://www.apps.ietf.org/rfc/rfc3986.html#sec-4.2">relative
  URI references</a>.  this is not a completely trivial exercise, and
  i hate writing parsing things, especially things that involve
  charsets and potential security risks, so i was hoping to use some
  awesome library for this.

</p>
<p>

  i had hoped that libcurl would suffice, but it simply doesn't export
  this functionality (although it must implement it internally).
  sad.  i couldn't find anything in the new gio apis either, which was
  disappointing as well.

</p>
<p>

  so, i went looking.  the first one i found
  was <a href="http://www.nongnu.org/uri/">uri</a>.  unfortunately it
  seems to have been a victim of the warn on terror, so i moved on.

</p>
<p>

  next up
  was <a href="http://uriparser.sourceforge.net/">uriparser</a>.  it
  has a promising name,
  and <a href="http://uriparser.sourceforge.net/doc/html/#resolution">does
  what i want</a>, but the API is sort of dreadful, and it still had
  <a href="http://sourceforge.net/forum/forum.php?forum_id=783625">crashable
  bugs</a> as of 2008.  the final kicker was that although it supports
  ACII and Unicode (UCS-4, i think?), it doesn't seem to want to do
  UTF-8 out-of-the-box, which is a non-starter these days.

</p>
<p>

  (unicode things still confuse me terribly, so maybe i am wrong here)

</p>
<p>

  i next considered trying to use bits from mozilla, but
  the <a href="http://developer.mozilla.org/en/docs/Necko_Architecture">necko
  docs yell at me</a>, and then throw me
  at <a href="http://mxr.mozilla.org/mozilla-central/source/netwerk/base/src/nsStandardURL.h">this</a>.
  i was hoping for a little more hand holding.

</p>
<p>

  what i really want
  is <a href="http://library.gnome.org/devel/gnome-vfs-2.0/stable/gnome-vfs-20-gnome-vfs-uri.html">GnomeVFSURI</a>.
  of course, gnome-vfs has been deprecated for years now, but still
  there is nothing equivalent that i could find.  i didn't really want
  to depend on gnome-vfs, so when ports wanted to <a href="http://wednesdaynight.org/diary/2002/10/10" title="">install its own version of perl</a> i lost it and
  started trying to get gnome-vfs-uri.c to build as a library on its
  own.  this was going nowhere, fast.

</p>
<p>

  then i remembered that i asked someone at work, and got the usual
  &quot;Oh just use Python,
  it's <a href="http://off.net/diary/2001/12/06/06-december-2001/"><i>so
  great</i></a>.&quot; i wasn't keen on adding a <i>third</i> type and
  memory management system,
  but <a href="http://docs.python.org/lib/module-urlparse.html">the
  api was great</a>, and what i saw of embedding python from hula
  wasn't so bad.

</p>
<p>

  well, of course i was up all night, trying to find out what
  @parameter meant, and why i could see <strike>properties</strike>
  attributes when i ran the thing in python that i couldn't see when i
  ran it from C.  why would they make so much more difficult to access
  attributes from C than it used to be?  why am i such a terrible
  programmer?  will i actually fall asleep if i go to bed now at 9 am?

</p>
<p>

  eventually, i noticed the following:

</p>
<p class="code" style="white-space: pre"
>(gdb) p PyString_AsString(PyObject_Repr(mod))
$24 = 0x171e5b4 &quot;&lt;module 'urlparse' from '/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/urlparse.pyc'>&quot;</p>
<p>

  this didn't look right.  in python:

</p>
<p class="code" style="white-space: pre"
>>>> repr (urlparse)
&quot;&lt;module 'urlparse' from '/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/urlparse.pyc'>&quot;</p>
<p>

  of course; this <b>API is different in 2.4 and 2.5</b>;
  i <a href="http://www.penny-arcade.com/comic/2000/12/29/">just rued
  again</a>.  even after completely obliterating the 2.4 version of
  python (don't even ask why i had some third-party version installed;
  i certainly have no clue), if i have to do some compat stuff for the
  2.4 version, it's just not worth it.  i
  <a href="http://code.google.com/p/ilovegom/source/diff?r=64&amp;format=side&amp;path=/trunk/gom/src/libgom/gomuri.c&amp;old_path=/trunk/gom/src/libgom/gomuri.c&amp;old=0">checked
  it in</a> for now since it works, but i still need to find a
  permanent solution.

</p>
<p>

  if it wasn't so completely beautiful outside, i would go get an xbox
  and gta4, but i think i'll do some grocery shopping instead.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>the mccain campaign stays mainly in maine</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/7/21" />
    <published>2008-07-26T21:40:20+00:00</published>
    <updated>2008-07-26T21:40:27+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-07-21-1</id>
    <content type="html"><![CDATA[
<p>

  <a href="http://johnmccain.com/Informing/Calendar/Detail.aspx?guid=2ca62af4-2025-4276-8672-290e0fe81ce1">i
  am cordially invited</a>.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>non-linear dynamics and capital externalities</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/7/21" />
    <published>2008-07-26T21:40:20+00:00</published>
    <updated>2008-07-26T21:40:27+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-07-21-2</id>
    <content type="html"><![CDATA[
<p>

  a <href="http://off.net/diary/">former colleague of mine</a> pointed
  out some articles on gas tax policy from the
  ephemeral <a href="http://www.becker-posner-blog.com/archives/2008/07/should_us_taxes.html">gary
  becker</a>
  and <a href="http://www.becker-posner-blog.com/archives/2008/07/should_gasoline.html">richard
  posner</a>.  they are talking about some study that they don't link
  to, so i can't read it, but that won't stop me from writing about
  it, too.

</p>
<p>

  here is how these articles were originally presented to me:

</p>
<blockquote>
  <p>

    Becker argues today that current US gasoline taxes already cover,
    or at any rate the gap is small, the externalities associated with
    driving

  </p>
</blockquote>
<p>

  part of me wants to argue that the low taxes have not covered losses
  in alternative transportation modes, but i'm not sure exactly how to
  do that, yet.

</p>
<p>

  clearly, it has never been the gas taxes that have kept people from
  driving; for the vast majority of the population, we're only seeing
  interest in alternatives now that gas is around $5 per
  gallon, <i>and</i> the economy is tanking, <i>and</i> saving the
  environment is en vogue, <i>and</i> we are stuck in yet
  another <a href="http://www.nsa.gov/vietnam/releases/relea00012.pdf">war
  for oil</a>.

</p>
<p>

  urban trolley systems have
  been <a href="http://en.wikipedia.org/wiki/Great_American_Streetcar_Scandal">almost
  completely dismantled</a>,
  and <a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;q=lake+robin,+florida&amp;sll=28.564547,-81.46431&amp;sspn=0.014568,0.014827&amp;ie=UTF8&amp;t=h&amp;z=17">vast
  areas completely impractical for <strike>public</strike>
  mass-transit</a>.  there is no way the gas taxes can fund the
  recovery of these areas into a non-car transportation system.

</p>
<p>

  i'm sure that's not the point of the taxes, but certainly being in
  the position where almost all of our country (less
  its <a href="http://walkscore.com/rankings/most-walkable-cities.php">three
  most walkable cities</a>) is basically solely dependent on
  automobile-based transit is not a good position to be in, and is
  going to be expensive to get out of.  or, if you like bailing out
  airlines and paying over $50 per fill-up, it will be expensive to
  stay in.

</p>
<p>

  anyway, it certainly bothers me that people who do drive get a
  positive externality every time i don't drive a car to go
  somewhere.  phil would say that i'm not paying the gas taxes, but i
  am pretty sure i could come up with a ridiculous retort to that one.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>why the government should manage my health insurance</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/7/21" />
    <published>2008-07-26T21:40:20+00:00</published>
    <updated>2008-07-26T21:40:27+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-07-21-3</id>
    <content type="html"><![CDATA[
<p>

  not only did i mistype <a href="http://wednesdaynight.org/diary/2008/7/20" title="">my weight</a>,
  but it turns out i mistyped my address as well.  this will take
  another week or two to sort out.

</p>
<p>

  it's a good thing i didn't give them my SSN.

</p>
]]>
    </content>
  </entry>

  <entry>
    <title>may as well</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/7/20" />
    <published>2008-07-21T03:25:43+00:00</published>
    <updated>2008-07-21T03:25:47+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-07-20-1</id>
    <content type="html"><![CDATA[
<p>

  i think i found the source of the leak named root.  either way, i
  don't use named roots there any more, so they are not leaked.  kudos
  to
  the <a href="http://nerd.metrocat.org/2007/10/garbage-collection-in-spidermonkey">tips
  on spidermonkey garbage collection</a> from jeff watkins.  in my
  previous efforts to track down these leaks, i had written
  <a href="http://code.google.com/p/ilovegom/source/browse/trunk/gom/src/libgom/gomgcmanager.c">something
  based on his idea in C</a>, but hadn't used it <a href="http://code.google.com/p/ilovegom/source/diff?r=61&amp;format=side&amp;path=/trunk/gom/src/libgom/gomjseventlistener.c&amp;old_path=/trunk/gom/src/libgom/gomjseventlistener.c&amp;old=59">until now</>.

</p>
<p>

  anyway, i put up
  a <a href="http://code.google.com/p/ilovegom/downloads/detail?name=gom-0.3.tar.gz">new
  release</a> before i go and
  implement <a href="http://developer.mozilla.org/en/docs/XMLHttpRequest">XHR</a>.

</p>
<p>

  the other day i applied for health insurance.  there were pages of
  online forms to fill out, and they ask you to verify that the
  information is correct, but i wasn't paying attention and didn't
  notice that i accidentally misypted my weight - reporting myself as
  100 lbs heavier than i actually am.

</p>
<p>

  i tried to think of a better way of making people verify their
  forms, and i came up with the following:  go through the list of
  fields randomly, and present the user with their answer for that
  field.  below this, offer them a choice of 4 possible options as to
  what that field is.  it's pretty easy - they can recognize that
  their street address is their street address - and i think it would be
  easier for them to spot typos this way.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>after years of waiting</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/7/20" />
    <published>2008-07-21T03:25:43+00:00</published>
    <updated>2008-07-21T03:25:47+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-07-20-2</id>
    <content type="html"><![CDATA[
<p>

  it took many, many more hours than it should have, but
  i <a href="http://code.google.com/p/ilovegom/source/detail?r=63">just
  checked in</a> some <i>stubs</i>
  for <a href="http://www.w3.org/TR/XMLHttpRequest/">XHR</a>.  while
  <a href="http://code.google.com/p/ilovegom/source/browse/trunk/gom/include/gom/dom/gomxmlhttprequest.h">the
  interface</a> may be beautiful enough for some, for those who prefer
  a more visual representation, i present you with this:

</p>
<div class="picture"><img src="http://wednesdaynight.org/2008/07/gom-xhr.png" alt="" /></div>
<div class="picture-caption">it'll probably take another 3 weeks before i can do any more than this</div>
<p>

  i'm beginning to wonder whether GObject/C was the best choice here...

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>i know you don't care but...</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/7/17" />
    <published>2008-07-18T07:43:43+00:00</published>
    <updated>2008-07-18T07:43:49+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-07-17-1</id>
    <content type="html"><![CDATA[
<p>

  i've fixed it up as best i can for now, and have made a release
  of <a href="http://code.google.com/p/ilovegom/downloads/detail?name=gom-0.2.tar.gz">Gom
  0.2</a>.

</p>
<p>

  since it's been a while, i'll refresh your memory:

</p>
<blockquote>
  <p>

    What is Gom?  

  </p>
  <p>

    Gom allows you to write GTK applications using JavaScript, an
    HTML-like widget layout syntax, the standard W3C DOM interfaces,
    and jQuery.

  </p>
  <p>

    Gom is on the
    Web! <a href="http://ilovegom.googlecode.com/">http://ilovegom.googlecode.com/</a>


  </p>
</blockquote>
<p>

  next up has to be XMLHttpRequest.

</p>
<p>

  i've been working at <b>vm</b>ware for about a month now, and i
  don't think i've gone to the same place in the city for lunch twice
  yet.  that is certainly something.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>gtk 3: a case for gom!</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/7/16" />
    <published>2008-07-17T04:57:58+00:00</published>
    <updated>2008-07-17T04:58:02+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-07-16-1</id>
    <content type="html"><![CDATA[
<p>

  one of the original goals in
  starting <a href="http://ilovegom.googlecode.com/">the gom
  project</a> was to be able to write gtk apps without succumbing to
  the inherent problems of using gtk's apis.  with gom, you already
  only interact with objects using their properties, and instead of
  silly, implementation-specific api calls you get to comfortably
  surround yourself with the beautiful w3c dom standards you already
  know and love from the web.

</p>
<p>

  and if those aren't enough layers of abstraction from X or Quartz,
  you can always throw <a href="http://jquery.com/">your favorite
  javascript library</a> on top of it.

</p>
<p>

  all this, and you don't need to deal with building on different
  platforms and distributions!

</p>
<p>

  at least that's the idea.

</p>
<p>

  last night
  i <a href="http://code.google.com/p/ilovegom/source/detail?r=58">finally
  checked in</a> those <a href="http://wednesdaynight.org/diary/2008/7/4" title="">changes i
  mentioned</a>.  i then went late into the night trying to track
  down numerous refcounting and garbage collection.  getting close.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>another day, another pregnant friend</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/7/14" />
    <published>2008-07-15T03:48:54+00:00</published>
    <updated>2008-07-15T03:49:01+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-07-14-1</id>
    <content type="html"><![CDATA[
<p>

  i don't know what's wrong with all my friends.  i mean, i'm pretty
  sure i could count to 28 in like, first grade.  it's not that hard,
  people!

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>getting there</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/7/13" />
    <published>2008-07-14T05:43:00+00:00</published>
    <updated>2008-07-14T05:43:06+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-07-13-1</id>
    <content type="html"><![CDATA[
<p>

  it is quite vexing that the first three hours of a run can be so
  splendid, and then the final hour so wretched (yes, pbs is showing
  pride &amp; prej again).

</p>
<p>

  the next three weeks of training are fairly inconsequential and will
  hopefully be without incident.  there isn't much more i can do but
  wait it out, and we'll see if i trained hard enough.  yesterday, i
  would have said &quot;yes&quot; but today i'm not so sure.  of one
  thing, however, i am certain: i will not be riding my bike home from
  work the week before the marathon.  i could feel the effects of the
  hills thursday and friday; in fact these hills are <i>for the
  birds</i>.

</p>
<p>

  for the first time in almost seven weeks, i am typing this at
  <a href="http://wednesdaynight.org/diary/2002/10/21" title="">my desk</a>.  the bookshelf is now
  stocked with books as well; i have an office!  four boxes remain
  unopened (roomba, scooba, rock band, guitar hero II), while four
  more boxes of wires and doodads remain.  it could be said that i am
  done unpacking; the rest is &quot;merely&quot; putting things away
  and cleaning up.

</p>
<p>

  tomorrow i will put up <a href="http://wednesdaynight.org/diary/2008/1/15" title="">my art</a> and
  there will be no mistaking: this is <i>my</i> apartment.

</p>
<p>

  now it's time to go wallow in bed for a few hours, rueing the day i
  ate five packets of
  <a href="http://www.guenergy.com/products/gu-energy-gel">caffeinated gu</a>.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>pbs here is weird</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/7/12" />
    <published>2008-07-13T05:30:13+00:00</published>
    <updated>2008-07-13T05:31:16+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-07-12-1</id>
    <content type="html"><![CDATA[
<p>

  i mean, would 'gbh ever show <a
  href="http://www.imdb.com/title/tt0094737/">big</a>?  and was it
  really 20 years ago?

</p>
<p>

  anyway today i had all the foods i love the most, in preparation for
  my insane run tomorrow.  breakfast was two of the following: eggs,
  toast, bananas, and glasses of milk.  dinner was a ton of pasta, a
  banana, and two more glasses of milk.  i don't know what it is about
  these foods, but they make me feel happy from the inside out.

</p>
<p>

  of the boxes that i will actually be unpacking,
  <strike>five</strike> seven remain unopened, and there's another 4
  or 5 full of wires and stuff that haven't been unpacked.  just about
  all the furniture is put together (somehow i managed to get my desk
  together by myself today), and it's starting to feel a little like
  home.  i need to get some sort of bike rack, because storing my bike
  in the bathroom isn't going to cut it if i ever have guests.

</p>
<p>

  i got a crazy messenger bag today.  it is wicked orange.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>living on the edge</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/7/10" />
    <published>2008-07-11T06:27:52+00:00</published>
    <updated>2008-07-11T06:27:56+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-07-10-1</id>
    <content type="html"><![CDATA[
<p>

  i've taken a bold stance in my new apartment, one i don't ever
  remember taking before: i'm just running dhcp on the airport router,
  and not running a nameserver.

</p>
<p>

  this is part of my new initiative, to have <i>at most one computer
  running</i>.  this is a new direction for me; who knows where it
  will lead.

</p>
<p>

  (of course, there will still be a tivo, slingbox, and two (down from
  five? (!!)) airport expresses always running...)

</p>
<p>

  unpacking is going well.  the boxes that will never be unpacked are
  starting to trickle into the living room closet, their final
  destination.  i am starting to accumulate a huge mound of
  &quot;wrapping&quot; paper in the <strike>breakfast nook</strike>
  office.  i don't know what to do with it.

</p>
<p>

  i <a
  href="http://www.picturesforsadchildren.com/index.php?comicID=161">cycled
  to the office today</a>, and it wasn't nearly as scary as i feared.
  however, the hills coming home are moderately fierce.  it has
  occurred to me that perhaps i should wait until <i>after</i> the
  marathon is over before i make this a regular occurrence.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>an agreement in principle</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/7/9" />
    <published>2008-07-10T06:08:19+00:00</published>
    <updated>2008-07-10T06:08:29+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-07-09-1</id>
    <content type="html"><![CDATA[
<p>

  i just had my first glass of raw milk.  a whole gallon of this stuff
  costs <i>sixteen american earth dollars</i>.  they do take care of
  the little things, though; they include a whole teat in the bottle
  as a garnish.

</p>
<p>

  <a
  href="http://www.salon.com/news/feature/2008/07/09/hans_reiser/">if
  the tie doesn't fit, you must acquit</a>?

</p>
<p>

  i read a bunch of books on my kindle while i was in europe.  here is
  a brief list:

</p>
<ol>

  <li>

    <a
    href="http://www.amazon.com/Do-Androids-Dream-Electric-Sleep/dp/B000SEGTI0">Do
    Androids Dream of Electric Sheep?</a> - Philip K. Dick

  </li>
  <li>

    <a
    href="http://www.amazon.com/Brave-New-World/dp/B000FA5R5S">Brave
    New World</a> - Aldous Huxley

  </li>
  <li>

    <a
    href="http://www.amazon.com/Nonzero-Logic-Destiny-Robert-Wright/dp/0679758941">Nonzero:
    The Logic of Human Destiny</a> - Robert Wright

  </li>
  <li>

    <a
    href="http://manybooks.net/titles/austenjaetext98pandp12.html">Pride
    and Prejudice</a> - Jane Austen

  </li>
  <li>

    <a
    href="http://manybooks.net/titles/dickenscetext942city12.html">A
    Tale of Two Cities</a> - Charles Dickens

  </li>
  <li>

    <a
    href="http://manybooks.net/titles/carrolll1903319033-8.html">Alice
    in Wonderland</a> - Lewis Carroll

  </li>
  <li>

    <a
    href="http://manybooks.net/titles/carrollletext91lglass19.html">Through
    the Looking Glass</a> - Lewis Carroll

  </li>
  <li>

    <a
    href="http://manybooks.net/titles/thackeraetext03brryl10.html">The
    Memoirs of Barry Lyndon, Esq.</a> - William Makepeace Thackeray

  </li>
</ol>
<p>

  i haven't quite finished the last one there, because i have been
  reading the sf chronicle (i'll give you a minute to groan.  go
  ahead, i'll wait.  the thing is, the times just doesn't have enough
  articles on public transit or earthquakes).  anyway, for one reason
  or another, i've managed to highlight the following articles:

</p>
<blockquote>
  <p>

    &quot;We must embark on a national mission to eliminate our
    dependence on foreign oil and reduce greenhouse gases through the
    development of alternative energy sources.&quot;

  </p>
  <hr />
  <p>

    Fisher acknowledges that he is not well known, has never built a
    skyscraper before and hasn't practiced architecture regularly in
    decades.

  </p>
  <hr />
  <p>

    A study released earlier this year by a group found that increased
    driving as a result of sprawling development in the next few
    decades will overwhelm any gains from increased vehicle fuel
    economy and use of low-carbon fuels like biodiesel.

  </p>
  <hr />
  <p>

    For McCain and Obama, the economic message should be that &quot;we
    can't make (Americans') house value go up and gas prices go down,
    but we can improve education, work on alternative energy and
    invest in infrastructure.  And probably if they weren't in the
    middle of the campaign, they would be a lot closer on doing
    that.&quot;

  </p>
  <hr />
  <p>

    A security researcher revealed a flaw Tuesday that makes it
    possible for a hacker to take control of the Internet.

  </p>
</blockquote>
<p>

  anyway, time to do dishes.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>July 8th, 2008</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/7/8" />
    <published>2008-07-09T07:05:54+00:00</published>
    <updated>2008-07-09T07:06:02+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-07-08-1</id>
    <content type="html"><![CDATA[
<p>

  i slept so terribly last wednesday night and was doing moving stuff
  etc. so i didn't go to the track last thursday.  i told myself i'd
  do the workout friday, but apparently there is some sort of <a
  href="http://en.wikipedia.org/wiki/Blue_law">massachusetts zone</a>
  in the park, and the track was actually <i>closed for independence
  day</i>.

</p>
<p>

  so whatever, i skipped it.  today was the last day at the track
  before <a href="http://www.runsfm.com/events/marathon.html">the
  race</a>, and i'd say it went well (12x800m):

</p>
<ol>
  <li>3:05</li>
  <li>3:03</li>
  <li>2:58</li>
  <li><b>2:55*</b></li>
  <li>3:02</li>
  <li>3:02</li>
  <li>3:03</li>
  <li>3:08</li>
  <li>3:05</li>
  <li>3:08</li>
  <li>3:02</li>
  <li>2:58</li>
</ol>
<p>

  (<b>*</b> = new <a
  href="http://en.wikipedia.org/wiki/Personal_Record">PR</a>)

</p>
<p>

  and then after work i almost missed the late shuttle back to the
  city and had to run to catch it and that wasn't fun.

</p>
<p>

  i'm finally feeling like i'm turning a corner in the unpacking.  i
  think there may have to be a craigslist firesale after all, if phik
  doesn't claim <a href="http://wednesdaynight.org/diary/2004/1/29" title="">my shuttle</a> first.

</p>
<p>

  i am so tired and want to sleep so badly but i am going to be an
  adult and go wash that one dirty knife i used to butter my toast.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>i should just write a script which twits these whenever i post, one sentence per minute</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/7/6" />
    <published>2008-07-08T02:40:21+00:00</published>
    <updated>2008-07-08T02:40:25+00:00</updated>
    <author>
      <name>jacob berkman</name>
      <uri>http://wednesdaynight.org/</uri>
      <email>jacob@wednesdaynight.org</email>
    </author>
    <id>tag:wednesdaynight.org,2008:diary.2008-07-06-1</id>
    <content type="html"><![CDATA[
<p>

  i forgot how much fun riding my road bike is.

</p>
<p>

  five miles of my run this morning was spent along the beach.  there
  were hundreds of washed-up <a
  href="http://en.wikipedia.org/wiki/Jellyfish">jellies</a>.  it was
  gross.

</p>
<p>

  there was also one huge seal (or sealion?).  it was even more gross.

</p>
]]>
    </content>
  </entry>
</feed>
