Older blog entries for ncm (starting at number 146)

I wondered why the ipw3945 driver I managed to build for my new Dell Latitude D620 didn't find the chip... it turns out that's because it doesn't have one, Google notwithstanding. Rather, it has a Broadcom bcm43xx. Apparently that's a consequence of ordering it with the cheaper mini-PCI card that does "b/g" but not "a", for a savings of, what, $29? Unfortunately, the bcm43xx driver in the 2.6.18.2 kernel I just built doesn't find it either.

slamb: Thanks for the welcome. It means a lot, coming from you. BTW, the C++ Standard committee is finally talking seriously about a substitute for pthread cancellation. My bet is they will adopt Java interruption almost unchanged. This may be the first time something adopted from Java into C++ had a chance of improving it.

I've found the Holy Grail of Ogg players. It's called NEXBlack, from Frontier Labs, and it has a Compact Flash slot instead of built-in flash or disk. It runs on ordinary AA batteries. Unfortunately it seems to be available only from Hong Kong for US$46 + $35 shipping.

In order to throw the bums out, Americans had to cast 32M votes to just barely overcome the gerrymandered 24.5M votes to "stay the course". That's not counting the votes that weren't counted as a result of election fraud and myriad dirty tricks. Restoration of law in the Senate remains uncertain, although at worst it might be achieved later as felonious incumbents are obliged to resign.

2 Nov 2006 (updated 8 Nov 2006 at 06:52 UTC) »

Plenty to report since last posting...

Got a new job at Aspera in Berkeley. Who knew file transfer was not only not a solved problem, but still interesting?! I'm finding myself coding C again, for practically the first time in two decades. I'll need to fix that pretty soon. Another surprise, LinkedIn turned out useful for more than keeping track of what people I used to know are up to, because the job was posted there.

Attended an ISO C++ Standard meeting this month, for the first time in five years. The people were mostly the same as before, but some are professors instead of grad students. Exciting things are happening in C++. It's getting a complete network sockets library (based on Boost asio, you can use it already), a threads library (similar to Boost's, to be extended with "futures" soon after), a date/time library (similar to Boost's), extended regular expressions (similar to Boost's), and rigorously defined psueudo-random numbers. In the core language, "auto" variable declarations, explicit "concepts" (e.g. enforcing STL requirements lists) making template library error messages comprehensible, and a module system. Meanwhile, I'm trying to see if we can add support for zero-copy techniques into iostreams & sockets without serious disruption.

Installed Debian unstable on a Dell Latitude D620 (dual CPU, WXGA+ 1440x900 display driven by nv) and on a Shuttle xpc (single CPU, Intel i915G cycle-stealing video) this month. The Dell install wasn't bad, except the Debian sarge kernel didn't know about the network chip (tg3) so I had to get an updated kernel into it via a USB key. Support for it on the net is good. I'll get the ipw3945 wireless working eventually, but in the meantime my old orinoco pcmcia card works *almost* well enough (albeit not with SMP enabled, if OOPSes are to be believed). I'm told an all-new ipw3945 driver is coming out this month, which is good, because the old one totally stinks. On the Shuttle, it took an appallingly long time to figure out I needed to install the 915resolution package and hand-edit its config file so that my 1680x1050 display wouldn't look like ass. Remarkably, Google was not very helpful.

Cracked the depression dogging me for the last three years, using ordinary over-the-counter broad-spectrum mineral supplements. It took about three months. Goodbye bupropion!

Google finally ponied up $122 for AdSense (most of which was for Firefox conversions) leaving $33 -- already earned at the time the check was printed -- to be paid maybe six months from now, a couple of months after the balance exceeds $100 again. That seems pretty evil, no? Or maybe just rude.

Any new blog will be linked from my home page, cantrip.org.

I just passed the US$100 mark for Google's AdSense -- to be precise, $104.24, including $61.85 for 100 Firefox downloads. It appears they will take just less than two months to get around to sending a check.

For the (final) record, Orkut's "I hate Java" is at 727 members, "I resent LISP" at 56, "I hate Perl" at 285, "I hate Python" at 51; "Java" at 36,364, "Lisp" at 997, "Perl" at 5,595, "Python" at 3,647.

4 Aug 2006 (updated 8 Aug 2006 at 19:13 UTC) »

Installed Ubuntu 6.06 on my parents' oldish machine. The file-system resizer corrupted the NTFS partition that was there. (It resized once from 34G to 23G, apparently successfully, and then I made the mistake of asking it to squeeze it further to 16G.) The system appears entirely unable to send print jobs to their parallel-port HP Laserjet 1100, which it detects just fine. Instead, hpiod and cupsd get stuck in infinite loops, consuming 100% of CPU. Also, if left on overnight it locks up completely, leaving a static screensaver image. I wonder if the xorg, or kernel drm, Matrox G450 driver is at fault; the failure mode is the same as on the Shuttle when I had a Matrox in that.

