Welcome to the third issue of The Left Fold, a weekly programming article digest.
Algorithms
Making the Shortest Path Even Quicker: a summary of the modifications to A* search developed by Microsoft Research for Bing Maps, with links to several accessible papers. (news.yc)
The Higher Arithmetic: an accessible overview of how numbers are represented and unused alternatives. (followup article by author, reddit)
Development
The "NoSQL" Discussion has Nothing to Do With SQL: how document and key-value databases sacrifice integrity guarantees for performance and why they don't perform much better then newer relational databases that provide such guarantees. (news.yc, reddit)
Reading Code: In praise of superficial beauty: why consistency, style, and readability are just as valid to criticize as correctness and architecture. (reddit, reddit thread)
It's OK Not to Write Unit Tests: catalogs pitfalls of unit tests and enumerates alternatives. (reddit, news.yc)
A type-based solution to the "strings problem": why strong typing is better than unit tests for preventing injection vulnerabilities, how to use them, and an explicated Haskell implementation. (reddit)
Experience Reports
John Hughes Contrasts Erlang and Haskell: the author of QuickCheck contrasts the two languages in the context of porting the library. Stick through the horrible page layout. (news.yc, reddit, LtU)
Trying qmake and CMake: an autotools user converts a project to use both build systems and reports on the difficulties. (reddit)
UI
- Rubrics And The Bimodality Of 1-5 Ratings: an investigation of rating systems, leading users to provide better feedback, displaying its complexities intuitively, and what's left. (news.yc, reddit)
Programming Languages
C Compiler Optimizations (pdf): a survey of the assembly difference C compilers generate, how many hand optimizations don't actually gain efficiency when they sacrifice readability, and why you should trust your compiler. (reddit, LtU)
Project Fortress Community: the latest language from Guy Steele (Scheme, Common Lisp, and more) now has a blog aggregator. A Treap implementation gives a flavor of the language, including its mathematical notation and implicit parallelism. (LtU)
GHC Biannual Status Report: includes a summary of parallelism work (reddit)
LuaJIT 2.0 research opportunities: The first LuaJIT 2.0 beta was announced last week. The author outlines what's new and potential research directions.
Miscellaneous
- Why do we have an IMG element?: A history of the HTML element in parable form. (reddit)