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

Micro posting in January

January 25, 2022

imgFrom, this week

It’s all well and good that SQLite is scalable and reliable enough for most needs, but what’s the point of using it instead of a more traditional client/server database? — Consider SQLite


It’s been my experience that our intuition of what is and isn’t a pathological or malicious input is about as accurate as time estimates. Requirements change and any and all attack vectors will be found and exploited. The mental burden of remembering the assumptions made to correctly check for pathological or malicious inputs in all cases and keep them updated during refactoring is far too enormous to successfully maintain. — Almost Always Unsigned

2022-01-02: Haskell tutorials:- Course on functional programming - Haskell (Clément Hurlin)- Haskell training: 101 and 102 (Google)
2022-01-02: Seeing Theory: A visual introduction to probability and statistics. I already mentioned this amazing website but it is still worth a retweet.
2022-01-02: Using databases with Shiny. #rstats
2022-01-03:   Joy Division, Glass.

All the functions in Abramowitz & Stegun are now fully computable in the Wolfram Language. — Launching Version 13.0 of Wolfram Language + Mathematica

2022-01-03: Fast CSV processing with SIMD.
2022-01-03: Idle puzzles. #lisp
2022-01-04: A Closed and Common Lisp. #lisp
2022-01-04: Julia Data Science. #julia
2022-01-05:   Firewater, One Of Those.

All I want to say with all these abstractions is that proper logging architecture is hard. It is not just about writing logger.log() here and there. It is a complex process of creating proper abstractions, composing them, and maintaining strict layers of pure and impure code. — Do not log

2022-01-05: Old times good times. I came across this (archived) post where comments on a blog really add values to the post itself. #scheme
2022-01-05: A graphic overview of the events in the history of data visualization, by Michael Friendly & Daniel J. Denis. #dataviz
2022-01-05: Handbook of Graph Drawing and Visualization.
2022-01-05: The complexity of dealing with missing data, variable selection, and cross validation for prediction models.
2022-01-06:   Müncher Rundfunkorchester, Arvo pärt: Works.
2022-01-06: I will always miss you.Circa. 2011
2022-01-07:   Orange Juice, I Can’t Help Myself.
2022-01-07:   Orchestra of the Swan, David Le Page, Eleanor Turner & Daniele Rosina, Comptine d’un autre été, l’après-midi.

The inferential analogy here is that our knowledge grows by a process that is partly random but also involves a struggle for survival amongst ideas. You May Believe You Are a Bayesian But You Are Probably Wrong (PDF)

2022-01-07: A succinct cheat sheet for newbie linux coders and system administrators. #unix
2022-01-07: Hugo documentation theme as simple as plain book.
2022-01-07: Strange little diff.diffThe “blast+” term get recognised as part of the diff even if I deleted the whole line beforehand.
2022-01-07: Bash Style Guide for Mac and Linux. ̀#unix
2022-01-07: Beej’s Guide to Unix IPC. #unix
2022-01-07: Optimizing Docker image size and why it matters.
2022-01-08: Finally:
2022-01-08: Summary of the morning cooking session.

2022-01-08: Fast and Elegant Clojure: Idiomatic Clojure without sacrificing performance. #clojure
2022-01-08: First Steps With Clojure. #clojure

During discussions with my friends and colleagues, whenever the topic of chat protocols comes up, I often remark how simple the Internet Relay Chat (IRC) protocol is and how this simplicity has fostered creativity in the lives of many young computer hobbyists growing up in the late 1990s and early 2000s. — Simplicity of IRC

2022-01-09: Bayesian Modeling and Computation in Python. #python #statistics
2022-01-09: IRC technology news from the second half of 2021.
2022-01-10:   Eusebius, Water Lily.
2022-01-10:   Maxence Cyrin, As the Darkness Falls.

… there are thousands of reusable patterns I’ve picked up … Unfortunately, I’ve forgotten about 95% of them. … The point is to reflect on what actually stuck, so that others may save time by spendingtheir time learning what is more likely to stick. — Practical Shell Patterns I Actually Use (via John D. Cook)

2022-01-10: Idle puzzles 2: Revenge of the Shift. #lisp
2022-01-10: xsv: A fast CSV command line toolkit written in Rust. Handy (and faster) alternative to csvkit.

The real enemy addressed by inlining is unexpected dependency and mutation of state, which functional programming solves more directly and completely. However, if you are going to make a lot of state changes, having them all happen inline does have advantages; you should be made constantly aware of the full horror of what you are doing. When it gets to be too much to take, figure out how to factor blocks out into pure functions (and don.t let them slide back into impurity!). — John Carmack on Inlined Code

