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

C

Chris Warburton

Personal blog · chriswarbo.netprogrammingsystems

Chris Warburton writes Blog, a personal blog at chriswarbo.net about programming and systems. Since 2014, 10 different Hacker News readers have linked it 195 times, most often “Lock Files Considered Harmful”. It is still writing: the last post was on 2026-05-15, and you can follow it by feed.

Visit the blog
195mentions?
10HN people?
2014–2026first – last linked?
Links on Hacker News per year · peak 27 in 2021

Most-linked posts?

  1. Lock Files Considered Harmful
    3 people · 3 mentions · first linked 2024-12-24
  2. Nix from the Bottom Up
    2 people · 5 mentions · first linked 2024-01-10
  3. /blog/2015-01-18-learning_functional_programming.html
    2 people · 4 mentions · first linked 2017-02-08
  4. The Metric Red Herring (2022)
    2 people · 3 mentions · first linked 2023-12-24
  5. SK in egglog: part 4, extensional equality
    2 people · 3 mentions · first linked 2024-05-10
  6. Homotopy Type Theory for Dummies
    2 people · 2 mentions · first linked 2025-11-03
  7. Multibase CLI
    2 people · 2 mentions · first linked 2025-12-08
  8. Nat-Like Types, or Dynamic and Static Information
    2 people · 2 mentions · first linked 2023-02-14

