programmierung - 20.12.2004 - 23.1.2005

Build me money making website please

Rent A Coder - Build me money making website please - let me quote:

I would like someone to build me a good website that will make me around $1000 a week or more. The website should be useful and not have any popups. I would like you to design the whole entire website. The content as well. Would like the website to have a lot of traffic as well.

Sorry, but if I could build a website that brings in $1000 per week - then I'd just sell it to some idiot like that. Makes sense. Sure. And pigs can fly.

(Found at Paul Tomblin)

A first Python example in Frontier is now online. Looks very interesting - I wish someone would build binaries now, because I still don't have XCode due to 10.2. And I'd really like to play around with it...

Subway is a Python implementation of the ideas behind Ruby on Rails. So if you're afraid of hurting yourself on all the sharp and curly brackets in Ruby ...

Microsoft lays off Windows testers and switches to automated tests instead. Tool worship has struck again. A rarely stupid idea, because automated tests only find what is automated. They lack the intuition that people (at least if they are good testers) have. But Microsoft software has never given me the impression of particularly good testing anyway...

D Programming Language

The reference manual for the D Programming Language (a successor to C and C++ with various high-level ideas) contains a very fascinating clause on the first page of the language description:

Note: all D users agree that by downloading and using D, or reading the D specs, they will explicitly identify any claims to intellectual property rights with a copyright or patent notice in any posted or emailed feedback sent to Digital Mars.

I have the impression that such a clause — which automatically becomes binding for a user merely by reading the documentation and demands something that the user may not even be able to deliver — is a bit absurd. I would be interested in the opinion of the blawgers on this.

MonkeyTyping - The PEAK Developers' Center

MonkeyTyping is Phillip J. Eby's approach to optional static typing in Python. The idea looks very interesting. What always fascinates me about Phillip is his ability to look beyond the horizons of the language - just think of his work on generic functions in Python. Python urgently needs more of these kinds of breakthroughs - some discussions around Python show the first signs of language inbreeding (for example, these almost hateful reactions to mentions of Lisp and Lisp features by some Python advocates).

FBI versenkt 170 Mio Dollar Software Projekt - due to unexpected problems. Funny how problems in IT are still always unexpected...

PECL :: Package :: APC - PHP caching system, Open Source (no weird stunts like phpAccelerator and not as dead as turck mmCache)

Glossary for WordPress

I've written a small Wordpress Plugin that implements a glossary similar to Radio Userland or PyDS. The glossary simply replaces text that is delimited by | (pipe) symbols with replacement text (which can also contain XHTML markup). Saves typing ...

The plugin installs a small management page in the Wordpress backend, so the whole thing only works with Wordpress 1.5 (or possibly 1.3). The required database table is automatically created upon plugin activation when you first access the management page.

Second p0st: cElementTree now has a C variant to speed up execution. This makes it a real alternative to other DOM implementations.

dirtSimple.org: CLOS-style Method Combination for Generic Functions

Phillip J. Eby once again proves that every programming language that wants to amount to something is destined to eventually become Common Lisp

I like what he's doing - Python's object system is rather primitive, and generic functions and method combinations in CLOS style are very practical tools for programming. His extended object adaptation in PyProtocols was already interesting, but the quite complete object model based on CLOS is definitely appealing.

I would really wish that Guido van Rossum would give more thought to how he integrates PJE's work into Python than to how he introduces optional static data types.

IBM on Software Patents

IBM's Action is very interesting: not only are patents made freely available to free software, but there is also a clear declaration of war against litigious parties. Anyone who pursues lawsuits against Open Source runs the risk of losing the rights to use IBM patents. Of course, it's now interesting to see exactly which patents IBM is making available, but I could well imagine that IBM has some real blockbusters in there. After all, IBM is one of the companies with the largest patent portfolio (if not the company with the largest one).

GeSHi - Generic Syntax Highlighter :: Home - a syntax highlighter in PHP. I could use this if I post source code here...

Optional Static Typing -- Stop the Flames!

