Linkblog - 24.11.2010 - 10.12.2010

Clojure Libs and Namespaces: require, use, import, and ns - 8th Light Blog. Just a brief overview of the different namespace functions in Clojure.

ninjudd/cake - GitHub. After taking another closer look, it's now a really practical way to get Clojure up and running. Unlike other build tools in the Java ecosystem, it doesn't download half the internet. It can also be integrated into MacVim using slimv with a small helper script and is at least usable for my Clojure tinkering.

slimv.vim - SLIME-like Lisp and Clojure REPL inside Vim with Profiling, Hyperspec, Paredit. Quite interesting, as it is much lighter and simpler to install than Slime or VimClojure or one of the other heavy solutions. And you can simply program Common Lisp or Clojure from within Vim. It is currently only in the "playing around and looking" mode, but it sounds quite interesting.

Mainz/Landau: Geothermal power plant likely responsible for earthquakes. Well, but in Emsdetten and Nordwalde, Exxon wants to pump water into natural gas bubbles to extract it there. At an unprecedented depth and with methods that have not really been tested in continuous operation. But even a geothermal power plant can cause earthquakes that cause damage through a similar approach. I think homeowners in Emsdetten and Nordwalde should keep a very close eye on this ...

Gundo - Visualize your Vim Undo Tree. Vim does have a bit more to offer when it comes to undo than usual editors - the entire tree of undo/do/redo actions is stored and you can move freely within it. However, no one really understands this with the normal Vim means. With the Gundo plugin, you can directly visualize this tree and perhaps make sense of it. Sure, you can achieve something similar through regular commits and version control. And of course, we all commit early and often and never have any long editing sessions, right?

Chromium Blog: A New Crankshaft for V8. And this makes JavaScript even faster. V8 is also the basis for Node.js, so this performance improvement will likely soon be available for the server as well.

Now also available on instagr.am - of course as rfc1437. I've been doing something similar on tumblr for quite some time now, and Instagram is an amazingly practical uploader for tumblr.

