The Wayback Machine - https://web.archive.org/web/20170629163835/http://www.advogato.org/person/ncm/diary.html?start=141

Older blog entries for ncm (starting at number 141)

22 Jun 2006 (updated 24 Jun 2006 at 02:14 UTC) »
Congratulations to the Monotone crew on releasing version 0.27.

My new favorite science blog is Darren Naish's. He easily beats PZMyers for sheer fascination density: apatosauruses cannot have had front toenails, because they had no front toes; those Texan monster pterosaurs must have fished like storks. For funny, let me direct you to Harry Hutton: "Having testicles is like being chained to the village idiot. Sad, but there it is." My favorite book at the moment is Jared Diamond's Collapse: How Societies Choose to Succeed or Fail. I've been waiting to read it for more than a year, and it turns out to be easily worth the wait: You know those Norsemen who starved to death in Greenland? Not a single fish scale has ever turned up in any Norse trash midden.

My total take from Google's program to encourage downloading Firefox to replace IE (as implemented by Explorer Destroyer) is up to US$24.20, for 45 conversions.

My brother-in-law contributed an "old" 2.4GHz Shuttle box to replace my mother-in-law's 400MHz VALinux box, which worked OK, but whose disk drive was too noisy, and whose software was ancient Red Hat. I installed Ubuntu pre-6.06. It was a real chore; it froze up quite a few times during installation, I suppose because of CD-ROM read errors, and then failed, absolutely repeatably, to install Grub at the end. Maybe it didn't like installing on an IDE "slave" with no "master" in sight. I had to install and configure Grub by hand.

Then, running, it was notably slower than the old box. An old Matrox G450 in place of the bus-stealing SiS chipset on the motherboard (refreshing 1600x1200 may have been too much for the SiS), and all was well. Actually, not quite: it would freeze when trying to run a GL program overnight (e.g. screen saver!). Replacing the Matrox with a US$50 ATI Radeon 7000 fixed that.

Her printer is an old parallel-port HP-LJ5P, but the Shuttle has no parallel connector on the back. (It has one on the motherboard, but the pin spacing is non-standard.) Curiously, PCI and USB parallel adapters I tried failed in almost the same way: each works fine the first day, but never again despite power cyclings and configuration erasures. To get each print job to come out, she has to hit the reset button on the printer after queuing the job. On the old box that was never necessary, but sometimes it would just quit printing halfway through a page, and then start again at the beginning after power-cycling the printer. That hasn't happened lately. Who knew parallel ports were so mysterious?

Just for curiosity, I tried building and installing the Mach64 DRM kernel module. It made glxgears slightly faster, but made rendering of background images in ppracer intolerably buggy, and, strangely, added from a half to several seconds' delay to X interactions. Now I'm running 2.6.17 without DRI, but with the TI acx-111 driver from Andrew Morton's -mm tree. I wondered why no new version of that driver had showed up at the driver website since the (very buggy) Feb 15 version, until Linux Weekly News spilled the beans.

My Corinex Ethernet-Phoneline Bridges that I got back on warranty replacement (after lightning destroyed them; now they are connected through arrestors, that might even work!) have been failing due to overheating lately. I extracted the PC board from the case of one, and moved it down from near the ceiling; let's see if that helps.

wingo: Congratulations on your cameo in Pixars' new movie Cars.

Thus far my web site has persuaded 29 people to download Firefox to replace their MSIE browser, yielding a personal benefit to myself of precisely $16 (tx Google). This is far from enough to pay for the time it took to set it up, yet it's curiously gratifying. Google ads have paid for about half my hosting costs, again worth far less than the time to set it up, but enough not to rip them back out (yet).

karlberry: Be glad you didn't end up with SiS video. Refreshing a screen that big from stolen system RAM would have left you with precious little memory-bus bandwidth for running programs. When I put an old Matrox G450 with on-board RAM in a Shuttle box with on-board SiS and a 1600x1200 screen, programs suddenly ran >5x faster.

6 Apr 2006 (updated 28 May 2006 at 22:32 UTC) »

I hereby define a new technical term, wanklage, to refer to any language whose primary raison d'etre is to allow its fans to pretend superiority over users of actually-useful languages. Of course the canonical computer wanklage is LISP; among human languages, what? Academy French? Medieval Latin?

