Linkblog - 27.5.2010 - 11.7.2010

CoScripter - I'm currently looking at this, is an extension for automating web access (similar to FakeApp, but less graphical) and could help me automate the download of my SL transactions again. Because they are - as with many "social networks" - hidden behind stupidly complex login scenarios, which are not trivial to automate with e.g. Python. However, it stores the scripts on a public server, even private scripts are stored there, just not accessible to everyone. Somehow also not quite right.

'Hollywood Accounting' Losing In The Courts | Techdirt - think of this article the next time you discuss the poor film industry that is so severely affected by film piracy. How to easily turn a billion dollars profit into a $170 million loss - and then argue why you don't pay actors and other employees full wages, because the film made a loss after all ...

Three Minute Philosophy - Immanuel Kant - I don't often link to this, but well, anyone who can summarize Kant in 3 minutes, waste 30 seconds on the name, and still add a laugh at the end, deserves recognition.

Fake - Mac OS X Web Browser Automation and Webapp Testing Made Simple. - by the author of Fluid, which I like to use for site-specific browsers.

Dropbox API - and this could become quite an important toy for me in the near future - an API for Dropbox. Of course, most of the time I just need to send files back and forth, so simply using Dropbox is sufficient. But for some things, an API to access the metadata on Dropbox would indeed be interesting (one of my projects that has been on the back burner for a while would be an implementation of the Simpletext.ws service from Google App Engine on a normal Python service with Dropbox as the backend, for example).

Python 2.7 Release - some good stuff in it, especially the set and dictionary comprehensions I like - so far I have made do with generator comprehensions, but the dict comprehensions just look better and more readable. Due to various dependencies, I am probably still tied to Python2 at work for some time to come, so it's nice that some of the Python3 features are also becoming available in Python2. However, I am one of those who really want Python3 - just for the much cleaner string handling with Unicode as default. But as long as Django does not run on Python3, I am reluctantly stuck with Python2.

Give madness a chance!: I won't shop at Thalia anymore!!! - "nice" how Thalia behaves. The store has been suspicious to me for a long time anyway, because interesting bookstore, that's different. One reason why I buy more and more on the internet is the simply abysmally boring selection of "literature" in local large bookstores. Unfortunately, small bookstores in Münster limit themselves to children's literature, women's literature, esotericism, and religion - and I don't know why I listed esotericism and religion separately. In any case, not what I want to read. And with all non-German books, almost all bookstores here are so bad at ordering that Amazon becomes the urgent option out of the motivation "I want to get the book this year" in January. Maybe someday self-publishing and local printing will bring some movement to the situation - and hopefully also a chance for small, well-sorted, and competent specialty bookstores again. Because actually, browsing in a bookstore is fun when the sellers actually know what they're talking about and don't just sell in the bookstore because they earn too little in the perfumery. But that is probably more of a utopia for Münster.

Back In Time - looks quite good, it offers about what TimeMachine does. Ok, Linux-typically a bunch of options and selections have been added and simply / as a source for the backup does not work, but well, if you manually include the relevant directories (and remember to update the selection occasionally when changes are made), you can actually do something with it. The basis is rsync with hardlinks, so in the end really usable backups, because you can also manually restore them if necessary. What I haven't tried yet is what happens when you back up to removable media and they are not present. But there it also failed with faubackup. UPDATE: works quite well with removable media, it does issue an hourly message if the drive is not present, but it recognizes it cleanly and skips the backup run then. It would be nice to have an "automatically back up when the drive appears".

liebke's clj - ah, someone has put together package installation and a decent REPL for Clojure, so you can play around with Clojure interactively without having to set up a project every time. Very practical for quickly trying out some Java libraries. Internally, it doesn't do anything else than setting up and managing a hidden Leiningen project, so it's rather cosmetic, but the right kind of cosmetic.

