I will attempt, in this section of the blog, to put notes on thing-technical, i.e. coding/maths.
I’ve been using MathAcademy for several months now and I cannot recommend it enough to anyone seeking to learn Math, at any stage (4th grade through grad school level).
Some online courses I’m thinking about just to understand better the world of
ML:
https://course.fast.ai/
https://www.coursera.org/specializations/machine-learning-introduction
Just as a programming language can be considered a virtual computer, that is, a computer implemented in software, so a computer can be considered a programming language implemented in hardware.
Maclennon, Principles of Programming Languages
There are many ways to import modules with ESM. Some ways allow for testing frameworks to intercept and mock methods from these modules, while others do not.
Two methods I use most often are:
// named imports (destructured into method names}
import { fnUsedAsReal, fnToBeMocked } from "file.ts";
and
// namespace import (or star-import)
import * as File1Module from "./file.ts";
Namespace imports are required for vitest to be able to spy/mock dynamically.
vi.spyOn(File1Module, "fnToBeMocked").mockResolvedValue(["123123", "123124", "123125"]);
The biggest gotcha I’ve found in upgrading from jest to vitest is that if any of the mocked methods are called internally within its own module, the mock does not work. e.g.
You have a test in file.test.ts.
It imports all methods from file.service.ts -> import * as MyService from 'file.service.ts';
You mock a method function1 so you can test it… but inside file.service.ts
there are references/calls to function1, the mock will not work.
The workaround is simply to move anything that has to be mocked to its own file.
iow for the example above, both the test file and the service file will import
function1 from a third file, and the mock will work. This, in my case, is
mostly fine as the internal calls are almost all to database functions that make
sense to be organized into their own file anyway.
In machine learning, the “learning” term is effectively a “cost minimizing” calculus function.
(Probably a quotation from 3Blue1Brown but I don’t recall)
Good explanation of LCS algorithm: https://ics.uci.edu/~eppstein/161/960229.html
The preference for signals vs state driven rendering make good sense. But it seems that the advances coming with React Compiler give us the same advantages without new libraries or code changes (i.e. automatic memoization and avoiding unnecessary rendering in parts of tree where no state is accessed).
The term for the idea that AI could improve itself indefinitely is “recursive self-improvement” or RSI.
A related term for technology having achieved RSI is “Artificial General Intelligence” or AGI.
RSI’s impossibility stems from epistemological limits (no self-bootstrapping without grounding), computational bounds (diminishing returns, uncomputability), and philosophical subjectivity (“improvement” as human-relative, not machine-quantifiable). For instance, if “the good” is an abstraction requiring nuanced values, pure recursion can’t capture it without human-like qualia or external input.
Related reading: The Illusion of Self-Improvement: Why AI Can’t Think Its Way to Genius
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
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