Archive 27.9.2010 - 10.11.2010

Kilim - stumbled upon this while browsing the Orc documentation, a microthread library for Java.

Orc Language - haven't read any of this yet, but it looks quite interesting. The core is Cor, a functional language without side effects, and on top of that Orc, which is used to orchestrate services in distributed systems. All of this in a quite appealing, compact syntax on the JVM. Could definitely take a look at it as an alternative to Scala and Clojure, with Java being integrated as an external service, thus allowing quite simple construction of distributed systems where parts are implemented in Java. Reminds me in many points strongly of the ideas of Erlang (generally assume a distributed system, but still keep parts local for performance reasons), but I find the syntax much more pleasant. And with the JVM a much more widespread VM than Erlang's BEAM.

Twisted Orchestration Language in Launchpad - and someone has ported the Orc combinators to Python, using Twisted. However, I personally find Twisted rather disgusting to program, but to each their own ...

Fat Cat Software - iPhoto Library Manager - since I was stupid enough to create a photo book on a different Mac than usual (well, the usual one was always busy), I guess I have to check this out to see if I can merge my books onto a single machine. It's a shame that Apple doesn't offer any merge function in iPhoto. With a notebook and a desktop, you quickly end up with separate libraries. If Lightroom supported book printing, I would have left iPhoto long ago. It's all a bit unsatisfactory.

Interactive Fabrication » Beautiful Modeler - wow, that is exceptionally cool.

The V4Z80P – A Z80 Based Laptop @ Retroleum - someone not only builds their own computer with their own system, but it's also a laptop. Or something similar, at least.

Tornado Web Server Documentation - I should really take a closer look at Tornado. I just built a web service for a side project using web.py, which was surprisingly simple (and dirty). Tornado is based on a very similar concept, throws in Django-like templates, and also offers a good asynchronous server and support for asynchronous sockets and HTTP requests. Could be a good alternative for web services that require few resources.

Oracle cooks up free and premium JVMs - and Oracle begins to try to cash in on Java. If it works, Java could soon be in a similar situation to .NET: the free implementations lag behind the scope of the commercial ones. What this means for alternative languages on the JVM remains to be seen - but it will certainly cause some problems. However, the JVM world is large enough and equipped with sufficient alternatives, and Oracle is not Microsoft. Therefore, this could all just be a storm in a teacup and at most affect the typical Oracle victims.

Kunsthalle Bielefeld: Westphalian Expressionism - I think I actually have a reason to go to Bielefeld.

Mediathek for Mac OS X - I should check that out. After all, archiving is now the viewers' responsibility thanks to stupid private broadcasters (and politicians who have made themselves their errand boys).

Panasonic DMC-GF2 Preview: 1. Introduction: Digital Photography Review - I hate you, Panasonic. Now I want the cute little GF2+14mm Kit. Damn it. First Apple with the MacBook Air and now Panasonic, everyone just wants my money.

Eventlet Networking Library - I need to take a closer look at this, the monkey-patching of standard libraries to trivially use them in an asynchronous environment looks very interesting.

Links

rfc1437 | Content-type: matter-transport/sentient-life-form - Strong trends towards "throw away with archive and start from scratch" with slight options for "throw away, static archive and maybe shovel a part into the new platform if I find the time". The link shows where I'm currently playing around. Wordpress with a few small plugins and an nginx caching front.

Bitrot

I've been hit by this as well. My old blog software probably won't be able to survive unchanged. Old Python version (2.3), old (very old) Django (0.91), old PsycoPG driver (1.0), old PostgreSQL (7.4) and all of this on an old Debian (a wild mix of various versions with backports and custom programs and several failed upgrade attempts). Argh.

Well, I'm still torn between "rewrite" and "throw away". The latter has the charm that I won't have to carry all that junk around anymore. And honestly, nothing particularly interesting ever happened on my blog anyway. Maybe I can set up a wget mirror beforehand and dump the whole thing somewhere statically, as an archive.

Rewriting naturally has a lot of charm as well, but converting thousands of old entries (over 4000 articles and over 4000 links, plus almost 200 images) from 8 years (first entry on 3.11.2002) of blogging doesn't sound like fun. And presumably, thousands of the links are outdated and obsolete anyway.

No idea what I'll do, maybe I'll try to bring the Metaeule to the new box first, where I only have the problem that PHP4 is no longer in the Ubuntu repository for 10.04 and I therefore have to force the owl onto PHP5 (and that with code based on Wordpress 1.5 - I must really be crazy).

Or I try to install an ancient Debian with the packages used at the time - the box doesn't run in the front anyway, but behind other machines, so the hacking risk is rather low at this point. The Metaeule naturally also has a few thousand posts in the archive (only 8291, which is almost nothing), but if I can keep the old software running (some security patches have been applied over time, so it can actually continue to tinker along), I don't necessarily have to tackle it.

Somehow, the internet was also such a really bad idea ...

Twisted Orchestration Language in Launchpad - and someone has ported the Orc combinators to Python, using Twisted. However, I personally find Twisted rather disgusting to program, but if you like ...