I'm now at US$41.50 from Google, for persuading 72 visitors to my website to download Firefox.

apenwarr: S vs N is a matter of whether you are inspired (or oppressed) by your perceptual surroundings, vs. your inner life. Your habit of jumping to conclusions is not a consequence of your N-ness, but rather your J-ness. INTJs often become scientists. INTPs become architects and the better sort of engineer (yes, I'm INTP :-). The difference is in how comfortable one is with uncertainty: a J wants to know *now*, even at the expense of believing some falsehoods; a P insists on keeping things open until all the evidence is in. A P agonizes before a major commitment; a J worries afterward whether the choice was right.

The difference explains an odd foible of J-heavy institutional science. A J will generally refuse to abandon even a thoroughly falsified mechanism if a much better one has not been established, because that would be going from "knowing" to "not knowing". Furthermore, a J will refuse to adopt as equally valid a new, simpler hypothesis that is equally-well or better supported by the evidence -- Occam be damned -- because that would be going from "certain" to "uncertain". Instead, science advances by adherents to the old hypothesis retiring, leaving adherents of the new one.

26 Jul 2006 (updated 4 Aug 2006 at 19:15 UTC) »
Jared Diamond's book "Collapse: How Societies Choose to Fail or Succeed" remains, on reflection, hands-down the best book I've read in years. In the final chapter he lays out a sober list of a dozen sticky problems all of which will have to be solved within perhaps four decades if our own world-wide civilization isn't to collapse too.

My troubles installing Ubuntu on my mother-in-law's Shuttle box have turned out to be traceable to problems keeping everything in that tiny box cool. When I was obliged to re-install 6.06 (don't ask), the install failed over and over again until I plugged in and used a USB CD drive; then all problems vanished.

When it came time to add a fourth wireless router to the local mesh, I had on hand this LinkSys WRT54GL (= WRT54Gv4) that was so misconfigured as be unable to route packets to the configuration console: i.e., "bricked". It had on a (slightly buggered) OpenWRT image which, fortunately, had "boot wait " enabled, so by running a tftp "put" immediately after power-up, I was able to unbrick it with a new flash image. I used the original LinkSys image, which itself unfortunately refuses to upgrade with an image bigger than 3M, so I used it to load the DD-WRT "mini" image. That wouldn't mesh with the other boxes present. So, I tried putting on the same Sveasoft image as the other boxes had. Bad move: instant brick ("arp who-has 192.168.1.1 tell 192.168.1.1"). Evidently Sveasoft's latest release (5/2005) doesn't work on such recent hardware. Googling "WRT54G revival" revealed that opening the box and shorting pins 16 and 17 of the flash chip (not 15/16, that's older units) would make it listen for tftp again, and sure enough the ARP requests stopped, and tftp worked. I loaded DD-WRT "mini" again, and used that to load DD-WRT "std". Then I replaced the images on the other three boxes, likewise. (No more Sveasoft!) I wonder how long it will be before we can use a 2.6 kernel and the Free Broadcom drivers.

Incidentally... while getting the boxes going, DD-WRT, like Sveasoft last year, produced strange ARP-request storms -- i.e., hundreds of ARP requests per second, with no answers -- that overwhelmed the upstream router. That seems worth fixing.

I'm up to US$38.40 from Google for persuading 68 visitors to my website to download Firefox. At this rate, in two more months I'll get my first $100 check from Google.

Bug #315185 tracks the annoying and distressingly persistent GNOME panel auto-hide failure I have been complaining about.

ncunningham: Please don't confuse natural selection with evolution. Erasmus Darwin (C.'s grandfather who, by the way, coined most of the English names for parts of plants & flowers, not to mention "translucent") used to speculate on how evolution worked. Evolution is itself subject to evolution, both in fact (e.g. invention of sex, sometime back) and in perception (discovery of co-evolution). Natural selection, as a concept, adapts to new data and new ways of thinking, too, and the process it describes is infinitely variable in detail. The Theory is just that the latter, as currently expressed, suffices to explain the former, as currently understood. Perhaps the best way to stretch your mind with astonishing biological facts, and to disabuse yourself of any notion that you can personally understand, in detail, something as complicated as real-life evolution, is to watch any David Attenborough's "Life of ..." series ("Life of Birds", "... of Mammals", "... in the Undergrowth", soon "... of Reptiles"). See one and you'll be unable to resist seeing the rest.

Parts of the kernel, and changes to them, are intelligently designed, but the kernel as a whole evolves, without plan. It really amounts to an expression of humility by Linus, Andrew, & al.

donscarletti: No.

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).

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