Linkblog - 4.7.2011 - 25.7.2011

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.

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.

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).

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.

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.

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.

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.

That's why we need to sell tanks to Saudi Arabia. I heard the appalling interview this morning as well. The lies and nonsense from politicians can ruin your entire day. The moderator is usually not my cup of tea, but during today's interview, he hit the nail on the head with a few things: "Morality is for fools, the smart ones make money out of it" - that's the mindset of Pfeiffer and probably some others in the Union. The fact that we have laws prohibiting the export of weapons to crisis regions doesn't matter in this context. Presumably, he would also break into someone's house and empty it if the neighbors had given their consent beforehand.

Prowl - iOS Push Notifications. Is a very practical tool for the iPhone or iPad as a supplement, because you get nice APIs with which you can, for example, send messages from servers to the iPhone. Or you use Send2Prowl from Firefox or Prowl from Chrome to send a link directly to your iPhone.

Google+: Facebook prevents export of friends. You can think what you want about Google, but to block the export of your own data, they haven't sunk that low yet. With such an approach, Facebook is the absolute bottom of antisocial networks.

DSK: „Spiegel” complains about prejudgment « Stefan Niggemeier. Cute - the Spiegel has been eagerly prejudging and now, of all people, one of the "quality journalists" involved in it is complaining about the poor Strauss-Kahn being prejudged. Is this already schizophrenia, or just plain stupidity? I mean, what are the publishers complaining about how bad they have it, when they barely rise above blog level in their "quality articles"?

realmacsoftwares SDKs auf GitHub - why I'm dealing with RapidWeaver again: the SDKs are now freely available on GitHub and look quite interesting - and if there are SDKs for IDEs, I'm almost automatically curious.

SiteMap Loghound.com. Ok, another plugin - this one generates a sitemap, both HTML and the Google XML format for search engine integration. I'll have to check first what RapidWeaver 5 already offers out of the box compared to RapidWeaver 4 (as with others).

PlusKit Loghound.com. Another quite interesting plugin for RapidWeaver, with which you can do a whole range of integration tasks. For example, embedding Google Docs, including other pages, Spotlight-Search and global search in large RapidWeaver projects and automatic Lightbox for RapidWeaver galleries. The latter is particularly interesting and PlusKit is also a prerequisite for Motivate, a quite interesting layout for RapidWeaver sites. And with SymNivo there are then funny transitions for the display of automatic presentations. That is then again the disadvantage of RapidWeaver: thousands of small doodads and gimmicks, probably you play more with the installation than with the actual site ...