Now that they're talking about US$5/carat (that's $25/g) for diamond, there are all sorts of things to do with diamond nobody ever did before. Diamond-bottom frying pans (passivated with, what, nitrogen?, for that non-stick surface), diamond teeth (pace Terry Pratchett), diamond bicycle chains, diamond lock tumblers, diamond arrows, diamond eyeglasses (frame included?), diamond ice-skate blades, diamond piston rings, cylinder sleeves, valve seats, valve lifters, bearing races, clutch plates & brake discs, diamond glue-on fingernails, diamond watch crystals, diamond mechanical watches (gears & all), diamond electric-range tops, free-standing diamond pellet-stoves, diamond kitchen knives, flatware & plates, diamond floor tiles, diamond plate-glass windows, diamond camera lenses, diamond scalpels & disposable razors, diamond scissors, diamond optical fiber, diamond rope, diamond wool, diamond lamé. Heaven forfend somebody patents all this obvious stuff. Where can we send a list like this to make sure that doesn't happen?

Lightning took out my (until now wonderful!) pair of Corinex "AV Ethernet-Phoneline Bridge" boxes, my mother-in-law's Tulip card connected to one of them (!), and both her wireless phone base and its wall-wart power supply. We actually had an arc through the air in the house, with a loud "snap". My dad says tying a simple, tight knot in the power cord is enough to protect against ("most") lightning surges. I wonder how to test the idea...

I just figured out why Google calls their web-ad program "Add-cents": my pages earned all of 61 cents in their first week. (Probably half of that was from my own experimentation. Nobody tell Google!)

It shouldn't be hard to get enormous compression for something like GMail -- imagine how many copies of the same virus, and of the same stupid .jpeg of an adorable kitten, they have stored as attachments. My brother-in-law insists they aren't doing it, though, for reliability or something.

I have worked on two laptops, now, where an ACPI suspend-to-RAM and resume fails to restore all of hardware-backed Xv's color settings. My old Compaq (mach64) loses its color saturation, and my brother's spanking new Toshiba (i915) loses its contrast setting. My own googling doesn't find anybody else mentioning the problem. Has nobody else seen this? I had to add an "xvattr" command to the resume script. xvattr doesn't have a "save all" and "reload all" option, so it would be hard to fix this across the board; maybe I should send a patch. Furthermore, too much tinkering in gxvattr crashes the X server.

In fooling with the two machines, I noticed that the color obtainable on a Toshiba M45's screen is much poorer than on my old Compaq E500. (Both were running at 16 bits/pixel.) Is the i915 driver bad at mapping between color spaces?

My brother runs up-to-the-minute (OK, "-last-week") Ubuntu Dapper. He called Sunday asking why the desktop panel was hopping from one screen-edge to the next, following the mouse around on the desktop like a puppydog. I had no answer. I have a question of my own, though: does gnome-panel have an upstream maintainer?

I just discovered Schlock Mercenary and had to spend several days reading it through, starting from 2001. A bound book is due next month.

shlomif: Do you know about ":wq"? Or "ZZ"?

13 Mar 2006 (updated 13 Mar 2006 at 23:19 UTC) »

Delivered the Toshiba laptop running Ubuntu to my brother, to general approval. I got the automatic wireless network configuration working, but had to turn Ethernet off because the sky2 driver was too flaky. The Flightgear flight simulator got fixed in time for delivery. Unfortunately I had to install Macromedia's proprietary flash player, as too many of the pages he depends on demand it.

Cranky observation of the day: planetary scientists crowing about liquid water on Saturn's moon Enceladus are going on record saying very silly things. Actually look at those jets of ice particles: they're collimated. Vapor doesn't expand into a vacuum that way. How would that happen? If you're desperate you might imagine parabolic nozzles embedded in the ice and pumped at extreme pressure. A better guess would be that the ice particles are carrying electric charge away from the surface, as part of the electric circuit Enceladus is part of (Enceladus is a conductor moving in Saturn's magnetic field), but you won't find any mention of that in any NASA/JPL/ESA press release.

nconway: The answer to your questions is very simple: don't define a local variable until you have something to put in it. Of course this advice is easier to follow in C++ than in C, where variables may be defined anywhere in the block. If you must code C, either compile with a C++ compiler (and explore other language refinements while you're at it), or add an extra "{" before each variable definition in the middle of a block. (Just pile up extra "}}}" closes at block end.) In practice this is rarely needed, because there's usually something useful to put into variables even at the top of the block. Where it is needed, it makes finding the definition easier. (When coding C++, I always leave an extra space between the type and the local variable name, just for that reason; it's the least intrusive of all possible markings.)

The "gnome-panel" auto-hide feature has been nonfunctional for longer than ever before. Usually it is broken in one major release and fixed in the next, but it's just stayed broken through 2.10 and 2.12. It always seems to work, but later when I look at the bottom of the screen, there it is, un-hid and covering up my browser's status bar.