Well, it does work out. In his third article on optional static type declarations for Python, Guido van Rossum addresses all the comments and presents what I think is a compact and sensible proposal. Interfaces are a useful mechanism for stricter duck-typing - of course optional, so only where you need it. And automatic type adaptation is a good idea - it's about time that PEP 246 gets integrated into Python.

But the most important thing remains: it's optional. Whoever doesn't need it can leave it out.

Here's the original article.

The Implementation of Functional Programming Languages

Great. A classic of computer science literature (ok, a modern classic) is now readable online. The book is interesting because it explains many aspects of implementing a system environment suitable for Haskell or Miranda.

Unfortunately, it's only available online as scans in JPG format, so it's somewhat cumbersome to use - searching obviously doesn't work. But at least the table of contents is linked via an image map.

Here's the original article.

Modal Web Server Example Part 1

Those interested in learning more about continuation-based web servers and not afraid of a bit of parenthesization can find the linked article (there are 4 parts) addressing the topic from a Scheme perspective. This makes much more sense thanks to first-class continuations in Scheme than my wild hack in Python.

The original article can be found here.

Aquarium - Web framework with MVC approach in Python - comparable to Rails?

Borges Home - Continuation-based web framework for Ruby

BottomFeeder - Cross-platform RSS/Atom News Aggregator - Aggregator in Smalltalk

Continuations with Python

Another article from the series: we make the impossible possible. This time I'm tackling Continuations and implementing a rather primitive variant in Python - and describing how to get a much nicer way of programming web servers with it. Just click on the title link. This time, however, in English. Here's the original article.

Glorp.org - Object-Relational Mapping for Smalltalk

smart stuff

Why Smalltalk Didn't Take Over the World

Here's the original article.

appscript - Use Python as a replacement for AppleScript - full AppleEvent and OSA integration

CincomSmalltalkWiki: Seaside Tutorial - Seaside is a continuation-based web framework

Impostor - Continuation-based web applications with Python

Revision 8033: /user/arigo/greenlet - Minimalistic threads (tasklets as in Stackless Python) as a normal Python C module

VisualWorks: StORE for PostgreSQL Documentation - PostgreSQL as a versioning repository for VisualWorks Smalltalk

ASPN : Python Cookbook : A meta-class that provides class behavior like Ruby - Class overloading (definition of new methods) with Python in Ruby style

Gus Mueller's Website - Writing VooDooPad Plugins with Python and PyOBJC

recondite: You don't tug on Superman's cape... - Python zur virtuellen Maschine von VisualWorks Smalltalk compilieren

Hartz IV: Disaster in Unemployment Benefit II Payment [Update]

Botch. Total botch. With such monster projects, you always do a test run with real data in advance - to avoid exactly these kinds of catastrophes. But these federal bunglers have already shown with other major projects that they might know a thing or two, but they have no clue about IT.

confused face

The problem at hand is a banal interface issue that shouldn't have come up at this stage of the project - unless the people implementing it are completely incompetent and stupid.

The original article can be found at heise online news as the original article.

Alice - functional language and environment

Alice is a very exciting new language from the ML family. It offers many interesting approaches to well-known problems and extends ML with meaningful features such as a functional model for multithreading. What particularly fascinates me is the discussion of lazy evaluation, futures and promises in the Alice tour - that hit exactly the nerve, as I had just finished building my own package for Python (lazypy). I immediately extended it with futures. An OS X version of Alice is also planned - I'm really curious, as the screenshots of the environment suggest quite a lot of promise. Previous ML implementations have tended to be rather austere in their user interface.

Here you can find the original article.

Codewalker for Python - A code walker that can make various modifications to code from lambda expressions (specifically early binding etc.)

dirtSimple.org: More forward-chaining twists

Phillip J. Eby is thinking about how to implement a forward-chaining factbase (a fundamental mechanism of AI systems that enable rule- and fact-based programming) in Python. Very fascinating to read - he actually comes from the OO corner of Python (as one of the PEAK programmers - PEAK is basically the J2EE of the Python world) and here has his first hard encounters with functional programming. The whole thing also has practical implications: in PyProtocols (another project by Phillip), there is now already quite an advanced extension of Python's OO system towards a more CLOS-like environment with generic functions and multi-parameter dispatch for methods. Very interesting, as it opens up completely new possibilities. Here's the original article.

