programmierung - 28.6.2003 - 8.11.2003

It had to start sometime...

Not cool. Now the Python Package Index is being spammed - in this case, a financial advisor registered himself as a package on PyPI - the downside of an open architecture. Maybe it would be better if projects had to request a project key first and could only send updates with it - that would have prevented spam from the start, but would have required more work upfront since these keys would need to be manually approved for the whole thing to make sense. Let's see how PyPI tackles the problem.

I found the original article at Artima Python Buzz.

Home of the 4tH compiler

I must indulge my — old and slightly perverse — fondness for Forth again and post a link here to 4th — a standalone Forth compiler. Such a standalone compiler is nice, but actually completely contradicts the nature of Forth, which is actually based on an interactive system. On the other hand, however, a compiler that really produces minimal programs is quite nice. Definitely interesting for small systems. By the way, the website looks like it wants to win first prize for ugliest website of all time Here's the original article.

Wired News: Anti-Copy Bill Slams Coders

A new push by the American legal system to abandon any contact with reality. According to a strict interpretation of the proposed legislation, it would then be illegal to distribute any code that does not contain copy protection code approved by a central authority. Somehow we've seen something like this before with export restrictions on cryptographic products - the result was that interesting projects emerged outside the USA ...

Here's the original article.

Unsigned Java Applets Break Out of Sandbox [Update]

Wow, that's serious. We've seen sandbox breakouts from time to time, but the fact that an unsigned Java applet can access the floppy drive is definitely a sign of insecurity that can reach critical proportions. That's quite a heavy blow to Java's security. But ultimately, it's not surprising: even though the virtual machine specification assumes the sandbox is secure, there are always implementations behind it that can have errors at the Java level or even at the actual machine level (in the implementation of the virtual machine itself).

And the fact that the computer had to be rebooted after the applet, and that access to physical media is possible, suggests that there's such a deep-rooted implementation problem here.

Technologies don't simply become secure through specification and claims...

You can find the original article at heise online news here: the original article.

Atom API

What bothered me about Mark Pilgrim's article, I wrote here. There are several things in the article that don't match what I would expect from a professional explanation of the Atom API on http://xml.com/. It's a shame, but it will probably contribute more to further division than to mutual acceptance between the two API camps. At Der Schockwellenreiter you can find the original article.

Microsoft Receives Patent for Cookies

And once again, a patent that the world absolutely does not need.

At heise online news you can find the original article.

W3C adopts new web forms

My feelings about this are mixed. Of course, good standards are helpful - especially when they make the end device and browser more powerful in function, and new, efficient user interfaces can be implemented based on them.

On the other hand, however, the multitude of standards and sub-standards creates so much technical overhead that it becomes harder for ordinary people to get into it. And regardless of how we feel about the result of invalid and partly haphazardly cobbled together HTML dumps, it is precisely this easy access and the fairly tolerant implementation in browsers that allowed HTML and the web to take off in the first place.

It's much more accessible for a lot more people to produce this format - if necessary, you take another site, look at the source and do something similar. Many started that way, many don't get beyond copying - but that doesn't matter, they are present.

Sure, designers recoil in horror, HTML standard purists too, as do software developers. I myself get screaming fits when I look at certain output on the web. But the fact remains that with more complicated techniques, these people wouldn't be here at all.

Would the web be better because of that? Is it really sensible to shield yourself through technical barriers and make the web more elitist? Or is it precisely the haphazardly hacked and sometimes truly awful content that makes the web what it is: an almost popular medium?

The new W3C standards are becoming ever more technical, ever more complex. And in doing so, they raise the barrier to entry. Sure, HTML 4 still exists and will certainly be supported for a long time - but it will become, so to speak, the dumbed-down version. The professional will throw XHTML and XForms around, the amateur with shoddy HTML 4.

I don't know what would be more fun for me. But I'm afraid it would be the shoddy HTML 4...

At heise online news there's the original article.

Loadbalancer in Python

