The best things and stuff of 2017
Great things and people that I discovered, learned, read, met, etc. in 2017. No particular ordering is implied. Not everything is new.
also: see the lists from 2016, 2015, 2014, 2013, 2012, 2011 and 2010
Great blog posts read
- What’s next? – A wonderful post by Graydon Hoare where he explores what he sees as the direction that compiled languages will/should take in the coming years.
- Data Classes for Java – Brian Goetz runs through some design considerations for data classes in Java. The post highlights the stunning complexities around adding new features to Java. A very good example of a sorely-lacking genre of posting, namely design-thinking style posts.
- AlphaGo Zero: Learning from scratch – The AlphaGo program is generalized to a program that can teach itself game strategies and tactics through self-play.
- The languages which almost became CSS – A fascinating look at some of the languages around at the birth of CSS that might’ve served the same purpose instead.
- Writing an OS in Rust – A nice introduction to OSDev in Rust. I’ve been further exploring Redox OS also and have learned a lot about the Ruut/OSDev possibilities.
- The most beautiful program ever written – Will Byrd talks about the half-page LISP interpreter and its stunning beauty. Best talk of 2017 IMO. I found it inspirational even.
- The complete history of the IBM PC, pt. 1 – A very detailed account of the birth of the IBM PC.
- An English Guide to Sanuki Udon – If you’re a fan of Japanese food then this is a must read.
- Why Kotlin Is Better Than Whatever Dumb Language You’re Using – Very typical Steve Yegge post with his normal wit mixed with his flavor of bombastic.
- Mystery Science Theater 3000: The Definitive Oral History of a TV Masterpiece – A history of the greatest television show ever created.
- How to see the future – Warren Ellis talks about how to see the future, even when it’s already occurred. Inspiring.
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.
- Pascal at Apple – a post where I explored some of the history of the Pascal programming language through Apple’s history. Some great authoritative commentary occurred. More exploration needed.
- Computer Archeology: The Intelligent Machines Journal – Issue 1 Dec. 78 – I sometimes read old computing journals and try to reason about them from my present perspective. In this post I explored the first issue of the journal that would eventually become InfoWorld.
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 2017 that are stellar.
- The Implementation of Prolog by Patrice Boizumault – I took some time to explore Prolog implementations in the first half of the year and this book was indispensable. It’s a niche topic for sure, but if you’re into it then few books match this gem.
- Beneath Apple ProDOS – Continuing my computing archaeology efforts I found this amazing book of old Apple ProDOS hacks.
- The Architecture Machine: Toward a More Human Environment – For many of the early years of computing machines a main idea driving many in their efforts was the idea of using computers as mind amplification and augmentation. Negroponte’s book explore this notion of augmentation with and eye towards human/computer partnership.
- Clause and Effect – In my opinion this is the best introduction to Prolog that I’ve read so far.
- Show Stopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft – In many ways it’s the standard non-technical tech book with tales of overnight coding heroism, broken people, and broken families led by the now legendary (infamous?) Dave Cutler.
Favorite non-technical books read
- Finite and Infinite Games – A game that masquerades about games but that’s really about life. Fascinating read.
- Eichmann in Jerusalem – Another triumph by Arendt and a perfect companion to The Origins of Totalitarianism. An interesting read for these modern times.
- How Green Was My Valley – This is a classic that somehow flew below my radar my entire life. The book describes the trials and times of a humble rural valley intersecting with industrial sensibilities.
- Babel-17 – A nice sci-fi find though it’s one that I’ve put off reading for years. This plays in the same space as the recent film The Arrival, but does so along a slightly different vector.
- The Time Traveller’s Wife – A love story masquerading as a science fiction novel but one that tackles both with incredible feeling and thoughtfulness.
- The Lathe of Heaven – My favorite sci-fi discovery of the year about a man whose dreams shape reality and those who would take advantage of such power. Riveting!
Number of books published
0
Number of books written
1.05 – Wrote a pamphlet of card games that I sent out to friends and family and started on the 3rd edition of The Joy of Clojure
Favorite musicians discovered
- Charles Bradley – Found Bradley while watching Luke Cage and have loved every note since.
- Georgia Sea Island Singers – Great traditional spirituals. Hauntingly beautiful vocal textures abound.
Interesting tabletop games discovered
- Sidereal Confluence : Trading and Negotiation in the Elysian Quadrant – This is the best board game release of the year in 2017, in my opinion. Combines trading and negotiation with resource conversion (think term-rewriting) to make a truly compelling 90-minute experience.
- Bug – A new abstract strategy game by one of m favorite designers Nick Bentley about an ecosystem of polyominoes eating each other.
- FUSE – I’m not a huge fan of dice game, but FUSE adds a realtime element to the game to simulation bomb defusing. Great fun for players of all ages and gaming experience.
- Optimates et Populares – The boutique publisher Hollandspiele is doing a lot of good things these days, but their best game in my opinion is this game of political intrigue in the waning days of the Roman Empire. The game is very tight and the loser is often the person who makes the first mistake.
Favorite science fiction TV series
Black Mirror
Favorite horror films discovered
- The Babadook
- The VVitch
- Train to Busan
Favorite programming languages (or related) I hacked on/with
Programming languages used for work-related projects
Clojure, ClojureScript, Java, Datalog
Programming languages (and related) that I hope to explore more deeply
- Rust – OSDev in Rust. Need I say more?
- Pony – A very interesting language inspired by Erlang with capabilities built in to boot.
- Nim – A “systems” programming language that looks superficially like Python but with some nice static guarantees, multiple compilation targets, and relatively clean FFI.
Favorite papers discovered (and read)
My paper reading has taken a big hit lately thanks to various reasons but here are a few that I enjoyed.
- Inventing the LISA user interface by Perkins, Ludolph, and Keller (WWW) – I’m perpetually interested in retrocomputing topics, especially those with lessons that extend into modern system design considerations.
- Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm by The DeepMind team (PDF) – How a neural network taught itself to become the best Chess, Shogi, and Go players of all time.
- LINCOS: Design of a Language for Cosmic Intercourse by Freudenthal (PDF) – How can designing a language to communicate with aliens help us to design computing systems? Some interesting ideas around the discovery and presentation of new ideas.
- Programming a Problem-Oriented Language by Charles Moore (PDF) – Chuck Moore’s thesis on Forth and its design and core philosophy.
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
Strange Loop 2017 (St. Louis)
Favorite code read
- A blockchain in 200 lines of code – I love fruit-fly code and this one really helped me to understand the fundamental ideas behind how blockchains work.
- Minoca OS – I’ve returned to exploring operating systems development and found this code base very lucid for study.
- ClojErl – A nice Clojure to Erlang compiler in the early stages. Has helped my understanding of Erlang.
- Gopher OS – An effort to write an OS in Go…
- Go bare bones – …and the base ideas behind writing Go closer to the metal.
Life-changing technology “discovered”
- The Instapaper App’s text-to-speech capability – I haven’t read a blog post in a year, but instead have let my Instapaper app read them to me. I now listen to posts and such while jogging and walking. It’s not very good for code-heavy posts however.
State of plans from 2017
- Dive back into Prolog – Refamiliarized myself with the language.
- Restore my personal PLZoo – Code restored and cleaned.
- Read 100 books – Done
- (Finally) Start a hardware project. – Obtained materials for a Morse Code keyboard but did not start yet.
- Write six blog posts – Total fail, but did explore Twitter threads as a medium with mixed results.
- Attend one tech conference – I attended two: Strange Loop and Clojure/Conj.
- Two installments of Read-Eval-Print-λove in 2017 – only one, but I am proud of it.
Listen more – An ongoing effort.
Plans for 2018
Write another little book of games to send to friends and family.
- Give one talk.
- Explore mentorship more seriously.
- Write 6+ blog posts.
- Create a hobby programming language.
- Read 100 books, including Don Quixote
- Play more 18XX games.
- Rethink and reorganize my website.
Onward to 2018!
:F
6 Comments, Comment or Ping
Rob Friesel
Delighted to see Babel-17 on here; also prods me to get on with Lathe of Heaven.
Also: at this point you should put off reading Snow Crash until your deathbed.
Jan 2nd, 2018
Samrat
Sorry to be nitpicky, but you’ve used “this year” to refer to both 2017 and 2018 :)
Jan 2nd, 2018
Ghost
Thanks, Waiting every year for your best-things article
Jan 3rd, 2018
Benji York
Do read A Fire Upon the Deep and follow it up with the two prequels. You won’t be disappointed.
Jan 4th, 2018
Nathan
I second A Fire Upon the Deep!
Jan 4th, 2018
PaMar
I have mixed reactions seeing “Finite and Infinite Games” praised in your list.
I bought it many years ago, but while I found the idea interesting, and even if it is fairly short… I didn’t finish it.
Reason: it looks (to me) that the author just kept repeating and reformulating the same core concepts over and over. It would have been great as an article, but it could not really fit the “book” format.
Jan 5th, 2018
Reply to “The best things and stuff of 2017”