Top all-time · #2153
More Magic
Personal blog · more-magic.net · on HN as sjamaanprogramming
More Magic is a personal blog at more-magic.net about programming. Since 2013, 37 different Hacker News readers have linked it 57 times, most often “Chicken Scheme internals: the garbage collector (2014)”. It is still writing: the last post was on 2026-01-21, and you can follow it by feed.
Most-linked posts?
- Chicken Scheme internals: the garbage collector (2014)10 people · 11 mentions · first linked 2018-11-08
- Clojure from a Schemer's perspective (2021)6 people · 6 mentions · first linked 2021-03-05
- Chicken Scheme internals: the garbage collector5 people · 6 mentions · first linked 2014-03-31
- Structurally fixing injection bugs (2012)3 people · 6 mentions · first linked 2013-03-08
- Chicken internals: data representation (2015)3 people · 3 mentions · first linked 2022-01-21
- An Appeal to the Whatwg (2018)3 people · 3 mentions · first linked 2018-09-11
- What to Expect from Chicken 63 people · 3 mentions · first linked 2024-11-19
- FOSS for Digital Sovereignty in the EU2 people · 2 mentions · first linked 2026-01-21
- /posts/scheme-c-integration.html2 people · 2 mentions · first linked 2021-09-03
What Hacker News says?
CS4410 and CSE131 (they are very similar, pick one) for compilation: - https://course.ccs.neu.edu/cs4410sp21 - https://ucsd-cse131-f19.github.io These two articles for garbage collection: - http://www.more-magic.net/posts/internals-gc.html - http://journal.stuffwithstuff.com/2013/12/08/babys-first-gar...
Comment linking /posts/internals-gc.html
on “Ask HN: Do you recall any book or course that made a topic finally click?”Submitted Crunch – a Scheme compiler with a minimal runtime as a story · 190 points
HN discussionUsing string-based templating in general is a really bad practice, as it leaves the door wide open for XSS, SQL injection, etc. Sanitizing inputs, while often cited as the proper thing to do, isn't addressing the root problem: that we're using templating systems that don't use proper data types and thus can't automatically DTRT when rendering. See http://www.more-magic.net/posts/structurally-fixing-injectio... and h…
Comment linking /posts/structurally-fixing-injection-bugs.html
on “Building Web Apps in Go”Submitted Clojure from a Schemer's perspective (2021) as a story · 168 points
HN discussion"High level" is in the eye of the beholder, but I don't know that C is the best example to pick on: Before LLVM it was pretty common to target C as your portable assembly language. Just to give an example, I think GHC targets C-- as one of the steps in its transformations, and still outputs C when you're porting it to a new platform or building a cross-compiler. I don't know that it's useful to say that GHC ceases t…
Comment linking /posts/internals-gc.html
on “Super Tiny Compiler”Submitted Clojure from a Schemer's Perspective as a story · 149 points
HN discussionThat wiki page was just an informal working page for the core team to keep us focused. That's why it is a bit messy and incomplete, plus it mentions some changes that we decided not to include in CHICKEN 5.0.0. I wrote a more accessible introduction to CHICKEN 5's new features on my blog, https://www.more-magic.net/posts/chicken-5.html
Comment linking /posts/chicken-5.html
on “Chicken Scheme 5.0”Submitted Chicken Scheme internals: the garbage collector as a story · 112 points
HN discussionOne of the best intros to generational garbage collection is on chicken internals[1]. If you've ever wondered about GCs I thoroughly recommend giving the article a read, it's full of interesting asides as well. I think I would use chicken more but usually when reaching for scheme it seems to be because I want something embeddable. Even so, extremely excited about this release! [1]: https://www.more-magic.net/posts/i…
Comment linking /posts/internals-gc.html
on “Chicken Scheme 5.0”Submitted Chicken Scheme internals: the garbage collector (2014) as a story · 94 points
HN discussionChicken Scheme is embedded in C programs with one line. https://wiki.call-cc.org/embedding I've even embedded it in Objective-C programs running in iOS (could make OpenGLES calls in the repl and everything). Full API spec: https://wiki.call-cc.org/man/5/Embedding FFI example: https://wiki.call-cc.org/An%20extended%20FFI%20example https://www.more-magic.net/posts/scheme-c-integration.html
Comment linking /posts/scheme-c-integration.html
on “Fennel: A Practical Lisp”Submitted CHICKEN internals: the garbage collector as a story · 68 points
HN discussionSee also [0], which talks about how Chicken SCHEME (which compiles to portable C) does it. [0] https://www.more-magic.net/posts/internals-gc.html#managing-...
Comment linking /posts/internals-gc.html
on “Making a programming language using Rust”Submitted Chicken Scheme Internals: Data Representation as a story · 56 points
HN discussionI would call the code CHICKEN generates for "direct style" not "natural". (I know - it is a cop-out to use "natural" in quotes) Regardless of what we call the style, it isn't simple any more. For people interested in the internals of Chicken Scheme (I suspect sctb already knows): https://www.more-magic.net/posts/internals-gc.html
Comment linking /posts/internals-gc.html
on “Crunch – a Scheme compiler with a minimal runtime”Submitted Let's add a statistical profiler to Chicken Scheme as a story · 48 points
HN discussionIt was a configuration manager for what was basically a Linux-based wireless router. The Chicken compiler actually compiles down to C, which has the nice side-effect that you can easily include literal C code. Here's an example: https://www.more-magic.net/posts/scheme-c-integration.html
Comment linking /posts/scheme-c-integration.html
on “Chicken Scheme”Submitted Clojure from a Schemer's Perspective (2021) as a story · 14 points
HN discussionNote that Chicken has a very interesting garbage-collection algorithm called "Cheney on the MTA". Basically, the stack is the heap, and no function ever returns. The compiler converts every program to continuation-passing style, where instead of a function returning, it tail-calls a continuation. When the stack exhausts its limit, the runtime longjmps back to a trampoline. Variables captured by the current continuat…
Comment linking /posts/internals-gc.html
on “Chicken Scheme”Submitted What to Expect from Chicken 6 as a story · 6 points
HN discussionThis article? https://www.more-magic.net/posts/internals-gc.html
Comment linking /posts/internals-gc.html
on “The Green Tea Garbage Collector”Submitted An Appeal to the Whatwg (2018) as a story · 4 points
HN discussionCheney on the MTA and its various implementations (like Chicken Scheme [0]) have been allocating objects on the stack for ages. Would like to know how this compares. [0] https://www.more-magic.net/posts/internals-gc.html
Comment linking /posts/internals-gc.html
on “HotSpot compiler: Stack allocation prototype for C2”Submitted Chicken Scheme internals: the garbage collector as a story · 3 points
HN discussionHere is an article discussing the utilization of this technique specifically for CHICKEN scheme. http://www.more-magic.net/posts/internals-gc.html
Comment linking /posts/internals-gc.html
on “Chicken Scheme Websockets”Submitted What to Expect from Chicken 6 as a story · 3 points
HN discussionright . Brace yourself, you're in for a long ride. If you want to get in-depth on Cheney on the MTA, I'd reccomend Peter Bex's article on the Chicken GC ( http://www.more-magic.net/posts/internals-gc.html ), and the original paper, "CONS should not CONS its arguments, part II: Cheney on the MTA". But I'll do my best to sum it up here. Cheney on the MTA is a really neat hack that allows for cheap continuations, realt…
Comment linking /posts/internals-gc.html
on “Chicken Scheme”Submitted Clojure from a Schemer's Perspective (2021) as a story · 3 points
HN discussionAnother day, another string-based template engine that will lead to invalid output and injection attacks. You don't need a new language specifically for templates, you need to use a real programming language with real data structures that represent the HTML/XML nodes. http://www.more-magic.net/posts/structurally-fixing-injectio...
Comment linking /posts/structurally-fixing-injection-bugs.html
on “Hero – A handy, fast and powerful Go template engine”Submitted CHICKEN's numeric tower as a story · 3 points
HN discussion