Linkblog - 4.5.2011 - 18.5.2011

Infinite Scroll WordPress Plugin - nice effect, when the end of the page is reached, the next page is automatically loaded and mixed in via JavaScript - so pages are built endlessly until all blog content is there. Facebook and Flickr have been doing this for some time and I somehow find it better than these "older posts" and "newer posts" links. Without JavaScript, the links should still appear, search engines will continue to index everything (although a Google Sitemap helps a lot in this regard), so it shouldn't cause any harm.

Lightroom Developer Center. Since I want to take a closer look at this again soon, maybe I will create my own plugin for easy sync to WordPress after all. And Lua is not such a terrible language.

Microsoft Small Basic. In a strange way, nostalgic. A Basic in the style of QBasic, but for Silverlight and the browser with libraries for graphics output and similar things. Essentially something like Processing, but .NET instead of JVM and Basic instead of Java.

Pressbox « WordPress Plugins. I wanted to build this myself all the time, but now it's already available. I could take a look at it - with this you can select images from Dropbox and insert them into posts. Since I'm using Dropbox a lot for images, this would be quite practical - but I first have to check if the image is then brought to the WordPress server, or if it remains on Dropbox - I want my media files to be on my own servers.

Expensive healthcare system: Funds expect additional contribution of 70 euros. Funny, how quickly it's all just about how to fleece the insured as much as possible and no longer about temporarily helping a cash-strapped fund. And it's always great how politicians keep saying you just need to switch to a fund without additional contributions. How, when soon all funds will do that? And of course, the employee has to pay for it all. So that the pharmaceutical industry, doctors, and pharmacists can still reach powerfully into the pockets of employees tomorrow. And the Prolethicians in Berlin hold the stirrup nicely.

Leistungsschutzrecht: Bundesjustizministerin über eine Abgabenpflicht für Zitate. Once again, the politics helps the internet non-understanders and rights extortionists in companies with a broken business model to make money at the expense of others' work. And incidentally, the right to quote is destroyed. Because does anyone really believe that "commercial" won't quickly become "business-like" and then, through legal hair-splitting, "every blogger"? It's enough to have advertising on your own blog to be considered a commercial provider. And of course, the idea of introducing another collecting society for the nonsense is great, which also wants to be paid well again. At some point, we will probably have to pay the gas suppliers when we want to fart.

ZenphotoPress is a WordPress plugin that allows you to access images and galleries in ZenPhoto from WordPress. Since you can upload entire folders to ZenPhoto via FTP or other methods (e.g., by simply linking the Albums directory to Dropbox), and thus easily get images into galleries, you can also quickly and easily access these images in WordPress. Might be something as a tinkering project, as I'm still looking for simple ways to feed my photo blog from Lightroom.

From Me To You. Fascinating not-quite-photos and not-quite-films. A bit of background information on how these GIFs are made. And another site that does something similar.

Dropbox Lied to Users About Data Security, Complaint to FTC Alleges. Just a reminder: anyone using something like Dropbox (or any of the other services with similar functionality) should encrypt client-side (on Macs, sparse bundles are suitable), if it's critical or personal content. Because even if a service promises to encrypt everything and no one can read the data, this service can simply lie. Or have a wrong implementation. The deduplication, the folder sharing and the fact that for some versions a public URL is generated for each file - and thus in both cases people get access to files to whom you have not revealed your password - should make it clear that Dropbox must be able to decrypt server-side. Which of course does not make the wrong presentation on their advertising pages any better - yes, it was just omitting information, but with security statements you'd better say a bit more to make it clear what you actually guarantee. If you leave out essential information, you should not be surprised if you (rightfully!) are called a liar. And especially in the USA, something like this could put a company in quite a predicament.

match Technical Services. Or also "Pimp your Leica" - because he delivers some interesting accessories (ocular loupes, thumb holders, silly-looking soft releases) and the practical M-Coder Kit, with which you can apply the coding to the Leica lenses (or also third-party lenses) for automatic recognition on the M8/M8.2/M9 yourself (temporarily, as the color wears off when changing). I'm still considering whether it's worth it - the M-lenses (and the Zeiss lens) that I have are characterized by very slight deviations from the optimum. Both in terms of distortion and vignetting (it has advantages when you waive ultra-brightness), so I haven't felt the need for the corrections from the lens profile yet.

