programmierung - 16.6.2003 - 2.10.2003

Replication for PostgreSQL

I didn't even notice: the commercial replication solution eRServer has been open source since the end of August! Although it seems that only one-way replication (from master to slaves) is implemented, but in any case, something like that helps.

Here's the original article.

Department Strange Version Numbers

This is the first stable release. - is listed as an entry at Data Mine 0.0

Here you can find the original article.

SSH2 Implementation in Python

A complete SSH2 client implementation written entirely in Python. Interesting for understanding the internal structures of the protocol, but also useful for practical purposes (for example, administration scripts that need to access multiple machines). However, Python 2.3 is the minimum requirement, and pycrypto is also needed (so the encryption algorithms are not written in pure Python, only the SSH2 protocol itself).

Here you can find the original article.

DrawBot: Python, PyObjC, and Cocoa based 2D drawing environment

A complete 2D graphics application IDE in Python for OS X (requires PyObjC). And the whole thing without Project Builder, but everything in Python - even the application creation is done via Python script.

At bbum's rants, code & references you can find the original article.

quiz-time

Hmm. According to the test, I'm both a linguistic thinker and a "naturalistic thinker". Weird. Ok, the linguistic thinker description says that these people often think in words and use language to specify and solve problems. That fits me exactly. However, the career directions are missing any mention of programmer - and in my opinion, language is an essential tool precisely in programming. And programming languages are exactly that - nothing more than languages for computers, even if they're somewhat more formal than human languages. Unfortunately, there's still too much of a separation in people's minds between the aesthetic realm and the logical realm - as if these two areas were incompatible. The result is software engineering, where programming is reduced purely to the formal, as if the programmer's intuition and creativity were something disgusting that should be hidden or even eradicated...

At sec.digigeek.net there's the original article.

Freedom of software is recognized by the UN as worth protecting

Ok, who has a bottle of champagne ready? Please pop the cork!

At Markus Kniebes Journal you can find the original article.

Imaginary Python books that I would like to read

Funny suggestions for Python books that you might read if they existed. The 12-volume Zope series in particular would definitely be something I could use sometimes

You can find the original article at Python owns us (the original post).

Sophos acquires ActiveState

Whether Sophos will really have the same commitment in the open source community as ActiveState? They'll have to prove that they really do it that way. I'm rather skeptical about it.

At heise online news you can find the original article.

Rainer Joswig's Home

Cool, Rainer has a weblog (sort of). Ok, no RSS feed, but at least a Lisp website again. He used to have a big link dump there, but somehow it disappeared and I kind of lost track of his web pages. Rainer is the one who got me into Lisp years ago — and infected me with the desire to get a Symbolics Lisp machine (which I now have). Besides that, he got me my first Lisp machines - boxes from Xerox - and was also my first net dealer, even if I had to take the FTP downloads home on floppy disks ...

Man, now I feel guilty again because I work with Lisp way too little

Here's the original article.

AppleScript Studio Tutorial

Nice little tutorial for AppleScript Studio. At least to create a starter project and get an initial introduction.

Here's the original article.

Canned Meat

Just a warning: I'm still using an outdated version of POPFile. Jutta uses a newer one, but not Mailsmith, rather Mail.app - anyway, you can easily combine the two scripts. The main difference is that my script looks for a colon and space and uses what comes after as a link, while Jutta's version uses the text between a < and a > as a link. If someone could just tell me how to do string manipulation properly in AppleScript, I could clean up the somewhat cumbersome source a bit - because at the moment I'm breaking the string down completely into individual characters and working through them. Somehow inelegant.

What was nice, however, was that porting from MailSmith to Mail.app only required minimal changes. These standard dictionaries of Mac programs are really a fine thing ...

Over at Der Schockwellenreiter you can find the original article.

Turn Your Radio On

Well - I hope that this isn't implemented the way Jake Savin announced it on the radio-dev mailing list: http://groups.yahoo.com/group/radio-dev/message/7946

