Linkblog - 15.1.2010 - 26.1.2010

Carl Bildt: Tear Down Digital Walls - the fact that Sweden is often cited as a model in Germany for successful internet filtering and the fact that the US is exerting massive pressure to make online gambling inaccessible to Americans, well, let's just leave that aside for now. It's much easier to talk about authoritarian governments and sweep one's own internet censorship efforts under the rug. Therefore, the German government with its current censorship affinity will probably not feel addressed either.

fastutil - sometimes certainly quite practical, Collections for Java that are based on primitive types and implement these Collections in a space- and performance-efficient manner. So for example something like an array of bytes. Or a map of strings to booleans. The library has over 1000 such combinations ready ...

Have you seen the old men | Spreeblick - Worth reading on how our society and politics deal with poverty.

Christopher Blizzard · HTML5 video and H.264 – what history tells us and why we’re standing with the web - more about the licensing issues with H264

IronPython in Action: Front Page - didn't even notice, there is already a book about IronPython, the version of Python that runs in Microsoft's .NET environment. Could be interesting for some company projects, especially since there have already been initial successes of Django on IronPython as early as 2008 ...

Censorship in the name of youth protection: Statement on the Interstate Treaty on Youth Media Protection - Working Group against Internet Blocking and Censorship (AK Zensur) - and once again, politics is turning the screw and assuming that well-meant equals well-done. What is in the pipeline would be a found feeding ground for informers and warning lawyers, but would have nothing to do with youth protection at all.

All nuclear power plants are apparently supposed to stay online for now - and the haggling and lying continues. Because, the energy monopolists with their billion-dollar profits must be given even more money - and under no circumstances can they be burdened with the decommissioning of reactors built at the taxpayers' expense, because then they would actually have to invest some of their own money for the first time! Where would we end up!

annalist - "We will block" - "On the 'freedom of opinion' of the Nazis: I do not see an ideology that not only disregards human rights but openly contradicts them as an 'opinion' that is protected by human rights. Nazi ideology is not an opinion but a crime." - but our legal state sees it differently, of course, and that's why the party headquarters of the Left in Saxony are searched and deputies and minor poster hangers are arrested. Because, it's clear, of course, that ideologies that dehumanize people must naturally be tolerated, but the expression of opinion against such brown filth is naturally not covered by the constitution. After all, they are the really bad left-wing extremists!

Armin Maiwald turns 70 - and I'd like to congratulate him, the co-inventor of the show with the mouse!

Facebook Gives Harman His Name Back, Apologizes - looks like they actually did the right thing this time ...

High-Level Virtual Machine (HLVM) - interesting project for a virtual machine. Written in OCaml.

michaelv.org - looks like Windows 3.1 and has a series of classic Windows programs. But everything is tinkered in JavaScript. Yes, there is a DOS prompt. And a web browser. And all sorts of other things. Just click around.

Trellis - Library for event-driven programming in Python. The idea is to formulate rules instead of handcrafted callbacks that are applied to objects and automatically executed when corresponding changes occur. The system ensures a clean separation of these events, so that no deadlocks occur.

Closure Compiler - actually more of a JavaScript optimizer than a compiler - it removes unnecessary parts, compacts the code, cleans up some slow things and replaces them with more efficient variants and also provides some static tests on the JavaScript code. Once blogged about for company projects.

django-history-tables - could be interesting for a project at the company, there is also the requirement for a history of data changes.

EZ430-Chronos - Texas Instruments Embedded Processors Wiki - technical details about the portable embedded system from TI.

Facebook Snatches User’s Vanity URL And Sells It To Harman International - well, Facebook fails again with high-grade nonsense and user mockery. I'm just curious when my RFC1437 vanity URL thing will disappear ... (I only use Facebook as a super-aggregator for my various outposts and even then only rather incidentally - I have the gigantic amount of a total of 2 friends!)

How to create offline webapps on the iPhone - terrible page layout, but interesting documentation on how to build web applications for the iPhone that work offline thanks to the HTML5 Application Cache. After I thought for a moment about whether I should buy such a TI watch, and got annoyed that it doesn't exist as a pocket watch version, I was able to think clearly again and remembered my iPhone ... (sometimes the obvious is too obvious)

Inheritance Patterns in JavaScript - interesting article about which class and inheritance strategy to prefer in JavaScript. Mainly interesting for JavaScript framework hackers, as for the others, a technique will usually have been chosen by the frameworks.

Syntensity - looks interesting, something like an open-source counterpart to Unity 3D. Currently no Mac client, but with open source the chances are quite high that something will come.

TI hits home run with Chronos sportswatch wireless dev kit - that's interesting. A wristwatch to hack - wireless, accelerometer, pressure and altitude sensors, LCD display, temperature sensor, and a developer kit and tools (hardware tools in this case). And also affordable (50 dollars for the watch!). So if you want to tinker with a small embedded system and always have it with you, why not take a wristwatch?

Well, I'm Back: Video, Freedom And Mozilla - why Firefox does not include support for H264. I personally think it would be better to use the technically available codecs of the installed system and leave it up to the user which codecs they want to have. I do understand Mozilla's argumentative position on this matter, but I think it could be rather negative for the spread of Firefox in this case - or in the long run could lead to a fork of Firefox and Firefox+OS codecs. His arguments about "pushes software freedom issues from the browser to the platform" are, in my opinion, nonsense - because he himself writes about the Flash video fallback, which requires a non-free Flash plugin ...

A Postfunctional Language - recently there have been more discussions about whether Scala is really a functional language. Here are the statements on this topic from the creator of Scala himself, Martin Odersky.

Export ban for useless 'bomb detector' - useless, dowsing rods against bombs. That really brings so much - and they only now realize that these things don't have batteries? I mean, what do the people who bought this junk and paid millions for it have in their heads? Water? You test bomb detectors to see if they really work in practice and only then buy the large batch.

