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

C

corsix.org

Personal blog · corsix.orgprogrammingsystemshardware

corsix.org is a personal blog at corsix.org about programming, systems and hardware. Since 2009, 36 different Hacker News readers have linked it 73 times, most often “Malicious LuaJIT bytecode”. It is still writing: the last post was on 2026-10-27, and you can follow it by feed.

Visit the blog
73mentions?
36HN people?
2009–2026first – last linked?
Links on Hacker News per year · peak 14 in 2024

Most-linked posts?

  1. Malicious LuaJIT bytecode
    5 people · 7 mentions · first linked 2015-11-11
  2. Corsix – A whirlwind tour of AArch64 vector instructions
    4 people · 4 mentions · first linked 2023-06-06
  3. RISC-V Conditional Moves
    4 people · 4 mentions · first linked 2025-09-28
  4. What even is a pidfd anyway?
    3 people · 3 mentions · first linked 2024-05-16
  5. Higher Quality Random Floats
    3 people · 3 mentions · first linked 2023-10-17
  6. For want of a relative path to ld.so
    2 people · 2 mentions · first linked 2024-06-04
  7. Faster CRC32-C on x86
    2 people · 2 mentions · first linked 2022-08-01
  8. Malicious LuaJIT bytecode
    2 people · 2 mentions · first linked 2015-11-12
  9. Tenstorrent Wormhole Series
    2 people · 2 mentions · first linked 2024-12-31
  10. /content/look-lua-52-work3
    2 people · 2 mentions · first linked 2011-12-17