29 Jan 2006 (updated 30 Jan 2006 at 12:41 UTC) »

(U.S. only:) If ever there was a time to call your Senators, at 888-355-3588, this is it: demand he or she do everything possible to scotch Alito's appointment to the Supreme Court. Make clear that you see him as an immediate threat to American democracy. This isn't a partisan issue: the rule of law is necessary for everyone who's not a criminal, and most of them, too. (I called my Senators for the first time ever, this week.)

My brother, without checking with me first, bought a laptop, and then asked me to get Linux up on it. I put Ubuntu GNU/Linux "Dapper" on his Toshiba Satellite M45-359, and wrote up the experience of the subsequent three weeks getting it in trim. In short, everything works (incl. sleep mode, XVideo and DRI GL, wireless, CD/DVD burner, audio, USB2) except the CardBus (PCMCIA) slot and the FlashMedia (MMC/SD/SM) slot. Both of those ought to start working when the TI PCIxx21 chip gets driver support. No doubt DMA on SATA ATAPI will work soon, too; in the meantime it's using a slow and CPU-hungry PIO mode. All this is on the vanilla Ubuntu 2.6.15 kernel package. It really shouldn't have taken so much work, but Ubuntu made it a lot better than it might have been. I am still working on getting wireless networking to self-configure, though.

Congratulations to the people working on the TI ACX-111 wireless driver. For the first time, the LinkSys WPC54G (v2) CardBus 802.11b/g gadget I bought more-or-less by accident in July finally works, and I can retire my pile of used Orinoco cards. (Beware, v3 has a different chip.)

As part of getting the Toshiba working, I discovered that all my Synaptics touchpads will do a "click middle button" and "click right button" if you tap the upper- and (respectively) lower-right corners of the pad.

I just found out about Philip Pullman and "His Dark Materials", aimed at a similar audience as -- but by all accounts much, much better than -- "Lord of the Rings" and "Chronicles of Narnia". On a (barely) related note, I got my copy of Terry Bisson's "Pirates of the Universe" that I bought direct from the author, a curiously satisfying transaction.

pcolijn: The path of least resistance really is to proceed to Emacs -- but you needn't give up your hard-earned Vi chops. Standard-issue Emacs comes with "viper-mode", a "major mode" that is a very respectable (and respectful) implementation of Vi. Remarkably, despite its true Vi-ness, regular Emacs commands still work! Against all reasonable expectation, the key assignments for the two editors are very nearly disjoint, except where they actually coincide (e.g. arrow keys).

I finally discovered how to make Gaim reconnect automagically: "apt-get install gaim-irchelper", and then mess with preferences.

