<?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-18T09:09:57+00:00</updated>
  <id>tag:wednesdaynight.org,2008:diary</id>
  <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>
  <entry>
    <title>all i need</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/7/5" />
    <published>2008-07-21T03:24:50+00:00</published>
    <updated>2008-07-21T03:24:59+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-05-1</id>
    <content type="html"><![CDATA[
<p>

  after a long day of unpacking and setting up furniture and
  equipment, i settled down to my first meal cooked in my new
  apartment.  pasta, of course, and two tall glasses of milk while i
  watched the first episode of the news hour i've watched in five
  weeks.

</p>
<p>

  as an update to the <a href="http://wednesdaynight.org/diary/2008/6/30" title="">comcast debacle</a>, they've already sent me a bill.  it has a credit for $20, but
  not the full $100 that i was under the impression i was getting.  i
  guess i get to call back monday.

</p>
<p>

  it's also night one of living without a dishwasher.  i am super
  tired, and really want to go to bed, but i better wash things from
  dinner...

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>one happy camper</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/7/4" />
    <published>2008-07-05T08:57:08+00:00</published>
    <updated>2008-07-05T08:57: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-07-04-1</id>
    <content type="html"><![CDATA[
<p>

  someone at <a href="http://vmware.com/">work</a> mentioned vala this
  week, or at least asked what i thought about it, so i had to mention
  <a href="http://ilovegom.googlecode.com/">how awesome gom is</a>,
  with the caveat that it is broken right now and crashes when the GC
  runs.  i basically haven't touched it since april, when i first hit
  this bug, and have had no luck tracking it down.

</p>
<p>

  and that's pretty embarrassing.  so i tried to fix it, now that i
  have unpacking to put off.

</p>
<p>

  patch one wasn't too difficult to track down once i started reading
  some of the code where i was getting the failed assertion.  it was
  the classic passing an int instead of a jsval (even though my getter
  func doesn't look at that field; it just returns the
  &quot;tiny&quot; id):

</p>
<blockquote>
<p class="code" style="white-space: pre"
>Index: src/libgom/gomjsobject.c
===================================================================
--- src/libgom/gomjsobject.c    (revision 57)
+++ src/libgom/gomjsobject.c    (working copy)
@@ -602,7 +613,7 @@
         JS_DefinePropertyWithTinyId (cx, ctor,
                                      &amp;enums->values[i].value_name[4],
                                      enums->values[i].value,
-                                     enums->values[i].value,
+                                     INT_TO_JSVAL(enums->values[i].value),
                                      gom_js_object_get_enum, NULL,
                                      JSPROP_READONLY | JSPROP_PERMANENT);
     }</p>
</blockquote>
<p>

  for the other, i pulled out all the stops, from hardware watchpoints
  to malloc debuggers, to <a href="http://wednesdaynight.org/diary/2007/9/18" title="">that awesome
  gdb trick</a>, to not installing a linux vm to use valgrind and <a
  href="http://refdbg.sourceforge.net/">refdbg</a> on.  i went back to
  the tried-and-true method of littering code with printfs, and
  narrowed it down to someting with the Event.target field.
  eventually i realized that while i had written a great finalizer for
  my base class, none of the subclasses chained up the finalize call,
  which led me to return dirty, used, and freed objects later.  my
  classes have a lot of this now:

</p>
<blockquote>
<p class="code" style="white-space: pre"
>Index: src/libgom/gomjsevent.c
===================================================================
--- src/libgom/gomjsevent.c     (revision 57)
+++ src/libgom/gomjsevent.c     (working copy)
@@ -34,6 +34,12 @@
 
 #include &lt;glib.h>
 
+static void
+gom_js_event_finalize (JSContext *cx, JSObject *obj)
+{
+    GomJSObjectClass.finalize (cx, obj);
+}
+
 JSClass GomJSEventClass = {
     &quot;Event&quot;, JSCLASS_NEW_ENUMERATE,
 
@@ -44,7 +50,7 @@
     (JSEnumerateOp)gom_js_object_enumerate,
     JS_ResolveStub,
     JS_ConvertStub,
-    JS_FinalizeStub
+    gom_js_event_finalize
 };
 
 static JSPropertySpec gom_js_event_props[] = { { NULL } };</p>
</blockquote>
<p>

  tomorrow, instead of unpacking my dishes and glasses so that i could
  make dinner, i will remove all the cruft from my tree, and finally
  make that third release i've been wanting to do for three months.

</p>
<p>

  also, if i didn't fix this bug i don't think my mind would let me
  sleep tonight, so i am doubly excited.  wooooo WOOOOOOOOOOOO!

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>for reals i moved</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/7/3" />
    <published>2008-07-04T07:00:45+00:00</published>
    <updated>2008-07-04T07:00: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-07-03-1</id>
    <content type="html"><![CDATA[
<p>

  this would be the part of my journey where i feel at home - i get to
  sleep in my own bed, even though it's in a different apartment, in a
  different city, on a different coast.  but this isn't my bed, it's a
  new one.  so, nothing's the same.

</p>
<p>

  as a bonus for taking the day off for moving stuffs, peach came to
  the city and we got to hang out for a little.  neither of us could
  remember seeing each other since i was here before i started at
  novell, but it couldn't have been three years.  could it?

</p>
<p>

  i barely got 4 hours of sleep last night, in two shifts, but i
  managed to have a funny dream.  i was trying to get away from having
  damaged a teacher's car with a tree (long story), and i remembered i
  could just go to my room upstairs (as in, i was in my mom's house).
  the bed up there had blankets, and was covered in clean laundry that
  needed to be folded.  i will leave as an excercise for the reader to
  find all 8 levels of wish-fulfillment in that one.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>having it both ways</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/7/2" />
    <published>2008-07-03T06:20:54+00:00</published>
    <updated>2008-07-03T06:21: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-07-02-1</id>
    <content type="html"><![CDATA[
<p>

  while signing up for the ing checking account, i discovered that
  they don't allow deposits to ATMs:

</p>
<blockquote>
  <p>

    Deposit paper checks - You can also deposit paper checks one of
    two ways:

  </p>
  <ol>

    <li>Deposit the check into your linked checking account then move
    it to your Electric Orange...</li>

    <li>Mail in checks</li>

  </ol>
</blockquote>
<p>

  that seems lame.  the credit union checking account doesn't seem to
  have a direct-deposit activity requirement like one of BoA's
  checking accounts (although i suppose i could have it deposit only
  $1).  BoA's other checking account doesn't have a direct deposit
  requirement, and has a lower minimum balance than the credit union,
  but at least the latter pays interest and doesn't give BoA any more
  of my money.

</p>
<p>

  so, at least for a little while, i'll keep the credit union account.
  anyway, i suppose it can't hurt to have a little emergency fund
  tucked away.

</p>
<p>

  in a little under 12 hours, the movers should be here filling my new
  apartment with way too much stuff i don't want anymore, and a few
  things i do want.  i am looking forward to playing my keyboard.  i
  am also looking forward to having a blanket, because i am tired of
  being woken up at 4am by my own shivering.

</p>
<p>

  speaking of beddings, i may also have my new mattress in 14 hours or
  so.  i am excited for that.  i am less excited by the logistics; if
  the movers aren't done by the time the mattress delivery people
  arrive, i don't know what's going to happen.  if they double park,
  the electric buses (<acronym title="lamely known as">lka</acronym>
  trackless trolleys) may have difficulty getting around, and the last
  thing i need is for more bus drivers to be mad at me.

</p>
<p>

  when i got to work this morning, there was a paycheck sitting on my
  desk.  it has been a long and expensive month.

</p>
<p>

  tomorrow is back to the track for a brutal 6 x mile workout.  after
  that, there's only one more track workout before <a
  href="http://www.runsfm.com/events/marathon.html">the race</a>.  i
  should go to bed.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>around and around</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/7/1" />
    <published>2008-07-02T05:01:33+00:00</published>
    <updated>2008-07-02T05:01:39+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-01-1</id>
    <content type="html"><![CDATA[
<p>

  ok, this is lame, but it's still a thing.  i like resetting the
  chronometer on my watch before i go out for a run.  if i had a bad
  run yesterday, resetting it means that it doesn't matter, i can go
  have a good run today.  if i had a good run yesterday, that doesn't
  matter anymore either: today's run is what counts now.  whatever.

</p>
<p>

  today was my first day at the track since i moved into my new place,
  and i did enjoy the fact that it's 10-15 minutes closer, not to
  mention being all downhill (on the way there).  today's workout was
  great (10x800m):

</p>
<ol>
  <li>3:04</li>
  <li>3:03</li>
  <li>2:58*</li>
  <li>3:00</li>
  <li>3:03</li>
  <li>3:07</li>
  <li>3:09</li>
  <li>3:09</li>
  <li>3:10</li>
  <li>2:58*</li>
</ol>
<p>

  (* = new PR)

</p>
<p>

  (<a href="http://wednesdaynight.org/diary/2008/5/13" title="">previously</a>)

</p>
<p>

  unrelatedly:

</p>
<blockquote>

  Freeing up space on our highways increases the flow of traffic and
  saves commuters' time, money, and gasoline.

</blockquote>
<p>

  -- <a
  href="http://news.cnet.com/8301-11128_3-9981750-54.html?tag=nefd.top">Wendell
  Cox</a>

</p>
<p>

  ok, i call bs on that.  freeing up space on highways increases the
  number of other people who can now drive on highways, slowing down
  traffic, and wasting commuters' time, money, and gasoline.

</p>
<p>

  despite these lies, it is difficult for me not to be excited about
  being able to <a href="http://www.cahighspeedrail.ca.gov/">vote on
  some sort of train initiative this fall</a>.  i mean, <a
  href="http://www.snpp.com/episodes/9F10.html">what's the worst that
  could happen</a>?

</p>
<p>

  i recommend checking out the <a
  href="http://www.nc3d.com/downloads/stills/chsr-stills-jpeg-lowrez-01.zip/details.html">rendered
  stills</a>.  but the ones of anaheim suffer my typical complaint
  about these things: <i>why are those people in the park?</i> i mean,
  i could understand it if there were awesome shipping containers
  there, but if it's like <a
  href="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;q=boston,+ma&amp;ie=UTF8&amp;ll=42.368762,-71.069119&amp;spn=0.004994,0.007532&amp;t=k&amp;z=17">a
  certain other park i never saw any people in</a> there's just some
  smelly river and nobody lives nearby.

</p>
<p>

  also i wish we could build things out of something other than glass.

</p>
]]>
    </content>
  </entry>
  <entry>
    <title>i liked me better before i sold out</title>
    <link rel="alternate" type="text/html" href="http://wednesdaynight.org/diary/2008/6/30" />
    <published>2008-07-01T05:20:31+00:00</published>
    <updated>2008-07-01T05:20:35+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-06-30-1</id>
    <content type="html"><![CDATA[
<p>

  so, last week i ordered me some comcast.  they gave me a 9am to 11am
  window.  here is how it went down:

</p>
<blockquote>
  <p>

    <b>9:00</b> I am sitting in my apartment, ready for the cable guy!<br />

    <b>10:55</b> My phone rings.  Cable guy is heading over; it'll take about
    30-45 minutes.<br />

    <b>11:05</b> I do some research on the internet, and discover <a
    href="http://www.comcast.com/customers/faq/FaqDetails.ashx?ID=1545">comcast's
    on-time guarantee</a>.*<br />

    <b>11:10</b> Comcast phone rep says i should see a credit for the
    $100 install (!!!) on my next statement.<br />

    <b>11:15</b> Cable guy shows up.<br />

    <b>11:25</b> After doing who-knows-what in the basement, he comes
    up and says it should be working.  It isn't working right away.
    He goes downstairs to get a modem out of his truck, and by the
    time he gets back the modem has a link.<br />

    <b>11:30</b> After closing my firefox and system preferences, he
    can't figure out how to open safari (i wish i could have seen
    phil's face had it been his firefox that was closed).  The guy is
    trying to type one-handed, and is fat-fingering everything.  he
    stumbles through the wizard and i create my comcast.net
    account.<br />

    <b>11:35</b> The wizard thing starts spewing javascript errors.
    We close it, and cannot get past that point in subsequent
    attempts.  All urls are redirected to some comcast setup page (he
    determines this by randomly selecting a link <i>from my
    history</i>), which tries to download a .dmg image.  that returns
    a 403 error, but of course he didn't figure that out.<br />

    <b>11:40</b> I figure up Vista in a VM (should have done that in
    the first place), but we basically get the same results.  Tech
    support is having problems, i don't know.<br />

    <b>11:55</b> He gives up and says I should call later today or
    something.  I sign a piece of paper that says i am satisfied with
    the work done, even though it is clear that i am not.<br />

    <b>12:00</b> I click on the &quot;For Technicians&quot; link on
    the redirect page, and start its stupid wizard.<br />

    <b>12:05</b> I am on the internet.

  </p>
</blockquote>
<p>

  * GUARANTEE MAY NOT BE AN ACTUAL GUARANTEE

</p>
<p>

  this was actually the first time i was home for a cable modem
  install, but i have learned some valuble lessons, such as do not let
  them touch your computer.  i just rued again.

</p>
<p>

  in other news, people in wheelchairs were on <i>both</i> of my
  commutes today.  i guess that's what happens when you live next to a
  hospital.

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