Yeti programming language - I should take a look at that, an ML for the JVM. Scala offers many of these features as well and certainly has much more momentum at the moment. But I've always found ML quite interesting because the language is quite compact - and with JVM integration, you get all the Java libraries to play with so to speak for free. Although Yeti is really only an ML-style language, not really ML (significant differences in syntax).
Archive 12.11.2009 - 13.12.2009
Either Mark Zuckerberg got a whole lot less private or Facebook’s CEO doesn’t understand the company’s new privacy settings. - well, that's a surprise. (in my case, things are open because my Facebook profile serves only as a super aggregator, collecting almost exclusively public content, so stricter security settings don't make much sense there)
JavaScript web workers: use visitors to your website to do background data processing for you. : programming - crazy idea: set up JavaScript workers for distributed computing on websites. Every visitor participates in the calculation of some data. Of course, unless they use something like NoScript or PithHelmet and filter out the stuff.
The Tumblr Backup app is ready for its first beta... - for those who use Tumblr and have a Mac, there's now a backup tool. I might check it out for my small image Tumblr.
Fingerprint Readers on Linux Laptops and Notebooks - because my company notebook has one. And surprisingly: it works! The new Fujitsu S-Series boxes are very Linux-friendly.
Climate Conference: No Extra 0.5 Degrees for Tuvalu - the arrogance of the economic states towards the downfall (literally - they are drowning) of Tuvalu is revolting.
Government smartphones run on Windows Mobile - because, as is well known, it is so super secure and there are no backdoors in the system. After all, the entire system can be easily subjected to an audit. Ooops. Oh, and particularly cute is the decision for HTC Windows Mobile smartphones, after HTC itself announced that in the future, the new devices will primarily be released with Droid (which could realistically be subjected to an audit). Then HTC can sell its remaining inventory to the government at a high price.
Zarengold Bahnreisen - since I was looking for it again, I'll just blog about it now. Someday, when I have the money for it, and I'm not doing other crazy things like spontaneous trips to Russia or taking Russian language courses, I'll do the tour. On that train.
taskpaper-web - and another web version of TaskPaper, this one quite old and according to the project dormant, but might serve me as a starting point (or TaskPaper+).
taskpaperplus - I am a TaskPaper fan, but I don't have it on Linux or on the iPhone. So I searched and found this: a project that makes TaskPaper files editable via PHP over the web. It looks quite good, I need to play with it a bit.
TodoPaper - and for those who need TaskPaper on Windows, help is provided here. Another option would be to simply use Dropbox to transfer the files to my Windows machine at work (or run it under Wine on Linux).
We call it OPA - sounds very interesting based on the description, a development environment for web services and web applications based on OCaml with a focus on all the necessary basics such as XSS protection, SQL injection protection and similar.
Cadmium - Introduction - matching Cafesterol here is the OCAML Runtime in pure Java. With this, you can execute OCAML bytecode or use it as a runtime for programs compiled with Cafesterol.
Cafesterol - cool, an extension of the OCAML compiler that generates Java bytecode. With this, you can use OCaml not only to serve your own virtual machine and of course generate native code, but also go directly into the Java world.
PLT Scheme Blog: Futures: Fine Grained Parallelism in PLT - the best Scheme on the market now also gets microthreads. Still quite fresh at the moment, but this will certainly make it into the standard range in the long run.
Short Chat Server in Clojure - interesting small example of Clojure code. Shows well the use of asynchronous processes and network access. And with 75 lines nicely clear.
clutchski's fileutils - makes Python even better for shell scripts by providing various basic commands as Python functions. Nice.
Escher in Hagen - ok, besides the Monet exhibition in Wuppertal and Toulouse-Lautrec in Langenfeld, the third art exhibition I should add to my list.
Played Tabblo once