Giant Knife 16999 Wenger Swiss Army Knife - umm. So something like a Swiss officer's two-handed sword or so ...

The Collection - Leatherman - what about Leathermans in silver or gold with silver? I mean, what's a $12,000 Leatherman among friends ...

Kindle Development Kit - this could almost make the Kindle (the DX already has quite a large display) interesting again. However, Amazon can still remotely delete content on the Kindle.

ABCL-web - a framework to program Java servlets with Common Lisp, can also generate .war files directly. I probably won't be able to convince anyone at the company to use Common Lisp for web development (the chances for Scala are at least significantly higher in some areas), but maybe it can be used for some hacks.

Armed Bear - just so I don't lose it again, abcl is the Java-Common-Lisp, but under the name Armed Bear there is also a Lisp called XCL, a new native code compiler implementation for X86 and X86-64 systems. I could take a look at it sometime (although there are already many not entirely compatible Lisps and with CCL and sbcl two quite good implementations).

CDU also received a donation from the hotel industry - and it's immediately clear why hotels don't even think about passing on the lower taxes to customers, not even in part: all those donations have to be refinanced first!

Chipformate digitaler Kameras - just for size comparison and to visualize the previous link. All the small fuss down there on the left - that's where the compact cameras are. (the sizes are not depicted 1:1, otherwise it would probably have been too difficult to label them)

Clojure 1.1 and Beyond - where Clojure will develop in the near and medium-term future. Much of this indicates that Clojure will have an experimental character for a longer period of time - which should be considered when using it in production, as new versions can indeed have significant changes both in the language, the base library and above all the runtime behavior.

Diffraction and Fraud in Digicams « Petavoxel - why the high megapixel numbers in compact cameras with mini chips are physically nonsense. Then even a high-end name on the lens won't help - and this also makes it clear why Canon (with the G11) and Panasonic (e.g. with the LX3) start to reduce the megapixel number.

Kvardek Du: How a Common Lisp Programmer Views Users of Other Languages

LEGO Universe allows kids to fight with their imagination - will haben.

pylint (analyzes Python source code looking for bugs and signs of poor quality.) (Logilab.org) - blogged for the colleagues, because when code standards are designed, it is also nice if you can at least automatically check part of them. In addition, pylint can perform (limited) static analysis of Python code and throw out warnings for parts that look strange.

research!rsc: Go Data Structures: Interfaces - one of the really interesting features in Go: the interfaces. Go interfaces have a decisive advantage over Scala traits, Java interfaces, C++ multiple inheritance: they are only defined as an interface, but implementing structures do not have to inherit from these interfaces. Interfaces can also be defined for code that is not present in the source and comes from somewhere completely different. I wish Scala had something like this with traits. That would be a big step closer to duck typing with compile-time checking. "I want to see a thing here that supports the following functions with the following signatures" is exactly what duck typing is all about - it's just that in Python or Smalltalk or other dynamic languages, it usually only crashes at runtime.

taylanpince's django-doc-wiki at master - GitHub - sounds quite interesting, a tool that automatically reads markdown files in a repository and presents them in a wiki-like structure as a website. Quite a simple base, but you could do something with it.

Windows hole discovered after 17 years - well, that's a nice greeting from the past. Privilege escalation in the old DOS boxes - back to NT 3.1!

Anonymous Pro - Update of the already quite pleasant to read Anonymous font. Anonymous specifically targets programmers and therefore has fixed character widths. Critical characters can be easily distinguished. It looks quite tidy and, to me, more eye-friendly than Monaco (at least in the larger sizes that I now prefer)

An experiment in real-time: The human becomes a data set - Background - Feuilleton - FAZ.NET - I rarely link to FAZ, but if they let Frank Rieger write about the problems of data collection mania, then you have to honor it with a link, especially if the article is really very good.

Java Image Processing - Blurring for Beginners - A thousand and one ways to blur an image (which can indeed have practical uses) with Java code examples.

Jekaterinburg weather in March - Wolfram|Alpha - also Wolfram Alpha is already cool ...

Mercurial: The Definitive Guide - haven't I linked this yet? Well, now I have. An entire book - about Mercurial, my preferred distributed version control system. You can also buy it on paper or as an eBook. Or just read it online here.

aM laboratory - lovely. Totally pointless and wonderfully wasteful of time.

German publishers take action against Google - when I read something about "our elaborately produced quality content" from a BDZV spokesperson, I really don't know whether to laugh or cry. How many of the Wikipedia plagiarists and DPA reprint publishers still produce original content at all? Not to mention effort - slapped together and scribbled down would be more accurate. With Springer's market dominance, not much press with self-produced content remains (Blöd may have a lot of self-grown content, but that probably falls less under quality content and I believe the effort is also limited there - the lies are original in the rarest cases)

jQuery 1.4 Released – The 14 Days of jQuery - new version of jQuery is out, many changes.

matthiask's feincms - extensible CMS for Django. Looks very interesting, especially the quite compact extensibility for custom content types.

ReusableAppResources - Django - Trac - general starting point if you want to search for Django apps, from here you are referred to the various comparison lists.

stream – Lazily-evaluated, parallelizable pipeline - interesting small library for Python where streams are used as lazy evaluation lists for better parallelizability of code. And since Python is somewhat limited by the GIL when it comes to threads, models for using multiprocessing are also offered here (independent processes allow multiple cores to be used efficiently in Python, but at the cost of communication overhead between the processes). Certainly to be used with caution for various reasons - massive parallelism should rather be avoided with it, because since system threads and system processes are used, there is no way to have thousands of parallel processes (as would be possible with microthreads, for example). But still certainly useful for some problems.