Shallow Thoughts

Akkana's Musings on Open Source, Science, and Nature.

Fri, 31 Dec 2004

Tsunami Relief Charity List

I don't have anything enlightening to say about the terrible disaster in south Asia. But I did see a link to a useful page ranking some charities in terms of efficiency and transparency. It's one place to start, anyway, for anyone looking for a way to help.

[ 12:12 Dec 31, 2004    More headlines | permalink to this entry ]

Sun, 26 Dec 2004

Stapler Surprises

Did you know that basically all staplers have an adjustable foot which offers a mode where the staple prongs get pushed outward, rather than inward?

Me, neither.

I discovered this by accident. I was organizing some boxes of office supplies, and happened to notice that an upside-down stapler had a spring-loaded foot. How odd, thought I, and poked at it, and discovered that you can pull the plate (held by the spring) out far enough to rotate it 180°, which brings to bear a pair of slots more widely spaced than the normal bend-the-prongs-inward pair of slots.

So I checked Dave's stapler, and it had exactly the same feature. This afternoon I checked my mom's old Swingline (which may be older than I am); it, too, offers the adjustment, but instead of a spring-loaded rotatable plate it has a sliding plate.

I wondered whether I was the only person who didn't know this, after a lifetime of using staplers, so I polled Dave and my mom; they had never noticed it either. Nor have we figured out what circumstance might warrant prongs bent outward -- a circumstance once so common that to this day, every stapler is still designed to make it easy.

I wonder what other surprises are hiding in common household objects?

[ 15:59 Dec 26, 2004    More misc | permalink to this entry ]

Fri, 24 Dec 2004

Winter Yard Birds

There's still a hummingbird (male, Anna's) hanging around the feeder! Last year, all the hummingbirds lost interest and left my yard in October, so it's nice to see them staying through December this year.

We also have a lovely black phoebe who has adopted the yard, and flycatches from the power lines most of the morning.

The mockingbirds have finally left -- their renewed singing in late October had given me hope they might stay the winter, but it looks like they were just readying their traveling tunes. Long trips are so much nicer when you have good music. 300 miles south, at my mom's house, mockingbirds are still singing sporadically -- I thought I remembered them remaining in LA all year, unlike the bay area, and so indeed they do.

Audubon's (yellow rumped) warblers have been a nice surprise this year. Perhaps they've been here every year; I joined a few local bird-watching mailing lists, which has been great for helping me notice birds I never noticed before. It turns out the birds I used to see in Los Altos which I thought were pine siskins were in fact Audubon's warblers (I found an old photograph); but even so, I'd never seen them in San Jose before.

I used one of the warblers for this year's Christmas card, with the colors desaturated, and a nice colorful autumn leaf stapled to each card. (Watching Rivers and Tides must have gone to my head; I saw the striking leaves beneath a neighbor's tree and knew I had to use them for something.)

Wishing everyone a happy holiday season on this Christmas Eve!

Tags: , ,
[ 12:49 Dec 24, 2004    More nature/birds | permalink to this entry ]

Thu, 23 Dec 2004

The Stop Sign Game

My mother lives on an intersection with a 4-way stop sign, across from an elementary school. One day when we were visiting, Dave came up with a game to play when the weather is nice (which it almost always is, in southern California) and we're not doing anything in particular: sit on the porch and note how many people actually stop.

Today's results were typical. We sat in the sunshine for maybe 15 minutes, during which approximately thirty cars came by (from various directions).

The rest either slowed down to maybe half their cruising speed, or just barely touched the brakes and slowed down only a few miles per hour from their previous cruising speed.

The highlights were the city maintenance truck who slowed way down but didn't stop even though there was a cop coming up to the intersection; and the cop himself, who was also one of the "slow way down but not stop" data points. (Dave amused himself by shouting reproofs after the cop, who did not appear to hear them.)

