Top all-time · #645
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.
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.
Most-linked posts?
- The Tao Of Programming29 people · 29 mentions · first linked 2007-06-08
- The memory models that underlie programming languages (2016)11 people · 15 mentions · first linked 2016-12-31
- Bytebeat 8 people · 8 mentions · first linked 2012-01-25
- Ur-Scheme: A GPL self-hosting compiler from a subset of R5RS Scheme7 people · 11 mentions · first linked 2009-01-15
- Counting Characters in UTF-8 Strings Is Fast5 people · 5 mentions · first linked 2008-06-03
- A Paper Algorithm Notation4 people · 11 mentions · first linked 2014-09-28
- The Egg of the Phoenix: a computational time capsule4 people · 5 mentions · first linked 2017-09-29
- Tao of programming4 people · 4 mentions · first linked 2013-03-03
- Ur-Scheme: A self-hosting Scheme-x86 asm compiler3 people · 5 mentions · first linked 2008-08-26
- /~kragen/3 people · 3 mentions · first linked 2012-08-07
What Hacker News says?
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”Submitted The Memory Models That Underlie Programming Languages as a story · 332 points
HN discussionYeah, 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”Submitted The memory models that underlie programming languages (2016) as a story · 304 points
HN discussionWriting 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”Submitted The memory models that underlie programming languages (2016) as a story · 177 points
HN discussionHere'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?”Submitted TCP HTTP Server written in Assembly as a story · 154 points
HN discussionLast 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”Submitted A Paper Algorithm Notation as a story · 92 points
HN discussionwell, 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”Submitted A Paper Algorithm Notation (2014) as a story · 61 points
HN discussionnice! 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”Submitted Bytebeat as a story · 41 points
HN discussionyeah, 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”Submitted The Tao Of Programming as a story · 35 points
HN discussionI 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”Submitted How to make a font of your handwriting with free software as a story · 32 points
HN discussionc'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”Submitted How to find security holes as a story · 16 points
HN discussionhttps://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”Submitted How False Rumors can Cost Lives as a story · 12 points
HN discussionYou 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”Submitted Counting Characters in UTF-8 Strings Is Fast as a story · 9 points
HN discussionMaybe 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”Submitted Text editor design for e-ink displays as a story · 7 points
HN discussionthe 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”Submitted The Tao of Programming as a story · 5 points
HN discussionA 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”Submitted Why Switch to Yahoo Search? as a story · 4 points
HN discussion