Older blog entries for ncm (starting at number 429)

Firefox 9 has survived a second week and, more wonderfully, another totally quiescent weekend without crashing. Will wonders never cease?

4 Jan 2012 (updated 4 Jan 2012 at 04:13 UTC) »

Firefox 9, astonishingly enough, survived the weekend sitting totally quiescent on my office machine. Release 8 achieved this very rarely, and crashed shortly after anyway. Congratulations to somebody. Its VSZ is almost 2G, and its RSS is 1.5G, but I don't care -- I have 16G here! But I do wonder what it needs all that RSS for. On my laptop running the amd64 build, it blows right past 2G (at VSZ 2.8G, RSS 1G atm) and thrashes abominably.

You know what they say, though: "If you're not experiencing abominations, are you sure you're alive?"

My great achievement in the final days of 2011 was to replace the motherboard in my son's craigslist-$80 simulator box for $60 plus $11 for a quieter fan, enabling upgrade from a P4 to an old Core2.

2 Jan 2012 (updated 4 Jan 2012 at 04:17 UTC) »

I rented a DVD of Woody Allen's Midnight in Paris and tried to watch it with libdvdread etc. Totem failed, VLC failed, Mplayer failed, but Smplayer succeeded -- for a while. At some point after an hour in, it went a bit crazy and gave up. Apparently many people have been having this problem with certain new movies, lately. I'm guessing SONY has hired somebody to find bugs and too-strict interpretations in Free DVD player software, and provoke them in new movie releases. Anyway, if you want Midnight in Paris, you may get better results by downloading the XVid than buying the disc. To SONY, paying customers are scum.

29 Dec 2011 (updated 29 Dec 2011 at 02:28 UTC) »

My wife had outpatient surgery recently, which involved a nerve block in one shoulder, deadening her arm for the rest of the day. Surprisingly (to me) that was plenty of time to develop phantom limb syndrome, where it feels like there's an invisible arm in place of the real one, that you can't control, and that gets agonizingly knotted and cramped. Vilayanur Ramachandran invented the "mirror box" treatment, where a mirror is held vertically in front of you, perpendicular to your body and between your resting hands. Your good hand is visible only in the mirror, so its image looks like it is the other hand, and that is enough to allow you to control the phantom limb. It worked.

32-bit Firefox 8 running under 64-bit Linux still crashes when left unattended for a couple of days. Running it under gdb, it usually segfaults in an out-of-memory handler while chasing cycles in the Javascript garbage collector.

Running firefox under gdb takes a few steps. You will need the debug symbols, e.g "apt-get install iceweasel-dbg". In gdb,
(gdb) file /usr/lib/iceweasel/firefox-bin
(gdb) handle SIGPIPE noprint nostop
(gdb) maint info sections
(gdb) add-symbol-file /usr/lib/debug/usr/lib/iceweasel/components/libbrowsercomps.so 0x8049480
(gdb) run

The number 0x8049480 above is the first number in the line of output from "main info sections" that contains ".text", and varies from one build to the next.

18 Nov 2011 (updated 18 Nov 2011 at 02:13 UTC) »

Neal Stephenson's newish book REAMDE is classic romp in the Cryptonomicon vein: unpredictable, stuffed with authentic local detail and engaging, slightly larger-than-life characters, and (almost) deadpan send-ups of practically everything, not limited to: jihadists, a junior MI6 agent, Russian mafiosi, Hungarian and Seattlite hackers, Chinese gold farmers, overprolific fantasy authors both trashy and donnish, a palletload of bricks of RMB, leased business jets, an aging Iowan former smuggler and MMO startup founder, a proto-Pak Chechnya veteran, US spooks competent and not, and north Idaho anarchists, among others. The central theme of the book, though, appears to be the adjective "backseat" used as a noun in place of "back seat". He seems to be needling somebody who criticized the usage. "Cooling their heels" figures prominently, too, but it's less obviously deliberate.

I have finally caught Iceweasel in the act of crashing over the weekend when it's unused. Probably Mozilla don't get many reports of this particular failure because I'm running a 32-bit build on a 64-bit kernel. Apparently it runs out of address space during a GC cycle-detection pass. On a regular 32-bit host it would get OOMed long before that point. The 64-bit version happily blows past such arbitrary limits until it takes to thrashing.

13 Sep 2011 (updated 13 Sep 2011 at 10:09 UTC) »

I'm tardy mentioning that this is the time of year when we commemorate the day that the U.S. descended into abject cowardice, bombing thousands who had nothing to do with the event, and shredding every hard-won liberty gifted to us by our forefathers. The number of individuals killed in that event was about equal to the number who died the previous week, and that week, and each week since, of lung cancer. The individuals personally responsible for those drawn-out, painful deaths walk around loose to this day.

On the up side, this was the first Monday in several weeks that Firefox hadn't crashed over the weekend while I was away. I guess this means 6.0.4 is better than 6.0.2.

I re-implemented rsync globbing recently. I think my code is probably better than Tridge's, but I haven't looked yet.

ryuslash: Your dilemma has been hashed over by many, but it's a false dichotomy. There's room for different licenses, for different purposes. People get passionate about the BSD license when they think about writing code at one job and then not being able to use it when they move on to another. People get passionate about GPL when they think about their work being taken by a competitor and used against them. Which of those scenarios bothers you more dictates your choice. Sometimes it's one, sometimes the other, sometimes something else entirely, and you use the license that achieves what you want. Licenses aren't religions, they're just machines.

I just learned that Brendan Kehoe died last night. Sic transit

This is a post in support of the Tau Manifesto, and Tau Day, 6/28. It's silly to memorize an absurd number of digits of pi and then be obliged to double them before they are useful. Calculators need a "tau" τ key. Programming languages need a TAU constant. Where else than in a formula involving pi do you encounter an r² without a ½, or an r³ without a ⅔?

I have discovered that the top of a broiling pan -- the bit with the ripples and slots -- is the perfect place to perch a laptop that (stupidly) depends on cooling air from underneath. Turn the thing upside down, so it doesn't scratch the table when you put it down.

1 Jul 2011 (updated 1 Jul 2011 at 01:50 UTC) »

I just got a DSL line in. In my area, only AT&T can touch the wires, so I had to get an AT&T landline ($17/mo), and then order Sonic.net DSL service ($15/mo, 2.4Mb/s). It took from 22 May to June 11 to get a dial tone, and until the 17th to persuade AT&T to turn on the data service. Sonic.net were very helpful and courteous throughout. I just wonder why they're still running kernel 2.4 on their shell-account box. (Apparently DSLExtreme was good, once, and now isn't.)

The current unstable Debian kernel, linux-image-2.6.39-2-amd64, reliably panics on my boxes. This happens on an old Core2 duo and a new i7 quad. It's hard to be sure, but it appears to fail to mount / ("[: not found, mount: not found" etc.). A bit of googling hints that it's really a problem with old udev versions and initramfs, but updating those and their dependencies and reinstalling the .deb doesn't help. It boots a 2.6.37 kernel from the same respository without complaint.

This i7 quad is new. Astonishingly, it feels faster than the core2 even at the Grub prompt.

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