Where I write my ramblings into the void and you close the page.
-
Reading: September 2023
A list of interesting things I (at least partly) read in September 2023. Things that I am reliably informed are interesting, but haven’t got round to reading
-
Code without fear. Sometimes?
There is a blog post written by Julia Evans about fear, and how it can make people worse programmers. I think that it is well known, and if not then it deserves to be; I have found it to be very useful advice. There’s also a great talk that Gian-Carlo Rota gave at MIT which…
-
Please, don’t stretch your text across the entire screen
There are a lot of great blogs on the internet, exploring such a wide variety of niche (and less niche) topics. One thing which (very slightly) gets in the way of reading such blogs is that a lot of blogs have unreasonable line lengths. Perhaps there some superhumans out there who can read like this,…
-
“You’re being defensive”
I learned of this strategy a few years ago at a debating tournament. Someone (who shall remain unnamed) recommended that you should always describe your opposition as “defensive”. There’s no coming back from being called defensive. The natural (instinctive) reaction is to say I’m not being defensive – a defensive person which doesn’t work because…
-
Websites I like
There are a lot of very good blogs out there, but sadly a lot of them are quite hard to find. Here are some I enjoy (not categorised or sorted or in any order of preference in any way) I also greatly enjoy the discussion forum tildes.net (it is structurally a lot better than virtually…
-
Using Anki for mathematics
It is not a coincidence that almost every mathematics textbook contains some words to the effect that “mathematics is not a spectator sport” – this seems kind of obvious, but it is something which eluded me for a while. The best way to practice and improve at maths is to do lots of practice questions,…
-
BIO 2021 question 1
Note: you can find the question paper on the BIO website Part A This problem can be solved simply using a recursive algorithm: function is_pat(string: String) -> bool if string.len() == 1 then return True else is_pat = False for i=0 to string.len() – 2 do let (first_half, second_half) = string.split_at(i) if NOT min(first_half) >…
-
Hindley-Milner Type Inference in Rust
I have always found the explanations of type inference in the PL (programming language) literature to be at a very abstract level. This is fine, but I found it much easier to understand the underlying mechanisms by looking at more concrete examples. The basic problem of type inference is this: we don’t want to make…
-
“Critical” AI?
The term “AI” is one of those words so well-worn by corporate marketing departments that all the meaning has been worn out of it. It has been worn until it has frayed and torn apart and ended up as little more than a term to be picked up and tacked onto things by corporate marketing…