I took these pictures in the Clemens Church in Münster to show the Church of Juliana. And during my search on the internet, I realized that there are hardly any really nice programs for freely arranging pictures on a page - Tabblo was the most convenient. Somehow strange, it seems that almost everything is focused on presenting pictures in some form of slideshow - in this case, however, I want to create a "loose panorama", i.e. arrange the pictures approximately as they correspond to the actual room. If anyone knows a good software for the Mac that can create such type of websites locally, I would be grateful for tips (possibly it works somehow with iPhoto or iWeb, but maybe there is also something more streamlined).
Basically, I like the idea of Tabblo to make pictures freely arrangeable and to shape them with text (optional) into small picture stories. Something like this as a locally hosted project might also be quite interesting, because somehow the pure slideshow is often quite boring.
Why Object-Oriented Languages Need Tail Calls – projectfortress Community - good post about tail-call-optimization. By Guy L. Steele - he should know what he's talking about, he was heavily involved in Scheme (the first language to explicitly mention tail recursion in its language description). Other languages he was directly involved with were Common Lisp, Java, and now Fortress. I hope this post will be read and understood by Guido van Rossum so that Python finally learns tail call optimization (yes, I know all the counterarguments and sorry, I don't find them particularly convincing).
Google Maps Distance Calculator - no idea why Google Maps can't do this out of the box, but hey, the service is really practical if you want to know how far Ekaterinburg is from Münster, for example (it's just under 3400 kilometers, that's almost nothing!)
La Bamba
We had a great time in St. Petersburg listening to the two of them, so here's one of their songs. And at the same time, this was my premiere using the GF1 to record a video - and don't complain about the shakiness, I didn't have a tripod with me and I was more focused on the sound anyway. But making HD videos with a camera, that's something else ...
MCLIDE - Lisp IDE for Macintosh - an interesting project that reimplements the tools from Macintosh Common Lisp as standalone tools and then connects them to various Lisp implementations via Slime/Swank. Definitely more pleasant for Mac users than using Emacs, for example.
Sonar - maybe I should check this out for the company to see if it can analyze our Python codebase. (It doesn't work out of the box, so you would need to find or write a plugin for it)
Building Clojure Projects with Leiningen - simply explains Leiningen. I like it very much, especially because it uses the entire Java world, but feels significantly simpler. No XML orgies and clean standalone-JAR generation.
Amp | Version Control Revolution - Mercurial in Ruby, with a strong focus on extensibility via a Ruby DSL. If I think about how often I use a VCS as a basis for all sorts of things (e.g. automatic deployment of blog postings in one of my blogs), this could actually be pretty cool.
formsets and inline forms in Django - a similar problem came up at the company recently, so here's a blog post that might be the solution.
Implementing a DHT in Go, part 1 - for those who want to see more Go code, here is a rather interesting example: a distributed hash table (i.e. key/value pairs distributed across many nodes). The first part deals with the buckets and the routing table, the next part will then add the network protocol.
Understanding Haskell Monads - of all the tutorials I have seen on this topic so far, the most understandable for me.
AvahiAndUnicastDotLocal – Avahi - because I've been looking for this forever. How to connect ZeroConf (Bonjour) and e.g. a Microsoft-Domain-thing under .local.
gopenvpn - because network-manager-openvpn under Ubuntu Karmic Koala is a complete mess. gopenvpn is like Tunnelblick on the Mac - and it just works.
uWSGI - could be interesting for the Django projects at the company, sounds quite good from the description.
Clojars - the beginning of a repository for Clojure libraries à la Ruby gems or PyPi or CPAN.
Incanter: Statistical Computing and Graphics Environment for Clojure - something like R (statistics package) for Clojure. Could help me to make some practical doodles with Clojure.
technomancy's leiningen - interesting small build system for Clojure that simply writes its metadata in Clojure and thus comes across much more compact than monsters like Ant or Maven. If you use something like Netbeans, of course the build is already regulated in the IDE, but with this system you can also build small standalone projects without a large Java IDE. And it integrates well with Clojars.
2060, one in three will be 65 or older - I don't really believe in predictions with a 50-year timeframe. Look back 50 years and consider whether any statistician could have made even minimally relevant statements about our current time based on the situation back then. 50-year forecasts are merely trend extrapolations that can serve at best as statistical self-satisfaction.
Hudson CI - since I am increasingly dealing with JVM languages, something like this would be quite interesting. A Continuous Integration platform in and for Java (and also usable for other purposes). Interesting, especially the easy installation - just a .war file that you start or throw into a container and then configure via the web interface. Continuous Integration greatly helps with deployment, especially when you build your projects cleanly with unit tests. Manual execution of the test suite is then largely eliminated, as the CI server takes over and can, for example, automatically deploy cleanly running builds as beta or provide working snapshots (in the sense of the test cases working) as downloads.
PyGoWave Server - I don't know if I already had this, but I just searched for it again on this occasion: an implementation of the Google Wave idea in Python. And the funny thing: the website underneath is built with Django!
Python moratorium and the future of 2.x [LWN.net] - a good summary of the current discussions around Python releases, specifically the discussion of whether 2.6 is the last 2.x Python, or whether the already existing 2.7 will still be released, whether there will be a 2.8 or more after that, or whether the switch to 3.x should be forced.
Steinbach accused Westerwelle of self-promotion - well, maybe it's true that Westerwelle wants to profile himself (certainly it is so, he is after all a very new Foreign Minister and has to get a profile that says more than "can't speak English"). But in this case, he is simply right. Because a Mrs. Steinbach, who has spoken out against the recognition of the Polish state territory, would be completely the wrong signal as a figurehead of a displaced persons center. Someone so outdated is completely out of place there. We are not talking about a vote in the 50s or something, where the mood was even more heated - we are talking about a vote in 1991 ...
Distributed Wikipedias instead of a central monster with deletion fanatics - interesting proposal. A decentralized Wikipedia based on a distributed version system like Git. Exactly the direction in which my thoughts for my blog have been going lately. I tried something similar in my Second Life-oriented blog and found it very pleasant - I created blog posts on one of my computers and then simply pushed them as raw Markdown files via Mercurial (which I prefer over Git in terms of handling) to the server, where everything was then processed by a blog engine and static HTML was generated. Clean traceability of changes, clean conflict handling, proper backup of old versions - and the transfer via Mercurial (git is comparable) is also quite fast, as only differences are sent. At the moment, I'm still pondering how to efficiently apply something like this to a blog monster with several thousand entries. And how something like this can be used in the company, for example, instead of wikis, as these do not necessarily represent the optimal situation there.
in which things are mapped, but also reduced - a really nice example of Agents in Clojure using a log analyzer. Calculations are distributed across parallel processes, a central process reads and distributes, and at the end everything is merged. So classic map/reduce technique. It would have been nice if the reading had also been parallelized, because on flat systems with many spindles, parallel reading can indeed be faster than sequential reading (especially with gigantic file sizes as postulated by Tim Bray in the original problem). But still, it's nice to see a compact, meaningful example of map/reduce in Clojure. I like the language more and more.
Fefe's Criticism of SPDY - I'm not exactly a die-hard Fefe fan, but his criticism of Google's new protocol is, in my opinion, quite valid. My opinion on SPDY is also rather negative - the points of criticism that Google has with HTTP could be easily resolved within HTTP. Multi-Request? We already have keep-alive to minimize connection setups, expanding this to multi-request where you send multiple requests at once and then immediately get all the data would not be an unsolvable problem. SSL has been available for HTTP for a long time. Compressed headers? Sorry, but the headers really don't make up the large part of the data, compressing them doesn't really bring anything.
More Freedom Necessary as Top Developers Abandon iPhone - if Apple doesn't get this under control soon, it could have a pretty negative impact. Because if die-hard Apple shops like Rogue Amoeba are already showing Apple the red card, others will follow in the long run. And if only silly flashlights are left burning in the App Store, Apple might realize that their approach was rarely stupid. But then it will be too late ... (just look at how Palm more or less led the Palm Pre platform ad absurdum through all the fuss around their variant of the App Store).
nothing new - someone compares Go (Google's new system language) with Algol 68 - and the old lady Algol 68 comes out quite well.
Why Common Lisp will never really become mainstream - the linked source is only used to use a binary-ascii decoding/encoding library in various Common Lisps via an automatically decoding and encoding stream. What's inside? Mountains of #+ markers with various Common Lisp implementations. That's not portability, that's just a mess.
Play framework - a rather interesting framework for Java in the style of Django or Rails. In the dev version 1.1, it also supports Scala for the view functions, which is quite interesting, because no matter how nice the framework is, I won't subject myself to raw Java.
Google Closure: How not to write JavaScript - sounds like the great library at Google was written by the intern ...

