Older blog entries for ncm (starting at number 94)

I'll congratulate chalst again, because I doubt he was surfing Advogato the first time.

Got invited onto orkut.com, and created Ogg and Advogato interest groups before they shut down. I'm not sure what that sort of site is for, but anyway discovered that Marc Merlin works at Google. Now I know at least two people there. Coincidentally got invited onto linkedin.com, that looks almost the same in some ways, but is full of CEOs and consultants. Weird.

About layered UIs... every program of any complexity has a layered UI, regardless of its designer's intent. The subset of features that are immediately comprehensible to newbies is one. For experts, the top level UI is always hacking, whether via scripting, registry entries, or recompiling the damn program. Talk about layers is really just about adding more of them.

murrayc (and everybody else coding C++): When you mention an inherited member in a template function body, you have no choice but to prefix it with "this->", or the compiler might just go find some other object of the same name. The natural coding-style implication of this fact is that all uses of members should be prefixed with "this->". Besides making the code easier to follow, it makes for better error messages, and better error-checking. As a nice side effect, it makes it entirely unnecessary to put dumb prefixes on private member names. (Yes, it effectively adds six characters to each member name, which you might think would be a problem, but in practice it just doesn't cause any trouble.) C++98 really is a different language from pre-standard C++, and it calls for different coding practices.

22 Jan 2004 (updated 30 Jan 2004 at 02:58 UTC) »

Let me be the first to congratulate chalst on his new offspring.

slamb: Apologies for not replying sooner, about cancellation and C++. All the cancellation points defined by POSIX are C calls, which are normally declared "throw()". Built with any existing compiler (except DEC's) and C library, they unwind the stack ignoring catch blocks, thus corrupting the process state. Given a jimmied C library that turns them into exceptions, they throw past code that (either in the runtime or, if the runtime is also jimmied, in the user code) wasn't expecting any exceptions, and so probably corrupt the process state. As ought to be needless to say, a corrupt process state makes a poor execution environment for other threads. A useful response would be just to return -1 and set errno each time a cancellation point is called after cancellation, but POSIX people start shrieking ZERO UPTAKE when you mention it. They see no problem with breaking every existing thread-safe C++ library (which they assert are ALREADY BROKEN), but worry about a few vendors taking them seriously if they countenance a C++ binding that preserves existing libraries by being a little different from the C binding. Of course C++ components (e.g. filebuf) could throw, and finding errno == ETHREADCANCELLED or something ought to be cause to throw something, so cancellations should turn into exceptions pretty easily.

According to a status box posted by flphoto when it saves a rotated version of a JPEG image, it is saving losslessly. It's easy to imagine how it could do this, by rewriting headers and then rotating and transposing individual 8x8-pixel cells. This is an improvement, because I had been using Gimp, before, and it certainly does not load and save losslessly.

freetype: Have you read any Terry Pratchett? He continues to astonish with each new volume. Let me recommend the new Wee Free Men. Ach, Crivens! I wish I'd grown up with his books instead of (e.g.) Heinlein's & Tolkien's.

mallum: I have never yet encountered a dog (never mind a pug!) with palette problems. Painting, as an activity, seems better suited to cats. I can certainly imagine pugs with palate problems, though. IMHO the tendency should be culled from the breed via the time-honored method.

Is there something peculiar to participation on the GStreamer project that leads to not answering e-mail? Probably it's good, if it means they're writing code instead. E-mail is a time sink.

My birthday present (appropriately, I suppose, given Gollum's obsession) was enough hours free to see the third installment of the Jackson Lord of the Rings. (Most of what I recall from the books comes via the Harvard Lampoon parody, "Bored of the Rings", with its wee protagonists Moxie, Pepsi, Frito, and Spam.) Among the moments where suspension of disbelief failed were Merry (or Pippin?) and Gandalf bouncing instantly back and forth between the lower battlements and the palace on the hill -- with Gandalf abandoning his post just to save the regent's son, whose only evident value was as a future husband to Eowyn; the horses wading into a sea of pikemen without all being skewered in time for lunch; and Eowyn slicing through three feet of dragon neck (bone and all) with one sword stroke. Did anybody else notice that the Rohanners' only actual contribution, ultimately (besides Eowyn's solo, itself unnecessary), was to provide the new (and now redundant) regent a bride, and a job? The ghosts would have mopped the field with or without the cavalry's arrival. (This last reminds me of David Brin's critiques of Star Wars -- the Jedis never really accomplish anything, although they get all the screen time.)

I'm running Evolution with GVim as the message editor now -- A big thank you to Jason Hildebrand, jdhildeb. No crashes lately, but Evo 1.4.5 still seems to leak zombie processes. (That might be GtkHTML or something.)

Galeon 1.3.11a has the disadvantage, vs. certain earlier versions, of leaking both memory and zombie subprocesses. I am back to killing and restarting it every few days to keep my system from thrashing.

Happy Birthday to me. Turning 42 in 2004 feels oddly rectilinear and cartesian.

I finally found a program, flphoto, that does most of what I need for my collection of thousands of digital photos of my kids. (Surprisingly, it's not among the over 13000 packages in the Debian unstable archive, yet.) I needed a program to present thumbnails of a directory of images, and let me point to some of them and have it rotate them 90 degrees and write them out that way. I had thought that gphotocoll might do it, and installed PostgreSQL because it needed that, but it lacks (so far) any kind of touchup feature, although it seems pretty cool for what it does do. (Hint for those new to PostgreSQL: until you fool with permissions and config files, connect to the database with an empty hostname, not "localhost".) If I could point at an eye and click "no red here", there would be nothing left to wish for.

slamb: It's funny to read about you working on thread-cancellation-safety and C++. POSIX thread cancellation is incompatible with C++, and will be for quite some time. Based on the attitudes of the people who get to decide -- non-C++ coders all -- that may mean "forever". (It happened to Ada.) Actually, it's probably more correct to say that thread cancellation is incompatible with C, as well, because it demands coding discipline that C doesn't really support, and that has never been observed outside the Space Shuttle's autopilot. It could be compatible with C++, more or less, and with non-imperative languages (which doesn't include Lisp, but maybe with Lisp anyhow), but POSIX people seem implacably hostile to the variant semantics needed for workable non-C language bindings.

It surprises me to see people ooh-ing and aah-ing, here, over subpixel rendering. Gnome has done that for a long time (and maybe KDE too). I've had subpixel rendering on my laptop ever since I installed and configured libxft, at least in Gnome-y programs (i.e. almost everything but xterm).

All-encompassing thank-yous to murrayc, DV, Bram, bagder, redi, lerdsuwa, and joey, among others.

Galeon 1.3.11a has one new annoyance over 1.3.10: it puts new blank tabs way out at the end of the list, instead of next to the current tab.

22 Dec 2003 (updated 23 Dec 2003 at 00:08 UTC) »
johnnyb: My condolences for your brother's new (and I assume, your ongoing) virus infection. I was infected maybe 27 years ago, but recovered. Perhaps this fascinating article on toxoplasmosis is apropos. (BTW, are you still a spammer?)

chalst: regardless of substance or validity of the Danish Ministry of Science's criticisms of its captive committee, nothing they wrote can reasonably be taken to vindicate Lomborg or his book. I wonder what was the political motivation for quashing the report... clues suggest a turf battle.

My copy of Evolution 1.4.5 hasn't crashed in quite some time. If I could edit with vi I'd be pretty happy with it. I still use Mutt for mailing-list work.

I'm installing Galeon 1.3.11a now. I have high hopes that galeon will stop crashing, too. Maybe someday it will honor my Gnome Prefs request for emacs edit key bindings. (I suppose I can edit in the ones I want. Has anybody done it already?)

18 Dec 2003 (updated 18 Dec 2003 at 05:49 UTC) »

What I find remarkable about the Danish Ministry of Science ruling on the Danish Committees on Scientific Dishonesty's finding remarked upon by chalst is that Iain Murray was himself so dishonest (evidently as much with himself as with us) as to describe it as "vindicating" Lomborg and his dishonest book. If you read the ruling, which Mr. Murray naïvely quotes from, you find that the Danish ministry did no such thing. They chastised the DCSD for what look to me like minor procedural irregularities.

In fact, of course, the ministry wasn't competent to rule on the book itself, and they didn't. Their criticisms of the committees ring pretty hollow, though. Does it really matter if Lomborg's book was published outside Denmark? Does allowing Lomborg's critics to testify really taint the committee? Does having a sub-committee chaired by a health-science professional, rather than a social "scientist", really weaken its ability to evaluate the work? Does having three subcommittees evaluate it, rather than just one, taint the result?

Despite this Iain Murray's carping, it certainly looks from his own quotes as if the ministry's decision was purely political, and that the report they are suppressing was accurate, if perhaps over-enthusiastic. I find it hard to think ill of people who are so appalled at public lying as to raise their own voices.

His remark about "statist environmentalists", I suspect, was just name-calling. "Environmentalists" must not have seemed derisive enough, so he stuck on "statist". Everybody hates statists, whatever they are.

Went around deleting unused packages on my Debian laptop, to free up disk space. To free up dependencies on older versions of libraries, I had to update a lot of other packages so they would use the newer library versions. I ended up with about the same amount of free space, because the newer versions were generally much larger than the old. :-(

Among the unused libraries I deleted were libqt and friends; the only things that depended on them were libarts and friends, and they were used only by gstreamer-plugins.

Condolences to friends of Chema and Ettore.

7 Dec 2003 (updated 7 Dec 2003 at 19:11 UTC) »

Finally got the Gnome panel to display only two rows of pixels, on my laptop, when it auto-hides, instead of six. Using gconf-editor, go to /apps/panel/profiles/default/toplevels/panel_0 and change auto_hide_size to 2. Voilá! (Somebody got a leetle beet overzealous about chopping out config choices!)

The linuxlaptops.com domain now belongs to Werner Heuser, of Tuxmobil (nee Mobilix) fame, and no one could be more deserving. I should have handed it over years ago. (I'm still sorry, Rusty.)

Wrote my first emacs macro, ever, last week. A bit late... but then, I run emacs in viper-mode.

Saw Down by Law for the first time in a decade or two. Tom Waits, John Lurie, and Roberto Benigni in what might be the world's most perfect film, by Jim Jarmusch.

Thank heaven for chalst. And for murrayc, too.

Evolution crashed "only" once in recent weeks. I just discovered why I had had so much trouble with HTML forms in Galeon, lately: somehow my language-preference had magically switched itself (I never touched it, I swear!) to "English with Arabic encoding". That confuses the content-negotiation apparatus of some web servers, including Speakeasy.net's.

3 Nov 2003 (updated 4 Nov 2003 at 04:45 UTC) »
shlomif: I foresee trouble ahead for you.

mbrubeck, bagder: Congratulations on your various releases, both code and offspring. And, thank you.

More about what many liberals think about Republicans: The dupes would like to be toadies, but can't find anybody to pay them for it. The toadies wish they had the courage to be crooks. The crooks have nothing but contempt for the rest. (Disclaimer: I'm not a liberal, myself.) P.s. to berend: The "day-by-day" strip has about as much zing as Mallard Fillmore. You'll find more insight in Garfield.

Evolution crashed for the first time in almost two weeks. I wasn't using it at the time; it must have crashed when it was polling imap.

Congratulations to the Galeon team on their 1.3.10 release. Running it, it works. (Shame on Fedora for dropping it.) The more Galeon-y and the less Epiphany-y it gets, the better. On a related matter, gnome-panel has degraded; now it can no longer be set to hide itself by showing only 1 or 2 rows of pixels (it insists on six rows), and it's even sloppier than before about noticing when it should autohide itself in the first place.

rlk: your postings are the most inspiring I have seen on Advogato in months.

Evolution 1.4.5 with the new Gnome libraries underneath still hasn't crashed, in more than a week. Now Galeon 1.3.10 is the crashiest program I run. Galeon, I suspect, has a problem with the downloader corrupting things (i.e. "Download link"). When it freezes, it seizes the X event queue, always immediately after clearing space to display the right-mouse-button-on-a-link menu; I have to kill from a console. (Ctrl-Alt-F1 still works.)

28 Oct 2003 (updated 28 Oct 2003 at 06:51 UTC) »

Terry Pratchett has a new book out, again. It's hard to keep up, and (contrary to publishing industry norms) the newer ones are better than the old ones. Tom Robbins has, too. Actually, two, since I had last checked!

Saw Chitty-Chitty-Bang-Bang for the first time in decades. Ian Fleming's best work?

Why does nobody involved in designing Mars probes put a microscope on board, so they can simply look for microbes? It would be useful for so much else, too, such as looking at mineral crystallization patterns.

T-shirt: Front, "Don't mind him". Back, "He's OK."

raph: I'm disappointed that you were taken in by this econopundit guy and his attack dogs. Incidentally, he cites Krauthammer claiming that "Conservatives think liberals are stupid. Liberals think conservatives are evil.". K got it wrong. Liberals think that (so-called) conservatives are crooks, toadies, and dupes. (Mostly dupes, of course.) Republicans can't understand why liberals want to upset the gravy train. Krugman fascinates them because he can play every rhetorical trick as well as they can, and is competent too.

deekayen: Maybe you'd better go jump off a bridge.

Evolution still hasn't crashed on me.

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