Top all-time · #7656
GFX::Monk
Personal blog · gfxmonk.netprogrammingsystems
GFX::Monk is a personal blog at gfxmonk.net about programming and systems. Since 2010, 10 different Hacker News readers have linked it 19 times, most often “Defer: Taming asynchronous javascript with coffeescript”. It is still writing: the last post was on 2026-01-10, and you can follow it by feed.
Too few sampled comments (6) to say how often HN recommends it.?
Why HN links it
HN readers link these posts on asynchronous JavaScript, especially a 2010 post on defer and await-style continuations in CoffeeScript. Other links cover Node.js control flow and a GNOME shell extension.
Summarised by Claude from a sample of 6 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- Defer: Taming asynchronous javascript with coffeescript5 people · 5 mentions · first linked 2010-07-04
- I turned gnome-shell into a tiling window manager2 people · 2 mentions · first linked 2011-06-26
- /dist/0install/index/2 people · 2 mentions · first linked 2014-09-20
What Hacker News says?
You might be interested by this Gnome extension http://gfxmonk.net/shellshape/
Comment linking /shellshape/
on “I3: Improved Tiling Window Manager”Submitted NixOS and Stateless Deployment as a story · 218 points
HN discussionCool :), glad it's supported, at least for the simple case of line-wise transforms. Some things can't be done without reading everything. But there are still a number of operations on "all of stdin" that can safely be done lazily. I'm particularly fond of "divide stdin into chunks of lines separated by <predicate>" [0]. Which does need context, but only enough to determine where the current chunk ends (typically a f…
Comment linking /dist/doc/piep/
on “Show HN: Pythonpy – the swiss army knife of the command line”Submitted OS Technologies to Watch as a story · 143 points
HN discussionI wrote a similar tool a while back: http://gfxmonk.net/dist/doc/piep/ Mostly out of frustration for PyP not being lazy (on large inputs it reads the entire file up-front, or at least used to). But it was quite interesting to implement all the standard python idioms (like slicing) in a lazy way, and it's not that complicated a tool. I still use it a lot whenever I have a nontrivial pipeline to write.
Comment linking /dist/doc/piep/
on “Show HN: Pythonpy – the swiss army knife of the command line”Submitted Defer: Taming asynchronous javascript with coffeescript as a story · 69 points
HN discussionThe problem with benchmarking raw node.js code is that not a lot of real web apps will look like that. Naked node.js pushes all the asynchronous complexity on the application writer - writing everything with callbacks is equivalent to hand-writing a state machine. Since V8 does not have native continuation support, realistically it's going to devolve to libraries either doing CPS transformation ( http://gfxmonk.net/…
Comment linking /2010/07/04/defer-taming-asynchronous-javascript-with-coffeescript.html
on “Clojure's edge on Node.js”Submitted Piep: bringing the power of python to stream editing as a story · 47 points
HN discussionIt never became production ready, but I found this article an interesting discussion of the problem and a solution to it in Coffeescript: http://gfxmonk.net/2010/07/04/defer-taming-asynchronous-java...
Comment linking /2010/07/04/defer-taming-asynchronous-javascript-with-coffeescript.html
on “Node.js - A Giant Step Backwards”Submitted I turned gnome-shell into a tiling window manager as a story · 45 points
HN discussionThanks for the last link[1]. It is pretty amazing. I've studied some Scheme and call/cc on college (and played around with it on Ruby), but this post made me realize how much more powerful can continuations be (besides doing basic control flow/exception stuff). A post that stands on its own, whether you like/care about Coffeescript/Javascript or not. [1] http://gfxmonk.net/2010/07/04/defer-taming-asynchronous-java...
Comment linking /2010/07/04/defer-taming-asynchronous-javascript-with-coffeescript.html
on “Await and Defer in Coffeescript core”Submitted My new bash script prelude (2012) as a story · 4 points
HN discussionFor the curious -- previous discussion about adding TameJS constructs: https://github.com/jashkenas/coffee-script/issues/1710 And the history of a previous attempt at doing something similar: https://github.com/jashkenas/coffee-script/issues/241 https://github.com/jashkenas/coffee-script/issues/287 https://github.com/jashkenas/coffee-script/issues/350 http://gfxmonk.net/2010/07/04/defer-taming-asynchronous-java...
Comment linking /2010/07/04/defer-taming-asynchronous-javascript-with-coffeescript.html
on “Await and Defer in Coffeescript core”Submitted On Maintenance, or “I’ve written a lot of software, and now I have regrets” as a story · 3 points
HN discussionIt's inspired by a similar tool called `pyp`, which I considered extending but ended up going my own route instead. Here's some more information on why: http://gfxmonk.net/2012/03/28/why-piep.html
Comment linking /2012/03/28/why-piep.html
on “Piep: bringing the power of python to stream editing”Submitted Why Zero-Install Will Succeed as a story · 1 points
HN discussionGreat :D Sounds like you already found my vim feed, but yeah, it's at http://gfxmonk.net/dist/0install/vim-custom.xml (it's not on that index page, because nobody else is likely to want it). I've contributed to both the python & ocaml versions (and I made the logo :)). The ocaml version has not existed for all that long, I've only sent a few patches - I believe the porting itself was entirely done by Thomas, who's d…
Comment linking /dist/0install/vim-custom.xml
on “Simplifying 0install's solver with OCaml's functors”Ok, I hate you. I will look into 0install more seriously this time around, because you made a good pitch. Still, two questions: - The 0install feed for your customized vim install, can you link to it? - Out of curiosity, have you contributed to the Python and OCaml versions, or only one? If one, which? UPDATE: For others interested, obviously your 0install feed what onerous to find, haha. http://gfxmonk.net/dist/0in…
Comment linking /dist/0install/index/
on “Simplifying 0install's solver with OCaml's functors”I am a contributor, and I use it all the time. I publish a lot of my own stuff (mostly small utilities / libraries) at http://gfxmonk.net/dist/0install/index/ , as well as a bunch of third-party software. Making distro-specific packages for all of these would be a stupid amount of effort - with a single zeroinstall feed I can run cross-platform code without having to package it N different times. It is fairly easy t…
Comment linking /dist/0install/index/
on “Simplifying 0install's solver with OCaml's functors”