Micro posting in September

September 28, 2023

imgCarole Zalberg, Tes ombres sur les talons (Grasset).
2023-09-04: 13 ways to look at table joins. #database
2023-09-04: An Intuition for Logarithms. #math
2023-09-04: Doppler looks like iTunes reinvented. (via Tom Macwright)
2023-09-04: binary search trees: A thorough treatment of binary search trees enriched by an interesting comment thread.

Curl supports a crazy number of protocols, from HTTP, FTP and TELNET to IMAP, LDAP and GOPHER. It runs on 92 operating systems and has over 20 billion installations worldwide. — Mastering curl: interactive text guide

2023-09-06: TIL about CIEL, an an Extended Lisp that looks really cool. It includes a bunch of useful libraries (Alexandria, Trivia, arrow macros, etc.) and provide an IPython-like REPL experience (shell pass-through, helper commands, documentation and lisp-critic). #lisp
2023-09-06: ♪ Angel Olsen · All The Good Times
2023-09-07: Visual explanations of core machine learning concepts: Very nice and interactive illustrations. #statistics
2023-09-11: ♪ Bentley · Left Right Goodnight
imgA little wrapper around the terminal version of What-The-Format.

One of the guiding lights of the UNIX utilities or software tools has been the deeply-felt conviction that text should be stored in as simple, as general a format as possible so that any program can easily process it. This idea (it seems to have been present from the beginning) has had the widest impact possible on UNIX in all its varieties. However, there has been a regrettable tendency to move away from it in recent times, especially among commercial software developers. — UNIX Evolution: 1975-1984


The point is, there’s no reason why this bug — and it is a bug! — should have stuck around for so long. If your terminal emulator gets told to make text blue, and instead it makes it unreadable, then you can’t say that’s not a problem with the terminal emulator. — That Annoying Shade of Blue

2023-09-12: A slightly updated version of all my emails as discussed in a post in 2014. Note that I’ve reduced my mailbox to 20% of its original size since I wrote the blog post, and I keep archiving very few new messages. Also I resubscribed to a bunch of mailing-lists in 2022, which I keep in separate Maildirs but they are included in this chart. I’m still a happy user of mu.
imgUpdated code (because mu-find now uses the system locale to format dates):

$ export LC_ALL=C
$ mu find --sortfield=date --fields="d" date:17y..1d | \awk -F " " '{print  $5 "-" $2}' | \uniq -c | awk '{print $2 " " $1}' > 1.dat

d <- read.table("1.dat", header = FALSE)
d$V1 <- paste(d$V1, "15", sep = "-")
d$V1 <- as.Date(as.POSIXct(d$V1, format = "%Y-%b-%d", tz = "GMT"))
names(d) <- c("Time", "Emails")
p <- ggplot(data = d, aes(x = Time, y = Emails)) +
  geom_line(color=grey(.5)) +
  geom_line(aes(y=rollmean(Emails, 12, na.pad=TRUE)), linewidth = 1.5) +
  scale_x_date(breaks = "1 year", minor_breaks = "2 months",labels = date_format("%Y")) +
  xlab("") +
ggsave("allmyemails.png", p, width = 12, height = 5)


In the end, the main thought here is the following: build using simple proven techniques even if you’re using a technology like Haskell. For anything extra (like dependent types, formal verification, etc.) you might want to think twice and thrice. And still remain uncertain. — The types got you

2023-09-13: OMG, now they call it Drive… #apple
2023-09-13: Common Lisp Nova Spec: A better (?) help center than the CLHS. #lisp
2023-09-13: Yet Another Rust Resource (YARR!): If you ever wanted to quickly get some insights about Rust, it offers a nice overview of the language.
2023-09-15: Category Theory Illustrated “is a primer in category theory and other mathematical theories that is made to be really accessible to people with no prior exposure to the subject, without being dumbed down, by utilizing visual explanations."
2023-09-18: Another nice article by Brian Hayes, on AI and the end of programming.
2023-09-18: It appears that Neomutt can be quite slow when filtering/searching emails using body keyword or patterns and the “limit” (l) command. It seems that Neomutt needs to open all emails beforehand, which makes sense but slow down any search operation. Now, as suggested in #3273, we can speed up things a lot by disabling the auto_view text/html feature. My benchmarks confirm those of the poster, with around 13K messages in my Archives. I don’t know how to disable auto_view temporarily, but since I can use mu-find to search my email database, with almost the same syntax, I do’nt have to worry much: results are almost instantaneous!

macro index \Cf "<shell-escape>mutt-mu " "mu find"
macro index gf  "<change-folder-readonly>~/.mu/results<enter>" "mu find results"

Here, mutt-mu is a short shell script for mu find --clearlinks --format=links --linksdir=~/.mu/results "$1".
2023-09-19: Lovely: pastel.

(Python) types are very broad hints and they are sometimes lies. — Compiling typed Python


The idea is to take a train somewhere (unspecified) for four hours, have lunch, then take another train home. The train would be my 90mph office with scenery for those four hours in each direction, and I’d get to enjoy lunch somewhere new. I’d do a full days work with the view out the window constantly changing. — The 90mph office

2023-09-20: Trying out texlab since yesterday. So far it has been working smoothly alongside vimtex and null-ls (to format bibtex files). Last year I played with Tectonic, which looks great, especially if you don’t want to manage a full installation of the $\TeX$ system. Both seem to play well together. #vim #tex
2023-09-20: Exploring the Top Neovim Distributions: LazyVim, LunarVim, AstroVim, and NVChad — Which One Reigns Supreme?: either you get limited capabilities or you are blowing your RAM, right? #vim
2023-09-21: TIL about Harlequin which looks really great. #database
2023-09-21: Thanks to I can now update the mail notification from Neomutt in Ubuntu notification center since it allows to replace an existing notification. This should be available in more recent versions of notify-send (Ubuntu ≥ 22.10).

set new_mail_command=" --replace-file=/tmp/muttnotification -a neomutt -u low -i neomutt 'New Email' '%n new messages, %u unread.' &"

Beforehand I tried which didn’t quite work.

2023-09-24: Building LISP, in under 6 C files (876 LOC). #lisp
2023-09-24: Sidenotes In Web Design: I didn’t know there were so many JS and non-JS based framework for HTML sidenotes.
2023-09-24: ♪ P!nk · Glitter In the Air
2023-09-25: Measured: Typing latency of Zutty (compared to others): Sadly no stats for foot. Given the existing benchmarks, I would expect it to be in lowest range of typing latency as well but this would need some perf tests. #unix

Weekend cookery.
2023-09-25: ♪ Portishead · The Rip

It was the precursor of what was later known as the Gifi System, which is a large reorganization of descriptive multivariate analysis techniques in such a way that they apply both to numerical and non-numerical data. That covers regression and principal components analysis, factor analysis, all those techniques in one common framework and ultimately in a series of computer programs as well. My dissertation was basically the first programmatic statement of that program. The Gifi project itself ran until about 1990, I left in 1987, but there was still some ends to wrap up and the Data Theory group in Leiden that still existed at the time, wrapped up those loose ends. They produced a book, the final version of the Gifi book. — Interview of Jan de Leeuw by Lisa Wijsen

I was surprised to learn that he’s still publishing peer-reviewed papers and I was also very impressed to see that he’s still hard at work on working papers and books. h/t

See Also

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