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
    T

    Tony Finch

    dotat.at · Personal blog · on HN since 2012

    Tony Finch writes technical notes on parsing, data structures, random numbers, Unix tools and time, plus a link log.

    Visit blogRSSHN submissions
    Systems & PerformanceProgrammingNetworking
    What HN says

    HN links his post on where computers get the time from as a favorite, and his notes on temp files and GLL parsing for technical detail.

    Stats for nerds
    58HN people shared it
    96linked in comments
    1.7Kstory points
    Aug 2025last shared
    2012people per year2025

    Top posts on HN

    1. 1
      tolower() with AVX-512
      1 person · 275 points · first shared 2024 · 153 comments on HN
    2. 2
      Against /tmp
      2 people · 257 points · first shared 2024 · 159 comments on HN
    3. 3
      tolower() in bulk at speed
      1 person · 228 points · first shared 2022 · 95 comments on HN
    4. 4
      Constructing a Four-Point Egg
      2 people · 166 points · first shared 2024 · 52 comments on HN
    5. 5
      Unix version control lore: what, ident
      1 person · 127 points · first shared 2024 · 28 comments on HN
    6. 6
      Exponential Rate Limiting
      3 people · 119 points · first shared 2024 · 23 comments on HN
    7. 7
      Hg64: A 64-bit histogram data structure
      2 people · 95 points · first shared 2022 · 14 comments on HN
    8. 8
      Really divisionless random numbers
      4 people · 68 points · first shared 2022 · 34 comments on HN
    9. 9
      P-fast trie, but smaller
      1 person · 34 points · first shared 2025 · 4 comments on HN
    10. 10
      Where does my computer get the time from?
      4 people · 33 points · first shared 2023 · Discussion on HN

    What HN people wrote when they linked it

    • mananaysiempreAug 2025

      Cool, yes. Useful or a good idea, I dunno. Reading through the (non-reference) documentation on SOM, I’m struck by how they never could give a convincing example for the utility of metaclasses. (Saying this as someone who does love metaclasses in Python, which are of course an inferior interpretation of the same academic sources.) The SOM documentation is also surprisingly shallow given its size: with a copy of Brockschmidt, Box, the COM spec, and the Platform SDK manual, you could reimplement essentially all of COM (not ActiveX though), whereas the IBM’s documentation is more like “here’s how you use our IDL compiler and here are the functions you can call”. (This is in contrast with the Presentation Manager documentation, which is much tighter and more detailed than the one for USER/GDI ever has been.) From what I can infer of the underlying principles, I feel SOM is much more specific about its object model, which, given the goal is a cross-language ABI, is not necessarily a good thing. (I’d say that about WinRT too.)

      And of course COM does do implementation inheritance: despite all the admonitions to the contrary, that’s what aggregation is! If you want a more conventional model and even some surprisingly fancy stuff like the base methods governing the derived ones and not vice versa, BETA-style, then WinRT inheritance[1] is a very thin layer on top of aggregation that accomplishes that. Now if only anybody at Microsoft bothered to document it. As in, at all.

      (I don’t…

    • takoidSep 2022

      https://jrock.us/

      https://jgc.org/

      http://kaledavis.com/

      https://aegir.sexy/

      https://www.gwern.net/

      https://jacquesmattheij.com/

      https://danwin.com/

      https://www.kalzumeus.com/

      https://www.magic.do/

      https://edweissman.com/

      https://jakeseliger.com/

      http://www.fogus.me/

      https://www.stavros.io/

      https://jasonlefkowitz.net/

      https://minimaxir.com/

      https://www.robinwhittleton.com/

      https://ciexinc.com/

      https://rongarret.info/

      https://williampietri.com/

      https://bpier.re/

      https://joshtriplett.org/

      https://ooer.com/

      https://feross.org/resume/

      https://www.brandons.me/

      https://benjaminpbreen.com/

      http://hokstad.com/

      https://www.scott-a-s.com/

      https://www.bermita.com/

      http://tlrobinson.net/

      https://ldpreload.com/

      https://dotat.at/

      http://xavvy.com/

      https://correa.in/

      https://adriann.github.io/

      https://leclan.ch/

      https://joeyespo.com/

      https://pius.me/

      https://adamierymenko.com/

      https://drewdevault.com/

      https://battlepenguin.com/

      https://chris.improbable.org/

      https://www.snellman.net/

      https://ocdtrekkie.com/

      https://www.cryptolotus.com/

      https://www.gregkogan.com/

      https://david.kitchen/

      In no particular order. From: https://jessimekirk.com/blog/hn_users_links/. I went through about half of the list looking for personal websites to use as inspiration for my own.

    • PeCaNDec 2015

      Generalized LL Parsing - http://dotat.at/tmp/gll.pdf

      Parse ambiguous context-free grammars in worst-case cubic time and unambiguous grammars in linear time, with an intuitive recursive-descent-ish algorithm. GLL is the future of parsing IMO, more powerful than packrat/PEG parsers and comparatively easy to write by hand. It also handles ambiguities more elegantly than GLR, IMO.

      Dependency-Based Word Embeddings - https://levyomer.files.wordpress.com/2014/04/dependency-based-word-embeddings-acl-2014.pdf

      word2vec algorithm with context based on linguistic dependencies instead of a skip-gram approach. A quick explanation is skip-grams give words related to the embedding (ex: Hogwarts -> Dumbledore) and dependencies give words that can be used like the embedding (ex: Hogwards -> Sunnydale). It's not meant to replace skip-grams, but augment them; skip-gram contexts learn the domain and dependency-based contexts learn the semantic type.

    • aquariusDueJul 2025

      Well, sometimes I'm digging through my (multiple!) lists of links when I remember a tidbit that relates to what I'm working on but most of the time those lists gather dust.

      In the future I'd like to maintain a link log or something similar on my personal website like some people do:

      - https://matklad.github.io/links.html

      - https://dotat.at/:/

      - https://til.simonwillison.net/

      The weird thing about saved links in my case is that I get the most satisfaction out of them when I share them with friends and so on, a bit of "Hey! I think this might be helpful, here you go" and that ends up being the extent of that particular link's usefulness for myself most of the time. Of course I can't accurately gauge how helpful it actually is for the other person.

    • cremnoMar 2015

      There also some tools I think should be added: I'm not sure if linking to AddressSanitizer is okay (as its (an underused) part of Clang and GCC), but I consider include-what-you-use, unifdef, and maybe C++ Compiler Explorer a worthwhile addition.

      What about mbedTLS (formerly PolarSSL)? It's dual licensed though.

      https://code.google.com/p/address-sanitizer/(Apache 2.0)

      https://code.google.com/p/include-what-you-use/ (same license as LLVM/Clang)

      http://dotat.at/prog/unifdef/ (BSD)

      http://gcc.godbolt.org/ (BSD)

      https://tls.mbed.org/ (GPLv2)

      Edit: midipix is something one should look out for. What it promises to support and how, sounds much more appealing to me than Cygwin or MinGW-w64, but it's still in early development: http://midipix.org/

    • habermanJul 2023

      Do you mean the conversion from YYYY-MM-DD to Unix Time? That can be quite fast; I wrote a blog article showing some algorithms that take less than 10ns to perform the conversion: https://blog.reverberate.org/2020/05/12/optimizing-date-algorithms.html

      Recently I came across another variant of the algorithm that is even smaller and simpler. I've been meaning to test this variant and add it to my article (assuming it is correct), but I haven't had the chance: https://dotat.at/@/2008-09-10-counting-the-days.html

    Related

    Wingologwingolog.org237 people

    FFS SSL

    Wingolog
    Personal · last shared 2026
    Chris Siebenmannutcc.utoronto.ca/~cks388 people

    Go is Google's language, not ours

    Chris Siebenmann
    Personal · last shared 2026
    Bluish Coderbluishcoder.co.nz77 people

    Using Freenet

    Bluish Coder
    Personal · last shared 2025
    Aphyraphyr.com551 people

    Hexing the technical interview (2017)

    Aphyr
    Personal · last shared 2026
    Random ASCIIrandomascii.wordpress.com274 people

    There are only four billion floats, so test them all (2014)

    Random ASCII
    Personal · last shared 2026
    Tony Garnock-Joneseighty-twenty.org28 people

    60x speed-up of Linux “perf”

    Tony Garnock-Jones
    Personal · last shared 2026
    Jens Gustedtgustedt.wordpress.com52 people

    Modern C, Second Edition

    Jens Gustedt
    Personal · last shared 2026
    Chris Wellonsnullprogram.com295 people

    Why Aren't There C Conferences?

    Chris Wellons
    Personal · last shared 2026