Work in progress: 181,232 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #9611

K

Karim Hamidou

Personal blog · khamidou.com · on HN as karimprogrammingcareer

Karim Hamidou's personal blog at khamidou.com covers programming and career. Since 2013, 8 different Hacker News readers have linked it 21 times, most often “Show HN: A very simple Lisp interpreter in 250 lines of literate Python”. It is still writing: the last post was on 2026-10-20, and you can follow it by feed.

Visit the blog
21mentions?
8HN people?
2013–2026first – last linked?
Links on Hacker News per year · peak 5 in 2018

Too few sampled comments (6) to say how often HN recommends it.?

Why HN links it

Linked as side-by-side annotated code: a Python Lisp interpreter (lisp.py) and a GPT-2 rebuild, cited as examples for learning to build your own interpreter or LLM.

Summarised by Claude from a sample of 6 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

The author on HN?

karim · 906 karma · member since 2009

Hiya, I'm Karim! I'm happy to chat --- just send me an email at "hello" @ khamidou.com!

From their public HN profile, which links to this site.

Most-linked posts?

  1. Show HN: A very simple Lisp interpreter in 250 lines of literate Python
    3 people · 4 mentions · first linked 2017-07-01
  2. Lisp.py
    3 people · 3 mentions · first linked 2022-07-20
  3. Show HN: Rebuilding GPT2 inference in ~500 lines of (commented) code
    2 people · 2 mentions · first linked 2025-08-26
  4. Let's build an online code sandbox
    2 people · 2 mentions · first linked 2018-01-02

What Hacker News says?

  1. Here is a Javascript program that implements the basics of the git version control system. It is a literate program with a prose explanation in side-by-side format: http://gitlet.maryrosecook.com/docs/gitlet.html Here is another side-by-side example. It is a Python program that implements a very simple interpreter for the Lisp programming language. http://khamidou.com/compilers/lisp.py/

    Comment linking /compilers/lisp.py/

    on “Ask HN: “Write your own” or “Build your own” software projects”
  2. Submitted Lisp.py as a story · 85 points

    HN discussion
  3. I’ve actually written a short blog post about it ( http://khamidou.com/sandboxing/ )! Basically, most of them build a sandbox to prevent the guest system from interacting in unexpected ways. There’s a bunch of ways you could do this — intercepting syscall, limiting them using seccmp(2), etc.

    Comment linking /sandboxing/

    on “Ask HN: How Do Services Like PythonTutor and Repl.it Run Code Safely”
  4. Submitted When programmers write sale pages as a story · 16 points

    HN discussion
  5. Sorry to self-promote but I did exactly that a few months back: https://khamidou.com/gpt2/ Generally, I think the Karpathy tutorials are a good starting point but they're very mathy (despite people telling you you only need high school math to understand llms, a lot of the abstractions and concepts he uses are a bit foreign to programmers). I found out rebuilding inference of a known model taught me a lot more than…

    Comment linking /gpt2/

    on “Ask HN: Build Your Own LLM?”
  6. Submitted Show HN: Rebuilding GPT2 inference in ~500 lines of (commented) code as a story · 5 points

    HN discussion
  7. Could it be a framework / library? Since it looks exactly like [0] [0] https://khamidou.com/compilers/lisp.py/

    Comment linking /compilers/lisp.py/

    on “Lithp.py (~2008)”
  8. Submitted Show HN: A very simple Lisp interpreter in 250 lines of literate Python as a story · 5 points

    HN discussion
  9. Well there's Make a Lisp [0]. And Lispy [1] and Lispy2 and Lisp.py [3]. [0] https://github.com/kanaka/mal [1] https://norvig.com/lispy.html [2] https://norvig.com/lispy2.html [3] https://khamidou.com/compilers/lisp.py

    Comment linking /compilers/lisp.py

    on “Don't Build Your Own Lisp”
  10. Submitted Lisp.py as a story · 3 points

    HN discussion
  11. > http://khamidou.com/compilers/lisp.py/ Lacks an actual description of the grammar/semantics of the implemented language. Should this work: ((lambda (foo) (+ foo 3)) 39) or this (begin (define foo (lambda (a) (lambda (b) (+ a b)))) (define bar (foo 20)) (print (bar 22))) > As you can see, it turns out its pretty easy to make your own interpreter but of what language? If you don't document the language you are tryin…

    Comment linking /compilers/lisp.py/

    on “Ask HN: Example of annotated source code”
  12. Submitted Let's build an online code sandbox as a story · 3 points

    HN discussion
  13. Small git clone in javascript: http://gitlet.maryrosecook.com/docs/gitlet.html Small Lisp interpreter in Python: http://khamidou.com/compilers/lisp.py/ If you are interested in annotation formats other than side-by-side, many Jupyter or IPython notebooks would qualify, for example Peter Norvig's programming exercises: https://github.com/norvig/pytudes

    Comment linking /compilers/lisp.py/

    on “Ask HN: Example of annotated source code”
  14. Submitted Programming and negativity as a story · 3 points

    HN discussion
  15. Submitted How to write a good engineering job post as a story · 2 points

    HN discussion
  16. Submitted Sales page teardown: Snappy as a story · 2 points

    HN discussion
  17. Submitted You probably shouldn't leave your job to work on an indie game. as a story · 2 points

    HN discussion
  18. Submitted 3 Things I learned the hard way about distributed systems as a story · 1 points

    HN discussion
  19. Submitted 3 Things I Learned as an Engineer Doing Customer Support as a story · 1 points

    HN discussion
  20. Submitted Steam, Humble Bundles and sales cannibalization as a story · 1 points

    HN discussion
  21. Submitted Kite status report 1 as a story · 1 points

    HN discussion

Search all of HN for khamidou.com