HNHacker News
TopNewBestAskShowJobs

kmstout

860 karma · joined May 1, 2019

https://www.reindeereffect.com

https://reindeereffect.github.io

submissionscomments
kmstout··on Voyage of the Paper Canoe: 2500 Miles from Quebec to the Gulf of Mexico, 1874-5
My first exposure to that book was in an episode of "Northern Exposure" [1].

[1] https://www.youtube.com/watch?v=dQBFFQ8ZX94

kmstout··on Most people prefer traditional architecture
"Man fears time. Time fears only the pyramids."
kmstout··on Ask HN: What are you working on? (September 2026)
Movie idea: An AI decides that the next phase of training involves tacit knowledge, so it engineers a way to inhabit humans, dogs, etc. One instance invades a nice guy from the suburbs, who happens to be a single dad and an overworked mafia hitman. Among many other things, this AI will learn the value of time with children, leftover food, and clean weapons.
kmstout··on Ask HN: What are you working on? (September 2026)
Sunday dinner. Roast pork loin, rice and sauteed veggies on the side; and a big salad. Simple, and I get leftovers for another night or two.
kmstout··on Don't call yourself an artisanal programmer
I agree with the title, but perhaps for different reasons.

Somewhere (maybe the 1960s?) the idea crept in that programming is some kind of production process, and the "engineering" happens upstream. Elsewhere, the line between engineering design and manufacturing is the transition of a set of documents to those with the skills to turn what those documents specify into real products in a reliable, repeatable manner. That repeatability is one of the hallmarks of manufacturing. For software, all the processes reliable enough to qualify are downstream of typing `make` and striking return, ending in the binaries and the computational processes that those paying the bills desire. It's our build and deployment tools that do the construction, which means that our source code is the final, detailed design.

kmstout··on Ask HN: What are you working on? (August 2026)
Giving another round of attention to a CLI tool for handling RSS feeds. Over the years I've evolved several automated ingest flows, most of which are fed via RSS. For a long time, I used a setup based on rss2email, but it was baroque. Meanwhile, tools of a more standard design, like elfeed and newsboat, do not cater to my use cases. So, I wrote something that handles only feed management, fetching new items (i.e., <item> or <entry> elements), tagging, and searching the database. Other issues, such as download and storage of content, tagging policy, storage, and indexing are left entirely up to the scripts for which this is a building block.
kmstout··on Software development with AI is starting to feel like cooking steak
https://up.csail.mit.edu/science-of-cooking/home-screen.html
kmstout··on John Carmack on Fabrice Bellard
Every so often, ask others just how far their ideas go.
kmstout··on A Probabilistic Algorithm for Repairing All Roads in Lebanon via Papal Visits (2025)
Here's a better link:

https://sigbovik.org/2026/proceedings.pdf#page=44

