Archive 27.6.2011 - 13.7.2011

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.

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

RapidScript - I've been playing around with RapidWeaver again (for some purposes, creating static websites is quite interesting) and stumbled upon this plugin. Nice idea, you can generate page content via AppleScript, which is directly embedded in the RapidWeaver database. This makes pseudodynamic content possible - generated from external sources, but still static output. I found this in this quite nice thematic list of RapidWeaver plugins. The list is definitely more useful than the big grab bag at RealMacSoftware, which has no thematic grouping.

...and next door the reactor site is on fire - and nobody cares because it's France, nothing bad can happen there and why should one report on reactor fires in front of one's own doorstep when there is a ridiculous operetta wedding. That's what they call quality journalism.

Summer Concert Millima Mabonde

Since my sister sings in the gospel choir Millima Mabonde in Nordwalde (and Altenberge), Juliana and I attended the summer concert. The guest choir was Rainbow Glory from Nottuln. Juliana was enthusiastic, even though she naturally couldn't understand the lyrics (she never learned English).

"We sometimes need your permission to do what you ask us to do with your stuff for example, hosting, making public, or sharing your files. By submitting your stuff to the Services, you grant us and those we work with to provide the Services worldwide, non-exclusive, royalty-free, sublicenseable rights to use, copy, distribute, prepare derivative works such as translations or format conversions of, perform, or publicly display that stuff to the extent reasonably necessary for the Service. This license is solely to enable us to technically administer, display, and operate the Services. You must ensure you have the rights you need to grant us that permission." - weil sicherlich wieder haufenweise halbinformierter Unfug geschrieben werden wird, nachdem Dropbox die ToS leichter lesbar und vervollständigt hat, hier der wichtige Punkt nochmal rausgegriffen. Nicht dass ich mich der Illusion hingebe das würde die halbinformierten Unfugposts verhindern, aber wenigstens kann ich dann einfach auf die passende Stelle zeigen.

Ubuntu Cron error - Module is unknown - after libpam upgrade. Argh!!! That really caught me off guard - I didn't notice it for a whole month, so the Metaeule wasn't updated during that time, the cron was just gone. Damn it. I only realized today to look for the cause outside the Eule and then stumbled upon the log messages. Now everything should work properly again. I hope.

Digital cameras: Ricoh buys Pentax - Golem.de. Hmm, this could really become interesting, as both Pentax and Ricoh have a lot of interesting ideas. And Pentax also brings the necessary photographic know-how (which is also present at Ricoh, but rather at an "amateur" level). The question then, of course, is what will happen to things like the Pentax Q and Ricoh GRX - they are at least overlapping in their offerings.

Downfall scenario. Never trust an infographic you haven't faked yourself - that's probably what the manager magazine thought when presenting the "evidence" that Apple is investing less in research and thus jeopardizing its future viability - while R&D expenses in Cupertino have increased, but in the representation in relation to the even more increased revenue, it then looks appropriately inappropriate. Only blogged here because probably again a lot of people will feel the need to tell me with the graphic why Apple would be bad.

Opa: Advancing web development to the next generation. I think I mentioned this in the old blog, but what the heck - now the code is on github and under an open source license. And the entire project is not just something that has recently come out - it has 10 years of research behind it, the people really know what they are doing. The idea is cool (and has already been adopted by others as well): a language from which all layers of web applications are generated, including JavaScript, HTML, CSS, and the backend. All of this with type safety and corresponding checks and, for example, resulting security against injections and XSS attacks. And the language runs on OCaml underneath, which is also not the worst language. I should really seriously deal with this, especially since distributed installation comes along with it - and thus a far easier scalability is given than with many other approaches (the one from OPA reminds in a certain way of the one from Erlang-based systems). Oh, and web applications are then simply just a single executable - and not gigantic directory structures with thirty-nine XML files (or YAML files) to customize.

SymPy. Symbolic mathematics with Python directly in the Python shell. Together with NumPy for matrix operations and SciPy for various other scientific functions, Python becomes quite a respectable mathematics system. Nothing really new except perhaps SymPy itself.

PyPy Status Blog: Global Interpreter Lock, or how to kill it. Wow, that sounds good - the PyPy project wants to mitigate the GIL through STM (Software Transactional Memory) - and has quite an interesting approach for that. Some things are only possible through PyPy, because the corresponding infrastructure for code transformations is available there, which is missing in CPython.

Great Exhibition faces London 2012 legal action. Just when you think you've seen it all, something even more ridiculous comes along - like the organizers of the 2012 Olympic Games threatening legal action against the organizers of an art exhibition in London 2012, because they (the Olympic organizers) have a trademark on 2012.

jsPlumb for those who want to display diagrams (i.e., connected graphs of objects) and need to fiddle with them to see them better or to structure them. Or simply because it's funny and cool.

Paper.js is a graphics engine for the Canvas element. It all looks very nice and has a lot of features. It's impressive what you can do with JavaScript in the browser - and this could be interesting for projects, unlike booting Linux. It all comes from the Illustrator environment and is oriented towards Scriptographer, a plugin for Illustrator with which you can program graphics elements in JavaScript.

Installing gitorious on Ubuntu 10.04. Hmm - I already have an Apache2 with SSL running for my Wordpress administration. And I've also set up a DAV server for document synchronization (in case MobileMe is replaced by iCloud and loses the iDisk in the process). Besides, it's sensible anyway, because the iDisk is so slow. I could also install my own Gitorious there and put my own repositories on it. Just blogged about it, but I should really take a closer look at it.

Sync BitBucket and GitHub - Ramanas Blog. If I ever want to switch, or simply want to provide repositories for both git and bitbucket, this could be helpful. Also just to convert repositories.

Issue Bucket. There is also a BitBucket client for iOS, but it is riddled with iAds and unfortunately very limited in features. And it looks more like a finger exercise in surface design - very plain, one could almost say "loveless". But at least you can get to the most important things to look at and it costs nothing.

iOctocat is your GitHub companion for the iPhone and iPod Touch. GitHub is becoming increasingly interesting - there is also an interesting GitHub client for iOS. And it is Open Source.

NancyFx/Nancy. Nancy is already much closer to Sinatra or Scalatra, but is actually based on C# - but maybe you can also just write modules in F# there, the interoperability of the two languages is very high (comparable to Scala and Java).