Archive 28.2.2010 - 5.5.2010

parsedatetime - a very practical library that converts "normal" date specifications (unfortunately only in English as far as I can see) into Python datetime objects.

PyPy Status Blog: Running wxPython on top of pypy - PyPy is really making huge strides towards being usable. It's already faster than CPython in some cases and now even larger C extensions like wxPython are running. Cool.

Zoolander - a small Python library that allows you to use Python as a DSL for generating CSS. Sounds silly at first, but if you want or need to produce CSS dynamically and then embed it in a web framework, it can be quite practical.

CDU comes under pressure due to "voter initiative" - oh those lovely "independent" voter initiatives that keep popping up. Or the completely "independent" initiatives against our social system - always very amusing, always very deceitful. It would be nice if this were appropriately acknowledged in the election in NRW - with a drastic loss of votes for the Union. If the other parties don't mess up too badly now, they should be able to exploit this for the election campaign. However, if I look at the clowns of the NRW SPD, I have my doubts whether they can pull something off ...

The Brads – How to Alienate a Fanbase - if anyone needs a short summary of what Adobe stands for.

Thoughts on Flash - is of course again dismissed as blah-blah by all Apple opponents, but well - the reasons are compelling. And sorry, but it's really true: Flash stinks.

It's only been a month ...

Just a month ago ...](/media/gerade-mal-ein-monat-ist-das-her/)

Just a month ago ...

Yes, that's in Russia.

django-pagination - I need to take a closer look at this, it looks interesting. Pagination is not really difficult, but it's annoying to build it yourself every time - and Django's built-in tools are not always optimal for this (especially with large amounts of data).

Henry's EuLisp - someone has revived EuLisp and gathered the sources, as well as the specification. At least historically interesting, because EuLisp was one of the standard efforts for a more modern Lisp with quite good object-oriented support. But the implementation itself also has some interesting features.

jcotton - Build animations and graphics with JavaScript and Canvas. Looks quite interesting.

Keychain reports: Access to this object is restricted - because I just had the problem again, and because it really annoys me that this nonsense is still there after so long: never use MobileMe for keychain synchronization. Sometimes it works for a while, but that's deceptive. sooner or later the sync will mess up the keychain and in the worst case you have to reset it completely (or check if you have a functioning keychain in TimeMachine). To Apple: this is really shit.

Large Kirchner Retrospective at the Städel in Frankfurt - well, I must definitely go to Frankfurt in the coming months.

HoudahGeo - Photo Geocoding for Mac - I should definitely check that out. On my last vacation trips, it was a bit of a shame that I didn't have any points on the map. And the idea of simply taking reference photos with the iPhone and using its GPS and timestamp for the subsequent coding of the photos is not a bad one at all.

Markdoc - interesting project, a simple wiki with a special feature: it is not edited via the web, but via a DVCS like Mercurial or Git. So simply normal text editors, Markdown as the format and a DVCS for versioning, rsync for distributing the generated - static! - content to the server and done. And it is written in Python.

Large manufacturer differences in digital camera defects - Golem.de - my decision for Panasonic seems to have been quite reasonable.

This Is Apple's Next iPhone - Iphone 4 - Gizmodo - ok, it's already annoying when you leave an iPhone prototype in a bar ...

Web.de calls Fraunhofer study "Microsoft propaganda" - it could of course also be because web.de and GMX are simply shit. But of course, a conspiracy by Microsoft and the Fraunhofer Institute against web.de and GMX is much more likely ...

XML in Postgres – The Game Changer « Flex and Specs() - I should really take a closer look at the new PostgreSQL features. Especially since the XML support in PostgreSQL brings some of the advantages of document-oriented databases to the relational world, without needing extra middleware.

Archives of the Caml Mailing list: O'Caml for DOS - because I just stumbled upon it again. Wow, 96, that's a long time ago. Why is OCaml always listed as such a modern language? It's already 14 years old ... (and the language on which OCaml is based - Caml Light - is even older)

Federal Environment Agency demands car toll | tagesschau.de - wouldn't it be nice if the media reported correctly, or? In WDR (by the way, one of the ARD affiliated broadcasting stations) the head of the authority had to point out several times in the interview that he and his authority by no means demand anything, but only considered how such a toll - if it were to come - should be designed in a meaningful way. It was not about "toll or not", but rather about "if toll, then how?". And in doing so, an annual vignette or similar flat-rate models were deemed nonsense and only a toll variable according to actual use with recording of the use would be sensible. And the topic of data protection was also addressed and the problems that arise from it. The basic problem is that the revenues from motor vehicle-related taxes and fees only cover part of the costs for federal roads and highways, around 46 billion euros are borne by the general public. And then a facility responsible for environmental issues thinks about how a regulation with a toll could look and how this could be used to distribute road use and cost coverage more fairly and perhaps also to get a bonus for environmental pollution. But normal procedures are not causes for excitement - which is why WDR also stirred up drivers against a previously unpublished study (and by no means a demand) in the morning. That's quality journalism in Germany.

Daring Fireball: New iPhone Developer Agreement Bans the Use of Adobe's Flash-to-iPhone Compiler - well, of course Apple has the right to set the terms themselves. And I have the right to find iPhone programming completely uninteresting now - sorry, but I'm not going to deal with such low-level programming languages anymore.

django-ajax-filtered-fields - I need to take a closer look at this, it could be quite interesting in the Admin for larger amounts of sentences in relations.

My experience with using MongoDB for great science. - NoSQL is, after all, in many cases a playground for people who want to try out how databases actually work. With many of these projects, I already wonder what possessed them when they built it. I'd rather rely on solid and proven tools like PostgreSQL and SQLite. And if a NoSQL database, then better one that has been in productive use in larger installations for a longer time. Cassandra comes to mind, for example.

Ars Technica reviews the iPad - a very comprehensive review of the iPad, should answer all the questions that are currently circulating.

CSU: Refusal to block the internet violates agreements - Golem.de - "Content that is banned must be removed so that it is no longer accessible to anyone. Users could bypass blocks within a few minutes. Those who insist on this have no idea about modern technologies, according to the minister. 'And furthermore, we do not want such a blocking infrastructure to be set up because it inherently poses the risk that it is not only used for such content, but can theoretically also be used for other purposes,' said Leutheusser-Schnarrenberger."

twitter's gizzard - could become interesting, a framework for distributing and replicating data across various backends. Gizzard deals exclusively with sharding and replication, the datastore itself is treated separately, making it interesting for various scenarios.

Writing a non-relational Django backend - Django nonrel / NoSQL blog - All buttons pressed - I'm not a big fan of NoSQL (in my opinion, many NoSQL approaches reflect a lack of understanding of relational databases rather than actual shortcomings or weaknesses of relational databases), but if you're going to use NoSQL, I'd prefer to do it through the Django ORM, which I quite like. And here's how you can build a Django ORM wrapper for NoSQL databases with relatively little effort.

IBM breaks OSS patent promise, targets mainframe emulator - was to be expected, but still a nasty story. IBM is IBM - and IBM is only its own friend. Large companies first look at their own wallet, then at others. And Hercules allows some things that so far only low-end mainframes have achieved. That's where the fun and the cuddly course end for IBM.

Perfection kills » What’s wrong with extending the DOM - because I keep discussing with colleagues why JQuery is better than Prototype: Prototype heavily uses the extension of prototypes, while JQuery hangs almost everything on its own JQuery object and is therefore much more cooperative in interaction with other JavaScript.

Oracle Announces Latest Release of Oracle® Berkeley DB - Berkeley DB now has a SQL API based on SQLite. Source code compatibility with SQLite, so programmers can switch if they prefer the much more unstable and vulnerable storage of Berkeley DB and like to repair their databases. Sorry, Oracle, but that's ridiculous. BDB is only interesting for those who have to work with it by force - anyone who wants to switch to BDB today must be crazy. If I'm already programming against the SQLite API, I'd rather use the right tool right away. Yes, of course, SQLite has some bottlenecks when you want to access it in parallel with multiple processes. But I'll let Oracle in on a little secret here: SQLite has such a tolerant SQL parser because you can then write source code whose SQL works seamlessly with both SQLite and PostgreSQL. So if you hit the limits of SQLite - just switch to PostgreSQL and you're good to go.

Elixirgraphics - and here you'll find nice themes for RapidWeaver. I particularly like Lime, Factory, and Nimbus. Sprout is also quite nice. And yes, I know, no free themes - but hey, good design is a lot of work.

seyDesign Professional RapidWeaver themes - even more RapidWeaver themes and a few open source versions - with these I could also take a closer look at the innards of such a theme.

YourHead Software - I'm still considering whether to get their plugins for RapidWeaver. I managed to get RapidWeaver quite cheaply from the last MacHeist and the first experiments are really nice. And all the YourHead plugins are based on JavaScript instead of Flash, which could be good for static websites. Additionally, their internal data format is simply folders full of XML files, so you could also do something with tools.

