Top all-time · #998
malisper.me
Personal blog · malisper.me · on HN as malisperprogrammingcareer
malisper.me is a personal blog at malisper.me about programming and career. Since 2015, 66 different Hacker News readers have linked it 150 times, most often “Debugging Lisp (2015)”. It is still writing: the last post was on 2026-10-29, and you can follow it by feed.
Sometimes recommended · 12 of 40 sampled comments recommend it?
Why HN links it
HN readers link malisper.me mainly for its Common Lisp debugging series, which commenters point to for live recompilation, inspection and restarts. Commenters also point to posts on interview prep and Postgres work.
- Recommended for · 12 comments
- Called "very helpful", "a good example" and "a good article"; the Common Lisp debugging series is the main pick, with the interview-prep post also recommended.
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.
malisper.me
Most-linked posts?
- Debugging Lisp (2015)8 people · 8 mentions · first linked 2019-08-19
- Debugging Lisp Part 1: Recompilation7 people · 13 mentions · first linked 2018-12-31
- The four horsemen behind Postgres outages6 people · 8 mentions · first linked 2026-05-07
- An Algorithm for Passing Programming Interviews (2020)5 people · 6 mentions · first linked 2020-03-06
- Building Fizzbuzz in Fractran from the Bottom Up (2016)4 people · 6 mentions · first linked 2019-06-04
- Debugging Lisp Part 1: Recompilation (2015)4 people · 5 mentions · first linked 2017-06-29
- How to Generate Self-Referential Programs4 people · 5 mentions · first linked 2016-04-20
- Debugging Lisp Part 1: Recompilation4 people · 5 mentions · first linked 2015-07-08
- My Approach to Getting Dramatically Better as a Programmer4 people · 5 mentions · first linked 2020-02-06
- Postgres in Rust: three dead ends before we passed 100% of the regression suite3 people · 3 mentions · first linked 2026-07-23
What Hacker News says?
Thanks for your extensive write-up. PHP's definitely not my thing, but I appreciate your view of the process to iteratively dig (and dig, and dig...) into the details. By the way, if you're looking for instant introspection, changes and carrying on, you should have a look at what you get with Common Lisp. You're able to redefine code on the fly, and continue from where things stopped. This blog post series goes into…
Comment linking /category/debugging-common-lisp/
on “Crystal 1.0 – What to expect”Submitted An Algorithm for Passing Programming Interviews (2020) as a story · 411 points
HN discussionI may be missing some massive leap but until it does this http://malisper.me/2015/07/07/debugging-lisp-part-1-recompil...
Comment linking /2015/07/07/debugging-lisp-part-1-recompilation/
on “How to write Common Lisp in 2017 – an initiation manual”Submitted Improving my productivity as a working programmer (2017) as a story · 234 points
HN discussionYour confusion will go away once you recognize that Scheme is not Lisp. For most purposes, Lisp means Common Lisp, or one of the Lisps that ended up merging into Common Lisp. That means that Lisp does all of these things and more, which you might not expect if you've only seen Scheme/SICP: * Multi-paradigm programming (functional programming in the immutable sense is not dominant, the Lisp OOP system is top class, m…
Comment linking /debugging-lisp-part-1-recompilation/
on “How knowing Lisp destroyed my programming career (2006)”Submitted JIT Compiling Code in 5μs as a story · 167 points
HN discussionHead's up. Depending on the circumstances, multiple updates are vulnerable to a race condition known as "read skew". If a user's status changes while the multiple update transaction is executing, their status can wind up in a bad state. Here's a demonstration: > CREATE TABLE reward_members (id bigint, member_status text); > INSERT INTO reward_members (values (0, 'silver')); > BEGIN; > UPDATE reward_members SET membe…
Comment linking /postgres-transaction-isolation-levels/
on “My Favorite PostgreSQL Queries and Why They Matter”Submitted Debugging Lisp, Part 5 as a story · 131 points
HN discussionSICP uses Scheme, which is not Lisp. It was taught at an introductory level because some concepts of computation can be taught nicely with Scheme, up to making a compiler for another language (perhaps a "real" language in the student's minds?), but it doesn't actually teach you Lisp, and I imagine leaves a bad taste in many students' mouth at the nonsense no-for-looping-no-mutation they had to suffer through which i…
Comment linking /2015/07/07/debugging-lisp-part-1-recompilation/
on “Not Lisp again (2009)”Submitted Debugging Lisp (2015) as a story · 117 points
HN discussionAre most Perl programmers ignorant of the camel book? For the others I might agree. For myself, I learned a little bit of HTML "on the fly" (and had the help of a short web series to teach me a few tags, this was before w3schools, or at least before I knew about it) but a friend who was letting me host and FTP onto a subdomain of his shared server noticed I could trivially get rid of a ton of repetition by using PHP…
Comment linking /debugging-lisp-part-1-recompilation/
on “The Common Lisp Cookbook”Submitted Debugging Lisp Part 1: Recompilation as a story · 88 points
HN discussionAuthor here. Feel free to ask me any questions. By the way, the 10 million number in the title is outdated. It's now about 30 million indexes. Also, I've been publishing one blog post a weekday on my personal blog about one Postgres feature or component. If you liked this post, you should check it out: http://malisper.me
Comment linking /
on “Running 10M PostgreSQL Indexes in Production”Submitted Debugging Lisp Part 3: Redefining Classes as a story · 84 points
HN discussionI find it funny and also ironic that a lot of modern languages re-discover Lisp's amazing features decades later. The other day I was infuriated to see my Python program halt after 9 hours of API calling to my own home server. The API calls were similar (calling an LLM with a pre-defined prompt template, constrained using grammars). I wanted to save the state of the program and exit it before running the remaining i…
Comment linking /debugging-lisp-part-1-recompilation/
on “Homoiconic Python”Submitted Debugging Lisp Part 2: Inspecting as a story · 79 points
HN discussionMaybe start with https://lispcookbook.github.io/cl-cookbook/emacs-ide.html The 'magic' though isn't really that emacs dependent; if you like vim (like I do) you can use vim and still get that amazing experience. https://lispcookbook.github.io/cl-cookbook/editor-support.ht... has some details on alternatives. Anyway, the magic or synergy is really a combination of: CL itself being designed to support interactive deve…
Comment linking /debugging-lisp-part-1-recompilation/
on “Common Lisp vs Racket”Submitted Generating Fractals with Postgres: Escape-Time Fractals as a story · 69 points
HN discussion> Following the guidance in the article, despite its best efforts, will lead to lots of code. I don't think that's necessary the case. My goal in being productive is to produce the biggest wins in the least amount of time possible. In many cases you do that by coming up with a better design and writing less code to begin with. In fact, I wrote another post[0] on how I approach becoming a better programmer. The two k…
Comment linking /my-approach-to-getting-dramatically-better-as-a-programmer/
on “Improving my productivity as a working programmer (2017)”Submitted Debugging Lisp Part 1: Recompilation (2015) as a story · 68 points
HN discussionI have a unique perspective on this as I've been working on rewriting and rearchitecting Postgres to solve a lot of the long standing issues Postgres has[0][1]. If I had to root cause why we're finding so many bugs now, I would attribute it to the limited Postgres test suite. AI is merely uncovering bugs that already existed. For the most part, Postgres relies on individual regression tests to test each feature. Whi…
Comment linking /the-four-horsemen-behind-thousands-of-postgres-outages/
on “Postgres 19 delayed after AI reviewers find more bugs than humans can fix”Submitted How to Generate Self-Referential Programs as a story · 62 points
HN discussionI agree with GP about refraining from "best practices" type advice -- at most leave it as "I prefer doing it this way". (Example: There was no mention of qlot for a form of version pinning, which would be considered a "best" or at least "standard" practice in other ecosystems, but while I use it I'm not going to insist other Lispers I don't work with do so too. They can keep doing things how they like. Common Lisp i…
Comment linking /debugging-lisp-part-1-recompilation/
on “Modern, functional Common Lisp: myths and best practices”Submitted Building Fizzbuzz in Fractran from the Bottom Up (2016) as a story · 44 points
HN discussionCool, I'm assuming this is largely driven by mouse usage, as well? I'm always baffled by how long it has been since I was used to step debugging. It was definitely something that was huge when I was learning, but seemed to get left behind by so many practices. My general memory is that it was growing and the likes of JRebel were aiming for very powerful uses of debugger connected development experiences. Eclipse, as…
Comment linking /debugging-lisp-part-5-miscellaneous/
on “Graphics livecoding in Common Lisp”Submitted Debugging Lisp Part 4: Restarts as a story · 42 points
HN discussionI can definitely relate to the struggle of debugging slow SQL queries. I've been optimizing Postgres for the last three years for my day job. There's nothing like spending hours trying to determine why a query is slow, only to discover some bizarre incantation makes the problem go away. I had one case where adding OFFSET 0 to a query, which did not change the semantics of the query, made the query ~10x faster. It tu…
Comment linking /postgres-toast/
on “A Tale of Query Optimization”Submitted Building Fizzbuzz in Fractran from the bottom up as a story · 37 points
HN discussionThis might help https://malisper.me/category/debugging-common-lisp/ I am not aware of another lang/platform that can offer this kind of flexibility except may be Smalltalk or Erlang, but then they don't have the homoiconicity.
Comment linking /category/debugging-common-lisp/
on “Why Racket? Why Lisp? (2014)”Submitted Loops in Lisp Part 3: Iterate (2016) as a story · 18 points
HN discussion