ScalaCheck User Guide - an interesting approach to a unit testing tool. Based on the ideas of QuickCheck for Haskell. I particularly like the approach of declaring tests as properties and then generating random data (or controlled test data) and checking whether these properties actually fit. This works particularly well with purely functional code, as functions are much easier to test with random inputs due to the lack of side effects.
Content-type: matter-transport/sentient-life-form
technically.us Git - sling.git/blob - project/build/AssemblyProject.scala - nice small custom task for sbt to create standalone jars.
Ursula - not our former censor, but a programming language. Here linked to an example code. Who believed Anic is hard to read, Ursula wins the competition of the most unreadable programming language easily. Completely incomprehensible when you look at it.
anic - Dataflow language with interesting features and (practically non-existent compiler, as code generation is missing). Parallelization comes automatically with dataflow languages. Generally, a fascinating corner of languages that receives far too little attention. Whether a language with such a syntax heavy on special characters is the answer... yes, I know, syntax is only superficial - but try typing all those special characters on a German keyboard!
Communities: DIY LabVIEW Crew: A Commodore 64 emulator written in LabVIEW - and while we're at it with strange X-in-Y projects: LabVIEW is actually a graphical language for programming control systems and evaluation systems in laboratory environments. And is - in variation - used for programming Lego robots. No idea why someone would even come up with the idea of writing a C64 emulator in it. But they did it ...
MeshLab - and so that I have a chance at all, here is a link to an open source software for converting and editing various mesh formats. Also available for OS X and specifically targeting the editing and repair of meshes from 3D scans - this will probably also be the way for me to determine my model from SL via OpenGL-Capture from the real model.
qb.js: An implementation of QBASIC in Javascript (part 1) - Steve Hanov's Programming Blog - that's what it says. Someone damn well has too much time.
Does cell phone radiation protect against Alzheimer's? - rumors say that rents for apartments under mobile phone masts are rising ... (are nursing homes now offering themselves to mobile phone operators as locations for antennas? Or will there soon be the iPhone on prescription? Questions that automatically arise!)
Shapeways | passionate about creating - this is just great. 3D printing on various materials, even sandstone and metal. Now I just need to export my avatar from SL into a format that I can use there!
Alloy Analyzer - if you want to see how far automatic proofs and automatic reasoning on software models have come today, check out this project. Written in Java, installers available for major systems. Comes with a declarative language for model specification and automatic conflict finders - so a faulty model throws out counterexamples that violate at least one of the boundary conditions. And the tutorial doesn't deliver any abstract, practice-remote examples, but for example a model of a date system with various operations on it.
Apples and Bananas - if a politician should once again compare apples with bananas, this article about image recognition algorithms for distinguishing apples from bananas could help!
Google Voice Blog: Google welcomes Gizmo5 - completely passed me by: Google has acquired Gizmo5. For a long time, it was a competitor to Skype, based on SIP instead of proprietary protocols. The company's founder was the same Michael Robertson who also founded mp3.com, mp3tunes.com, and Linspire - and often came across as somewhat dubious (especially the winding up of Linspire is still under discussion, as the shareholders largely came away empty-handed). Incidentally, Gizmo5 also used ejabberd for the IM infrastructure - that's how I stumbled upon it.
[JDev] Wikipedia deletions](http://mail.jabber.org/pipermail/jdev/2009-December/087962.html) - again Wikipedia deletionists at work. Delete eJabberd because it's unimportant? It's just one of the most widespread Jabber daemons and Jabber itself is just the protocol behind Google Talk and Google Wave, what's so important about that ...
My OpenID - just for future use, so I can find my own OpenID provider again when I need it ...
Nullege: A Search Engine for Python source code - very useful when you want to see how an API is used in various projects. Sometimes the documentation is a bit unclear and looking at example source code makes things clearer.
phpMyID - simple small PHP library for setting up your own private OpenID provider.
TidBITS Entertainment: "If Monks Had Macs" Available for Free - one of the strangest projects from the old Mac era. Interesting just because you can see how some people used Hypercard back then (runs today on Runtime Revolution and thus cross-platform).
Building a Codeless Language Module with BBEdit 8.5 and (Ir-) Regular Expressions - since I keep looking for this, here's a guide on how to build codeless language modules for BBEdit and TextWrangler. In the new version, they can use regular expressions. Tip: try out the regular expressions in the grep search of BBEdit/TextWrangler, then you can see if they work correctly on a source.
Wikipedia:Articles for deletion/Ejabberd - and for those who want to endure the entire nonsense of the Wikipedia watchmen: the discussion page about the deletion request for Ejabberd in December. Just to explain: Ejabberd is used, among other things, by Facebook for their XMPP support for Facebook Chat ...
Aasee (Münster) – Wikipedia - "Swimming in Aasee is currently prohibited and, due to poor water quality, especially during hot summer months, not recommended. However, there are efforts to improve the water quality. The main problems are blue-green algae, which multiply massively due to over-fertilization, as well as coliform bacteria. Contact with Aasee water in the summer can cause skin irritation, and ingestion can lead to life-threatening illnesses. Additionally, safety is compromised by the shallow water depth, which is further limited in some areas by bicycles lying on the bottom." - some things just have to be left uncommented ...
maven-scala-plugin - maven-scala-plugin - because Maven is mind-bending, but still better than Ant. And no one wants to manage all the many dependencies by hand ...
SQLiteJDBC - another JDBC driver for SQLite
SQLiteJDBC - because I am a SQLite fan (if it's too complex for simple text files, SQLite is the next level), and because I play around with Scala and Clojure, I might need this here.
Defective security chips: 30 million bank cards affected by the 2010 error - SPIEGEL ONLINE - News - Netzwelt - great, because of the idiots, EC cards and credit cards in ATMs suddenly have problems. And because of the stupid switch of most banks to V-Pay instead of Maestro, withdrawing money abroad (I'll be in Russia again soon) with the EC card is not possible anymore, because for these Visa idiots Europe ends at the borders of the EU and the banks only care about their own profit margins and not about customer comfort. What's the point of having an EC card with which you can withdraw money from 9.5 million ATMs worldwide without problems? Completely overrated. And because I now also need a new credit card due to ATM compatibility, it will probably also be from a defective batch and then I'll be in Russia in March and can see how I get money. And for all the nonsense that the pack spouts, you also pay fees.
Questions and Answers about the Bank Card Fiasco - oh, great, they're switching back to the magnetic stripe. Brilliant idea, since it's no longer fully described on the V-Pay EC cards, which is why the cards only work in ATMs that use the chip. Super idea - so I potentially go from the frying pan into the fire, just because these stupid bankers want to save a few cents.
Python Package Index : promise 0.2.1 - quite a cool bytecode hack for Python that uses decorators to declare functions as "pure" or "constant" (or a few others) and thus enables optimizations of Python code. Specifically, expensive lookups can be avoided if you assure the compiler that within a function, for example, built-ins or named functions do not change dynamically but remain constant.
FleetDB - small in-memory database with persistence via an append-only transaction log. The protocol consists of simple JSON arrays. Implemented in Clojure, but can be integrated with any language through the JSON interface (you just need a JSON library and socket access).
generator_tools - because you sometimes encounter the situation of wanting to save generators in Python (e.g. when simulating continuations or coroutines using generators and using them as the state of a running web workflow in a web framework), this module (based on a hack on bytecode introspection) works to a limited extent. Already interesting because of the insights it gives into the interpreter.
Introduction to Concurrent Programming with Stackless Python - because sometimes a very large number of microthreads is the appropriate level of abstraction. As can be seen in various Erlang programs. Stackless provides similar abstractions, or rather comparable to the Actor libraries in Clojure and Scala (basically the Erlang Actor Model without distribution across multiple computers). The GIL remains a problem, of course, which is why Manycore is not well supported, at least not without programming for it (via multiprocessing, for example).
Matasano Security LLC - Chargen - If You're Typing The Letters A-E-S Into Your Code, You're Doing It Wrong - interesting article (even if in a somewhat strange presentation form) about typical problems with the use of cryptography for SSO in web systems. Simply "I encrypt the cookie and then everything is fine" just doesn't cut it ...
MetaPython Documentation - one of the things that always bring me from Python to Lisp are the nice Lisp macros, with which one can elegantly build embedded DSLs for various purposes that integrate well with the host language. With MetaPython, you might be able to achieve something similar with Python. At least all the components are there.
Study shows viral SSIDs could be creating a massive wireless botnet Tech Sanity Check TechRepublic.com - and some more about viral SSIDs and a small list of SSIDs that have appeared in this context. I came across it because a friend of mine has one of the networks (hpsetup) near her and wondered where the SSID came from.
Viral SSID - WLAN/Wireless Security Knowledge Center - interesting. SSIDs from WLAN networks as an attack vector for computers.
OpenSimulator GForge - since I'm playing around with OpenSim again, here you can find a lot of projects around OpenSim.
Hg-Git Mercurial Plugin - should actually allow access to GIT repositories with Mercurial, but it seems to not work at the moment - I only get errors. But first of all, blogmarked for future use.
Daring Fireball: The Tablet - "I am not predicting that Apple is phasing out the Mac. (On the contrary, I’ve heard that Mac OS X 10.7 is on pace for a developer release at WWDC in June.) Like all Apple products, The Tablet will do less than we expect but the things it does do, it will do insanely well. It will offer a fraction of the functionality of a MacBook — but that fraction will be way more fun. The same Asperger-y critics who dismissed the iPhone will focus on all that The Tablet doesn’t do and declare that this time, Apple really has fucked up but good. The rest of us will get in line to buy one."
hgsubversion - since you occasionally encounter SVN and often get annoyed that you can't switch the working directory between releases, you can simply use hgsubversion. This mirrors a complete SVN repository into a local Mercurial repository from which you can easily populate your working area using Mercurial tools. Also useful if you want to manage patches for an SVN project, as Mercurial's patch queue is superior to all SVN-based techniques.
Data protectionists criticize "electronic income verification" - and yet another nonsensical data collection action that will only lead to other authorities wanting these data for completely different purposes. What does the state have to do with whether an employee has received warnings or shows "misconduct" (which is then, after all, a matter of interpretation by the employer)? What does the state have to do with whether and how long an employee has gone on strike? The fact that data pools are not secured against misuse should be well known by now. And that any data collection arouses the hunger of other authorities, as well.
duelinmarkers's clj-record - a persistence framework inspired by Active Records (the ORM of Ruby on Rails), but in Clojure and with a more Lisp-like API. (that was a lot of Denglisch in one sentence!)
mattrepl's clojure-neo4j - and here is an interface to Neo4J, a graph database for Java, with which complex data structures can be stored on disk quite easily. Looks quite interesting for simple persistence in programs.
neo4j open source nosql graph database - the graph database for Java mentioned earlier. Looks quite interesting for situations where relational databases are too rigid and inflexible.
pjstadig's tim-clojure-1.0.0 - quite a cool project that implements a distributed environment for Clojure using Terracotta (basically a distributed map for Java). Objects with appropriate metadata are automatically distributed to all Clojures connected to this distributed environment - and it does this for almost all objects that can be defined in Clojure.
IPhone Remote - Plex - and the iPhone becomes the ultimate remote control.
Kanex Mini DisplayPort to HDMI 1080p Video with Digital Audio Adapter - also blogged about because the cheapest large monitors are after all HDMI-capable TVs.
Plex Media Center for OS X - poorly blogged, because I might want to build a small media server with a Mac Mini. With the mountains of digital photos I have now, automatic slideshows on a large monitor might be quite nice.
Privacy of 3.5 Billion Cellphone Users Compromised – GSM Code is Broken | ProgrammerFish - well, that's it for GSM, eavesdropping made easy. As the article correctly states: there should have been updates to the encryption of GSM a long time ago, it's simply negligence in the design of the technology that updates to the encryption were not planned from the outset. It will be interesting to see when this becomes a bigger issue and telecom companies are forced to take action.
Plane attacker faces 40 years in prison - "the father - a respected former Nigerian minister and banker of the US embassy - is said to have communicated." - and did he also have 20 million from his former ministerial work that he urgently needed to transfer abroad? I mean, no wonder Nigerian ex-ministers and bankers are not believed with all that Nigerian spam .... (reality still delivers the best stories)
Bundestagspräsident missfällt Regierungskurs - hey, CDU politicians usually only become loudly and clearly critical when they no longer play a political role (see Geisler)? What has gotten into Lammert?

