Great things and people that I discovered, learned, read, met, etc. in 2011. No particular ordering is implied. Not everything is new. Great blog posts read --------------------- * [Xv6: Unix v6 Ported to ANSI C, x86](http://os-blog.com/xv6-unix-v6-ported-to-ansi-c-x86/) -- *in fact, the [OS Blog](http://os-blog.com/) is one of my favorite new blogs.* * [Category theory for the Java programmer](http://reperiendi.wordpress.com/2007/11/03/category-theory-for-the-java-programmer/) -- *a fairly nice take on the subject.* * [A brief overview of the Clojure web stack](http://brehaut.net/blog/2011/ring_introduction) -- *my notes taken at the time are prefaced with WJW.* * [To Dissect a Mockingbird: A Graphical Notation for the Lambda Calculus with Animated Reduction](http://dkeenan.com/Lambda/index.htm) -- *I came to this post ~10 years late, but boy was it worth the wait.* * [Itsy-OS Kernel: Preemptive Switcher & Memory Manager](http://www.retroprogramming.com/2011/03/itsy-os-simple-preemptive-switcher.html) -- *I am a complete sucker for this kind of post. I played with the idea of an OSDev blog like no other, but never got past the outline stage... one day.* * [Monads are not metaphors](http://www.codecommit.com/blog/ruby/monads-are-not-metaphors) -- *Daniel with the 1,000,000th post on monads actually covers fresh ground!* * [Minimally awesome TODOs](http://blog.jerodsanto.net/2010/12/minimally-awesome-todos/) -- *a 2010 post that I didn't read until much later. Lifehack posts tend to bore me, but this one is oddly compelling* * [Using JavaScript Libraries in ClojureScript](http://lukevanderhart.com/2011/09/30/using-javascript-and-clojurescript.html) * [My Keyboard](http://mykeyboard.co.uk/) -- *I love fanatics.* * [A World in a Ref](http://clj-me.cgrand.net/2011/10/06/a-world-in-a-ref/) -- *Christophe never fails to make me think and this post is no exception. This time he tackles the problem of STM refs containing uber-structures.* * [The future of programming](http://pchiusano.blogspot.com/2011/12/future-of-programming.html) -- *yes yes, a thousand times yes!* * [10,000 hours](http://groups.google.com/group/clojure/msg/d52aff66b951b460?utm_source=feedburner&utm_medium=twitter&utm_campaign=Feed:+hackernewsyc+(Hacker+News+YC)&pli=1) Most viewed blog posts by me ---------------------------- 1. [10 Technical Papers Every Programmer Should Read (At Least Twice)](http://blog.fogus.me/2011/09/08/10-technical-papers-every-programmer-should-read-at-least-twice/) -- *25% of the total hits for my site were on this post. I had to buy extra bandwidth from my provider... 3 times.* 2. [Programming language development: the past 5 years](http://blog.fogus.me/2011/10/18/programming-language-development-the-past-5-years/) 3. [Perlis Languages](http://blog.fogus.me/2011/08/14/perlis-languages/) Favorite technical books discovered (and read) ---------------------------------------------- * [Smalltalk Best Practice Patterns](http://www.amazon.com/gp/product/013476904X?tag=fogus-20) by Beck -- *Where the GoF patterns book strives to add features to stunted languages, Beck effortlessly adds fluency to the super-charged Smalltalk. This book has shook me to the core as much as [Thinking Forth last year](http://blog.fogus.me/2010/12/30/the-best-things-in-2010/) and provoked all manner of interesting ideas in my bat-addled brain.* * [Release It!: Design and Deploy Production-Ready Software](http://www.amazon.com/gp/product/0978739213?tag=fogus-20) by Nygard -- *Nygard and Russ Olsen are probably the best tech writers writing books right now. This book was an absolute joy to read.* * [Closure: The Definitive Guide](http://www.amazon.com/gp/product/1449381871?tag=fogus-20) by Bolin and [High Performance JavaScript](http://www.amazon.com/gp/product/059680279X?tag=fogus-20) by Zakas -- *Essential reading for my work with [ClojureScript](http://github.com/clojure/clojurescript).* * [Introduction to Functional Programming](http://www.amazon.com/gp/product/0134841891?tag=fogus-20) by Bird and Wadler -- *A gem of the highest order. Make sure you read the linked edition and not the later ones.* * [Functional Programming and its Applications: An Advanced Course](http://www.amazon.com/gp/product/0521245036?tag=fogus-20) by Henderson -- *A hidden gem of the highest order. A book of essays on FP well worth the effort to find an affordable copy.* * [Learn You a Haskell for Great Good!](http://www.amazon.com/Learn-You-Haskell-Great-Good/dp/1593272839?tag=fogus-20) by Lipovača -- *The best book on Haskell; by far.* Favorite non-technical books read --------------------------------- * [Intellectual Impostures](http://www.amazon.com/gp/product/1861976313?tag=fogus-20) by Sokal and Bricmont * [Titus Groan](http://www.amazon.com/Titus-Groan-Mervyn-Peake/dp/1585679070?tag=fogus-20) by Peake * [Sirens of Titan](http://www.amazon.com/Sirens-Titan-Novel-Kurt-Vonnegut/dp/0385333498?tag=fogus-20) by Vonnegut * [You are Not a Gadget](http://www.amazon.com/gp/product/0307269647?tag=fogus-20) by Lanier * [The Book: On the Taboo Against Knowing Who You Are](http://www.amazon.com/gp/product/0679723005?tag=fogus-20) by Watts * [Asleep](http://www.amazon.com/gp/product/0802138209?tag=fogus-20) by Yoshimoto ## Number of books read [81](http://www.goodreads.com/review/list/266149-michael?page=1&shelf=2011_read&view=covers) ## Number of books published [1](http://joyofclojure.com) ## Number of books written 0 ## Number of papers read ≈ 170 ## Number of papers read deeply ≈ 20 Favorite musicians discovered ----------------------------- Hobo Cubes, Fleet Foxes, Junip, Pulp, Raphael Toral, Deadmau5 ## Favorite TV series about zombies The Walking Dead ## Favorite programming languages (or related) Clojure, ClojureScript, Haskell, Self, Qi, Factor, Datalog, OCaml, Ruby ## Programming languages used for projects both professional and not Clojure, Scala, Java, Python, JavaScript, SQL, Bash, make, Ruby, C, Common Lisp, Scheme, Prolog, Datalog, CoffeeScript, Haskell, OCaml ## Favorite papers discovered (and read) * Growing a Syntax by Culpepper, et al. * Hygienic Macros through Explicit Renaming by Clinger * RRB-Trees: Efficient Immutable Vectors by Bagwell and Rompf * cKanren by Alvis, Friedman, and Byrd * An Accidental Simula User by Cardelli * Flapjax: A Programming Language for Ajax Applications by Meyerovich * KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs by Cadar, et al. ## Still haven't read... Snow Crash, Spook Country, A Fire upon the Deep, Ulysses, Programmer avec Scheme, Logic Programming and Databases, Norwegian Wood, The Contortionists Handbook, Usagi Yojimbo ## Best conference attended [The second Clojure Conj](http://clojure.com/blog/2011/11/17/second-conj.html) ## People met, read, worked with, followed, and/or corresponded with whom motivated and/or influenced me greatly and always made me think My wife, my kids, Christopher Houser, Christophe Grand, Rich Hickey, David Nolen, Stuart Halloway, David Liebke, Russ Olsen, Peter Seibel, Sam Aaron, Bob Nystrom, Brenton Ashworth, Anthony Simpson, Daniel Spiewak, Zachary Kim, Steve Yegge, Outlaw Vern, Meikel Brandmeyer, Chas Emerick, Jeremy Ashkenas, Oleg Kiselyov, Mark Tarver, Carin Meyer, Ambrose Bonnaire-Sergeant, Phil Bagwell, Clinton Nixon, Stuart Sierra, MenTaLguY, and Reginald Braithwaite. ## Favorite code read [Tangle](http://worrydream.com/Tangle/) [Everything on Wouter van Oortmerssen's website](http://strlen.com/) [Avout](http://avout.io) [A Tiny C compiler in Forth](https://groups.google.com/group/comp.lang.forth/msg/98fc97704cda1b07?hl=enbfc97704cda1b07&) [Self](https://github.com/russellallen/self) [core.logic](https://github.com/clojure/core.logic) [Christophe's Game of Life](http://clj-me.cgrand.net/2011/08/19/conways-game-of-life/) ## Life changing technology [Kindle DX](http://www.amazon.com/Kindle-DX-Wireless-Reader-3G-Global/dp/B002GYWHSQ?tag=fogus-20) [org-mode](http://orgmode.org/) -- *I'm really starting to come around.* ## Plans for 2012 - More Ruby - Read more fiction