Older blog entries for etrepum (starting at number 21)

lindsey: "C# doesn't force you to... This seems bad." No, it's not bad. Programming languages should do what you want, not vice versa.
MisterP: The UNIX version of PrBooM is based on SDL. Port that to Panther, don't bother with Carbon. It is relatively easy, the biggest problems you will have are linker differences and learning how to build app bundles and such. A port such as this (SDL based software that's already cross-platform) should take someone experienced a few hours at best, a weekend at worst. BTW, SDL's Quartz output for OS X is on top of Cocoa, not Carbon. You can use this to your advantage to make a nice set of menus and such (since Cocoa is infinitely easier than Carbon) for your port once you have it working.

I'm well aware of the fact that the slice creates a new list. Either example is going to create a whole lot of useless temporary lists. Granted, the slice version creates almost twice as many, but both are horribly wasteful. I wrote it that way because reverse is in-place and the range syntax is ugly.

17 Nov 2003 (updated 17 Nov 2003 at 17:00 UTC) »
Archit: I assume you meant this:

k = [1, 2, 3, 4, 5, 6, 7, 8, 9]; k = [e for e in k if e < 2]

Because your syntax wasn't correct. Also, Python list comprehensions can nest, try this:

k = [(i, j) for i in range(10) for j in range(10)[::-1]]

nymia: OS X comes with Developer Tools on the fourth CD (called Xcode now), but IIRC they are not pre-installed when you buy the computer. If they were installed, you'd see them in /Developer on the boot volume.
mwh: OS X configuration files are a subset of XML called a Property List (plist). These are XMLified NeXT property lists, which were much cleaner looking and still easy to parse. In any case, there's not a whole lot you can do in a plist (DTD), so that's why Apple can write a tool like defaults(1) that is able to reliably manipulate arbitrary keys in an arbitrary plist file. It is also how they can offer simple APIs (i.e. NSDefaults) that basically just serialize/deserialize objects from the programming language you're using directly to these plist files, either by coercing to/from one of the simple types, or just encoding as base64. Strangely enough, I've even seen Apple use plists inside of plists disguised with base64.
markonen: IIRC, some of that leaky abstraction is plugged in PostgreSQL 7.3 (at least wrt dropping implicit sequences with tables). Besides, any time you ever created a SERIAL column it should've said "NOTICE: CREATE TABLE will create implicit sequence 'tablename_columnname_seq' for SERIAL column 'tablename.columnname'", so you were warned.
amars: Fast user switching makes sense for any kind of shared computer.. families, classrooms, etc.
MisterP: If you own Jaguar (10.2), it's very highly likely that Panther (10.3) will be a free upgrade. I believe that Apple has officially announced that odd point versions (10.1, 10.3) are free upgrades for users of the previous even point version (10.0, 10.2).
gabe: Python is a perfectly good language for writing any kind of application. Python has a faster development cycle than ObjC, and has a larger library of built-in functionality as well as more open source libraries and extensions. Also, anything you can do in ObjC you can do in Python with PyObjC, especially Cocoa application development.

12 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!