The problem: for weblogs that don't yet have comment notification, it's quite easy to hijack the comment notification, even if option 2 from the email is used (option 1 isn't an option anyway because of its immutability).

The scenario is quite straightforward: since the setPrefs function doesn't just send the password (or rather its MD5 hash), but also all the data to query another server for validity, you can simply set up a small XMLRPC server that generally returns "ok, password is correct". You then include this in the setPrefs calls as the server to be queried. And just like that, you can use a loop to steal comment notifications from all numeric users on Userland. A classic case of not thinking things through far enough. It's quite astonishing how few people actually think about security and what it ultimately means. Too often you encounter half-baked solutions. Granted, comment notifications aren't really critical. But the function that's supposed to be protected here is called setPrefs - it's foreseeable that programmers will soon store additional settings there, and how these can then be set externally.

Where exactly is the error here? In communication with the server, that's clear. But the real error lies in the fact that a security-relevant area is implemented using a coupled system, where the coupling of systems is determined by the end user. And that last small part - determined by the end user - is the problem. System couplings in security-relevant areas must be pre-configured by the administrator; users may at best be able to choose from options. Because only the administrator can determine which sources are trustworthy for authorization. At Der Schockwellenreiter there's the original article.

Updated Medusa Release

Ah, 0.5.4 is out. I need to remember this for the Python Desktop Server so I can update it in the documentation. Because there are important fixes in there (especially the one with URL analysis).

Here's the original article.

Open Firmware: Password Not Recognized When It Contains the Letter "U"

There are indeed strange bugs out there. You can't use a password with a capital U on Apple machines. I mean, what the heck is so special about a capital U that this banal letter makes passwords unusable? I can't imagine any bug that would provoke such behavior. Weird.

Here's the original article.

FaceSpan 4.0 Public Beta

Hmm. Does FaceSpan really make sense anymore in times of (free) AppleScript Studio? AppleScript Studio can also create completely AppleScript-based software, and with the help of Interface Builder there's also a very good GUI design tool, and the integration is also very high. And above all, extensions and performance-critical areas can be implemented quite easily in Objective-C. I don't know if FaceSpan really makes sense there anymore.

At welcome to macscripter.net | applescript and script resource there's the original article.

AppleScript to open POPFile links from Entourage X

A small AppleScript that jumps to the link to Popfile in messages that were filtered by Popfile. Unfortunately for Entourage, I think I'd need to rewrite it for Mailsmith sometime. For that I'd probably need to know a bit more about AppleScript ... Here's the original article.

Producing Postscript with Python

Anyone who wants to produce Postscript files (including multi-page publications) with Python can do so with PyScript. The approach is quite interesting: basically a graphics library that translates to Postscript. So you can develop everything in Python, modify, combine, and layout all graphics there, etc., and then use the result as a Postscript file (e.g., convert to PDF).

Here is the original article.

mySTEP 1.1

What all exists out there: a port of an OpenStep subset to the Zaurus, so you can build programs for the Zaurus with Mac tools and Mac sources. Wild.

At VersionTracker.com - Mac OS X I found the original article.

RSS - where is the link to an article?

They should simply take the GUID instead of the content of the link tag. After all, the GUID in radio blog postings is always the link to the article itself (that's how it's defined anyway - only if the GUID element is marked with isPermalink="false" is it not the case). The Python Desktop Server does it exactly the same way, the link element contains the link of the posting, the link to the posting is in the GUID. So it's more of a problem with NetNewswire, that it doesn't ask the user which link it should pass as the link to the blog posting ...

At Der Schockwellenreiter there's the original article.

WyPy - Wiki in Python

Probably the shortest wiki in Python, just 23 lines of highly unreadable and cryptic source code. And thus proof that Python's mandatory indentation in no way prevents the creation of stupid code. Here you can find the original article.

10 Python pitfalls

An interesting article about potential pitfalls for Python newbies.

I found the original article at Tao of the Machine.

blogg.de: XML-RPC Interface

Well then, let me try that right away ...

At Nochn Blogg. you can find the original article.

FaceSpan 4.0

Interesting part - basically something like Visual Basic, just with AppleScript as the language. Sure, you can do some of that with AppleScript Studio, but FaceSpan was quite a manageable software under OS Classic back then, and if they were to transfer that concept to OS X, it could be very interesting. Especially through the support of scripting systems (Apple Events as well as Cocoa Scripting), you can nicely integrate other applications - FaceSpan would thus be ideal for creating graphical automation tools. Basically what TCL/TK is under Unix.

At welcome to macscripter.net | applescript and script resource there's the original article.

SBCL for OS X

The next free Common Lisp for OS X. Nice - SBCL is indeed quite well-known in the realm of Common Lisp implementations. However, it's rather cumbersome, so use a beefy machine for testing...

At lemonodor you can find the original article.

What's New in Python 2.3

Great! Lots of nice new features that are all quite useful. Generators, for example, are something that I've always missed in Icon. And the set data type is also often very practical. And of course you're happy to take the runtime optimizations as well. There are also mountains of smaller syntax niceties included, not really important stuff, but pleasant when writing programs, simply because it looks nicer in the source code.

Particularly cool, of course, is the better OS X support, with direct integration of Cocoa!

Here's the original article.

ActiveDeveloper 2.14

Sounds quite interesting - an interactive C/Objective-C IDE. Dynamic, interactive compilation, but with the classic compiler languages. At least for playing around with Objective-C and Cocoa, that would be quite interesting...

I found the original article at VersionTracker.com - Mac OS X.

Cog 0.5

I should take a look at that. Could be simpler than Shelve and more flexible than Metakit. I don't really need transactions for many purposes, I can easily live with the checkpoint technique.

At PyPI recent updates there is the original article.

Overview of Pings for the Ping Cacher

So, after Schockwellenreiter wrote about it, now the overview page is here too. And wonder of wonders, it's the same one as for the ping. So much functionality, and everything with just one address!

And his suspicion that Python is involved is correct too. The XML-RPC server is written in PHP (almost the original one from Reinvented Technologies, just ported to PostgreSQL), but the cronjob (the part that runs every 5 minutes) is written in Python.

The overview page is especially helpful when first trying it out - you can see when the ping goes through and whether it goes through. Oh yes, you should only ping either weblogs.com or simon, otherwise you get strange error messages back from weblogs.com.

Of course everything is still beta at the moment, so if you try it and find problems, please send me a message and I'll take a look at it.

Here's the original article.

Neotonic ClearSilver

Hmm. Sounds interesting - a high-performance template engine in C, with bindings for various scripting languages including Python. That could be fun to play around with - Cheetah is great, but can be a bit sluggish sometimes. An efficient template language could make it possible to provide templates to users in the Community Server as well. Let me take a look.

Here's the original article.

To Ping Or Not To Ping?

So the pings to central directories have been running in their own background thread from the very beginning at Python Desktop Server. This is definitely recommended for http://weblogs.com and http://blo.gs. I'll continue pinging there, not because I think weblogs.com itself is important - but the changes.xml from there is used by various services as a control file to, for example, pull the RSS feed into the database at http://feedster.com/. The original article is at Der Schockwellenreiter here.

Former FreeBSD Developer Launches Own Operating System

Hachja, how much that reminds me of the stories with Theo de Raadt in the NetBSD project. Especially the reasoning comes across as very familiar to me

At heise online news there is the original article.

The Home Page of Squeak for SL Series Zaurus (ZauChu) and Qtopia/iPAQ

Nice. The Squeak VM for the Zaurus. I'll give that a try when I have time. The Zaurus with Smalltalk on it would be just the right thing to play around with on the go.

Here's the original article.

Monkeys Can Program

Cool. I always knew that Visual Basic was pretty ridiculous, and that Java causes stress

Here's the original article.

Saturday 5 July Pg : also works with SBCL, OpenMCL and Lispworks

Cool, a complete Lisp implementation of the PostgreSQL interface. Very interesting, and runs in OpenMCL, which means I can play around with it.

I found the original article on CLiki Recent Changes.

Lispworks 4.3 for OS X

Wow! Unfortunately more expensive than Macintosh Common Lisp (which I already find too expensive), but still impressive. Unfortunately, it's not revealed whether CLIM is part of OS X Common Lisp. OS X is getting more and more interesting programming environments. But for now I'm still waiting for the OS X Native GUI Smalltalk, that would be the hammer for me.

I find Allegro Common Lisp for OS X uninteresting, by the way - no GUI and a price that represents a real outrage.

At lemonodor there's the original article.

Freeware violates Apple's intellectual property

Yeah, Apple as we know and despise it: a bully in the jungle of taste patterns, trademarks, and intellectual property. But maybe someone at Apple will eventually realize that their wonderful intellectual property in the Dock wasn't actually theirs to begin with, since they just bought it.

When will Apple finally regard the replication of its own interfaces on other systems for what it is: a compliment? Without the necessary underlying infrastructure, these replications are nothing more than exactly that: imitations. Better mimicry. Nothing more.

But what do you expect from a company that once believed they invented the trash can?

Devilish grin

At heise online news you can find the original article.

if SCO isn't right, someone else will be

Once again, one of those tedious discussions about how open-source projects would supposedly be notoriously bad at controlling license compliance for code. Come on? This is getting annoying. Why do people keep opening their mouths about this without engaging their brains?

So first of all, there's hardly any software sector that pays closer attention to licenses than the open-source sector. If only because of the various incompatible open-source licenses (every developer will eventually run into license compatibility issues with the GPL - those discussions keep coming up). Also, in the open-source sector, many projects are explicitly careful to ensure that no proprietary content ends up in the source code - see for example the Samba project or Wine. Both manage to exist alongside Microsoft (and Microsoft's legal department is no slouch). And what really gets me about this whole thing: why do these people always believe that proprietary, closed software development doesn't steal foreign source code? That assumption is absurd. In the area of open-source projects, anyone can read the source code - including companies. Everyone can check whether foreign source is being used. In the proprietary sector, however, that's not possible. Here, costly court proceedings are needed to achieve source code reviews, and proof is not exactly easy. So please don't just parrot the FUD from companies like SCO, please use your head first and think about it. And check the facts.

