Top all-time · #1021
Ratfactor Feed
Personal blog · ratfactor.com · on HN as davegauerprogrammingsystems
Ratfactor Feed is a personal blog at ratfactor.com about programming and systems. Since 2018, 68 different Hacker News readers have linked it 158 times, most often “Ascetic Computing”. It is still writing: the last post was on 2026-10-31, and you can follow it by feed.
Most-linked posts?
- Ascetic Computing9 people · 9 mentions · first linked 2026-05-16
- Forth: The programming language that writes itself6 people · 7 mentions · first linked 2023-05-25
- Text Files as a User Interface5 people · 5 mentions · first linked 2026-05-03
- An exploration of each of the coreutils commands4 people · 5 mentions · first linked 2022-10-23
- Assembly Nights3 people · 4 mentions · first linked 2021-12-01
- A text editor as a user interface3 people · 3 mentions · first linked 2026-04-30
- What should a personal website be?3 people · 3 mentions · first linked 2026-07-04
- Programming as Theory Building3 people · 3 mentions · first linked 2023-08-25
- Finishing Things3 people · 3 mentions · first linked 2026-04-21
- Personal Linux Setup with Git Repos and Stow2 people · 3 mentions · first linked 2022-02-06
What Hacker News says?
It's a pithy philosophy if you already know what it means to "work". You probably don't, especially if your system is human facing. Figuring out what "works" means is almost as difficult as building things in the first place. You may as well commit to building it twice [0]. [0] https://ratfactor.com/cards/build-it-twice
Comment linking /cards/build-it-twice
on “Do the simplest thing that could possibly work”Submitted School vs. Wikipedia as a story · 444 points
HN discussionhttp://ratfactor.com/ Content is statically generated from an AsciiDoc text file wiki managed by a Vim plugin. Though I write heavy Web applications for a living, there's no JS on my personal website except on specific pages with interactive tools. After a revamp a couple years ago, all dynamic server-side actions are handled with old-school CGI applications. Retro and loving it. I'm really enjoying looking at every…
Comment linking /
on “Ask HN: Share your personal site”Submitted Forth: The programming language that writes itself as a story · 332 points
HN discussionI'm a huge fan of running web servers in the house - but they don't have to be connected to the Internet to be useful and fun! An Apache instance on my always-on box in the basement [0] serves an incredible number of uses and can be connected to from any computer-like thing on my home network. Old-school CGI scripts can be written almost as quickly as terminal scripts and HTML forms make super quick interfaces. A ho…
Comment linking /setup2
on “I wish my web server were in the corner of my room”Submitted Fake Trees: Using Indents for Simpler UIs as a story · 242 points
HN discussion> But no advice that you give about "the correct philosophy" is going to instantly transfer enough knowledge to make all large companies write good code, if only they followed it. Good old "Programming as Theory Building". It's almost impossible to achieve this kind of transfer without already having the requisite lived experience. [0]: https://ratfactor.com/papers/naur1_theory_building.pdf
Comment linking /papers/naur1_theory_building.pdf
on “Simplify your code: Functional core, imperative shell”Submitted Ratfactor's illustrated guide to folding fitted sheets as a story · 217 points
HN discussionNice article. Amazed they came across Prolog but not Forth!? Prepare to have your mind blown: https://ratfactor.com/forth/the_programming_language_that_wr...
Comment linking /forth/the_programming_language_that_writes_itself.html
on “Programming languages that blew my mind (2023)”Submitted Small Programs and Languages as a story · 193 points
HN discussionHere's my neo-Luddite take on this. Slides with support for notes in a synchronized second window in just 371 bytes of minified javascript, some HTML and some CSS: let a=[...document.getElementsByClassName("slide")] .map((a,b)=>[a,"slidenote"==(b=a.nextElementSibling) ?.className?b:a]),b=0,c=0,d=()=>a[b][c] .scrollIntoView(),e=new BroadcastChannel("s"), l=a.length-1;d();e.onmessage=({data:a})=>{c^=a.c, b=a.b,d()};do…
Comment linking /minslides/
on “Presentation Slides with Markdown”Submitted My Notebook System as a story · 182 points
HN discussionThe timing of this article is great for me as lately I'm fascinated by the Forth language and the simplicity behind its apparent strangeness. I've been tempted to start playing with similar ideas just for fun. ( https://ratfactor.com/forth/the_programming_language_that_wr... is a great read, btw.)
Comment linking /forth/the_programming_language_that_writes_itself.html
on “What you learn by making a new programming language”Submitted I learned Snobol and then wrote a toy Forth as a story · 145 points
HN discussionI wrote a book focusing only on text processing commands (includes exercises as well): https://learnbyexample.github.io/cli_text_processing_coreuti... You can practice some of the exercises using this interactive TUI app: https://github.com/learnbyexample/TUI-apps/tree/main/CLI-Exe... See also: https://ratfactor.com/slackware/pkgblog/coreutils , https://maizure.org/projects/decoded-gnu-coreutils/ and https://www.pix…
Comment linking /slackware/pkgblog/coreutils
on “Robert Elder's Guide to GNU Coreutils”Submitted Implementing a Forth as a story · 143 points
HN discussion"An honorable mention must be made here for SNOBOL, which is kind of like assembly language both for the rigid syntactic reasons listed above and also because it presents a similar control flow challenge. Like a CPU, it only understands jumps and call/return." "So how about something that is both small and simple and doesn't require a blood sacrifice? I think the Lua programming language fits the bill." For me, spit…
Comment linking /assembly-nights
on “Small Programs and Languages”Submitted Assembly Nights as a story · 123 points
HN discussionFor people interested in Forth I think this is a nice intro: https://ratfactor.com/forth/the_programming_language_that_wr...
Comment linking /forth/the_programming_language_that_writes_itself.html
on “As you learn Forth, it learns from you (1981)”Submitted Small Programs and Languages as a story · 121 points
HN discussionMNT Pocket Reform https://ratfactor.com/mnt-pocket-reform/
Comment linking /mnt-pocket-reform/
on “I learned Snobol and then wrote a toy Forth”Submitted The Importance of Limitations for Creativity and Learning (2023) as a story · 120 points
HN discussionUpvote for Ratfactor who made the most useful HTMX reference around (even though it wasn't completed) https://ratfactor.com/htmx/
Comment linking /htmx/
on “I learned Snobol and then wrote a toy Forth”Submitted Naur's "Programming as Theory Building" and LLMs replacing human programmers as a story · 108 points
HN discussionFrom a few months ago and highly relevant: https://ratfactor.com/ascetic-computing
Comment linking /ascetic-computing
on “I dream of quieter computing”Submitted How big is a Git commit? as a story · 93 points
HN discussionOn point 4, I don't use zig but a two second google leads to http://ratfactor.com/zig/stdlib-browseable2/math/atan.zig.ht... I wonder about the accuracy of the rest of the article.
Comment linking /zig/stdlib-browseable2/math/atan.zig.html
on “Reflecting on a Year of Gamedev in Zig”Submitted Assembly Nights (2021) as a story · 71 points
HN discussionThat isn't syntax. : is a word, and so is ; Cool article posted to HN a little while back: http://ratfactor.com/forth/the_programming_language_that_wri...
Comment linking /forth/the_programming_language_that_writes_itself.html
on “Stem, a stack-based language with metaprogramming and a C FLI”Submitted I'm an American software developer and the "broligarchs" don't speak for me as a story · 62 points
HN discussion