Archive 6.7.2011 - 25.7.2011

Social Networks and my use of them

At some point, you realize that you simply have too many places on the web where things happen and where you are somehow represented. For this reason, here is a list of the current networks in which I appear and how I actually use them (or plan to use them - not everything I want to do always works out).

  • my digital home is here in the Blog. Everything possible lands here, links, images, articles, etc. If something is important enough for me to want to say something about it, I put it here - because only here do I actually have full control over my content. Some of my content is also posted to Metaowl - our small privacy aggregator.
  • I also have a small Tumblelog on Tumblr. I actually only use this to post photos or occasionally comments, etc., when I'm on the go. So it is primarily fed by my iPhone.
  • On Twitter is what Dave Winer calls the "Firehose". So if you want to know what I'm doing in general, wherever, you can follow my stream there. Be careful, it's really a lot - because every new service that gives me access to my activities there in any way is hooked up.
  • On Flickr I have a number of photos, and I will certainly also post pictures there from time to time. Simply because sometimes I also want networking for the pictures - usually the same pictures then also end up here in the blog.
  • As a social network, I primarily use Google+ at the moment. Of course, it still has some problems, but the architecture appeals to me much better than in the other networks. And the integration with Picasa of course also leads to the fact that I post pictures there.
  • As social code networks, I currently use Bitbucket and Github. My open source projects land there (although I of course also have copies locally in case these hosts disappear one day). However, I currently mainly use Github to follow projects there, my own projects use Mercurial and therefore end up at Bitbucket.
  • Facebook I actually don't use at all. I send some content (blog posts and, for example, Google+ updates) there, but otherwise I'm just there as a hook and for people who don't want to use my RSS feed but want to follow my content there because they are already there.

So, everyone should know where I hang out and where I appear. And now please no complaining "your Twitter stream is too full" - that's intentional. And also no "check your Facebook" - that only happens sporadically.

flot - Attractive Javascript plotting for jQuery. Again something for the number crunchers, or rather their visualizing colleagues - presenting number deserts in attractive graphs, and all as a jQuery plugin. I definitely need to take a closer look at this, could be interesting for a specific project.

EVIL is King

evil-sony No, this is not the worship of evil, but simply my thoughts on camera technology, which has undergone the greatest changes in recent times and from which the most new systems have emerged - EVIL cameras, i.e. cameras with Electronic Viewfinder and Interchangeable Lenses. Whether it's the Micro-4/3 system from Panasonic or Olympus, or the NEX system from Sony, or one of the other new systems in the category. I am always amazed how much this has changed photography for me - simply through the availability of really compact cameras that I actually have with me.

Until a few years ago, I still had a Canon EOS 10D - a really great device with good image quality and the performance of the usual digital SLRs. Ok, towards the end it was no longer up to date, there were already several new generations (when I sold it, the 50D had just come out), but that didn't matter to me - the image quality left nothing to be desired.

But the size! The camera itself was not exactly small (though not as big a monster as the usual professional devices), but the lenses were really heavy. I only had a few lenses - mainly the 35/1.4L and the 100/2.8 Macro (my autocorrect just wanted to correct that to Macho - considering the weight, perhaps not entirely wrong). Take the camera with both lenses? Uh, no thanks, rather not. And when I had them with me, it was just a camera with quite classic functions. Video, just because you see something funny that you want to capture as a little film? No.

Ok, today many DSLRs also have live view and filming, but they have not become smaller - they are still quite large devices due to the principle. The small EVIL systems, on the other hand, save a lot of space just by the missing mirror box. And this applies not only to the housing - optics can often be built more compact with the same image circle if the distance to the chip plane is smaller. And then the possibility of adaptation! I can adapt almost everything on my NEX-3 that I still have lying around at home in terms of old optics. Very pleasant, because even the optics of my old Contax RTS III were significantly more compact than current DSLR lenses, and if I want to be really compact, I can put the Leica lenses on it.