jessemiller's HamlPy - I need to check this out, an implementation of HAML (basically a shorthand notation for HTML) with integration for Django. This could be interesting for the many small internal templates, as they are created by programmers and not designers. However, I would first have to see how well (or how poorly) I can integrate JavaScript with it. But definitely interesting - HTML is not really Diff/Merge-friendly and simply annoying to write and read.

Welcome | Ibis Reader â„¢ - a web-based ePub reader with syncing of reading positions (well, not really sync - they just store everything in the cloud and the reader is simply their web interface). For those who can't use iOS 4 (because, for example, iOS 4 makes an iPhone 3G a very slow iPhone 3G) and don't want to use Amazon Kindle (for which they would have to send their books to the Amazon servers), it's an alternative. Additionally, it also supports Android phones.

Write-Ahead Logging - in SQLite! From version 3.7. This is very interesting because it makes a use case easier - multicore-using applications that want to work with an embedded database. SQLite becomes even more the Swiss Army knife of data storage (and if you take this into account when programming, switching to PostgreSQL for larger installations where the embedded database no longer makes sense is easily solvable).

Inconsolata - I stumbled upon this font via my iPad (in iSSH) and find it very pleasant. Especially with today's higher screen resolutions, a monospace font can certainly pay attention to details - and this one does it well.

iPad or Bust! - Blog - The Omni Group - OmniOutliner for the iPad? That would be great. Although for many things I now simply use Taskpaper because of the easy syncing. I still hope that more apps will use Dropbox as a file storage, but so far that's still quite scarce.

Nicholas Piël » ZeroMQ an introduction - a brief overview of how asynchronous messaging with ZeroMQ and Python looks and how the different messaging scenarios can be represented. I should take a closer look, because it's something like a deconstructed framework for messaging - so only the building blocks to be able to build your own, optimally tailored to the problem, messaging system.

Ben Goldacre: Predictions are fine, but there are better ways to protect a population - Italy has always been a bit odd (I mean, they have a press clown as president and this strange Catholic mini-state with a ruler who claims absolute authority). And this mini-state has a long tradition of suing (and convicting) scientists. It probably shouldn't surprise anyone if seismologists are now being put on trial for manslaughter because they didn't predict an earthquake. And this is part of the EU ...

iOS 4 walkthrough | TiPb - hopefully you can finally enable and disable Spellcheck (which works quite well on the iPad) and Autocorrect (which still has this pathetic "space accepts the suggestion" behavior) separately in iOS 4. Because you actually want to have Spellcheck, but as long as Apple retains this stupid Autocorrect and ties the Spellcheck to it, you can forget about it completely.

PyFilesystem 0.3 released - looks interesting, filesystems in and with Python. You can write FUSE filesystems in Python or simply access Amazon S3 or FTP with the same code.

About Greenfoot - a graphical programming environment for games and other interactive content in Java. By the BlueJ creators.

Chimply generates your images - provides a nice selection of Ajax activity indicators. Of those I have tested, one of the most interesting examples.

PyPy Status Blog: A JIT for Regular Expression Matching - this is the reason why I firmly believe that the future of Python is PyPy (or something similar) and why I want something like PyPy. An environment where all language elements are reduced to a common base, where I can work at all levels of abstraction - if necessary even at the level of code generation. This offers significantly more pleasant optimization options than the CPython model, where higher performance beyond a certain point is only achievable through C extensions. However, I also come from Lisp, where it is quite common to work with a language family from high-level language elements down to code generation. My Xerox Lisp machine had a TCP/IP stack written in a subset of Interlisp - this is quite comparable to the situation of PyPy and RPython.

nutshell — Lettuce v0.1.2 (barium release) documentation - lettuce is cucumber for Python. cucumber is BDD for Ruby. BDD is behaviour driven development - first you write BDD stories, then you write the code and a small Python module that connects the story with the code. This automatically generates the test code. It looks a bit silly at first glance, but has the advantage that test cases actually orient themselves towards specified behavior and are not simply abstractly programmed into the woods. In combination with testcase-pro-bugreport, this provides a quite usable test environment.

