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.
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.
2022-01-04: A Closed and Common Lisp.
2022-01-04: Julia Data Science.
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.
2022-01-05: A graphic overview of the events in the history of data visualization, by Michael Friendly & Daniel J. Denis.
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.
2022-01-07: Hugo documentation theme as simple as plain book.
2022-01-07: Strange little diff.The “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. ̀
2022-01-07: Beej’s Guide to Unix IPC.
2022-01-07: Optimizing Docker image size and why it matters.
2022-01-08: Summary of the morning cooking session.
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.
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)
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.
2022-01-12: The Art of Lisp & Writing.
2022-01-12: The Rust Performance Book.
2022-01-12: Topological Data Analysis.
2022-01-12: Why I Use a Debugger.
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.
2022-01-14: Pointers/references in 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.
2022-01-17: Ways I Use Testing as a Data Scientist .
2022-01-18: Best resources to learn about data and distributed systems.
2022-01-19: Current 93, All the Pretty Little Horses.
2022-01-19: What goes into making an OS to be Unix compliant certified?.
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.
2022-01-21: Stefano di Battista, Cosa avete fatto a Solande.
2022-01-21: Postgres Indexes for Newbies.
2022-01-24: Jacques Loussier Trio, Gymnopédie No. 1, Variation 1.
2022-01-24: Hot end of the week in the kitchen ;-)