< a quantity that can be divided into another a whole number of time />

Micro posting in February

February 27, 2020

2020-02-03: Just started watching The Handmaid’s Tale yesterday evening. Looks good so far.

2020-02-03: What are transducers? The basic idea is to extract the essence of map, filter and other functions that transform sequences and collections, and reuse this essence so that it can be applied elsewhere; to recast them as process transformations.
2020-02-04: Interesting papers in this thread:

2020-02-04: Cardiogram: A framework for impromptu testing in Common Lisp. #lisp

Understanding more about the structure of connections between biological neurons and regions of the brain is key for future understanding about ourselves, and consequently language and more intelligent artificial systems. — On Mind, Language and Machines

2020-02-06: Scaling to 100k Users.
2020-02-07: A three-part series on A/B testing starting here: Optimizing sample sizes in A/B testing.
2020-02-07: TIL about duti to manage default application for opening specific files.
2020-02-07: A library of Python Algorithms. #python
2020-02-07: How long does your Mac keep its log for?
2020-02-07: SlowerLogLog: It’s been a long time since I’ve read a new post from Evan Miller. Always a pleasure!> The name is intended to deter implementers from using SlowerLogLog in production, but ease of implementation (less than 100 lines of code in most languages) may make it a compelling time sink for bored programmers.
2020-02-10: If you are doing some financial math that does not need to be accurate to the penny, just use floating point numbers. If it is good enough for Excel, it will be good enough for most applications. — You can use floating-point numbers for money
2020-02-10: Trackers are everywhere! Watching you watch: the tracking ecosystem of over-the-top TV streaming devices.
2020-02-10: Four basic ways to use macros in Common Lisp: to circumvent the regular call-by-value semantics, to introduce new syntax to the language, to implement tiny languages within CL, and to run code in a special context. #lisp
2020-02-10: sys.getsizeof is not what you want. #python

Literate programming is all well and good for code written to appear in a book that the author hopes will be read for many years, but this is a tiny sliver of the source code ecosystem. The majority of code is never modified, once written, and does not hang around for very long; an investment is source code futures will make a loss unless the returns are spectacular. — Source code has a brief and lonely existence

2020-02-12: Emacs doom-themes with updated screenshots. Also: Emacs org-mode for DevelopersFeb. 8, 2020 (via Sacha Chua) #emacs
2020-02-12: AWK As A Major Systems Programming Language.
2020-02-12: Compiling a Functional Language Using C++, Part 9 - Garbage Collection.
2020-02-12: Growing Neural Cellular Automata: Differentiable Model of Morphogenesis.

Reliable computer systems must handle malfunctioningcomponents that give conflicting information to different parts of the system. This situation can be expressed abstractly in terms of a group of generals of the Byzantine army camped with their troops around an enemy city. Communicatingonly by messenger, the generals must agree upon a common battle plan. However, one or more of them may be traitors who will try to confuse the others. The problem is to find an algorithm to ensure that the loyal generals will reach agreement. It is shown that, using only oral messages, this problem is solvable if and only if more than two-thirds of the generals are loyal; so a single traitor can confound two loyal generals. With unforgeable written messages, the problem is solvable for any number of generals and possible traitors. Applications of the solutions to reliable computer systems are then discussed. — The Byzantine Generals Problem (PDF)

2020-02-13: I’ve been perusing Kristoffer Magnusson artwork when I was teaching inferential statistics, and here is a nice post on understanding Maximum Likelihood.

2020-02-13: A Bestiary of Single-File Implementations of Programming Languages.
2020-02-13: GitHub CLI is now in beta.

I happily and enthusiastically paid for all that music. But now? Every time I see the $14.99 charge for our Apple Music family plan hit my checking account, I wince. I pay it begrudgingly because I feel like I have no other choice. — Begrudgingly

Same for me. I prefer to use native app (Safari, Apple Mail, etc.) FWIW. However, I should note that the revamped iTunes app looks just weird.


What’s under the hood is rarely what you expect. Our current tech stack is heavily optimized and a lot of optimizations are really just dirty tricks. — Math keeps changing

