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 · #4361

N

Nikhil's blog

Personal blog · nikhilism.com · on HN as nsmprogrammingsystems

Nikhil's blog is a personal blog at nikhilism.com about programming and systems. Since 2016, 18 different Hacker News readers have linked it 42 times, most often “Experiencing Smalltalk”. It is still writing: the last post was on 2026-10-16, and you can follow it by feed.

Visit the blog
42mentions?
18HN people?
2016–2026first – last linked?
Links on Hacker News per year · peak 9 in 2021

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

Why HN links it

HN readers link this blog to explain specific projects: the JSCrush compression algorithm, deterministic Windows builds, and an emulator story about IBM 7074 software on S/360. Most comments cite it as a source.

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

The author on HN?

nsm · 1,439 karma · member since 2009

I work at Skydio. Opinions here are my own. Website: https://nikhilism.com

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

Most-linked posts?

  1. Experiencing Smalltalk
    4 people · 8 mentions · first linked 2021-02-15
  2. Racket Beyond Languages (2023)
    3 people · 3 mentions · first linked 2023-11-22
  3. A practical introduction to kill-safe, concurrent programming in Racket
    3 people · 3 mentions · first linked 2023-11-25
  4. A Future Is a Suspending Scheduler
    2 people · 2 mentions · first linked 2020-06-21
  5. Getting to Deterministic Builds on Windows
    2 people · 2 mentions · first linked 2021-03-16
  6. ConcurrentML: Improving on Go's Concurrency Model
    2 people · 2 mentions · first linked 2026-10-16
  7. Why does my stack have an extra 4 bytes?
    2 people · 2 mentions · first linked 2017-12-25

