Author: teymour
-
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
I read a lot of blogs on the internet. I find this extremely enjoyable – there are so many people out there with interesting things to say, and different perspectives to my own. One thing which (very slightly) gets in the way of my blog-reading fixation is that a lot of blogs have unreasonable line…
-
Perfect is the enemy of good
This is a really excellent aphorism, and that I am a lot more productive when I apply it. I first noticed this in a history class, so a lot of my thinking comes from my experiences there. Of course, I’m opening myself up to the “now I understand why you write the way that you…
-
“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…