<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for shaver</title>
    <link>http://www.advogato.org/person/shaver/</link>
    <description>Advogato blog for shaver</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Tue, 18 Jun 2013 23:44:04 GMT</pubDate>
    <item>
      <pubDate>Wed, 19 Apr 2000 14:20:20 GMT</pubDate>
      <title>19 Apr 2000</title>
      <link>http://www.advogato.org/person/shaver/diary.html?start=14</link>
      <guid>http://www.advogato.org/person/shaver/diary.html?start=14</guid>
      <description>&lt;p&gt;I'm still sick, but we did have a nice dinner with &lt;a
href="/person/blizzard"&gt;Chris&lt;/a&gt; and Shona, so that was
nice.  More rest today, though I have to do some more work
in preparation for &lt;a href="http://www.advogato.org/person/dria" &gt;Deb&lt;/a&gt;'s start at
&lt;a href="http://www.zeroknowledge.com" &gt;work&lt;/a&gt; in May.

&lt;p&gt; &lt;p&gt;OK, &lt;a href="http://www.advogato.org/person/mathieu" &gt;mathieu&lt;/a&gt;, I'll confess
that I don't understand why you need to have the IDL info in
the application.  What if multiple applications use the same
interfaces (like &lt;a
href="http://cvs.gnome.org/lxr/source/gnome-core/idl/gnome-panel.idl"&gt;GNOME::Panel&lt;/a&gt;,
or whatever)?  Why should you tie interface to
implementation like that?  Multiple copies?  What about
implementations in
Perl or JavaScript or Java or Python, which don't have the
same _init hacks?  I guess I don't see why you can't keep
``typelibs'' (meaning: files that describe interfaces)
separate, which would also seem to reduce the likelihood of
having someone ``update'' the interface when they update
their implementation (``I'm the only applet in GNOME CVS
that uses GNOME::MagicThing::1.0, so I'll just update it in
place.  What?  Someone else has a Perl applet that uses
it?'').