What Hacker News says?

  1. Nice tip, I started with something short - writing a screenshot utility: https://youtu.be/3BF-vUts3ws Ed: i really enjoyed the video, but I feel it could have been even better (and shorter) if he used a proper debugger for the second part. But I don't know if that is available in the os. The more I use a debugger, the more I realize I should use a debugger, and the earlier I should use a debugger. Advice/directions…

    Comment linking /post/2021/experiencing-smalltalk/

    on “I quit my job to focus on SerenityOS full time”
  2. Submitted Why does my stack have an extra 4 bytes? as a story · 31 points

    HN discussion
  3. https://nikhilism.com I write about various technical topics. Some recent ones * Using type-classes to model the expressivity of build systems * Using 1Password with ssh-agent on Linux and some that I'm proud of: * Sampling Profiler Internals: Introduction * Retrieving function arguments while unwinding the stack * Why does my stack have an extra 4 bytes? Digging into Clang's return value implementation

    Comment linking /

    on “Ask HN: What is your blog and why should I read it?”
  4. Submitted Mystery Knowledge and Useful Tools as a story · 17 points

    HN discussion
  5. Of course[1], but this tutorial isn't about the language, per se, you should be able to translate it pretty trivially. These sorts of tutorials are more about the inner workings of database operation; I recall doing something like this in grad school but you're reminded quickly how more complex databases are than you think about when all you're doing is using them. And hell, I'm not even that good at using them. [1]…

    Comment linking /post/2016/writing-simple-database-in-rust-part-1/

    on “Let’s Build a Simple Database (2017)”
  6. Submitted ConcurrentML: Improving on Go's Concurrency Model as a story · 7 points

    HN discussion
  7. I spent a lot of time learning about stack unwinding, debug information, and profiling on common operating systems. I’m writing down some of it: http://nikhilism.com/post/2018/sampling-profiler-internals-i...

    Comment linking /post/2018/sampling-profiler-internals-introduction/

    on “Ask HN: What technologies did you learn in 2018?”
  8. Submitted Experiencing Smalltalk as a story · 7 points

    HN discussion
  9. I built a little PWA just for me that I can use to scan ISBN codes of physical books I read. It then looks up the book and adds it to my spreadsheet of "Books I've read". I wrote a bit about it here https://nikhilism.com/post/2021/tracking-books-i-read-using-... It was partly just a way to try out Svelte and XState.

    Comment linking /post/2021/tracking-books-i-read-using-svelte-xstate-quagga/

    on “Ask HN: What are some tools / libraries you built yourself?”
  10. Submitted A practical introduction to kill-safe, concurrent programming in Racket as a story · 6 points

    HN discussion
  11. I would like to disagree with this view of Racket. I'm a fairly experienced professional programmer with a lot of systems experience, and I find Racket an extremely well thought out, competently implemented and high performance (particularly with the switch to Chez Scheme) language. I wrote a bit about it at https://nikhilism.com/post/2023/racket-beyond-languages/ and Bogdan Popa and Alex Hirsanyi have done amazing…

    Comment linking /post/2023/racket-beyond-languages/

    on “A Tour of the Lisps”
  12. Submitted Experiencing Smalltalk as a story · 4 points

    HN discussion
  13. I wrote a post about this as someone who only discovered it in 2020 - https://nikhilism.com/post/2021/experiencing-smalltalk/

    Comment linking /post/2021/experiencing-smalltalk/

    on “Pharo 9”
  14. Submitted Digging into Clang's extra 4 byte stack allocation as a story · 4 points

    HN discussion
  15. I think Pharo would benefit a lot from having lots and lots of screen casts, since so much stuff is visual. I don't think something like ESUG is a sustainable way to spread techniques. A lot of stuff that is well documented in the Pharo ecosystem is old. A lot of the new stuff doesn't have great docs. Just reference docs and code is not enough. There has to be a coherent narrative around an API to put it together. A…

    Comment linking /post/2021/experiencing-smalltalk/

    on “Pharo 12”
  16. Submitted Experiencing Smalltalk as a story · 3 points

    HN discussion
  17. Is someone in the US government really still using an IBM 7074? Really? I'm shocked. How could that possibly be cost-effective? Actually, this blog post makes the story clearer: http://nikhilism.com/post/2016/systems-we-love/ It isn't a physical IBM 7074. When it came time to migrate from 7074 to S/360, rather than rewriting their 7074 software, they just wrote a 7074 emulator for S/360. And, it sounds like, they ar…

    Comment linking /post/2016/systems-we-love/

    on “What Happens When You Mix Java with a 1960 IBM Mainframe”
  18. Submitted Linux Application Container Fundamentals as a story · 3 points

    HN discussion
  19. I have been re-implementing the ninja build system [1] using the ideas from the "Build Systems a la Carte" paper [2]. The software isn't ready for the public yet, but I've written 2 blog posts so far about some of the ideas. 1. Using type-classes to model the expressivity of build systems [3] 2. A Future is a Suspending Scheduler [4] [1]: https://ninja-build.org/ [2]: https://www.microsoft.com/en-us/research/publica…

    Comment linking /post/2020/futures-suspending-scheduler/

    on “Ask HN: What did you make during lockdown?”
  20. Submitted Racket Beyond Languages (2023) as a story · 2 points

    HN discussion
  21. I cobbled together something similar using a couple of javascript libraries. It is a really simple web-app that you can open on any phone, and it uses the phone camera to scan the barcode. It saves the results to a Google Sheets (what I wanted). The code is public, mostly because I couldn't bring myself to clean it up. If you are interested, I could make it public. I wrote about it at https://nikhilism.com/post/2021…

    Comment linking /post/2021/tracking-books-i-read-using-svelte-xstate-quagga/

    on “Ask HN: How do I easily catalog a couple thousand physical books?”
  22. Submitted A practical introduction to kill-safe, concurrent programming in Racket as a story · 2 points

    HN discussion
  23. I would also really like to use Pharo more. I tried it for Advent of Code last year [0]. However, I just can't get over the unmanageable custom windowing system going on within the main window. Their isn't an easy way to iterate through windows, find windows, close windows and stop them from overlapping with each other all the time! It would be great to have some kind of Jetbrains/VSCode/modern IDE style layout wher…

    Comment linking /post/2021/experiencing-smalltalk/

    on “Ask HN: Why are you programming your hobby projects in a niche language?”
  24. Submitted Remote Dbus Notifications over SSH as a story · 2 points

    HN discussion
  25. This is the JSCrush algorithm that I did not write and it is kind of magic. The uncompressor is crazy small. You can read more about it here... https://nikhilism.com/post/2012/demystifying-jscrush

    Comment linking /post/2012/demystifying-jscrush

    on “JSONCrush – Compress JSON into URI Friendly Strings”
  26. Submitted Experiencing Smalltalk as a story · 2 points

    HN discussion
  27. Sorry, that part of the code is from JSCrush which I did not write. I don't fully understand it but here's an explanation someone wrote... https://nikhilism.com/post/2012/demystifying-jscrush If you go to the live demo, it will do a test to crush/encodeURI and uncrush/decodeURI to the string you pass in and verify that they are the same. Maybe I should write some automated tests.

    Comment linking /post/2012/demystifying-jscrush

    on “JSONCrush – Compress JSON into URI Friendly Strings”
  28. Submitted Getting to Deterministic Builds on Windows as a story · 2 points

    HN discussion
  29. I write about various systems programming things (build systems, profiles, code generation) https://nikhilism.com

    Comment linking /

    on “Ask HN: Pitch your personal newsletter/blog with a one-liner”
  30. Submitted A Bazel Persistent Worker for Rust as a story · 2 points

    HN discussion

Search all of HN for nikhilism.com

Linked by the same people?