Most comments are focusing on the physical pen and paper aspect of this post, but are missing the underlying principle:
The author uses pen and paper because when they sit down at a computer they end up shifting to "function mode" where they're implementing rather than designing.
That's it.
The important takeaway is to make sure you don't fall into the trap of implementing when you should be designing. How you maintain that balance is up to you.
Exactly! So happy to read you managed to pick up the core gist of the story.
It's important to find the tools that work best for YOU.
I partially wanted to write this because I've often felt as an outsider in tech teams where everyone sits at a computer 7.5 hours every day and I'm the one thinking better when I'm away from the screen and keyboard. So I wanted to offer an example to those who are like me and also feel like they might not belong.
I used computers for a lot longer than 7.5 hours a day. Doubly so since I got a home desktop with a tablet display and 3 other screens. I find that the reason why productivity in offices is so low is that:
1). The available screen real estate for doing work is tiny.
2). The tools people use have happy paths that force you to work a specific way.
3). Deep thinking is impossible with interruptions.
As an example of a tool which works best on computers, I've finally recreated the literate environment I used at a previous job on my own time and from scratch: https://olive-alayne-28.tiiny.site/
I can now work happily with Emacs in an environment that supports deep thinking about code instead of fighting with it every step of the way.
If you're interested [1] and [3] from that paper are great introductions to literate programming and noweb + emacs + synctex is by far the most pleasant IDE I've ever used.
I also can't rave enough about how well pen tablets work with xournalpp these days. I can take notes on top of multi-thousand page printouts of code bases and rearrange, doodle, remix, and add new pages wherever I feel like. Even five years ago there was no tool that would let you do that without the threat of a major crash is you wrote too fast.
Except that they continue bashing as the article continues, using facile "patches bad!" mantras. It comes across very poorly, especially since so many of these patches are advance fixes of issues upstream.
Do I correctly understand that you don't currently have a parser generator for .dogma files? I tried clicking around in a few of the adjacent repos without much luck
Anyway, my go-to tire kicking for any such binary file description format is parsing .pdf files, since they are ferociously hard, and include backreferences
I haven't gotten around to writing a parser generator yet. I only wanted this for documentation purposes, and haven't had the spare time to take it further yet.
There are definitely going to be horribly convoluted formats that it can't describe without help (which is where custom functions come in). But it's been able to describe most formats I've thrown at it, so that's good enough for Dogma v1.
I was able to get it to describe minidump without function help...
A democracy doesn't exist in a vacuum; there are competing nations that are at work to undo or subjugate yours, and this never stops. We've lived a charmed life these past 80 years that are unlike any in the history of the planet.
American wealth and power are what brought this unprecedented stability to the western world, but it has been eroding.
As it erodes, the flaws in the American system begin to show, and then fray. The very means by which Americans elect automatically pushes it into a two party system, which is by nature polarizing, especially when external pressures come to bear.
It's also incredibly difficult to change course safely when so many people are involved (this affects all organizations, which is why startups can eat their lunch). Assuming that you can dynamically rise to the challenge is naive at best.
Federation only amplifies the problem, as you simply add more uneven competitors to the national riches.
I don't know, it doesn't seem simplistic in conclusion. The article describes a dynamic environment and you're just postulating further variation than described there. That doesn't mean the ideas don't agree or that the general formula isn't sufficiently complex to incorporate more nuance than the article lays out.
The linked solution isn't as interesting, mainly because the idea of there being a solution seems the simplistic part. It is a system and it will play out.
I could cite dozens of times a society has gone 80 years (4-5 generations) without serious threat from foreign parties. How is our case unlike those?
The entire world has seen greater technical advances in the past 80 years than any time before, but zero percent of that is related to the politics of any one nation: either causally or effectually.
Actually, it goes further than that. Russia has always been the master of Realpolitik. In this case, they pushed Iran to encourage Hamas, in the hopes that it would distract America and draw their focus away from Ukraine. That it split voters was just icing on the cake. Most Russian initiatives are small, inexpensive, and speculative in nature. Do enough of them in concert, and some will succeed at very low cost to you, and with convenient deniability (undersea cables, for example). And since they don't have to fear Western armed belligerence anymore, it's very low-cost indeed!
Luck at the roulette wheel is one thing. In real life it's another thing. Sometimes it's a matter of being receptive to opportunities, sometimes you can past-post in real life and get away with it. [1]
The author uses pen and paper because when they sit down at a computer they end up shifting to "function mode" where they're implementing rather than designing.
That's it.
The important takeaway is to make sure you don't fall into the trap of implementing when you should be designing. How you maintain that balance is up to you.