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
    L

    Low Level Bits

    lowlevelbits.org · Personal blog · on HN since 2015

    Alex Denisov writes about LLVM, compilers, and testing, including bitcode, learning compilers, and how projects like GNU Make and FreeBSD are tested.

    Visit blogRSSHN submissions
    Languages & CompilersSystems & Performance
    What HN says

    Commenters recommend his Bitcode Demystified post for how bitcode works at a low level, and the author also posts there seeking work.

    Stats for nerds
    22HN people shared it
    40linked in comments
    1.1Kstory points
    Nov 2025last shared
    2016people per year2025

    Top posts on HN

    1. 1
      How to learn compilers: LLVM Edition
      3 people · 371 points · first shared 2021 · 26 comments on HN
    2. 2
      List of scientific papers found in OpenJDK source code
      1 person · 198 points · first shared 2016 · 28 comments on HN
    3. 3
      How is LLVM tested?
      1 person · 137 points · first shared 2016 · 22 comments on HN
    4. 4
      How GNU Make is tested
      2 people · 96 points · first shared 2016 · 24 comments on HN
    5. 5
      Bitcode Demystified
      12 people · 56 points · first shared 2015 · 12 comments on HN
    6. 6
      How to Use LLVM API with Swift
      1 person · 44 points · first shared 2015 · Discussion on HN
    7. 7
      Parsing Mach-O files
      1 person · 44 points · first shared 2015 · 5 comments on HN
    8. 8
      Components: taking a step back from Dependency Management
      2 people · 31 points · first shared 2015 · 3 comments on HN
    9. 9
      Mutation testing based on LLVM (2018) [pdf]
      2 people · 29 points · first shared 2018 · 6 comments on HN
    10. 10
      Contributing to Clang: NSValue and Boxed Expressions
      1 person · 10 points · first shared 2015 · Discussion on HN

    What HN people wrote when they linked it

    • tiuNov 2025

      The comments are wildly fragmented in this thread. I agree with @torginus, the article has less and less of anything useful to people that want to get into compilers.

      Anyways, the "Who .. hires compiler engineer?" section is fairly vague in my opinion, so: AMD, Nvidia, Intel, Apple, Google definitely hire for compiler positions. These hire fairly 'in-open' so probably the best bets all around. Aside from this, Jane Street and Bloomberg also do hire at the peak tier but for that certain language. The off beat options are: Qualcomm, Modular, Amazon (AWS) and ARM. Also see, https://mgaudet.github.io/CompilerJobs/

      I seriously attempted getting into compilers last year before realising it is not for me but during those times it felt like people who want to be compiler devs are much much more in number compared to jobs that exist (yes exist, not vacant).

      The common way to get going is to do LLVM. Making a compiler is great and all but too many people exist with a lox interpreter-compiler or something taken from the two Go books. Contributing to LLVM (or friends like Carbon, Swift, Rust) or atleast some usage experience is the way. The other side of this is doing GNU GCC and friends but I have seen like only one opening that mentions this way as being relevant. University level courses are rarely of any use.

      Lastly, LLVM meetups/conferences are fairly common at most tech hubs and usually have a jobs section listing all requirements.

      A few resources since I already made this…

    • inkyotoMay 2023

      We kind of have it, except it does not seem to have taken off and has been relegated to a second-class citizen at best.

      I am talking about LLVM Bitcode[0] – when the binary product (a executable or .o/.a files) is shipped in the LLVM IR representation and then is «AOT»'d into the final product (a final executable) that can, for instance, take advantage of the latest ISA features (armv9, Zen23, POWER18 or new RISC-V extensions) with zero effort on the end user part. For a while, Apple even encouraged iOS devs to upload their apps into the App Store in the Bitcode format. That has all but ceased to exist for not obvious reasons about a year or two ago. Technically, if Apple chose to transition onto an alternative ISA again (say, RISC-V), at least iOS apps would not require recompilation and would get statically converted to the new ISA at the download time.

      Imagine a world where there would be a single Linux distribution for a given architecture shipped in the Bitcode format (sans the small arch specific boot area and the AOT engine), for instance.

      [0] https://lowlevelbits.org/bitcode-demystified/

      [1] https://www.highcaffeinecontent.com/blog/20190518-Translating-an-ARM-iOS-App-to-Intel-macOS-Using-Bitcode

    • coldteaSep 2016

      >Apple adds features like PCI-e for discrete GPU support (ok, they did in A9), and if Ax series performance starts to exceed corresponding Intel mobile parts by >50% (enough to compensate for the overhead of binary translation for legacy x86 apps).

      When it happens, it might not need binary translation.

      http://lowlevelbits.org/bitcode-demystified/

    • threeseedJan 2020

      Lots of suspicion because of the move to force App Store apps to have Bitcode enabled for submission. This would allow them to potentially transpile x86 apps for ARM:

      https://lowlevelbits.org/bitcode-demystified/

      Also as we've seen with iPad Pro + AWS M6G instances the performance is now there to power desktops.

    • egsmiDec 2020

      In theory that’s what bitcode protects against.

      Today, that doesn’t save binaries not distributed through the store or ones you compiled yourself via other compiler chains.

      It is possible to change that. One could even imagine it as part of the loading procedure.

      https://lowlevelbits.org/bitcode-demystified/

    • ShankOct 2016

      It's worth noting that there have been discussions about bitcode and ARM in the past, notably ATP 122 and Bitcode Demystified. Both are worth listening to and reading respectively if you're interested in how this stuff works on a low level:

      http://atp.fm/episodes/122
      http://lowlevelbits.org/bitcode-demystified/

    Related

    LLVM Blogblog.llvm.org226 people

    Clang Is Now Used to Build Chrome for Windows

    LLVM Blog
    Company · last shared 2026
    Eli Benderskyeli.thegreenplace.net428 people

    Common Pitfalls in Go Benchmarking

    Eli Bendersky
    Personal · last shared 2026
    freeCodeCampmedium.freecodecamp.org582 people

    A hacker stole $31M of Ether – how it happened, and what it means for Ethereum

    freeCodeCamp
    Publication · last shared 2025
    John Regehrblog.regehr.org401 people

    Teaching C

    John Regehr
    Personal · last shared 2026
    Not a Monad Tutorialnotamonadtutorial.com40 people

    Weld: Accelerating numpy, scikit and pandas as much as 100x with Rust and LLVM

    Not a Monad Tutorial
    Publication · last shared 2023
    NetBSD Blogblog.netbsd.org66 people

    NetBSD fully reproducible builds

    NetBSD Blog
    Company · last shared 2026
    Vidar Holenvidarholen.net68 people

    Useless Use of "dd" (2015)

    Vidar Holen
    Personal · last shared 2025
    Arm Community Blogcommunity.arm.com147 people

    An update on GNU performance

    Arm Community Blog
    Company · last shared 2025