Variochromat Homepage. Because I had forgotten about the place again and was looking for where the heck I had the digital exposure on baryta paper done back then. The result was actually quite good, especially considering that I sent a JPG from a compact camera (from the Ricoh GRD II, even an unprocessed one - I'm not afraid of anything!).

The Best Street Photographer You've Never Heard Of - everyone interested in street photography should check this out. Also feel free to browse through the links in the article.

Writing Plugins for gedit 3 with Python. It looks like Gnome 3 actually gets a quite generic interface for Python scripting. PyGTK was already there, but that's just a GUI library. Now, work is being done on GObject and Friends, making many more elements accessible. By the way, gedit is a quite nice graphical editor that can certainly be considered an alternative to BBEdit or TextWrangler, which are popular under OSX.

Python Interpreter by Noam Gat -- Unity Asset Store. And this is more for my private tinkering: a plugin that integrates an interactive Python shell into Unity3D. Somehow, Unity3D always fascinates me when I see it. Especially since the entry is now free (unfortunately, the jump to Pro - which offers some essential tools like a profiler or support for external versioning - is quite steep).

micromongo — micromongo v0.1 documentation. Also check out micromongo, it provides a minimal ORM for MongoDB servers. However, I would have to check if django-nosql already supports MongoDB by now, then I wouldn't have to use a different ORM syntax - although micromongo is really quite lean and is based only on pymongo, so for example nice for small web services, because you don't have to install a bunch of modules.

execnet v1.0.9 documentation. I should also check this out, it's basically a library for distributing functions across a network of instances - not a full map/reduce or similar, more like a better RPC. Specifically interesting to use, for example, a normal cpython front with a compute backend based on PyPy (or vice versa, to give a PyPy server a numpy+scipy backend in CPython for data analysis).

Read the Docs. I didn't know this one yet - a web service where you can read various documentations through a uniform interface. And host your documentations for projects. And also directly different versions of documentations for projects.

"When you choose an eventually consistent data store you're prioritizing availability and partition tolerance over consistency, but this doesn't mean your application has to be inconsistent. What it does mean is that you have to move your conflict resolution from writes to reads." via Mochi Labs - statebox, an eventually consistent data model for Erlang (and Riak). Also interesting outside of Erlang, as the problem is of a more general nature - data models for transactional databases cannot simply be transferred to an eventually consistent database like Riak (or Cassandra). The reason lies in the fact that conflicts only become apparent later when reading, as they are still "on the way" beforehand.

pmundkur/odisco. An implementation of Map/Reduce according to the Disco Worker model in Objective Caml. There's already something like this for Python. If I ever want to play around with OCaml again.

Reinteract might be interesting for all number crunchers and graphics players, provided they don't get pimples from Python: an implementation of worksheets as you know them from Mathematica and Sage, but as a direct Python application based on PyGTK. You can hack in and execute Python source code, edit older source code afterward, and your output in the worksheet will be automatically updated. Downloads are also available for OSX. Unfortunately, PyGTK is not a 1st-class citizen of the Mac environment - it just looks awful with the half-defective controls, and the usability is unfortunately not really OSX-like. Someone could port this to Cocoa.

A successful Git branching model » nvie.com. Not entirely uninteresting article about distributed version control and branching/merging. Ok, it specifically addresses git and its commands, but the overviews and considerations apply to many points equally to Mercurial and in the deviations the problems are similar enough that the article remains worth reading.

counterclockwise - Counterclockwise is an Eclipse plugin helping developers write Clojure code. And if you already have Eclipse installed, a Clojure plugin might not be uninteresting either, so you can get your daily dose of parentheses.

Typesafe Stack is a distribution of Scala (2.9.0) and Akka (1.1, an actor framework for Scala with various tools for programming distributed solutions in Scala) for easy installation. Additionally, it points to sbt and Scala IDE for Eclipse (use the beta version 2, as this is completely new and the 1.x versions do not work with Scala 2.9.0 and are not particularly good) as supplements. Installers are available for Windows, OSX, and Linux (you can of course install them yourself on all platforms, but some people prefer normal installation paths). And if you want, you can buy support there - and the company belongs to Odersky, the Scala inventor and JVM languages guru. Actually, Odersky could also include his book on Scala programming as PDF (in the first edition, this is also free).

LLVM Project Blog: What Every C Programmer Should Know About Undefined Behavior #1/3. Not only what undefined behavior is in language standards, but also the motivation behind it and what it means for compiler manufacturers.

Controls again at the German-Danish border - great achievement for a founding member of the EU just to satisfy right-wing populist idiots to destroy the Schengen area..

"In the current terms of service, Twitpic reserves the right to reuse the images that users publish via the service." - and even commercially, and TwitPic has already secured the partner with WENN. via Twitter-Bilder: Verwirrung um Twitpic - Golem.de. This is therefore another service that is better not to use, as of course the creator of the images does not receive any money for the use.

RaptorDB sounds quite interesting, a classic Key/Value-Store for .NET that is based on MurMurHash and is especially designed for performance and storage stability. Could be quite useful for one purpose or another, especially since it also works cleanly with threading.

App Engine Go Overview. Honestly, I would find it more exciting if Google would move away from outdated Python 2.5. But well, instead of Python 2.7 or a JVM language, you can now program the AppEngine with Go. At the same time, however, prices and conditions have changed, so it would probably be better to first check whether it is worth it at all. Because you can also use Go just as well on your own root server ...

Metaowl is life!. Wow, just realized that on June 16th, it's the 6th birthday of the Meta Owl! By now, almost 8700 posts have been collected. And in the meantime, the automatic caching of the posts has paid off, because one or the other blog (for example, my old muensterland.org address has been gone for a while) has disappeared, but the content (at least the texts) is still accessible. The whole thing has even survived several server moves unscathed.

Microsoft Near Deal to Buy Skype for Nearly $8 Billion - WSJ.com. Ugh. Skype is already quite a mess (unfortunately a necessary mess for me), but if Microsoft now "improves" it, it's going to be quite funny ...

The Ark In Space: Manul – the Cat that Time Forgot. An early type of cat, essentially unchanged for millions of years. So something like a living fossil in plush.

bconstantin / django_polymorphic. Why am I only finding this now? This is a very nice thing for Django projects with inherited models - as soon as you make accesses to a common model class, you only get instances of the common model class with Django - but with Django-Polymorphic you get instances of the concrete subclasses. In principle, this makes the ORM more of an object database. However, this might come at the expense of performance, as more SQL queries are generated.

obensonne / hg-autosync. An extension for Mercurial that implements automatic syncs between working directories via a central repository. Can be executed manually as a command or in daemon mode (then it simply runs cyclically at intervals). This way you can do something like a controlled Dropbox - only the included files are synchronized. I would prefer a combination of inotify and xmpp Notify instead of the interval solution - this way the daemon would not constantly start up. But something like this could perhaps even be built from it. Update there is already such a thing.

Kirk Tuck: Approval. Tacit Approval. Implied Approval and "Street Photography.". There's also something that always makes me think: how to deal with street photography? It doesn't happen to me very often - I usually don't photograph people (or only as a side note), but part of it is also simply because it makes me uncomfortable to just photograph someone. It's just not really my thing.

Mixing it up: when F# meets C#. As you never program in a closed room, the connections between languages are quite important - and especially on platforms like .NET and JVM. The mappings of F# data types to C# data types and the use of these look quite interesting. Using C# data from F# is trivial, but the other way around there are some peculiarities. A similar situation exists with Scala and Java.

philikon / weaveclient-chromium. Hmm, a Mozilla Sync client as an extension for Chrome. Unfortunately, there is nowhere properly indicated how to install it and some comments on the net suggest that it probably does not run stably with newer versions. But maybe still take a look if I find some spare time. With this I could then, for example, connect Chrome on Mac or Linux with Firefox Mobile on Android. Since on Android the normal browser can't even sync with Google's own desktop browser (which is really embarrassing), this might be something.

birkenfeld / karnickel. Quite a weird thing: Macros at AST level for Python. However, in a form that rather reminds of C macros - so simple expression macros (and quite limited block macros). Above all, you get all the nasty problems of such an unhygienic macro system - like name conflicts between macro-local variables and outer variables. It's also rather just proof that it works and what you can do with the AST module delivered with Python.

dyoo/moby-scheme. Another interesting thing for Android: a PLT Scheme (i.e., Racket) dialect and a suitable toolchain to run applications created from Racket Advanced Student Language + World Primitives (ASL is already quite an extensive Scheme dialect in Racket and the World Primitives are for reactive programming in Scheme) in JavaScript and then bundle them into Android applications. So programming Android phones in a reactive Scheme dialect. Or even shorter: parentheses for Android.

Baarle-Hertog. I think I just have to go there because it's so weird. A place that is partly in Belgium and the Netherlands. Sounds a bit like "The City and the City" by China Mieville.

Blurb Plug-In For Adobe Photoshop Lightroom 3 | Blurb. Wow, that sounds really good - the books are priced as a real alternative to those from iPhoto and the available options sound good too - and even the shipping costs are not really problematic with normal Priority-Mail. I really need to check it out, because at the moment I always have to push my photos through iPhoto. Additionally, Blurb also allows you to sell photo books online (if it should not only be private books).

Computer Science and Biology Come Together to Make Tree Identification a Snap. For those who don't know what kind of tree is in their garden, or who, when they finally see the tree for the forest, want to know what they ran into.

Acta: Lobbyists want to prevent the ECJ from examining Acta. Where would we end up if we dared to check the rights extortionists and their machinations, or have courts examine the cleverly crafted contracts. Especially when experts are already saying that it does not comply with EU law in essential points.

Uni Bayreuth: Guttenberg deliberately deceived. Now it's official. It's all just plagiarized. However, it is strange that in such a debacle, the two people who reviewed this so-called "dissertation" are not scrutinized more closely. After all, how can a doctoral advisor and a second reviewer review a dissertation without reading it? Or should they have actually read the thing but not noticed that nothing particularly impressive was in it or that it was all just copied?

Ralf Jäger: SPD Interior Minister wants "carefree" data retention. Why do we even need the Union if a red-green government can be so crazy as to want data retention?

icylisper.in - jark. Hmm, yet another of many solutions for Clojure that enables simplified deployment of Clojure scripts, complete with persistent VM and #! support. Somehow, there seem to be quite a few of these lately.

Pygame Subset for Android. Wow - there is a PyGame subset for Android. Usage is a bit clunky because there is no IDE - you have to place the files on the SD card (hmm - a Nexus S doesn't have an SD card, where does that go there?) and edit them otherwise.

android-scripting - Scripting Layer for Android brings scripting languages to Android.. Interesting project with which you can run various scripting languages on Android phones. Support for Shell, Python, Perl, Ruby, Lua, TCL and JavaScript is already included. For me, Python is of course particularly interesting. Especially because the Android API is made available - you can thus directly interactively or scripted play around with the things.

PayPal Money Module « Snoopy Pfeffer’s Blog. The original article in which Snoopy describes a bit more about the extensions to Adam Frisby's DTL PayPal Money Module. Not up to date regarding installation, but the features still fit.

SnoopyPfeffer/Mod-PayPal - GitHub. I should take a closer look at this, as it allows you to use PayPal as a money module in OpenSim. It might be interesting if I ever want to revive and share my OpenSim projects again. It is based on OpenSim 0.7.1, so I can only try it out when the new Diva D2 is released (which is already in the works).

Tagbar, the Vim class browser. Seems to be a bit of a souped-up Taglist for VIM. Provides hierarchical views of defined classes, methods, and functions in a project.