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

Top all-time · #645

K

Kragen Sitaker

Personal blog · canonical.org · on HN as kragenprogrammingsystems

Kragen Sitaker writes Index of /, a personal blog at canonical.org about programming and systems. Since 2007, 97 different Hacker News readers have linked it 656 times, most often “The Tao Of Programming”. No feed was found, so read it on the site itself.

No feed foundVisit the blog
656mentions?
11recommend?
97HN people?
2007–2026first – last linked?
Links on Hacker News per year · peak 66 in 2024

Too few sampled comments (29) to say how often HN recommends it.?

Why HN links it

HN readers link Kragen Sitaker's canonical.org pages: The Tao of Programming, memory-models and Egg of the Phoenix on bootstrapping, and small technical pages such as UTF-8 strlen and compose keys.

Recommended for · 11 comments
Tao of Programming recommended; Egg of the Phoenix, memory-models and compose-key pages helpful; blog 'awesome'.

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

The author on HN?

kragen · 39,118 karma · member since 2008

http://canonical.org/~kragen/

From their public HN profile, which links to this site.

Most-linked posts?

  1. The Tao Of Programming
    29 people · 29 mentions · first linked 2007-06-08
  2. The memory models that underlie programming languages (2016)
    11 people · 15 mentions · first linked 2016-12-31
  3. Bytebeat
    8 people · 8 mentions · first linked 2012-01-25
  4. Ur-Scheme: A GPL self-hosting compiler from a subset of R5RS Scheme
    7 people · 11 mentions · first linked 2009-01-15
  5. Counting Characters in UTF-8 Strings Is Fast
    5 people · 5 mentions · first linked 2008-06-03
  6. A Paper Algorithm Notation
    4 people · 11 mentions · first linked 2014-09-28
  7. The Egg of the Phoenix: a computational time capsule
    4 people · 5 mentions · first linked 2017-09-29
  8. Tao of programming
    4 people · 4 mentions · first linked 2013-03-03
  9. Ur-Scheme: A self-hosting Scheme-x86 asm compiler
    3 people · 5 mentions · first linked 2008-08-26
  10. /~kragen/
    3 people · 3 mentions · first linked 2012-08-07

