Older blog entries for lloydwood (starting at number 85)

13 Apr 2010 (updated 13 Apr 2010 at 16:48 UTC) »
I blinked.

Although NTT DoCoMo removed some HTML tags, it also added some new ones. The <blink> tag makes text turn on and off.

-- Andrew S. Tanenbaum, Computer Networks, 4th edition, section 7.3, p. 669, Prentice Hall.

Louis J. Montulli II disagrees about the origins of <blink>, of course. And Tanenbaum follows that with an introduction to WAP.

It's entirely fair to say that the fourth edition of Computer Networks could be better, though it's perhaps not as poor as the third edition. I think the second edition provides a graceful introduction to the importance of networking layering, even if it is somewhat OSI-centric, and that it is much better for learning about fundamental principles of networking. The second edition is timeless. The fourth, not so much. But then it's trying to cover much more ground.

Gnome again, Gnome again, jiggety jig

I've previously discussed my success in filing Gnome bugs. I filed a report on a trivial coding error with GIMP plugins - pretty basic beginner shell- script quoting-variable problems - to be told that I'd need to fix it myself.

So I looked at developing for GIMP. The GIMP developer documentation currently says GIMP development is done using CVS. Apparently that's no longer true, and it's now done using git, after skidding through subversion somewhere along the way. And their documentation hasn't been updated. I couldn't find out why the code management toolset was changed, but I imagine fashion has an awful lot to do with it.

So. "We won't fix your bug, and we won't update our documentation to tell you how to become a GIMP developer so you can fix it yourself." Awesome.

Well, so much for me contributing to GNOME. All hail the magic sharing pixie dust power of open source!

6 Dec 2009 (updated 6 Dec 2009 at 23:56 UTC) »

I released SaVi 1.4.3 today; just a six-monthly minor update staying current with distributions, and checked to work on Mac OS X Snow Leopard, Fedora 12, and Ubuntu 9.10.

Sourceforge's admin interface has changed a lot since my last update, and not necessarily for the better. Figuring out the file release widget took some doing.


As I'm now finding myself with free time, I played a little with my SaVi satellite visualization software to bring it uptodate with compilers and platforms, and pushed out a SaVi development update.

In doing this, it was interesting to discover that:

  • the Mac OS X menu breakage in 10.5 Leopard's Tk 8.4.7 is fixed in 10.6 Snow Leopard and Tk 8.5.7. SaVi finally has the look and feel of a bona fide Mac app, albeit one that requires XCode, being compiled, and being launched from the command line. Tk's infinite looping when listboxes are too large is fixed too. Should I somehow specialcase for 10.5?
  • Installing Ubuntu 9.10 under VirtualBox is really slick and easy (though its packaging of Tcl and Tk seems a little odd.) If you're on Windows, I think it's now preferable to Cygwin, which is less good than it used to be.
  • Installing FreeBSD 7.2 under VirtualBox is not slick or easy. Attempting to set it up on a Mac, of all things, just feels wrong, and that's before you get to selecting partition sizes in the 80s DOS character window of yore. I gave up.
  • Ubuntu's gcc 4.4 really is pedantic. Every conversion from unsigned to signed or from non-const to const gets mentioned. And just when I thought I had fairly clean codeā€¦

Also interesting to note a recent unheralded SaVi rendering appearance in a post by Mark 'Robert X. Cringely' Stephens. Requests for an attribution were ignored and deleted. Charming. Interestingly, it's the same SaVi Teledesic rendering that was reused without proper attribution in a rather poor 2000 IEEE Communications Surveys paper; they took it down, and rethought their editorial policies and such. Not Cringely. Cringely's Wikipedia page told me all I needed to know.

24 Sep 2009 (updated 24 Sep 2009 at 20:47 UTC) »

Double-plus ungood

My ++ungood; T-shirt design turns up as part of the London Word Festival in Karen McCarthy's "My T-shirt says" installation.

Alas, the meandering musing on the meaning of the shirt by its wearer completely misses any Orwellian or programming subtexts. I much prefer the original official NTK T-shirt installation, even if that did have to explain everything.

In other less-than-good news, I'm being laid off, and seeking interesting employment, possibly involving satellites.

23 May 2009 (updated 25 May 2009 at 21:05 UTC) »

I nominated SaVi to the Sourceforge community choice awards in the 'Best project for academia' category, despite the chances of SaVi winning or being nominated by anyone else being roughly zero. Prove me wrong.

I'm ever the optimist.

19 Apr 2009 (updated 23 May 2009 at 07:40 UTC) »

Microsoft's great file copying

We'll continue to support XP, and XP is a great operating system, but keep in mind, it will be 12 years old next year.