What has changed for me as a result: I have the reflex "throw the camera in the backpack" much more often than before - the NEX-3 was not expensive, so you don't think much about the transport, in the backpack and good. It doesn't produce much weight with the standard zoom and you have almost everything you need. The image quality itself always surprises me - and in a positive way. I hardly believe that my 10D was really better (on the contrary, the sufficient quality up to 3200 ISO on the NEX makes shots possible that I would not have even thought about before). And the focus-peek on the NEX is better with manual lenses than the focusing aids of old manual SLRs (at least with my eye values).

All in all, the investment in an EVIL system (ok, in my case actually in two systems, since I also have the Panasonic equipment) was a real gain. Even if most of my photo friends would probably wrinkle their noses at the family photos and pure snapshots that I take - hey, I'm getting married soon, I have to get used to family pictures, the time of wild art experiments (which were not really better) is over.

In the end, only one thing is important to me: that photography is fun for me. And that is the case again with the new compact cameras. And what more do you want.

clojurescript demo convex hull. A demo for programming client-side code in Clojure using Clojurescript. Clojurescript compiles Clojure to JavaScript using the Google Closure Compiler and the Closure Library. Looks like a very interesting way to program clients, especially since Clojurescript is supported by Rich Hickey, the inventor and main developer of Clojure, so we can assume that the integration into the Clojure world will be good.

Plots 2011 - Généric Vapeur

The whole show was really a blast of colors and sounds. Quite crazy and loud. The whole show started at Servatii Square and then went through the city center to the cathedral - at the beginning the cars were still white, then they were pulled through the city with a tractor and painted while doing so, then hung on the clothesline to dry. At the end there was still a blessing from one of the artists in a bishop's costume (fits with the cathedral in the background, and in Germany the car is sacred). In any case, it was something quite unusual for MĂĽnster - and had an impressive turnout, the whole action was accompanied by large numbers of visitors. If you want a little acoustic impression, I have put together a small film from a few clips I made.

First Demonstration of Time Cloaking. Time holes. Fascinating - I already have problems imagining what a time hole should be, I mean, undetectable for light, ok, but undetectable for time?

Elements+. Fun - apparently, Photoshop Elements is not really a cut-down version of Photoshop, but in reality only a cut-down GUI for the Photoshop kernel - many functions are still available internally. And with the patch, you should be able to make these functions accessible again.

Elemental - Integrating Photoshop Elements with Lightroom. I should check this out, as the integration of PSE as a simple external editor is quite limited and cumbersome.

ShareMeNot. Firefox extension that filters out the various social buttons, so that the corresponding services cannot see the visited pages (because this data is also transmitted when the buttons are not clicked - for example, the icon is usually hosted by the service provider and they can see the visited pages in the logs via the referrer, provided you are logged in to one of the services, they can also see the user who visited the page via the login cookie).

Pattern Matching In Python. Interesting article for people like me, i.e. for people who like Snobol4 or its "successor" (in quotation marks, because it is then a completely different language) Icon and would like an alternative to regular expressions. Implements a pattern-matching system very similar to the Icon model, complete with backtracking and generators. However, it is from 2004 and is rather a proof-of-concept story, not necessarily a directly usable and installable Python module. Unlike SnoPy, it is pure Python and not a Swig-based wrapper for an Ada Library.

Bash on Balls. For the moments in life where even Visual Basic would be too much - a web framework for Bash scripts. Naturally uses a few Unix tools in addition, especially Netcat for network I/O. And yes, it comes with a complete server and everything, just as one would imagine. Even has Dev-Code-Reload and such things, as well as a template language. And with BoB a nice acronym. (and unlike Cobol on Cogs this is a project that one can actually run and not just a joke)

FAQ - Kotlin - Confluence. The fifty-third Java-killer language for the JVM, which also attacks Scala here (the usual argument "Scala is too complicated", which on first glance is indeed true - Scala has few central basic features, which are then provided with many features for the programmer by the standard library and the good DSL possibility at the surface of the actual language). The question remains what will come of it, but since JetBrains is behind it, it will at least have a good IDE (JetBrains builds IntelliJ and other JVM IDEs, including PyCharm and with AppCode the only current OSX Objective-C alternative to XCode). And hey, anyone who names their language after an island near St. Petersburg already has a head start with me.

