HN user

kmstout

700 karma

https://reindeereffect.github.io

Posts56
Comments199
View on HN
s3.us-east-1.amazonaws.com 25d ago

St. John's College in Annapolis (1948) [pdf]

kmstout
2pts0
www.forth.org 1mo ago

Programming a Problem-Oriented Language [pdf]

kmstout
7pts0
www.marines.mil 1mo ago

Armed Forces Recipe Service [pdf]

kmstout
4pts1
sigbovik.org 1mo ago

A Probabilistic Algorithm for Repairing All Roads in Lebanon via Papal Visits (2025)

kmstout
92pts6
s3.amazonaws.com 2mo ago

Ten Things Every Trial Lawyer Could Learn from Vincent La Guardia Gambini [pdf]

kmstout
1pts0
www.rfc-editor.org 3mo ago

BUSA-TLS: Mac PSK Derivation for TLS 1.3 Using 2 Live Crew's "Banned in the USA"

kmstout
3pts0
www.youtube.com 4mo ago

My Injection Molds Cost Less Than a Pizza [video]

kmstout
1pts0
forum.6502.org 5mo ago

A twisted question about BASIC

kmstout
2pts0
www.electronicdesign.com 5mo ago

What's All This Muntzing Stuff, Anyhow? (1992)

kmstout
2pts0
www.youtube.com 6mo ago

In Defense of the Spreadsheet, Reluctantly [video]

kmstout
1pts1
textfiles.com 6mo ago

Why Prefer Textfiles? (2010)

kmstout
39pts49
news.ycombinator.com 7mo ago

Looking for Decent Conversation?

kmstout
103pts17
reindeereffect.com 7mo ago

Walls of Text

kmstout
2pts0
web.textfiles.com 9mo ago

Publishing an E-Zine on the Net (1995)

kmstout
4pts0
www.youtube.com 11mo ago

Bulletin Board Systems in the Modern Era and Beyond [video]

kmstout
2pts0
reindeereffect.com 1y ago

An Extensible Iteration Facility

kmstout
1pts0
up.csail.mit.edu 1y ago

Cook My Meat

kmstout
5pts0
www.youtube.com 1y ago

Calculus Rhapsody [video]

kmstout
1pts0
www.bbc.com 1y ago

LinkedIn: We're too boring for kids for social media ban

kmstout
1pts1
www.bbc.co.uk 1y ago

The Dark History of the Treadmill

kmstout
3pts0
www.rigb.org 2y ago

The Royal Institution Christmas Lectures Archive

kmstout
3pts0
rsdoiel.github.io 2y ago

First personal search engine prototype

kmstout
147pts9
www.youtube.com 2y ago

The Story of the Best Meme Ever: "Never Gonna Give you Up" ...

kmstout
2pts0
www.youtube.com 2y ago

I Stole a Kia with a TikTok Hack [video]

kmstout
1pts2
www.cbc.ca 2y ago

Why prepared rotisserie chickens are cheaper than ones you cook yourself

kmstout
7pts5
www.thewoodworkermag.com 3y ago

Early origins of the ubiquitous Black and Decker Workmate

kmstout
2pts0
www.berfrois.com 3y ago

Constructing the Other Half of the Policeman's Beard (2021)

kmstout
11pts4
www.youtube.com 3y ago

Programming soft alife with SPLAT and ulam (2020)

kmstout
1pts0
www.researchgate.net 3y ago

Collaborative Information Retrieval: Gopher from Moo (1998) [pdf]

kmstout
3pts0
www.nytimes.com 3y ago

How Jellied Cranberry Sauce Is Made

kmstout
1pts0

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.

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.

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.

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.

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.

(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.

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)

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

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.

A couple things:

- Between using Bash's functions and breaking large scripts into multiple, separate scripts, one can keep things reasonably tidy. Also, functions and scripts can be combined in all the ways (e.g., piping and process substition) that other programs can.

- If I run into a case where Bash is a poor fit for a job, I ask myself, "Self, what program would make this easy to do in a shell script?" If I can respond with a good answer, I write that, then continue with the shell scripting. If not, I write in something else (what the kids would call a "proper" language).

[...] screen real-estate is also important [...]

This is why I've been spending a lot of time (ab)using Emacs's browser, eww, in conjunction with follow mode: The two together allow me to view most things in an efficient columnar display, letting me take better advantage of the width of my screen. (It's hard to rotate a laptop's monitor.)

Not quite. Late last year I began running a Searx instance locally, less for privacy than for having a hackable meta-search engine. Since it supports several "bangs," like !ddg and !yt and the like, I generally use this for quickly searching Youtube without changing context. When I enable images [0], I can see the thumbnails just fine. Regardless, there are plenty of places on the web (like here) where people will post interesting YT links, and having them pop open in mpv is a good default [1].

I've also evolved a CLI YT client, based on mpv/yt-dlp and fzf; it does not show thumbnails. Even so, it's perfectly fine for gathering lots of search results, like

  $ yt 500 medical uses for hollandaise
which will gather the first 500 results about medical hollandaise [1], filter out the shorts, and present the remaining results in an fzf-based UI. I haven't really missed the thumbnails.

---

[0] One of the first things I did with eww was to bind "I" to a function that toggles images on or off and re-displays the current page.

[1] In my setup, I can override all special handling of a URL by holding Ctrl while hitting Enter to follow a link.

[2] Earlier today, I had a fascinating conversation with TinyLLama about the medical uses of hollandaise and options for regulating it. Did you know that it can be taken intravenously to help fight cancer?