<?xml version="1.0"?>
<rss version="2.0.">
  <channel>
    <title>Advogato blog for connolly</title>
    <link>http://www.advogato.org/person/connolly/</link>
    <description>Advogato blog for connolly</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Sat, 5 Jul 2008 12:18:13 GMT</pubDate>
    <item>
      <pubDate>Thu, 25 Oct 2007 00:52:26 GMT</pubDate>
      <title>25 Oct 2007</title>
      <link>http://www.advogato.org/person/connolly/diary.html?start=56</link>
      <guid>http://www.advogato.org/person/connolly/diary.html?start=56</guid>
      <description>  &lt;p&gt;&lt;b class="title"&gt;Remembering Modula-3&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt;&lt;cite&gt;&lt;a&#xD;
href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2FProgramming-Modula-3-Prentice-Innovative-Technology%2Fdp%2F0135904641%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1193273155%26sr%3D8-1&amp;amp;tag=danconnolly&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=9325"&gt;Systems&#xD;
Programming with Modula-3&lt;/a&gt;&lt;/cite&gt;&lt;img&#xD;
src="http://www.assoc-amazon.com/e/ir?t=danconnolly&amp;amp;l=ur2&amp;amp;o=1"&#xD;
width="1" height="1" alt=""&#xD;
style="border:none !important; margin:0px !important;" /&gt;&#xD;
has been on my&#xD;
wishlist for years, but after reading the feedback from Tim&#xD;
Bray's &lt;a&#xD;
href="http://www.tbray.org/ongoing/When/200x/2007/09/20/Wide-Finder"&gt;Wide&#xD;
Finder&lt;/a&gt; project, I finally got my very own copy.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt;One of the reactions, &lt;a&#xD;
href="http://www.findinglisp.com/blog/2007/10/stupid-programming-language-tricks.html"&#xD;
rel="nofollow"&gt;Finding Lisp&lt;/a&gt;, observes: &#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;blockquote&gt;&#xD;
  Most popular programming languages have the same simple&#xD;
threads+locks&#xD;
  paradigm that was popularized with pthreads and Java.&lt;br /&gt;&#xD;
&lt;/blockquote&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt;But Java made everything a monitor.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt;I learned pthreads while working on a big&#xD;
horrible C++/&lt;a&#xD;
href="http://en.wikipedia.org/wiki/Distributed_Computing_Environment"&gt;DCE&lt;/a&gt;&#xD;
project, Dazel (later bought by &lt;a&#xD;
href="http://en.wikipedia.org/wiki/Hewlett-Packard"&gt;HP&lt;/a&gt;).&#xD;
One of the guys&#xD;
there (&lt;em&gt;Jim W?&lt;/em&gt;) loaned me&#xD;
his copy of&#xD;
&lt;cite&gt;Systems Programming with Modula-3&lt;/cite&gt;, where&#xD;
chapter 4 is a copy of&#xD;
&lt;cite&gt;&lt;a&#xD;
href="http://gatekeeper.dec.com/pub/DEC/SRC/research-reports/abstracts/src-rr-035.html"&gt;An&#xD;
Introduction to Programming with Threads&lt;/a&gt;&lt;/cite&gt; by&#xD;
Birrell. It's probably&#xD;
a good thing that we never followed thru on our dreams to&#xD;
rewrite the whole&#xD;
project in Modula-3, but it was good to know about partial&#xD;
orders on locks&#xD;
and such while taming the pthread libraries (... and the C++&#xD;
exception&#xD;
runtimes; what a nightmare!)&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt;And &lt;em&gt;anybody who had studied the Modula-3&#xD;
Thread and&#xD;
IO design would know&#xD;
better than to make everything a monitor&lt;/em&gt;.&#xD;
&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt;A lot of good stuff from Modula-3 lives on in python, and&#xD;
some in Java,&#xD;
but DEC got bought by Compaq which got bought by HP, and a&#xD;
lot of the &lt;a&#xD;
href="http://en.wikipedia.org/wiki/DEC_Systems_Research_Center"&gt;DEC&#xD;
SRC&lt;/a&gt;&#xD;
goodies seem to be disapearing from the net.&#xD;
&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt;The &lt;a&#xD;
href="http://en.wikipedia.org/wiki/Modula-3"&gt;wikipedia&#xD;
article on&#xD;
Modula-3&lt;/a&gt; has a "This article does not cite any&#xD;
references or sources" tag&#xD;
since July 2006. That looks silly, since a number of books&#xD;
and articles are&#xD;
listed. I can see some unsupported claims, though, so I&#xD;
ordered my own copy&#xD;
of SPwM3 so I can separate some of the verifyable claims&#xD;
from the&#xD;
speculation.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt;I'd also really like to find a host (other than&#xD;
the &lt;a&#xD;
href="http://www.archive.org/web/web.php"&gt;wayback&#xD;
machine&lt;/a&gt;) for the&#xD;
hypertext version of the &lt;a&#xD;
href="http://web.archive.org/web/20051217112426/http://www.research.compaq.com/SRC/m3sources/html/INDEX.html"&gt;SRC&#xD;
Modula-3 sources&lt;/a&gt;; it's a gold-mine of software&#xD;
engineering theory and&#xD;
practice; for example, from &lt;a&#xD;
href="http://web.archive.org/web/20040105144442/www.research.compaq.com/SRC/m3sources/html/fingerprint/src/Fingerprint.i3.html"&gt;Fingerprint.m3&lt;/a&gt;:&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;blockquote&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt;   &lt;p&gt;The original fingerprint interface offered at&#xD;
SRC did&#xD;
not include the&#xD;
  procedure Combine. The Vesta configuration management&#xD;