The Risks of Cloud: Lessons from Wikileaks - Simon Says.... Summary of the actions against Wikileaks and what this means for business on the web. Because what happened to the Wau Holland Foundation with PayPal (their PayPal account was frozen, not Wikileaks') can happen to anyone if someone doesn't like your nose. Without even a rudimentary legal process. They simply claim that the Terms of Service were not followed. And even self-hosting doesn't really help because you are still dependent on many others (the place where the server runs, the domains ...). Strangely, this arbitrariness on the net is never mentioned when politicians talk about the terrible "lawless space Internet".

pyquery: a jquery-like library for python — pyquery v0.6.1 documentation. That's what it says. Essentially a subset of what jQuery can do, as jQuery has its own selector extensions and this one simply builds on lxml (but therefore has full CSS3 selector support).

stream – Lazily-evaluated, parallelizable pipeline — stream v0.8 documentation. Interesting small module for easier programming of calculation chains with iterators. Makes source code much more compact for suitable use cases (e.g. transformations and selections of bulk data). Blogged because I have implemented something like this several times myself ad-hoc within projects.

Wau-Holland-Stiftung: Donors of Wikileaks threatened with sanctions. But it's actually less about Wikileaks than about the foundation's negligence. Financial statements are standard business for foundations, if you simply leave them out, you can expect - predictable - trouble with the authorities.

Another implementation of Common Lisp Conditions in Python.

Python Package Index : withrestart 0.2.6. Sounds quite interesting - the interactive restarts of Common Lisp are often very practical, especially when working interactively.

snipMate - TextMate-style snippets for Vim : vim online - since I'm just listing things that aren't really interesting to me but are still somehow cool, here's an implementation of TextMate-like snippets for Vim.

vcscommand.vim - CVS/SVN/SVK/git/hg/bzr integration plugin : vim online - something I'd rather do in a shell than in the editor. Mainly because I rarely have single-file commits. But for querying history, it could still be interesting. It's also one of the more active Vim plugins - some of them are really shockingly old, but still work well. One plugin even had a reference to its homepage at GeoCities ...

pyclewn. Not sure if I want to dive into this - I don't usually use debuggers. But this one is integrated into Vim and thus directly usable from the editor. gdb and pdb (for Python) can be used.

Vim Taglist plugin manual. Another important component to be able to work properly with MacVim. It is also recommended to install exuberant-ctags with brew install ctags if you want to use real languages (such as Python).

Harsh criticism of French Concorde ruling. Okay, that Continental is at fault is certainly clear - after all, it was their aircraft that was poorly maintained. However, with 113 fatalities, it is probably only understandable for sarcasm-dripping cabaret artists that this company pays a fine of 200,000 euros - but 1 million euros to Air France for the image damage. It then also fits that the mechanic, who - possibly with a lack of care, but simply as a mechanic an employee - did his job and riveted a blade to the aircraft, goes to prison. Strange world.

Vim autocomplete, Django and virtualenv | rosemanblog. Especially the integration of VirtualEnv and MacVim is helpful, because otherwise Omnicomplete does not work cleanly with VirtualEnv, as it knows nothing about the modules located there. By the way, installing MacVim with Homebrew is trivial ...

Homebrew — MacPorts driving you to drink? Try Homebrew!. I can only support the call. After using MacPorts for years, I have now switched to Homebrew on the Air, and it is much slimmer. And since it doesn't want to install half of the internet for every little package, you even have a realistic chance of installing the tools on the smaller disk of the Air. It's also nice that you can intervene in many places if you want to (since I am a programmer after all, it is quite a natural desire to sometimes do the configure yourself or something similar). By the way, the recipes are quite up-to-date, for example, Node.js is in the latest version, pypy is also, as well as Scala and Clojure. Fits well with my currently planned experiments.

chrisdickinson's wilson. One before lunch, as the framework is heavily inspired by Django, and since I'm a Django fan, it's definitely worth its own link.

Modules - node. Many modules for Node.js, more than I can quickly glance through (or want to), so for now just bookmarked for future perusal.

persistence.js: An Asynchronous Javascript ORM for HTML5/Gears. Since you always want to save data at some point, here's a link to a client-side ORM library for JavaScript. It looks quite good and could perhaps also be used for the server side. (I found another link for this that explicitly supports Node.js with MySQL).

Express - node web framework. Great, if you want to quickly build small web services with Node.js. I think it fits well with Node.js installations and jQuery on the client side. At the moment, JavaScript is pushing into many niches where Python used to be at home. Not least because JavaScript is actually not such a bad language after all.

Socket.IO is a small JavaScript library that supports socket communication from the browser and can use various techniques, automatically selecting the best available one. This makes it work across different browsers and browser generations.

Nigeria to charge Dick Cheney in $180 million bribery case, issue Interpol arrest warrant | Raw Story. Ob jetzt wohl Spam mit Dick Cheney kommt? GOOD DAY! MY NAME IS DICK CHENEY, I AM THE FORMER VICE PRESIDENT OF THE USA AND A LEADING BOARD MEMBER OF HALIBURTON. I HAVE A PROPOSAL FOR YOU ...

Mono Lake bacteria build their DNA using arsenic (and no, this isn’t about aliens) | Not Exactly Rocket Science | Discover Magazine. A bit more info about our arsenic-loving newcomers. They are simply another type of extremophile, although with a truly impressive trick.

NASA’s real news: bacterium on Earth that lives off arsenic! | Bad Astronomy | Discover Magazine. Yo man. I welcome our arsenic-loving overlords. Or so. Life based on other building blocks is thus much more likely out there.

WordPress 3.0.2 is out and since it contains security fixes, an update is recommended. The German WordPress version is also already available and the update went smoothly for me. I only had to replace all occurrences of Gallerie with Galerie in the language file to make the special handling of gallery posts work (and because Gallerie just looks stupid and is wrong - I don't understand why it's still in the language file. I reported this and it was allegedly fixed a long time ago. Well ...)

agr / ropevim / source – Bitbucket. There is also a Vim integration for the other tool that interested me about Spyder: Rope. A refactoring tool for Python code. Not entirely uninteresting for a sufficiently large code base.

pyflakes.vim - PyFlakes on-the-fly Python code checking : vim online. I'm also looking at this right now, as it provides some interesting tools for Python and is quite good to use, especially with MacVim.

Download Qt for Open Source C++ development on Mac OS X — Qt - A cross-platform application and UI framework. Blogged because the direct paths from Nokia or Trolltech end up with 1G large packages that want to install all sorts of junk (and especially the debug libraries are supposedly gigantic), which you don't need at all if you just want to install pyqt4.

spyderlib - Project Hosting on Google Code. I'm currently looking at it, it's a quite interesting Python editor with many IDE features. Since it is written in Python itself, various Python tools integrate very well (Rope, Flake, PyLint).

Jugendmedienschutzstaatsvertrag: Grüne wollen zustimmen and Germany will finally leave reality behind regarding the internet with the expected approval of this nonsense. And all the cease-and-desist scammers are rubbing their hands together due to the expected additional revenue. I would like to label my blog with a minimum IQ to ensure that the brainwashed proletarians from Berlin have to stay out. The hypocritical behavior of the Greens is absolutely undignified.

Technology - Canvas Viewer - interesting project, uses Unity3D as a platform for a Second Life and OpenSim client. If this works and is freely available for OpenSim Grids, that would be a nice window from the web for my MiniGrid..

The surreal treehoppers « Why Evolution Is True. Insects. Very strange. Extremely strange.

FrontPage - Conkeror. Well blogged as a curiosity and because such projects simply fascinate me - a browser in JavaScript with an architecture inspired by Emacs (only JavaScript instead of ELisp).

Komodo Edit is a Free Open Source Editor for Perl, Python, Tcl, PHP, Ruby & Javascript. I should check it out, as TextWrangler doesn't have folding, BBEdit is too expensive in my opinion, and TextMate has too modest Python folding support. And if this thing runs well across different systems, I would finally have a uniform GUI editor again (yes, I know, vim is available everywhere, but the GUI version just doesn't appeal to me).