A special feature of this load balancer (besides the fact that it's written completely in Python): it doesn't use multiple processes or threads, instead it uses asynchronous I/O. This allows many connections to be handled simultaneously in just one thread, which keeps the system load much lower than classical balancers that start a process or thread for each connection. It uses either Twisted or the asyncore module that comes with Python. And the whole thing is also blazingly fast - for example, the same approach is used in Medusa, a web server in Python that comes close to Apache's performance when serving static HTML pages. Here's the original article.

Twiki API

Wow. An API that allows you to edit a wiki via VoodooPad. I think I'll take a closer look at that, it could be interesting for PyDS. VoodooPad could then be used as a frontend, I would just need to make all important objects accessible via this API. And for Twiki there's already an API too. You've got to be able to do something with this kind of thing...

Technical Incompetence or Wishful Thinking?

When I read the linked article, I had to grin somehow. But then the head-shaking took over at so much nonsense. The article contains so many wrong ideas and interpretations of open source that you can only wonder how so many errors fit into such a short article. The biggest mistake is probably once again the mistaken assumption that open source needs a business model to function. Absurd notion - searching for a business model in the creation and distribution of open source is just as sensible as pulling on the value chain of weblogs. Of course there are companies that build a business model on the existence of open source - similar things exist with weblogs too. But the business model is absolutely irrelevant to the actual engine.

But then I thought about what it would really mean if SCO won (which apart from the article's author and maybe Darl McBride, probably nobody really believes). What would that mean for open source? Not much - the questionable sources would have to be named sooner or later and would simply be removed from the Linux kernel. Version 2.2 is according to SCO's own statements clean, it has already worked, at worst subsystems would fall back to the 2.2 level. Not fatal, at most annoying.

What would happen if the Linux kernel were banned by SCO? Wouldn't that destroy open source? Apart from the fact that this notion is quite absurd, here lies the biggest mistake in the article - a mistake, however, that is made almost consistently in the media. Open source is not Linux - Linux is only one (even relatively small, though significant) component of the entire open source field. Linux is a kernel - and thus important, but only one possible component that can easily be replaced. In the Intel processor environment, one could relatively quickly simply use the FreeBSD kernel (due to its compatibility functions for the Linux API) instead of the original Linux kernel. For other processors, just take NetBSD - much open source is not dependent on Linux anyway, but runs on almost everything that is Unix-like.

And what if companies no longer want to use open source because of the proceedings? Please what? Companies should refrain from using something they can get for free, just because there's a court case in a marginal area? Why should companies do that? How many companies use pirated software, knowing that it's illegal, knowing what that could mean, because they don't want to spend the money? As long as greed exists, open source will also find commercial use. And greed will exist as long as we have a market economy. So for a damn long time.

But surely companies won't release their own things under open source licenses anymore? Why not? It's a fairly inexpensive way for many companies to get free advertising. Besides, these companies rely on project business, less on software creation. The SCO proceedings don't change that at all. And even if it does decrease - much open source is created by individuals, originated at universities, or created in loose developer groups. Companies have contributed things - but usually only those in which they themselves had an interest for their own business fields. If companies no longer contribute to open source, they primarily harm themselves. Open source typically arises from someone having a problem that bothers them - and begins to create a solution for it. Suddenly something should change about that?

What bothers me most about what is written in the press about open source is the complete obtuseness of the authors about the facts of open source - that there is far more than just Linux, that the companies based on Linux are absolutely not necessary for the survival of open source, and that the motivation for open source has absolutely nothing to do with business models: Open source is the enthusiasm of people to create something that other people use with just as much enthusiasm. This motivation, the core of open source, cannot be stopped by court proceedings or bans. Open source would continue to exist even if it were banned by law - then just underground. Because creative achievements by people cannot be prohibited or suppressed - that applies in the software world just as much as with writers, painters, or musicians.

Open source will - no matter what the representatives of proprietary software attempt to do - continue to exist. Get ready for that. There is no going back.

Here's the original article.

Good Question

The question of what happens to Java if SUN goes bankrupt is quite simple to answer: we'll delete it and everyone will use Python instead!

Teufelsgrinsen

At Der Schockwellenreiter you can find the original article.

Multithreaded Python for DOS

A Python 2.2.1 for DOS that supports all essential features. Hmm. If someone were to port all the additional modules, you could even run the Python Desktop Server on it. Or how about an AS/400 or VMS? Here's the original article.

PyDS 0.6.0 is out

A little self-promotion: I've just put together version 0.6.0 of the Python Desktop Server. Since it has been in development for over 3 months now, there are quite a few changes. Updates are definitely worthwhile. New installations are also worth it.

Here's the original article.

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.