Archive 12.6.2010 - 30.7.2010

JEmacs - the Java/Scheme-based Emacs - just for future curiosity blogged.

Scribes - Simple And Powerful Text Editor for GNOME - interesting project, an editor that is expandable in Python. Since I work with Linux at work, I could take a look at it after the vacation.

EU-Kommission plant Umstellung aller Girokonto-Nummern | tagesschau.de - typical bureaucratic action. Most people will continue to make the majority of their transfers within their own country, but then they will have to enter the monsters of IBAN and BIC, just in case a transfer might occur across national borders ...

PEP 380 -- Syntax for Delegating to a Subgenerator - a very interesting point for extending Python. So interesting that Guido could imagine implementing this PEP even now, bypassing the moratorium. Generators in Python are becoming a very pleasant language feature for me - code often becomes much more compact and readable. If only Django were also available for Python 3, I could use some of the new features there. Python 2.7 somewhat alleviates the pain.

saucelabs's monocle at master - GitHub - interesting package for easier programming of asynchronous routines in Python. Particularly interesting: it supports not only Twisted but also Tornado.

Hg-Git Mercurial Plugin - did I already have this? No idea, doesn't matter, it's good, can't hurt to repeat.

Valued Lessons: Monads in Python (with nice syntax!) - very interesting hack that can indeed have practical use. Found at Schockwellenreiter.

PJS4iPad - Project Hosting on Google Code - this is a really cool project: processing.js in a variant for the iPad, which uses HTML5 local storage to save programs locally, so that you can work offline with your own program. Interesting, for example, to doodle a bit while on the go (write small programs that have interesting visual effects). And because it's all a web app, the AppStore restriction does not apply.

0.7 Release - OpenSim - I think I should take a look at the latest version of OpenSim again. The changes sound very interesting - a private Minigrid with HyperGrid connection to other grids would be very interesting. And with current root servers, you could easily do this with general access.

Check out TIDE 2.0 beta - a JavaScript IDE that runs entirely in the browser.

AR.Drone.com – Parrot Wi-Fi quadricopter. Augmented Reality games on iPhone, iPod touch & iPad - poorly blogged, because somehow this thing could really appeal to me. Ok, it needs a WiFi signal that it can receive, but surely you can still have a lot of fun with it.

Python IDE with Django support : JetBrains PyCharm - the JetBrains people (who make IntelliJ) have now built a pure Python IDE based on IntelliJ and it has a lot of interesting features. I should take a look at it, especially since it also includes support for Django and Google App Engine.

Don't Hold It Wrong - because at the moment a large group of tech experts are out there to explain why the iPhone 4 should be so terribly bad: not holding onto the antenna is quite common with mobile phones. As can be seen in this collection of images and texts from instructions of various phones.

Dangers on the Net: Criminal investigators demand reset button for the Internet - SPIEGEL ONLINE - News - Netzworld - somehow they should stop reading bad thrillers and believing every nonsense printed in the Blödzeitung, these "naysayers" ...

itod's fluidium at master - GitHub - the foundation of Cruz (social browser), Fluid (site specific browser) and Fake (browser automation ala Automator). Suitable as a basis for RIA as well as a basis for specific browsers for websites or mashups or whatever. However, it's Mac only.

Panasonic DMC-LX5K Support and Service Information - the successor to the LX3 is in the works - and the data looks very good. Hopefully, they have added a lock to the mode dial or designed the detents to be a bit firmer. The extended focal length range and the extra shutter button for filming are already good. The LX3 is currently my favorite always-with-me camera, despite the somewhat annoying mode dial that adjusts itself too easily.

Lightweight Approach to AOP in Python - and while we're on the topic of AOP: there is also a library for Python.

Mobile/firefoxhome - MozillaWiki - fail. Because they couldn't look beyond their ego and only built minimal in-app browsing features. If they had at least implemented the basic features of Mobile Safari (with multiple open pages to switch between), it could be used as a full-fledged replacement for Safari - with simultaneous cross-platform bookmark management. But as they have implemented it, the built-in mini-browser is only a nuisance. It is of course always helpful to access your Firefox bookmarks, but it could have been much more. There are already several alternative browsers in the AppStore, but none that support usable bookmark syncing. And so Firefox Home has starved halfway (and why it didn't come out as a universal app for iPhone and iPad right away, only Mozilla knows).

Building iPhone Apps with HTML, CSS, and JavaScript - for those who don't want to deal with the AppStore and are satisfied with a web app, here's a book about it. Under CC license.

jquery-aop - Project Hosting on Google Code - AOP provides (among other things) easier programmed debugging and is very practical when you want to modify frameworks afterwards, but don't want wild monkey-patching. Since jQuery is my preferred JavaScript tool, I should take a closer look at this.

Union against homeopathy at public expense - rightly so. After all, religion is not covered by public health insurance either.

jessenoller.com - PEP 3148 Accepted: “futures – execute computations asynchronously” - the PEP is a bit too oriented towards the Java world, I would have preferred a leaner and more Python-specific implementation, but at least. Particularly interesting are the considerations to look at concurrency stuff again and sort it out.

Chickenfoot - this is what runs under CoScripter. ChickenFoot is not just some ad-hoc scripting language like in CoScripter, but simply JavaScript with a quite interesting automation library integrated. So as a building block, in my opinion better suited, especially since the scripts remain on the local computer.

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?