The problem of the growth of syndication feeds

Sam Ruby has a problem: he has too many feeds .Specifically, he has a comment feed for every blog entry, and toomany robots and abandoned aggregators are pulling them, over and overagain, despite the feeds effectively being dead. (See his entry for his solution.)

Sam Ruby isn't alone in having this problem ; anyone with a lot of flexiblesyndication feeds is going to encounter it sooner or later . (Even if you have only a few humanreaders, some search robots love syndication


Why del has to be a Python builtin

A posting today to the LiveJournal python_dev community wound up sort of askingwhy del has to be a Python builtin instead of a method. At first Ithought this had a nice simple answer, but the more I thought about itthe less obvious it became, and by the time I'd worked out a satisfyinganswer I'd had to really think about how Python fits together.

The short summary is that del needs to be a builtin because Python'sobject model is based on references and namespaces


An obnoxious RSS feed trick

I suppose it was inevitable, but the marketers have definitely arrived;the otherwise excellent In The Pipeline 'ssyndication feed now has banner ads. Animated banner ads atthat. I find this especially irritating because the feed is already a partial text feed , which means that I'm goingto visit the website anyways (because I have to). Adding animatedbanner ads on top is just adding insult to injury.

I honestly don't know why marketers still keep doing this. Everyonewith three brain cells to


Something to remember about networking restarts

I helped a coworker debug an interesting Linux problem today, and inthe process wound up reinforcing something that I already more or lessknew but hadn't really thought about for a while. Namely:

/etc/rc.d/init.d/network restart doesn't unload and reloadthe kernel modules for your network devices.

A networking restart will bring down and then restart all of yourinterfaces, reset parameters and so on, but the one thing it doesn't reset is kernel modules. They


A little script: howmany

There's a lot of Unix idioms that I use often enough to have turnedinto little shell scripts. Here's the first of them; I call it howmany :

#!/bin/shtrap '' 13sort "$@" | uniq -c | sort -nr

(The trap is necessary because of a Linux bash issue .)

Howmany does what its name says: it counts up how many times each lineof its standard input appears, then shows them from most to leastfrequent


xiostat: better Linux disk IO statistics

Xiostat is the program I wrote to giveus a faithful recounting of the Linux kernel's disk IO stats after we discovered the problems with iostat's numbers . I've now finally gotten around to putting it up on theweb and making a page that explains how to run itand what its output means and so on.

The current version is a bit slapdash, but I have verified that it(still) works on bog standard 2.6 Linux kernels (and thus should work onDebian Sarge,


The fun and charm of quoting URLs properly

The fun and charm of URL quoting is that you need to do it twice .Differently. That's because there's two different entities involved:browsers and web servers.

Strictly speaking, about the only thing that you have to quote forthe browser is quote characters, because otherwise your nice comes out very confusing. If you are being a good web standards monkeyyou need to quote at least ampersands (&'s) as well, because otherwisethe


Weekly spam summary on April 8th, 2006

This week, we:

  • got 12,551 messages from 234 different IP addresses.
  • handled 17,960 sessions from 979 different IP addresses.
  • received 444,512 connections from at least 44,262 different IPaddresses.
  • hit a highwater of 50 connections being checked at once; 50 is themaximum number allowed.

Mail received and SMTP session volume is down a bit from last week , but connection volume has spiked to huge


A common socket programming mistake: not handling short IO

With normal file IO, when you do do ' read(fd, buf, len) ' you'll almostalways get back len bytes unless you hit EOF or a disk IO error. Thisbreeds a certain sloppyness when filling buffers; an awful lot of codeeffectively ignores the return value of read() except to check it forerrors.

This can and will bite you on the rear when writing socket code, becausenetworks only give you so much data at once. Short reads are routine for socket IO


Apple joins the webmail hall of shame

Selected headers of a just-received advance fee fraud:

Received: from smtpout.mac.com  ([17.250.248.89])  by  ...Received: from mac.com  (webmail11-en1 [10.13.10.117])  by ...;  Sat, 8 Apr 2006 03:01:49 -0700 (PDT)