Phillip Pearson - Second p0st

tech notes and web hackery from the guy that brought you bzero, python community server, the blogging ecosystem, the new zealand coffee review and the internet topic exchange

2003-12-5

Bootstrapping a web hosting service

I'm seriously considering starting a general web hosting service. I already run Python Community Server to host weblogs, so the change in responsibility isn't all that different. The emphasis is going to be on creating a secure shared environment -- a middle ground between your average web host today and something like JohnCompanies, which provides a really isolated, but somewhat expensive, hosting environment. Lots of chrooting - I plan to modify SUEXEC to run all CGI chrooted (not just setuid).

Right now I have the shell system (chrooted shells so you can SSH in and only see your own private environment) and FTP (chrooted FTP that lets you do things like make an FTP account that can only see a tiny bit of your web space, for things like Blogger). The SUEXEC mod will come later.

Anybody interested in being one of the first customers, please drop me a line. Prices should be about the same as CornerHost - US$5/mo for a straight 100MB/1GB no-script account, $10/month for more storage/transfer and CGI/PHP, $20 for something with SSH access, or $30 for that plus the ability to run your own server process (e.g. PyCS, Zope, or a private Apache).

The usual things will be there -- cron, IMAP, SquirrelMail, etc.

<-- be one of the first!

... more like this: []

Feed Normalizer

Quite a while back, I hacked up a little tool I call the Feed Normalizer. It's a Python script that reads and parses an RSS or Atom feed (using Mark P's Feed Parser), then spits out a bog-standard RSS 2.0 feed.

Why is this useful? Because it makes it trivial to work around incompatibilies in news aggregators. I use Feed on Feeds, which is great, but it shows me the content of the <description> element rather than of the <content:encoded> one, which sometimes contains more detail. I think BlogX generates feeds like this -- ChrisAn's one does it. The Feed Normalizer lets me see Chris's full posts.

Just recently, Seb Paquet contacted me to ask if I could change the comment monitor so that it would play better with SharpReader, the aggregator he uses. SharpReader has a clever feature where, if it sees an RSS <item> with no <description> element, it displays the linked page (the one in the <link> element) instead. I implemented this; now the comment monitor has a new "RSS without descriptions" link, just for SharpReader users.

... which suggested the possibility of getting the Feed Normalizer to blank out <description> tags for people who only provide summaries of their posts, so Seb could see the posts directly in SharpReader.

So:

Seb's RSS feed

Seb's RSS feed, normalized

Seb's RSS feed, normalized, with descriptions removed

A more useful example:

Charles Miller's RSS feed

... now without descriptions, so you can see the full posts in SharpReader

... more like this: [, ]