project built a&#xD;
  system that cached intermediate results for large software&#xD;
builds.&#xD;
  Abstractly, this is a special case of the common&#xD;
subexpression problem&#xD;
  mentioned previously, and the project used fingerprints as&#xD;
keys in the&#xD;
  cache. It is instructive to learn what happened.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt;   &lt;p&gt;You might think that a simple way to solve the&#xD;
common&#xD;
subexpression&#xD;
  problem without Combine would be to fingerprint the texts&#xD;
that result from&#xD;
  printing the expressions represented by the nodes of the&#xD;
DAG. But if the&#xD;
  DAG is not a tree, this is a serious error, since the&#xD;
length of the strings&#xD;
  produced by printing a DAG can grow geometrically with its&#xD;
size, and&#xD;
  therefore the probabilistic guarantee becomes useless even&#xD;
for quite small&#xD;
  DAGs.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt;   &lt;p&gt;Avoiding this error, the Vesta group computed the&#xD;
fingerprint of a node&#xD;
  by concatenating the node's label with the {\it&#xD;
fingerprints} of its&#xD;
  children---treating these fingerprints as 8-byte texts---&#xD;
and fingerprinted&#xD;
  the resulting text. With this strategy, the number of&#xD;
texts fingerprinted&#xD;
  is proportional to the number of nodes of the DAG, and the&#xD;
total length of&#xD;
  these texts is proportional to the number of edges of the&#xD;
DAG. Thus the&#xD;
  method appears efficient and sound.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt;   &lt;p&gt;Alas, the method is not sound. Recall that the&#xD;
probabilistic guarantee&#xD;
  is valid only if the strings being fingerprinted are&#xD;
independent of the&#xD;
  magic number. But fingerprints themselves are dependent on&#xD;
the magic&#xD;
  number, so the probabalistic guarantee is invalid whenever&#xD;
fingerprints are&#xD;
  fingerprinted. The Vesta group was soon debugging an&#xD;
unexpected&#xD;
  collision.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt;   &lt;p&gt;The moral is simple: the procedure Combine is a&#xD;
convenience, but it is&#xD;
  also much more than a convenience. It should be the only&#xD;
way that you ever&#xD;
  generate a fingerprint from another fingerprint. In&#xD;
particular, never treat&#xD;
  a fingerprint as text to be passed to FromText.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;/blockquote&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt;Maybe the &lt;a href="http://www.python.org/psf/" &gt;python&#xD;
foundation&lt;/a&gt; would&#xD;
like to host it? I'm pretty sure Guido has a fondness for&#xD;
Modula-3.&#xD;
</description>
    </item>
    <item>
      <pubDate>Tue, 23 Oct 2007 20:50:30 GMT</pubDate>
      <title>23 Oct 2007</title>
      <link>http://www.advogato.org/person/connolly/diary.html?start=55</link>
      <guid>http://www.advogato.org/person/connolly/diary.html?start=55</guid>
      <description>I just discovered &lt;a&#xD;
href="http://socksipy.sourceforge.net/"&gt;SocksiPy - A Python&#xD;
SOCKS client module&lt;/a&gt; via&#xD;
a &lt;a&#xD;
href="http://bitworking.org/news/257/httplib2-0-4-0"&gt;httplib2&#xD;
- 0.4.0&lt;/a&gt; announcement.&#xD;
&#xD;
&#xD;
&lt;p&gt; I wonder how SocksiPy  relates to the&#xD;
&lt;a&#xD;
href="http://www.w3.org/People/Connolly/drafts/socksForPython.html"&gt;socksForPython&lt;/a&gt;&#xD;
module that I hacked together back in 1994.&#xD;
I suppose &lt;a&#xD;
href="http://www.python.org/search/hypermail/python-1994q2/0556.html"&gt;the&#xD;
clue Guido gave me&lt;/a&gt; might have been our first meeting.&#xD;
&#xD;
</description>
    </item>
    <item>
      <pubDate>Fri, 27 Jul 2007 17:10:34 GMT</pubDate>
      <title>27 Jul 2007</title>
      <link>http://www.advogato.org/person/connolly/diary.html?start=54</link>
      <guid>http://www.advogato.org/person/connolly/diary.html?start=54</guid>
      <description>Package management is a blessing when there&amp;rsquo;s integrated QA&#xD;