Little mourning for electronic wage reporting procedure ELENA. While we're at it with embarrassing - the government's number with Elena is also one of those stupid non-issues that cost a lot of money but ultimately brought nothing and didn't work. And incidentally also violated data protection laws. And was simply idiotic anyway - the data that was supposed to be collected there was really nonsensical for the announced purpose in many areas. But why our government always starts such idiotic projects in the first place, even though the problems are known in advance, someone must explain that to me in a understandable way.

Copiepresse: Google's search engine shows Belgian newspapers again. The internet experts from the large Belgian press outpourings have finally learned to understand the internet (at least the part of "you're out, you're out" that they've gotten themselves into). It's quite embarrassing what they've been up to.

WSGID When your WSGI app becomes a nix daemon. Mongrel2 by Zed Shaw has interested me for quite some time, but the biggest drawback was that there are not many Python frameworks that work directly with Mongrel2. wsgid solves the problem, it is a WSGI server for Mongrel2 and can thus then connect frameworks that can run under WSGI - for example, Mongrel2 can be used as an HTTP server for a distributed Django installation. By using ZeroMQ in Mongrel2, the whole thing is then significantly more flexibly structured than with the classic (FCGI-based) server integrations.

Typekit. I'm still researching web fonts and their simple use in various situations, especially the search for useful fonts. Typekit looks quite interesting in this regard, although their free offer is somewhat limited, the prices for the larger packages are not entirely utopian - at least if their claim of efficient delivery of the fonts via HTTP really stands up to reality. In principle, you rent the fonts for use instead of buying and hosting them yourself. There are a number of plugins for Wordpress, this one from OM4 also seems to be currently maintained.

Elnode - an Emacs version of node.js. Another project from the "because it can be done" category - I don't believe anyone would spontaneously answer "Emacs" to the question "how do I want to run my web services". But well, the operating system with built-in basic text processing functions can also represent an asynchronous web server.

Replication, atomicity and order in distributed systems. A very interesting article about distribution and ordering in distributed systems with parallel execution - because it's not really trivial. Worth reading just for the links to various projects in that area. At the end a bit of a cliffhanger, because it refers to an upcoming article - hopefully it will come, because its topic sounds interesting too.

Kivy: a crossplatform framework for creating NUI applications. Interesting new GUI library for Python, runs on various platforms (and in addition to the three major desktop environments, Android is already included as a mobile one) and can use OpenGL to accelerate output (internally they have a JIT that compiles the basic functions and thus enables fast execution).

Simple, Secure, Scalable Web Development with Opa. The Opa book is, at first glance, a very comprehensive introduction to the Opa language and its motivation. What also excites: the installation under Linux is based only on basic packages, you don't first download half of the internet and install just because you want to use a language. (What is rather not so positive with Opa experiments: very long compile times - even the examples provided in the book, which are not exactly overwhelmingly large, quickly reach quite significant 15-20 seconds ...)

Bulbflow: a New Python Framework for Graph Databases. Even though I keep thinking that graph databases are so 70s, not everything old is automatically bad - IMS is still around and very interesting for some purposes. And this sounds interesting, something like DBAPI for graph databases, so that you can change the database in your projects without having to rewrite everything completely.

The Pragmatic Bookshelf | Core Data. The book sounds quite interesting, Core Data is also fully supported in MacRuby, so it might be interesting to get and read it.

Scripts Tagged fluid - Userscripts.org. Badly linked, as Fluid is a really cool site-specific browser for OSX and, for example, the Google+ Dock Badget is really practical. And with the separate cookie storage of Fluid, you can also keep multiple Google+ profiles open (or other sites that use cookies).

Responsive Applications - Mono. An article about the different ways to build applications with GTK# so that they respond quickly and do not block the user interface, even though GTK# is single-threaded (i.e., the UI can only be accessed by the GTK# thread).

MonoMac and XCode 4

Ouch, that really got me - I wanted to play with the GUI tools, but MonoMac doesn't fully support XCode 4 yet and only has this to say:

Developers that use Interface Builder are recommended to install Xcode 3.2.6 for the time being. MonoTouch News.

