In order to fix Debian bug #438556 (a crasher that made almost all of the ID3v2 infrastructure useless), I have just release version 0.92 of tagpy. Go get it while it's hot.
Thanks to Debian, I got pidgin 2.2.0 today, and with it, its new atrocious smiley theme--eyebrows and all. This prompted me to make a smiley theme out of Psi's old smileys, which I still remember liking the most.
You can download that theme here: NOT FOUND: 1=PSI Smiley Theme for Pidgin/gaim
And this is what they look like:

def fermat(n):
"""Returns triplets of the form x^n + y^n = z^n.
Warning! Untested with n > 2.
"""
from itertools import count
for x in count(1):
for y in range(1, x+1):
for z in range(1, x**n+y**n + 1):
if x**n + y**n == z**n:
yield x, y, z
Nicked from the earthbound kid.
You might have been trying to implement the new-style VTK XML file formats. And you might have realized that what they tell you in the file format "specification" is just incomplete. Well, here are a few bits of information missing from there:
Binary Blob Header: In front of every binary blob, base64 or raw-binary, appended or not, there is an UInt32 length indicator. If you do not have this length indicator, you might get error messages like
Cannot read cell offsets from XXXX in piece 0 because the "offsets" array is not long enough.
Note that if you are encoding in base64, that length header must be encoded separately, so that the end result looks like XXXXXX==XXXX... (note the two equals signs indicating the early end of the length header block).
Compression Header: If you use compression, the following header applies instead:
struct {
uint32 blocks;
uint32 blocksize;
uint32 last_blocksize;
uint32 compressed_blocksizes[];
};
Again, this header is encoded separately from the data. This was figured out by Thomas Svedberg. Thomas adds that the following works for him:
struct {
uint32 blocks = 1
uint32 blocksize = total data size
uint32 last_blocksize = total data size
uint32 compressed_blocksizes[] = compressed data size
};
Offset Field Meaning for base64: The "offset" field on DataArrays with format="appended" is not a binary offset, it is the base64 character count from the underscore that starts the AppendedData section.
Vector Element Order: If you are encoding vectors (i.e. anything with NumberOfComponents="3"), and suppose your vectors are X,Y,Z,..., then the encoded data stream has the ordering X[0], X[1], X[2], Y[0], Y[1], Y[2], Z[0]...
I've found it sad for a long time that I've read many books in my life, but my memory of them is slowly fading, and I would at least like to keep a list around. As you have probably guessed, you would not be reading this if I hadn't stumbled on a cool site that lets me easily put together a catalog of books that own or have read.
And that site is: http://www.LibraryThing.com. And if you care what kind of books I read and own, here's my library. That list is still pretty incomplete, but I hope to add more over time.
Here's a chicken-and-egg problem for you. And you can be part of the egg. I'll show you how in a minute.
I bet you've noticed that bajillions of websites have little links that say "next" and "previous", right? Like previous page, previous item, previous whatever. And sometimes there's "up", too. As in "up" to the parent directory, "up" to the category containing this item, and so on. And every time you come upon a web page like that, you ask yourself, "so where is the link that takes me to the 'next' page?" Wouldn't it be nice if that button was always in the same spot, preferably on your browser user interface?
You might be surprised to learn that a solution to this already exists. The HTML standard specifies the <link rel="next"> and <link rel="prev"> header tags. But how can you make them show up in your browser? Easy: Use the Link Widgets Firefox extension. By installing and using that, you've become part of the egg. Now the chicken is that more sites need to start using the <link rel="..."> tags. There are already enough of them to make the extension worthwhile, for example Google, or any Drupal site (such as this one :) ), or anything generated by latex2html, which includes surprisingly large swaths of web documentation. But the more people have the UI to use these links, the more sites will include the markup, making the whole thing more and more useful over time.
And making the web more useful is not a bad thing, is it? ;)
I've rolled a new release (20070826) of the Boost.Bindings library to track what's currently going on in the Boost CVS tree leading up to release 1.35. What's released works with current CVS as of 8/26/2007, I assume it will also work with the final release. I suspect that it will not work with boost 1.34.1 and older.
Additionally, this release has a configure script and a Makefile to enable it to be installed with the familiar ./configure;make;make install procedure. Using this is completely optional, the library will also work without installation, as before.
Ok, the spammers yet again figured out how to circumvent my anti-spam measures. So yet again, I've disabled anonymous commenting. Only this time it's final. And I have a mess of seven bajillion comments to clean up.
I'm just so sick of these people: :barf:
For the first two weeks of August this summer, Frank and I went on a two-week trip through the northwestern United States. The trip was nothing short of amazing to me, and I'm having a hard time adjusting back to the dull (by comparison) life in Providence. We saw some really amazing nature, and had tons of fun. Naturally, there are pictures available. Thanks to Google Maps, you can also take a pretty precise look at our route: (You have to zoom out a couple times to see the whole thing.)
<br/>View Larger Map
Yes, we did indeed drive all that. 3300 miles altogether.
Here's a brief summary what we did each day: