Fri, 09 Feb 2007
Mario Meets Yahoo
TechCrunch has a gushing post about
Yahoo! Pipes, which is some sort of graphical RSS-feed-editing
service. You can drag little boxes around to combine news feeds,
deleting posts that match certain criteria, keeping others, and publishing the result as a new RSS feed.
I can think of some uses for this, but I’m not quite as enthusiastic
as Michael Arrington.It’s very slick, but I’m not sure who the
intended audience is.
To Yahoo’s credit, the UI is so intuitive that in a few minutes, I’d
whipped up a new feed
for Guy Kawasaki’s blog that strips out his oh-so-cute minced
oaths “bull-shitake” and
“full of sushi.” Here’s what it looks like:

Unfortunately, I couldn’t figure out how to replace the phrases—I
could only delete the offending posts in their entirety. Call it
collateral damage in the war on preciousness.
20:52 EST | permalink |
/computers/internet/web
Tue, 22 Aug 2006
A web service everyone can get behind
The Web 2.0 Logo Generator:

14:12 EST | permalink |
/computers/internet/web
Mon, 10 Jul 2006
You know the market is saturated when…
I was reading a blog post when a button bar at the bottom caught my eye:

It’s a bunch of links to different social bookmarking systems. I counted 42 distinct sites.
Who knew that so many even existed?
On that note, don’t miss Targeting an audience of 53,651. Excerpt:
As more and more entrepreneurs start building what Fred
Wilson referred to as second derivative companies, I think they run a
big risk of designing a product/service that is targeted at too small
of an audience. Too many companies are targeting an audience of
53,651. That’s how many people subscribe to Michael Arrington’s
TechCrunch blog feed. I’m a big fan of Techcrunch – and read it
every day. However, the Techcrunch audience is NOT a mainstream
America audience.
15:51 EST | permalink |
/computers/internet/web
Mon, 03 Jul 2006
davfs2 shenanigans
[Hardcore nerd post. Non-geeks, please ignore.]
WebDAV is a nice, lightweight, widely implemented network filesystem
protocol. davfs2 is the client implementation for Linux, which lets
you mount a remote WebDAV server.
Heaven forbid that you should confuse it, though. If you confuse
davfs2 (as I did, by trying to unmount the same share twice), you
might get this delightfully cryptic and mildly ungrammatical error
message:
/sbin/mount.davfs: Process 5852 already uses device cfs0.
Maybe it's only a stale pid-file left from unclean shutdown.
Please clean up manually.
Notice the lack of any hint as to where that pidfile is. The phrase
“Maybe it’s only a stale pid-file left from unclean shutdown.” doesn’t
appear in a Google or a Yahoo search; I hope putting it here will
fix that.
I thought I’d be smart about this. “I know!,” I said, “I’ll use
strace!” (strace prints out all of the
system calls that a program makes, so you can get an idea of what its
inputs and outputs are.)
strace -o foo mount /path/to/mountpoint
Of course, strace revealed not a word about pidfiles, device cfs0, or
the long-dead process 5824. Neither did ltrace.
Eventually I realized/remembered that mount was
(fork/exec)ing mount.davfs, so strace wasn’t picking up
anything that happened after the fork—which is when all of the
interesting stuff happened.
Thankfully, strace has a switch that makes it hang on to
all child processes: -f. So,
strace -f -o foo mount /path/to/mountpoint
…revealed the last few things that mount.davfs was doing:
6475 write(2, "\n", 1) = 1
6475 setresuid32(-1, 0, -1) = 0
6475 access("/dev/cfs0", F_OK) = 0
6475 open("/dev/cfs0", O_RDWR) = 5
6475 chown32("/dev/cfs0", 0, 100) = 0
6475 chmod("/dev/cfs0", 0660) = 0
6475 getuid32() = 0
6475 setresuid32(-1, 0, -1) = 0
6475 ioctl(5, CIOC_KERNEL_VERSION, 0xbffffc54) = 0
6475 open("/var/run/mount.davfs/cfs0.pid", O_RDONLY) = 6 <------ AHA!
6475 fstat64(6, {st_mode=S_IFREG|0644, st_size=5, ...}) = 0
6475 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fe8000
6475 read(6, "5852\n", 4096) = 5
6475 write(2, "/sbin/mount.davfs: ", 19) = 19
6475 write(2, "Process 5852 already uses device"..., 129) = 129
6475 write(2, "\n", 1) = 1
6475 exit_group(1) = ?
6474 <... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 6475
6474 --- SIGCHLD (Child exited) @ 0 (0) ---
6474 exit_group(1) = ?
Note the “AHA!” above. The pidfile was in /var/run.
I have no idea how /var/ is supposed to be arranged. Some
things make sense – logfiles are in /var/log, mail boxes
live in /var/spool/mail (depending on your setup). But
some things make no sense: mysql databases live in
/var/<b>lib</b>/mysql, as if that makes any sense. (They
aren’t code libraries!) I suppose that /var/run makes
sense for pidfiles but why couldn’t it be something obvious like
/var/pids?
(I know. I know. That would be too easy.)
Update: The source of the problem that prompted me to mount and
unmount davfs2 until it died and left behind a stray pidfile was also
in /var/ – the /var/cache/davfs2
directory. As it turns out, if you remove files behind davfs2’s back,
it can get confused, spewing errors like this:
/sbin/mount.davfs: Connection failed, mounting anyway. File system will only be usable when connection comes up.
When I looked at the network dumps (using tethereal "tcp port $PORT" -i lo -d tcp.port==$PORT,http -x -w path-to-output,
which I highly recommend), it turned out that davfs was requesting
files that I’d long since nuked. Blowing away the contents of the
/var/cache/davfs2 fixed the problem. (Why the heck do
these hang around between mounts, anyway?)
01:55 EST | permalink |
/computers/internet/web
Thu, 08 Jun 2006
The shark jumps me
I used to pride myself on coming up with awful ideas before they appeared on the Internet.
So, when I said to myself “hey, why hasn’t someone taken this mashup silliness to its logical conclusion and made a National Sex Offender Registry/Google Maps hybrid?”, I was disappointed to discover that someone had already done that.
I’m still waiting for the crimelibrary.com/Google Maps “Jeffrey Dahmer
Walking Tour” mashup, though…
16:36 EST | permalink |
/computers/internet/web/weirdness
Sat, 22 Apr 2006
Advice for the friend of an obsessive webalizer-checker
Dear Mr. Mouthpiece,
I have a friend who obsessively checks her web site statistics and flips out
if she doesn’t get enough visitors since her last look (typically
every 5-10 minutes). I’m worried — what should I do about this?
Harried at HMS
Dear Harried,
If the site is a blog, which I suspect
it is, the obsessive stat-checking is
typically a manifestation of a condition called novel hypertext-specific spectrum disorder. It frequently occurs in bloggers who are new to the web and haven’t yet become disgusted with the whole business. It doesn’t appear in every blogger; my suspicion is that your friend wasn’t hugged enough
as a child. That said, if she really wants website traffic, post a link to her site in a forum devoted to trolling blogs. She probably won’t thank you, but at least she won’t be concerned about the lack of traffic after that.
Best,
Mr. Mouthpiece
21:43 EST | permalink |
/computers/internet/web
Sat, 21 Jan 2006
Yowch!
Ed Felten’s blog: “Privacy is for Google what security is for Microsoft.”
(In context, it looks like this translates to “Privacy disasters could
hurt Google, just as security disasters could hurt Microsoft,” rather
than “Google is as concerned about privacy as Microsoft is apparently
concerned about security.” Before I read the context, though, the latter seemed more likely.)
00:31 EST | permalink |
/computers/internet/web
Thu, 19 Jan 2006
Conspiracy of the week: subtle crypto-fascism at MSN
MSN Search has a neat little “quick facts” search service – if they
know the exact answer to a query (e.g., “king of spain”, “babe ruth
ERA”), it will display it just above the search results. A recent
release announced the addition of 10^6 more facts:
It’s not perfect, of course:

First, there’s the obvious problem that he isn’t. Second, doesn’t “Leader of
Germany” usually conjure up images, not of the prime ministership, but
of a certain historical political office?
14:54 EST | permalink |
/computers/internet/web
Mon, 12 Dec 2005
Another few hours of my all-too-short youth irretrievably lost
[Warning. Hardcore nerd post.]
In the process of writing a web application with mod_python, I had
to restart my web server. A lot. Apparently, Apache 2 (the web server
in question) doesn’t like this, and starts dying on boot with error
messages along the lines of
[Mon Dec 12 02:23:17 2005] [emerg] (28)No space left on device: Couldn't create accept lock
…although the disk had plenty of free space and no shortage of inodes.
I Googled this quite a bit. A number of sites suggested looking for
zombie semaphores with ipcs and deleting them with ipcrm. But when I ran ipcs, all I got was
$ ipcs
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
------ Semaphore Arrays --------
key semid owner perms nsems
------ Message Queues --------
key msqid owner perms used-bytes messages
It took me way too long to realize that ipcs was showing me the
semaphores that I (user=jdb) owned, not the ones that the web server
(user=www-data) owned. [Slaps forehead.]
Oh well. Live and learn.
So, to actually trash all of the unneeded semaphores (why is there a
limit on these, anyway?), become root, stop apache, and type something
along the lines of:
for i in `ipcs -s|grep www-data|tr ' ' '\t' |cut -f 2`; do ipcrm -s $i; done
02:30 EST | permalink |
/computers/internet/web
Sun, 10 Jul 2005
Backlog finished
Finally finished processing all of the photos from the eutrip,
plus some others from June and July. They’re posted here.
(Apologies for the server outage last month – I think it was a DHCP issue.)
23:27 EST | permalink |
/computers/internet/web
Tue, 22 Mar 2005
How to score an above-the-title slot on the Drudge Report
By now, everyone’s heard of the website whose owner promises to
butcher and eat Toby, his pet rabbit, unless he receives US$50,000 by the end of
June. As with the infamous Bonsai
Kitten, Snopes says that it’s a
hoax.
Toby’s owner had the right idea, but he wasn’t exploitative enough:
I’d like to see a website whose owner vows to have an abortion unless
she receives some enormous amount of PayPal
donations in the next nine (eight…seven…six..five…four…)
months. (Bonus points if the “mother” fakes her photo the old-fashioned way using a
balloon, rather than just stealing pictures from Google Images or launching Photoshop.)
Maybe Drudge will dust off his flashing-police-beacon animated GIF for
this one.
15:16 EST | permalink |
/computers/internet/web/weirdness
Mon, 21 Jun 2004
Low Priced! Huge Selection!

