Micro posting in August

August 30, 2021


What’s the difference? Why do all those formal doo-hickeys matter?
Performance! Compiled languages are fast. Lisp is WAY faster than Ruby, over the long haul. Smokes it. — the-emacs-problem

2021-08-03: Tonight I top at less than 2 Go of RAM. Great, especially since I’m only using Gnome terminal and a bunch of child processes, after 2 days uptime. Never happened when I was on macOS.

After 10+ years of Linux distributions pushing CUPS on me. Over a decade of this complex stack of drivers and daemons that I never quite trusted but “couldn’t live without.” FreeBSD comes along and is like “yeah, just use netcat.” And they’re right. Just use netcat. — Bye CUPS: Printing with netcat


Checking news once a day is enough. — The Old Computer Challenge: 10 days later, what changed?

2021-08-04: It looks like the new “Now” thing is: Uses (via Kev Quirk). Here is mine, but it’s called How I do.
2021-08-04: TIL about rusty-man, which is pretty handy to have a look at the Rust doc from a terminal. #rust
2021-08-04: Using an Apple Magic Mouse on Ubuntu is kind of magic and ironic, yet it’s still better than PC touchpad. I should note that Bluetooth is working fine on Linux machines compared to 15 years ago…
2021-08-04: Collatz analog in C.
2021-08-04: Leap seconds: Causing Bugs Even When They Don’t Happen.
imgToday’s art discount on the balcony.

Build your own tools for repeated workflows. There is nothing faster than using a tool you made yourself. — Reflections on 10,000 Hours of Programming

2021-08-06: Everything you need to know to configure neovim using lua. #vim
imgFuschia on the balcony
2021-08-19: Old times good times:
2021-08-19: TIL that <C-R>. (mind the leading dot) allow to paste the last piece of inserted text. #vim
2021-08-19: Highlights from Git 2.33. #git
2021-08-19: Programming Idioms. Interesting to quickly compare the syntax of different PLs to perform the same task.

I am one of those people who came to Racket because it is a Lisp. I feel that I should be better at creating/using software and general problem solving than I am, and I guess you could say I am looking for the fabled Lisp enlightenment. Maybe saying Lisp is the language of the gods is overwrought, but nobody ever said that JavaScript made them smarter, or that they learned a lot using anything by Microsoft. — Thoughts On Lisp And RacketSee comments and interesting side discussions on Hacker News.

2021-08-20: Here’s an interesting list of resources in addition to StatLib: Statistics, Statistical Computing, and Mathematics.
2021-08-20: Computational Statistics in Python. #python
2021-08-20: Exploring Clang/LLVM optimization on programming horror. #clang
2021-08-20: Fun with regular expressions: part I. Actually, it’s quite an interesting read since this post is just a succession of C code, interesting to read by the way, based on DFA representations of regexes.
2021-08-20: Let’s write a compiler, part 1.

However, we shouldn’t forget that we are still living in the stone age of computational science. Fortran was the Paleolithic, Python is the Neolithic, but we have to move on. — Exploring Racket


The “true” program does nothing; it merely exits with a zero exit status. This can be done with an empty file that’s marked executable, and that’s what it was in the earliest unix system libraries. Such an empty file will be interpreted as a shell script that does nothing, and since it does this successfully, the shell exits with a zero exit status. — The /bin/true Command and Copyright

2021-08-21: An Opinionated Guide to xargs. #unix
2021-08-21: Benefits of not using an IDE. Main point as far as I’m concerned is that even light IDEs (e.g., VS Code) are too complex for what I really need to do. Git and debugger integration are a plus, though, but I already get that using Emacs or Vim.
2021-08-21: Using Vim - Beyond the Basics. #vim

For making a viable Google competitor, I believe that ranking is a harder problem than indexing, but even if we just look at indexing, there are individual domains that contain on the order of one trillion pages we might want to index (like Twitter) and I’d guess that we can find on the order a trillion domains. If you try to configure any off-the-shelf search index to hold an index of some number of trillions of items to handle a load of, say, 1/100th Google’s load, with a latency budget of, say, 100ms (most of the latency should be for ranking, not indexing), I think you’ll find that this isn’t trivial. — I could do that in a weekend!


To a language designer, Racket is a programming language laboratory. That is, Racket comes with a unique collection of linguistic mechanisms that enable the quick construction of reliable languages, language fragments, and their composition. These tools are so easy to use that plain programmers can design a language after a little bit of instruction. So when a well-trained programmer decides that none of the available dialects is well-suited for a task, he designs a new dialect and writes his program in it. As Paul Hudak said, “the ultimate abstraction is a domain specific language.” — Racket is…

2021-08-24: Euler’s Formula. Looks like a nice Lisp-based website, right?
2021-08-24: Is Hacker News a Good Predictor of Future Tech Trends?.
2021-08-24: Using Emacs in an IDE world. IDEs all look too complex to me. I am happy with fine-grained text editors like Emacs or (Neo)vim. Every time I try to use a light (VS Code) or not so light (IntelliJ stuff) IDE, I blow up after 10'.

BSD is designed. Linux is grown. Perhaps that’s the only succinct way to describe it, and possibly the most correct. — BSD vs Linux


Emacs, for me, is essentially the definition of tooling alcoholism because I can happily spend hours configuring it without actually achieving much at all.
Some of this extends to tools like org-agenda too. There’s a temptation to have Emacs do it all and so I end up breaking my existing systems just to make them fit. — Emacs probably isn’t right for me

2021-08-25: > o, why is the continuation monad the mother of all monads? The short answer is that, by enabling transparent inversion of control, it eliminates the need to sprinkle hooks for monad-specific code everywhere; normal (as much as anything involving delimited continuations can be “normal”) evaluation rules will be subverted as needed. — All you need is call/cc
2021-08-25: Moldable Emacs: Vega-Lite, Nyxt and Emacs towards sustainable development. #emacs
2021-08-25: The missing method: Deleting from Okasaki’s red-black trees. #racket
2021-08-25: Why I recommend CGI instead of web frameworks.

Ranking is a farce. Apparent performance is actually attributable mostly to the system that the individual works in, not to the individual himself. — Statistical process control after W. Edwards Deming


The web is a continuum. It’s like my old analog TV. It’s not exactly like DTV. Nor can it match it in some areas of functionality. It does, however, have other strengths. When digital TV fails, it fails completely. Analog TV, to use parlance of the web, degrades gracefully. The web could be similar, if we choose to make it so. It could be “the analog” web in contrast to “the digital” platforms. Perhaps in our hurry to replicate and mirror native platforms, we’re forgetting the killer strength of the web: universal accessibility. — The Analog Web

2021-08-26: Burning out and quitting.
2021-08-26: Evaluating Compression with Pareto, Docker and Gnuplot.
2021-08-26: The Mathematics of 2048: Optimal Play with Markov Decision Processes.
2021-08-26: Why are hyperlinks blue?. TL;DR Mosaic former project use blue in its release notes.

Mathematics has no side effects.
Math cannot modify the value of a variable–either global or local. It cannot mutate an element in an array. And, a mathematical function always returns the same value for the same input.
The literal rendering of mathematics into code cannot contain side effects.
Mathematics is a purely functional language. — Translating math into code

See Also

» Micro posting in July » Micro posting in June » Micro posting in May » Micro posting in April » Micro posting in March