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.

What HN saysHN links it for tiny JS apps like a spreadsheet and code editor, plus reference material on x86 and Minix.
20HN people shared it
12linked it in comments
17stories submitted
639story points
4 months agolast shared
2013people per year2026

Most-shared posts

  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
    Obfusc-a-tweet reloaded
    3 people · 2 points · first shared 2015 · 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
    Terser online
    2 people · first shared 2020
  7. 7
    A minesweeper game in less than 512 bytes of HTML/JS
    1 people · 11 points · first shared 2013 · discussion on HN
  8. 8
    W, a 2kb WebGL Framework
    1 people · 3 points · first shared 2021 · discussion on HN
  9. 9
    WebGL Guide
    1 people · 3 points · first shared 2019 · discussion on HN
  10. 10
  11. 11
    A 118b web app converting any file to dataURI
    1 people · 2 points · first shared 2014 · discussion on HN
  12. 12
    MiniPixelFont Generator
    1 people · 2 points · first shared 2026 · discussion on HN
  13. 13
  14. 14
    A HTML/CSS/JS editor that fits in a tweet (140 chars)
    1 people · 2 points · first shared 2013 · 1 comments on HN
  15. 15
    A full paste & share app in 140 bytes
    1 people · 1 points · first shared 2013 · discussion on HN

What HN people wrote when they linked it

lifthrasiir · 2024-03-17
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/
xem · 2019-02-19
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 :)
tomxor · 2022-09-09
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…
userbinator · 2022-11-19
Scale Index Base, the form of addressing mode that looks logical in Intel syntax but very obtuse in AT&T. https://www.scs.stanford.edu/05au-cs240c/lab/i386/s17_02.htm https://xem.github.io/minix86/manual/intel-x86-and-64-manual-vol2/o_b5…
mmastrac · 2021-10-26
A few years back a few of us code golfed a sheet down to ~250 bytes. Not quite as full-featured, but loads of fun to shave off bytes. http://xem.github.io/sheet/
Someone · 2020-09-24
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_fe… 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)
myfonj · 2019-09-17
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/
jaclaz · 2017-01-01
Ok, still this: https://xem.github.io/minix86/src/disassembler.html doesn't work for me, maybe by "modern" you mean a current Chrome or Firefox. I tested it with QTweb, Chrome 43 and Opera (Presto), certainly not the most "mainstream" or "popular" or "latest" browsers around, still I find no real reason why the thingy shouldn't work with them.
rasz · 2023-05-12
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-… "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.or… https://web.archive.org/web/20151216085857/http://community.reactos.or… https://xem.github.io/minix86/manual/intel-x86-and-64-manual-vol3/o_fe… "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…

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close