Hacker Blogs
Work in progress: 82,651 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #590

A

Andre Weissflog

Personal blog · floooh.github.ioprogramminggames

Andre Weissflog writes The Brain Dump, a personal blog at floooh.github.io about programming and games. Since 2014, 102 different Hacker News readers have linked it 407 times, most often “Handles are the better pointers”. It is still writing: the last post was on 2025-12-01, and you can follow it by feed.

Visit the blog
407mentions?
2recommend?
102HN people?
2014–2026first – last linked?
Links on Hacker News per year · peak 44 in 2023

Rarely recommended · 2 of 40 sampled comments recommend it?

Why HN links it

HN readers link floooh.github.io for Andre Weissflog's writing on WebGL, handles versus pointers and C, plus his emulator and sokol demos.

Recommended for · 2 comments
Called a writeup 'nice' and the handles articles' ideas 'good'.

Summarised by Claude from a sample of 40 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

This is the blog and personal web page of Andre Weissflog (Floh, floooh, flohofwoe) mostly about programming stuff.

Most-linked posts?

  1. Handles are the better pointers
    32 people · 53 mentions · first linked 2018-06-17
  2. Tiny Emus: 8-Bit emulators
    8 people · 28 mentions · first linked 2018-06-28
  3. Modern C for C++ Peeps
    8 people · 10 mentions · first linked 2019-09-27
  4. Thoughts about a WebGL-Next
    8 people · 8 mentions · first linked 2016-08-13
  5. A new cycle-stepped 6502 CPU emulator
    5 people · 7 mentions · first linked 2019-12-13
  6. /sokol-html5/index.html
    5 people · 6 mentions · first linked 2017-12-11
  7. Zig and Emulators
    5 people · 6 mentions · first linked 2024-08-24
  8. WebAssembly Demystified
    4 people · 4 mentions · first linked 2017-06-09
  9. WASM Debugging with Emscripten and VSCode
    3 people · 11 mentions · first linked 2023-11-11
  10. Sokol – minimal cross-platform standalone C headers
    3 people · 11 mentions · first linked 2018-03-11

