D. Souflis - TinyScheme Download site - Very compact Scheme, well suited as an extension language for applications.
programmierung - 2.10.2003 - 22.12.2003
OpenMCL - Powerful Common Lisp with native code compiler for Macintosh and Linux PPC under GPL
welcome to macscripter.net | applescript and script resource - AppleEvent Monitor for debugging AppleScript and other program connections
Concurrent Versions Librarian - CVS interface for OS X
MacOS X Smalltalk - A new Smalltalk for Mac OS X Native
ASPN : Python Cookbook : Complex Boolean Regular Expression Class - A class for regular expressions that can be combined with boolean expressions
ASPN : Python Cookbook : Length-limited O(1) LRU Cache implementation - LRU implementation as a Python class
freshmeat.net: freshmeat - freshmeat XML-RPC API available - Freshmeat has an XML-RPC interface to access project data
Demystifying Open Source Developer Myths
What bothers me about these increasingly frequent myth-debunking exercises: they always assume that every open source programmer is out to deliver production-quality code. But that's the biggest myth that all these analysts fall for. Most OSS programmers code on programs because they solve a problem they have. Or because they simply enjoy working on the topic. Or because existing solutions don't work the way they imagine them. So the reasons are usually quite selfish at first. In the process, the end user and other developers are inevitably ignored initially - and from these projects, larger projects may later develop. In rare cases does a project really start from scratch with the premise of delivering professional software. But it's this playfulness and egoism of OSS programmers that creates diversity. And of course, also chaos. Funnily enough, these same selfish programmers are extremely generous and eager to share, which is why larger projects can only emerge from these projects at all. But usually there's a selfish motive behind that too: the need for recognition. A key driver in OSS projects is the pursuit of fame.
By the way, I see the whole thing as absolutely not negative, quite the opposite. It's precisely what makes the OSS landscape so colorful and interesting. Ignoring projects that don't interest you is definitely easier than complaining that these developers should be working on other projects - after all, there are no obligations in OSS.
The jump to a major project often only happens through a broader user base, from which collaborators gradually recruit themselves. Nevertheless, many projects remain the personal projects of individual people for a long time - even if there's already a developer community. The Linux kernel is still Linus's project, which becomes apparent whenever he rejects maintainers, rips out subsystems, and unilaterally replaces them with other implementations. The question of why he can do that answers itself: it's his project, of course he can.
In many discussions about the advantages and disadvantages, it's repeatedly assumed that OSS projects are even comparable to commercially operated projects. They are - when there's a company with commercial interests behind the OSS project. But with pure OSS projects, factors are at play that can't be compared to anything commercial or semi-commercial. And these projects make up the majority of OSS.
Therefore, investigations of myths in OSS are often themselves falling for myths.
Hugs 98 - Haskell Interpreter Implementation for many systems (even Zaurus)
PyObjC - Home - Objective-C bridge for Python
The HarvestMan WebCrawler Robot - Web crawler in Python - for example for your own search engine
Second p0st: Repairing MetaKit databases - Script for repairing MetaKit databases
xsdb html index - compact and feature-rich database in Python
A garbage collector for C and C++ - Garbage collection for C and C++
"AppleScript: The Definitive Guide" released
Mainly a note for Jutta that she wants to have the book
At The Macintosh News Network there is the original article.
Atom-powered spaceship to search for life
Let's hope it's not also the first crashed spacecraft and the first atomic catastrophe on a Jupiter moon - given NASA's recent track record of success, they should probably send less dangerous equipment on the journey...
At Spiegel Online: Wissenschaft you can find the original article.
JSch -- Java Secure Channel - Java implementation of SSH2 with X-forwarding
LUFS-Python
The right thing for today's hacker: writing file systems for Linux directly in Python. I could think about whether I should rewrite my suckfs to LUFS-Python. The current implementation via dnotify in any case has some strange effects and race conditions that under certain circumstances cause the data inventories to no longer be in sync. However, a LUFS-Python implementation would unfortunately also be realized through Python on read, and that would most likely be too slow for the intended use of suckfs (replication of static data contents on a Zope cluster). Here's the original article.
New Feature: Blogmarks
I've extended the Python Desktop Server with another module: Blogmarks provides a blog with mini entries. The idea behind it is to simply post links. For this purpose, I use a bookmarklet (a bit of JavaScript that opens a window and calls up a URL), which passes the current link and the title of the current window to the Python Desktop Server and asks the user for categories and a short description (which is stored as a title tag on the link element and displayed on mouse-over). The whole thing is converted into compact HTML and is available as a blog with RSS feed and everything that goes with it. In the long run, I'll probably add further features like caching of the original page (in case it goes offline) and a category overview of all links, but for now I'm starting as it is. Let's see if this isn't a useful alternative to private bookmarks.
Perthon -- Python to Perl Language Translation
The most interesting thing about this project is the juxtaposition of the Python and Perl source code. I like both languages, but somehow in this comparison I find that I should actually be ashamed that I like Perl too.
ScummVM - Interpreter for LucasArts games, also available for the Zaurus
Smile by Satimage-software
That doesn't sound bad at all. An AppleScript editor with an interactive AppleScript shell, various extensions and above all an interface builder. And the whole thing available for free download. And the description sounds like it would be a decent alternative to the much heavier (but also much more powerful) AppleScript Studio for small hacks.
Tucholsky is still right after all
Nothing has changed, the same old arguments, the same false conclusions, the same false demands. It's quite alarming how Die Freie Wirtschaft still fits like a glove, even after so many decades. The original article can be found at gnurps here.
IronPython Benchmarks
The programmer of JPython/Jython (a Python implementation for the Java Virtual Machine) apparently is working on an implementation of Python for the .NET Common Language Runtime. And first benchmarks look very good, better than some other attempts that were made at ActiveState. It looks like in the foreseeable future Python code can be used both within Java applications and .NET applications, in addition to the native implementation that already exists. I find that very pleasant, because it allows me to use my currently favored programming language even in silly Windows projects that we'll be dealing with in the near future.
In the Java environment I'm already using Jython as a convenient alternative syntax when I have to work with any foreign libraries in Java - Jython is much more comfortable there (and the interactive environment is absolutely great when you need to experiment with foreign libraries, because the documentation isn't sufficient again!).
Medley Lisp
Actually just blogging so I can find it again later. Medley Lisp is the successor to the Lisp that runs on Xerox Lisp machines. Two releases run on my Lisp machines: Koto Lisp and Lyric Lisp. Koto Lisp is a pure Interlisp-D environment (by the way, Rainer Joswig put the introductory manual online, and there's also a film about using Interlisp-D online), whereas Lyric Lisp additionally includes an implementation of Common Lisp. Medley Lisp is the direct successor release to Lyric Lisp, thus strongly Common Lisp centric, though the system basis still builds on Interlisp-D. Medley Lisp no longer runs on Lisp machines, but is instead brought to various platforms via an emulator. I still have a version of the emulator for DOS; only an old Solaris version and a Linux version (for Intel processors) are still sold. The software has a long history; the first releases date from the early 1980s, much code from that time is still found in the system (all of Interlisp-D, that is). But I'd guess that the TCP/IP implementation in Interlisp under the emulator version is no longer used; instead, it probably accesses the system's own TCP/IP stack.
At home I still have two functional Siemens replicas of the Xerox 1186 machines, and over a meter of documentation. It's fascinating what's packed into these machines and what performance they already had back then—and this despite the processor not being the fastest. The processor itself had loadable microcode, so the instruction set could be adapted to the system (Smalltalk, Lisp, or Prolog). In principle, that was also an emulator back then, just realized in hardware.
Slate Language Website
Ok, yet another programming language. But the mix is what appeals to me: taking inspiration from Self, Common Lisp and Smalltalk really hits my taste. I'll have to get the whole thing and try it out. Certainly it won't reach the critical mass needed to do anything serious with it - lately only Ruby has managed that, and even that was something of a sensation - but it's interesting nonetheless.
MkSQL - SQL for Metakit in Python
Could be interesting at some point - maybe I could mix that into the Python Desktop Server so that you can also access databases with SQL? In any case, it would be a worthwhile tool to make it easier for people to get started with databases - Metakit is rather unusual.
What the heck is: A type
An interesting breakdown of what a type actually is and the various terms in that context (static typing, type inference, and everything else) from the programmer of the Perl 6 virtual machine (Parrot). I find it fascinating to see how increasingly more elements are being discussed and implemented in Perl6 development that have been considered standard in the Lisp world since the 80s. Mainstream programming will eventually catch up to the Lisp world.
The original article can be found at Squawks of the Parrot - here.
The Early History of Smalltalk
Was already everywhere else, but as an old Smalltalker I of course have to blog about it too.
Wysiwyg pioneer Simonyi wants to revolutionize programming
Is he still harping on those silly ideas? By now it should have become clear to him that they're just pipe dreams. Programming is a creative process that is significantly determined by the expressive possibilities in the language you program in. Nobody would demand that a poet practice their art using the vocabulary of a tabloid newspaper, while also having to strictly adhere to fixed meter and write the whole thing with primitive tools.
As long as software development clings to primitive languages like C++, Visual Basic, or Java, the problem won't be solved in any meaningful way - whoever has low-level languages at their disposal will always think low-level.
Solutions to this problem have been available since the 80s, it's time the software industry took a closer look at them...
At heise online news there's the original article.
AROS: Amiga® Research Operating System
For Amiga users: an open source system aiming to be compatible with AmigaOS. And these guys are already making real progress. OK, for Amiga fans this might be old hat, but it was new to me. My Amiga, though, has only booted maybe a handful of times during my ownership.
Python and AppleScript
Not so uncool at all. Perl had that too with the Mac::OSA modules. The whole thing is quite practical, especially when you're building a Python script anyway that only needs a few functions from applications. However, with more complex things it can often be quite cumbersome, especially when media data types are used for which there are simply no usable equivalents in Python.
At Der Schockwellenreiter you can find the original article.
High Performance Computing for Mac OS X
For the number crunchers among OS X fans. Compiler and tools specifically compiled and assembled for G4 and G5. Everything a number cruncher's heart desires
You call that a Monad? This HEREs a Monad.... And a Shell.
Functional Shell? Hmm. Interesting - the shell language is a functional language and offers typical combinators for connecting system information, files and commands. Crazy, but interesting
At Lambda the Ultimate I found the original article.
Rebel With A Cause
Here someone reports how they built a web application with an Apple XServe, OpenMCL (the free version of Macintosh Common Lisp) and the Portable AllegroServe, and what it encompasses. They also used a custom-written framework for web application development with Common Lisp - I'm curious whether that will be released as well. Maybe I'll get a CLDS together someday after all. Here's the original article.
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 ...
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.
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!

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.