What Hacker News says?

  1. > I don't get the point of those settings. You seem to prefer white-on-black text, but the "Only with High Contrast themes" override means that it will almost never apply. The idea of defaults is to be default. I don't mind sites specifying the use of particular colours, and it's useful e.g. for syntax highlighting, for text above background images, for transparent images assuming a particular background colour (e.g…

    Comment linking /blog/2015-10-01-web_colours.html

    on “The average size of Web pages is now the average size of a Doom install”
  2. Submitted Show HN: “Active Code” in Markdown as a story · 36 points

    HN discussion
  3. It sounds like you're trying to write Javascript as if it were Java. I've worked with developers who did this (e.g. http://chriswarbo.net/blog/2014-03-12-trolled.html ) and I would advise that you instead try to write more idiomatic Javascript, or else use some kind of Java-to-Javascript compiler. Your critique of Javascript is basically "it's not Java". I could make a similar critique of Java not being StandardML,…

    Comment linking /blog/2014-03-12-trolled.html

    on “Taking PHP Seriously”
  4. Submitted The Metric Red Herring (2022) as a story · 20 points

    HN discussion
  5. I use Artemis, which was originally written for Mercurial but also supports Git. It stores issues inside a repo, so it doesn't care about where it's hosted and works completely offline without needing a Web browser. Issues are stored in Maildir format, which is widely supported standard that can be processed using off-the-shelf tools. For example, I write and comment on Artemis issues using Emacs message-mode (which…

    Comment linking /git/nix-config/issues/threads.html

    on “Radicle: Open-Source, Peer-to-Peer, GitHub Alternative”
  6. Submitted SK Logic in Egglog as a story · 12 points

    HN discussion
  7. A dependently typed system (or presumably anything else) which allows non-halting definitions is unsound. The classic example is an infinite loop: loop = loop What is the type of `loop`? We can infer it by starting with a completely generic type variable, e.g. `forall t. t`: loop : forall t. t loop = loop Then we can look at the type of the body to see which constraints it must satisfy, and perform unification with…

    Comment linking /blog/2014-12-04-Nat_like_types.html

    on “Why I Don't Love Gödel, Escher, Bach”
  8. Submitted Show HN: Plumb, a functional language embedded in PHP, JS and Python as a story · 7 points

    HN discussion
  9. > it would be cool if we could generate them from more readable syntax There are a few options out there; maybe take a look at Sweet Expressions? Some Lisp implementations have native support for different syntax, but the nice thing about these formats (which are essentially just serialisations of concrete syntax trees) is that we can convert them into the expected format automatically, e.g. using a pre-processor. I…

    Comment linking /blog/2017-08-29-s_expressions.html

    on “An Intuition for Lisp Syntax”
  10. Submitted Nix from the Bottom Up as a story · 5 points

    HN discussion
  11. http://chriswarbo.net/git/warbo-utilities/branches/master/sy... just runs a given command in a given directory, e.g. `inDir ~/Pictures convert MyPhoto.jpg MyPhoto.png` Really simple, yet I use it a lot, e.g. for remote mounts where Emacs can slow down if I "cd" into it, or in loops `for DIR in submodules/*; do inDir "$DIR" git pull --all; done` When I used to do Web development, I found http://chriswarbo.net/project…

    Comment linking /projects/repos/chrome-duplicate-tab-detector.html

    on “Ask HN: What simple tools or products are you most proud of making?”
  12. Submitted Git in Nix via IPFS as a story · 4 points

    HN discussion
  13. Reading the technical papers around Tree Calculus, I now see this claim a little more clearly. It's based around Tree Calculus rejecting eta-equivalence. In Lambda Calculus, eta-equivalence says that `λf. λx. f x` is equivalent to `λf. f`, i.e. a function which passes its argument straight into `f` and returns the result unmodified, is indistinguishable from the function `f` itself. Those two functions could beta-re…

    Comment linking /blog/2024-05-10-sk_logic_in_egglog_4.html

    on “Tree Calculus”
  14. Submitted More Testing Terminology as a story · 4 points

    HN discussion
  15. > Do you realize that many researchers would be ashamed if others saw their latex code? I really don't get this argument; I see it come up regarding open data for reproducibility too. TeX/LaTeX source is just an extra piece of metadata which might help someone out in a few years time. That's nothing to feel ashamed of, and it's certainly less shameful than not providing the code. If the code allows flaws in the rese…

    Comment linking /git

    on “Handful of Biologists Went Rogue and Published Directly to Internet”
  16. Submitted Curry your calls, uncurry your returns as a story · 4 points

    HN discussion
  17. What's even more interesting is the structure of "LT a b". Let's assume that Nat has the common Peano arithmetic structure: data Nat : Type where Zero : Nat Succ : Nat -> Nat Here "Zero" represents zero and "Succ" represents "one more than". Hence "Succ (Succ (Succ Zero))" is one more than one more than one more than zero, AKA three. Given two such values "x" and "y", how on Earth can we prove that "x < y"? What wou…

    Comment linking /blog/2014-12-04-Nat_like_types.html

    on “Types”
  18. Submitted Lock Files Considered Harmful as a story · 3 points

    HN discussion
  19. > I'm still trying to understand why people recommend Nix in place of a build system. Probably because Nix is a build system. After using it for a decade, I dislike that it describes itself as a "purely functional package manager"; that causes all sorts of confusion, since it has far more in common with something like Make (e.g. see my "Nix from the bottom up" page http://www.chriswarbo.net/projects/nixos/bottom_up.…

    Comment linking /projects/nixos/bottom_up.html

    on “Enlightenmentware”
  20. Submitted Nix Is a Build System as a story · 3 points

    HN discussion
  21. > The language is impossible to learn, and my limited experience has been that there are extremely few good guides to peering under the covers. Maybe my "Nix from the bottom up" page would help? It peers so far "under the covers" that I only introduce the Nix language very briefly near the end (as a saner alternative to everything else on that page!) http://www.chriswarbo.net/projects/nixos/bottom_up.html

    Comment linking /projects/nixos/bottom_up.html

    on “Enlightenmentware”
  22. Submitted The Metric Red-Herring as a story · 3 points

    HN discussion
  23. > Is this what people mean when they say, Haskell's type system is sound? It depends on the context, but it's certainly in common use (e.g. see https://stackoverflow.com/questions/21437015/soundness-and-c... although I switched 'positive' and 'negative' in my example: e.g. I treat 'true positive' as 'correct program was accepted', that link treats 'true positive' as 'error message was justified') > As long as one un…

    Comment linking /blog/2014-12-04-Nat_like_types.html

    on “The Haskell Elephant in the Room”
  24. Submitted Better Currying in JavaScript (2012) as a story · 3 points

    HN discussion
  25. Tangentially related: for my own small projects I use Artemis for bug/issue tracking (my reasoning is at http://chriswarbo.net/blog/2017-06-14-artemis.html ). It uses maildir files in a hidden directory, which can be tracked like any other files; e.g. when committing a bug fix we can also commit the closing of the associated issue. I've also configured Emacs to make using it even smoother (opening issues/comments in…

    Comment linking /blog/2017-06-14-artemis.html

    on “The KDE community is moving to GitLab”
  26. Submitted Homotopy Type Theory for Dummies as a story · 2 points

    HN discussion
  27. It can certainly be a Minimum Description Length (MDL), which is a more general measure based on an arbitrary language (like "lines on a canvas"). Kolmogorov Complexity is the MDL when the language is Turing-complete; in that case I think the number of lines would be less interesting than the patterns in their arrangement. For example, we can arrange millions of lines in a spiral with very low Kolmogorov Complexity;…

    Comment linking /projects/turtleview

    on “Show HN: Tool that turns your images into plotter-like line drawings”
  28. Submitted Lock Files Considered Harmful as a story · 2 points

    HN discussion
  29. Many years ago I wrote a program to convert images into Python scripts containing "turtle" commands. It's mostly a "cheat" based on "penup" and "GOTO(x, y)", but it can certainly be extended with smarter routing and optimisation algorithms: http://chriswarbo.net/projects/turtleview

    Comment linking /projects/turtleview

    on “Show HN: Tool that turns your images into plotter-like line drawings”
  30. Submitted Nix from the Bottom Up as a story · 2 points

    HN discussion

Search all of HN for chriswarbo.net

Linked by the same people?