Welcome to the eighth issue of The Left Fold, a weekly programming news and article digest.
Algorithms and Data Structures
Regular Expression Matching: the Virtual Machine Approach: explores several different ways to implement regular expressions using a virtual machine, with code.
Winning the 2K Bot Prize with a Long-Term Memory Database using SQLite: discusses several parts of an AI first-person-shooter player.
Representing Chess Positions: options and the trade-offs.
Programming Languages
Sun's "Project Lambda" to add first-class functions, function types, and lambda expressions to Java kicked off this past week:
The much-delayed ECMAScript 5 (JavaScript) specification was released:
Ruby Draft Specification: to be submitted to ISO for standardization. This is an endeavor separate from RubySpec. See also discussion on ruby-core@.
Experience Reports and Advocacy
Scaling to efficiently process large datasets: a high-level overview from Facebook and another from Google.
Tuning Concurrent Clojure: finds it's not the algorithms, it's the JVM options and type hints.
Optimizing Common Lisp: demonstrates how to annotate Common Lisp code for performance and how the SBCL compiler helps.
How I Learned to Stop Worrying and Love Erlang's Process Dictionary: using a mutable datastructure in a purely functional context.
Google Web Toolkit 2.0: So good it's ridiculous: why one developer is excited about the new capabilities of the web application framework.
Miscellaneous
GPU Virtualization: overview of the options and which approach VMWare has taken.
Hot patching inlined functions: part two on runtime-patching the Ruby VM for memory profiling.