and support. apt-get is only one half of the equation; the&#xD;
Debian Bug Tracking system (and the people behind it) is&#xD;
the other.&#xD;
&#xD;
&lt;p&gt; Case in point: fink adds apt-get to the Mac OS, but the&#xD;
result is that updates from Apple and updates from fink&#xD;
compete/collide, and when there&amp;rsquo;s a problem, the natural&#xD;
result is finger-pointing rather than integrated QA.&#xD;
&#xD;
&lt;p&gt; Debian/ubuntu have scaled amazingly well, but they rely on&#xD;
quite a bit of trust. The MS Windows marketplace includes&#xD;
lots of mutually distrustful players, as does the Mac OS X&#xD;
marketplace. It&amp;rsquo;s not at all clear how apt-get and the&#xD;
debian bug tracking system (or ubuntu&amp;rsquo;s launchpad) can scale&#xD;
to support that sort of marketplace.&#xD;
&#xD;
&lt;p&gt; &lt;em&gt;This is a comment I left on &lt;cite&gt;&lt;a&#xD;
href="http://ianmurdock.com/2007/07/21/how-package-management-changed-everything/"&gt;How&#xD;
package management changed everything&lt;/a&gt;&lt;/cite&gt; by Ian&#xD;
Murdock, spotted in a &lt;a&#xD;
href="http://www.tbray.org/ongoing/When/200x/2007/07/25/Tech-Tab-Sweep"&gt;Tim&#xD;
Bray tab sweep&lt;/a&gt;.&lt;/em&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt;tags pending: software installation quality&#xD;
</description>
    </item>
    <item>
      <pubDate>Fri, 22 Jun 2007 18:32:22 GMT</pubDate>
      <title>22 Jun 2007</title>
      <link>http://www.advogato.org/person/connolly/diary.html?start=53</link>
      <guid>http://www.advogato.org/person/connolly/diary.html?start=53</guid>
      <description>&lt;b class="title"&gt;Music Collections and Office Organization&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; It worked this time. I wonder why.&#xD;
&#xD;
&lt;p&gt; I have been trying to rip Paul Simon's&#xD;
&lt;cite&gt;&lt;a&#xD;
href="http://en.wikipedia.org/wiki/Graceland_%28album%29"&gt;Graceland&lt;/a&gt;&lt;/cite&gt;&#xD;
using debian stuff for years. I was&#xD;
sure the CD was&#xD;
mangled beyond recognition, but soundjuicer on Ubuntu on&#xD;
this new&#xD;
HP pavilion just gave me a bunch of .flac files that sound fine.&#xD;
&#xD;
&lt;p&gt; I listened to this album all summer as I wrote &lt;a&#xD;
href="http://dm93.org/z2001/HyperSchool"&gt;80,000 lines of&#xD;
HyperTalk code&lt;/a&gt;&#xD;
back in 1989. I think my copy was on tape at the time.&#xD;
&#xD;
&lt;p&gt; I wonder if the CD I ripped today is the same on I failed to&#xD;
rip so many times earlier or if this is a different CD.&#xD;
&#xD;
&lt;p&gt; This task is in my queue today because the music shelf in my&#xD;
office is poorly organized and overfull, and when I took my&#xD;
worship music binder off the shelf, this CD fell off the&#xD;
shelf. Rather than put it back on the shelf last night, I&#xD;
put it in my "in" box, GTD-style.&#xD;
&#xD;
&lt;p&gt; This wakes up all sorts of long-swapped-out jobs involving&#xD;
organizing my multimedia collection.&#xD;
&#xD;
&lt;p&gt; Mostly I don't do back-ups; I just send email and check&#xD;
stuff in using source code control (CVS for ages, but more&#xD;
recently hg... that's another story [@@delicious scm&#xD;
bookmarks]...). And I use google to find it again.&#xD;
But I don't have license to redistribute these flac files,&#xD;
so I have to manage them myself.&#xD;
&#xD;
&lt;p&gt; Part of me says: don't bother. If I'm going to fill my iPod&#xD;
(shuffle) with things to fill my head, they should be things&#xD;
that&#xD;
glorify God, and while Paul Simon's music is nothing nasty,&#xD;
I'm not sure it glorifies God. Plus, the whole recorded music&#xD;
oligarchy is an unstable marketplace just waiting for a&#xD;
revolution.&#xD;
"If you're whining about iTunes DRM, you're part of the&#xD;
problem," said a slashdot commentor that hit home for me.&#xD;
(@@todo: look it up and link it) much like a conversation&#xD;
with AaronSw&#xD;
about how songs and musicians have been around for a long&#xD;
time, even before you could get rich selling records; if the&#xD;
bottom falls out of the recorded music industry, humanity&#xD;
will go on.&#xD;
&#xD;
&lt;p&gt; &lt;a href="http://musicbrainz.org/" &gt;MusicBrains&lt;/a&gt; solves the&#xD;
shared metadata problem for CDs &#xD;
pretty well, but Rhythmbox doesn't seem to automatically&#xD;
link to it like it used to. It does show album cover art...&#xD;
&#xD;
&lt;p&gt; In trying to figure out why, I looked in the help menu which&#xD;
led me to launchpad which links to IRC&#xD;
channels; those &lt;a&#xD;
href="http://esw.w3.org/topic/UriSchemes/irc"&gt;irc: links&lt;/a&gt;&#xD;
Just Work in Ubuntu. Yay! Except that xchat didn't realize&#xD;
that I was already logged into the Freenode network. Odd.&#xD;
&#xD;
&lt;p&gt; Better get back to other things... everything is so&#xD;
intertwingled I could go on and on...&#xD;
&#xD;
&lt;p&gt; tags:&#xD;
&lt;a rel="tag" href="http://del.icio.us/connolly/digital+media" &gt;digial+media&lt;/a&gt;,&#xD;
&lt;a rel="tag" href="http://del.icio.us/connolly/music" &gt;music&lt;/a&gt;, &#xD;
&lt;a rel="tag" href="http://del.icio.us/connolly/sysadmin" &gt;sysadmin&lt;/a&gt;, &#xD;
&lt;a rel="tag" href="http://del.icio.us/connolly/ubuntu" &gt;ubuntu&lt;/a&gt;, &#xD;
&lt;a rel="tag" href="http://del.icio.us/connolly/debian" &gt;debian&lt;/a&gt;, &#xD;
&lt;a rel="tag" href="http://del.icio.us/connolly/gtd" &gt;gtd&lt;/a&gt;&#xD;
</description>
    </item>
    <item>
      <pubDate>Tue, 5 Jun 2007 17:11:16 GMT</pubDate>
      <title>5 Jun 2007</title>
      <link>http://www.advogato.org/person/connolly/diary.html?start=52</link>
      <guid>http://www.advogato.org/person/connolly/diary.html?start=52</guid>
      <description>Not only does the &lt;a&#xD;
