Great things and people that I discovered, learned, read, met, etc. in 2016. No particular ordering is implied. Not everything is new.
Great blog posts read
- AlphaGo under a magnifying glass – In a year filled to the brim with garbage news and events, one very bright spot for me was the Lee Sedol vs. AlphaGo match. There were many articles about the theory and implementation of AlphaGo, but the “under a magnifying glass” series was my favorite.
- Literate DevOps – Over the years I’ve vacillated between love and not-love for Literate Programming, but its use in DevOps seems very compelling.
- Developer hiring and the market for lemons – Dan Luu’s site is my favorite technical writing on the web at the end of 2016. I doubt that standing will change any time soon. The whole site is amazing, but his writing are especially thoughtful and nuanced.
- Tiny Lisp computer – plus (part 2 — In the lead as my hardware project for 2017.
- The secret lives of Tumblr teens – Being a teen has always sucked, but it’s especially hard in a world of ubiquitous computing, social media, and superficial connections.
- A glimpse into the Apollo guidance computer – A very nice overview of this historic code and information about it.
- Alan Kay’s comments on HN – Yes. Alan Kay occasionally posts on Hacker News.
- The glorious horror of TECO – Any program as influential as TECO and described as a “glorious horror” is worth at least checking out for a hot-second.
- Jack Kerouac’s home-brew tabletop baseball game – Kerouac spent a large portion of his life developing a baseball simulation that he would play in his spare time and write fake sports news about.
- Is the competitive Bridge world rife with cheaters? – Spoiler: probably.
- Frameless geodesic dome – WJW.
- The David W. Niven collection of early Jazz legends – A list that should take me 10 years to work my way through.
- Deep Learning in Clojure With Cortex – My co-worker Carin Meier knocks another out of the park – this time trying to distinguish cats from dogs!
- Contempt culture – People in general are haters. However, when paychecks are involved then all sense of decorum in online discussions revolving around tech fly right out the window. Tech is not a meritocracy but instead a culture of contempt whereby “merit” is defined in terms of arbitrary, inconsistent, and fleeting Venn diagrams.
Most viewed blog posts by me
I’ve been scaling back on blogging the past two years and have tried something different instead – Read-Eval-Print-λove. That said, there were a couple of high-traffic posts on my blog.
- Clojure/West 2016 – My overview of the conference and the things I saw and heard.
- Link Age 001 – 010 – Just a series of link aggregation posts.
Favorite technical books discovered (and read)
I’ve intentionally reduced the number of technical books that I consume, but there are a few that I “found” in 2016 that are stellar.
- Site Reliability Engineering: How Google Runs Production Systems – A books that’s often quite specific to the Google experience, but that has a enough thought-provoking gems of wisdom around systems building and systems thinking to last a career.
- Geeks bearing gifts by Ted Nelson – The ultimate in tech curmudgeon-hood.
- Memory Machines by Belinda Barnet – A wonderful history of Hypertext and Hypertext-centric systems.
- The Little OS Book by Erik Helin and Adam Renberg – I am a complete sucker for hobby OSes and information on how to create them…
- Writing an interpreter in Go by Thorsten Ball – … ditto for hobby programming languages.
- The RISC-V architecture specification
Favorite non-technical books read
- Wolf Hall by Hilary Mantel – (part 2 ‘Bring up the bodies‘ is also great.
- Girl in a band by Kim Gordon – The biography of a personal hero.
- I put a spell on you by Nina Simone – Bought on a whim at my favorite Seattle book shop. A riveting life.
- The character of physical law by Richard Feynman – I always find Feynman’s enthusiasm infectious.
- Wuthering Heights by Emily Brontë – I’m overjoyed to have finally read this classic filled to the brim with anti-heroes and generally unlikable characters.
- 100 years of solitude by Gabriel Garcia Marquez – An instant top-20 book for me. This one needs deeper study.
Number of books read
Number of books published
Number of books written
0.01 (an outline)
Favorite musicians discovered
- Kishori Amonkar – A divine voice.
- Elegi – In my ear when I write code.
- Pakistani Qawalli – Transporting
Interesting games discovered
- King Chocolate – Ugly as heck, but a fun abstract game about production line management and shared incentives.
- Patchwork – A game that follows a simple formula (buttons / time) but the tenseness lies in squeezing just a little more from the formula than the other player.
- MeM – An old game that’s long out of print but that can be made from things laying around the house. MeM is a brain-melting pattern matching game requiring healthy doses of lateral thinking.
- Night Witches RPG – I only just started exploring RPGs after many years on pause, but this is the best I’ve seen so far.
- 1817 – A very heavy game of stock manipulation and holding centered on the early locomotive industry. Not for the weak of heart.
- So Long Sucker – A game invented by John Nash to explore game theory using only a handful of poker chips. Utterly nasty and backstabby. You have been warned.
- Tramways – A medium-heavy game centered on building tramways and transporting people around the city. The best take on Age of Steam (an all-time favorite for me) since Age of Steam.
- Pyramid Arcade – My personal game of the year (but I’m biased in favor of friends — grain of salt and all that). A game-kit built on the Looney Pyramids game system with the rules for 22 games included and the materials for literally hundreds more.
Favorite science fiction TV series
Favorite programming languages (or related) I’ve hacked on/with this year
Programming languages used for work-related projects this year
Clojure, ClojureScript, Java, Datalog
Programming languages (and related) that I hope to explore next year
- Rust – OSDev in Rust. Need I say more?
- Black – One more try!
- Idris – Idris is probably the most exciting language that I’ve seen since I found Clojure.
- Prolog (yet again again)
Favorite papers discovered (and read)
My paper reading has taken a big hit this year thanks to various reasons (one of which I mention later) but here are a few.
- Implementing Function Spreadsheets by Peter Sestoft (PDF) – Spreadsheets are infinitely fascinating.
- A History and Discography of the Oboe in Jazz by Kimberly Everett Ganong (PDF) – My son plays oboe, so I was interested in the topic for a while.
- Adding a third stack to a Forth engine by Rick VanNorman and Phil Koopman (PDF) – I read this in preparing for REP<3 003 but never did anything with it.
Still haven’t read…
Snow Crash, A Fire upon the Deep, Norwegian Wood, The Contortionists Handbook and a boat-load of scifi
Favorite technical conference attended
Clojure/West 2016 (Seattle)
Favorite code read
- Genode – As an old fan of OSKit, Genode really scratches an itch for me.
- Terrain – Map generation with JS.
- LlamaDB – An SQL DB in Rust.
- intermezzOS – An OS in Rust.
- Barliman – A smart text editor (more interesting than you think).
Life-changing technology “discovered”
- YouTube – Maybe I’m a bit late to the party here, but though I’ve of course known about YouTube since its inception, I’ve mostly stayed away until this year. It wasn’t until I realized that I could explore lectures about philosophy, talks on Smalltalk/production rules/Clojure/Prolog/whatever, ripped Alan Watts LPs, interviews with Noam Chomsky or Alex Randolph or Alan Kay or Aldous Huxley, lectures on C.S. and math, game instructions, Go analysis, old punk shows, 80s public access TV, Dark Shadows, game design discussions, critical film reviews, and tons of topics from highbrow through middlebrow into lowbrow (if that’s your thing). I still never read the comments though.
State of plans from 2016
- Publish (at least) two issues of Read-Eval-Print-λove – Volume 003 was about Forth and Volume 4 is about Production Rules. Two issues yes, but V003 was practically done this time last year. (1/2 Success)
- Apply 100:10:1 to other areas of my creative life – Huge win! A nice side effect is that I’ve “throw away” more code and words than ever. I consider this a good thing. (Success)
- Release Tathata. (Fail)
- Create a programming language that “speaks to me” – (In progress)
- Read 100 books – (Success)
- Take more time to discover new music. (1/2 Success)
Plans for 2017
- Dive back into Prolog – I used Prolog quite a bit in grad school and even got onto a Visual Prolog project early in my career. At one point I built a very small implementation in Java based on the ideas in Campbell’s ‘Implementations of Prolog‘ that I’d like to resurrect as part of…
- Restore my personal PLZoo – I have a bunch of little languages that I’ve hacked on over the years that I’d like to collect into a coherent “programming language zoo” a la Andrej Bauer’s inspiring work.
- Read 100 books
- (Finally) Start a hardware project.
- Write six blog posts – Luu has inspired me to pick this up again.
- Garden my website.
- Attend one tech conference.
- Visit Europe – I’m thinking Austria.
- Two installments of Read-Eval-Print-λove in 2017.
- Listen more.
Onward to 2017!