HAYCORN — 31 January 2006

Beebo redesign update

I ba­si­cally only have two things left to do before I can put the new! redesigned! Gulf­stream live:

  • Rewrite RSS gen­er­a­tion code. (I’d do Atom as well, except there doesn’t seem to be a good Perl Atom library. (Or any other lan­guage actually.) The content will be coming from SQLite so I don’t really care what lan­guage it’s written in.)
  • Write PHP reverse proxy. The content is comes from SQLite (join on a few tables), and is then piped through Perl and XSL. A sep­a­rate process is started up for each page, so this is a bit slow. (It would be okay if I could get all these bits running within the server, but that will make things a whole lot more com­pli­cated and I want to be able to run the whole shebang to be able to run on just about any host; Apache rewrites (will embed con­fig­u­ra­tion di­rec­tives into the URL) + a PHP cache seems like the best solution.)

Things to do after this:

  • Get com­ments back. Com­ments are slightly problematic. Ideally, the dis­tinc­tion between entries, comments, trackbacks, other blogs’ com­ments on the same URL, and other people’s tags (i.e. del.icio.us entry) shouldn’t be as clear-cut as they cur­rently are. Every­thing should be a sort of “first class object.” For example, it should be easy to find every comment a given user has made, both across a site, and across the entire internet. I also don’t want comment trees or of­fi­cial comment “replies,” but it needs to be easier to figure out if someone has replied to your comment. I’m think­ing of high­light­ing com­ments where someone writes some­thing like “Michael S.: …”. (Though I’ve never got enough com­ments on my blog to make this worthwhile, or even see if it ac­tu­ally works…)
  • Fix up the NY Times link situation. At the moment I’m pro­vid­ing “email this” links after each NY Times article link, which used to let you email the article to your­self even after it had expired, but this stopped working recently. I should prob­a­bly be pulling the links from Aaron Swartz’s NY Times link gen­er­a­tor … al­though there’s no API for this yet, so this is going to be a bit messy.
  • Convert rest of site to new design. A headache, but I’ll try to do this so it’s less work next time.
  • Plot Flickr photos on a Google Map. Have started doing this; it’s ac­tu­ally pretty straightforward. The one slightly in­ter­est­ing prob­lems is how to cal­cu­late which images fall within a given area, so that you’re not trying to draw ab­solutely every photo at once. Whilst there’s lots of search­ing and sorting al­go­rithms for 1D data (e.g. list of names) there don’t seem to be as many for data that falls in two or more dimensions. Ap­par­ently Post­greSQL and MySQL have a special spatial datatype that uses some­thing called R-Trees but I couldn’t find a sen­si­ble de­scrip­tion of this. I have some­thing that’s pretty simple and should work rea­son­ably well with regular databases, though. (Basically, nor­malise co-ordinates, convert to binary, then can use fast sub­string matches instead of range searches.)
  • Finish super aggregator. (This is sort of related to the first point.) The super ag­gre­ga­tor would produce a com­bined page of every­thing I produce: Blog, Journal, blog comments, Flickr, Wikipedia contributions, 43*, etc. Email would the­o­ret­i­cally be in­cluded too, though prob­a­bly never dis­played publicly. (You would be able to use this on other people as well … I some­times think of this as a “super stalker.”)