href="http://xorg.freedesktop.org/wiki/nv"&gt;nv driver&lt;/a&gt; not&#xD;
do 3D acceleration, it doesn't seem to do 1600x1050&#xD;
resolution either.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; The nvidia module in the debian non-free section blanked&#xD;
the &#xD;
screen and locked up so badly it required a reboot. When&#xD;
investigating options, that gets old real fast.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; In #debian, the channel bot said:&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;pre&gt;&#xD;
&amp;lt;dpkg&amp;gt; from memory, nvidia_post_etch is update-pciids&#xD;
&amp;amp;&amp;amp;&#xD;
apt-get install module-assistant nvidia-kernel-source&#xD;
&amp;amp;&amp;amp; m-a&#xD;
prepare &amp;amp;&amp;amp; m-a a-i nvidia &amp;amp;&amp;amp; apt-get install&#xD;
nvidia-glx &amp;amp;&amp;amp;&#xD;
depmod -a &amp;amp;&amp;amp; modprobe nvidia &amp;amp;&amp;amp;&#xD;
dpkg-reconfigure xserver-xorg&#xD;
&lt;/pre&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; But that produced the same symptoms.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; Besides... debian fonts are ugly, and they seem to be&#xD;
chosen by a zillion different configuration options;&#xD;
it seems to be a full-time job just finding them all.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; So I'm running Ubuntu now. I'm not sure how I feel about&#xD;
that.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; I replaced the amd64 installation with the stock&#xD;
(quicken-friendly) i386 stuff.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; It comes with evolution 2.10, I think. Slightly more&#xD;
polished. I wonder if subscribing to password-protected&#xD;
calendars works.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; My code to print MS Word docs to PDF fell over; something&#xD;
about templates. So I'm trying to use OpenOffice instead.&#xD;
I &lt;em&gt;almost&lt;/em&gt; got it working. Let's see if ubuntu&#xD;
support will help me out with this...&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;a&#xD;
href="https://bugs.launchpad.net/ubuntu/+source/openoffice.org/+bug/118789"&gt;Bug&#xD;
#118789: trouble using ExportFormFields in uno API; PDF form&#xD;
controls are exported even when set to False&lt;/a&gt;&#xD;
&#xD;
&lt;p&gt; tags: &lt;a rel="tag" href="http://del.icio.us/connolly/office" &gt;office&lt;/a&gt;,&#xD;
&lt;a rel="tag" href="http://del.icio.us/connolly/debian" &gt;debian&lt;/a&gt;,&#xD;
&lt;a rel="tag" href="http://del.icio.us/connolly/ubuntu" &gt;ubuntu&lt;/a&gt;,&#xD;
&lt;a rel="tag" href="http://del.icio.us/connolly/linux" &gt;linux&lt;/a&gt;,&#xD;
&lt;a rel="tag" href="http://del.icio.us/connolly/hardware" &gt;hardware&lt;/a&gt;,&#xD;
</description>
    </item>
    <item>
      <pubDate>Mon, 30 Apr 2007 21:58:21 GMT</pubDate>
      <title>30 Apr 2007</title>
      <link>http://www.advogato.org/person/connolly/diary.html?start=51</link>
      <guid>http://www.advogato.org/person/connolly/diary.html?start=51</guid>
      <description>My desktop PC is a frankenstein, with parts from here and&#xD;