At Cincom Smalltalk Blog - Smalltalk with Rants there's the original article.

COW - Programming for Bovines

Moo!

Here's the original article.

Syndication

I'll skip the usual talk about stop energy just because someone blogs (sorry, blocks) about an innovation and instead explain why I think this undertaking makes sense.

RSS is a format that has been developed in many different directions by various people. There are two main streams. The RDF-based formats with their peak in RSS 1.0, with design-by-company and sometimes even by-committee. And the keep-it-far-too-simple stream from Dave Winer with its peak in RSS 2.0, which attempts to marry RSS and RDF, but isn't really coherent either (for instance, lately Dave labels anything that uses namespaces as "funky RSS" - I hate funk!).

So what can a new format bring? Possibly nothing. That's fine too, then at least you know (and have it documented for reference) that RSS in its existing forms is good enough.

Or you recognize that there are weaknesses and errors in the existing pool of formats. If that's the case, there are two options again:

The weaknesses can be fixed (for example through RSS 1.0 with full RDF basis or with RSS 2.0 and a few additional namespaces). This will certainly be done - because not everyone wants to jump on a new format.

The alternative - the new format - also has its merits: it's being developed using community techniques. A wiki where everyone can contribute their two cents. So it can become quite an interesting format with many good ideas. Why shouldn't you implement it then? It would be a shame if all those ideas went to waste...

