Older blog entries for ncm (starting at number 430)

8 Feb 2012 (updated 8 Feb 2012 at 11:54 UTC) »

I thought the potentially very interesting Clay language was dead when its web site and mailing list disappeared, but in fact it just moved. It turns out, in the meantime, that they have just released a version 0.1 compiler, a front end for llvm.

When Magellan got to Tierra del Fuego at the southern tip of South America, the people he found there wore no clothes, and would lie down on a snowbank to sleep. If they could do it, why can't we? The answer, as usual, is practice. I determined to raise my base metabolic rate, initially by sleeping with one arm out on top of the blankets. In an astonishingly short time -- a couple of months -- I was finding any sort of blanket too hot, and now a sheet is plenty cozy at 60°F/15°C/298K. I still have a way to go before sleeping in a snowbank, but I have not needed a coat this winter.

Upgraded to firefox 10. Now it crashes unattended, again. 8 and before usually crashed in GC cycle detection. 9 didn't crash unattended, but crashed in regular use, somewhat less often. Now, the 10 crashes seem to have something to do with timer expiration. (Recall this is 32-bit ff running on 64-bit linux.) Maybe now it's just not fooling around for as long after it's gone corrupt. I count this as progress. [I spoke too soon. It crashes attended, too, and in the cycle collector; this time after barely 16 hours running; VSZ 3359988, RSS 2457468.]

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.

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