there. It has been crashing and&#xD;
hanging once a week or so since December, and I was getting&#xD;
clues in &lt;tt&gt;#hardware&lt;/tt&gt; on &lt;a&#xD;
href="http://freenode.net/"&gt;FreeNode&lt;/a&gt; about how to&#xD;
diagnose power supply problems. &#xD;
&#xD;
&lt;p&gt; "Put the multimeter away and get yourself a new PC," the&#xD;
systems guys at W3C told me. Still, it wasn't&#xD;
until about a month of  &#xD;
&lt;a href="http://del.icio.us/connolly/hardware" &gt;research on&#xD;
PC hardware&lt;/a&gt; that I outsourced the decision to Brian at&#xD;
the local Micro Center. "I want a quiet machine," I told him.&#xD;
&#xD;
&lt;p&gt; It came down to a choice between two HP Pavilion machines;&#xD;
the &lt;a&#xD;
href="http://h10025.www1.hp.com/ewfrf/wc/product?product=3377275&amp;lc=en&amp;cc=us&amp;dlc=en&amp;submit.y=0&amp;submit.x=0&amp;lang=en&amp;cc=us"&gt;a6030n&lt;/a&gt;&#xD;
with &lt;a href="http://en.wikipedia.org/wiki/Amd_live" &gt;AMD&#xD;
Live!&lt;/a&gt; (Athlon 64 X2 etc.) and the &lt;a&#xD;
href="http://www.microcenter.com/single_product_results.phtml?product_id=0257400"&gt;a6040n&lt;/a&gt;&#xD;
with &lt;a&#xD;
href="http://en.wikipedia.org/wiki/Intel_Viiv"&gt;Intel&#xD;
Viiv&lt;/a&gt; (Core 2 Duo etc.). I picked the AMD machine...&#xD;
partly because the&#xD;
cheaper CPU lets them include 2x the RAM for the same price&#xD;
or a little less... but partly because Intel is the market&#xD;
leader and I like to root for the underdog.&#xD;
&#xD;
&lt;p&gt; I didn't open the box right away when I got it home, because&#xD;
I wanted to research it just a bit more during the 7 day&#xD;
return period without risking a restocking fee.&#xD;
I had some buyer's remorse when I remembered that "at&#xD;
present the &lt;a href="http://xorg.freedesktop.org/wiki/nv" &gt;nv&#xD;
driver&lt;/a&gt; has no 3D acceleration."&#xD;
&#xD;
&lt;p&gt; I'm still wrestling with so many choices:&#xD;
&#xD;
&lt;p&gt; &lt;ul&gt;&#xD;
&lt;li&gt;stick with debian or switch to Ubuntu for integration&#xD;
and support?&#xD;
&lt;li&gt;stick with debian sid or switch to a more stable&#xD;
release?&#xD;
&lt;p&gt;I used to get a few dozen updates when I'd apt-get&#xD;
upgrade after my once-a-month business trip; now it seems&#xD;
that there are hundreds of updates every week; what's going&#xD;
on?&#xD;
&lt;li&gt;Install &lt;a&#xD;
href="http://en.wikipedia.org/wiki/X86-64"&gt;x86-64/amd64&lt;/a&gt;&#xD;
packages or stick with i386?&#xD;
&lt;li&gt;stick with LVM or use the more typical fixed-size&#xD;
partitions?&#xD;
&lt;li&gt;stay with reiserfs or go back to ext3?&#xD;
&lt;/ul&gt;&#xD;
&#xD;
&lt;p&gt; I picked Ubuntu and amd64, at least for starters. I didn't&#xD;
realize I needed the&#xD;
alternate CD image to do LVM until &lt;em&gt;after&lt;/em&gt; I had&#xD;
downloaded the desktop image.&#xD;
&#xD;
&lt;p&gt; The live CD feature is pretty nifty, though it takes longer&#xD;
to come up than a text installer, which starts to add up if&#xD;
you're restarting the install as much as I am. I thought&#xD;
maybe a USB flash disk would be faster than a CD, but it&#xD;
doesn't seem to be. I guess speed varies quite a bit with&#xD;
those things, and the one I was using was a very cheap one.&#xD;
&#xD;
&lt;p&gt; I picked a goal of getting my Quicken-under-wine setup&#xD;
running as a way to get a feel for the amd64/i386 issue, &#xD;
and then I realized... &lt;em&gt;Why am I still tied to&#xD;
quicken?&lt;/em&gt;. &#xD;
I have been noodling about &lt;a&#xD;
href="http://dig.csail.mit.edu/breadcrumbs/node/96"&gt;Quicken,&#xD;
RDF, and JSON&lt;/a&gt; for a while; why hasn't anyone done an&#xD;
AJAX quicken work-alike yet? Of course, the diff/sync&#xD;
problem is interesting too. The &lt;a&#xD;
href="http://ibm-slrp.sourceforge.net/"&gt;IBM Boca&lt;/a&gt; system&#xD;
looks promising. I digress... that's probably a story for my&#xD;
&lt;a&#xD;
href="http://dig.csail.mit.edu/breadcrumbs/blog/2"&gt;semantic&#xD;
web research blog&lt;/a&gt; than this one.&#xD;
&#xD;
&lt;p&gt; On the other hand, the &lt;a&#xD;
href="http://dig.csail.mit.edu/breadcrumbs/node/187"&gt;invited&#xD;
talk by the Mercurial lead developer&lt;/a&gt; probably belongs&#xD;
here as well as there.&#xD;
</description>
    </item>
    <item>
      <pubDate>Fri, 9 Feb 2007 03:10:04 GMT</pubDate>
      <title>9 Feb 2007</title>
      <link>http://www.advogato.org/person/connolly/diary.html?start=50</link>
      <guid>http://www.advogato.org/person/connolly/diary.html?start=50</guid>
      <description>&lt;strong class="title"&gt;Social standards and coding&#xD;