At the very least though, it's a wonderful network-psychological experiment. A bunch of pretty far-out freaks of various stripes trying to collaborate together in a wiki (remember: anyone can edit and change anything!). Hey, that's practically screaming out for chips and cola and comfortable kicking back and reading along

Devil's grin

.

At Der Schockwellenreiter you can find the original article.

Charming Python: Using combinatorial functions in the itertools module

A rather interesting article about the new functional features in itertools in Python 2.3. With itertools you can apply a programming technique that has been known in Common Lisp for quite some time as Series and is best described as lazy sequences: sequences of objects that are created on demand only as far as necessary. This opens up a whole range of very interesting techniques that can make programs much more readable.

Here is the original article.

MacOSX Packages for Mozart 1.2.5

Hey, Mozart and Oz are also available for OS X. Ok, not directly for OS X, but only as normal Unix ports for OS X - the GUI continues to be based on GTK and thus on X11. But at least you can run it on the Mac. There's also an interesting book about programming concepts, which describes them using Mozart and Oz. Here's the original article.

Vim 6: A Great Linux Outliner

If you're looking for an outliner for Linux and like VI, you should check out the VIM Outliner. It's a macro package for VIM 6 that transforms it into an outliner. Unfortunately, it still has some significant limitations, such as not saving which text areas are collapsed and which are not. But basically it's quite usable. At least it's still better than the alternatives I've found so far. Besides, you don't have to boot VIM like you do with Emacs.

Here's the original article.

Swindle - CLOS and more for DrScheme

