WhatsApp rose by trapping previously-free beings in their corral and changing their habits to create dependence on masters. Over time, this made it difficult or impossible to return to their previous lifestyle. That process should sound familiar: it’s eerily similar to the domestication of animals. I call this type of vendor lock-in user domestication: the removal of user autonomy to trap users into serving vendors. — WhatsApp and the domestication of users
2021-02-01: An opinionated list of best practices for textual websites. Lot of good advices there.
2021-02-01: Can you make a basic web app without googling?. I still can write a complete website using HTML and basic CSS without looking at Google (or DuckDuckGo for what matters). Likewise, I can use Sed, Awk and shell scripts, or write R and Python code without relying on a search engine. However, I must admit that I became so lazy over the years that I found myself googling for everything nearly available in the help, man or info pages that sit on my computer. That’s a shame, of course. Laziness and muscle memory are the problem. We should probably refrain ourselves from googling again and again. That’s not a way to learn.
2021-02-01: Why I Still Lisp (and You Should Too).
2021-02-02: Nyxt browser: the internet on your terms.
2021-02-02: Plotnine: Grammar of Graphics for Python. That’s probably the best implementation of the grammar of graphics for Python right now. ̀
2021-02-02: Unix Programmer’s Manual (November 3, 1971).
2021-02-04: Building Docker Images The Proper Way.
2021-02-04: Guillotine: beheadings for your next online presentation.
2021-02-04: Haskell-like patterns in Lisp. ̀
Having only the content I want to see only be shown when I want to see it with the freedom to jump between readers as I please, all with no ads? For me, no other service comes close to the flexibility, robustness, and overall ease-of-use that RSS offers. — Why I Still Use RSS
There are plenty of books on how to become a better programmer out there. Books like this tend to have checklists and other advice that the author deems important enough for you to do in order to become a better programmer. They tend to focus on specific improvements like choosing a better editor, writing better test cases, or drinking lots of water. Those books have lots of useful advice, but they read like a laundry list of things that you must do all at once in order to succeed. This book will try not to saddle you with more work (you likely have enough as it is). Rather, we’ll discuss what it feels like to be a programmer. — What is The Mediocre Programmer?
2021-02-08: Note to blog writers: Could you please (1) check your GUIDs and (2) allow RSS readers to download all feeds and not only the last 10 or 20 entries? With many thanks.
2021-02-08: Making sense of the audio stack on Unix.
2021-02-08: Why Neovim is Better than Vim.
2021-02-08: Why you should migrate everything from Linux to BSD.
Even though Usenet has changed it’s face over the last, say ten years, the simple idea of exchanging ideas and having discussions among a large number of people by posting articles on a global message-board has pertained. — Usenet is still a strange place
People had created blogs (many with great content), run them for a while, let them lapse, and eventually they were swallowed by time and entropy. — Blog with Markdown + Git, and degrade gracefully through timeWhat if Github went down? Better to use your own server and backup your plain text files in a secure place.
2021-02-09: Computers I have known and loved.
2021-02-09: Rewritten in Rust: Modern Alternatives of Command-Line Tools. I bookmarked this a while ago. I’ve tried them all, yet I only find added value in exa and ripgrep.
2021-02-09: State of the Common Lisp ecosystem, 2020 🎉.
Given what I just said, we Haskellers have a lot of hubris. Each time you say “if it compiles it works,” a thunk dies and collapses into a blackhole. We’ve got plenty of messes in Haskell that don’t sufficiently protect us from ourselves. The compiler can only do as good a job as our coding standards and our libraries allow. — Haskell: The Bad Parts, part 2
2021-02-10: Python behind the scenes #8: how Python integers work.
2021-02-10: Browser fuzzing at Mozilla.
2021-02-10: POSIX Threads Programming.
2021-02-10: flynt – string formatting converter.
You might be tempted to use the correlation to reduce the set of predictors, but as Charles Dickens shows us, this requires domain knowledge» > Annual income twenty pounds, annual expenditure nineteen nineteen and six, result happiness. Annual income twenty pounds, annual expenditure twenty pounds ought and six, result misery. – Mr Micawber, in David Copperfield» Even though income and expenditure are highly correlated, neither one separately will do anywhere near as well as the pair in predicting who ends up happy and who ends up in debtor’s prison. — Co-linearity
2021-02-11: Do You Write Code With Your Mouse?
2021-02-11: Neovim and Rust.
2021-02-11: OpenBSD on a Laptop.
Probably one of the last pie I’ll be cooking in this appartment.
My impression now is that they feel like it has too many cool new things; and that a few things didn’t quite make it in even with the extended release cycle. So it’s looking likely to me that 1.7 will actually be the LTS; but that it might also be a feature release – possibly this time a much shorter release period than usual. In practice I think for a lot of package maintainers 1.6 will be a LTS, in that that is the oldest version they will make sure to continue to support. There have been too many cool new things (as this post will detail) to stay back to only 1.0 features. Already a lot of packages have dropped support for Julia versions older than 1.3. — Julia 1.6: what has changed since Julia 1.0?
2021-02-14: Converting UTZOO-Wiseman Usenet Tapes to Website with PostgreSQL backend using Python 3.8. See also Usenet History on Henry Spencer.
2021-02-14: Linux memory management.
2021-02-14: Racket v8.0 is out.
2021-02-15: Almost two months spent on Ubuntu and a Dell laptop. I’m afraid I’m no longer able to use my Macbook keyboard!
2021-02-15: Advanced Git Features You Didn’t Know You Needed .
2021-02-15: Docker One Liners.
2021-02-15: Interpretable Machine Learning: A Guide for Making Black Box Models Explainable.
2021-02-15: Modern Data Science with R (2nd edition).
Knowing I have some time until the computer stops, I know I must keep focused because time is passing. — About the offline laptop project
Once tabs became mainstream, they changed the way people surfed. I still clean my tabs out every day, but some people keep hundreds of the things running, as if this somehow makes them more organized. On average, desktop web browsers have around 10-20 tabs open; mobile browsers, which encourage you to keep them lingering in the background, have more. — The stagnant browser
The baseline minimum is that to qualify as free publishing it must be both free to read and free to publish, both for the reader/author and for their institution. So free publishing may be defined to be the same thing as diamond open access. — Free publishing
2021-02-18: Syncing my website (generated via Hugo): Transmit on macOS takes so much time (up to 5 min) compared to rsync (less than 20 sec). WTF?! Time to switch I guess.
2021-02-18: Programming in the Common Lisp Ecosystem.
2021-02-18: RSS Feeds by Email.
2021-02-18: sectorlisp is an effort to bootstrap John McCarthy’s meta-circular evaluator on bare metal from a 512-byte boot sector.
Here’s the newcomer!
It’s easy to view yourself as “not a real programmer.” There are programs out there that everyone uses, and it’s easy to put their developers on a pedestal. Although developing large software projects isn’t easy, many times the basic idea of that software is quite simple. Implementing it yourself is a fun way to show that you have what it takes to be a real programmer. — Write a Shell in C
I’ve come to believe that working through something is the only way to explore the idea maze. Everything else is commentary. I’ve mostly stopped sharing unsolicited “helpful” just-a-thoughts and comments at work. — Commenting vs. making
Visualization is a spectrum: from exploratory to explanatory. — 10 Years of Open-Source Visualization