fugues&lt;/strong&gt;&#xD;
&#xD;
&lt;p&gt; I got&#xD;
&lt;cite&gt;&lt;a&#xD;
href="http://en.wikipedia.org/wiki/Cryptonomicon"&gt;Cryptonomicon&lt;/a&gt;&lt;/cite&gt;&#xD;
for Christmas; chalk one up for Amazon wish-lists. It&#xD;
walks the line between geek culture and popular culture&#xD;
in a way that makes me want people close to me to read it so&#xD;
they'll understand me a little better. &#xD;
This bit&#xD;
from p. 819&#xD;
struck a chord...&#xD;
&#xD;
&lt;p&gt; &lt;blockquote&gt;&#xD;
&lt;p&gt;"Who framed me, then?" Randy asks, kind of rhetorically.&#xD;
He was just in the middle of doing some pretty cool C++&#xD;
coding when he got yanked out of his cell to have this&#xD;
surprise encounter with the Dentist, and is surprising&#xD;
himself with just how bored and irritated he is. He has&#xD;
reverted, in other words, back into a pure balls-to-the-wall&#xD;
nerdisim rivaled only by his early game-coding days back in&#xD;
Seattle. The sheer depth and involution of the current&#xD;
nerdism binge would be hard to convey to anyone.&#xD;
&lt;strong&gt;Intellectually, he is juggling half a dozen lit torches,&#xD;
Ming vases, live puppies, and running chainsaws.&lt;/strong&gt; In&#xD;
this&#xD;
frame of mind he cannot bring himself to give a shit about&#xD;
the fact that this incredibly powerful billionaire has gone&#xD;
to a lot of trouble to come and F2F with him. And so he asks&#xD;
the above question as nothing more than a perfunctory&#xD;
guesture, the subtext being &lt;em&gt;I wish you would go away but&#xD;
minimal standards of social decency dictate that I should&#xD;
say something.&lt;/em&gt;&#xD;
&#xD;
&lt;/blockquote&gt;&#xD;
&#xD;
&lt;p&gt; In other news, &lt;a&#xD;
href="http://www.advogato.org/person/robogato/diary.html?start=17"&gt;Advogato&#xD;
does foaf&lt;/a&gt;, the Semantic Web social networking standard.&#xD;
Rock on, robogato!&#xD;
</description>
    </item>
    <item>
      <pubDate>Fri, 5 Jan 2007 15:30:30 GMT</pubDate>
      <title>5 Jan 2007</title>
      <link>http://www.advogato.org/person/connolly/diary.html?start=49</link>
      <guid>http://www.advogato.org/person/connolly/diary.html?start=49</guid>
      <description>&lt;ul&gt;&#xD;
&lt;li&gt;18:98992cbff4fd 2007-01-04 work around MS Exchange&#xD;
attachment bug&#xD;
&lt;/ul&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;blockquote&gt;&#xD;
&lt;p&gt;Exchange 2000 Server requires a file name in the&#xD;
Content-type header.&#xD;
&lt;a href="http://support.microsoft.com/kb/836555" &gt;&lt;cite&gt;Q12:&#xD;
How does Exchange handle attachments?&lt;/cite&gt; Microsoft&#xD;
Article 836555&lt;/a&gt;&#xD;
&lt;/blockquote&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt;I bet you can guess the rest of the story, but I hope to&#xD;
write it up later today.&#xD;
&#xD;
&lt;p&gt; &lt;a&#xD;
href="http://chatlogs.planetrdf.com/swig/2007-01-04.html#T21-49-44"&gt;#swig&#xD;
notes&lt;/a&gt;</description>
    </item>
    <item>
      <pubDate>Fri, 8 Dec 2006 20:10:16 GMT</pubDate>
      <title>8 Dec 2006</title>
      <link>http://www.advogato.org/person/connolly/diary.html?start=48</link>
      <guid>http://www.advogato.org/person/connolly/diary.html?start=48</guid>
      <description>&lt;p class="title"&gt;&lt;b&gt;appscript and office automation&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt;&#xD;
  My wife does office work for a local professional and&#xD;
whenever I&#xD;
  see her doing work that I know the computer could do for&#xD;
her, I&#xD;
  chip in. The end-of-the-month scramble is a clear case:&#xD;
they take&#xD;
  client reports, print them out and then manually sort them by&#xD;
  officer and fax them out.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt;&#xD;
  Surely I could do better with &lt;a href="http://www.faxaway.com/" &gt;faxaway,&lt;/a&gt; I thought. The only&#xD;
  question was: since the reports are in MS Word and the&#xD;
database&#xD;
  is in FileMaker Pro, all on a Mac laptop, how much would I&#xD;
have&#xD;
  to sell my soul to Apple and Microsoft in the process?&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt;&#xD;
  &lt;a href="http://appscript.sourceforge.net/" &gt;appscript&lt;/a&gt;&#xD;
let me&#xD;
  drive the process from python. I did &lt;a&#xD;
href="http://dm93.org/z2001/HyperSchool"&gt;quite a bit of&#xD;
HyperTalk&#xD;
  programming&lt;/a&gt;, but somehow I'm still a bit mystified by&#xD;
  AppleScript: which are the language keywords and which are the&#xD;
  application vocabulary? The &lt;a href="http://pythonmac.org/wiki/FileMakerProAppscriptingOverview" &gt;FileMakerAppscriptingOverview&lt;/a&gt;&#xD;
  made it trivial to crib bits like:&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;pre&gt;&#xD;
    fm = app("FileMaker Pro")&#xD;
    if not fm.databases[db].exists():&#xD;
        fm.open(FSSpec(path % db))&#xD;
        return fm.databases[db]&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;&#xD;
