Top all-time · #315
Eric Lippert
Personal blog · ericlippert.comprogramming
Eric Lippert writes Fabulous adventures in coding, a personal blog at ericlippert.com about programming. Since 2012, 160 different Hacker News readers have linked it 311 times, most often “Wizards and warriors (2015)”. It is still writing: the last post was on 2026-09-03, and you can follow it by feed.
Sometimes recommended · 14 of 40 sampled comments recommend it?
Why HN links it
HN readers link Eric Lippert's blog for his C# design posts, his Wizards and Warriors series on OOP and game design, the monads series, and his essays on interviewing and new grads versus senior developers.
- Recommended for · 14 comments
- Called awesome, excellent, fantastic and effective; Wizards and Warriors and the monads series are singled out.
Summarised by Claude from a sample of 40 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Eric Lippert's blog
Most-linked posts?
- Wizards and warriors (2015)18 people · 22 mentions · first linked 2016-12-08
- Removing a recursion in Python, part 17 people · 7 mentions · first linked 2017-01-06
- Vexing Exceptions6 people · 9 mentions · first linked 2020-02-03
- Persistence, façades and Roslyn’s red-green trees6 people · 7 mentions · first linked 2017-02-12
- New Grad vs. Senior Dev4 people · 6 mentions · first linked 2020-03-28
- Hundred Year Mistakes4 people · 5 mentions · first linked 2020-02-27
- /2013/02/21/monads-part-one/4 people · 5 mentions · first linked 2017-04-18
- Wizards and Warriors, Part Five4 people · 5 mentions · first linked 2018-02-26
- /2009/11/12/closing-over-the-loop-variable-considered-harmful-part-one/4 people · 4 mentions · first linked 2018-12-18
- A Z-Machine in OCaml (2016)3 people · 12 mentions · first linked 2016-05-17
What Hacker News says?
Very sad that .Now is not a function call. It shouldn't be a property. Evaluating .Now multiple times in a loop will yield different values, which is unexpected. C# did the same and it shouldn't have been: https://ericlippert.com/2014/05/19/when-should-i-write-a-pro...
Comment linking /2014/05/19/when-should-i-write-a-property/
on “JavaScript Temporal is coming”Submitted New Grad vs. Senior Dev as a story · 788 points
HN discussionThis is something I could agree over, Thoughts on technical interviewing. http://ericlippert.com/2015/06/08/interviewing-candidates/
Comment linking /2015/06/08/interviewing-candidates/
on “Google: 90% of our engineers use the software you wrote (Homebrew), but...”Submitted Melting aluminum as a story · 170 points
HN discussionYou might want to check the latest post on this topic on Eric Lippert's blog: http://ericlippert.com/2015/06/01/writing-code-on-whiteboard...
Comment linking /2015/06/01/writing-code-on-whiteboards-is-hard/
on “Google: 90% of our engineers use the software you wrote (Homebrew), but...”Submitted Hundred Year Mistakes as a story · 159 points
HN discussionThis is sort of tangentially related, since TFA doesn't really talk about long hours as such but I definitely prefer the following angle: https://ericlippert.com/2019/12/30/work-and-success/
Comment linking /2019/12/30/work-and-success/
on “How to Work Hard”Submitted So Long, MSDN Blog as a story · 146 points
HN discussionMaking the item system polymorphic was ultimately a mistake, but that was a big one. Q: Why was this was a mistake? A: When you declare a class that’s a kind of item, it locks you into that structure much more tightly than if you just have member elements. It’s nice to be able to use virtual functions and that kind of thing, but the tradeoffs are just too much. I started using a “tool” item in the hierarchy, which s…
Comment linking /2015/05/11/wizards-and-warriors-part-five/
on “How Dwarf Fortress is built”Submitted Eric Lippert is leaving Microsoft as a story · 123 points
HN discussionEric Lippert did a nice blog post on this sort of thing a few months ago: https://ericlippert.com/2020/03/27/new-grad-vs-senior-dev/ The other points he mentions, beyond constant factors, are that algorithms with great theoretical characteristics tend to interact really poorly with gross real-world considerations like the memory hierarchy, and that worst-case performance is not average-case performance.
Comment linking /2020/03/27/new-grad-vs-senior-dev/
on “Data structures and algorithms I actually used while working at tech companies”Submitted Interviewing candidates as a story · 119 points
HN discussionMaybe it's this one? https://ericlippert.com/2020/03/27/new-grad-vs-senior-dev/
Comment linking /2020/03/27/new-grad-vs-senior-dev/
on “The rise of never-ending job interviews”Submitted Bean Machine – A Declarative Probabilistic Programming Language as a story · 91 points
HN discussionI disagree that this would be a "breaking" change as many people have already resorted to using extra () and such a change might actually may "fix" broken code which makes the reasonable assumption that things like == have a higher-order. https://ericlippert.com/2020/02/27/hundred-year-mistakes/ int x = 0, y = 1, z = 0; int r = (x & y) == z; // 1 int s = x & (y == z); // 0 int t = x & y == z; // 0 UGH
Comment linking /2020/02/27/hundred-year-mistakes/
on “Tell HN: C Experts Panel – Ask us anything about C”Submitted Monads explained by Eric Lippert as a story · 82 points
HN discussionCover topics around software development, math, programming languages, and academia: http://stuffwithstuff.com/ https://ericlippert.com/ http://thume.ca/archive.html https://medium.com/@mdwdotla https://faculty.washington.edu/ajko/posts https://computinged.wordpress.com/ https://blog.acolyer.org/ https://blog.sigplan.org/blog/ https://blog.paranoidcoding.com/ https://blog.regehr.org/ https://eli.thegreenplace.net/ h…
Comment linking /
on “Ask HN: Favorite Blogs by Individuals?”- lx · 2015-06-01
Submitted Writing code on whiteboards is hard as a story · 69 points
HN discussion In this case I think not. However I strongly agree with your position and have tried hard to ensure that my code is commented such that it explains why the code works as it does. See https://ericlippert.com/2014/09/08/comment-commentary/ for more thoughts on this subject.
Comment linking /2014/09/08/comment-commentary/
on “New Grad vs. Senior Dev”Submitted A Z-Machine in OCaml (2016) as a story · 64 points
HN discussionEric Lippert's "Wizards and Warriors" blog posts seem appropriate here, especially as an example of how tracking state and OO can clash pretty badly. A common problem I see in object-oriented design is: A wizard is a kind of player. A warrior is a kind of player. A staff is a kind of weapon. A sword is a kind of weapon. A player has a weapon. But before we get into the details, I just want to point out that I am not…
Comment linking /2015/05/11/wizards-and-warriors-part-five/
on “How I Learned to Stop Worrying and Love the State Machine”Submitted What Would Feynman Do? (2011) as a story · 54 points
HN discussionWonder if this project has anything to do with Eric Lippert's move to Facebook ( https://ericlippert.com/2016/02/08/facebook/ - Eric has also been producing a series of blog posts implementing a Z-Machine interpreter in OCaml to run mini-Zork on, starting here: https://ericlippert.com/2016/02/01/west-of-house/ ). Eric was on the C# compiler team at Microsoft and previously worked on JScript.
Comment linking /2016/02/01/west-of-house/
on “Reason: A new interface to OCaml”Submitted How to debug small programs as a story · 52 points
HN discussionApologies, haven't watched the video, but there are some pitfalls when designing around a 'model of the world', especially in OO. I think Wizards and Warriors by Eric Lippert is a perfect illustration of how our initial assumptions and models aren't often the right ones (although it's not so much about data in this case) https://ericlippert.com/2015/04/27/wizards-and-warriors-part...
Comment linking /2015/04/27/wizards-and-warriors-part-one/
on “Talks that changed the way I think about programming”Submitted Myths about finalizers, part two as a story · 48 points
HN discussionYour event approach reminded me of Eric Lippert’s blog post: https://ericlippert.com/2015/04/27/wizards-and-warriors-part... He also ends up with the commands/actions/events/rules (basically emphasize relation over object) as main types in an interesting[0] example of a rule-based game. One of my issues with “mainstream OOP” (at this point I’m not even sure what “real” OOP is) is that it apparently tempts people to…
Comment linking /2015/04/27/wizards-and-warriors-part-one/
on “Case against OOP is understated, not overstated (2020)”Submitted Persistence, façades and Roslyn’s red-green trees as a story · 44 points
HN discussionmakes me think of https://ericlippert.com/2020/03/27/new-grad-vs-senior-dev/
Comment linking /2020/03/27/new-grad-vs-senior-dev/
on “14,000x Speedup (2015)”Submitted Fixing Random as a story · 44 points
HN discussion