The bad part: that's from March. That's way too long without support, so MonoMac is just half a tool (if at all). Running XCode 3 and XCode 4 in parallel is also not an option (both want to be in the same folder). De facto, you're either stuck with XCode 3, or MonoMac is out. Or you build your GUI with GTK# - then XCode doesn't matter (the compiler part of XCode 4 is supported), but then you can forget about the AppStore (and GTK# doesn't really look great). Damn.

Jtalk Smalltalk. No idea why this has slipped past me so far - but a rather complete-looking Smalltalk implementation in JavaScript including an IDE with a class hierarchy browser is quite remarkable, even if it's not the first project of its kind (Clamato would be another, but that seems largely dead).

jQuery vs MooTools: Choosing Between Two Great JavaScript Frameworks. I've lost a bit of touch with MooTools, but before I got to know jQuery and its many plugins, it was my preferred JavaScript library. So it's interesting to read how it compares to jQuery (written from the perspective of a MooTooler).

But you have to do something about it! - The Raummaschine. It's definitely worth reading and thinking about. As often said on WDR: spend a quarter of an hour thinking about it. A quarter of an hour. You can manage that. Because I want data protection to provide me with the tools and legal means to control the spread of my data, but not to dictate what I can do with data (indirectly through the massive attempts to regulate services). I want to be able to decide for myself what is published - but I also want to have the option to say "not anymore" and a commitment from providers to meaningful tools. For me, this does not only include "prohibiting" and "regulating" - but rather things like data portability (I want a property right to my data!) and traceable deletion. Because I am indeed interested in services and service providers that work with my data - social networks can be fun and useful.

Google Plus RSS Feeds. Interesting post, not officially from Google, but a nice little app with which you can fetch your stream via RSS. With this and Twitterfeed, you can then push your Google+ posts to Twitter or Facebook.

asuhan / happy. Also not uninteresting: a PHP interpreter and compiler in Python based on the PyPy toolchain. Okay, it's not a showstopper, I don't think I've often had the question "how can I execute PHP code in Python" - but for example, if a site based on Django wants to provide users with PHP as a scripting language, something like this could become quite interesting - PHP is after all one of the best-known scripting languages for the web, but Python with some frameworks is simply much more interesting from a production perspective.

cfbolz / Pyrolog. Had I already seen this? A Prolog interpreter in Python that uses the PyPy toolchain. Could be very interesting if you need a bit of rule logic in your programs but don't necessarily want to use external tools for it.

The Node Beginner Book » A comprehensive Node.js tutorial. If I really want to take a closer look at Node.js again, this (free!) book could be helpful. Or for others who have the same plan.

JQuery-Wysiwym - PushingKarma. Something that could become interesting for me: a Markdown (among others) converter in JavaScript. Can be used to build a live editor for Markdown code. Could this be extended for Restructured Text? Because that is one of the problems I sometimes struggle with, that I have ReST as input for Docbook/XML output, but then no suitable graphical editor.

pdf.js reached its first milestone. And since we're on the topic of JavaScript and PDF: with this project you can display PDF files without a PDF reader - just with HTML5 and JavaScript. Very interesting, if this is further developed, it could make the PDF reader completely unnecessary in many places.

PDFKit — A PDF Generation Library for Node. I think I should take another look at Node.js. And CoffeeScript. This PDF generation looks very interesting and could be quite practical for some projects. However, with such libraries, I always miss the high-level part - the actual layout. When will someone build a TeX engine in JavaScript? Hyphenator already provides very good hyphenation, but what is simply missing is a good layout engine for distributing text on defined pages. And please also with good support for table setting.

manuel/edgelisp. Because I can never keep my fingers off the parentheses - a Common Lisp dialect and its implementation that compiles to JavaScript and makes the Lisp code executable in the browser. It seems quite complete - many other projects only show the rudimentary elements, but here there are already generic functions and macros.

Paver/paver. Sounds interesting, like a mix of SetupTools/DistUtils and Make (or their high-level counterparts Rake/Cake). I might take a look, as it could be quite practical for Python projects - although the standard Python tools are already quite useful.

Clockwork in Hiltrup

Forgot all about taking the photos and that they were still in the camera. Well, nothing special, but I find the old clockwork fascinating (I find any old machinery fascinating).

PerlDancer - The easiest way to write web applications with Perl. To complement my collection of Sinatra-inspired microframeworks for web applications, here's one in Perl. Not that I would necessarily want to use Perl again - it's rather listed here for completeness.

PostgreSQL Server Tuning. I just used it, and so I don't have to google it again and again, I made a blogmark. Additionally, you will probably also need to increase kernel parameters so that the shared memory can be allocated at all. Because PostgreSQL likes a lot of memory when you execute more complex queries and the default allocation of about 100 MB is definitely too low for serious use.

Max Pechstein im Ahlener Kunstmuseum - I should put this on my calendar, he is one of my favorite Expressionists (alongside Schmidt-Rottluff and Kirchner) - the pictures in their colorfulness are simply the greatest for me.

Data Protection and Social Network Buttons

Just read: Data Protection & Facebook Like Button for Website Operators. I just played around with the various social buttons (they might still appear on cached pages for a while), but then I thought they will probably report more connections between accounts and page visits - and turned them off for now.

The linked article takes a closer look at the Facebook Like Button, the Google +1 Button should be very similar. The Twitter Button is probably not unproblematic either, at least when the server is queried for the number of tweets - but an unproblematic variant of the Twitter button should be achievable, because that is the simplest case after all.

Well, for now I have turned off the toy again, I still have to think about it. Because on the one hand it is of course interesting to enable visitors with active social networks to easily share in their networks - but what is the price?

danlucraft/git.js. Wow, impressive. And potentially very interesting - git as a general synchronization mechanism is extremely practical and integrating git functionality into web applications could solve some problems well (e.g. when it comes to synchronization with other places, or of course for document-internal versioning). I have to take a closer look at some point, I already have one or two ideas on how I could use it. It's still quite rudimentary at the moment, but it's definitely worth keeping an eye on.

Google+. Now I also have one of those funny gadgets. However, I still don't really have an idea of what I need it for. What I like is the already quite good integration with other Google services, although I am surprised that I cannot automatically transfer my recommendations from Google Reader to Google+. Or that I cannot import a simple RSS feed into Google+ for automatic posts. Let's see how this develops. The setup for targeted sharing with different recipient groups, however, I already find much more thought out than the strange stuff on Facebook.

Operation Quiche successful

This time it was a quiche with bell peppers and leeks. I'll skip the explanation of how to make a quiche, as I've already done that here. So the dough and the egg mixture were the same as before. The vegetable filling was simply bacon, leeks, and later bell peppers in the pan. The egg mixture also contained fresh cilantro, and there was plenty of cumin in the vegetables. Since Juliana sautéed the bacon and vegetables this time, nothing was fried. And the dough was - thanks to a bit less milk - also much firmer and more stable. And somehow, we both ate way too much.

Stiivi / cubes. Just bookmarked for later: an OLAP library in Python that can be built on SQL databases or MongoDB. This could be interesting for some things at work.

Tree for policy-settings-basic in MeeGo Multimedia - MeeGo. Since it is often claimed that Prolog is such an esoteric language that no one would use in normal life: the part of MeeGo (we remember, this is the handset operating system from the Nokia N900/N950/N9) that triggers various settings depending on environmental conditions is written in Prolog. And it runs productively on the handsets.

Auto Refresh Plus - Chrome Web Store. For good reason, my interest in such things has been piqued. On the Mac, I of course have more comfortable tools, but to simply refresh a webpage until it has a defined change, this one is more than enough.

DropKick - a jQuery plugin for beautiful dropdowns. Looks nice, even if it is of course mainly a visual gimmick. But sometimes visual gimmicks are also necessary.

WordPress 3.2 now available. Update executed (and for the first time also via automatic update and ssh access for the update, since my web server does not have write permissions on the WP code) and everything seems to have worked smoothly, even though I use a number of plugins. Nice. The admin has been really streamlined, much faster responses.