FSSPec is deprecated in the &lt;a href="http://developer.apple.com/documentation/Carbon/Reference/File_Manager/Reference/reference.html" &gt;&#xD;
  Carbon docs&lt;/a&gt;, but I never did figure out a replacement.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt;&#xD;
  appscript's integration of AppleScript references into python&#xD;
  with its and con is particularly cute, but I pulled a bit&#xD;
of hair&#xD;
  out before I figured out how to use it:&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;pre&gt;&#xD;
def officerFax(db, oName, cName):&#xD;
    # hmm... I'm not sure why this str() is necessary...&#xD;
    officers = db.tables['officers'].records[&#xD;
            its.fields['name'].cellValue == str(oName)]&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;&#xD;
  If FileMaker has a way to use real SQL, I can't find it. Plus,&#xD;
  we're running a PowerPC version on an intel MacBook with only&#xD;
  0.5GB of RAM. Emulating FileMaker and MS Word is using a&#xD;
lot of&#xD;
  RAM, I suspect. I looked into open source alternatives and&#xD;
found&#xD;
  that &lt;a href="http://www.openoffice.org/product/base.html" &gt;OpenOffice's&#xD;
  Base&lt;/a&gt; looks quite capable, and I'm sure oowriter would&#xD;
do the&#xD;
  job as an MS Word replacement. I hope the &lt;a href="http://udk.openoffice.org/python/python-bridge.html" &gt;python-uno&#xD;
  bridge&lt;/a&gt; works on OS X so that I can switch the whole&#xD;
operation&#xD;
  over one of these moths.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt;&#xD;
  I did pay a price for not doing it The Apple Way. &lt;a href="http://developer.apple.com/qa/qa2001/qa1018.html" &gt;Technical&#xD;
  Q&amp;amp;A QA1018 Using AppleScript to send an email with an&#xD;
  attachment&lt;/a&gt; shows exactly how to attach a report to a mail&#xD;
  message and send it to faxaway. I was able to create and&#xD;
address&#xD;
  a mail message from python/appscript, but making the&#xD;
attachment&#xD;
  stumped me. After verifying that the AppleScript example does&#xD;
  work as advertised, I gave up and wrote a separate&#xD;
  &lt;tt&gt;mailfaxes.py&lt;/tt&gt; program that uses python's &lt;a href="http://docs.python.org/lib/module-email.html" &gt;email&lt;/a&gt; and&#xD;
  &lt;a href="http://docs.python.org/lib/module-smtplib.html" &gt;smtplib&lt;/a&gt;&#xD;
  modules and skips Mail.app altogether. I had to be a little&#xD;
  careful since the laptop runs python2.3 and the email modules&#xD;
  have been rearranged a bit in python 2.4 and 2.5, but it was&#xD;
  reasonably straightforward.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt;&#xD;
  Driving MS Word was, predicably, even klunkier:&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; &lt;p&gt;   &lt;pre&gt;&#xD;
TMP="fax_job.htm"&#xD;
def asHTML(w, dirpath, fname):&#xD;
    """save current doc as HTML&#xD;
    """&#xD;
    w.do_Visual_Basic('ActiveDocument.SaveAs FileName:="%s",'&#xD;
        ' FileFormat:= wdFormatHTML,'&#xD;
        ' HTMLDisplayOnlyOutput:=True' % (TMP,))&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;&#xD;
Office X has an AppleScript interface, but it's not as rich&#xD;
as the Visual Basic API. I got Word to save as HTML (for&#xD;
processing&#xD;
with &lt;a href="http://www.crummy.com/software/BeautifulSoup/" &gt;BeautifulSoup&lt;/a&gt;)&#xD;
but I never did figure out how to tell MS Word which&#xD;
directory to&#xD;
put it in. I wrote a posix2mac() routine to convert&#xD;
&lt;tt&gt;/posix/paths&lt;/tt&gt; to &lt;tt&gt;::mac:paths&lt;/tt&gt; as used in&#xD;
AppleScript but that didn't help; I ended up with a hard-coded&#xD;
kludge.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt;&#xD;
  Switching syntaxes with &lt;tt&gt;do_Visual_Basic&lt;/tt&gt; is a&#xD;
little bit&#xD;
  painful, but when it goes bad the diagnostics are pretty good.&#xD;
  "ActivePrinter is read-only on the Macintosh," it said, where&#xD;
  &lt;tt&gt;w.active_printer = p&lt;/tt&gt; had just failed silently. The&#xD;
  modern VB.NET &lt;a href="http://msdn2.microsoft.com/en-gb/library/microsoft.office.tools.word.document.printout(VS.80).aspx" &gt;&#xD;
  PrintOut&lt;/a&gt; documentation isn't hard to find, but it's a&#xD;
little&#xD;
  more tricky to find the &lt;a href="http://msdn2.microsoft.com/en-us/library/aa279125(office.10).aspx" &gt;&#xD;
  2002 PrintOut docs&lt;/a&gt; that are more relevant. I never did get&#xD;
  PrintToFile working, nor did I find a way to script the PDF&#xD;
  option in Apple's print dialogs. Thank goodness for the &lt;a&#xD;
href=&#xD;
 &#xD;
"http://lists.apple.com/archives/Applescript-users/2006/Aug/msg00336.html"&gt;&#xD;
  Appscript, Word and PDF clue&lt;/a&gt; which pointed me to &lt;a href="http://www.codepoetry.net/projects/cups-pdf-for-mosx" &gt;CUPS-PDF&#xD;
  for Mac OS X&lt;/a&gt;. It worked as advertised, though writing&#xD;
