Somehow I stumbled across the inaugural issue of the Hacker School journal: Code Words: A quarterly publication about programming from Hacker School.
I haven't had time to read the entire issue yet, but so far I'm really pleased.
You know that you're really reading a publication targeted at programmers when the first paragraph of the first article is as follows:
Floating point is a giant mess. There are known best practices for most issues that come up in everyday use (e.g., using Kahan summation or adding stochastic noise to reduce aggregate numerical error), but there are still corner cases. Different libraries and implementations give different results because there’s no generally accepted standard.
"Numerical error"? "Kahan summation"? "Stochastic noise"?
Oh, yes, yes, YES! Bring it on!
And I also really enjoyed An introduction to functional programming, with its straight-forward, plain-english approach:
When people talk about functional programming, they mention a dizzying number of “functional” characteristics. They mention immutable data, first class functions and tail call optimisation. These are language features that aid functional programming. They mention mapping, reducing, pipelining, recursing, currying and the use of higher order functions. These are programming techniques used to write functional code. They mention parallelization, lazy evaluation and determinism. These are advantageous properties of functional programs.
Ignore all that. Functional code is characterised by one thing: the absence of side effects. It doesn’t rely on data outside the current function, and it doesn’t change data that exists outside the current function. Every other “functional” thing can be derived from this property. Use it as a guide rope as you learn.
They seem to be off to a great start, so I'm hoping that Hacker School continue to find success, and continue to publish more issues of their journal.
Meanwhile, reading the journal led me to the Hacker School blog, which seems pretty great too; I particularly like their "Read Along" feature, in which they select a research topic each week, post a pointer to the paper with some introductory thoughts, and encourage the audience to read along with the paper and contribute their own reactions.
If you're looking for some good reading to strengthen and extend your programming skills, give the Hacker School publications a try!