What Hacker News says?

  1. AFAIK tagged-index-handles are typically used for this (where the tag is a generation-counter to detect 'dangling handles'), which more or less side-steps the borrow checker restrictions (e.g. see https://floooh.github.io/2018/06/17/handles-vs-pointers.html ).

    Comment linking /2018/06/17/handles-vs-pointers.html

    on “Leaving Rust gamedev after 3 years”
  2. Submitted One year of C as a story · 303 points

    HN discussion
  3. Audio worklets are a step into the right direction for streaming audio, but for a simple audio-streaming API you don't need the complex node-based architecture of WebAudio, you just need a JS callback which writes samples into an ArrayBuffer. With audio worklets this callbacks runs in a separate audio thread, and with the (deprecated) ScriptProcessNode this callback runs on the main thread. E.g. a "good" web audio A…

    Comment linking /tiny8bit/

    on “WASM 3.0 Completed”
  4. Submitted Visual6502 Remix as a story · 205 points

    HN discussion
  5. I think the emscripten and NaCl (core) teams should concentrate on the tool chain, not on UI tools or IDE integration, IDE support is only useful with full debugger support, and that's a massive amount of work, and I guess every new version of Visual Studio requires a lot more work. I spent a bit of time to write a set of python cmake wrapper scripts which make cross-compiling to 'esoteric' targets easier (see here:…

    Comment linking /fips/

    on “From Asm.js to WebAssembly”
  6. Submitted Handles are the better pointers as a story · 194 points

    HN discussion
  7. https://floooh.github.io/2017/12/10/z80-emu-evolution.html Based on this article I think RPi will not handle cycle accurate emulation at this level of performance, but it could easily do instruction level emulation.

    Comment linking /2017/12/10/z80-emu-evolution.html

    on “ZedRipper: A 16-core Z80 laptop”
  8. Submitted Tiny Emus: 8-Bit emulators as a story · 178 points

    HN discussion
  9. There's also the alternative of using C/C++ for portability and performance, but without a huge engine runtime you'll have to drag along. There is no inherent size advantage of doing things in Javascript vs. cross-compiled to asm.js. For instance, three.js is 100kByte minified and compressed, that's in the same ballpark as the (admittedly simple) demos here: http://floooh.github.io/oryol/ Once you are over the stati…

    Comment linking /oryol/

    on “Voxel.css”
  10. Submitted How early 8-bit arcade machines differed in design from 8-bit home computers as a story · 178 points

    HN discussion
  11. I get 165ms for my 8-bit homecomputer emulator which is 534KB compressed asm.js ( http://floooh.github.io/virtualkc/ ), and it seems the first call into the code takes another 500ms on Chrome (probably for JIT warmup). Bigger apps like UE4 or Unity demos are several times bigger and can take seconds to compile.

    Comment linking /virtualkc/

    on “WebAssembly: Mozilla Won”
  12. Submitted Tiny Emulators as a story · 168 points

    HN discussion
  13. The resident memory was 10MB in my windows machine when I ran this. A strong reason for me to use this would be in a low powered device. I want to write markdown in a tiny editor like this. I want to run multiple projects side by side and this is good for that. If I'm a beginner trying do dev on a machine lower than 4G of RAM. So many more examples come to my mind. I'm pretty sure there are more Also the immediate U…

    Comment linking /sokol-html5/index.html

    on “Show HN: Lite – A small, fast text editor”
  14. Submitted Handles are the better pointers (2018) as a story · 152 points

    HN discussion
  15. It is so sad to see this whole discussion. Because I usually think, HN is different, from the angry, uninformed mobs out "on the streets". I mean, I don't know much about low level graphic API's, I read about them, but I don't work with them directly. But apparently most of the people here don't know either! They basically seem to know that they like open standards (so do I) and that Vulkan is a open Standard and th…

    Comment linking /2016/08/13/webgl-next.html

    on “Apple proposes new web 3D graphics API”
  16. Submitted A new cycle-stepped 6502 CPU emulator as a story · 140 points

    HN discussion
  17. Because Vukkan is too low level for the web, and thus not a good impedence match. Here is a nice writeup: https://floooh.github.io/2016/08/13/webgl-next.html

    Comment linking /2016/08/13/webgl-next.html

    on “Apple proposes new web 3D graphics API”
  18. Submitted High Performance Z80 Emulation as a story · 120 points

    HN discussion
  19. Related reading re. Vulkan "What a WebGL2 successor could look like and why it can’t be WebVulkan" - https://floooh.github.io/2016/08/13/webgl-next.html See also the the author's sketch of a next-gen web graphics API on top of WebGL ( https://floooh.github.io/2016/10/24/altai.html ) which is (perhaps unsurprisingl) broadly similar to the sketch given the article (minus command queues, shader libraries, ...).

    Comment linking /2016/10/24/altai.html

    on “Apple proposes new web 3D graphics API”
  20. Submitted Modern C for C++ Peeps as a story · 102 points

    HN discussion
  21. I tried something similar with a 4K C64 demo recently in my emulator, basically percent-encoding the program to run right into the URL instead of hosting it somewhere. It works, but only up to about 2.5 KBytes (good enough for 256 byte demos though). Let's see if HN accepts the URL: https://floooh.github.io/tiny8bit/c64.html?prg=AQgLCB4AnjIwN...

    Comment linking /tiny8bit/c64.html?prg=AQgLCB4AnjIwNjEAAACgNbq9FxGd%2FADK0PdMyRDM%2FtbyEdz25k7ENaxxDcDQyoQbDi8BjMwv7ush2TX8wgY4Q3wdgRIjINb%2Bm1epqMFZcyw8x4OFgnf%2BrBQwiBxBAa5ADDgAfASBQt0YPH7b%2FyRapf%2BWgowCMJgoKyhC%2F4R4OT5g2wZ8d%2BViTjkxRs1FPDjTZ2Y%2Fr4xCN0jiEJWSIIOCMkX%2BOGyffoSWS4GnBjxgOAwkZ63DDNNMVM7W5uq%2FUTgNpJ6Kn2AoVfAc8hI2Zt7%2FhewSlTd%2BwPzhl%2F7M8AwwdMZkRkl%2BBsZ8X4YCsRPHGDCMA%2BrhxQN4TAwPGAAZBOBYA2ZRAC4WKAwg%2FyQ8%2BAXl6XAlIQebDQMOBg8A0vlG%2BgwhtiKRSZFKkXGRcpERKA4yNTI2Ml0yXjKFUo2G%2BmBhWFD3Rz83MCkiHBb%2FEnsKB9sEcQQGCQ0RFhwiKC83P0dPWGFqc32Gj5miq7O8xMzT2uDm6%2FD0%2BPr9%2Fv%2F%2F%2Fv37%2BfXy7eji3NXOx7%2B2rqWck4mAd25kW1JKQjoyKyQeGBMPCwcFAwIBAQIDBggMEBUaICYtNDxETFVeZ3B6g4yWn6iwucHJ0Nfe5Oru8%2Fb5%2FP7%2F%2F%2F%2F%2B%2FPr38%2B%2Fq5N7Y0cnBubGon5aNg3pxZ15VTUQ8NC0mIBoVEAwIBgMCAQECAwUHCw4TGB4kKzI5QUpSW2Rtd4CJkpylrra%2Bxs7V3OLo7fH1%2Bfv9%2Fv%2F%2F%2Fv36%2BPTw6%2Bbg2tPMxLy0q6KZkIZ9dGrrAIoAALbkCQBg57ZlfgGNtObkfSjJJSv%2FSCvuM%2B0uSM42DOkrP5628w8OTg8G4xQI6QeSAQ0Fr64fTDe1hI5%2FmDule0zi%2FHEYfgEAfz%2FwCwDGQeb4DYDHB8DB2A94Ew7WFQv5EJw1hY7QGkTLRXgZg%2BHLhDeJ3MwN3fHtFyGloHfCZ1Lc%2BNIFv8AmBhYc0o9opFzaNLfx2xnzkNls8NDMmz7R3CixeJF0mBkgKUjVnA6vANidwPRkf%2BKpG%2BGNLVhME6DbActGgRCJuV4hpC%2F7psk3onutEbX274iMPOzADDsBYKETAPwG4HrA2%2FAbACBAEIA9KJTuwLhMyRAI3gskD08I9iKl9FonDlbwYrU%2FoC%2F4ndro4kjQ9c9gd6YC050K7t2tkWsPKQfwPwOqEEB94ANEP3wnscAyqRy3JgyNwfStUlVKXw2Ums6i2p2R7qXSD2BMhRcfOCBAcABMwLMRpNimf8oIyJ3%2FmwnKO9qIP7QBv%2BiGwM%2FYjBbUWr3WhOdqKdb0tIa17MU%2FMH9cFxao9QfuBqXuSemFq%2B8Z7KncBY0%2FtzflEAcpH7%2Bk0NzWlciUhuuJubk0EY1tELSI%2F%2BC7fwa1nkliDdc7EcjJCLD8BHej0PRIn232pJXNiosCoACUeYgPk2C1hEjJVf8KT57oD00T1mgQG%2BulqQd2rPNttKObrpWVLnMnBYF46XQG1LTOuYoR0PuItd4s9qKV9aY1pZ1v1Lmh53ME4n8QKrW83ikPqOe5fhGffqm7pmgXSqjE8AcGxyb1iJv1ycEYdYc9rnClwuMA6gHqtU5pGJW%2BnQLUTP%2BHEBaHLIM%2BisZjiwQRhoWFogEG66AfAxQECgUAO0lTXf1nQxvCSAECWigFEJD6NNM2RqpeRapkUUjSxbhTQ5UmSyvDpzoqA5VKQ0a6HgSyAA8C4Aik%2Bn%2BK6AzoHC0%2BUWZ7kan%2Fw936n8QIGBFxCYFBh0CABK5WDEkCotaLiYb7Lgqq%2FY6Miv%2F7hLq8iADoAfeiDs8Cu6kBhNcTWpWguXGfnbvUiLsg6REQ6v4DdJI6HoWVvfEX1qk%2FuNrU04o46QeqYAD%2Baw54DZRl4JHAzhnAuNkBIB18AVBgbeD6AJIgGgIP3NzgcgAqAh9waQFAuCQAXRqoEgADHgNgQAymoSyoxAwYPIIgEACErQHcye9%2Fy0x6DLnUQjLlGK3JSSoLJ5qwsO%2BbvPPu5RN4%2F14VGxtZHVkAEIsckReVwAYntCiRKZEqkSuRLJEtkS6VM4JnVhD04PDmkqMHjQmMC5QNarkGiRofCCtcCrF4Ob2j8CWwPWYUew%2BJHewS6BQTTKwUL1eiKdj41iv%2BnMquO%2FtG%2FD79negKz2kgthbvOh8tja4AoOUiISUiXp5rFr60F8%2BCqvflqPcUqLeigQSVFryqe8CkkoTUwZASmiY8wkxYomgBIwMjBfcPkqXzyXfwdrtwdh2guw7rKr4ojl8HsSPrGDaiPQcrTMkVbokjiiOxI7IjnSOeI8WTxmYJHd8pmQfvyF8micdj2yPcLQMjBC3rI%2Bx5E9KjFPk0IONt5A5kC6lkDA9HYLUAlpACrCWwBGtpCg4nKlf4Wv9ZKLv5Uo76aa09aU5SFbOiLzXDpKqElCD0IyiyzfMw%2B7mpwOOiB%2F4oJOoWKKxMahcgVg%2F64LWMGKmVFmPloDlEipijSD0upvChXKnIjRberULJ%2Fs35lffKi%2F3qqQaN%2ByDQ%2Byz6jVCNXpSdbNjObQ7%2B79rW%2FloTuTn%2F7hnoqXXPEtA5qBrtaECm3r0rC6AAqikH%2FUnXjfAUioT%2FKkaG8WqonzrwEbbpJkAnuCeQJw1S4BLbCE6kMEm5gBOdWPsOyMMnm9DW60yl18kC%2FnHmlryF8qziRFjA7MRiwScWwjuxw9iJxcROLMV2YsaxE4vHnVjI7MRiyScWyjuxy9iJxcyt2o3NyYzO0gqBGdvmMCjQ%2BGCtv%2BkC5CKwN2kIjR4W%2FuO9cWadcOlj4CYz9a1unMkA0O4Nt%2BuYqTjRTETLOJYP3Ritl2kBjUV8kAO9RhvJjfAE0e4nYKkAjWsXPzHJAfADL5fNTCgtJnMySJqirMCdp5NdD6JoCHQAK6eQM1ii5k826KeOLgylP0nlhfVg%2FaITCHAaAQ0h9DQL0kYUuQMomgkOFgGv%2B%2BV0KQKlGXsEe7nfCVQOA7ruBxIyBVQTKhQPjQELDAUuCQggADYAmmBnFUMAAAE5Z2ZFNSQCIQAQIBNCIxMBucARmeYHiND3GKqYKQ%2BZaAPwDIp5ZwOZaAOlnnmbA5mcA6kBhZ6peCAAAUqq8AkIBp44asrQ%2BShqmTQDMAWlnoaeJIrIwDTQwaD%2FikyNARAAF2mAChAPBv3QCEggGgEqhf1oKjDxcAFgOIWfrSkB0AbOKgGO59vOKQGtyRBgIBoBkf6Y0ALG%2F4jKBv3QBiAaASqF%2FeiQ8%2FDl4BGwS70zAyAAAX1nA4Wnqqnx4AOwA72jAbggBQEYqr00AyAAAX1oA4WupZ99nANl%2F4WvpqewE7Gukf6Y0ATG%2F8aviMrQ74af8KYgGgGw6vAJIBoBIBoBqrDbTJANzPIBAECCSzgcV0fV8Sb83kZJMsxrEEhP%2BEfocsDe%2BOr%2B8CcUiA%2BnHvJbMXitlATw2M2rwMB%2BuA%3D%3D

    on “Memories – 256 bytes demo winner of Revision 2020”
  22. Submitted Modern C for C++ Peeps (2019) as a story · 94 points

    HN discussion
  23. I have been thinking about this as well lately. For my app ( http://ngrid.io ) I'm using a custom built Entity-Component-System ( https://en.wikipedia.org/wiki/Entity_component_system ) based UI framework in Rust. In the ECS paradigm, everything is stored as struct-of-arrays as opposed to array-of-structs ( https://en.wikipedia.org/wiki/AoS_and_SoA ) and as a result, your serialization becomes trivial. You are not c…

    Comment linking /2018/06/17/handles-vs-pointers.html

    on “SQLite as an Application File Format (2014)”
  24. Submitted Getting into way too much detail with the Z80 netlist simulation (2021) as a story · 82 points

    HN discussion
  25. "C-like" code in C++ still has C++ semantics. "modern C++" is a disputed paradigm, but not necessarily how things should be done. When you write C++, but not "modern C++", that doesn't mean you are writing C. There are also modern features in C. https://floooh.github.io/2019/09/27/modern-c-for-cpp-peeps.h...

    Comment linking /2019/09/27/modern-c-for-cpp-peeps.html

    on “Why is Zig so cool?”
  26. Submitted A new cycle-stepped Z80 emulator as a story · 77 points

    HN discussion
  27. Yes, for instance this is mixed Zig/C project (the C part are the sokol headers for the platform-glue code): https://floooh.github.io/pacman.zig/pacman.html The Git repo is here: https://github.com/floooh/pacman.zig ...in this specific project, the Emscripten SDK is used for the link step (while compilation to WASM is handled by the Zig compiler, both for the Zig and C sources). The Emscripten linker enables the 'em…

    Comment linking /pacman.zig/pacman.html

    on “Porting my JavaScript game engine to C for no reason”
  28. Submitted Thoughts about a WebGL-Next (2016) as a story · 67 points

    HN discussion
  29. The tagging mechanism reminds me of generational indices like https://floooh.github.io/2018/06/17/handles-vs-pointers.html , but I’m a bit out of my depth

    Comment linking /2018/06/17/handles-vs-pointers.html

    on “Memory Integrity Enforcement”
  30. Submitted Emscripten/HTML integration tips as a story · 66 points

    HN discussion

Search all of HN for floooh.github.io

Linked by the same people?