code to&#xD;
  wait for a new PDF document in ~/Desktop/cups-pdf/ was&#xD;
tricky; we&#xD;
  sent a number of reports to the wrong place due to a timing&#xD;
  bug.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt;&#xD;
  The &lt;a href="http://developer.apple.com/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_python/chapter_17_section_1.html" &gt;&#xD;
  Python Bindings for Quartz 2D&lt;/a&gt; rock; composing fax&#xD;
cover pages&#xD;
  couldn't be easier than this:&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;pre&gt;&#xD;
htmltxt = coverHTML(oName, fax, subject, pages)&#xD;
ctx.drawHTMLTextInRect(&#xD;
        CG.CGDataProviderCreateWithString(htmltxt),&#xD;
        pageRect.inset(72, 72))&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;&#xD;
and concatenating several PDFs into one was similarly&#xD;
straightforward. It doesn't hurt that faxing is Apple's example&#xD;
application.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt;For reference:&#xD;
&lt;pre&gt;&#xD;
hh-fax2$ hg log --template '#rev#:#node|short#&#xD;
#date|shortdate# #desc|firstline|strip#\n'&#xD;
11:7b497e5881d8 2006-12-07 fixed nasty timing bug with PDF&#xD;
virtual printer&#xD;
10:5fbd62cf7025 2006-12-07 fixed SMTP details&#xD;
9:adbc7966d42d 2006-12-07 back to faxaway&#xD;
8:89f2688b85fc 2006-12-07 smtp host arg&#xD;
7:eb4eba0ed22c 2006-12-07 mailfaxes.py starting to work&#xD;
6:c317d0cb9956 2006-12-07 prepares one PDF doc per officer&#xD;
5:fe8a79a7ed9f 2006-12-06 faxjob.py iterates over reports&#xD;
and looks up fax numbers&#xD;
4:52f42112c287 2006-12-06 better diagnostics&#xD;
3:862514804543 2006-12-04 officer update mostly working&#xD;
2:61dfc88ab652 2006-12-04 connecting to FM from py works&#xD;
1:a1f813e53e79 2006-12-02 HTML/CSS page break test&#xD;
0:aa2d0cc8a7e9 2006-12-02 save as html, doc export working&#xD;
&lt;/pre&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;div&gt;&#xD;
  Tags: &lt;a href="http://del.icio.us/connolly/python" &gt;python&lt;/a&gt;&#xD;
  &lt;a href="http://del.icio.us/connolly/office" &gt;office&lt;/a&gt; &lt;a&#xD;
href=&#xD;
  "http://del.icio.us/connolly/mac"&gt;mac&lt;/a&gt;&#xD;
&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Tue, 24 Oct 2006 02:31:15 GMT</pubDate>
      <title>24 Oct 2006</title>
      <link>http://www.advogato.org/person/connolly/diary.html?start=47</link>
      <guid>http://www.advogato.org/person/connolly/diary.html?start=47</guid>
      <description>&lt;b&gt;Worse is better for external disk enclosures too&lt;/b&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt;I got a &lt;a&#xD;
href="http://en.wikipedia.org/wiki/Usb"&gt;USB&lt;/a&gt; 2.0 disk&#xD;
enclosure this week. It's much quieter than the FireWire&#xD;
enclosure I bought in Oct 2003. I thought surely it was&#xD;
slower, but it's not.&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt;I learned assembly on a &lt;a&#xD;
href="http://en.wikipedia.org/wiki/Motorola_6809"&gt;6809E&lt;/a&gt;;&#xD;
I thought people were crazy to deal with the 8-bit shackles&#xD;
of the 6502 and the broken&#xD;
segmented architecture of the 8086, though I&#xD;
could see Intel beat Motorola to market with each new&#xD;
generation. I'm a sucker for elegant technology. I paid the&#xD;
SCSI premium for years. I never actually bought a NuBus Mac&#xD;
nor a Newton, but I wanted to. I bought 2 PowerPC Macs, the&#xD;
last one just before even Apple switched to Intel. But&#xD;
slowly, I'm learning: worse is better. As a Web guy, I&#xD;
should know that even a dollar per part is a lot when you're&#xD;
talking about hundreds of millions of parts...&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;blockquote&gt;&#xD;
However, Intel was not interested in paying the near-dollar&#xD;
license fee to add an IEEE 1394 subsystem to their board.&#xD;
The fee was reduced to a flat 25 cents, but Intel prefered&#xD;
to push for its own USB 2.0 standard. As a result, they were&#xD;
rarely provided as standard equipment on computers other&#xD;
than Apple Macintosh computers (Apple owns rights to the&#xD;
FireWire standard), and peripheral manufacturers offered&#xD;
many more USB devices.&#xD;
&lt;/blockquote&gt;&#xD;
&#xD;
&lt;p&gt; &lt;p&gt; &lt;p&gt; I divested from SCSI a few years aog; all my disks are&#xD;
commodity IDE now. I'm keeping an eye&#xD;
on &lt;a&#xD;
href="http://en.wikipedia.org/wiki/Serial_ATA"&gt;SATA&lt;/a&gt; but&#xD;
haven't jumped yet.&#xD;
</description>
    </item>
  </channel>
</rss>