I'm sure this makes me sound like some sort of traffic law gestapo (except to people who know me, who are giggling at the very idea). Not at all; it's mostly an amusing diversion while sitting in the sunshine reading or drinking coffee. But it is surprising and striking to see that basically nobody stops at a stop sign, even one in front of an elementary school. (School is not in session today -- out for winter break -- but the numbers don't change very much even when school is in session.) Do I stop at every stop sign, enough to rock back? Probably not. But I'm pretty sure I do better than the people we watch roll past this intersection.

Try watching some time! You'll be amazed.

[ 14:30 Dec 23, 2004    More misc | permalink to this entry ]

Mon, 20 Dec 2004

Giving Up On Debian -- It Damages My Printer!

I've forever struggled with Debian's printing system. A few months ago, Debian unstable introduced a new package called printconf which, once I discovered by accident it required the parallel port to be in EPP mode, actually detected and configured my trusty Epson Photo 700. It was a happy day!

But since then, the printing system has broken again. It wasn't so bad when printing did nothing at all, or printed random garbage characters or postscript instead of a picture. But now (for the past month or so), what it does is print out a centimeter or so of reasonable graphics, after which the printer starts to issue horrible grinding noises and has to be powered off in order to stop the destruction.

I discovered through much fiddling that I could get the printer working again (on a non-Debian system) by powering it off and leaving it that way for quite a while (a few minutes doesn't seem to be enough, but 20 minutes is), then plugging it into the SuSE 9.1 machine and running a series of clean/nozzle test/clean cycles. Eventually, after the second round where the nozzle test prints clean, the printer works normally again from SuSE or Redhat. I still don't know whether all that loud grinding is doing any permanent damage to the printer.

I suspect the actual problem may be something like paper size. In the few months during which printing actually worked, I had lots of problems with mozilla's printouts overrunning the page, which turned out to be due to Xprint having its own idea of paper size (A4) rather than following the system setting (usletter). I never did find a place to configure Xprint's idea of paper size, so I uninstalled Xprint, and mozilla magically became able to print on usletter paper. But it's possible there are other parameters buried in the debian printing system somewhere, perhaps telling the printer to print to paper wider than it's capable of.

I've filed bugs, but they never get any response which might offer a clue how I could help debug this; I suspect Debian's print spooling system is basically orphaned. I've tried installing and uninstalling every combination of the myriad print spooling components I can find. I'd love to uninstall it all and build the whole spooler from source, and then perhaps try to track down the problem and fix it, but there are so many pieces which all work together in undocumented ways that I don't know where to start. (Perhaps by installing exactly the component set that SuSE does?)

I'm reluctantly giving up on Debian for my primary desktop machine. I like almost everything else about Debian, and I've run it for several years on my primary machine; but during that time I've only had a few months here and there where printing briefly worked before breaking again. There must be a distro that can do easy software updates like Debian, yet is still capable of driving a printer without damaging it!

Tags: , ,
[ 22:46 Dec 20, 2004    More linux | permalink to this entry ]

Tue, 14 Dec 2004

Programmer alleges FL congressman commissioned vote altering code

This story has been floating around for a few days now, but I've hesitated to write about it because it sounds potentially fishy and I was hoping some of the questions would get answered.

In a nutshell: Florida programmer Clint Curtis has filed documents with the FBI claiming that while he was working for Yang Enterprises, Tom Feeny (then a FL state representative and lobbyist for Yang, now a US Congressman) asked him to develop prototype software in order to rig the vote in Florida. (story in Wired) (story on Blue Lemur)

All rather suspicious, but there are lots of questionable aspects to the story. Why did Curtis wait so long to come clean? He claims that he assumed any such software would be easily detectable through source code inspection, and it was only after recently reading that voting software was proprietary that he had the shocking realization that perhaps there wasn't much source code review going on. It's hard to believe that a programmer who had worked on such a project would have been able to miss this point for so long.

Curtis has apparently also been to the FBI complaining about Yang's ethics before, on an unrelated charge. Details are skimpy about what that charge was, or what the resolution was, but until those details are available, one has to be slightly skeptical.

On Curtis' side, the fact that Yang nor Sweeney are willing to comment on the story suggests that there may be some truth to it. If his past allegations against Yang, or other aspects of the case, cast doubt on his claims, wouldn't they be pointing to that?

That the FBI is unwilling to comment is not surprising: investigation is ongoing, and I wouldn't expect any comment from investigators at this point.

It seems unlikely that Curtis' actual code was used, in any case. He had no access to the voting machine software, and simply wrote some scripts in Visual Basic as a proof of concept. But we'll likely never know for sure, since the public hasn't had access to the voting machines for quite some time and it would be quite easy for any such evidence to have been long since wiped from memory. (Though perhaps forensic analysis of the disks might reveal something?)

Still, it's an interesting story, and it'll be fun to see how it resolves.

Tags: ,
[ 13:20 Dec 14, 2004    More politics/election04 | permalink to this entry ]

Mon, 13 Dec 2004

Back to the Future -- fvwm

I've been alternating between icewm and openbox for my window manager, but I'm not entirely happy with either one. They're both fast to start up, which is important to me, but I've had frustrations mostly relating to window focus -- which window becomes focused when switching from one desktop to another (icewm's biggest problem) or when a window resizes (openbox), and also with initial window positioning and desktop location (e.g. making one window span all desktops without having to select a menu item every time I run that app).

Someone was opining on IRC about fvwm and its wonderful configurability, and that made me realize that I haven't really given fvwm a chance in a long, long time. Time to see if I was missing anything!

The defaults are terrible. No wonder I didn't stick with fvwm after newer windowmanagers came out! It's definitely not an install-and-go sort of program. Nor is the documentation (a long and seemingly thorough man page) clear on how to get started configuring it.

Eventually I figured out that it looks for ~/.fvwm/config, and that some sample configs were in /usr/share/doc/fvwm/sample.fvwmrc (which is a directory), and I went from there. After several hours of hacking, googling, and asking questions on #fvwm, I had a setup which rivals any window manager I've found: it's fast, lets me configure the look of my windows, lets me bind just about anything to keys, and seems pretty well behaved focus behavior. More important, it also allows me to specify special behavior for certain windows, for example, making xchat always occupy all desktops:

Style "xchat"    Sticky
which is something I've wanted but haven't been able to do in any other lightweight window manager. That alone may keep me in fvwm for the forseeable future.

Tips for things that were non-obvious:

Rotating through three desktops

In other window managers, I define three desktops, and use ctrl-alt-right and left to cycle through them, rotating, so going right from 3 goes to desktop 1. fvwm has both "pages" (a virtual desktop can be bigger than the screen, and mousing off the right side scrolls right one page) and desktops. I didn't want pages, only desktops, so DeskTopSize 1x1 turns off the pages, and it was clear from the man page that
PointerKey Left        A CM     GotoDesk -1
would go left one desk (the only unclear part about that is that A in the modifier list means "Any", not "Alt", and "M" (presumably for "meta" means alt, not the windows-key which some programs use for meta). "PointerKey" is needed instead of "Key" because otherwise fvwm gets confused when using the "sloppy focus" model (the man page warns about that).

The question was, how to limit fvwm to three desktops, and wrap around, rather than just going left to new desktops forever? The answer (courtesy of someone on IRC) turned out to be:

PointerKey Left        A CM     GotoDesk -1 0 2
PointerKey Right       A CM     GotoDesk 1 0 2
PointerKey Left        A CMS    MoveToDesk -1 0 2
PointerKey Right       A CMS    MoveToDesk 1 0 2
The only problem at this point is that MoveToDesk doesn't then change to the new desktop, the way other window managers do, but I'm confident that will be easily solved.

Titlebar buttons

I had the hardest time getting buttons (e.g. maximize, close) to appear on the titlebars of my windows. You'd think this would happen by default, but it doesn't. It turned out that titlebar buttons aren't drawn unless there's a key or mouse action bound to that button, which they aren't by default. So to get buttons for window menu, maximize, and close, I had to do:
Mouse 1 6       A       Close
Mouse 1 8       A       Maximize
Mouse 1 1       A       Menu Window-Ops Nop
But then showing buttons 6 and 8 (the even buttons are numbered from the top right) automatically turns on 2 and 4 (I chose 6 and 8 because their default shapes were vaguely mnemonic), so they have to be turned off again:
Style * NoButton 2
Style * NoButton 4

Smaller titlebar and window frame

I also wanted to reduce the titlebar height and the width of the window frame: I don't like wasting all that screen real estate. That, too, took a long time to figure out. It turns out I had to define my own theme in order to do that, then add a couple of undocumented items to my theme. There's lots of documentation around on how to make buttons and background images and menus and key bindings in themes, but none of the documentation mentions simple stuff like titlebar height.
DestroyDecor MyDecor
AddToDecor   MyDecor
+ TitleStyle Height 16
+ Style "*"       BorderWidth 5, HandleWidth 5
+ ButtonStyle All -- UseTitleStyle
Style "*" UseDecor MyDecor

New windows should grab focus

Most window managers do this by default, but fvwm doesn't, and requires: Style * FPGrabFocus

Full config file

For any other settings, see my fvwm config file.

Tags: , ,
[ 17:14 Dec 13, 2004    More linux | permalink to this entry ]

Wed, 08 Dec 2004

Resizing Filesystems

I ran out of space on the backup drive today (must replace that 40G with a newer, bigger disk!) and decided I wanted to consolidate the last two partitions into one. The filesystem (ext2) was on sda3, and sda4 was blank.

Supposedly parted and qtparted can resize a filesystem, but when I select the relevant partition in qtparted (delete sda4, then select sda3) and tell it to resize, it gives an error message:

No Implementation: This ext2 filesystem has a rather strange layout!  Parted can't resize this (yet).

I ended up using cfdisk to resize the partition, then resize2fs to grow the filesystem. Since there doesn't seem to be a howto on resizing filesystems, here are the steps:

Tags: ,
[ 16:58 Dec 08, 2004    More linux | permalink to this entry ]

Tue, 07 Dec 2004

Video Formats

Something to do while sick, when I couldn't stand lying in bed reading any more ...

A few of us got to talking about video formats and our confusion about which formats were which, which ones were open, and so forth. I've never found a web document that really explains that clearly, but since I wasn't up to going anywhere or doing anything hard, I spent some quality time with google and wrote up my findings: Digital Video Formats.

It's still very rough, but at least it tries to make clear what's a codec vs. what's a container, and how to identify the container and codec used in a particular file. And it's a good place to store a few references that I found useful.

Tags: ,
[ 22:05 Dec 07, 2004    More linux | permalink to this entry ]

Sat, 04 Dec 2004

Predators and Flocks

I've always read that the reason that animals congregate in flocks, schools, and swarms is that it's more difficult for a predator to attack an animal in a swarm. The predator goes for one animal, gets confused and veers off after another animal, veers after a third, and ends up catching none at all.

Today, I experienced this effect more directly, from the vantage point of both predator and prey.

We were flying model airplanes with the folks at Baylands. We brought the Pocket Combat Wings out of retirement, because there's been chatter on BayRC about people dogfighting Mini Speedwings, and we wanted to try dogfighting with more than just the two of us in the air.

We hit the jackpot today! The combat session had seven planes in the air at once, though it seemed like twice that as they twisted and twined and screamed and whined and tried to hit each other. Beautiful!

There's been some talk about rules and engine classes and that sort of thing. Speaking as a pilot of the smallest and least powerful plane there (I think I was the only one with a stock IPS motor), it doesn't matter a bit whether some planes are faster than others, or slightly bigger. Nobody can make contact anyway.

In some twenty minutes of intense dogfighting (and sore hands and raw thumbs!) there were maybe four hits total (and no kills -- in every case both wings continued flying). People tried different strategies: pick out one target and follow it (invariably to lose it quickly in the melee), fly straight and let everyone else attack you (except mini wings don't fly straight all that well, especially in high winds), fly straight back and forth through the center of the bait-ball, fly into the bait-ball and start doing tight loops, fly above the bait-ball and spin down through it ...

Didn't matter. It turned out to be impossible to aim for a particular plane as they all swarmed and twisted, and impossible to pick one and follow it. Life in a swarm is chaos, and all you can do is join in the chaotic dance.

Tags: ,
[ 21:21 Dec 04, 2004    More misc | permalink to this entry ]

Fri, 03 Dec 2004

Told Off by a Squirrel

It was cold on the trails at RSA this afternoon!

After flying for a little while at the electric plane flying area, we took an afternoon hike. We should have reversed the order. Nearly all of the trails were in shadow by the time we got there, and parts were covered with ice! (Non-Californians are laughing; but it's awfully rare in coastal California to slip on ice covering the trail, and we weren't dressed for that sort of weather.)

The squirrels were active, calling to each other and dropping buckeye and acorn bits from the treetops. One squirrel decided we didn't belong on his trail. We watched him make flying leaps from one bay tree trunk to another, until finally he rested on the trunk at the edge of the trail, just above our eye level and perhaps three feet away. He peeked around the tree and glared at us, grunting at our effrontery.

I grunted back, and the obstreperous squirrel leapt into action, racing up the treetrunk to where it bowed over the trail, barking down at us (I barked back), racing to another vantage point, barking again.

Belligerence was rewarded. The simian trespassers quailed under such a display of squirrel valor, and retreated down the trail, leaving the precious buckeye stash unmolested.

(The invaders may also have been giggling a bit as they continued their hike. But let that be. The important thing is, they are gone and were not able to steal any nuts.)

Tags: ,
[ 22:40 Dec 03, 2004    More nature/squirrels | permalink to this entry ]

Wed, 01 Dec 2004

"Wireless on the Road" in Linux Journal

My article on Wireless on the Road, based on experiences getting wi-fi connections on our recent southwest trip, is in Linux Journal online, with a reference in Linux Today. My first official byline, Yeehaw!

Master wordsmith Carla Schroder helped, with both encouragement and proofreading. Thanks, Carla! (BTW, Carla's new book, The Linux Cookbook, just came out. I saw a couple of early pre-production chapters, and it's already solved several Linux problems I was struggling with. I'm sure the rest of the book is just as good, and I'll be buying it. Don't confuse it with the other book by the same name but a different author.)

[ 13:17 Dec 01, 2004    More writing | permalink to this entry ]