programmierung - 28.2.2008 - 15.5.2008

The Bla Page - when a language designer can't think of anything for the language's name ...

Kamelia - a Python framework for, hmm, things. Whatever. Apparently also web applications. And apparently by the BBC. And looks damn interesting.

pg8000 -- pure-Python PostgreSQL interface (w/ DBAPI 2.0 interface, no external dependencies)

SCM Integration Scripts - here's how to integrate an external Diff in Mercurial.

Sneaking Ruby Through Google App Engine (and Other Strictly Python Places) - why the lucky stiff (jo, he really calls himself that) is at it again: this time it's a Ruby-to-Python-bytecode compiler. Interesting idea.

vi in javascript - some people just have too much time ...

Announcing Teh - the minimalist blog tool using Google App Engine - and if Google would finally send me my access to GAE, I could even play around with it.

Frag - a 3D first-person-shooter in Haskell.

Magma - Object Database as Open Source for Squeak.

Ready Lisp: Common Lisp for Mac OS X - cool. After the Eclipse version, there is now also the classic Emacs version. Very nice - Eclipse works on my iMac, but it's not really a hit there. And for a nostalgic Lisper like me, old == better.

Limp: When You Need More Than Just a Lisp - the proof that VIM is as powerful as Emacs. An integrated Lisp development environment in VIM.

Programming Languages: Application and Interpretation by Shriram Krishnamurthi - download and read offline. You won't get dumber from it.

AS3 Flash Physics Engine Box2DFlashAS3 2.0.0 - wow. Just wow.

Sleep - Java Scripting Language - if anyone really misses Perl in the Java world, they could check out this project. Linked purely for nostalgic reasons, as I used to rely on Perl for a few years.

The iPhone SDK and free software: not a match - a reason why GPLv3 is good, no matter what some (otherwise quite popular) idiots say. Because exactly this problem - the effective blockade of open source through codesigning - is addressed by the GPLv3.

Amazon Web Services Blog: Storage Space, The Final Frontier - it's getting more interesting. Amazon wants to add persistent storage space to EC2 (again paid according to usage).

CHDK in Brief - it begins. Hacks for Canon compact cameras. Sounds quite interesting, not just a toy. In my opinion, camera manufacturers should simply provide this from the outset, it is simply the next logical step. But they probably look too much at "product design" by arbitrarily removing features (as is often done with RAW storage)

Latest Advance in Artificial Intelligence: Computer Wins a Game Against a Go Master - "During the Go Tournament in Paris, staged between 22 and 24 March 2008 by the French Go Federation (FFG), the MoGo artificial intelligence (IA) engine developed by INRIA - the French National Institute for Research in Computer Science and Control - running on a Bull NovaScale supercomputer, won a 9x9 game of Go against professional 5th DAN Catalin Taranu. This was the first ever officially sanctioned 'non blitz' victory of a 'machine' over a Go Master."

SeasideXUL - an interesting project that directly generates XUL interfaces from Seaside (the Smalltalk web application server) and allows the creation of applications with native interfaces. Very interesting, as here a web server technology is used for local applications (and yes, this sounds damn similar to AIR, only with Smalltalk and XUL instead of JavaScript/ActionScript and HTML/Flash)

Digging into Factor’s compiler - very nice overview of how the Factor compiler works. I'm having more and more fun with Factor, I think I'll play around with it a bit more.

GitHub - "Secure Git hosting and collaborative development". Looks quite nice and git is, alongside Mercurial, one of the more interesting new version control systems.

Google App Engine for developers - nice overview of the features and the people behind the App Engine.

Google App Engine - wow. Google offers hosted applications based on Python and delivers Django pre-installed. Genius. However, Django is quite crippled, as the entire model part cannot be used (there is no SQL database, only the Google Datastore). Hmm. Maybe it's time to try something new with my blog. It has been running reliably for a long time, it's time to destroy it again ...

Pydev - Eclipse plugin for Python development. Since I sometimes look at Eclipse for other things and it's no longer terribly slow, this might also become interesting at some point. Although TextWrangler is still unbeatable in comparison in terms of speed.

Pydev Extensions - shareware extension of the Eclipse plugin for Python. Has some interesting features.

Towers of Hanoi - written only with VIM commands (yes, if you paste VIM commands into a buffer and execute them again, you get something like a - very strange - programming language, based on visual text modification. And yes, someone had too much free time)

Norway seeks to reverse Open XML vote at ISO - "Reports of the voting process surfaced on Friday at Computerworld Norge. In a translation of the article at Groklaw, participants said that representatives from Microsoft and Statoilhydro on the Standards Norge committee voted for approval of Open XML. But the other members of the committee were opposed because their comments on the specification were not addressed. Yet the overall vote changed from changed from No to Yes."

OOXML: Waiting for the ISO Decision - if Microsoft's garbage heap (sorry, a "standard" with thousands of pages of explanations and thousands of critical notes and corrections and counter-corrections is simply a garbage heap) were to actually become a standard in the "Fast Track" procedure, the entire ISO procedure would have made itself completely ridiculous and it would be time to find a functioning alternative to this farce. If technical standards are now decided solely on the basis of political intrigues and economic interests, and in a way that clearly and unequivocally ignores the established regulations of the ISO ("Fast Track" is not intended for standards that require extensive discussion), then ISO is simply worthless.

Python processing - the threading API built on fork processes. Very interesting because it allows for better utilization of multi-core systems (since processes - unlike threads - do not suffer from the global interpreter lock). However, this naturally comes with the overhead of system processes. Could still be very interesting for e.g. TooFPy.

