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
    X

    Xem

    xem.github.io · Personal blog · on HN since 2013

    Maxime (xem) is a front-end developer who does JavaScript code golf, making tiny demos, games, and tools for contests like JS1K.

    Visit blogHN submissions
    Web DevelopmentProgramming
    What HN says

    HN links it for tiny JS apps like a spreadsheet and code editor, plus reference material on x86 and Minix.

    Stats for nerds
    20HN people shared it
    17linked in comments
    639story points
    Mar 2024last shared
    2014people per year2024

    Top posts on HN

    1. 1
      A 220b spreadsheet app in HTML/JS
      4 people · 365 points · first shared 2014 · 99 comments on HN
    2. 2
      An HTML/CSS/JS code editor in 230+ bytes
      4 people · 231 points · first shared 2013 · 55 comments on HN
    3. 3
      A minesweeper game in less than 512 bytes of HTML/JS
      1 person · 11 points · first shared 2013 · Discussion on HN
    4. 4
      A full, summarized, interactive WebGL tutorial
      2 people · 8 points · first shared 2020 · Discussion on HN
    5. 5
      Show HN: A 89b JavaScript notepad with local persistence
      2 people · 3 points · first shared 2018 · 1 comments on HN
    6. 6
      WebGL Guide
      1 person · 3 points · first shared 2019 · Discussion on HN
    7. 7
      W, a 2kb WebGL Framework
      1 person · 3 points · first shared 2021 · Discussion on HN
    8. 8
      2Dphysics v1.0: the smallest 2D physics engine in JavaScript
      1 person · 3 points · first shared 2025 · Discussion on HN
    9. 9
      JS13kGames 2016: Super Chrono Portal Maker
      3 people · 2 points · first shared 2015 · Discussion on HN
    10. 10
      A JavaScript minifier that reduces your (minified/packed) JS files by ~10%
      1 person · 2 points · first shared 2013 · 2 comments on HN

    What HN people wrote when they linked it

    • tomxorSep 2022

      Shameless plug

      I made an entire organ synthesizer in under 1024 bytes of html/js (use your keyboard):

      https://js1024.fun/demos/2022/23

      source / instructions / background:

      https://github.com/ThomasBrierley/js1024-mini-b3-organ-synth

      The javascript was significantly reduced in size by using regpack, which is a regex based dictionary compression algorithm targetting very small self decompressing javascript. Writing for regpack takes some thinking because you have to try and make the code the most naturally self similar, which often means consciously avoiding more immediate space saving hacks in order to make larger sequences of characters identical - e.g it would usually make sense to not duplicate an expression, unless it's very short and only used a couple times, it usually makes sense to store it in a variable, but the character cost in defining the variable is actually larger than simply duplicating the expression through regpack (even if it's used a lot).

      This might be worse than the lzw type compression used in HTTP, I haven't tested, but this was written for a code golfing competition where source size counts not transmitted size... Then again, conceptually this should lend itself to any any dictionary based compression, so zipping the original source (minus the whitespace), may also work out very well.

      Here's a web interface that includes terser and regpack: https://xem.github.io/terser-online/

      Note that it's usually best to hand minify for regpack, terser is…

    • raszMay 2023

      386 got trapping privileged accesses wrong, not fixed in 486. Problem is Protected Mode programs (CPL 3) executing CLI and expecting POPF to restore interrupt flag - its ignored AND doesnt trap. Afaik no x86 CPU ever fixed it completely.

      Microsoft had some hacks trying to detect and patch known common problem patterns:

      Getting MS-DOS games to run on Windows 95: The interrupt flag https://devblogs.microsoft.com/oldnewthing/20160411-00/?p=93281

      Virtualbox switches to software tricks: https://docs.oracle.com/en/virtualization/virtualbox/6.0/admin/swvirt-details.html

      "In particular, the recompiler is used when guest code disables interrupts and Oracle VM VirtualBox cannot figure out when they will be switched back on. In these situations, Oracle VM VirtualBox actually analyzes the guest code using its own disassembler."

      ReactOS didnt even try. "ReactOS' NTVDM on the other hand, is a software emulator just like DOSBox": https://web.archive.org/web/20170723164052/http://community.reactos.org/index.php/news/years-progress-ntvdm-part-1 https://web.archive.org/web/20151216085857/http://community.reactos.org/index.php/news/years-progress-ntvdm-part-2

      https://xem.github.io/minix86/manual/intel-x86-and-64-manual-vol3/o_fe12b1e2a880e0ce-996.html

      "When the PVI flag is set to 1, the CPL is 3, and the IOPL is less than 3, the STI and CLI instructions set and clear
      the VIF flag in the EFLAGS register, leaving IF unaffected. In this mode of operation, an application running…

    • xemFeb 2019

      http://xem.github.io

      I'm Maxime, front-end developer and passionate of JavaScript code-golfing.

      I make tiny JS demos & games for fun or for contests like JS1K.com and JS13Kgames.com, and write about them (among other front-end experiments) here.

      There's also a lot of tech watch and projects involving other topics like retro consoles emulation, Unicode, WebGL, and even a collection of memes and jokes.

      Feel free to send feedback, even negative.

      (I know the site's style is a bit old now, but I'm updating it!)

      Cheers :)

    • lifthrasiirMar 2024

      This is not "simple". And I'm not even talking about tracking, why is `all.js` a whooping 1 MB of JavaScript? For example, it clearly includes markdown-it but the website has zero Markdown support as far as I can tell. Spell-checking is the only non-trivial component I can imagine and even that can be plausibly replaced with a native `spellcheck` attribute.

      I would instead recommend a beautifully golfed, and yet still quite readable and functional notepad app with <100 bytes of JS: https://xem.github.io/postit/

    • myfonjSep 2019

      For exactly same purpose I am grooming self-contained HTML Sandbox "datauri app" [0] living in my bookmarks that too retains its state in location (#hash) so is copypastable to other browsers. I like to load preview to isolated iframe and have single editor. (Not as golfed as xem's ([1]) but it's mine and I like its few extra features.)

      [0] https://gist.github.com/myfonj/c8ce74bf549e19600026ce9022388df8
      [1] http://xem.github.io/miniCodeEditor/

    • SomeoneSep 2020

      I don’t know x86, but, after googling, I would guess that trapping instruction was INTO.

      Reading https://xem.github.io/minix86/manual/intel-x86-and-64-manual-vol3/o_fe12b1e2a880e0ce-210.html, that would give the handler enough information to figure out where the overflow happened. Of course, that would be at the cost of some performance (setting those registers takes time)

    Related

    p01p01.org70 people

    Monospace: A JavaScript demo in 1021 bytes, winner of the demo competition

    p01
    Personal · last shared 2025
    BabelStonebabelstone.co.uk20 people

    Unicode 15.0 Slide Show

    BabelStone
    Personal · last shared 2025
    Kang Seonghoonlifthrasiir.github.io16 people

    Why is a Rust executable large?

    Kang Seonghoon
    Personal · last shared 2023
    Xe Iasoxeiaso.net198 people

    We all dodged a bullet

    Xe Iaso
    Personal · last shared 2026
    Jens Oliver Meiertmeiert.com47 people

    Ignore AMP

    Jens Oliver Meiert
    Personal · last shared 2026
    UIEuie.com105 people

    The $300 Million Button

    UIE
    Company · last shared 2023
    Greg Maxwellpeople.xiph.org/~greg26 people

    Confidential Transactions

    Greg Maxwell
    Personal · last shared 2020
    Dan's Datadansdata.com41 people

    Money for Nothing

    Dan's Data
    Personal · last shared 2024