2022-01-11: While browsing GitHub, I noticed that the nvim-lua organization offers a “starter kit” init.lua file for Neovim users. It is a single Lua file, which is quite handy when you want to quickly bootstrap a sane config on external servers. I tested it in my own environment and it’s pretty good actually. If you are new to Neovim, and especially Lua config files, I recommend taking a look at how this file is organized. Except for a few packages (theme and snippets), and the default key mappings, you will likely find a working setup for your daily editing tasks. I like the idea of having a single file for the whole config, although I can understand why we may want to split our whole config in separate files, which is actually what I do.
2022-01-11: csview: A high performance csv viewer with cjk/emoji support.

Cognitive load is important. I don’t expand much on this here, but if a programming language or a library makes me feel stupid, then I’m less likely to use it or like it. C++ does that a lot :) — “Modern” C++ Lamentations

2022-01-12: Scientific computing with Rust:- Rust Vectors- From Julia to Rust
2022-01-12: Database-like ops benchmark. Interesting to note that Polars wins over well-established competitors from Apache or Python. #rust
2022-01-12: The Art of Lisp & Writing. #lisp
2022-01-12: The Rust Performance Book. #rust
2022-01-12: Topological Data Analysis.
2022-01-12: Why I Use a Debugger. #rust
2022-01-13:   The Feelies, The Boy With the Perpetual Nervousness.
2022-01-14:   Glenn Gould, Goldberg Variations, BWV 988.
2022-01-14: Halfway through my RSS reading list of the week. It’s amazing how much I learn from all those posts, even if I don’t necessarily have enough time to recollect all the interesting stuff I read. I should take more note, but I’ve became so lazy lately.> YYMMDDHHMM … will no longer fit into a signed 32 bit number.
> The last value for last year is December 31, 2021 at 23:59, and in this format it becomes 2112312359. That just fits into a signed 32 bit number (which tops out at 2147483647).
> The first value for this year is January 1, 2022 at 00:00, which turns into 2201010000, and that does not fit! — YYMMDDHHMM just overflowed a signed 32 bit int
2022-01-14: My ideal Rust workflow. #rust
2022-01-14: Pointers/references in Python. #python
2022-01-15:   Anja Lechner & François Coutu, Vague / E la nave va.
2022-01-16:   Les Ogres de Barback, Nos vies en couleurs. Clin d’oeil à Peyo.

The worst possible way to learn Rust is by vaguely looking at it, or trying some small stuff, in short scattered sessions at night after your demanding work. Sure you did learn a few languages like this before, so you may be confident in your abilities. But at some point in Rust, and it may come soon, you’ll encounter a higher step and if you don’t fight it with concentration and dedication, you risk not overcome it. — How not to learn Rust

2022-01-17: Automating the annotation of PDFs.
2022-01-17: Climbing Mount SICP.
2022-01-17: Counting with martingales.
2022-01-17: Digit Sum Patterns and Modular Arithmetic.
2022-01-17: Lesser Known PostgreSQL Features. #database
2022-01-17: Ways I Use Testing as a Data Scientist .
2022-01-18: Best resources to learn about data and distributed systems. #database
2022-01-19:   Current 93, All the Pretty Little Horses.
2022-01-19: What goes into making an OS to be Unix compliant certified?. #apple

Luschny’s webpage cites, for example, recent treatments of the subject by leading mathematicians such as Terence Tao. And his most compelling argument, from my personal perspective, is the way he unveils the early publications: I learned from him that my own presentation of the story, in The Art of Computer Programming and much more extensively in Concrete Mathematics, was a violation of history! I had put words and thoughts into Bernoulli and Euler’s minds that were not theirs at all. This hurt, because I’ve always tried to present the evolution of ideas faithfully; in this case I’d fooled myself, by trying to conform what they wrote to what I’d learned. — Concrete Mathematics and Bernoulli

2022-01-20: How vectorization speeds up your Python code. #python
2022-01-21:   Stefano di Battista, Cosa avete fatto a Solande.
2022-01-21: Postgres Indexes for Newbies. #database
2022-01-24:   Jacques Loussier Trio, Gymnopédie No. 1, Variation 1.
2022-01-24: Hot end of the week in the kitchen ;-)

2022-01-24: Do you feel like Google search results keep getting worse?

What Gemini is doing, is saying “we don’t need no videos, images, stylesheets, nor JavaScripts, because we want to have a lightweight web experience, so we throw all that crap out!”. Fine, sounds great. But why does it require a new protocol for that? Why couldn’t one simply build on top of existing HTTP infrastructure, throw away all the baggage and instead implement a new Content-Type, which existing browsers then could parse? — Gemini is Solutionism at its Worst


See Also

» Micro posting in December » Micro posting in November » Micro posting in October » Micro posting in September » Micro posting in August