Thursday, May 31, 2007

How DOS 1.0 cost me an hour of scratching my head

A couple months ago, I migrated my text rpg Carnage Blender to a new server, with Ubuntu 6.06 on the new box.

For an unknown reason, ftstrpnm on the new box wouldn't generate the pngs I used in my captchas. It was easier to just check in the images from the old machine into the my svn repository than debug this, so I did.

The downside was that my working copy on my Windows laptop stopped being able to update from the repository. It would get to "words/con.png," and error out. Google, for once, didn't turn up anything useful.

Today I got motivated. I tried all kinds of ways to get this to work. A new checkout had the same problem on Windows, but on Linux worked fine. The svn command line client for windows didn't work any better than Tortoise -- instead of "Error: Can't open file '...words\.svn\text-base\con.png.svn-base': Access is denied", it barfed con.png to stdout, and died. This was a clue, but I didn't realize that until later.

Puzzled, I tried scp-ing con.png directly. No dice. Maybe it was a problem with my ssh server or client instead of subversion. So I tarred up my Linux working copy and untarred on Windows. Still it crapped out on con.png. I gzipped just con.png and tried to scp that over. That didn't work either.

I started experimenting with the filename itself. I could scp the .gz just fine if I renamed it to c.png.gz first. But "touch con.png" on windows failed, as did "touch con.txt." Finally I googled [windows filenames con] and found the answer at the top of the results, unfortunately from before I started reading oldnewthing or it might have jogged my memory.

It's time for python development to open up a little

I found out from Brett Cannon's blog that an abstract base clase (ABC) PEP has been accepted.

I don't like this PEP. It's a very big (and more important, inelegant) change to Python's style. But my real complaint is that as big as this change is, and as much as I try to stay current with Python (subscribing to 30+ blogs) I didn't have a chance to get involved in the discussion until after the PEP was already approved.

Python is big enough now that there should be some mechanism for feedback from the community before the priesthood of python-dev writes something in stone. Currently, if you want to know about PEPs before they are approved, you have to subscribe to both python-dev and python-3000 (which isn't linked from either the mailing lists page or the dev page, btw). I really don't care about the vast majority of these lists' traffic but PEPs, at least some of them, are important.

If the python-dev summaries ever got updated this might be a potential solution, but even at their best I don't remember them ever getting closer than a month behind or so. And two weeks is probably too coarse-grained anyway.

I think what really needs is a PEP rss feed. A friend thought that they already had one, but neither he nor I could find it. So if it exists, it's well-hidden. If it doesn't exist, it should. Please?

(And if it's easier for whoever's in charge of such things to give me access to the server and repository than to do it himself, then yes, I'm volunteering.)