The great benefit of computer sequencers is that they remove the issue of skill, and replace it with the issue of judgement. With Cubase or Photoshop, anybody can actually do anything, and you can make stuff that sounds very much like stuff you’d hear on the radio, or looks very much like anything you see in magazines. So the question becomes not whether you can do it or not, because any drudge can do it if they’re prepared to sit in front of the computer for a few days, the question then is, ‘Of all the things you can now do, which do you choose to do?‘
- Brian Eno via this blog post connecting the thought to AI
I have been doing Math Academy lessons for a couple weeks now. I tested into Foundations I at about 80% complete so will be done with that course in a couple more weeks. I suppose a whole course could take me about 6 months. So I probably have a few years of work ahead if I go the route of Foundations II and III, then Methods of Proof, then Discrete Mathetmatics. (Or another path to ML or Probability and Statistics… img. The gamification, repetition on the student’s weak areas, and “dependency tree” for the order of learning are impressive. I’ll re-evalautae a few months later, but I could see this being a better way to learn than the classroom setting simply because it’s so targeted at the individual’s weaknesses (and still exercises the strengths as well). On the flip side, nothing can replace learning through dialogue - dialogue which is allowed to meander to and from related ideas. If I had to design a Math class today I’d think MA could be the basis of homework/exercises which some kind of face-to-face Q&A or seminar or traditional lessons at a certain frequency. Still, for me, it’s a perfect way to get some schooling in the gaps of my day.
TIL about csvkit which has a number of CLI tools for working with CSVs. The cool thing I’m after is csvjoin which
merges two CSVs on a common column (like a sql join).
Today I:
- Fixed my led light on my microphone mute button (which caused me all kinds of confusion during meetings)
- Added
wlumato serve mainly as a reminder that my privacy shutter is open [edit] I removed wluma several days later because it wasn’t very good. Brightness levels jumped all over the place and app window switching slowed because it spiked in CPU usage for window switching.
Today I am trying out the Cookie Store API which is a relatively new addition to browsers. It’s quite easy to use and has some slick features like the ability to subscribe to changes on the cookie. Am presently having trouble with storing a cookie that has semi-colons so either have to encode or find a new delimiter for the thing I’m storing.
Today I’m thinking about a “coding standards” document and what should be included in it. Linters cover most rules except for casing… scratch that, eslint has a calcase rule. I like to case database tables and fields one way (snake_case), code a different way (often camelCase but depends on the language), and th there’s also things like url parameters other things that should follow a consistent pattern. Other topics (brainstorming here) to include are DRY (more and less), file size, logging patterns, commenting (or lack thereof), error handling, uri testing, code coverage standards. I’ll be thinking of more later. Some of these things can be enforced with Draconian linter policies, but I tend to like to put just the big things in linter rules (e.g. no unused variables) and leave at least a little creative freedom to the devs. It’s fun to be able to look at code and know who wrote it without looking at git history/blame to find out - since the mark/style of a human remains.
Using niri as a standalone wayland wm on nixOS presents a few challenges (and benefits) since there is no full fledged desktop environment that it’s beholden to (you can more easily choose any tool rather than the one for your desktop env) or can take advantage of (there’s no obvious tool to choose). IOW it can be good because one is not ’tied into’ anything, but can be bad (esp. for the overly analytical types like myself) because it can take some time to choose everything from the ground up. e.g. much of what I’m using is terminal based rather than point and click. I’m using bluetuith for bluetooth, nmtui for wifi connecting, fuzzel + bash scripts for app launching, various tools for pipewire audio. Mostly everything works great, and for those with the DIY linux spirit, it’s worth the time.
The attempt at building niri for development got me reading a Rust book…
the Rust programming language is fundamentally about empowerment: no matter what kind of code you are writing now, Rust empowers you to reach farther, to program with confidence in a wider variety of domains than you did before.
Rust isn’t limited to low-level systems programming. It’s expressive and ergonomic enough to make CLI apps, web servers, and many other kinds of code quite pleasant to write
On the topic of ‘infrastructure as code’ there arises the organizational question of whether to put everything in one repository (e.g. all the infrastructure for any app) or to divvy it up into the individual app repos. There will always be overlap and interdependencies so there’s no easy answer. Some like to deploy infrastructure changes along with the code and so the latter method is good for that. That worries me because there are more variables in flux. I’d rather have rollouts of infrastructure changes generally go out in advance (unless there’s some reason it can’t) of application changes. And so the former (all in one repo) is my preference.
One thing I haven’t found for Linux is a good ‘random unicode symbol’ entry system. On OSX I could easily use key combos (built-in) for the semi-weird characters (like bullets) and then pull up an “emoji/special characters” window that let me select the even weirder characters.
I will attempt, in this section of the blog, to put notes on thing-technical, i.e. coding/maths.
Science may be described as the art of systematic oversimplification.
- Karl Popper
Since the building of all the universe is perfect and is created by the wisdom creator, nothing arises in the universe in which one cannot see the sense of some maximum or minimum.
- L. Euler