My Linksys WRT54GL wireless router, with Sveasoft Alchemy firmware, stops relaying wireless packets every few hours or days, until power-cycled. Hardware failure, or flaky software? Maybe time to upgrade, maybe to non-Sveasoft code -- all the good stuff is in the mainline kernel, nowadays, right? (Earlier, I found that if Alchemy ever lost contact with one of its relay nodes, it would start hammering its upstream router with thousands of ARP requests per second. I wonder if that's been fixed yet. I moved the nodes closer together.)

The movie "Star Wreck: in the Pirkinning", available for free download or, now, on DVD, really is an astonishing accomplishment. Everything that wasn't filmed on location was shot against blue tile in the producer's apartment, and the background (and the control consoles!) rendered in. The bridge crew were filmed one at a time and pasted together, so the whole set is really just one office chair and one pair of thigh-high boots, shared among everybody on-screen. All that, and very funny too.

rmathew: The premier Free Source Code Browsing Tool these days is Synopsis, by Stefan Seefeld of Fresco project fame.

msevior: Any reason for neglecting Australia's greenhouse convection towers, in discussions of solar-power alternatives to nukes? Incidentally, it was demonstrated over and over again that an American nuke plant can reliably be taken over by one insider and only three or four attackers with .45's. It got embarrassing, so they stopped. What does it take to jimmy a pebble-bed reactor enough to melt down, given full control of the facility? How about the other 4G gas-cooled designs? Certainly current-generation installations are easy enough.

wingo: I have this notion that those guys "extraordinarily rendered" to torture dungeons in Poland, Romania, Egypt, Afghanistan, Pakistan, and who-knows-where-else had flights rather less pleasant than yours. They didn't have to pay for them, though. (We did, instead. The U.S black budget was >$40B last year.)

Congratulations to AlanHorkan for his newfound discovery of vertical whitespace.

18 Dec 2005 (updated 19 Dec 2005 at 12:07 UTC) »

I am told that it is much less obvious that it seems to me that the only way to get reliable failure recovery is to have the failure-recovery code exercised routinely as part of the normal operation of the system. Example: A friend worked on high-availability AIX clusters, and they had only one response to any problem: reboot the machine involved. It would be hard to have done any testing without exercising the boot sequence, sometime or other, so you know the failure recovery mechanism works. (If the time spent rebooting interferes with throughput, make it fail less often; failure recovery's no substitute for engineering!)

If the response to any unexpected problem in your interactive program is to abort instantly ("no shriving time allow'd"), a log can ensure users never lose anything. If the log is also your auto-save mechanism and your undo/redo mechanism, then reliable crash recovery is both free (because you needed auto-save anyhow) and heavily exercised (because people use undo/redo routinely). As a bonus, it makes test scripting and reproducing bugs easy. Using mmap(), big images and clipboard contents needn't be fsync()ed to the log before "risky" operations, because the OS will sync the pages out by itself if the process up-and-dies. (The OS is better at cleaning up than you are.) That makes auto-save happen continuously, in background, without threads or worse complications. You only need to ensure the log pages always say something sensible.

Monotone-0.24 is out.

Cranky observation of the day: Venus radiates back to space twice the energy it receives from the sun. The temperature is about the same everywhere on the planet, dayside and nightside, tropics and poles, even though its day is 243 of our days long. Its ionosphere rotates in four days -- in the opposite direction -- despite lack of coriolis forces or any other conventional motor. It's considered impolite to ask planetary scientists why all this happens, just as it is to ask an astrophysicist how a quasar (supposedly among the most distant and oldest visible objects in the universe) comes to be physically in front of the opaque nearby galaxy NGC 7319.

mchirico: For C++ books, I'm much more inclined to recommend Vandevoorde & Josuttis, "C++ Templates" and Abrahams & Gurtovoy, "C++ Template Metaprogramming". Most writers about C++ who started out in the '90s dwell on virtual functions and "O-O gook" (as Stepanov calls it) far beyond their actual usefulness. When it's all you have (as in Java, or, about equivalently, C++ circa 1990), you have little choice, but hey! it's almost 2006.

fxn: Why limit it to IT people? "People wearing suits cannot be trusted" is shorter, much more widely applicable, and equally correct as "IT people wearing suits cannot be trusted". Maybe it's like the expression, "Apricots are almost God!", which means the same as "Apricots are God!", but gets an easier reception. (Substitute other stone-fruit according to preference.)

[Update] titus: Deep, abiding thanks for those links in your last diary entry.

2 Nov 2005 (updated 12 Dec 2005 at 03:48 UTC) »

In case I never mentioned him before, Terry Bisson is never short of amazing. He wrote the story "They're Made Out of Meat" that went around the net a few years ago. Now he has a new book out, Numbers Don't Lie.

raph: Shouldn't recentlog.html, at least, be mentioned in /robots.txt? (Any of you-all mentioning spammer accounts, by the way, please don't link to them. That's what they want you to do, it bumps their age-pay ank-ray.)

chalst: I'm sorry to have missed you... I'm back in California already.

Here's my cranky but improbably beautiful Mars picture of the week (NASA/JPL/Arizona State University). It's an infrared shot from the night side; blue is dust & sand, red is rock (olivine, they say). In the caption, NASA insists (rather endearingly) that those ditches and pits are collapsed lava tubes. Can you imagine a lava tube with a ceiling two miles across? No wonder they collapsed. :-) Also on the subject of crankiness (my own), I've found some really fascinating Arxiv papers by Martin Lopez-Corredoira:

9 Oct 2005 (updated 12 Oct 2005 at 20:58 UTC) »

I almost wish I had some use for a word processor program, so I could defiantly use Abiword in place of OpenOffice, or worse.

raph: Advogato seems to be under googlebomb attack, involving at least the following ids:

AndyPopescu MaryJ Mattas McGillavry Mrdizzy PJman SomeW Sunset Tamilk Zproject accord albi aplphaeric ashleyc avalon badgun bekool benzaiten bestway bextor bfg bluewave coolermax cooliz creol cult cyberninja dbit deepline dino favo ferum2 flo format freedj fullday gangsta gauss geekb globe goahead golem goodwin greenj grro gummie hcp henryb imo indiewire jasoninfo jenn jerrysim jesgre jetpac jezz jmors jo2 johnvk jols kelmo kingjl koolbe kooler kri kyh lecooper lenny lisag liz lizz loiseip lucky mar megalor ministrel mmo morechance morepow morningstar mrpink mrslg natone newbieq newm nhr nikki nikkij odinv otomoto oyster pipos portm richym robbymk santafe sarahu scifi simonez sixtyk smb styler sunrise talex tigerr tommyb triYann typhooon ugh vansic weblucky whiteangel wilson yakamot yanko yellowrose yoba
and, presumably, any others that certify them.

cdfrey: what redi said, but more concisely. :-) C++'s mythical "template bloat" problem is only resurrected by people who haven't used Standard C++. (Yes, that includes Miguel.) It just doesn't come up in real programs. Likewise, bi's suggestion that virtual function calls are too slow does not withstand scrutiny. (On most CPUs, much of the time spent on the call is spent refilling the instruction pipeline, as for a mispredicted branch; modern caches make reasoning about per-instruction costs impossible.) Their proper role is like a kernel driver's system-call implementations -- open, read, write, close -- that in C you would do with tables of function pointers; or to clear out (what would be) nests of switch statements. In either case what they're replacing does very similar operations. (Any program that starts up slower because of them has way too many!) Mozilla string types most likely suffer from having bolted on what should remain separate components applicable to ordinary strings.

