Neil Schemenauer's Web Log


February 25, 2003

History of U.S. Budget Surplus/Deficit

Who spent what.

February 24, 2003


Librock has reusable code which uses just that strategy to implement a platform-independent "printf into an allocated string". Docs and source

(The librock source code is Free. No cost. BSD-ish license with no advertising clause.)

No time to check it out now some I'm logging it. :-)

February 23, 2003


I noticed Alexa's crawler last night. It looks like they have been busy little beavers. Look at the results for I tried a few other more obscure web sites and they had both a screen shot and a short summary for them. Note to self: check the stats for some of the sites I admin and see how closely their traffic estimates match.

Looking over the top 500 sites is interesting. Google might be #1 if they aggregate google.{com,ca,...}. I was amused by the number of porn sites in the list. I wonder if they try to sanitize the list at all. I'm pretty sure Google does for their Zeitgeist summaries.

Web log hacking

I did a bit of hacking on my web log today. I finally separated the stylesheet. At the same time, I made some tweaks to the CSS code. IE is stupid and got confused by padding: 0em 1em 1em 1em. The results were interesting. Every entry became positioned farther to the left until it was being cut off.

I also changed the HTML a little so that it looks better in links, lynx and w3m. The pages validate as XHTML 1.0 (again). Why are there no easy to use XML validation modules for Python? I starting writing a wimpy validator but got bored and abandoned it.

I just noticed the IE 6 SP 1 page. I clicked on the Technology Overview link, hoping they fixed some standards compliance bugs. Doh! Who cares about PNG alpha channel support and a working box model when you can have new ways of doing things you do before (e.g. printing and mailing images). Go innovation! parody

Don't say we didn't warn you.

February 22, 2003

Argh, XML syntax sucks

XML syntax has been bugging me since I started writing this log. Today I decided to do something about it. I dreamed up a new syntax and then wrote a crappy, inefficient parser that translates it to XML. Finally, I hacked my web logging script to use it. Ah, much nicer.

Here's a little example of my "nml" syntax:

{p This is a paragraph with a {(a href
link} in  it. I added a little optimization for tags like
{br}.  Characters like < and > automatically get escaped.  If I
want a special character I have to escape it, \{ <- like

Here's the XML after the transformation:

<p>This is a paragraph with a <a
href="">link</a> in  it. I added a little
optimization for tags like <br />.  Characters like &lt; and &gt;
automatically get escaped.  If I want a special character I have
to escape it, { &lt;- like that.</p>

February 21, 2003

Adding GC Support to a Python Type

How to add GC support to Python types in a backwards compatible way. effbot has a note on his site but it uses the 2.1 API and doesn't work with Python >= 2.2. In the words of Bart Simpson, I can't help but feel partly responsible for the mess. :-)

February 20, 2003

Banks try to cover up crypto bug

These vulnerabilities mean that bank insiders can almost trivially find out the PINs of any or all customers.

I'm not surprised the bug exists or that Citibank is trying to cover it up.


It's not the image we like to project....normally we may not know what we're talking about, but at least we can say it reliably...

February 19, 2003

Web log 'word bursts'

Gonfonit!!! Why does cool new social technology have to be related to ways to help people sell things to Americans! Why is it okay for us to be considered a nation of consumers, otherwise basically useless biological skinsacks?!

I wonder if there is a limit to the (marketing cost)/(development + manufacturing cost) ratio. It seems to me that long term, marketing is a waste of money. It's kind of like a war of attrition. Is there any difference between Coke and Pepsi each spending 100M on marketing vs spending 200M? In the latter case 200M was wasted that could have been used for something like research that would have long term benefits. There is probably a name in game theory for this type of contest but I'm too tired right now to look it up. Hmm, could you change the rules of the game so that it would be more profitable to improve the product rather than matching the marketing budget of your competitor? That would have a massive (almost certainly positive) effect on society.

February 18, 2003

Dijkstra on Computer Science

In academia, in industry, and in the commercial world, there is a widespread belief that computing science as such has been all but completed and that, consequently, computing has matured from a theoretical topic for the scientists to a practical issue for the engineers, the managers, and the entrepreneurs. [...]

I would therefore like to posit that computing's central challenge, "How not to make a mess of it," has not been met. On the contrary, most of our systems are much more complicated than can be considered healthy, and are too messy and chaotic to be used in comfort and confidence. The average customer of the computing industry has been served so poorly that he expects his system to crash all the time, and we witness a massive worldwide distribution of bug-ridden software for which we should be deeply ashamed.

For us scientists it is very tempting to blame the lack of education of the average engineer, the shortsightedness of the managers, and the malice of the entrepreneurs for this sorry state of affairs, but that won't do. You see, while we all know that unmastered complexity is at the root of the misery, we do not know what degree of simplicity can be obtained, nor to what extent the intrinsic complexity of the whole design has to show up in the interfaces. We simply do not know yet the limits of distinguished from accidental intricacy.

To put it bluntly, we simply do not know yet what we should be talking about, ... The moral is that whether computing science is finished will primarily depend on our courage and our imagination.

Edsger W. Dijkstra, Communications of the ACM, Mar 2001, Vol. 44, No. 3

Once again I feel saddened by his passage.

February 06, 2003

Amazingly bad MTA

Seen in my "spam delay" database:

message hash               remote IP   first   last  diff tries status
2319c6f932aaf9138b3d    8.2h   7.2h  1.0h  1275 denied

One retry every 2.8 seconds. Nice. Who would write such a shitty MTA? I'm sure you can guess.

February 02, 2003

Shopping for DVD writers

The DVD writer market is currently a bit confused. It seems that Pioneer controls the DVD-R/RW format. The competing format is DVD+R/RW. It is being promoted by the DVD+RW Alliance (pretty much everybody except Pioneer). DVD+R media is a little more expensive than DVD-R media (around $1.02 vs $0.55) but the price has been coming down. DVD+R/RW appears to be technically superior. It is supposed to be more compatible with DVD-ROM (used by movie DVDs) and works better for data applications. I'm betting on DVD+R/RW. Given the number of companies backing it, the media price should eventually match the DVD-R/RW price.

On to hardware. So far, I've found three candidate drives.


The Sony drive can write the cheaper DVD-R media but, given the price difference, I would need write about 140 discs to break even. All of the drives seem to have positive reviews. Does anyone know if these drives work with Linux? Also, if anyone know of a better deal I'd be happy to hear about it.

As an aside, I saw a story on CNN about an indie movie DVD club, similar to Netflix. I think this is a sign of trouble to come for the RIAA and MPAA. They are inefficient and if they don't improve they are going to get replaced.

February 01, 2003

SICP Video Lectures

There are video lectures for the MIT "Structure and Interpretation of Computer Programs" (6.001) course available online. Note to self: check DVD writer prices again. :-)