Sony Steals Feature From Your PlayStation 3 - those who think Apple's restrictive policy is bad, read this about Sony. If you bought your PS3 because of the possibility to also run Linux and play with the multicore system, you can now participate in a free feature downgrade.

EU Commission wants to introduce Internet blocks - proof of how brainless the Commission construct is and how urgently Europe needs to be put on sensible, democratic feet. We now have to deal with this nonsense again, even though it's finally done locally - and European commission bureaucracy is even harder to overcome than Schäuble's fantasies. For Schäuble, one election and a change of ministers was enough, but the time until the next commission composition is long.

Several Dead in Attacks on Moscow Metro - since I am somehow connected to Russia, one looks at such reports with different eyes. A few weeks ago the attack on the train from St. Petersburg and now this in Moscow. The Urals have been very quiet in the last two weeks.

NLTK Home (Natural Language Toolkit) - and if you want something more powerful and flexible, this is so to speak the grab bag for parsers. Focus is on the analysis of natural languages, hence also things like stemmers (stem finding for word forms) are included. Could be overkill for simple embedded languages, though.

Python Package Index : Esrapy 0.5 - a parser and lexer toolkit completely in Python. Might become interesting in some projects later, at least for smaller configuration languages.

Building Skills in Python - Online book about Python for programmers who simply don't know the language yet. Looks very well made at first glance.

Jobo AG & Jobo Labortechnik GmbH are insolvent (updated) | photoscala - great, I just bought a Jobo image tank last year, so firmware updates might become problematic in the near future. Okay, I don't plan to buy new cameras anytime soon (I just renovated my system), but still...

Oscar for Waltz - absolutely deserved. The man was the perfect casting for me in Tarantino's film.

Bottle: Python Web Framework - super-simple Python web framework that comes as a single Python file. No dependencies other than the standard library. No built-in ORM, but very lean and perhaps interesting for projects where you don't need or want a database (or use the file system as a database).

clojure-python - an interesting project that aims to simplify interoperability between Jython and Clojure and raise it to a similar level as it already is between Clojure and Java. Particularly interesting for me, as it would allow me to rely more on Clojure as an alternative - Jython is already a planned component of the toolkit, but has some performance issues that Clojure does not have through more direct Java integration. Moreover, I prefer to write compact Lisp code rather than verbose Java ...

hugoduncan's clj-ssh at master - GitHub - quite an interesting library that enables ssh access in Clojure scripts. For example, very interesting for server automation. Uses Jsch, a native Java ssh library (so no detour via shell-pipes or similar).

Scala: Post-Functional, Post-Modern, or Just Perl++? - interesting post that addresses some of the points that also bother me when looking at Scala. I particularly like the designation as Perl++, as that is exactly the impression that comes to me whenever I delve deeper into Scala. Perl has always fascinated me, but by the time I built larger projects with it and used the advanced features of Perl more intensively, I had some doubts about the maintainability of the result - especially with regard to handing over the work to one of my colleagues for further maintenance. At that time, I switched to Python because it offered me many of the features in a much cleaner language concept. I think this could also explain why I just can't warm up to Scala, even though many aspects of it fascinate me.

digg's lazyboy at master - GitHub - because key-value datastores are currently all the hype (and because they are really more practical for some things than classic databases), I will probably take a look at Cassandra. Simply because reports on the web suggest it offers the best scaling possibilities. And because it is used in some large websites - specifically, for example, at Digg (which I find as a site to be stupid, but hey, they have a lot of traffic and run relatively stably) with lazyboy as the Python binding.

17.6. multiprocessing - much better than external modules for process communication are the tools included with Python since version 2.6 in multiprocessing.

rfc1437 / lazypy / source — bitbucket.org - and another project of mine (again) online. Lazypy is a small library that makes lazy evaluation and futures (thread and process based) available for Python. Very practical for simple concurrent programming. Ok, you can do everything by hand, but I prefer the more functional approach. It's actually from 2004, but I modernized it (the process-based futures to bypass the GIL) and uploaded it again.

Semanchuk.com - Python IPC Modules - inter-process communication with Python.

A simple web application in Clojure using ring and enlive « LShift Ltd. - and here is a small example of how to actually work with ring and Clojure. Looks quite interesting, could be particularly interesting for me for web services in Clojure.