Regarding Monotone (now at 0.23), I like its lightweight portability, its efficiency (actual and potential), the serious industrial attitude of its designers, the cleanliness of its code (when last I checked), and its future prospects. I'm planning to like its rigorously specified, Codeville-derived merge algorithm when it's released. Its 40-digit hex revision names should fade to the background sometime soon; in the meantime, the monotone-viz GUI program has proved indispensable, although an equivalent with lighter dependencies would be nice.

By contrast, svn is both complicated and archaic; arch development seems too fragmented; hg is immature, and as it grows will become increasingly hard to maintain; and darcs, like codeville, seems too experimental. But I might change my mind.

Oh, and here's my cranky Mars picture of the week. Those holes are about 500 ft wide, widening to 1000 ft at upper left. Collapsed lava tube, or lightning-bolt excavations? Your guess is as good as theirs, maybe better.

1 Oct 2005 (updated 1 Oct 2005 at 09:16 UTC) »

I've taken the plunge, using Monotone 0.22 in daily work. I maintain two directory trees, one for CVS updates, and another for my own work. Whenever I update from CVS in the one, I commit the changes to that branch, "propagate" them from there to the head of my working branch (merging as needed), and then update my working tree from that. I only need to do that (1) to produce a patch to send or to check into CVS, to make sure I haven't broken somebody else's stuff, or (2) when I want to use what somebody else wrote recently. In the meantime I check in my own stuff whenever the mood strikes, generally at mealtimes.

Another good picture, and a rhetorical question: for those of you with metalwork experience, does that look to you more like a sloppy welding job, or geography (ok, areography)? I found it interesting that the amount of energy released in an ordinary terrestrial lightning bolt, if not mostly-consumed heating air and rain on the way down ("boom!") would suffice to excavate an 85-foot crater. Of course ad-hoc crater-excavation techniques might not be very efficient; but even at 1%, to find hilltops and fields perforated with dozens of 8-foot craters after each thunderstorm would be spooky. (Thank you, air.)

I was surprised to find that the only persuasive evidence I'd encountered that the cosmic red-shift really is recessional (supernova type 1a decay curves) turns out to be cooked: it only implies recession if you start by assuming it implies recession.

wingo: We must be at an exceedingly refined stage of Free Software development when the software developer's itch derives from embarrassment over his housemates' impressions of Free consumer-appliance emulations.

jds: That was the most poignant and funny posting I've read since whytheluckystiff's guide to Ruby.

robsta: Mozilla is a poster child for misuse of C++. As a rule, three levels of inheritance suggests chaos; five levels, exposed, proves it definitively. A little inheritance goes a long way. Most of what people use all that "O-O gook" (as Stepanov calls it) for is more cleanly, safely, and less intrusively done with templates. That the Mozilla people are still afraid of them says way more about them than about the language. (That goes double for exceptions, BTW, but only in C++. Without destructors, exceptions make the problem worse.)

wlach: Automatically-generated usage messages stink. Any program worth writing at all is worth a thoughtfully organized and presented usage message.

robocoder: Danger! Danger! Linksys routers absolutely stink if you need connections to last more than ~12 hours. The only exceptions are the ones you can reflash with third-party Linux (WRT54Gx, for various x), and then only after you do.

132 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!