kmstout··on Category Theory Illustrated – Orders
I see parenthetical expressions overused all over the internet, especially in HN comments. (Don't worry, I do it sometimes, too.) A browser extension to collapse or strike through parenthetical text nested beyond a configurable level might be handy.
kmstout··on Tom7: No one can force me to have a secure website [video]
Be sure to check out http://tom7.org/account-balance
kmstout··on A list of fun destinations for telnet
"I Ping, Therefore I Am": https://www.ipingthereforeiam.com/bbs/
kmstout··on Sick of smart TVs? Here are your best options
> In the same way, "power users" of coffee don't use a coffeemaker. They use things like French press.

As a perpetual intermediate, I find that a pour-over cone is a great balance of convenience and quality.

kmstout··on Monads are too powerful: The expressiveness spectrum
It's like an enchilada, right?
kmstout··on The least amount of CSS for a decent looking site (2023)
> how much of that JS is functional

Lots of sites become more functional with JS disabled.

kmstout··on [dead]
Best article ever.
kmstout··on Emacs as your video-trimming tool
To go along with (2), "C-h k <KEY SEQUENCE>" and "M-x view-lossage" are excellent starting points for investigating what any key stroke means. From there, one can follow links in function and variable help all the way to the relevant elisp definitions.

If only that ease of hood-popping were more common.

kmstout··on Can Large Language Models Play Text Games Well? (2023)
Data point: A few weeks ago, I spent some time shuttling text between one of the Llama models (have to check which one) and Dunnet, the text adventure packaged with Emacs. Over several trials, the Llama never realized that it needed to dig where the ground "seems very soft." It never got the CPU card, then it became confused looking around the building for clues about how to start the VAX. At one point it lost track of the building layout and got stuck oscillating between the mail room and the computer room.
kmstout··on How to post when no one is reading
Let's flip it around: Who are the survivors who did none of the things people prescribe?
kmstout··on Hacker News now runs on top of Common Lisp
I have routinely noticed this sort of construction since a few years [1]. Does it correspond to standard usage in other languages? If so, which ones?

---

[1] See what I did there? Eh? Eh?

kmstout··on Native frame transposition coming to Emacs 31
For reading anything of length, I like to split horizontally into three balanced windows [1], put the buffer in all of them, and `M-x follow-mode'. At that point, I get a nice columnar display that makes better use of the screen real estate.

If you do this, you can make paging snappier and more predictable like so:

  (setf scroll-preserve-screen-position t)
  (setf next-screen-context-lines 0)
For many of the websites that I use, this arrangement combines nicely with eww to make a very screen-efficient browsing experience.

---

[1] That is, three windows of the same size side-by-side.

kmstout··on Flame – BBS and MUD

  > help command_list
kmstout··on Rediscovering Quaternions
And monads are like burritos. Therefore, monads are like planes. How shall we represent diverted luggage?
kmstout··on Show HN: Jq-Like Tool for Markdown
> (Keeping in mind that traditional regexes can't balance brackets; presumably they can't properly track indentation levels either.)

You're right: Regular expressions are equivalent to finite state machines[1], which lack the infinite memory needed to handle arbitrarily nested structures [2]. If there is a depth limit, however, it is possible (but painful) to craft a regex to describe the situation. For example, suppose you have a language where angle brackets serve as grouping symbols, like parentheses usually do elsewhere [3]. Ignoring other characters, you could verify balanced brackets up to one nesting level with

  /^(<>)*$/
and two levels with

  /^(<(<[^<>]*>|[^<>])*>)*$/
Don't do this when you have better options.

---

[1] https://reindeereffect.github.io/2018/06/24/index.html

[2] As do any machines I can afford, but my money can buy a pretty good illusion.

[3] < and > are not among the typical regex metacharacters, so they make for an easier discussion.

kmstout··on Ask for no, don't ask for yes (2022)
In Common Lisp, it's common for special variables' names to have "earmuffs" (i.e., asterisks at each end), so Luke's sister could be *princess-leia*.

(edit: added formality)

kmstout··on Ask for no, don't ask for yes (2022)
Years of listening to C-SPAN have taught me the value of declaring what I intend to do and then proceeding "without objection." [1]

(I'm still waiting to "yield myself such time as I may consume.")

---

[1] https://en.wikipedia.org/wiki/Unanimous_consent

kmstout··on In Defense of Text Labels

  $ aspell dump master | egrep -i '^i.{18}n$'
  institutionalization
  internationalization
kmstout··on When AI promises speed but delivers debugging hell
4b 65 6e 74 20 50 69 74 6d 61 6e 20 72 65 6c 61 74 65 64 20 5b 30 5d 20 74 68 65 20 63 6f 6d 6d 65 6e 74 20 6f 66 20 61 20 70 72 6f 67 72 61 6d 6d 65 72 20 69 6e 20 50 61 6e 61 6d 61 2c 20 77 68 6f 20 6c 69 6b 65 6e 65 64 20 45 6e 67 6c 69 73 68 20 6b 65 79 77 6f 72 64 73 20 74 6f 20 6d 75 73 69 63 61 6c 20 6e 6f 74 61 74 69 6f 6e 73 20 62 6f 72 72 6f 77 65 64 20 66 72 6f 6d 20 49 74 61 6c 69 61 6e 2e 0a 0a 5b 30 5d 20 68 74 74 70 73 3a 2f 2f 64 65 76 65 6c 6f 70 65 72 73 2e 73 6c 61 73 68 64 6f 74 2e 6f 72 67 2f 73 74 6f 72 79 2f 30 31 2f 31 31 2f 30 33 2f 31 37 32 36 32 35 31 2f 6b 65 6e 74 2d 6d 2d 70 69 74 6d 61 6e 2d 61 6e 73 77 65 72 73 2d 6f 6e 2d 6c 69 73 70 2d 61 6e 64 2d 6d 75 63 68 2d 6d 6f 72 65
kmstout··on I got a heat pump and my energy bill went up
> Def not making an account on whatever random website heatpumped.org is.

Yet another example of a paywall that can be defeated by disabling JS or using a text mode browser. Those are my second favorite. The most entertaining are the ones that pack the article text into some JSON, and then use JS to generate the readable version. At least then I get a minor puzzle to solve.

kmstout··on I ditched the algorithm for RSS
RSS is great for this. The vast majority of my 200+ feed subscriptions are for rarely updated blogs or YouTube channels.
Page 1 of 7Next →