Update: uh, hello, ActiveState? I understand that you want to sell your "cheap" IDE (special offer! Only $330), but at least Komodo Edit deserved the source outline, right?

Python Package Index : lupa 0.18. Brings LuaJIT2 and Python together, so that you can access Lua scripts from Python, which are then compiled by LuaJIT.

Because I just wrote about Lua: probablycorey's wax provides an Objective-C bridge to Lua, specifically for iOS devices. So you can write iPhone or iPad apps with Lua.

Have tracing JIT compilers won? | Lambda the Ultimate. Interesting discussion in which Mike Pall (LUAJit), Brendan Eich (Mozilla JägerMonkey) also participate (and specifically LUAJit is currently the King of the Mountains in terms of performance). PyPy is also mentioned, though still at a much older stage - the new 1.4 already shows much better what is possible with PyPy.

PyPy Status Blog: PyPy 1.4: Ouroboros in practice. And with that, PyPy has now also arrived at the JIT in 64bit. In addition, VirtualEnv now works smoothly if you install a current version. And it's still fast.

Build a Bootable Rescue SD Card For Your Mac | Mac|Life. I didn't know that Macs can also boot from SD cards.

IKVM.NET Home Page provides a Java VM in .NET - you should even be able to do crazy things like running Scala 2.8 on .NET with it.

Those who prefer to work with the keyboard rather than the mouse (or other pointing devices) can use gleeBox plugins for Firefox, Chrome, and Safari. This makes it quite efficient to operate a browser - and for my tortured right hand, it is sometimes better than reaching for the trackball.

MacRuby » An Introduction to GCD with MacRuby. Grand Central Dispatch is one of the cooler techniques that Apple has introduced at the OS level in recent times. And MacRuby has direct support for it. Very interesting (even if it of course only works in the OSX world).

Conditional CAPTCHA for WordPress is a very nice plugin that adds Captcha to comment forms. The special feature: it only does this if Akismet thinks a comment is spam. Captcha failure is then punished with the deletion of the comment - this keeps the spam queue manageable.

As a reminder: Zach's Journal - Making a small Lisp project with quickproject and Quicklisp. Just because I otherwise quickproject and similar things will forget again. With Clozure CL 1.6 Quicklisp also works quite completely (specifically cl-fad is functional and therefore you can get a larger stack of packages to fly finally). Zach is slowly putting together a stack of tools for Common Lisp with which it is fun to play around again. Even if I will probably never become a big Emacs fan, no matter how much others swear by the part for Lisp.

Marke: Facebook will Face - classic facepalm.

Higher Order Javascript provides many ideas about JavaScript programming (and CoffeeScript) and how to use functional programming sensibly in JavaScript. After all, JavaScript is a powerful language with interesting abstractions that you can certainly use.