This is really great: an OO extension for DrScheme built on Tiny-CLOS (where object-oriented here means the typical object+functional mix from CLOS — not those minimal OO systems from typical class-based languages). Very nice. And a large pile of additional tools and utilities on top. Basically you could say the programmer tried to implement large parts of Common Lisp in DrScheme. Nice, since I'm an old CL fan and Scheme fan, here I get the best of both worlds.

Unfortunately the system hasn't been extended to the GUI system, which still exists in the more classical OO form from DrScheme. A CLOS wrapper around it (or perhaps something like a tiny CLIM? Yeah, yeah, I'll be quiet, but one is allowed to dream) wouldn't be bad either.

Somehow DrScheme reminds me fatally of my nice Xerox 1186-compatible Lisp machines with their mix of Interlisp-D and Common Lisp in the operating system. There too the basic stuff is implemented in Interlisp-D (in DrScheme it's Scheme) and then Common Lisp is layered on top (in DrScheme then Swindle). Very nice approach.

And one more funny thing: a small graphical tool that visualizes lambda calculus. Programming with colored blocks to make things clear.

I think I like DrScheme

Here's the original article.

XchemeRPC

Should work with DrScheme 200 and newer. Of course it doesn't work with 204, which I have running. So it's back down to the software cellar again and time to fix the problems with a pipe wrench.

Here you can find the original article.

DrScheme

A very nice Scheme programming environment whose main goal is learning programming itself - building on Scheme language scopes of varying complexity. The whole thing is well-oriented to what is necessary at each respective level. In addition, a large collection of libraries with useful function definitions, a graphical programming environment, and a corresponding library for your own programs, many useful developer tools (and some optionally installable developer tools that you can't get elsewhere), and the best part: now also runs on OS X. Nice.

Here you can find the original article.

Looking to do web stuff with Python?

Notizgeblogged, in the Web Framework Shootout it's about comparing various web frameworks for Python. Quite interesting, and maybe I can steal one or another idea for the Python Desktop Server or the Python Community Server. At Richard's stuff : /python you can find the original article.

Text composition systems as you shouldn't do them?

I'm indeed a Lisp fan. I love Lisp-like languages and, when possible, only use languages that offer at least a certain basic set of features that Lisp implementations also provide. But this goes too far: a typesetting system with the structure of TeX, but with Lisp syntax.

Somehow this reminds me of the problems I have with Common Lisp: I like the language, I find most of its features brilliant to divine and I certainly have usable implementations to choose from. I don't use it anyway: I would simply have to write too much text. The identifiers are as long as COBOL syntax elements. Ugh. Similar with Scribe: while the identifiers are short, I have to write all the clutter around it. And I get those wonderful blah-blubb-fasel-blubber identifiers for various control purposes. Who wants to write all that crap? What good is a typesetting system where I have to write more markup than I would write in plain HTML? If I wanted to write that much non-content, I could just use DocBook instead...

Here's the original article.

Checkpointed Object Database

Sounds quite interesting, a database with pseudo-transparent access from Python. Objects are automatically read in and automatically written when changes occur. Objects are automatically added to the database when they are referenced by an already stored object. Databases are cleaned of garbage via reference-counting (unless you produce circular references). And there's checkpointing, which allows you to ensure that a database restarts with the last consistent state. In a broad sense similar to Metakit, but somewhat more focused on objects than on tables. This certainly allows for more elegant integration into Python code. The question is, how is the performance? Because many small object databases are terribly slow when the number of objects in them grows. And large object databases are simply overkill for something like a weblog tool. Here's the original article.

Firebird under OS X

So Firebird is quite cute. However, it's terribly slow (especially scrolling through pages is unbearable with this awful stuttering), I'm used to faster performance from Safari. But one thing is absolutely top-notch: the extensions (see link at the title). I loaded the Webdeveloper extension and the Checky extension there, the former provides a whole set of web developer tools (such as visual representation of document structure, quick source display, various validators, tools for images, forms, enable/disable various features, etc.). Checky is simply an extension that plugs a large collection of validators for various purposes into the document's popup menu - including auto-discovery of the corresponding parts (e.g., CSS or RSS feeds are automatically found and then validated on request). Great. Now just make the whole thing faster and then I'll be happy.

Here's the original article.