What Hacker News says?

  1. There's a problem---you can break out of Lua with malformed bytecode [1] and the Lua team don't want to spend the time trying to validate Lua byte code [2]. That's why the latest Lua version has an option to ignore precompiled Lua scripts. And sadly, I can see the same happening here. [1] https://www.corsix.org/content/malicious-luajit-bytecode [2] The overhead will eat any performance gained by using precompiled Lu…

    Comment linking /content/malicious-luajit-bytecode

    on “Towards a JavaScript Binary AST”
  2. Submitted Galois field instructions on 2021 CPUs as a story · 163 points

    HN discussion
  3. A small history of LuaJIT sandbox escapes: - 5.2, 2016: https://apocrypha.numin.it/talks/lua_bytecode_exploitation.p... (9MB PDF) - 5.2, 2016: https://github.com/erezto/lua-sandbox-escape - 5.1, 2015: https://www.corsix.org/content/malicious-luajit-bytecode (warning: dense) There's a "luarop" link (boop.i0i0.me/blog.lua/luarop) referenced in the PDF, but the link sadly seems to have died (IA never crawled the domain…

    Comment linking /content/malicious-luajit-bytecode

    on “Tiny C Compiler”
  4. Submitted My favourite small hash table as a story · 159 points

    HN discussion
  5. Out of curiosity, are you planning on (progressively, slowly) rolling your own JIT, or using something like DynASM ( https://luajit.org/dynasm_features.html ), libFirm ( https://pp.ipd.kit.edu/firm/Features.html ), or some other preexisting thing (eg https://github.com/wdv4758h/awesome-jit ) in the space? FWIW, I understand that LuaJIT gets some of its insane real-world performance from a JIT and VM design that's ef…

    Comment linking /content/malicious-luajit-bytecode

    on “MiniVM: A zero-dependency cross-language runtime on par with LuaJIT and C”
  6. Submitted Faster CRC32-C on x86 as a story · 107 points

    HN discussion
  7. https://www.corsix.org/content/contrasting-intel-amx-and-app... compares this with Intel’s AMX

    Comment linking /content/contrasting-intel-amx-and-apple-amx

    on “Apple AMX instruction set (M1/M2 matrix coprocessor)”
  8. Submitted Linux/ELF .eh_frame from the bottom up as a story · 105 points

    HN discussion
  9. Using the notation from the article, N+K is sufficient for RS(N,K). One point of confusion is that different authors use different notation; some use RS(num data shards, num parity shards), some use RS(total num shards, num data shards), and some use RS(total num shards, num parity shards). Per the article, I'll use RS(num data shards, num parity shards). As for where the +1 comes from, the clue is in the "noting th…

    Comment linking /content/reed-solomon-for-software-raid

    on “The essence of Reed-Solomon coding”
  10. Submitted Converting floats to strings as a story · 97 points

    HN discussion
  11. Alternatively, the following pair of articles, the first of which is already referenced as a footnote in the OP: http://www.corsix.org/content/galois-field-instructions-2021... http://www.corsix.org/content/reed-solomon-for-software-raid

    Comment linking /content/reed-solomon-for-software-raid

    on “The essence of Reed-Solomon coding”
  12. Submitted On libunwind and dynamically generated code on x86-64 as a story · 96 points

    HN discussion
  13. The next article in blog order is one application: https://www.corsix.org/content/reed-solomon-for-software-rai... Another application is crypto: the SubBytes step of AES maps very neatly onto gf2p8affineinvqb, so algorithms that are similar to AES but not exactly AES could make use of gf2p8affineinvqb

    Comment linking /content/reed-solomon-for-software-raid

    on “Galois field instructions on 2021 CPUs”
  14. Submitted RISC-V Conditional Moves as a story · 79 points

    HN discussion
  15. He’s done some interesting work with crc32 ~recently: https://www.corsix.org/content/fast-crc32c-4k https://github.com/corsix/fast-crc32/

    Comment linking /content/fast-crc32c-4k

    on “My favourite small hash table”
  16. Submitted Alternatives to short unconditional jumps on x86 as a story · 66 points

    HN discussion
  17. If you learn AVX2 programming via highload, my impression is that NEON is quite similar. The main difference is the lack of movemask. You can read these[0] articles[1] about what to do instead. For SVE, prior to very recent versions of SVE, there was no tblq (pshufb equivalent) so I didn't have much hope for using it for general-purpose programming, though of course it would be fine for stuff like TFA. [0]: https://…

    Comment linking /content/whirlwind-tour-aarch64-vector-instructions

    on “Counting bytes faster than you'd think possible”
  18. Submitted Contrasting Intel AMX and Apple AMX as a story · 65 points

    HN discussion
  19. http://www.corsix.org/content/look-lua-52-work3 (#19) http://lua.2524044.n2.nabble.com/petition-to-keep-ipairs-ali... Edit: both are from 2010. This never became final perhaps?

    Comment linking /content/look-lua-52-work3

    on “Lua: Good, bad, and ugly parts”
  20. Submitted __VA_OPT__ Minutiae as a story · 59 points

    HN discussion
  21. You can start with this idea, and then make it _very_ performant by using bit counting instructions. See https://www.corsix.org/content/higher-quality-random-floats for an exposition.

    Comment linking /content/higher-quality-random-floats

    on “Perfect Random Floating-Point Numbers”
  22. Submitted What even is a pidfd anyway? as a story · 12 points

    HN discussion
  23. Note that loading (maliciously crafted) bytecode is generally not safe in Lua; sandboxing can be escaped in more ways than what's possible when loading plaintext sourcecode, and there are no full mitigations for this currently as far as I know (and would probably be highly interpreter/version sensitive anyway)-- the only "real" mitigation strategy is to just not `load` bytecode at all. But this is probably a non-iss…

    Comment linking /content/malicious-luajit-bytecode

    on “Show HN: Ldump – serialize any Lua data”
  24. Submitted Tenstorrent Wormhole Series as a story · 9 points

    HN discussion
  25. I'm completely naive, but even so I'm tentatively confident saying yes, it's a halting problem thing. My understanding of formal verification is a) that it doesn't eliminate bugs, it just reduces their probability by a percentage, and b) that it's academically very attractive (which is why HN is constantly hearing about it) but practically very expensive in terms of investment/return, in the sense that formal verifi…

    Comment linking /content/malicious-luajit-bytecode

    on “An FPGA-based In-line Accelerator for Memcached (2013) [pdf]”
  26. Submitted A simplified model of Fil-C as a story · 8 points

    HN discussion
  27. ARMv8.7 added some new instructions for int min/max to replace cmp+csel. (I'm surprised it took them so long to add popcnt.) https://www.corsix.org/content/arm-cssc

    Comment linking /content/arm-cssc

    on “RISC-V Conditional Moves”
  28. Submitted Estimating pi with LuaJIT as a story · 6 points

    HN discussion
  29. Any links to info on 5.1.4 -> 5.2 changes? I can't seem to find any. EDIT: Found some information! http://www.corsix.org/content/look-lua-52-work3

    Comment linking /content/look-lua-52-work3

    on “[ANN] Lua 5.2.0 (final) now available”
  30. Submitted RISC-V Conditional Moves as a story · 5 points

    HN discussion

Search all of HN for corsix.org

Linked by the same people?