-- Kevin Turner, Chief Operating Officer for Microsoft,
Vista SP2 and Windows 7 More Secure than Linux and Mac OS X Leopard, Microsoft claims, Softpedia.

Great operating system? Windows XP's file handling is a joke. For example, try copying files from one disk to another by dragging in Windows Explorer. If XP runs into a single problem, it throws up a dialog box and stops copying entirely; figuring out what got copied and what didn't is your problem. COPY under DOS (sorry, cmd) is a joke. The included XCOPY and its switches attempts to make up for COPY's shortcomings, but is still no cp -pir.

So you wind up using third-party utilities, such as the free Ycopy, to do something as basic to a "great operating system" as copying files.

Writing a robust file copy function strikes me as something that is a lot easier than implementing good security, and I've yet to see Microsoft do that in its many patches and service packs. (Was XP "great" before all the patches and service packs, or after?)

Update: Ycopy skips copying all Eudora *.mbx files, even though Eudora is not running and the files are not open. And it's entirely unsupported. So I'm still looking for a robust free Windows file copy utility; next up: evaluating TeraCopy (1.22 hung on me a lot) and RichCopy (which seems to be adequate).

Cygwin and X regressions

Previously, I said that Cygwin was so much easier than the Mac (at least, as far as Macintosh Tcl/Tk went).

I updated my Cygwin install, and inadvertently picked up their new X server code announced in November. I tried the new X installation out with SaVi and Geomview. There's no hardware acceleration yet, but Geomview finally builds with just configure and make; no command-line nudges needed.

Geomview runs for about thirty seconds before the X server dies and takes everything with it. I've watched the X server exhaust resources so that I can't even pull down a menu in a Windows program. Having a slightly easier build environment does not compensate for the loss of a robust and reliable working environment (and an X server that had hardware acceleration, to boot).

Previously, Cygwin was so much easier than a Mac.

16 Feb 2009 (updated 1 Aug 2010 at 14:21 UTC) »

Tcl/Tk on Mac OS X

...is complex, bizarre, and quite oddly broken.

I maintain SaVi, which uses Tcl/Tk, and is reasonably crossplatform and portable thanks to relying on the unix C libraries, turning on every useful warning flag, and keeping its decades-old code uptodate with compiler changes etc.

Porting SaVi to Mac OS X 10.4 Tiger meant updating SaVi's ten-year-old menubar code to use newer menu commands which know about the Mac menubar. (This also produced more Windows-like menus under Cygwin's Insight Tcl/Tk.) Workarounds for Mac-only Tk crashes - don't make your listbox too wide or Aqua Tk will hang in an infinite drawing loop! - were found.

Then 10.5 Leopard came out and I bought an Intel Macbook, expecting to run SaVi in style. The Tcl/Tk menuing code that worked in Tiger didn't work in Leopard's Xcode with its Tcl/TK 8.4.7 install. At all. (Other Leopard bugs with OpenGL linking and so on took a while to find workarounds for, but not having working menus is a bit of a showstopper.)

So, I immediately retrofitted my old code, with a command-line flag to select menu drawing methods. Popop menus from the window on a Mac aren't elegant, but they're functional. And I started to look into the menubar problem and Tcl/Tk on the Mac more closely.

Over a year later, I'm giving up. I haven't found a fix for the menubar problem with the default Tcl/Tk 8.4.7 install. I've attempted to update the installed version of Tcl/Tk, using ActiveState, Fink, and reputable Aqua installers. These all install something, but don't dare touch the libraries in /usr/lib, to avoid breaking things. So, SaVi always gets compiled with Tcl/Tk 8.4.7, because /usr/lib is where the compiler looks.

Now, is the menubar problem fixed in later versions of Mac Tcl/Tk? The answer to that question doesn't matter, because the chances of SaVi's Mac Leopard userbase building SaVi with anything but Tcl/Tk 8.4.7 is vanishingly small. Saying 'just double-click this Tcl/Tk installer after you install Xcode' is a non-starter, because those installers don't update any libraries in the default locations that I can link to. Those packages seem to be emphasising the Mac-specific Framework stuff, rather than the crossplatform unix libraries.

(Complicating things slightly is that on the Mac there's the 'Aqua Tk' and the 'X Tk'. SaVi is a unix program, but lost its X dependencies years ago to work with Cygwin's Insight Tcl. So SaVi takes full advantage of Aqua Tk and the Mac interface. Apart from the menubar, of course. I haven't needed to experiment with the X Tk.)

SaVi 1.4.2, released last week, is my admission of failure. It is the first version of SaVi to default to popup menus on the Mac; Tiger users will just have to turn this off.

Cygwin was so much easier and simpler than the Mac.

Update: The menubar problem was fixed in the Mac OS X 10.6 Snow Leopard release.

76 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!