No comment.
20:45 EST | permalink |
/computers/internet/web
Sun, 02 May 2004
Necroterrorism
Third
hit
on Google for “necroterrorists” (I guess they’re funded by smuggling
corpses instead of drugs, like their narco- cousins) is an index of
“death metal” bands. I’ll file this in the “people who take
themselves way too seriously” category:
| INTERPRET | TITEL | KATEGORIE | MEMBER |
| Gardens of Gehenna | Dead body music | sonstiges | meden |
| Genital Grinder | Genital Grinder | death metal | meden |
| Gholgoth | Somnus Mortis Imago | Black Metal | meden |
| Ghoulunatics | King of the undead | death metal | meden |
| Gnosis | Another selfmade luminary | speed thrash | meden |
| Gnostic | Evoking the demon | Black Metal | meden |
| God Dethroned | Ravenous | death metal | meden |
| Godless | Let there be darkness | Black Metal | meden |
| Godless North | Summon the age of supremacy | Black Metal | meden |
| Godz at war | Postmortem | death metal | meden |
| Gold Fuer Eisen | Heimat | heavy metal | cyberbloodgoat |
| Golden Pyre | Necroterrorists | death metal | meden |
| Golem | Death never dies | death metal | meden |
| Gomorrha | Sexual perversity by autopsy | death metal | meden |
| Gorath | Haunting the december chords | Black Metal | meden |
| Gore Blister | Art bleeds | death metal | meden |
| Gorelord | Zombie Suicicde Part 666 | death metal | meden |
| Goretrade | Ritual of flesh | death metal | meden |
22:25 EST | permalink |
/computers/internet/web/weirdness
Wed, 03 Mar 2004
Uncanny PageRanking
Blast it. Google’s on to me —
I’m up to #20. (But only with Moderate SafeSearch on, which is the
default.)
01:24 EST | permalink |
/computers/internet/web
Tue, 17 Feb 2004
jigl wins the gallery generation wars
I’ve investigated a number of different web image-gallery generators
for my site. My primary requirements are that the system generate
static HTML and images (i.e., no CGI, no PHP, no MySQL, no SSI, none
of that dynamic crap), that it scale large images and provide links to
the unscaled versions, and that it not look like crap.
For a while, I used fgg, which, when hacked a
bit, produced reasonable results. But it had some irritations: namely,
it scaled images by a size ratio, rather than to a particular
size. And, while I liked its minimalism, I was looking for something a
bit less spartan.
igal is a nice tool,
but it didn’t do scaling the way I liked, either. And none of the
preset layouts really cried out to me. (I do use it when assembling
sets of graphs for my independent work, however.)
Today, I stumbled on jigl, which is amazing. It’s
a single perl script, the site supplies a wonderfully subtle background theme
(the default isn’t as attractive), and it does image scaling almost
the way I like it (it accepts a target Y value, rather than a target X
value, for reasons I can’t quite fathom.)
I plan to use it for future collections—especially subsets of the
photos in the photos section, like this one.
15:14 EST | permalink |
/computers/internet/web
Fri, 13 Feb 2004
The Depsotism of the Check-Box
I recently came across a form that looked like this:

Regrettably, they neglected to include a checkbox titled “anything
nuclear.”
02:17 EST | permalink |
/computers/internet/web
Fri, 30 Jan 2004
Next thing you know, Red Hat manuals will come in .doc format
19:15 EST | permalink |
/computers/internet/web
Thu, 15 Jan 2004
An Open Letter to the Vice-President for Information Technology
From: Joseph Barillari <jbarilla at princeton dot edu>
Subject: Netscape, IE, and the future of campus standards
To: Betty Leydon <betty at Princeton dot EDU>
Date: Fri, 05 Sep 2003 20:39:44 -0400
Dear Vice President Leydon,
It was with reserved pleasure today that I read that OIT has retired
Netscape Communicator 4.7x. As your announcement indicated, that
browser was obsolete years ago, supported web standards spottily (if
at all), and was generally unfit for use on the modern Internet.
However, that pleasure was quickly quelled when I read that OIT would
not only be standardizing around Internet Explorer, but would not be
replacing the aging Netscape with one of its more modern successors.
I realize that the corporate organs of this University would prefer to
standardize around a well-supported browser. IE, with the vast
majority of the Web's market share, is a natural choice in this
regard.
However, the academic organs of the University (if I may speak as a
cell in the undergraduate organ) do not benefit from a homogeneous
computing environment to an extent that outweighs IE's many
well-documented flaws. The Web Standards Project documents several,
namely:
* No support for attribute selectors (Windows/Mac)
* Incomplete support for PNG (Windows)
* No support for the W3C event model (Windows/Mac)
* No support for adjacent selectors (Windows)
* No support for border-spacing (Windows/Mac)
* No support for position: fixed (Windows)
http://www.webstandards.org/opinion/archive/2003/06/27/
These flaws are not fatal to a browser used to access corporate
applications (PeopleSoft, for instance), because corporate
applications are designed around these flaws. They are, however, quite
injurious to academic users, who generally use their web browsers to
browse the /entire/ web, not just the subset designed around omissions
of Internet Explorer's engineers.
As free operating systems like Linux gain support in China, India,
Brazil, and other countries with low Microsoft market penetration, an
increasing set of web authors are coding to the published web
standards, rather than to the ad-hoc rules created by long-unfixed
bugs in Internet Explorer. Content authors in these states feel no
need to tiptoe around the mistakes made by Microsoft's engineers. Nor
could they -- they often have no access to Windows machines. Other Web
authors, disgusted that some of the best features invented by the W3C
are foreclosed to the entire Web audience because IE users cannot
utilize them, have chosen to employ those features anyway, as a means
to encourage web users to install standards-compliant web browsers.
Viewing web content as it was meant to be viewed requires a
fully-standards-compliant web browser. Internet Explorer does not fit
the bill. Microsoft recently announced that it will /never/ fit the
bill -- they have retired the stand-alone Internet Explorer. Until
their next-generation operating system is released, IE will not be
updated. And the new version that accompanies that OS will not be
back-ported to OIT's standard OS, Windows 2000.
It is in light of these reasons that I ask, on behalf of my fellow
cells in the academic organs of this University, that OIT include, as
an alternative to IE, a modern, standards-compliant web browser on its
student cluster machines. Both Mozilla 1.4 and its corporate cousin,
Netscape 7, fit the bill admirably.
I would be more than happy to discuss this matter further at your
convenience.
Regards,
Joseph Barillari
--
Joseph Barillari -- http://barillari.org
13:31 EST | permalink |
/computers/internet/web/standards
Wed, 27 Aug 2003
ObReferer
One of the minor delights of running a web server is that once it gets
picked up by the major search engines, your logs
will start to look like they were written by a lexicographer on
acid. Observe:
email contact of silent rich men
infrared imaging of penis
mri scanner penis sex
penis in vagina mri
seclusion and physical restraints in schools
blog male exhibitionist large penis
wow snacks
celery and abortion
fanny pic of the crusades
bison or gunny or rearranged or willful or inefficient
interact or drapers or statutory or cooks or microsoft
benab or mackintoshite or injunctive or taxed or outroyal
attaching or freshmen or dodecahedron or mailable or suggestion
I suspect that the last four lines are from WebCollage.
06:50 EST | permalink |
/computers/internet/web
Tue, 08 Apr 2003
Anatomy of a Non-Slashdotting
The Slashdot story
about my critique just
dropped off the front page. My web server took a slashdotting with
nary a whimper. Why? It’s only a single-processor Athlon with IDE
disks on a 10MBps LAN – definitely not a studly machine.
I suspect four causes:
- The article 55k of text, so it’s lightweight. It’s not a Linux
ISO.
- The story is static HTML. No Perl, PHP, or Python scripts are
called to generate it. Had I still been running Plone, my server would probably be on
its knees, begging for mercy.
- The story was posted during off hours (it was up from about 20:20
last night to about 13:46 today.)
- The material isn’t incredibly interesting. (It’s not the
Matrix trailer, for instance). It racked up 299 comments as of this
writing, which is low for Slashdot. But I’m not complaining. :)
In any event, answering the mail that came in was an entertaining
way to avoid my COS
423 problem set – to which I now return.
The web server logs are analyzed here.
14:35 EST | permalink |
/computers/internet/web/slashdot
Flash crowd hits barillari.org. Film at eleven
Someone (thanks!) posted my critique of the
Peng case on Slashdot. The web server is still holding out,
fortunately.
In the mean time, I’ve been getting interesting email from random
people. When they subside, I’m sure this will remind me of a Simpsons
episode:
Nelson: Haw, haha! He's the greatest showman since that kid who
eats worms.
Worm-Eating Kid: [worms in mouth] My fifteen minutes of fame are over!
-- ``Lisa's Sax''
Updated: Apr 8.
11:18 EST | permalink |
/computers/internet/web/slashdot
Sat, 05 Apr 2003
The Fall of Web Standards, Chapter XVII
The radicals at the w3c invented a
tag for quotations: <q>. It’s a wonderful idea. Rather than deal
with the smart/dumb-quotes
issue, the client handles quote rendering. Better still, quotations
now have semantic significance: browsers can tell that something is
supposed to be formatted as a quotation, rather than merely enclosed
in quotation marks. CSS can
be used to change the markup of <q>-enclosed tags, thus
separating formatting information from actual content (just like the W3C says
we should!).
The CSS engines in both Internet Explorer and Galeon (Mozilla) recognize <q>
as a valid tag. Unfortunately, only Galeon/Mozilla properly inserts
quotation marks as required by the W3C:
Visual user agents must ensure that the content of the Q
element is rendered with delimiting quotation marks. Authors should
not put quotation marks at the beginning and end of the content of a Q
element.
Arrrgh!
I sent a feature
request to Microsoft. (I couldn’t find the bug-report form, so I
filed it as a product suggestion
.) Given their tendency to add
features instead of fixing bugs, maybe the report will actually be
read. (Riiight.)
Incidentally, I’m not the first to
notice this.
21:01 EST | permalink |
/computers/internet/web/standards
Sun, 30 Mar 2003
Webalizer reactivated
I’ve activated webalizer once again. See
/stats.
17:39 EST | permalink |
/computers/internet/web