Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    W

    Wilfred Hughes

    wilfred.me.uk · Personal blog · on HN since 2013

    Wilfred Hughes, a programmer, writes about developer tools, language implementation and his projects, including Difftastic, Remacs and a fast BigInt.

    Visit blogHN submissions
    ProgrammingLanguages & CompilersOpen Source & Linux
    What HN says

    HN commenters praise Difftastic and its design posts, and like the style of his writing and README, including Example-Driven Development.

    Stats for nerds
    42HN people shared it
    54linked in comments
    2.1Kstory points
    Jun 2026last shared
    2014people per year2026

    Top posts on HN

    1. 1
      Difftastic, the fantastic diff
      3 people · 698 points · first shared 2022 · 90 comments on HN
    2. 2
      Why Markdown Is Not My Favourite Language
      3 people · 253 points · first shared 2013 · 97 comments on HN
    3. 3
      Announcing Remacs: Porting Emacs to Rust
      2 people · 206 points · first shared 2017 · 89 comments on HN
    4. 4
      Example-Driven Development
      3 people · 171 points · first shared 2016 · 38 comments on HN
    5. 5
      The Siren Song of Little Languages
      3 people · 108 points · first shared 2019 · 25 comments on HN
    6. 6
      My First LLVM Compiler (2015)
      3 people · 101 points · first shared 2015 · 7 comments on HN
    7. 7
      The Definitive Guide to Syntax Highlighting
      5 people · 87 points · first shared 2014 · 23 comments on HN
    8. 8
      Synthesising Elisp Code
      1 person · 76 points · first shared 2017 · 11 comments on HN
    9. 9
      Searching a Million Lines of Lisp
      2 people · 75 points · first shared 2016 · 25 comments on HN
    10. 10
      Essential Elisp libraries
      1 person · 67 points · first shared 2013 · 23 comments on HN

    What HN people wrote when they linked it

    • rhythmvsMay 2014

      Happy to read there is some interest in “Markdown 2.0” or “lightweight markup, next generation”. With adoption by big outlets like Github and StackOverflow, and dozens of static site generators built on plain text source files, marked-up in Markdown syntax, Markdown is becoming a _de facto_ general-purpose document _editing_ and _storage_ standard. With the advent of fast client-side parsers, soon it might even substitute html as a document _exchange format_, too (at least for some use cases).

      But there is no official spec, development of the syntax grew stale (from the start, thanks to Gruber)¹, and hence the language heavily suffers from fragmentation²: people want to be able to do more with light-markup, so they build extensions, or fork the language altogether. The troubles with Markdown are discussed in various³ places⁴, John MacFarlane built a formalized comparison tool⁵, but as of yet, there is no joint effort to cooperate on a lightweight markup standard.

      There are a few interesting projects that dare to forsake Markdown and try their luck: Fountain.io⁶ (a domain specific light markup language for playwriting), SkrivML⁷, Strictdown⁸, and z.m.l.⁹

      Then there are, of course, the many predecessors of Markdown, which prove that Markdown (or light-markup in general) is not the imprescriptible privilege of its self-proclaimed benevolent dictator for life, and some of which are still widely used in various communities: Setext (1992), AFT (1999), Grutatxt (2000), AsciiDoc…

    • WilfredAug 2023

      > How well do existing VCSs integrate with it?

      Git supports external diffing tools really well with GIT_EXTERNAL_DIFF, which you can use with difftastic[1]. Other VCSs are less flexible. For example, I haven't found a nice way of getting a pager when using difftastic with mercurial.

      > Did you feel restricted at any point by writing a diffing tool, instead of basing a new VCS around this concept?

      Oh, that's an interesting question! Difftastic has been a really big project[2] despite its limited scope and I'm less interested in VCS implementation.

      I think text works well as the backing store for a VCS. There are a few systems that have structured backends (e.g. monticello for smalltalk), but they're more constrained. You can only store structured content (e.g. monticello requires smalltalk code) and it must be well-formed (your VCS must understand any future syntax you use).

      Unison[3] is a really interesting project in this space, it stores code by hash in a sqlite backend. This makes some code changes trivial, such as renames.

      From the perspective of a text diff, an AST diff is lossy. If you add an extra blank line between two unchanged functions, difftastic ignores it. That's great for understanding changes, but not for storage.

      [1]: https://difftastic.wilfred.me.uk/git.html

      [2]: https://www.wilfred.me.uk/blog/2022/09/06/difftastic-the-fantastic-diff/

      [3] https://www.unison-lang.org/

    • somatNov 2024

      There was a good point made, that has stuck with me over the years. that our syntax highlighters are highlighting the wrong thing.

      They should not be coloring the grammar, we are good at picking out grammar, they should be highlighting the symbols. each different variable and function name should be getting it's own color. that is, the goal is to make it quicker to distinguish different symbols, not that they are a symbol.

      But this is much harder than stylizing the grammar so all our tooling sticks with the easy thing rather that the useful thing. Now, I am being a bit mean on grammar styling. It does help quite a bit but I would like to see a symbol matching engine in action to see if that really works.

      Unfortunately I don't remember where I read the original post and am unable to attribute it correctly.

      update: while trying to look it up I found this https://www.wilfred.me.uk/blog/2014/09/27/the-definitive-guide-to-syntax-highlighting/

    • r4victorFeb 2021

      I assumed the readers would follow the link to see the original results. GMP is undoubtedly the state-of-the-art of arbitrary-precision arithmetic. The point of this table was to compare bignum implementations provided by different languages, so programs that use GMP bindings are excluded. Probably it would make sense to include the best result that uses GMP, but I think GHC is quite representative of GMP's performance.

      I'm not the first one who draw such a comparison. This article goes into some more detail: http://www.wilfred.me.uk/blog/2014/10/20/the-fastest-bigint-in-the-west/

    • mafribeNov 2015

      Fascinating, but not surprising that the study concludes that the "effect becomes weaker with an increase in programming
      experience".

      Maybe of interest is Hughes' discussion [1] of the different forms of syntax colouring. It was discussed on HN before [2].

      [1] http://www.wilfred.me.uk/blog/2014/09/27/the-definitive-guide-to-syntax-highlighting

      [2] https://news.ycombinator.com/item?id=8378799

    • dotemacsJul 2017

      > This looks like a lot of work for what amounts to very little end-user benefit.

      Oh, but how wrong you are.

      At London Emacs meetup Wilfred gave a talk about his motivations for this work. One of the big and most obvious benefits is this:

      while porting some feature to Rust, he discovered a bug in Emacs, fixed it and got given commit access for his work.

      You can read the transcript of his presentation here:

      http://www.wilfred.me.uk/blog/2017/04/30/remacs-talk-transcript/

    Related

    Lambda the Ultimatelambda-the-ultimate.org615 people

    Simon Peyton Jones Elected into the Royal Society Fellowship

    Lambda the Ultimate
    Publication · last shared 2026
    Coding Horrorblog.codinghorror.com2.1k people

    Farewell Stack Exchange

    Coding Horror
    Personal · last shared 2026
    Smalltalk Talkmedium.com/smalltalk-talk20 people

    Pharo, the Modern Smalltalk

    Smalltalk Talk
    Publication · last shared 2024
    Bluish Coderbluishcoder.co.nz77 people

    Using Freenet

    Bluish Coder
    Personal · last shared 2025
    David Givencowlark.com94 people

    Live coding a vi for CP/M from scratch

    David Given
    Personal · last shared 2026
    Giles Bowkettgilesbowkett.blogspot.com138 people

    Went Off The Rails: Why I'm Rebuilding Archaeopteryx In CoffeeScript

    Giles Bowkett
    Personal · last shared 2018
    Gavin Howardgavinhoward.com43 people

    Is It Even Worth Working on FOSS Anymore?

    Gavin Howard
    Personal · last shared 2026
    Zed Shawzedshaw.com280 people

    Dear Paul

    Zed Shaw
    Personal · last shared 2026