&lt;p&gt; &lt;p&gt;My experiences with Mozilla autoregistration also tells
me
that you probably don't want to grovel over
$gnome_prefix/lib/IDL/*.so at every GNOME startup.

&lt;p&gt; &lt;p&gt;In more detail, here's what I propose:
&lt;ul&gt;
  &lt;li&gt; A typelib compiler (similar to &lt;a
href="http://www.mozilla.org/scriptable/xpidl/"&gt;xpidl -m
typelib&lt;/a&gt;) that generates typelibs from interfaces, and
probably a linker like &lt;a
href="http://www.mozilla.org/scriptable/typelib_tools.html"&gt;xpt_link&lt;/a&gt;. 
The typelib compiler and linker are run on IDL files to
product typelib files, which are stored in
&lt;tt&gt;$gnome_prefix/share/typelib&lt;/tt&gt;. 
  &lt;li&gt; The IR implementation reads in the typelib files at
startup, and constructs whatever internal structures it
needs to serve things according to the IR interface, etc. 
(You'd probably want to do incremental loading, by only
loading the &lt;a
href="http://www.mozilla.org/scriptable/typelib_file.html#File_Header"&gt;file
header&lt;/a&gt; and &lt;a
href="http://www.mozilla.org/scriptable/typelib_file.html#InterfaceDirectoryEntry"&gt;interface
directory entries&lt;/a&gt; (names from Mozilla's implementation)
at for each file, and then ``faulting in'' the complete
entries as required.
  &lt;li&gt; You'd might want to distribute sets of typelibs
independently from implementations, actually: gnome-core,
gnome-code-devel and gnome-core-typelibs.  People might
actually want to use the Power Of CORBA to manipulate GNOME
pieces from other machines, or provide alternate
implementations of gnome-foobar in another (non-C)
language.  Or maybe you don't care; I'm not religious about
the packaging, and will just install whatever &lt;a
href="http://www.helixcode.com"&gt;Helix&lt;/a&gt; tells me. 
&lt;/ul&gt;
 </description>
    </item>
    <item>
      <pubDate>Wed, 19 Apr 2000 02:24:17 GMT</pubDate>
      <title>19 Apr 2000</title>
      <link>http://www.advogato.org/person/shaver/diary.html?start=13</link>
      <guid>http://www.advogato.org/person/shaver/diary.html?start=13</guid>
      <description>&lt;p&gt;&lt;a href="http://www.advogato.org/person/mathieu" &gt;mathieu&lt;/a&gt;: in the XPCOM case,
at least, we can enumerate all known interfaces (and
implementations) -- from an interpreted language, no
less! -- regardless of which ones are currently
instantiated.

&lt;p&gt; &lt;blockquote&gt;&lt;pre&gt;
js&amp;gt; for (i in Components.interfaces) print (i);             
nsISupports
nsILocalFile
nsIForwardIterator
nsIRDFXMLSinkObserver
&lt;i&gt;...&lt;/i&gt;
js&amp;gt; for (i in Components.classes) print(i);
mimecth:application/x-pkcs7-mime
component://netscape/messenger/stringservice?type=pop3
component://netscape/messenger/stringservice?type=smtp
component://netscape/intl/charsetdetect?type=ruprob
component://netscape/intl/charsetdetect?type=ukprob
&lt;i&gt;...&lt;/i&gt;
&lt;/pre&gt;&lt;/blockquote&gt;
(Don't mind the silly implementation naming; it's going
to change.)

&lt;p&gt; &lt;p&gt;So yeah, an object browser in &lt;a
href="http://www.mozilla.org/xpfe"&gt;XUL&lt;/a&gt; and &lt;a
href="http://www.mozilla.org/js"&gt;JS&lt;/a&gt; is quite
possible, though you probably want some runtime hooks as
well to get handles to pre-existing instances.
</description>
    </item>
    <item>
      <pubDate>Tue, 18 Apr 2000 21:43:29 GMT</pubDate>
      <title>18 Apr 2000</title>
      <link>http://www.advogato.org/person/shaver/diary.html?start=12</link>
      <guid>http://www.advogato.org/person/shaver/diary.html?start=12</guid>
      <description>&lt;p&gt;Conversation with &lt;a href="http://www.advogato.org/person/ramiro" &gt;ramiro&lt;/a&gt;
reminded me of &lt;a
href="http://www.hungry.com/~shaver/openvx.txt"&gt;this&lt;/a&gt;,
which still makes me laugh.

&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt;Ramiro is truly awesome.  I feel the need to share
these
gems with the world as well, lest they be lost to the &lt;a
href="http://www.jwz.org/gruntle/rbarip.html"&gt;Netscape
Document Retention Policy&lt;/a&gt;, or
something:
&lt;blockquote&gt;Linux is like Christianity.  The leaders are
cool people, but the
followers can be deadly.&lt;/blockquote&gt;
&lt;blockquote&gt;THE LAW OF LINUX SUPPORT: THE MOST IMPORTANT
THING YOU CAN DO IS
LEARN WHICH 99% OF THE "COMMUNITY" TO IGNORE.&lt;/blockquote&gt;


&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt;Have to go get ready for dinner now, I think.
</description>
    </item>
    <item>
      <pubDate>Tue, 18 Apr 2000 19:38:32 GMT</pubDate>
      <title>18 Apr 2000</title>
      <link>http://www.advogato.org/person/shaver/diary.html?start=11</link>
      <guid>http://www.advogato.org/person/shaver/diary.html?start=11</guid>
      <description>&lt;p&gt;Back from Montreal, and I brought a cold with me. 
Damn.

&lt;p&gt; &lt;p&gt;We found a &lt;i&gt;gorgeous&lt;/i&gt; apartment near the
Georges-Vanier m&amp;eacute;tro station, and apparently all the
paperwork is now in order, so yay.  We'll probably move in
early June.  It's enormous, and beautiful, and I can't wait
to move in.  I will miss Toronto dearly, but commuting like
this sucks in no small way.

&lt;p&gt; &lt;p&gt;My &lt;a href="http://www.dsl.ca" &gt;ISP&lt;/a&gt; kicks ass. 
They're going to solve my MTU-DSL problems for me, at some
cost to themselves.  I am &lt;i&gt;supremely&lt;/i&gt; pleased that I
can get DSL service from them in Montreal, as well.

&lt;p&gt; &lt;p&gt;I'm glad &lt;a href="http://www.advogato.org/person/mathieu/" &gt;mathieu&lt;/a&gt; enjoyed
our &lt;a
href="http://www.mozilla.org/projects/xpcom/"&gt;XPCOM&lt;/a&gt;/&lt;a
href="http://www.mozilla.org/scriptable/xptcall-faq.html"&gt;xptcall&lt;/a&gt;/&lt;a
href="http://developer.gnome.org/arch/component/bonobo.html"&gt;Bonobo&lt;/a&gt;/&lt;a
href="http://www.omg.org"&gt;CORBA&lt;/a&gt; discussion as much as I
did.  Some points of clarification, though:
&lt;ul&gt;
  &lt;li&gt; &lt;a
href="http://www.mozilla.org/scriptable/typelib_file.html"&gt;typelibs&lt;/a&gt;
and the IR are not suitable for comparison.  typelibs are an
on-disk storage format for interface information, and the IR
is a service that permits applications to query for such
information.  I dimly recall, from our conversation, that
mathieu really objects to &lt;a
href="http://msdn.microsoft.com/library/psdk/automat/chap5_5t9v.htm"&gt;IDispatch&lt;/a&gt;,
which is the primary (only?) consumer of COM typelib info in
the Microsoft COM world. I agree with his stance: IDispatch
is abhorrent, if only because it's stub-based. =)
  &lt;li&gt;It then follows that you can build an IR service,
which uses typelibs to store interface data.  We do that,
basically, in XPCOM, and we call it &lt;a
href="http://lxr.mozilla.org/mozilla/source/xpcom/reflect/xptinfo/public/nsIInterfaceInfoManager.idl"&gt;nsIInterfaceInfoManager&lt;/a&gt;. 
In fact, the implementation of nsIInterfaceInfoManager
doesn't even grovel in typelibs directly: it's isolated from
the typelib files by the &lt;a
href="http://lxr.mozilla.org/mozilla/source/xpcom/typelib/xpt/"&gt;libxpt&lt;/a&gt;
layer.
&lt;/ul&gt;

&lt;p&gt; &lt;p&gt;A little while back, &lt;a
href="/person/graydon"&gt;graydon&lt;/a&gt; and I discussed wedging
an xptcall-like-thing into ORBit, and &lt;a
href="/person/blizzard"&gt;blizzard&lt;/a&gt; thinks that it wouldn't
be too hard to write a CORBA-connecting analogue to &lt;a
href="http://www.mozilla.org/scriptable/"&gt;XPConnect&lt;/a&gt;.  We
already use the xptcall stuff for &lt;a
href="http://lxr.mozilla.org/mozilla/source/xpcom/proxy/"&gt;proxying
between threads&lt;/a&gt;, so there's some non-JS marshalling
stuff in there to work from.  How hard can IIOP be?

&lt;p&gt; &lt;p&gt;Also: Go Leafs.
</description>
    </item>
    <item>
      <pubDate>Wed, 12 Apr 2000 23:51:36 GMT</pubDate>
      <title>12 Apr 2000</title>
      <link>http://www.advogato.org/person/shaver/diary.html?start=10</link>
      <guid>http://www.advogato.org/person/shaver/diary.html?start=10</guid>
      <description>&lt;p&gt;Back in Montreal.  Tyla arrives shortly.

&lt;p&gt; &lt;p&gt;I sent the document out today, and it was well received. 
We're starting down our open source path, though I can't
really say more until we get our plans sorted out in
detail.  It's going to be a heck of a lot of fun.  We're
going to &lt;a href="http://jobs.zeroknowledge.com" &gt;need great
people&lt;/a&gt; to help manage it, of course, so I get to go play
recruiter for another few weeks.

&lt;p&gt; &lt;p&gt;Hey, Tyla has arrived.

&lt;p&gt; &lt;p&gt;Sent my O'Reilly thing in yesterday, too.  Or did I? 
It's not in my sent folder, and there's a core file in my
home directory that claims to have been ``netscape'' -- not
the panel or gmc, yay! -- so I'm not so sure it got out.  I
was in a bit of a rush on the way out last night, so I don't
clearly recall shutting down.  I'll be pissed if I have to
rewrite it, mainly because I should have just engaged my
brain and done it in emacs first.  First, though, I'll pray
and mail marcia.

&lt;p&gt; &lt;p&gt;Off to dinner and merriment with &lt;a
href="/person/zab/"&gt;zab&lt;/a&gt; and Tyla and Jenn and &lt;a
href="/person/willy"&gt;willy&lt;/a&gt;.  More work later,
possibly.
</description>
    </item>
    <item>
      <pubDate>Tue, 11 Apr 2000 20:26:38 GMT</pubDate>
      <title>11 Apr 2000</title>
      <link>http://www.advogato.org/person/shaver/diary.html?start=9</link>
      <guid>http://www.advogato.org/person/shaver/diary.html?start=9</guid>
      <description>&lt;p&gt;I cannot be trusted with the simplest of tasks.  Like,
say, laundry.
</description>
    </item>
    <item>
      <pubDate>Tue, 11 Apr 2000 18:02:25 GMT</pubDate>
      <title>11 Apr 2000</title>
      <link>http://www.advogato.org/person/shaver/diary.html?start=8</link>
      <guid>http://www.advogato.org/person/shaver/diary.html?start=8</guid>
      <description>&lt;p&gt;Today is, so far, a writeoff.  Still apparently on PDT, I
slept through my alarm and then only got up when the Bell
guy showed up at 11.  Bell guy's visit didn't go well, and
I'm still too utterly pissed off to want to recount the
tale.  It's really not his fault, but at times I had
difficulty keeping that clear in my head.

&lt;p&gt; &lt;p&gt;Apparently I have a conference call at 15h00, so I'll
have to take that &lt;i&gt;before&lt;/i&gt; I go to Montreal.  Which
puts me on the 17h00 plane, which puts me in Montreal at
18h30, which should, hopefully, please, please, please put
me at &lt;a href="http://www.restaurantglobe.com" &gt;Globe&lt;/a&gt; by
19h30.  (Note clever use of Qu&amp;eacute;bec-style time
syntax.  I'm so bicultural it hurts.)

&lt;p&gt; &lt;p&gt;Then back to the office after dinner, to get some work
done.  I've had this document sitting on my disk in jot form
for 5 days now, and it's not doing anyone any good
there.

&lt;p&gt; &lt;p&gt;I still need a hotel, but how hard can that be?  As long
as Bell's not involved, it should be right groovy.

&lt;p&gt; &lt;p&gt;Have to submit my talk description for the &lt;a
href="http://conferences.oreilly.com/oscon2000"&gt;2000
O'Reilly Open Source Software Convention&lt;/a&gt; today too, or
Mitchell will (rightly) kick my ass.  July is shaping up to
be a busy month, what with two weddings and two conference
gigs in the space of the last 15 days.
</description>
    </item>
    <item>
      <pubDate>Mon, 10 Apr 2000 18:47:51 GMT</pubDate>
      <title>10 Apr 2000</title>
      <link>http://www.advogato.org/person/shaver/diary.html?start=7</link>
      <guid>http://www.advogato.org/person/shaver/diary.html?start=7</guid>
      <description>&lt;p&gt;&lt;a href="http://www.cfp2000.org" &gt;CFP&lt;/a&gt; was fun, at
least the parts I saw of it.  Got my business cards at the
party, and they're pretty.  Mildly inaccurate, but nothing
fatal -- should only foil the casual caller, since while the
direct number listed is fictional, calling the main number
will eventually get you to me.  And do I really want to talk
to a casual caller?

&lt;p&gt; &lt;p&gt;Back from the &lt;a
href="http://www.mozilla.org/party/2000/flyer.html"&gt;party&lt;/a&gt;
and the &lt;a
href="http://www.alphanumerica.com/events/mozilla-conference-1.0/"&gt;Developer
Meeting&lt;/a&gt;, both of which were lots of fun.  People are
doing cooler stuff with Mozilla than I had imagined.  (And
I'm a pretty good imaginer.)  I was unpleasantly surprised
to discover that I couldn't use my upgrade certs on the
wacky L-class fare that I had SFO&amp;lt;-&amp;gt;YYZ.  Even more
unpleasantly surprised than when I realized I needed 2 certs
&lt;i&gt;each way&lt;/i&gt;.  Coach sucks for long trips, but I got a
bulkhead seat on the way out, and an exit row seat on the
way back.  My back has just about stopped aching.

&lt;p&gt; &lt;p&gt;The &lt;a
href="http://www.hyatt.com/usa/san_francisco/hotels/hotel_sfors.html"&gt;Hyatt
Regency&lt;/a&gt; is a pretty nice hotel, but their ``any
airline'' bonus-miles thing apparently doesn't include &lt;a
href="http://www.aircanada.ca/aeroplan/"&gt;&lt;i&gt;my&lt;/i&gt;&lt;/a&gt;
program of choice, &lt;a
href="http://www.star-alliance.com"&gt;affiliated&lt;/a&gt; with
United or not.  The Hyatt &lt;a
href="http://www.hyatt.com/usa/san_francisco/hotels/hotel_sfoph.html"&gt;just
down the road&lt;/a&gt; was pretty nice too, according to &lt;a
href="/person/blizzard"&gt;blizzard&lt;/a&gt;, and a little cheaper
to boot.

&lt;p&gt; &lt;p&gt;&lt;a href="http://www.advogato.org/person/zab" &gt;zab&lt;/a&gt; moved to Montreal the other
week.  I guess I'll see him tonight, unless I put off my
trip to tomorrow.  I'm still on &lt;a
href="http://www.linuxcare.com.au/clocks.php3"&gt;PDT&lt;/a&gt;, it
seems, which got me
off to a late start today.  Having trouble getting to my
mail right now, though, so maybe I should just hop on a
&lt;a href="http://www.aircanada.ca" &gt;plane&lt;/a&gt; and get onto the
network ASAP.  &lt;a
href="http://www.magic8ball.org/"&gt;Decisions,
decisions&lt;/a&gt;.

&lt;p&gt; &lt;p&gt;Hope we find an apartment as nice as &lt;a
href="/person/dria"&gt;dria&lt;/a&gt;'s or &lt;a
href="/person/zab"&gt;zab&lt;/a&gt;'s.  I have hope: Ron is
really good.

&lt;p&gt; &lt;p&gt;Came back to discover that I've been getting a fair bit
of fax spam.  I should really find out if it's as illegal
here as I think it is.  Some of it is coming to the office
&lt;i&gt;voice&lt;/i&gt; line, which is just absurd.  Are they war
dialing?  How do they know that there's a fax machine on
that?  Does Bell let them see that it shares a line with the
&lt;a
href="http://www.bell.ca/en/minisite/products/frameset.asp?Location=/en/minisite/products/smart/ident.htm"&gt;ident-a-call&lt;/a&gt;
for my fax?  Mysteries abound.

&lt;p&gt; &lt;p&gt;&lt;a href="http://www.bellnexxia.com/" &gt;Bell&lt;/a&gt; is still
doing a miserable job of installing the home&amp;lt;-&amp;gt;DSLAM
part of my DSL service.  My &lt;a
href="http://www.dsl.ca"&gt;ISP&lt;/a&gt; has been supportive, but
their hands are largely tied: when Bell wants to fuck you,
fuck you they will.  I should write more about the saga at
some point.

&lt;p&gt; &lt;p&gt;I have not been involved in any ``gender debates'' of
late, but I've been away from home for a while.

&lt;p&gt; &lt;p&gt;More later, I guess.
</description>
    </item>
    <item>
      <pubDate>Wed, 29 Mar 2000 00:47:46 GMT</pubDate>
      <title>29 Mar 2000</title>
      <link>http://www.advogato.org/person/shaver/diary.html?start=6</link>
      <guid>http://www.advogato.org/person/shaver/diary.html?start=6</guid>
      <description>&lt;p&gt;It's been a while, hasn't it?  What can I say, I'm a
slacker.

&lt;p&gt; &lt;p&gt;Went to Ottawa for the weekend, and that was lots of
fun.  &lt;a href="http://www.advogato.org/person/phil" &gt;he&lt;/a&gt; and &lt;a
href="/person/dria/"&gt;she&lt;/a&gt; and &lt;a
href="/person/ryan/"&gt;he&lt;/a&gt; have good accounts of it, so I
won't bore you.

&lt;p&gt; &lt;p&gt;Started to feel ill at dinner yesterday, so I went home
and lay down.  Decided not to go to the
Matrix-on-IMAX-screen thing, even though &lt;a
href="/person/justin/"&gt;justin&lt;/a&gt; and ajh came all the way
from Ottawa to see it.  Then I decided to go anyway, because
it's just sitting still for two hours, right?  Right.

&lt;p&gt; &lt;p&gt;Didn't feel much better after I got back, and felt
decidedly worse this morning.  Cancelled my hotel
reservation, because I'm not going to Montreal today, no
way, no how.

&lt;p&gt; &lt;p&gt;I'm going to go lie down.
</description>
    </item>
    <item>
      <pubDate>Mon, 20 Mar 2000 19:55:27 GMT</pubDate>
      <title>20 Mar 2000</title>
      <link>http://www.advogato.org/person/shaver/diary.html?start=5</link>
      <guid>http://www.advogato.org/person/shaver/diary.html?start=5</guid>
      <description>&lt;p&gt;Back in Toronto, and I Must Do Laundry.  Apparently, my 
body really missed my bed, because it took to the idea of 
back-home sleep like a sonofabitch.  10.5 hours, whee.

&lt;p&gt; &lt;p&gt;Chris and Shona came by to watch X-Files last night.  
Not a bad episode, as they go, though Scully's cleavage 
made more frequent and vivid appearance than was perhaps 
strictly necessary.

&lt;p&gt; &lt;p&gt;I want to buy a &lt;a href="http://www.handspring.com/" &gt;Handspring Visor&lt;/a&gt;, but 
the nasty people at Handspring aren't shipping to Canada 
yet.  Spring 2000, they say, and I am naive enough to 
believe them.  I will resist the urge to ring them up and 
inform them that today is, in fact, the first day of 
spring.

&lt;p&gt; &lt;p&gt;So far, not getting a whole lot done today.  Not quite 
sure where the time has gone -- some of it to 
laptop+VPN+network travails -- but it looks like it'll be a 
late night tonight.  Or maybe I should just stall until the 
nice people at &lt;a href="http://www.velocet.ca" &gt;Velocet&lt;/a&gt; 
set up my DSL on Thursday.  (Yay!)

&lt;p&gt; &lt;p&gt;Steph appears to have chosen a &lt;i&gt;dandy&lt;/i&gt; time to go 
do her modelling thing in Taipei, what with the spirited 
&lt;a href="http://www.cnn.com/2000/ASIANOW/east/03/20/taiwan.elec
tion.01/index.html" &gt;rioting&lt;/a&gt; and threats from &lt;a href="http://www.gov.cn" &gt;The Least Balanced Nuclear 
Power&lt;/a&gt; 
and all.  We're obviously keeping a close eye on that 
little hotspot.
</description>
    </item>
  </channel>
</rss>
