Shallow Thoughts : : Jan

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

Sat, 29 Jan 2005

Vignettes: A Boy And His Dog

The maniacal barking of the neighbors' loony dogs brought me to the kitchen window one morning, to see the young man walking his dog along the street outside the house.

The man was tall, ponytailed, intense; the dog, a german shepherd with a look of abundant alertness and interest, yet heeling close to his master's side.

They had just stepped off the curb to cross the street when some minor transgression on the part of the german shepherd -- did he glance over at the loony neighbor dogs? -- called a halt.

They stopped still, frozen in the intersection, tense and alert, man and dog communicating using movements too subtle for me to discern them from the window where I watched, fascinated.

In a minute, the conflict, invisible to an outsider, was resolved, the two players merged back into one, and the pair continued on their way, the ponytailed young man and the alert, obedient shepherd.

[ 11:33 Jan 29, 2005    More misc | permalink to this entry | ]

Tue, 25 Jan 2005

GIMP course started

I've started my "GIMP for Beginners" course on the Linuxchix Courses mailing list, topic "gimp".

Anyone reading this is welcome to join in!

Here's the first posting, Lesson 0.

[ 11:10 Jan 25, 2005    More writing | permalink to this entry | ]

GIMP course started

I've started my "GIMP for Beginners" course on the Linuxchix Courses mailing list, topic "gimp".

Anyone reading this is welcome to join in!

Here's the first posting, Lesson 0.

[ 11:10 Jan 25, 2005    More gimp | permalink to this entry | ]

Thu, 20 Jan 2005

Google fooled by search engines on commercial pages

I've been very frustrated with google searches lately. Not because of those blog links The Register is always complaining about, and for which the silly new "no-follow" anchor attribute was added: I hardly ever see blog links in my google searches, and when I do they're usually relevant to the search.

(Update: Mary pointed out to me that I was confusing two issues there. The new anchor attribute does indeed solve a very valid problem (not the one The Reg complains about), and isn't silly at all. She's quite right, of course.)

No, the problem I have is that the top hits always turn out to be a search engine on some commercial site. Clicking on the google link takes me to a search page on some random site which says "No pages were found matching your search terms".

Today I hit a perfect example. I was looking up Apache http redirects, so I googled for: htaccess mod_rewrite.

The first item is the official Apache documentation for mod_rewrite. Great!

The second item looks like the following:

htaccess mod_rewrite
... Many htaccess mod_rewrite bargains can only be found online. Shopping on the Internet is no less safe than shopping in a store or by mail. ... htaccess mod_rewrite. ... htaccess-deny-from-all/htaccess-mod-rewrite.html - 8k - Cached - Similar pages

Strangely, only google seems to show these sorts of search hits. Perhaps the spoofing sites only do their work for the googlebot, and don't bother with lesser searchbots. But google still wins the relevance award for most searches, even after I wade through the forest of spoofs; so I guess they don't need to worry about the spoofers until other search engines catch up in relevance. Eventually, someone else will catch up, and google will need to clean up its results. Until then ... <pulling on my rubber boots to wade through the muck in search of real results ...>

[ 18:03 Jan 20, 2005    More tech | permalink to this entry | ]

Wed, 19 Jan 2005

Desktop Search -- What you need if you don't have grep

I've been surprised by the recent explosion in Windows desktop search tools. Why does everyone think this is such a big deal that every internet company has to jump onto the bandwagon and produce one, or be left behind?

I finally realized the answer this morning. These people don't have grep! They don't have any other way of searching out patterns in files.

I use grep dozens of times every day: for quickly looking up a phone number in a text file, for looking in my Sent mailbox for that url I mailed to my mom last week, for checking whether I have any saved email regarding setting up CUPS, for figuring out where in mozilla urlbar clicks are being handled.

Every so often, some Windows or Mac person is opining about how difficult commandlines are and how glad they are not to have to use them, and I ask them something like, "What if you wanted to search back through your mail folders to find the link to the cassini probe images -- e.g. lines that have both http:// and cassini in them?" I always get a blank look, like it would never occur to them that such a search would ever be possible.