cusp - I'm not a big fan of Eclipse (it just consumes more resources than I'm willing to grant an IDE), but this is quite nice. Namely, an IDE for Lisp that builds on the usual integration tools and thus creates an interactive Lisp environment - but with the typical Eclipse features for the editor and source navigation. Looks good. And apparently there's also a simple installer (which includes the appropriate SBCL) that also supports OS X. Maybe I should download Eclipse again ...

DIN says "Yes" to ISO standardization of OOXML - and if you read through it, that e.g. only "Yes" and "Abstention" were options in the vote, then it is clear who has greased and financed the whole thing. What a disgrace for an institution that thinks so highly of itself.

LispWithCusp - in case anyone wonders why I can warm up to Eclipse and Lisp in combination at all. Yes, the whole thing already looks damn good. Reminds me a bit of the Apple Dylan environment. Someday, current IDEs will catch up to the power of the old tools. Cusp already looks really usable.

TDD Proven Effective! Or is it? - a study on the efficiency of test-driven development is dissected here and examined for its actual content and statistical statements. The result is then less positive for TDD ...

SAP is garbage - even a garbage company doesn't want it ...

MCL 5.2 has been released as open source - unfortunately probably not running under Rosetta, so nothing for Intel Mac users (which excludes almost everyone who has something modern from Apple). Well, the manufacturing company is probably more or less history, but maybe there will soon be a version that works with Rosetta - or someone ports the OpenMCL Compiler Backend into this version.

Banks and the Web

If you want to redefine miserable, you should take a look at banks and their web usage. Has any of the programmers who created this garbage pile received any minimal training? My latest "fun": the practical, low-tech TAN form is being discontinued. Now there's only Smart-TAN via code cards and such stupid devices. Okay, it should actually work - generating session passwords isn't exactly new. But of course, that doesn't work either. Why would it? That would be silly. I mean, honestly, did anyone expect anything different? And of course, my TAN usage is now blocked. Because, it's so incredibly secure when you install technology that doesn't work, and then people are forcibly locked out.

But that's not the reason that bothers me so much. The reason? The bank's notification form. A simple form with a text field in the browser. So far so good. You enter text, which goes directly to the customer advisor. Also good. I mean, that's all I want - write text and that's it. And what happens? I get the great message:

The text is too long. The text may only contain 11 lines with 36 characters each.

Excuse me? Hello? Have you ever seen a text field in a web browser? Is there a column ruler somewhere? Or have you ever heard of flowing text? Should I seriously now manually break my lines to a maximum of 36 characters (which I have to count, as the input field gives me no help) by hand? Have you all lost your minds in the data center?

Oh, and then, after I've formatted and counted (with editor support and cut-and-paste):

This text contains invalid characters. It may only contain digits, letters, umlauts, and an arbitrary and ill-considered selection of special characters.

Parentheses - which you might use when you include a note - no, they are evil and must not be used.

Sorry, but this is a total failure. And no, I don't want to hear anything about your downstream banking system only accepting 11 lines of 36 characters - I don't care as a customer. Giving that as a reason only shows how stupid you are and how little you know about the subject. Sorry, colleagues, but this is pathetic.

Panda3d full featured open source python 3d engine - hmm. Unfortunately only installers for Linux and Windows. Will this work with OS X? Maybe even embeddable in Nodebox?

Ur-Scheme: A GPL self-hosting compiler from a subset of R5RS Scheme to fast Linux x86 asm - I like such projects, no matter how pointless they may be.

Building a Codeless Language Module with BBEdit 8.5 and (Ir-) Regular Expressions - interesting, because it shows the more complex features of Perl Compatible Regular Expressions. Could be helpful for own Language-Modules that I might need.

NodeBox | Superfolia - wow. Simply wow. I really need to engage more with Nodebox and not just use it as a practical desktop calculator.

Why is 37signals so arrogant? - "Now, I have always admired 37signals. Nice website, intelligent articles. But I've tried their products and although they have admirable qualities, they have never quite met my needs: Close is not good enough. After reading the article, I understand why: the developers are arrogant and completely unsympathetic to the people who use their products."

iPhone Developer Program Details - it's getting exciting. Starting in the summer, the first tools. And the freeware programmers can get into the Developer Program relatively cheaply and also use the iTunes Store platform for distribution.

Seaside development with GNU Smalltalk - very nice. GNU Smalltalk is simply one of the better batch Smalltalk variants. The others are just GUI-free images, GNU Smalltalk is far better geared towards text mode from the start. And for a dynamic web server, it is simply the better environment. Combined with the quite powerful web-based tools from Seaside, this could become a really nice environment in the long run.

Materialized Views in PostgreSQL - interesting alternative to denormalization (or a technique for organized denormalization that doesn't trample the relational model too much, as the logical view remains the clean normalized form, but automatic performance-optimized denormalizations occur)

Programming Nu - had I already seen that? It's something like F-Script, but with Lisp-like syntax instead of Smalltalk-like syntax.

PyGUI - I'm usually a wxPython programmer, but one should always look over the fence. And the fence here looks quite usable, at first glance.

Changes - graphical diff and merge. Looks very nice and can be integrated into various tools and version controls. Could be a usable alternative to the rather stiff XCode FileMerge. Also works via SFTP on remote servers. And the scripting language is F-Script, how cool is that? Unfortunately, it only runs from Leopard onwards.

vi & TextMate together at last - well. vi operation for Textmate. What I have learned, however, generally from all these projects (also those for Emacs): nothing is like vi, except vi (ok, I prefer of course vim, some comfort must be there). And shockingly, vi is still one of the easiest editors for me to use ...

ANT (ant is not TeX) - an interesting approach to tackle the topic of text layout. Syntax very similar to TeX, but different internals and some nice features.