Today I learned Shuhari, or how to master a skill:
- Shu: obey
- Ha: break
- Ri: move away
I don’t really get it yet, but it sounds good. :)
Today I learned Shuhari, or how to master a skill:
I don’t really get it yet, but it sounds good. :)
This is a part of the homework feature of my blog, which is an ongoing conversation with my mate S.F.
Hey mate. Lovely to see you again, as always. Can’t wait to do it all again soon!
We spoke about Live on Brighton Beach by Fatboy Slim.
I mentioned I’ve been watching videos from Rabbi Simon Jacobson at Meaningful Life Center.
Band name: Healthy Advice for Living.
Band name: Threaten to Fall.
I mentioned about Speed Racer by the The Wachowskis.
You mentioned about the Safe Space in Katoomba.
I mentioned about Elle Cordova. She’s super creative and has made some great videos, particularly her Errorist series, starting here: Grammarian vs Errorist – a supervillain showdown. I’ve mentioned about her before.
I mentioned about Mindform which is a sort of self-improvement community I participate in. It’s run by Ryan Bush who has written a few books including Designing the Mind: The Principles of Psychitecture.
I mentioned about my bullet journal. It is now an instrumental part of my whole day and I can barely imagine how I used to live without it. I got myself one of the official bullet journals too, it’s great; well made and full of thoughtful and practical features.
I mentioned about this SMBC comic: your ethical system is nuts, man!
You mentioned about Information is Beautiful.
You mentioned about Alain de Botton on The Diary of a CEO: The Love Expert: The REAL Reason We’re Lonely, Loveless, Depressed – Alain De Botton, School Of Life.
We listened to Careless Whisper by George Michael.
I mentioned about Iron Sky which is a silly film but a bit of fun.
You mentioned about the Frame problem which is also taken up by Stanford Encyclopedia of Philosophy: The Frame Problem.
You suggested intermittent fasting.
I was chatting to some friends on IRC about my experience vibe coding so far. Figured I might as well take some time to check in about that. I suppose first I should say that I am definitely not an AI coding guru, I have pretty minimal experience with it so far.
On some of my computers I have vscode configured with Github Copilot which gives me some auto-complete type support using AI technology. This is sometimes useful and sometimes not. I am yet to use Claude in vscode.
Mostly when I’m vibe coding something I am using ChatGPT via its web interface. I have a “Plus” account with them that I pay for each month. Usually I will ask it to do something for me, it will give me a pretty useful response, then I might get it to tweak a thing or two, or I might edit myself for a few tweaks, and we’re done. Following are things I have done like this recently.
Times Tables Practice. This was an app that I got ChatGPT to help me write. You need a large monitor to view this, it won’t work on your phone. This actually evolved in stages. First I got the 15 x 15 grid on the left working, then the visualization in the middle, then the visualization on the right. It was pretty ugly integrating those bits and pieces, I just copied-and-pasted them into one big file but didn’t take any effort to make them mutually consistent. I have been debating myself about what I should have done here. Maybe I should have used separate JavaScript and CSS files for each major feature so it was clear which code was generated with each feature, or if I should do what I did and just paste it all into the same HTML file. I’m still not sure about that, but the mono-HTML file does work.
Mental Arithmetic Practice. These are practice questions mostly to help me learn my fifteen times tables, but they have simple addition and subtraction questions too. This was pretty much one shot, I asked ChatGPT to make it and I got this result pretty much on the first try. I needed to make a very small edit to make “Random” the default choice instead of “Addition”.
Arithmetic Practice. These are longer arithmetic practice questions which require a pen and paper to figure out. ChatGPT got this pretty much right first go, but I made some minor tweaks to improve legibility and the results when printing on A4 paper.
Thevenin Equivalent Practice. This was my first go at generating practice questions for Thevenin equivalent circuits. This wasn’t quite what I was after so I gave it anther go.
Thevenin Equivalent Practice v2. This was my second go at Thevenin equivalent circuit practice. The visualization as given is pretty shit and I kinda gave up on this. Now my plan is to work through example problems I found elsewhere on the internet: Thevenin & Norton practice problems.
So that’s three successful vibe coding projects and two failures.
I used ChatGPT to vibe code a homework generator which I can use for practicing my times tables, arithmetic, and Thevenin equivalent circuits: Practice makes perfect.
In my feed today: How Boris Tane Uses Claude Code. He separates research, planning, and implementation phases, as he says: “Read deeply, write a plan, annotate the plan until it’s right, then let Claude execute the whole thing without stopping, checking types along the way.”
I might be the first to point out: this is Waterfall! Micro-waterfall?
I’m working through the Signpost math books. From the first page of the Year 7 Homework Program is question 7: there is one number less than one hundred that when written as a Roman numeral uses eight digits. What is it?
I didn’t want to think hard about that so I decided to write a program. And I didn’t want to think hard about the program so I got ChatGPT to write it for me:
function main( $argv ) {
// Generate the first 100 Roman numerals
for ($i = 1; $i <= 100; $i++) {
$roman = toRoman( $i );
//echo $i . ' => ' . toRoman($i) . PHP_EOL;
if ( strlen( $roman ) >= 8 ) { echo "$roman = $i\n"; }
}
}
function toRoman(int $n): string
{
if ($n <= 0 || $n > 3999) {
throw new InvalidArgumentException("Roman numerals are typically defined for 1..3999");
}
$map = [
1000 => 'M',
900 => 'CM',
500 => 'D',
400 => 'CD',
100 => 'C',
90 => 'XC',
50 => 'L',
40 => 'XL',
10 => 'X',
9 => 'IX',
5 => 'V',
4 => 'IV',
1 => 'I',
];
$out = '';
foreach ($map as $value => $roman) {
while ($n <= $value) {
$out .= $roman;
$n -= $value;
}
}
return $out;
}
main( $argv );
Via Lobsters today: I Started Programming When I Was 7. I’m 50 Now, and the Thing I Loved Has Changed.
I have a new post on Hackaday: [Yang-Hui He] Presents To The Royal Institution About AI And Mathematics.