What Hacker News says?

  1. I did this in 02007 in JS: http://canonical.org/~kragen/sw/torus Except that WebGL didn't exist so I just had to use the 2-D <canvas>. There's probably some trick for getting antialiased polygon edges in <canvas> to not show cracks...

    Comment linking /~kragen/sw/torus

    on “Mechanical Watch”
  2. Submitted The Memory Models That Underlie Programming Languages as a story · 332 points

    HN discussion
  3. Yeah, they probably are, I didn't intend them as tutorials but as a better representation of the actual scutwork necessary to draw a triangle. Object-oriented languages are not a good way to do 3-D rendering. If you want to write pixel shaders in JS you can totally do that but you will have to run them on the CPU; as it happens I wrote a program last week that works that way: http://canonical.org/~kragen/sw/dev3/tra…

    Comment linking /~kragen/sw/dev3/trama

    on “Mechanical Watch”
  4. Submitted The memory models that underlie programming languages (2016) as a story · 304 points

    HN discussion
  5. Writing a small program takes much less effort per line than writing a large program, especially if it doesn't have to be maintainable and extensible, especially by other people. http://canonical.org/~kragen/sw/dev3/circlegrid.html only took me three hours of JS hacking, and it's like 200 lines of code. The simplified version of the basic COCOMO model in David A. Wheeler's "SLOCCount" is Person-Months = 2.4 * (KSLOC…

    Comment linking /~kragen/sw/dev3/circlegrid.html

    on “Gears”
  6. Submitted The memory models that underlie programming languages (2016) as a story · 177 points

    HN discussion
  7. Here's a few fun ones: the Burrows–Wheeler transform, suffix arrays in general, Kanerva's fully distributed representation, reduced-affine-arithmetic numbers, LSM trees, binary array sets, sparse array sets, and gap buffers. (I'm not sure how nobody had mentioned gap buffers yet on the thread, but if they did I didn't see it.) — ⁂ — The Burrows-Wheeler transform is the second character of each suffix in a (cyclic) s…

    Comment linking /~kragen/sw/bwt

    on “Ask HN: What are some cool but obscure data structures you know about?”
  8. Submitted TCP HTTP Server written in Assembly as a story · 154 points

    HN discussion
  9. Last week I elicited a parametric 3-D design model of a sand battery, a simplified thermal circuit model of it for rough exploration, a backward Euler multiphysics solver to evaluate its performance more accurately, and a volumetric visualization for the resulting temperature distributions, including some custom WebGL shaders: http://canonical.org/~kragen/sw/sandbattery/ It's about 12000 lines of code. I could proba…

    Comment linking /~kragen/sw/sandbattery/

    on “Mistral Large 4”
  10. Submitted A Paper Algorithm Notation as a story · 92 points

    HN discussion
  11. well, i mean, lua's 'coroutines' are full tasks with their own stacks, unlike, say, python's 'coroutines'. so arguably it isn't that one can be used to implement the other; it's that they're two names for the same thing lua's coroutines aren't automatically scheduled (there isn't a built-in run queue) but explicitly resumed, which is a difference from the usual cooperative-multitasking systems; arguably on that basi…

    Comment linking /~kragen/sw/dev3/einkornix.h

    on “Niklaus Wirth has died”
  12. Submitted A Paper Algorithm Notation (2014) as a story · 61 points

    HN discussion
  13. nice! which direction did meta-v go meta in? i recently reimplemented meta-ii myself with some tweaks, http://canonical.org/~kragen/sw/dev3/meta5ixrun.py i guess i should write it up

    Comment linking /~kragen/sw/dev3/meta5ixrun.py

    on “Niklaus Wirth has died”
  14. Submitted Bytebeat as a story · 41 points

    HN discussion
  15. yeah, i wish i had had the pleasure of meeting him. i reimplemented meta-ii 3½ years ago and would recommend it to anyone who is interested in the parsing problem. it's the most powerful non-turing-complete 'programming language' i've ever used http://www.canonical.org/~kragen/sw/dev3/meta5ixrun.py (i mean i would recommend reimplementing it, not using my reimplementation; it takes a few hours or days) after i wrote…

    Comment linking /~kragen/sw/dev3/meta5ixrun.py

    on “Niklaus Wirth has died”
  16. Submitted The Tao Of Programming as a story · 35 points

    HN discussion
  17. I wonder what value you could add to this with a notebook printed with digitally referenced paper? By printing an unobtrusive sort of barcode on each page, you could determine which part of which page of which notebook each scanned pixel came from, and what lighting conditions it was photographed under. What could you do with that? Well, the simplest and most greyface application is forms; you can define particular…

    Comment linking /~kragen/oilpencil/

    on “I started a paper website business”
  18. Submitted How to make a font of your handwriting with free software as a story · 32 points

    HN discussion
  19. c's macro system is weak on purpose, based on, i suspect, bad experiences with m6 and m4. i think they thought it was easier to debug things like ratfor, tmg, lex, and (much later) protoc, which generate code in a more imperative paradigm for which their existing debugging approaches worked i can't say i think they were wholly wrong; paging through compiler error messages is not my favorite part of c++ templates. bu…

    Comment linking /~kragen/sw/dev3/binmsg_cpp.c

    on “Greppability is an underrated code metric”
  20. Submitted How to find security holes as a story · 16 points

    HN discussion
  21. https://www.youtube.com/watch?v=EuPSibuIKIg took less than 45 minutes and was considerably deeper than FizzBuzz. Moreover, it would be easy to do better than the interviewee did. Granted, it's a pretty artificial situation. I think most things you can write in less than 30 lines of code or so could be reasonably written inside of 45 minutes. Like this Lisp interpreter in JS http://canonical.org/~kragen/sw/dev3/terp.…

    Comment linking /~kragen/sw/dev3/uniwang.py

    on “The dystopian world of software engineering interviews”
  22. Submitted How False Rumors can Cost Lives as a story · 12 points

    HN discussion
  23. You may be interested in my project "Binate"; I have some incomplete notes at http://canonical.org/~kragen/binary-relations about it, exploring a possible design space in which we might find a more concise and compositional query language. Of course that's not in a host programming language ; for that there do exist some things like SQLAlchemy and SQLObject which, as a bonus, can compile the resulting query to SQL.…

    Comment linking /~kragen/binary-relations

    on “SQL: One of the most valuable skills”
  24. Submitted Counting Characters in UTF-8 Strings Is Fast as a story · 9 points

    HN discussion
  25. Maybe a description of my notetaking practice will be useful to others. I don't know if this is strictly a "Zettelkasten" or not. My note box for the last little while is Dercuano: http://canonical.org/~kragen/dercuano . The notes are longer than a single index card (there are 882 notes averaging about 1300 words each), and they are hierarchically organized into sections and subsections. They often include links to…

    Comment linking /~kragen/dercuano

    on “Stop Taking Regular Notes; Use a Zettelkasten Instead”
  26. Submitted Text editor design for e-ink displays as a story · 7 points

    HN discussion
  27. the z80 more generally, collapseos is cosplay, not engineering in more detail, collapseos is not a pragmatic engineering effort to foster resiliency, but an essentially religious effort to atone for the sins of the worldly through ascetic renunciation of pleasures such as guis, returning to an imagined arcadian past of austere virtue see against-collapseos.md in http://canonical.org/~kragen/sw/pavnotes2.git for the…

    Comment linking /~kragen/sw/pavnotes2.git

    on “Hundred Rabbits is a small collective exploring the failability of modern tech”
  28. Submitted The Tao of Programming as a story · 5 points

    HN discussion
  29. A classic, from http://www.canonical.org/~kragen/tao-of-programming.html > There was once a programmer who was attached to the court of the warlord of Wu. The warlord asked the programmer: ``Which is easier to design: an accounting package or an operating system?'' > ``An operating system,'' replied the programmer. > The warlord uttered an exclamation of disbelief. ``Surely an accounting package is trivial next to t…

    Comment linking /~kragen/tao-of-programming.html

    on “Billing systems are a nightmare for engineers”
  30. Submitted Why Switch to Yahoo Search? as a story · 4 points

    HN discussion

Search all of HN for canonical.org

Linked by the same people?