Content-type: matter-transport/sentient-life-form

Akka Project. And I definitely had that on the old blog before, but never mind, everything is repeated on TV all the time. And a lot has happened with Akka lately, and it is increasingly establishing itself as the future platform for fault-tolerant systems on the JVM. Many parallels with Erlang's ideas, but with the broader JVM-typical platform (there is hardly anything for which there is not some Java class library and thus also for Scala). Very interesting: Akka brings an implementation of Software Transactional Memory for the Java platform.

Programming Scala. I think I already had this one, but never mind: the second online freely available book about Scala that I stumbled upon today. You can also read it alongside the other one, but it's at a similar language level (i.e., before 2.8).

ScalaQuery. Yes, Scala-Day today. One of the things I was missing so far was a good integration of databases that also makes use of the DSL features and type safety of Scala. So not just sending SQL around via JDBC, but something like LINQ, only for Scala. This looks quite nice.

Programming in Scala, First Edition. And since I have Scala on my mind: the first edition of Programming in Scala is now freely available on the web. Of course, it lacks some things that came with the current Scala version (especially the container libraries are indeed different in 2.8), but it is still certainly a good starting point to read into the language.

Scala IDE for Eclipse. Hmm, it seems that the tools are starting to develop there. I don't have anything against command lines in general and feel more at home on them than in IDEs, but for the general acceptance of languages, IDEs are quite practical. And Scala is still one of the more interesting languages in the JVM environment, even if it has become quite quiet about it in recent times.

Why do I do what I do

If only I knew ... (Existentialism in the evening is best cured with Guinness. Dosage as needed.)

Men's Toys

And I don't even like driving a car ... (yes, yes, MĂĽnster, the Sylt of Westphalia)

USB Port

Uli Stemmler Band at the harbor. Do you see what I did? Haha. Ok, I'm already quiet. But the band makes nice Sunday afternoon jazz. Photo with the Sony NEX-3 and the Zeiss C-Biogon 2.8/35.

agronholm / jython-swingutils. No idea what I could do with it yet, but if the Java world ever becomes interesting, this could become an interesting GUI library (Swing for Jython).

Code rant: Message Queue Shootout!. Not a real shootout and only an incomplete selection of message queues. But still something interesting as a result: if you have nodes that already have their own persistence and transaction solutions, between which you just want to send messages as quickly as possible - there is nothing better than ZeroMQ. It is - due to its architecture - simply the fastest solution. And we are talking about really drastic differences.

NOSQL Databases. Excellent overview of all available NoSQL databases. Good starting point if you want to inform yourself about the available systems and their orientation and implementation.

