Functors and monads are powerful design patterns used in Haskell. They give us two cool tricks for analyzing data. First, we can “preprocess” data after we’ve already trained a model. The model will be automatically updated to reflect the changes. Second, this whole process happens asymptotically faster than the standard method of preprocessing. In some cases, you can do it in constant time no matter how many data points you have! — Functors and monads for analyzing data
2023-05-03: Interesting blog post if you want to learn more about Chicken Scheme’s internals: CHICKEN internals: data representation .
2023-05-07: Back to Kitty, as a replacement for Alacritty which I enjoyed using the past few months. I still use Tmux, though.
2023-05-07: I will probably watch Millenium again, and I thought I need to watch Noomi Rapace’s recent movies. Seven sisters (which is not listed on his filmography on Wikipedia) was so great after all. I watched Close two days ago; quite bad, actually. Bright was better, though.
Spinach, goat cheese and chorizo.
But there’ll be winners and losers – everyone agrees. If it’s good, then the productivity gains will be unevenly distributed and those with only basic abilities - in programming, writing, music will be replaced by the machines, or by someone using a machine to produce a lot more of the product. If it’s bad, the people using the AI will benefit but those at the other end of the algorithm, those subjected to AI-powered policing, healthcare, or hiring are subject to the inaccuracy, bias, or malice built into the system. — The one about AI
Config (282.0 total hours, 5.0% of all time): Time spent on actual Emacs configuration. — 916 days of Emacs
For example, you remove an attribute from a class definition. Your existing objects get (lazily) updated to reflect that change, following a rule you even have control upon. You don’t have to restart a process and then re-create your objects. The same is true for Lisp web development. You can create a new route, compile it and try it live without restarting the server. You didn’t have to restart a process. It’s all very interactive with instant feedback! — Why Lisp?
2023-05-09: Today I had to rollback nvim to a previous state: one or some of the last pushes on the nightly branch broke my LSP setup, which would no longer autostart. No luck, just when I said I never encountered a single breaking change in Neovim core in months.
First peonies of the year.
Autocompletion is not an aid to make it easier to write code. It does not do that. What it does actually do is make it easier to architect code. Writing code is easy; all it involves is writing text. Any trained monkey can write code. Deciding what to write is decidedly harder. That’s the true task that programmers do. Following from that assertion, writing code and deciding what code to write (designing or architecting) are distinctly separate tasks. Therefore you should not decide what to write as you are writing code. — Why I Don’t Use Autocomplete
At the time, however, Linux didn’t seem to have a word processor (I’m sure it actually did). What did people use to write documents? When I asked someone at the local Linux Users’ Group about this, they told me about LaTeX. And that began a very long love affair with typesetting in general and TeX in particular. I have used some variation of TeX/LaTeX to write pretty much every paper, every article, every talk, every letter, every slide, and every lecture I’ve written for the last twenty-five years. — Beautiful Documents with Groff
It basically boils down to two things - using type hints as much as possible, and upholding the good ol’ making illegal states unrepresentable principle. — Writing Python like it’s Rust
The people who insist that the manpages are all you need will sometimes dismiss guide-type documentation as tedious to work through; they’d rather learn things from a reference, they say, because that way they can jump around in it and look for the specific bits that are relevant to them right now. And that’s fine—if they’re right that the stuff they’re skipping over isn’t relevant to them. But it also has negative practical consequences. — I Didn’t Learn Unix By Reading All The Manpages
Or maybe I’m just an old guy looking back and romanticizing the early days. I’m back to coding in C again, writing little inconsequential games to amuse myself. Or maybe there was something a little magical then. Simpler times? — Same Stop
Everyone knows that debugging is twice as hard as writing a program in the first place. So if you’re as clever as you can be when you write it, how will you ever debug it? (Brian Kernighan) — Clever Code Considered Harmful
it also confirmed another sad aspect of being on the spectrum: you can have a very large tolerance for people having bad expectations of you because you learn at an early age that you must accommodate others in order to survive. — Autism is everywhere and in everything