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

Top all-time · #2290

B

Blog

Personal blog · catern.com · on HN as caternsystemsprogramming

Blog is a personal blog at catern.com about systems and programming. Since 2014, 35 different Hacker News readers have linked it 85 times, most often “Docker Considered Harmful (2016)”. The last post was in 2018, but the archive is still widely read.

Visit the blog
85mentions?
35HN people?
2014–2025first – last linked?
Links on Hacker News per year · peak 31 in 2021

The author on HN?

catern · 2,276 karma · member since 2014

http://catern.com/ @zcatern on twitter

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

Most-linked posts?

  1. Docker Considered Harmful (2016)
    6 people · 7 mentions · first linked 2016-11-14
  2. Inheritance was invented as a performance hack (2021)
    4 people · 4 mentions · first linked 2024-12-05
  3. Prefer to change the code rather than write a workaround
    4 people · 4 mentions · first linked 2022-01-26
  4. Inheritance was invented as a performance hack
    4 people · 4 mentions · first linked 2021-04-29
  5. Simple, Fast, Easy Parallelism in Shell Pipelines (2016)
    3 people · 3 mentions · first linked 2016-01-18
  6. An introduction to “introduction”: a common but rarely-named systems concept
    3 people · 3 mentions · first linked 2021-11-17
  7. You need to be able to run your system
    2 people · 3 mentions · first linked 2021-02-23
  8. Public/protected/private is an unnecessary feature
    2 people · 2 mentions · first linked 2025-06-02
  9. The Unix process API is unreliable and unsafe
    2 people · 2 mentions · first linked 2023-03-22
  10. We need a free software license for distributed systems
    2 people · 2 mentions · first linked 2021-08-04