Xoltar Python Page - diverse functional extensions to Python - curry, lazy expressions, partial evaluation etc.

Python is a weakly typed language, which as any experienced Python programmer knows has both good and bad points - Traits - optionale Typdeklarationen für Attribute in Python

Snurf: a Python-based Blogging System - a nice little blogging system that doesn't require a database

Delayed Execution with Python

The original text has moved to the PyDS weblog. The reason is that I cannot manage the text properly with the new software because the necessary tools are not available here (specifically, source code formatting doesn't work here, and besides the text is too huge - at least when it is saved as XHTML).

Delayed Execution with Python

Delayed execution - delayed execution or lazy evaluation - is a very practical tool in programming. Unfortunately, not all programming languages support this tool directly. Languages that support closures and objects, however, can be extended quite easily to support delayed execution. I describe one approach for Python in this text. The text contains a series of Python code examples that show how a whole range of powerful Python language features can be used. The text could also be interesting for those who have less interest in lazy evaluation. Here's the original article.

Brian Mastenbrook: Forth porn

Memories come flooding back. PowerMops - an integrated Forth environment for the Macintosh - is now also available for OS X. I haven't looked at it in a long time, but the description still sounds as cool as it did back then. Direct native code compilation and integration with the various toolboxes and nowadays also with the Cocoa frameworks. And all of this in an object-oriented Forth.

I found the original article at Planet Lisp.

Charming Python: Implementing "weightless threads" with Python generators - Very interesting concept on how to build extremely resource-efficient threads in Python using generators - cooperative multitasking in 100% Python

Contracts for Python - Programming by Contract in Python based on descriptive metaclasses

Microsoft attempts to patent object persistence

Toll - simple and banal object serialization. That sort of thing has existed for years, nonsense for decades. And Microsoft wants to patent it...

At kasia in a nutshell there's the original article.

Adding Optional Static Typing to Python

Guido van Rossum is thinking about optional static typing for Python. Very interesting, because optional static typing on one hand preserves the highly dynamic nature of Python, while on the other hand offering type declaration as an option for optimization. You can get a great sense of what something like this could accomplish by trying out PyRex - which already offers something like statically typed Python today. Here's the original article.

The "Thank you Poland!" Letter

Hey folks, thank you!

I found the original article at Industrial Technology & Witchcraft.

Why's (Poignant) Guide to Ruby

Ok, I've seen a lot of crazy stuff. But this Ruby introduction is really completely insane. Definitely worth checking out. Even if you have zero interest in Ruby or programming languages. The author must be completely out of his mind - I don't know what he's taking to produce books like this, but I'd like two kilos of it.

Here you can find the original article.

Paolo Amoroso: McCLIM works with CLISP

Way cool: the most portable of all Common Lisps has received a few modernizations lately. And now McCLIM runs on it too - though of course only on CLX, and thus on OS X only under X11. But at any rate, it's quite an interesting platform. Especially since CLISP is the Common Lisp that most closely resembles a scripting language in terms of its environment.

Hmm. CLISP runs on the Zaurus. The Zaurus also has a system variant with X11. With CLISP+CLX+McCLIM+X11 you should be able to build the smallest reasonably complete Lisp machine in the world on the Zaurus.

At Planet Lisp you can find the original article.

Ann: Revival of the BytecodeHacks

Some of you may still remember it: the Bytecodehacks for Python. A wild module that allowed all sorts of shenanigans with code blocks - and was used, among other things, in older Zope versions for restricted execution of Python methods. Certainly, the whole thing is the wrong approach and violates good taste and sensible programming. I love it.

Here's the original article.

SnakeSQL -- Pure Python SQL database supporting NULLs and Joins

Nett - a SQL database in Python that supports significantly more than Gadfly (for example, simple joins, foreign keys, and null values). Ok, like Gadfly, it won't be a miracle for performance, but as a SQL option for installations that don't require a C compiler, it's certainly useful.

Here's the original article.