Welcome to the tenth issue of The Left Fold, a weekly programming news and article digest.
Programming Languages & Implementations
EASTL - Electronic Arts Standard Template Library: why and how EA's proprietary C++ STL differs from the standard.
Grammars and Actions in Perl 6: how to create a DSL in Perl 6.
Freeing Factor from gcc's embrace-and-extend C language extensions: what global register variables and the regparm calling convention are, why Factor used them, and why it no longer does.
C's Biggest Mistake: argues that it's conflating arrays with pointers and offers small syntax changes as a fix.
The Year In Haskell: collection of news items; see the "Compilers and Infrastructure" section.
JVM extensions: collection of interesting ideas that OpenJDK has been extended with in a proprietary codebase.
CLOS initialization protocol: features that reduce code duplication in Common Lisp.
Python 3: a dearth of modules, a need for CPAN: critique of Python's package infrastructure in comparison with Perl's. (reddit)
Experience Reports
One year of Redis: reflections on running an open-source project for the long term.
Cross-Toolkit Software: reflections on reducing code reuse when using different graphics toolkits.
Game Mechanics
The AI Systems of Left 4 Dead: slideshow covering climbing, emotions, pacing, and zombies.
Movement Mechanics in “The Legend of Zelda”: how a small movement detail makes the game more playable. (reddit)
Web Standards
Why the HTML5 ‘Video’ Element Is Effectively Unusable, Even in Browsers Which Support It: buffering.
How to Improve Websocket: critique of the recently-released protocol for two-way communication from the browser.
Miscellaneous
What Should We Teach New Software Developers? Why?: Stroustrup argues for licensing of developers.
Just Let BASIC Die: argues that Python is an acceptable replacement for BASIC as a first language for young people.
Some thoughts on Copyright Assignment: discussion of the practice, plus a set of licensing suggestions with rationales.