In this talk Rich Hickey makes a distinction between "simple" and "easy" to justify some oft advanced (if rather anti-OOP) software engineering practices: prefer composition, avoid state, try not to mess up your data by wrapping it in objects.
On the pitfalls of trying to keep secrets out of Python's memory. [Spoiler: there's no good way.]
A nicely done tutorial on creating a snake game with a Reactive/Observable style library in JavaScript.
The one where Michael Burge writes a chess engine to demonstrate how to load and execute arbitrary machine code from a Python user-defined function from within Amazon's Redshift database service.
Ben Hoyt's account of contributing a feature to Python's standard library is a good account of the open-source process gone well.
I haven't used Julia for anything yet, but I like that it not only optimizes explicit for-loops, but it also fuses code using vectorized-syntax even for user-defined functions and types. Compared to Matlab/Octave, Python, and R where loops are very (very)* slow and vectorized code is only fast for certain operations and library functions, it is appealing.
Julia also has annotations that can be use to explicitly tell the compiler to turn off bounds checking and emit SIMD instructions for loops.
- The Numba package brings JIT capability to CPython (and so numpy), and probably compares most favorably to Julia than the other languages. Octave also has an experimental JIT compiler (seems like a lot of overhead going from interpreter to machine code), as do recent versions of Matlab (since R2015b). R since 2.14.0 includes the 'compiler' package, a bytecode interpreter and JIT (which compiles to bytecode, not machine code), which probably helps for long-running loops.
molsson compares several JavaScript testing frameworks.
Home page of Ingemar Ragnemalm, the author of the Sprite Animation Toolkit and several games for MacOS, and a major contributor to the book "Tricks of the Mac Game Programming Gurus" (1995).
I just discovered Don Lancaster's website (of TTL Cookbook fame). This could keep me busy for a while.
He even keeps an active weblog: http://www.tinaja.com/whtnu17.shtml
It's funny because it's true.
A more serious take: https://medium.com/front-end-hacking/how-it-feels-to-learn-javascript-in-2017-a934b801fbe
A nice writeup (with illustrations) on some CSS rendering optimizations.
Guido recounts some of the history of adding closures to Python.
Brett Cannon traces the evolutionary path from Python 2's generators to Python 3.5's async/await coroutines.
A nice, straight-forward description of a 3d software rasterizer written in Swift.
This is a record of historically important programming languages, by decade.
"Embracing HTTP error code 410 means embracing the impermanence of all things."
- Mark Pilgrim, March 27, 2003 (diveintomark.com)
A very handy overview and comparison of the various file-locking mechanisms available on Unix systems (includes Linux 3.15's "open file description locks").
On the futility of Unix file locks (especially on networked file systems).
Note that Linux 3.15 introduced "open file description locks" to fcntl, which combines the semantics of BSD flock (lock associated with open file) with the record-locking and NFS-compatibility of fcntl. That solves everything except for portability.