Kilim - stumbled upon this while browsing the Orc documentation, a microthread library for Java.

Orc Language - haven't read anything about it yet, but it looks quite interesting. The core is Cor, a functional language without side effects, and Orc, which is built on top of it, is used for orchestrating services in distributed systems. The whole thing in a quite appealing, compact syntax on the JVM. One could certainly take a look at it as an alternative to Scala and Clojure, Java is integrated as an external service, which makes it quite easy to build distributed systems in which parts are implemented in Java. It reminds me in many points strongly of the ideas of Erlang (generally assume a distributed system, but still keep parts local for performance reasons), but I find the syntax much more pleasant. And with the JVM a much more widespread VM than Erlang's BEAM.

Interactive Fabrication » Beautiful Modeler - wow, that's incredibly cool.

Tornado Web Server Documentation - I really need to take a closer look at Tornado. For a side project, I've built a web service with web.py, which was shockingly simple (and dirty). Tornado is based on a very similar concept, throws Django-like templates into the mix and offers a good asynchronous server and support for asynchronous sockets and http requests right away. Could be a good alternative for web services that need few resources.

Fat Cat Software - iPhoto Library Manager - since I was stupid enough to make a photobook on a different Mac than usual (well, the usual one was always occupied), I'll probably have to take a look at this to see if I can merge my books onto a single machine. It's quite annoying that Apple doesn't offer any merge function in iPhoto. With a notebook and a desktop, you quickly end up with separate libraries. If Lightroom supported book printing, I would have been gone from iPhoto a long time ago. Everything is somehow not quite satisfying.

The V4Z80P – A Z80 Based Laptop @ Retroleum - here someone not only builds his own computer with his own system, it's also a laptop. Or something similar anyway.

Oracle cooks up free and premium JVMs - and Oracle begins to try to cash in on Java. If it works, Java could soon be in a similar situation as .NET: the free implementations lag behind the scope of the commercial ones. What this means for alternative languages on the JVM remains to be seen - but it will certainly cause some problems. However, the JVM world is large enough and equipped with enough alternatives, and Oracle is not Microsoft. Therefore, this could all just be a storm in a teacup and only affect the typical Oracle victims.

Kunsthalle Bielefeld: Der Westfälische Expressionismus - I think I actually have a reason to drive to Bielefeld.

Mediathek fĂĽr Mac OS X - I need to check this out. After all, archiving is now the viewers' job thanks to stupid private broadcasters (and politicians who have made themselves their errand boys).

Panasonic DMC-GF2 Preview: 1. Introduction: Digital Photography Review - I hate you, Panasonic. Now I want the cute little GF2+14mm kit. Menno. First Apple with the MacBook Air and now Panasonic, everyone just wants my money.

Eventlet Networking Library - I need to take a closer look at this, the monkey-patching of standard libraries to make them trivial to use in an asynchronous environment looks very interesting.

Immateriblog.de - Matthias Spielkamp ĂĽber ImmaterialgĂĽter in der digitalen Welt - and against the nonsensical Verdi paper on copyright and the net. Because at Verdi, there are once again blockheads who are mentally stuck in the last century. And that a union adopts the argumentation of company bosses, whose only business model seems to be moral blackmail, is absolutely embarrassing in my opinion.

don’t look » columnManager - interesting jQuery plugin that enables efficient column show/hide for tables. If this could be combined with the DataTable plugin, it would be a very practical thing.

John Resig - Simple JavaScript Inheritance - a very nice pattern to simulate class-based inheritance with JavaScript (for the situations where this structure makes more sense than the normal prototype system of JavaScript).

jQuery column cell selector - bramstein.com - another jQuery plugin, this one provides a practical pseudo-selector for columns in a table to then make changes with JavaScript.

Inform 7 - meanwhile, Inform has become a language similar to English for creating interactive fiction. And it has received a GUI for the Mac with which you can analyze and test the various story paths. Somehow impressive what has all emerged, just for text adventures.

Magic Launch - interesting little tool with which you can configure the application that comes up for a file when you double-click. Especially interesting if you want to open some files in different directories with different editors (e.g. because one project works with Netbeans and the Netbeans Python plugin, another one normally with TextWrangler and a third one with VIM for Unix compatibility). Or if you simply have a file extension that is used by different programs.

Coffee on the Keyboard » Bleach, HTML sanitizer and auto-linker - Library from Mozilla that offers white-list based HTML cleaning. The Mozilla people usually know what they are doing, so this library might actually be useful.

robhudson's django-debug-toolbar at master - GitHub - ok, this tool is officially hugo-approved. Simply brilliant, it provides exactly the right amount of information for Django development and doesn't interfere with existing layouts (at least it worked well for me in experiments).

Oxymoron CSS Framework - I can really understand Zed. CSS drives me crazy occasionally too.

postgres 9 streaming replication and django balancer - Santana may not yet run with Django 1.2, but the balancer for database access combined with PostgreSQL replication sounds like a nice method to scale up Django systems when normal means with one database are no longer sufficient. Maybe I should set up a test installation.