Of course, expert users have ways of doing such searches (probably using command-line add-ons such as cygwin); and Mac OS X has the full FreeBSD commandline built in. And more recent Windows versions (Win2k and XP) now include a way to search for content in files (so in the Cassini example, you could search for http:// or cassini, but probably not both at once.) But the vast majority of Windows and Mac users have no way to do such a search, the sort of thing that Linux commandline users do casually dozens of times per day. Until now.

Now I see why desktop search is such a big deal.

But rather than installing web-based advertising-drive apps with a host of potential privacy and security implications ...

wouldn't it be easier just to install grep?

Tags: , , ,
[ 12:45 Jan 19, 2005    More tech | permalink to this entry | ]

Mon, 17 Jan 2005

Open Source Scientific Image Processing

Anthony Liekens has a wonderful page on open-source Cassini-Huygens image analysis.

A group of people from a space IRC channel took the raw images from the descent of the Huygens probe onto Titan's surface, and applied image processing: they stitched panoramas, created animations, created stereograms, added sharpening and color. The results are very impressive!

I hope NASA takes notice of this. There's a lot of interest, energy and talent in the community, which could be very helpful in analysis of astronomical data. Astronomy has a long history of amateur involvement in scientific research, perhaps more so than any other science; extending that to space-based research seems only a small step.

Tags: ,
[ 19:30 Jan 17, 2005    More science/astro | permalink to this entry | ]

Mozilla tip: highlight links that would open a new window

Investigating some of the disappointing recent regressions in Mozilla (in particular in handling links that would open new windows, bug 278429), I stumbled upon this useful little tidbit from manko, in the old bug 78037:

You can use CSS to make your browser give different highlighting for links that would open in a different window.

Put something like this in your [moz_profile_dir]/chrome/userContent.css:

a[target="_blank"] {
  -moz-outline: 1px dashed invert !important;
  /* links to open in new window */

a:hover[target="_blank"] {
  cursor: crosshair; text-decoration: blink;
  color: red; background-color: yellow

a[href^="http://"] {
  -moz-outline: 1px dashed #FFCC00 !important;
  /* links outside from current site */

a[href^="http://"][target="_blank"] {
  -moz-outline: 1px dashed #FF0000 !important;
  /* combination */

I questioned the use of outlines rather than colors, but then realized why manko uses outlines instead: it's better to preserve the existing colors used by each page, so that link colors go along with the page's background color.

I tried adding a text-decoration: blink; to the a:hover style, but it didn't work. I don't know whether mozilla ignores blink, or if it's being overridden by the line I already had in userContent.css,

blink { text-decoration: none ! important; }
though I doubt that, since that should apply to the blink tag, not blink styles on other tags. In any case, the crosshair cursor should make new-window links sufficiently obvious, and I expect the blinking (even only on hover) would have gotten on my nerves before long.

Incidentally, for any web designers reading this (and who isn't, these days?), links that try to open new browser windows are a longstanding item on usability guru Jakob Neilsen's Top Ten Mistakes in Web Design, and he has a good explanation why. I'm clearly not the only one who hates them.

For a few other mozilla hacks, see my current userChrome.css and userContent.css.

Tags: , , ,
[ 14:03 Jan 17, 2005    More tech/web | permalink to this entry | ]

Thu, 13 Jan 2005

Nifty emacs hack: how to wrap only certain files

For a long time I've wanted some, but not all, text and html files to line-wrap automatically in emacs. For instance, it drives me nuts when I edit a system configuration file and it wraps each long line, or when I edit an html file containing lots of long links and it keeps wrapping between the <a and the href=. But for files which are mostly text (such as these blog entries), I want line wrapping.

I'd been trying to do this with html-mode-hook and text-mode-hook, then checking the filename and calling (auto-fill-mode) if appropriate, but it wasn't working, because buffer-file-name isn't always defined at the time the mode hook is called. (No one seems to know why.) The buffer name seems to be defined at that point, but it doesn't contain path information so I can't say "Use wrapping for anything under ~/Docs" or "Don't wrap anything in /etc".

But with some help from sachac and the nice folks on #emacs I came up with a much better solution, and it's way simpler than the mode-hook approach: derived modes.

I set up two new modes, called html-wrap-mode and text-wrap-mode, which are the same as html-mode and text-mode except that they turn on auto-fill. Then I use the easy auto-mode-alist mechanism, which already does string matching on the filename, to call these modes, instead of the regular text and html modes, based on the extension or some other aspect of the file's pathname. Here's what I added to .emacs:

;; Want auto-fill-mode for some text and html files, but not all.
;; So define two derived modes for that, and we'll use auto-mode-alist
;; to choose them based on filename.
(define-derived-mode html-wrap-mode html-mode "HTML wrap mode"
(define-derived-mode text-wrap-mode text-mode "Text wrap mode"

(setq auto-mode-alist
      (cons '("\\.blx$" . html-wrap-mode)
      (cons '("Docs/.*.html$" . html-wrap-mode)
      (cons '("Docs/" . text-wrap-mode)
            auto-mode-alist) ) ) )

Here's my current .emacs.

I wonder if vim has a way to do this?

Tags: ,
[ 23:30 Jan 13, 2005    More linux/editors | permalink to this entry | ]

Web pages with ugly fonts: Mozilla thinks they're Russian

For years I've been plagued by having web pages occasionally display in a really ugly font that looks like some kind of ancient OCR font blockily scaled up from a bitmap font.

For instance, look at West Valley College page, or this news page.

I finally discovered today that pages look like this because Mozilla thinks they're in Cyrillic! In the case of West Valley, their server is saying in the http headers:

Content-Type: text/html; charset=WINDOWS-1251
-- WINDOWS-1251 is Cyrillic -- but the page itself specifies a Western character set:
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">

On my system, Mozilla believes the server instead of the page, and chooses a Cyrillic font to display the page in. Unfortunately, the Cyrillic font it chooses is extremely bad -- I have good ones installed, and I can't figure out where this bad one is coming from, or I'd terminate it with extreme prejudice. It's not even readable for pages that really are Cyrillic.

The easy solution for a single page is to use Mozilla's View menu: View->Character Encoding->Western (ISO-8851-1). Unfortunately, that has to be done again for each new link I click on the site; there seems to be no way to say "Ignore this server's bogus charset claims".

The harder way: I sent mail to the contact address on the server page, and filed bug 278326 on Mozilla's ignoring the page's meta tag (which you'd think would override the server's default), but it was closed with the claim that the standard requires that Mozilla give precedence to the server. (I wonder what IE does?)

At least that finally inspired me to install Mozilla 1.8a6, which I'd downloaded a few days ago but hadn't installed yet, to verify that it saw the same charset. It did, but almost immediately I hit a worse bug: now mozilla -remote always opens a new window, even if new-tab or no directive at all is specified. The release notes have nothing matching "remote, but someone had already filed bug 276808.

Tags: , , ,
[ 20:15 Jan 13, 2005    More tech/web | permalink to this entry | ]

Mon, 10 Jan 2005

No Child Left Behind

Paraphrase of a recent conversation with a teacher (who might not want her name used):
She (describing a student who was having difficulty): ... of course, once I realized how far behind he was, I couldn't spend any more time helping him, because of No Child Left Behind.
Me: Um ...?
She: No Child Left Behind says we have to raise our test scores. So now the school administration decides which students are close to being able to get an acceptable score, and we're supposed to spend all our time on those students making sure they pass, and not waste time on the students who are too far back.
Me: So, because of No Child Left Behind, you have to ...
She: Leave him behind. That's right.

[ 19:10 Jan 10, 2005    More education | permalink to this entry | ]

Thu, 06 Jan 2005

Anna vs. Phoebe

Vignettes from a couple of short walks today ...

First, an exciting chase: a series of gulls loudly chased a crow which was carrying something large, orange and amorphous in its bill. I would have expected a crow could hold its own against a gull, being nearly as large, heavier, and smarter; but the crow obviously just wanted to escape with its prize, and ultimately did.

Later, on returning to the car, I had just spotted a black phoebe sitting on a branch near the road, when I saw something buzz past the corner of my vision. It was a male Anna's hummingbird rocketing straight up in what looked like a courtship display (in December?)

But it wasn't a courtship display: the hummer then sped straight down and arced past the phoebe, crying a short TCHEE! at the bottom of its arc when it was closest to the intruder.

I watched for maybe five minutes, fascinated, as the hummingbird repeatedly dove on the phoebe, never getting closer than a couple of feet (perhaps avoiding the branches of the bush in which the phoebe perched). The phoebe paid no attention, and didn't even flinch. It did change its perch to another bush once during the time I watched, and the hummer promptly shifted its attack to the new location.

A fellow hiker/photographer, returning from her walk, joined me for a minute to watch the show. She said she'd read recently in the paper that Anna's hummingbirds were due to start mating flights in mid-December. We both thought midwinter was an odd time to nest, especially for a bird so small that it has to worry about maintaining body heat. But if it's true, this male may have been defending a nesting territory, though I didn't see any female hummingbirds nearby.

This evening, a sunset walk along Los Gatos Creek revealed a first for me: a muskrat!

Tags: ,
[ 22:11 Jan 06, 2005    More nature/birds | permalink to this entry | ]

Boxer to Support Conyers in Protest Over Ohio Vote

Senator Barbara Boxer (D-CA) has signed a protest launched by Rep. John Conyers (D-MI) regarding irregularities in the Ohio vote, as reported this morning by the AP (via Yahoo, via ABC News).

Conyers' report can be found on the House Committee on the Judiciary's page, including the PDF report and some supplementary documents (all PDF except the video): a film by Linda Byrket called "Video the Vote", text of a fundraising letter Ohio Secretary of State Kenneth Blackwell, and Eyewitness Accounts of Ohio Voter Disenfranchisement. Conyers' report is described in this Fox News story.

John Kerry has not joined the protest.

This is not expected to alter the outcome of the 2004 election; both houses are expected to certify the election tomorrow. But it will force both houses to break from election certification tomorrow, and have a public discussion of up to two hours on some of the problems seen in the election. Perhaps it will pave the way for changes in future elections.

Tags: , , ,
[ 11:29 Jan 06, 2005    More politics/election04 | permalink to this entry | ]

Wed, 05 Jan 2005

January 8 Deadline to File CA MS Settlement Claims

January 8, just a few days away, is the revised deadline in the California antitrust class-action settlement against Microsoft, according to this NYT article (soul-sucking registration required, or use BugMeNot).

Anyone in California who bought Windows (even if it was bundled on a PC), DOS, MS Office, Works, or similar products between February 18, 1995 and December 15, 2001 is eligible for a rebate, in the form of a voucher redeemable for any tech hardware or software, not just Microsoft products.

Microsoft gets to keep 1/3 of the settlement left unclaimed, so claim the money you're entitled to now before it's too late!

Go to to fill out your claim form.

[ 22:58 Jan 05, 2005    More tech | permalink to this entry | ]

The California Spyware Law

An article in the LA Times on New Year's Day caught my eye: California has an anti-spyware law going into effect as of January 1. The Times was rather sketchy, though, on what constitutes spyware, though they did say that there were no actual penalties under the law, merely that the law makes it possible to sue a company for installing spyware (whatever that's defined to be).

I've seen it covered in other publications now as well, and every article I read defines spyware differently, without mentioning how the actual law defines it (which you might think would be somewhat relevant). Nor do any of them provide, or link to, the text of the law, or its number in the CA code.

It turns out the bill was SB 1436, with a history here: and here is the text of the bill. It amends section 22947 of the Business and Professions code: here's an attempt at a link to the actual law, but if that doesn't work, go to leginfo and search for 22947 in the Business and Professions code. It's fairly concise and readable.

One point which on which I've long been curious is whether the various proposed anti-spyware laws cover the invasive end user license agreements, or EULAs, which Microsoft, Apple and other software companies love so much these days. You know, "clicking here gives you permission for us to snoop on what files you have on your system, what songs you've been listening to, and what extra software you have installed, and you have to click here or you can't get security updates" (stories on Win2k, WinXP, and issues with Windows Media Player; I think Apple does similar things with iTunes but don't have any story links handy).

It turns out that SB 1436 specifically disallows collection of a user's web browsing history, or browser bookmarks (so google search might be in trouble, depending on how it works) because it's "personal information", along with your name, address and credit card information; but it says nothing against collection of information regarding files, installed software, music, movies, or email. I guess none of those constitute "personal information" and it's fine to sneak software onto your system to collect such details.

However, consider this interesting section:

22947.4. (a) A person or entity, who is not an authorized user, as defined in Section 22947.1, shall not do any of the following with regard to the computer of a consumer in this state:
(1) Induce an authorized user to install a software component onto the computer by intentionally misrepresenting that installing software is necessary for security or privacy reasons or in order to open, view, or play a particular type of content.
At issue here is the definition of "software component". If a system update installs a new media player with a new invasive EULA which suggests that the player may collect information on songs installed or played, under the aegis of a security update, wouldn't this fall afoul of the new law?

22947.2 (c) is also interesting:

[an entity who is not the owner or authorized user of a computer shall not] Prevent, without the authorization of an authorized user, through intentionally deceptive means, an authorized user's reasonable efforts to block the installation of, or to disable, software, by causing software that the authorized user has properly removed or disabled to automatically reinstall or reactivate on the computer without the authorization of an authorized user.

If you've ever disabled a feature in a piece of software, only to have it mysteriously re-enable itself the next time you updated the software, or if you use software whose EULA allows that, you may have grounds to sue if you can prove that it was re-enabled intentionally. This may be a bit farther than the authors of the bill really intended to go; quite a lot of software companies (and perhaps some freeware and open source authors as well) may be exposed here. Software providers beware!

SB 1436 has some good and non-controversial effects. It explicitly makes it illegal to install, without the user's knowledge: keystroke loggers (presumably this does not apply to the CIA or anyone else operating under the Patriot Act), spam email relays, denial-of-service zombies, multiple popup ads which can't be closed (we're in 22947.3 (a) now, which applies to software copied onto the user's computer; but this may apply even to Javascript on a web page, if you read the definitions at the beginning of the bill). All good things to disallow.

What about that no-penalty comment in the Times? As far as I can tell, they're right. SB1436 makes no mention of fines or other punishments. This Infotex post says there's a $1000 fine per incident, plus attorney's fees; but I can't figure out where they're getting that: I don't see it in either the bill or the law anywhere.

[ 11:45 Jan 05, 2005    More tech | permalink to this entry | ]

Tue, 04 Jan 2005

Snowy Grapevine, Rainy Central Valley, Unappetizing Sagebrush

The Grapevine, the pass through which Interstate 5 crosses the mountains north of LA, was covered in snow today. Gorman, near the highest point of the pass, was blanketed in white, not even bushes or grass poking through.

We'd hesitated before coming this way -- the Caltrans web site had listed the pass as closed until a scant half hour before we left. Signs on the highway at Castaic still said the pass was closed, but we put our trust in the web, and forged on. Happily, the road was open, clean of snow, and barely even wet, giving a lovely view of the snowy Transverse Ranges as we passed through this unexpected white christmas. Also fun was seeing a double semi trailer full of oranges passing through this wintry landscape.

Descending into the central valley, we saw the first "Food grows where water flows" sign at Buttonwillow, pinned to a trailer in a field of sagebrush and tumbleweed. Perhaps a goat would have found some food there. At least sage (which I do like in cooking) is closer to culinary than the cotton that all the farms here were growing for the last two years (presumably due to subsidies) the remnants of which still litter most of the empty fields along the I-5 corridor.

"Farm water feeds the nation", fifty miles farther north, also stood in a field of tumbleweed, but the California Aqueduct was nearby, so it was at least somewhat topical. The next "Food grows where water flows" adjoined a vinyard. Does wine count as food? Maybe they were table grapes.

The Buttonwillow rest stop features lovely woven hanging birds' nests, visible now when the trees are bare of leaves and looking like something out of an African weaverbird documentary. I didn't get a good look at the birds occupying those trees now; usually those I-5 rest stops are populated mostly by blackbirds and ravens, but I'll have to keep a sharp eye out next time I pass through in spring.

Tags: , , ,
[ 19:33 Jan 04, 2005    More misc | permalink to this entry | ]

"Works With Linux!"

Why is it that devices which claims Linux support almost never work with Linux?

When my mom signed up for broadband, we needed an ethernet card and router/firewall for her machine. The router/firewall was no problem (a nice Linksys with a 4-port switch included) but ethernet cards are trickier. First, it turns out that lots of stores no longer sell them, because they're trying to push wireless on everybody. ("Hey, I have a great idea! Let's take Windows users who don't even know how to run Windows Update, and set them up with an 802.11b network that opens their connection to the whole neighborhood, plus anyone driving by, unless they take extra security precautions!") Second, ethernet cards are in that class of hardware that manufacturers tend to change every month or so, without changing the model number or adding any identifying information to the box so you know it's not the one that worked last time.

The sale card at Fry's was an AirLink 101, and it claimed Linux support right on the box. The obvious choice, right? We knew better, but we tried it anyway.

Turns out that the driver on the floppy included in the box is for a RealTek 8139 chip: a file called 8139too.c, which has already been incorporated into the Linux kernel. Sounds great, no? Except that it turns out that the card in the box is actually an 8039, not an 8139, according to lspci, and it doesn't work with 8139too.c. Nor does it work with the ne2k driver, which supports the RealTek 8029 chip. No driver we could find could make head nor tail out of the AirLink chip.

Amusingly, the Windows driver on the floppy didn't work either: it, too, was for a RealTek 8139 and hadn't been updated to match the chip that was actually being shipped on the card. So the AirLink is a complete bust, and will be returned.

Fortunately, the other likely option at Fry's, a Linksys LNE100TX, is still the same chip (DEC Tulip) that they've used in the past, and it works just fine with Linux.

It's sad how often a claim of Linux support on the box translates to "This is a crappy product which probably won't work right with any operating system, since we change it every couple of months. But three revs back someone tried it on a linux machine and it worked, so we printed up all our packaging to say so even though we didn't bother to retest it after we completely redesigned the board."

[ 10:57 Jan 04, 2005    More linux | permalink to this entry | ]

Mon, 03 Jan 2005

New Year's Day in the Verdugos

Trails in the Verdugo hills above Burbank are a happy place, even when they're crowded on New Year's Day, with everyone taking advantage of a brief respite between two weeks of rainy weather. Everyone smiled, waved, or offered a cheery "Happy New Year!" It's nice to see people enjoying being out hiking, instead of grumping down the trail glowering at everyone, like some of the trails at home. Even after the sun disappeared and the wind came up, people seemed happy to be there. Mountain bikers, hikers, families, dog walkers, and one careful-stepping barefoot runner shared the trail without any conflict.

Up at the ridge, the crowds thinned out and we were alone. A large brown bird -- some sort of thrasher? -- belted out a song in a tree near the ridge saddle, and we watched a big red-tailed hawk slip silently out of a tree just below us and sail out across the canyon, adjusting her attitude entirely with the angle of her tail, scarcely moving her wings at all.

On the other side of a lookout peak, a towering brick chimney surrounded by pottery shards bears witness to past attempts to colonize this place. A kiln? And what was the purpose of the tall mast on the hill above it -- a flagpole? A lightning rod?

We lost ourselves following side trails down from the lightning rod, and found ourselves tracing deer trails through the chaparral. We examined rocks (is that layered black rock a coal seam, or pillow basalt to go with the nearby serpentine?) and eyed erosion gullies. We waved to bikers and got sniffed by dogs. A nice New Year's morning!

Tags: ,
[ 16:02 Jan 03, 2005    More nature/trails | permalink to this entry | ]