Top all-time · #465
Phoboslab
Personal blog · phoboslab.org · on HN as phoboslabprogramminggames
Phoboslab is a personal blog at phoboslab.org about programming and games. Since 2008, 123 different Hacker News readers have linked it 243 times, most often “Are You A Typing Hacker? Prove It”. It is still writing: the last post was on 2026-08-04, and you can follow it by feed.
Rarely recommended · 3 of 40 sampled comments recommend it?
Why HN links it
HN readers link Phoboslab for browser game and codec work: JSMpeg, Q1K3 and Wipeout, plus the making-of posts behind them.
- Recommended for · 3 comments
- one commenter says its ten-year-old articles still work; two others point readers to the site and its making-of posts.
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.
Most-linked posts?
- Are You A Typing Hacker? Prove It9 people · 9 mentions · first linked 2013-04-04
- WipEout (1995) Source Code Rewrite8 people · 10 mentions · first linked 2023-08-10
- 13k JavaScript Quake – Making Of8 people · 9 mentions · first linked 2021-09-28
- The State of HTML5 Audio6 people · 7 mentions · first linked 2011-03-09
- Wipeout done in JS5 people · 5 mentions · first linked 2015-04-14
- Z-Type: Shoot to Type (Try the Expert Mode)4 people · 5 mentions · first linked 2011-01-10
- Reverse Engineering Wipeout4 people · 4 mentions · first linked 2015-04-14
- QOA, the Quite OK Audio Format4 people · 4 mentions · first linked 2023-02-02
- How Much Traffic is Too Much Traffic For CloudFlare?4 people · 4 mentions · first linked 2013-02-13
- Quite Ok Audio Format Benchmark Results and File Format Specification4 people · 4 mentions · first linked 2023-04-26
What Hacker News says?
JSMPEG-VNC also claims only ~50ms delay: http://phoboslab.org/log/2015/07/play-gta-v-in-your-browser-...
Comment linking /log/2015/07/play-gta-v-in-your-browser-sort-of
on “Guacamole – A clientless remote desktop gateway”Submitted QOI: Lossless Image Compression in O(n) Time as a story · 1057 points
HN discussionThis is impressive, I was curious if it was just better on simpler images with many duplicate pixels but it's nice to see it working well with photography too e.g. https://phoboslab.org/files/qoibench/images/wallpaper/EwZDbL... decode ms encode ms decode mpps encode mpps size kb libpng: 148.4 3995.5 55.88 2.08 12223 stbi: 161.0 1858.3 51.50 4.46 19199 qoi: 60.8 95.6 136.49 86.78 12868 I'm interested if there's a sta…
Comment linking /files/qoibench/images/wallpaper/EwZDbLoWQAEskRq.png
on “QOI: Lossless Image Compression in O(n) Time”Submitted Are You A Typing Hacker? Prove It as a story · 730 points
HN discussionTo quote myself from Twitter: Aaaaand here's the reason why Z-Type is extremely slow in Safari 7 http://phoboslab.org/crap/html5audio/pause.html - surprise, it's an <audio> bug. sigh ~ https://twitter.com/phoboslab/status/396732243273453568
Comment linking /crap/html5audio/pause.html
on “Are You A Typing Hacker? Prove It”Submitted Porting my JavaScript game engine to C for no reason as a story · 525 points
HN discussionHTML5/Canvas games are mostly bound by drawing performance. Modern browsers use hardware acceleration where available, but it could very well be that your GPU is black listed for missbehaving OpenGL drivers. Intel GPUs are the worst offender here. If you have proper hardware acceleration, a game like this should run fluidly even on low end systems. Case in point: the similar looking X-Type ( http://phoboslab.org/xty…
Comment linking /xtype/
on “Are You A Typing Hacker? Prove It”Submitted The Making of Underrun – A WebGL Shooter in 13kb of JavaScript as a story · 434 points
HN discussionOff topic: I knew this domain looked familiar. It's home of Asaph, a great micro-blogging tool: http://phoboslab.org/projects/asaph This was before I discovered Tumblr and GitHub (where it's currently hosted). I actually used it for a recent side project: http://impecrateur.fr
Comment linking /projects/asaph
on “Are You A Typing Hacker? Prove It”Submitted Play GTA V in your Browser, Sort of as a story · 362 points
HN discussionGames like X-Type[0] make me think things are getting there. The making-of is interesting[1]. [0]: http://phoboslab.org/xtype/ [1]: http://phoboslab.org/log/2012/06/x-type-making-of
Comment linking /log/2012/06/x-type-making-of
on “Skrillex Quest”Submitted Apple ignores bug report as a story · 318 points
HN discussionThe original JavaScript engine “Impact” from 2010 is at the end of its life; the C rewrite “high_impact” is new and will (potentially) be around for as long as we have C compilers and some graphics API. The JavaScript engine had a lot of workarounds for things that are not necessary anymore and some things that just don't work that well with modern browsers. From the top of my head: - nearest neighbor scaling for pi…
Comment linking /log/2011/03/the-state-of-html5-audio
on “Porting my JavaScript game engine to C for no reason”Submitted Voidcall – Making of 13kb JavaScript RTS Game as a story · 236 points
HN discussionDirect link to playable wasm version: https://phoboslab.org/high_impact/biolab/
Comment linking /high_impact/biolab/
on “Porting my JavaScript game engine to C for no reason”Submitted The QOI File Format Specification as a story · 214 points
HN discussionMaybe something like my grid solver[1] would do. Thumb sizes must be chosen beforehand, but you could specify just 2 classes: one for portrait, one for landscape. I haven't touched this code in almost 6 years now, so don't expect too much :) [1] http://phoboslab.org/files/grid-solver/demo/
Comment linking /files/grid-solver/demo/
on “The algorithm for a perfectly balanced photo gallery”Submitted Decode Like It's 1999: MPEG-1 Decoder in JavaScript as a story · 211 points
HN discussionThe WebGL game was build with my 2D game engine "Impact", which I previously ported to C[1]. The game has a 3d view, but logic still mostly works in 2 dimensions on a flat ground. The N64 version "just" needed a different rendering and sound backend. [1] https://phoboslab.org/log/2024/08/high_impact
Comment linking /log/2024/08/high_impact
on “Ask HN: What Are You Working On? (Nov 2025)”Submitted Impact HTML5 Game Engine released as a story · 204 points
HN discussionPorting my 2014 WebGL game ( https://phoboslab.org/xibalba/ ) to the N64: https://x.com/phoboslab/status/1982883072292069641
Comment linking /xibalba/
on “Ask HN: What Are You Working On? (Nov 2025)”Submitted How Much Traffic is Too Much Traffic For CloudFlare? as a story · 186 points
HN discussionWhy is your post about your Coinhive authorship [0] gone? [0]: https://phoboslab.org/log/2018/03/about-coinhive
Comment linking /log/2018/03/about-coinhive
on “The Making of Underrun – A WebGL Shooter in 13kb of JavaScript”Submitted Reverse Engineering Wipeout as a story · 184 points
HN discussionInterframes are not a problem, as long as they only reference previous frames, not future ones. I was able to get latency down to 50ms, streaming to a browser using MPEG1[1]. The latency is mostly the result of 1 frame (16ms) delay for a screen capture on the sender + 2-3 frames of latency to get through the OS stack to the screen at the receiving end. En- and decoding was about ~5ms. Plus of course the network late…
Comment linking /log/2015/07/play-gta-v-in-your-browser-sort-of
on “3K, 60fps, 130ms: achieving it with Rust”Submitted Letter to John Carmack as a story · 149 points
HN discussionThis game was posted back to HN some time ago; I find it a lot more fun, if not as instructive. http://phoboslab.org/ztype/
Comment linking /ztype/
on “Improve your touch typing”Submitted Biolab Disaster - an HTML5 Game (plus Making-Of Video) as a story · 146 points
HN discussionAn MPEG-1-based screen sharing experiment appeared here 10 years ago: - https://news.ycombinator.com/item?id=9954870 - https://phoboslab.org/log/2015/07/play-gta-v-in-your-browser...
Comment linking /log/2015/07/play-gta-v-in-your-browser-sort-of
on “We replaced H.264 streaming with JPEG screenshots (and it worked better)”Submitted IOS games using JavaScriptCore without WebKit as a story · 141 points
HN discussion