Fuzzy Mathematics with FuzzPy (Part 1) | Mad Python - if it's not just about fuzzy numbers or error propagation, but also fuzzy sets or graphs are of interest, this module might help.

buckingham - Project Hosting on Google Code - an interesting project that not only tracks error propagation in calculations (which we've already discussed recently), but also takes units into account and can convert between units.

Building iPhone Apps with HTML, CSS, and JavaScript - had I already had that? Doesn't matter. jqTouch for creating iPhone web applications. Since I'm playing around with that at work right now, I'll just blog about it.

PhoneGap - if the site is up, there should be an application to convert a web application into a native application (with extended access to native features of the iPhone or other devices). Note for later.

HyperGrid 1.5, OpenSim, & 3D Web | HyperGrid Teleport Network - interesting inworld tool for hypergrid networking with a suitable Stargate look. Already quite interesting what is already connected there.

jacksonh's manos at master - GitHub - Web framework for C# that also runs with Mono. Yes, I know, C# - but I need it for the company anyway and then I could just as well take a look at something like this.

kramdown - a nice Markdown implementation for Ruby that can produce both HTML and PDF (via LaTeX) and is therefore interesting for sites that want to make content available for download.

RubyFrontier Documentation - Since MacRuby is now really extremely interesting, I want to take a look at Ruby again and one way to do that would be to play with the RubyFrontier tool. I already have a TextMate license and why not play around with a website project as static HTML files again. JavaScript and jQuery and a small web service server in the background can certainly bring in the interactive elements better than always pulling all the data from the database. And since I want to build a new machine anyway to replace the old one, this might be just the right time.

Andrew de Quincey's livejournal - not only are iPads interesting to jailbreak, but also book readers like the Kindle (which has quite interesting hardware)

briss - a very interesting tool that can crop PDFs to remove unnecessary page margins, for example, to make the text larger on eBook readers. Especially with book readers, these white margins are absolutely irrelevant and the text enlargement does not always match the margin width, which often leads to annoying page turning.

Camelot - See it - quite obvious: take Python and an ORM (here SQLAlchemy) and make a 4G language for database programming with QT as a graphical interface. The whole thing here as a GPL project for which you can also get commercial licenses if you want to create commercial programs with it.

Downloads for diva's d2 - GitHub - pre-made OpenSim packages with HyperGrid extension. I should use this to set up my own small grid for testing and see if people can jump in, because if all this works, it would be an important step towards solving Second Life.

uncertainties Python package v1.7.0 documentation - a very interesting Python module that allows you to use floats with uncertainties in functions. Particularly interesting for situations where you need to track error propagation in calculations (e.g. planning figures or measurement data).

LookingGlass - an alternative viewer for Second Life and compatible systems (OpenSim), which is completely written in C# and can be integrated into Radegast (although older versions of both tools, but the source is available).

Radegast Metaverse Client · Lightweight client for connecting to Second Life and OpenSim based virtual worlds - alternative client for Second Life and compatible systems that is purely text-based and programmed in C#. Also interesting for OpenSim (and I want to play around with OpenSim again someday, so with OpenSim).

santhoshtr's pypdflib at master - GitHub - I might need this, especially since there is a sample that renders restricted HTML to PDF.

There is no Plan B: why the IPv4-to-IPv6 transition will be ugly - a bit negative and end-of-the-world-is-near the article, but it lists a number of problems that we will face during the IPv6 transition. It's not a trivial task, the switch from IPv4 to IPv6. But it is necessary anyway, there is no viable alternative.

Filtering Dropdown Lists in the Django Admin — Stereoplex - because it is often needed and because some good ways are described here.

arskom's soaplib at 1_0 - GitHub - and another SOAP library. This one can provide the services as WSGI applications, so I can actually throw away the whole server handling from the Toolserver and replace it with normal WSGI servers like Apache mod_wsgi or FLUP.

pysimplesoap - Project Hosting on Google Code - as I still have a work project open to modernize my toolserver, this could be a candidate to replace the rather outdated (and buggy for years) SOAPpy.

Using the ElementTree Module to Generate SOAP Messages - and another SOAP library, this one is based on the nice ElementTree parser. And it's built by effbot, which also gives a lot of hope (he can XML).

dcramer's django-sentry at master - GitHub - unfortunately only Django 1.2 (my own internal framework that is based on Django is unfortunately not compatible with 1.2 at the moment), but very interesting for collecting error messages from Django in the database for later evaluation. Of course, you can also have the errors sent to you by mail, which is already possible with built-in tools, but especially when several people are maintaining a system, storing them in the database can be much more convenient.

Where I've already been - simply because I wanted to play around with the Google Maps API. I've already been to the green areas, I've also been to the red areas and I found that great, yellow is planned.

gcv's appengine-magic at master - GitHub - is intended to enable interactive development of Google AppEngine tools.

jduey's arrows at master - GitHub - I should take a closer look, Lisp (and thus Clojure) is usually much closer to me as a programming language than Haskell and maybe I will finally understand what these Arrows are all about.

ninjudd's cake at master - GitHub - should I take a look at this? Especially the persistent JVM when using scripts could be interesting.