143-Year-Old Problem Still Has Mathematicians Guessing – this is a NYTimes article on the Reimann hypothesis. Fun math stuff, speaking of which, I’ve been meaning to write something on PAR parity archives, which have gained popularity in binary newsgroups, and which Andy brought up during dinner last week. A unique PAR file generated for a set can replace any missing archive file. (A PAR file is the same size as one of the files in the archive set)

The PAR format isn’t actual straight parity, but builds on that same sorta idea using some higher level math (linear algebra). Some explanations are here in this message thread. I never actually took any linear algebra (switched to Fine Arts after Calculus III but before taking the LA class), but my interest was piqued, so here’s a list of related links:

Application Variables with PHP – first in a series of articles on developing an architecture for Enterprise PHP. My interest has been piqued on creating large-scale PHP applications, particularly on persistent state/application variables for clustering etc. I’ll be attending OSCON and the Advanced PHP tutorial, and it looks like they’ll be covering this topic in-depth. I’ve also been following some of the discussion that’s been happening on php-dev with regards to the future of PHP. While I don’t think that PHP should turn into J2E (shudder), it could do with some things to make larger-scale development easier without compromising it’s usability or accessbility. I think I’ve talked about this before, so I’m going to stop now.

While I don’t think Patrick Killelea‘s Top Ten Web Performance Tuning Tips is as bad as John Lim thinks they are, but I must say, that I do strongly disagree with Patrick’s #2 suggestion of not using style sheets. Despite the “separate download” (that’s what HTTP 1.1 is for right?), on average a styled page will save more than it’s weight in font tags. If you’re able to get away with ignoring ns4 rendering, a typical (X)HTML strict/CSS2 page will be one half to one third the size of a similarly laid out tabled page. Add in the spacer images and accompanying “separate downloads” and multiply by the fact that the style sheet will be cached and used across the entire site. If you can get away with it, CSS beats HTML layout hands down. Also, arguing that JS is source of pop-up advertising is like saying that GIF files are a source of blinking. It’s only a problem if you use it that way and isn’t some inherrent problem. Using JS code does not randomly cause pop-ups.

#5 I’d sorta agree with (although I would say that in most cases using CORBA or EJB won’t improve a programmer’s code-writing productivity) with the huge caveat that using CGI would probably be as slow or slower than a J2EE app server, and at least 1-2 magnitude slower than an embedded module like mod_perl, php, or even asp (although god help you if you’re going to run IIS). Never use CGI. CGI bad. Also, as is implied in #8, heavy middleware with powerful caching (for example, Vignette) can beat out less optimally coded but lighter-weight methods.

One thing that isn’t really a real tip, but is fun is that there’s a free analysis tool on Patricks’ website. According to his analyzer, [my] site kicks ass. No tuning needed. Slowest part was server silence, but it was fast enough.

A few weeks ago I bought some CDs through an Amazon z-shop. Turns out that one of them, Dismemberment Plan‘s Emergency & I, was misprinted (all the graphics and printed material was of the CD, but the audio of DP’s new album Change – which I already had), and since it would have cost me a few bucks and standing in line in the post office to send it back and get it all dealt with, I e-mailed the label, DeSoto Records, and they ended up sending me a replacement, which was really cool of them to do. Somehow, I doubt that any major label would do that.

The album is very good (as is Change). I’d definitely recommend giving it a spin if you’re of the Indie Rock persuasion (some MP3s on epitonic, and their website for more info).

Muse.Net (feel free to use

as a referer)

has gone public today. Pretty much what I expected. The agent installs on each of your systems w/ MP3s and streams from there. The Muse.Net servers act to collect and centralize the information as well as to organize the songs. There are some interesting possibilities involving roundtripping that infromation… Overall, pretty cool. First month is free, after that it’s $12.95 a years. The price of one CD for a something neat to fiddle with.

Right now the organizing display/metadata is pretty anemic, but it’ll be interesting to see what’s going on under the covers. One thing that is pretty disappointing is that there doesn’t appear to be any method for sharing of music. If you think about fair use, you should be able to ‘lend’ a song to a friend to listen to. Personally, I think that’d be a killer feature, even if you put in locks to approximate physical lending (ie, you can’t stream it while a friend is streaming, only people that you put on your friend’s list can stream, etc. etc.). But yeah, there are enormous pitfalls involved. No need to kill a project before it gets started. As a web service, I’m hoping that the primary feature thing they work on is making this a great music metadata recognition and organization tool. (It’s a great problem to tackle and no one has really done it that well yet.) Once that foundation layer gets done, it makes everything else much easier (whether you’re talking about finding more music that you might like, or people who listen to the same music as you do, or generating mixes that sound good, etc.)