What Hacker News says?

  1. One can embrace this philosophy for one's personal computing too http://catern.com/computers.html although it's not for everyone

    Comment linking /computers.html

    on “Use one big server”
  2. Submitted Write libraries instead of services, where possible as a story · 635 points

    HN discussion
  3. I do this, I host my website on my desktop. It's nice to have just a single computer instead of many. http://catern.com/computers.html

    Comment linking /computers.html

    on “I wish my web server were in the corner of my room”
  4. Submitted You need to be able to run your system as a story · 291 points

    HN discussion
  5. > To be honest though, I never had a full production system in my dev machine in my 5yrs career. http://catern.com/run.html I can understand it might not have been possible thirty or even twenty years ago but with modern systems such as the EPYC 7003[1] you can have a 64 core / 128 thread beast with 4 TB memory. Granted the processor alone costs $7890 but I can't imagine any system that won't run on a single top end…

    Comment linking /run.html

    on “Ask HN: Does anyone else find the AWS Lambda developer experience frustrating?”
  6. Submitted Inheritance was invented as a performance hack as a story · 237 points

    HN discussion
  7. >Can it spawn the remote processes too? With SSH, or its own system? Yes, with rsyscall, is that not clear? It's pretty explicit in http://catern.com/integration.html#thread >but all it does is explicitly run a Python function in a local thread... That's not all that's happening. I think you might be pattern-matching what's happening in the article to something you've already seen, when in fact it's something novel.

    Comment linking /integration.html

    on “Ask HN: Who wants to collaborate?”
  8. Submitted Your computer is a distributed system as a story · 228 points

    HN discussion
  9. >Running processes remotely? Supervising remote processes? These things. This is mentioned in http://catern.com/integration.html#thread

    Comment linking /integration.html

    on “Ask HN: Who wants to collaborate?”
  10. Submitted Docker Considered Harmful (2016) as a story · 225 points

    HN discussion
  11. Can you say what left you confused? I'm surprised, I thought https://github.com/catern/rsyscall is pretty self-contained and self-explanatory (if unclear on what exactly rsyscall is useful for), and I thought http://catern.com/integration.html is quite detailed (perhaps excessively so).

    Comment linking /integration.html

    on “Ask HN: Who wants to collaborate?”
  12. Submitted Inheritance was invented as a performance hack (2021) as a story · 194 points

    HN discussion
  13. Distributed software, which accesses and depends on remote resources, is harder to run than local-only software. I'm working on making it easier to run distributed software for both programmers and end-users. See the main article describing my current vision: http://catern.com/integration.html My most significant project in this area: https://github.com/catern/rsyscall My website in general: http://catern.com/ (happ…

    Comment linking /plan.html

    on “Ask HN: Who wants to collaborate?”
  14. Submitted Terminals Are Weird as a story · 145 points

    HN discussion
  15. This stuff is still all confused Read http://catern.com/rsys21.pdf What you want is: 1. create "embryonic" unscheduled process 2. Set it up from the parent process, it just lies on the operating table passively. 3. Submit it to the scheduler. This is just....obviously correct. Totally flexible. Totally efficient. Hell, if you really want to fork anything, fork those embryonic process which have no active threads! Mu…

    Comment linking /rsys21.pdf

    on “Fork() is evil; vfork() is goodness; afork() would be better; clone() is stupid”
  16. Submitted Public/protected/private is an unnecessary feature as a story · 87 points

    HN discussion
  17. > What’s wrong with Docker? Why would I want to switch to something else? Security, performance, reliability and following best engineering practices. Everything else is fine. https://arxiv.org/pdf/1804.05039.pdf https://hackernoon.com/another-reason-why-your-docker-contai... https://www.scylladb.com/2018/08/09/cost-containerization-sc... https://thehftguy.com/2017/02/23/docker-in-production-an-upd... http://catern.…

    Comment linking /posts/docker.html

    on “Goodbye Docker and Thanks for all the Fish”
  18. Submitted No more DSLs: Implement and deploy a distributed system with a single program as a story · 64 points

    HN discussion
  19. I hope Pulumi eventually develops a "bare-metal" mode. I'm very much in favor of using a real programming language to set up systems[0], but I don't like to use cloud services beyond basic hosting. It would be nicer if Pulumi provided, as a library, code to launch and maintain self-hosted databases, proxies, etc, rather than just providing clients for cloud APIs. [0] http://catern.com/progsys.html

    Comment linking /progsys.html

    on “Pulumi 3.0”
  20. Submitted Simple, Fast, Easy Parallelism in Shell Pipelines (2016) as a story · 52 points

    HN discussion
  21. Inheritance was invented for performance reasons [1]. It was not conceived for pure code organization, so in way it is arbitrary as any other solution that could have brought performance gains for the original garbage collector. Inheritance is an "intellectual accomplishment" as other accomplishments, that will incur into issues if applied blindly, so not having it is not an issue per se. On the contrary, today's wi…

    Comment linking /inheritance.html

    on “Complexity is a source of income in open source ecosystems (2019)”
  22. Submitted Docker Considered Harmful (2016) as a story · 43 points

    HN discussion
  23. Yeah, I think the easiest way to test that Service A is meeting its API obligations is to send some requests to Service B. Hyrum's Law means that that's the only way to really test the important aspects of Service A's API. And I think this can be generalized into a general philosophy of using your users as a test suite for your API: http://catern.com/usertests.html

    Comment linking /usertests.html

    on “We killed our end-to-end test suite”
  24. Submitted Docker Considered Harmful (2021) as a story · 32 points

    HN discussion
  25. Your comment matches my experience very well. I had the same experience as GP and OP with low-quality e2e tests at my job. I got fed up four years ago, started something new from scratch, and now I'm the BDFL you mentioned, for a bunch of teams working in a common testing framework. The main thing is indeed enforcing high quality standards even when individual engineers aren't very invested. You've identified some g…

    Comment linking /tsint_job.html

    on “We killed our end-to-end test suite”
  26. Submitted Prefer to change the code rather than write a workaround as a story · 19 points

    HN discussion
  27. See also http://catern.com/posts/pipes.html

    Comment linking /posts/pipes.html

    on “Parallel processing with Unix tools”
  28. Submitted We need a free software license for distributed systems as a story · 18 points

    HN discussion
  29. Not to put transfer.sh down - it's very useful in many situations, I'm sure! - but I just run a permanent webserver on all the machines I want to share files from. I discuss this more in http://catern.com/computers.html I find that's a very easy approach.

    Comment linking /computers.html

    on “Transfer.sh – Easy file sharing from the command line”
  30. Submitted Write signatures, not schemas as a story · 8 points

    HN discussion

Search all of HN for catern.com

Linked by the same people?