SSH on the iPhone at last | The 23x blog - "termcapinfo xterm ti@:te@" in the .screenrc for support of scroll gestures is the most important part of the article (and on the iPad, ssh is also quite fun - a decent server machine and you can comfortably script in the armchair with the iPad, maybe even a Bluetooth keyboard ...)

Copyright reform: Justice Minister fills third basket - Golem.de - um, hello Mrs. Minister, you are a politician and from the FDP. Could you please stick to the prejudices of bloggers and demonstrate complete ignorance of technology? Something like your obvious recognition of the link as a fundamental means of the internet, something like that, I don't want to see again, ok? And anyway, why do you make a few of the opinions of bloggers and creatives your own at the same time? Doesn't that violate copyright? And anyway, how do you come to openly name the weak point of the cultural flat rate right away? Shouldn't that first be determined through 50 committees? Can't you, like other politicians, simply reject the whole thing as communism? Ok, with the strange suggestion that providers should automatically (without analyzing or collecting data) notify users when they do something forbidden, you try to pull it out a bit again, that has something of typical politician thinking. But the impression still doesn't quite disappear that you actually know what you're talking about. But that just doesn't work. That fully violates all the rules of politics.

iFolder - I just came across this. Open Source from Novell that builds functionality similar to Dropbox. Only that you operate your own server (a Linux box, ready-made packages for Open Suse). The whole thing is built with Mono, clients for Linux, Windows and Mac. I haven't tried it yet (Dropbox works too well for me to feel a great urge for changes), but I think before the next renewal with Dropbox I could take a look at it. Hosting a Suse box somewhere (or getting the server to run on Ubuntu or Debian) shouldn't be the biggest problem and I'm already hitting the limits of the 50G option from Dropbox. What I haven't found is access to older versions of files - but I haven't looked through the quite extensive manuals yet.

Innovation looks different: Rechristianization - taz.de - Jauch instead of Will? And for this crap I pay fees? Anne Will was finally someone with a profile at ARD, who could even motivate a TV muffin like me to turn on the TV.

SPD says no to CDU in NRW: The real crazies - taz.de - the political posturing and stupid remarks from politicians are really getting on my nerves. All talk, no action, none of them are interested in a real solution. And so we have to continue putting up with this unbearable Rüttgers, because the SPD and the Greens consider stupid principle games against the Left more important than replacing the Union in the state government. Sure, the Left are chaotic - the Greens were too when they started out. And? Is a Rüttgers in office any better?

AdBlock for Safari - with Safari 5 you can now block ads. In this case, a Chrome extension has been ported to Safari - apparently they are quite similar (both are based on JS + HTML5 as technology).

In the eye of the law — Der Freitag - yeah, yeah, the state would never create unauthorized data collections, the state simply legalizes the nonsense it produces.

Racket Released - PLT Scheme has a new name and a new release. And is still the coolest Scheme environment.

Internettelefonie: iPhone: Telekom threatens Skype users - WirtschaftsWoche - oh yes, our great telecommunications companies. Totally customer-oriented.

HDRtist "HDR Software will never be the same" - Ohanaware - the software I used for the HDR test. No adjustment options beyond simple calculation strengths for the individual images. But the result pleases me and looks quite natural.

kenkeiter's ryfi - blogged for later. A Ruby server that can work with EyeFi cards and enables you to do more with photos than just store them. With this, you could build automatic syncs to your own cloud or other fun stuff.

Creaceed - Hydra - I should check this out, as it has several tone-mapping algorithms and supports pixel mapping/morphing, so you don't necessarily have to work with a tripod (though of course you have to make compromises then). Additionally, it is available as a Lightroom plugin.

HDR PhotoStudio: HDR photo software, HDR merge & editing, BEF plug-in, realistic HDR imaging - and another software that focuses on correct color representation and not this silly pseudo-HDR look.

Plac: Parsing the Command Line the Easy Way - interesting library for parsing parameters for Python tools. Much more compact than other libraries. Parameters are automatically derived from defined functions using inspect.