2020-02-20: Fish-like autosuggestions for zsh.
2020-02-20: Must read: Tour of Python Itertools. #python
2020-02-20: A Regular Expression Matcher.> Recursion is a win. This fundamental programming technique almost always leads to smaller, cleaner and more elegant code than the equivalent written with explicit loops, and that is the case here. The idea of peeling off one matching character from the front of the regular expression and from the text, then recursing for the rest, echoes the recursive structure of the traditional factorial or string length examples, but in a much more interesting and useful setting.
2020-02-20: BlurHash is a compact representation of a placeholder for an image.
2020-02-20: Enhanced music listening on macOS.
2020-02-21: Evil motion (click to enlarge).
2020-02-21: The Racket engine has finally been ported to Chez Scheme. Note that bytecode vs. machine code may impact memory use. #scheme
2020-02-21: Seeing Theory.

2020-02-21: State of Clojure 2020. Emacs, Leiningen and MacOS are first class citizens there. #clojure
2020-02-21: pup: Parsing HTML at the command line.

Honestly, I only today learned that library has arguments (exclude and include.only) for managing the objects that are attached. — Avoiding namespace pollution in R and Chez Scheme

So do I apparently.


That may sound insane, but one of the things that made the Mac initially puzzling to people who were heavy users of PCs and mainframes back in the mid-80s was that it flipped verb/object around. I remember having to explain to several people that the main thing to remember on a Mac was that you never go to the menu bar for a command until you’ve selected the thing that the command would act on. — Larry Tesler

2020-02-24: A Minimalistic blog engine. Associated blog post by Nikita Tonsky.
2020-02-24: Bayesian inference using multiple Markov chains. #stata
2020-02-24: Getting Started Testing: pytest edition. #python
2020-02-24: Legible Mathematics: Sketches of an interactive arithmetic for programming.
2020-02-24: Mathematics for the adventurous self-learner.
2020-02-24: Popcount: counting 1’s in a bit stream.
2020-02-25: A visual overview of typography (via HN).
2020-02-25: Dynamic Kernel Matching is analogous to a convolutional network, but for sequences.

DKM is analogous to a convolutional network, but for sequences. Consider the problem of classifying a sequence. Because some sequences are longer than others, the number of features is irregular. Given a specific sequence, the challenge is to determine the appropriate permutation of features with weights, allowing us to run the features through the statistical classifier to generate a prediction.

2020-02-25: Functional Programming in OCaml.
2020-02-25: Lovely.

2020-02-25: Machine Learning in Python: Main developments and technology trends in data science, machine learning, and artificial intelligence. #arxiv
2020-02-25: Restoring the Mac Startup Chime. #apple


Emacs being a Lisp interpreter, however, ensures that you have access to everything. In a way, it’s the realization of the promise of Unix itself: it endows normal users with ultimate control over their environment. — Who cares about Emacs?


In its almost 22 years of existence, has never gotten big, but it’s also never gone away, predating & outlasting many excellent and dearly missed sites like Grantland, Rookie, The Toast, The Awl, Gawker, and hundreds of others. — The 15th Anniversary of Doing as a Full-Time Job


This is terribly wrong. Everything the Finder displays should be correct all the time. If, for some technical reason, it doesn’t know the size of something and needs to wait, it should show a spinner or some other indicator that you, the user, need to wait to get the information. The actual file size of a folder is what you want to see, and ideally you should see it as soon as you ask for it. — What You See in the Finder Should Always Be Correct

2020-02-26: Apprently, Textmate has finally been updated to v2 (without RC suffix)!
2020-02-26: Auto-syncing a git repository.
2020-02-26: Some psql tips. See also Thorsten Ball’s own config.
2020-02-26: shox: A customisable, universally compatible terminal status bar. Looks nice although I’m quite happy with iTerm2 own status bar at the moment.

One of my favorite hobby horses is the need to keep control of your data. Broadly that means keeping it in open formats and on computers that you manage. If you’re committing your only copy of valuable data to some cloud service, you’re acting recklessly and are likely to suffer the consequences. — Even Google Employees Are Trying to Escape

2020-02-27: Nice artwork using ggplot by Kieran Healy. #rstats
2020-02-27: Fast divisionless computation of binomial coefficients.
2020-02-27: Machine Learning, Kolmogorov Complexity, and Squishy Bunnies.


See Also

» Micro posting in January » Micro posting in December » Micro posting in November » Micro posting in October » Micro-posting in September