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.
Linkblog - 17.12.2009 - 31.12.2009
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?
Moscow ML Home Page - surprisingly, I hadn't come across this before. It's a small SML bytecode compiler that now implements the full language scope and standard library. Much slimmer than the large SML/NJ and also requires fewer resources than SML/NJ or MLton. Very useful for small tools (and installable on the Mac with MacPorts - just like SML/NJ and Poly/ML, the other two major ML compilers).
neatx - NX Server in Open Source by Google. I really like NX, but the commercial server is quite limited with only two parallel sessions in the free version. For future use at work.
openduckbill - automatic directory sync with rsync and a Python daemon (can sync locally, over NFS or SSH). Very interesting if you want to keep multiple directories in sync, but don't necessarily want or need direct NFS mounts (e.g. because it has to go across permission boundaries with different user domains).
Poly/ML Home Page - poorly linked, because Poly/ML is often ignored in favor of SML/NJ and MLton. Potentially also usable as an alternative to MosML, as Poly/ML is quite fast, but delivers native code that is also good for standalone tools. Although MLton still outperforms here, as it takes a long time to compile due to optimization across the entire program, but produces significantly smaller executables.
Standard ML of New Jersey - and no list of ML compilers would be complete without the grandfather of SML, so here's the last link. A bit aged, but certainly still one of the most well-developed systems.
Fuzzy Hashing and ssdeep - provides hash values for files that are similar if the files themselves are also similar. Can be used to find partially identical files (e.g. code reuse in source code or different versions of a document, etc.).
Home of pHash, the open source perceptual hash library - perceptual hashing provides similar hashes for visually similar files. So something like fuzzy hashing for images or movies. For example, phashes of images change only minimally if the image is minimally changed. The larger the difference in the images, the larger the difference in the hashes.
Culture Minister criticizes ARD smartphone apps - So, Mr. Naumann thinks that the public broadcaster has the task of supporting the stupid strategy of the Springer publishing house? What a ridiculous idea is that? We pay fees for the public broadcaster and, as fee payers, we certainly have an interest in receiving the broadcaster we finance on devices we use. Whether the Springer nonsense will be a success or not is completely irrelevant to me. But it has always been like this: on the one hand, complaining about subsidies and how terrible everything is, and on the other hand, more or less covertly supporting one's own friends diligently. You probably have to give something back to those who pay you the bribes from time to time? But why a culture minister would throw himself into the breach for something as uncultured as the Springer press ...
MLton Standard ML Compiler (SML Compiler) - MLton is required for Ur/Web, and conveniently, there is a binary download for OS X that works quite well if you have the GnuMP library installed via MacPorts (you can also install the mhash library from there, which is another prerequisite for Ur/Web). MLton is also an interesting project in its own right, as it is a standalone compiler for ML that has very good optimizations (though it also has extreme compilation times for the compiler).
Ocsigen - looks like something comparable to Ur/Web, which is based on the OCaml toolchain and the OCaml language. OCaml has some very nice properties, so this could also be interesting. However, the project gives more of a modular impression with several interoperating parts, and it remains to be seen how well the integration is. What excites me about Ur/Web is the fact that I can really put together a web application with just a handful of files, without much overhead. Also, installing Ur/Web from the source is simpler due to the small number of dependencies. On the other hand, Ocsigen is directly available in Debian, which of course makes the installation much easier.
The Ur Programming Language Family - interesting functional programming language with integrated XML templating and persistence. The goal is to write the entire interactive web application in one language. Data model in the same language as templates. All secured with type declarations and type inference - for example, there is a functor that automatically generates a complete administration interface for a table defined in Ur, with protection against code injection and other common attack scenarios. The language itself is very strongly oriented towards ML, but adopts some features from Haskell (specifically the monads and the more powerful type system). In some points, it reminds me strongly of Scala in terms of ideas - good embedded languages for SQL and HTML combined with a powerful functional language. However, the Ur compiler directly generates object code (and JavaScript for the client side) and not code for a virtual machine. And the runtime has no garbage collection, but memory management derived from the code (which makes memory behavior more deterministic). The whole thing is based on MLTon, a very well-optimizing ML compiler. Somehow, much of the project reminds me of Django - only not dynamically typed, but statically. Could be quite interesting.
Web Authoring System Haskell (WASH) - just for completeness, also linked, it is comparable to Ur/Web and Ocsigen, only with Haskell. But it somehow seems even more piecemeal than cohesive.
December 25th - "Happy Birthday to those of you born on the 25th! Sorry you get kinda shafted by the overlap with christmas." - fuck, yeah!
Mail::RFC822::Address - "The grammar described in RFC 822 is suprisingly complex. Implementing validation with regular expressions somewhat pushes the limits of what it is sensible to do with regular expressions, although Perl copes well"
The 25th Anniversary Edition of Little, Big, by John Crowley - only 4 months left until release! One of the most beautiful books in fantasy literature in a special edition for book lovers. With reproductions of graphics by Peter Milton as illustrations.
Real World Haskell - I hadn't linked that yet? But this is the complete content of "Real World Haskell" on the web, the O'Reilly book on Haskell. I should read through it in a few quiet hours (days?).
Government keeps raising unemployment insurance contributions open - not that I expected anything different, but the new government is damn quick with their election lies. Last time, it took them a few months longer before their election promises were reduced to absurdity.
Socket Benchmark of Asynchronous Servers in Python - interesting article about the performance and scalability to high hit rates of various asynchronous servers in Python.
A Case of the MUMPS - The Daily WTF - for the occasion, the link is quickly blogmarked, as I might need it in the near future ... (don't ask!)
HDR photo software & plugin for Lightroom, Aperture & Photoshop - Tone Mapping, Exposure Fusion & HDR Imaging for photography - might be interesting at some point and the software is available for Mac and Windows. And there is also a plugin for Lightroom for integration.
Intersystems Caché -- Gateway to hell - TDWTF Forums - also this link blogged for the same reason.
Invent with Python - interesting free book about Python programming. Among other things, PyGame is used in Chapter 16.
Panasonic Lumix GF1 Field Test — 16 Days in the Himalayas - very nice review with a lot of practical reference and good example photos. Better than the usual pixel peepers and newspaper photographers.
WinMerge - if you ever need a graphical diff/merge tool for Windows. Open Source.
Crowdsourced document analysis and MP expenses - digging through British MPs' expense lists in Django. Interesting article about the pitfalls and problems of such a project at the Guardian.
fabricate - interesting build tool that automatically determines which dependencies exist from the commands for the compiler and then derives only the necessary actions from this in case of updates. Makefiles are quite normal Python scripts, which enables a whole lot of interesting hacks.
Building a Clojure Web application with Incanter, Compojure, and Leiningen « Data Analysis and Visualization with Clojure - very nice, especially because this example not only beautifully shows how simple it is to build a web application with Clojure using Leiningen and Compojure, but also because it's not the usual boring suspects as examples, but something completely different. (doesn't work on OS X at the moment due to a change by Apple to Java for 10.6, but the Leiningen people are probably already on it)
git.postgresql.org Git - postgresql.git/commit - the first replication features are coming to the PostgreSQL tree and will therefore be available in 8.5. Great!
About Hypertable - something like Google's Bigtable, but as open source. Highly scalable database. Uses Thrift as the client protocol and is thus accessible from many languages.
etherpad - the promised code for EtherPad is now on Google Code.
Haystack - Search for Django - and this is the integration of Whoosh in Django. There are others, but this one seems the most developed.
InfoQ: Clojure 1.1 Adds Transients, Chunked Sequences for Efficiency - at the moment, Clojure is seeing the more interesting optimizations and considerations for functional programming. Because they focus on the essential part: data structures. An often neglected area in other languages - what good is a functional language if the included data structures are simply too low-level? Clojure provides access to low-level elements from Java if necessary for performance reasons, but also high-level data structures that behave much more naturally in functional code. And with chunked sequences and transients, now two quite elegant optimizations for these, which help avoid descending into the Java depths.
Leica X1 Review: 27. Conclusion: Digital Photography Review - one does wonder, when reading the "Cons", what Leica was thinking with this camera. Sure, the criticism isn't devastating, but we're talking about a €2000 camera here. Things like "Accurate manual focus impossible" and "Live histogram unreliable" or "Camera locks up completely when buffer is full" are simply unacceptable.
Ten years of .NET - Did Microsoft deliver? • The Register - "COM has never gone away, and .NET developers who want to use new Windows 7 APIs, for example, have to use an interop library to do so."
Whoosh - Full-text indexing in pure Python. Could be interesting for some projects.
Algorithmic Botany - in Common Lisp. There you will also find a link to the book with the algorithms. Rendering is done with classic renderers, the Common Lisp code only generates the model description as input.
Apparent Software blog » Blog Archive » “Is PayPal good for your microISV business?” A short PayPal horror story - Story why you can use PayPal as a customer (buyer protection is quite useful), but actually not as a merchant. It's just eBay and not a real payment provider ...
BERT and BERT-RPC 1.0 Specification - BERT are Binary Erlang Terms - that is the format that Erlang uses when messages are sent (and internally converted with term to binary).
briancarper.net :: Clojure Reader Macros - very dirty. Wild patching of the Clojure runtime at runtime. But a nice example of how you can easily reach into active Java objects from Clojure. However, you should not use this in production code (so this specific application of building your own reader macros for it).
IronPython - Release: 2.6 - this brings IronPython up to date with the Python 2 series. And allegedly, with a few changes, Django should also run directly on IronPython, although I haven't found any recent posts about this, only ones from 2008. .NET is not my favorite environment, but at work we will probably take a look at it in the long run, simply because integration with the rest of the Windows world should be easier with it than with the standard CPython.
John Graham-Cumming: Data Visualization Disease - "Averages are fun because any fool can calculate them, but pity the fool who averages without thinking.".