Python Package Index : Baker 1.1 - and yet another alternative of a more declarative command line parser.

Aeracode :: On Django And Migrations - South core libraries may move to the Django core in the near future (possibly targeting Django 1.4). I approve. Having the basis for migrations already in the Django core would not only be helpful for migrations but also for projects that require higher dynamics in the data models - my current hack with sqldiff and some self-made code is just that: a hack. It's probably time to take a closer look at South (so far only briefly looked at it, but what I've seen I liked) and consider whether I should already now put my hack on a more powerful basis.

Mamiya announces RZ33 medium format camera - well, if I had 18,000 US dollars to burn, that would certainly be a charming way to do it. Mamiya's medium format optics are of the highest quality and the RZ series is a very solid system. Okay, the RB has even more charm, but packing so much digital technology into a mechanical device is only Leica. There have been digital backs that can be attached to the RZ for quite some time, but a completely integrated system is of course even more beautiful. Interesting that Mamiya, in times when medium format is moving more towards smaller systems (their own 6x4.5 system, Pentax with its announced digital system, Hasselblad with the Fuji cooperation H1), is once again building one of the really big ones. Great. Even if I won't have 18,000 US dollars to burn in the near to medium (and probably even distant) future ...

Oppugn.us: Where The Rants Go - Zed Shaw on Flash. Fuck, yeah.

HackageDB: berp-0.0.1 - someone is programming a Python 3 compiler and interpreter in Haskell. At least intellectually quite interesting.

Köhler resignation: Disbelief and regret - it's typical of him to resign because he is offended by the public reaction to his statements, and not because his public statement was at least grossly misleading or simply off the mark.

Fossil: Fossil Home Page - the author of SQLite, my preferred tool for everything that needs to store data locally, has also built his own distributed version control system (à la Mercurial or Git). And it comes with an integrated, distributed wiki and an integrated, distributed bug tracking system. Of course, the whole thing is based on SQLite as the backend for storing the data and has some interesting properties. Definitely worth a look, especially since its installation is nearly perfect: just copy a ready-made executable into the path, that's it. Yep, version control, wiki, bug tracking, CGI for web interface - all in a single executable. It's also compact. Impressive.

ikiwiki - and since I'm currently into bare-bones projects again: ikiwiki might be quite interesting, it calls itself a "Wiki Compiler". Essentially just a bunch of wiki pages in text files, managed with a versioning system and a tool that automatically produces static HTML. Plus a number of plugins with which you can make various extensions (among other things, it allows Markdown and also reStructured Text as wiki languages and has blogging plugins).

Bug 560738 – No Mac-style keyboard shortcuts - woah. Since November 2008, there has been an open bug in Tomboy (note-taking program for Linux, Windows, and Mac) that the Cmd+Anything hotkeys on the Mac all do not work (or sometimes at least limited for cut/copy/paste) ... somehow one might get the impression that Tomboy is not really widespread on the Mac ...

daemon 1.0 - the first of the usual suspects for Unix daemons with Python.

pyquery: a jquery-like library for python - definitely check it out, because this is something that has been bothering me for a long time, the libraries for accessing XML data in Python are somewhat primitive. And I really like jQuery, I find its access patterns simply extremely practical.

python-daemon 1.5.5 - and the second of the usual suspects (this one is almost official, at least it is oriented towards a PEP) for writing Unix daemons with Python.

Spring Python - no idea what it's worth, I haven't used Spring under Java so far (well, I hardly ever use Java anyway, at most the JVM occasionally), but you read a lot of positive comments about Spring. Here someone has transferred the ideas to Python - there's even a book about it. I don't know, however, whether a framework for a bondage-and-discipline language translates so well to a highly dynamic language like Python. But you could take a look at it in a quiet hour.

Turkmenbashi 1.0.0 - a library to write Unix daemons. Brings a few more features than the other usual suspects (daemon and python-daemon).