BBC News - Net giants challenge French data law. Great idea from France, mandatory storage of plaintext passwords, so they can be handed over to any random authority. The Federal Interior Friedrich will probably like that, as he is so keen on all data ... (Discussions on reddit claim that bbc misrepresented the situation, it's only about storing account data even after closing the account for one year - if a service does not do this, it will be held liable for activities of non-identifiable users afterwards - so not quite what you could read in the BBC article)

Why the VISA warning file is a mess at Metronaut.de – Big Berlin Bullshit Blog. The VISA warning file affects me directly and personally. My fiancée is Russian, her family still lives in Russia, and we will continue to make and want to make visits. I can already say goodbye to any illusion of data protection for myself and Juliana. Of course, a state has the right to protect itself from abuse, but general suspicion solely based on the use of legal possibilities is always wrong. And the VISA warning file is nothing more than the general suspicion of citizens simply because they appear once in the context of a visa application. This has nothing to do with the rule of law anymore.

visionmedia/asset. After having pip (for Python modules) and jip (for Java libraries), here is an analogous tool for JavaScript libraries. So for the automatic installation of JavaScript libraries in node.js project directories from the command line.

jRumble | A jQuery Plugin That Rumbles Elements. The new blink tag! (okay, there are indeed sensible applications, e.g., if you want to briefly display an element on the webpage to indicate that something has happened there - similar to bouncing icons in the OSX Dock).

Python Package Index : pip 1.0. For the sake of completeness, I'm blogging this even though pip is already a fixed part of the Python infrastructure for me. But maybe one or the other has not yet played around with pip, then now is probably the right time to do so. In my opinion, you should always use it together with virtualenv, because then you can easily install exactly the right dependencies for each project and keep them separate from other projects.

sunng87/jip. I'm not currently doing much with Jython, but jip sounds very practical: it's an analog to pip, but for Java libraries. So a simple command-line tool that downloads the necessary jar files and puts them in the right place. Integrated with virtualenv. Much more pleasant for me than, for example, dealing with Maven or similar Java-usual infrastructure tools.

Exploring Beautiful Languages: A quick look at APL. Simply because APL has always fascinated me. Even if I never want to be in the position, based on my own experiences with it, to have to maintain an APL program - for me, APL is the quintessential example of write-only languages.

How I learned to stop worrying and write my own ORM. A bit of background information on why Dapper was developed and which use cases it solves - it is essentially used where direct SQL access was previously "tunneled" over Linq for performance reasons, because Linq2Sql is inefficient there.

Dapper-dot-net - Simple SQL object mapper for SQL Server. Could potentially be quite interesting at work. C# also offers Linq, but according to their measurements, Dapper seems to be significantly optimized for performance.

philikon / python-weave client is even more interesting than the other tool: a Python library for accessing Mozilla Sync. With this, I could build various small tools that automatically mix links into bookmarks or extract them from the sync and move them into other bookmark files. Or how about a cron job that takes links from bookmarks in a special group and automatically posts them to the weblog? All sorts of fun things are possible ...

philikon / weaveclient-chromium. Not yet tried, it is a Chrome extension that integrates Mozilla Sync into Chrome and Chromium. With this, you could finally exchange bookmarks between Chrome and Firefox without having to go through XMarks. If someone now also builds this extension for Safari, I would be happy - the fact that I cannot properly sync between browsers, but each one cooks its own soup, is highly annoying. Mozilla Sync is free to use and behind it is a company that I trust much more in this area than all the others.

Bill Gates: “In toilets, we’re the kings”. As the head of Microsoft, I found him annoying. As the organizer of his Foundation, I find him amazing. I'm not fooling myself - he is an exception, other billionaires are probably far less motivated, but never mind. One is a start. And maybe it's just the nerd in him who wants to do something with all that money, simply because he wasn't just there for the money and the power. And that might also explain some of his time at Microsoft - he really believed in his work there. Well, if his foundation continues to save lives, then I'll forgive him Windows. I don't have to use it.

Video LightBox - embed videos with Lightbox effect on your website!. I don't do anything with video, but it looks quite interesting - it's a standalone tool that generates the files for video embedding and can send them somewhere via FTP, for example. Mac and Windows versions.

Pipe is a module with infix syntax for chained function calls over potentially lazy streams (internally these are generators). Unlike stream (which I mentioned here before), it does not support parallelism, so it's just syntactic sugar. However, I prefer the sugar from stream (i.e., the syntax) and the parallelism of stream is also more interesting than just providing a slightly different syntax.

Crumb Cake

Today, I didn't cook again because I was in Hamburg yesterday, but I did bake a cake. I like crumble cake, among other things because it is so easy to make. Here's what goes in (for a 26cm springform):

  • 300g flour
  • 200g sugar
  • 150g butter
  • 1 egg
  • 1 pack vanilla sugar
  • 1/2 pack baking powder
  • some cinnamon
  • 250g apricots (so small can)
  • some cranberry jam (optional)

The preparation is then quite simple:

  1. Mix flour, sugar, vanilla sugar, baking powder, cinnamon - all together.
  2. Drain the fruit (the juice with tonic water and ice cubes makes a delicious non-alcoholic cocktail)
  3. Preheat oven to 180C
  4. heat the butter
  5. beat the egg
  6. mix butter and egg into the flour+sugar mixture
  7. knead with a mixer and dough hook until crumbly dough is formed (can also be done with a fork and by hand, but with a mixer it is more comfortable)
  8. distribute 2/3 of the dough in the greased springform and press it onto the bottom, possibly also make a small edge
  9. poke a few times with a fork into the bottom
  10. spread cranberry jam on the bottom of the dough
  11. distribute apricots on top
  12. distribute the remaining crumble dough evenly on top
  13. bake the whole thing in the oven at 180C for 45 minutes
  14. take out and let cool (don't be so greedy, even if it smells good)

You can put cream on it, or just eat it as is or sprinkle powdered sugar on top (though it already makes a pretty sweet cake, so don't overdo it). Tip: don't leave the edge area too thick, otherwise it will be a rather hard part that is difficult to cut later. And of course, you can almost freely vary the fruit, apple puree instead of fruit works great, as do cherries or plum puree (but it will probably be quite firm). The nice thing about it is that you can have almost everything on hand in stock and the eggs you can maybe get from the neighbor (I just didn't expect to want to bake when I went shopping quickly on Saturday).

Miscellany from Hamburg

Was in Hamburg on Saturday again - why not enjoy the beautiful weather in one of the most beautiful cities in Germany. The pictures are all taken with the Leica M8 and the Elmar-M 2.8/50, except the last one, which is taken with the Ricoh GRD II. Nothing special, just a collection of what I looked at. And in color, because I want to show it to Juliana.

Pängelanton

The Karnevalsverein Pängelanton operates a small railway museum in Münster Gremmendorf and in front of it stands this black-and-red beauty built in 1902. I am a railway enthusiast and this little locomotive is indeed a rarity that also motivates visitors from farther regions to visit. Photo taken with the Ricoh GRD II.

markrendle/Simple.Data - GitHub. I should check this out, it looks quite interesting - an ORM for .NET.

Send in MĂĽnster again

In MĂĽnster, it's Send again. This time for a whole week because of the large rides - the Ferris wheel and the roller coaster are already quite impressive. One doesn't quite realize how big the Send actually is, only when you see the large rides during setup and then later at the finished Send, the whole surrounding area makes it clear. The Hindenburgplatz is also considered one of the largest inner-city open spaces in Germany. Photos, by the way, again with the M8.

Tuckesburg and the old zoo

The Tuckesburg is the old residence of the executioner in MĂĽnster - and later the retirement home of Prof. Landois, the founder of the MĂĽnster Zoo and the developer of the Aa Lake. I've already had this some time ago, but it's always a nice subject. Photos with the M8 and the Elmarit-M 2.8/50.

Basho: An Introduction to Riak. I should take a closer look at this, it has a quite clean and simple architecture and all nodes in the system are equal (this is similar to Cassandra). The whole thing is written in Erlang here, but interesting is the MapReduce interface: functions can be delivered as JavaScript code and the communication goes over a simple JSON interface.

HBase vs Cassandra: why we moved « Dominic Williams. Not entirely uninteresting blog post that dares to compare Hadoop/HBase with Cassandra and tries to highlight the different focuses. His conclusion: HBase is more for warehousing, Cassandra more for transaction processing. Alone, this would make something like Brix even more interesting if it could really combine these two aspects.

Brisk – Apache Hadoop™ powered by Cassandra | DataStax. I should also keep an eye on this, as someone is marrying Hadoop with Cassandra as a backend. This makes higher-level layers from the Hadoop project also usable with the high performance of Cassandra and, above all, with the freer update of data in Cassandra and its eventually-consistent model.

HIVE: Data Warehousing & Analytics on Hadoop. A point that particularly interests me at the moment: evaluations, especially BI, of large amounts of data. Hadoop provides Hive as a solution for this. Access to HIVE can not only be made via Thrift, but also via JDBC and ODBC.

Apache Thrift. Also worth taking a closer look, in principle something similar to Google Protocol Buffers, but more prevalent in the Apache environment. Therefore, in areas like Hadoop, it is often chosen as the path of choice for accessing services from various languages. A small comparison of the two protocols. I like that Thrift not only allows binary representation but also a JSON-based representation - this makes the integration of Thrift APIs into web solutions easier, as JSON is native to JavaScript.

The Secrets of Building Realtime Big Data Systems. This is how I came across Cascalog and ElephantDB: a talk by the programmer of both projects about Big Data. He is also currently writing a book "Big Data". Could be very interesting.

nathanmarz/elephantdb. Same author as for Cascalog, here he built a distributed Key/Value-Store on Hadoop with Clojure. Also not uncool.

nathanmarz/cascalog - take a closer look, a marriage of Clojure and Hadoop for easier evaluation of large data sets. The interesting thing about Cascalog: it draws ideas from Datalog and forms a query language for Hadoop data sets in Clojure.

JavaScript Quotations - interesting link about a metaprogramming feature for JavaScript. In this case for a very interesting JavaScript implementation: written in F# and for the CLR world, runnable under .NET and Mono.

Microsoft Shuts off HTTPS in Hotmail for Over a Dozen Countries | Electronic Frontier Foundation - a villain who thinks evil about it. Surely pure coincidence that the list of affected countries reads like the "elite" of democratic states. The hypocrisy of large corporations is actually only surpassed by FDP economic ministers.

Enterprise Java Development Tools | SpringSource. I should take a closer look, as it was recently about J2EE and EJB alternatives, and this is one of the more well-known alternatives.

Trinity - Microsoft Research. I should take a closer look at this, it sounds somewhat like distributed Redis (in-memory structures that are persisted) combined with a query semantics that is more based on graph relationships (comparable to RDF Triple Stores).

Programming, Motherfucker. Do you. speak it?

Why Cloud9 Deserves your Attention - browser-based IDE in Javascript on server and client. And source of the current version available on github.

Django-nonrel - NoSQL support for Django. Provides a first approach to integrating various NoSQL databases into Django at the level of the Django ORM. Backends for MongoDB (no thanks), AppEngine and Cassandra are in the works. Cassandra is particularly interesting to me at the moment.

WordPress › Really Static « WordPress Plugins. Well blogged, because it allows you to generate static pages directly from WordPress (this could also be done with WP Super Cache and its directly cached pages, but these are not automatically updated) and perhaps this could be an interesting way in the long run. Okay, I would probably have to forego some elements to make the whole thing work without "artefacts" - but many of them are actually dispensable. For example, a tag cloud would be frozen at the state of the last rendering if it is part of the page. Similarly, information such as "latest comments" or "latest posts". The same goes for calendars, which have more marked days on newer pages than on older ones. This is also the main reason why I have repeatedly abandoned baked sites - on the other hand, are these problem cases really important for a blog?

Vundle 0.7 is out. I usually use Pathogen, but Vundle has some features that make it quite interesting - maybe I should play around with it. On the other hand, I haven't made any updates and changes to my Vim installation for a long time. But since all vim.org scripts are now on GitHub, Vundle's GitHub integration is certainly very interesting.

Stuffed Peppers in a Tomato Bed

Sounds good, doesn't it? Tastes good too. This time, it wasn't terribly complicated to prepare the meal, although you do have to juggle several pots and pans (okay, one pot, one pan). In my case, the pot was a casserole because the peppers were really huge. Here's what I put in:

  • 2 large peppers
  • 250g mixed minced meat
  • 100g feta cheese
  • a handful of olives (black, natural, pitted)
  • 6 tomatoes
  • tomato paste
  • half a bunch of basil
  • 1 onion
  • 1 1/2 cloves of garlic

The preparation is quite simple; you should have a large pot or casserole ready, in which you can comfortably place the peppers. Otherwise, it went like this:

  1. Chop onions, chop garlic, put both on a plate
  2. Chop olives, put on a plate
  3. Chop tomatoes, put on a plate
  4. Chop basil, put on a plate
  5. Preheat the oven to 200° so it can preheat
  6. Heat the pan with olive oil
  7. Sauté onions and garlic in the pan until translucent
  8. Add the minced meat, fry until crumbly (just like for Bolognese - simply use the pan spatula to break up the clumps)
  9. Once the minced meat is nicely browned and mixed with the onions and garlic, add the olives
  10. Reduce heat and add some of the tomatoes (amount about 1-2 tomatoes), add some tomato paste, mix, cover, let it cook for 5 minutes, season with spices (in my case oregano, thyme, pepper, salt)
  11. Remove the lid, increase heat slightly, add the feta cheese and mix well, let it melt
  12. Once the feta cheese is well mixed with the minced meat, turn off the heat
  13. Cut the tops off two peppers, remove the core, remove the "ribs"
  14. Fill the peppers with the minced meat mixture, cover with the tops (previously also remove the core and stem there, basically only a ring remains)
  15. Distribute the remaining tomatoes and basil in the large pot, place the peppers in it
  16. Tip: if they don't want to stand up, make a tripod for the peppers with meat needles at the bottom, then it holds
  17. Put the whole thing in the preheated oven and let it simmer for 20 minutes
  18. After 20 minutes, take it out and serve on plates, blend the tomatoes and basil with a triple mix

For me, as usual with bread, but pasta or rice go wonderfully with it. This doesn't result in such a pudding-soft pepper, it should still have a bite. And the filling is not the usual concrete block, but rather comparable to a thick Bolognese. For me, there was still a beer with it, simply because the weather outside was shouting "beer" with all the sun today.

Adobe Photoshop Lightroom 3 * Exporting using Publish Services. Well, Adobe has Photoshop.com - and just expanded it. And promotes it as a better alternative to Flickr. How serious Adobe is about this can be seen in the Publish Services in Lightroom 3. Facebook, Flickr, and SmugMug are offered out of the box. Even on the Lightroom Exchange, I found nothing about connecting to Photoshop.com. Well done, Adobe. Very convincing.