Why it’s difficult to understand the brain

I’ve recently been working on a programming project, and one of my considerations during development has been coupling. Like many programming concepts, coupling is an analogy to real-world systems, although I’m not sure it’s supposed to reference any specific thing. The term is used in various science and engineering domains where it refers to two…

The work ethic of algorithms

In computer science, an algorithm might be classified as either lazy or eager. A lazy algorithm delays carrying out computations until the last minute, while an eager algorithm attempts to perform computations as soon as possible. Both approaches save time in different ways, and are appropriate in different situations. For example, if a program tends…

The language of balanced parentheses

Grammatically, parentheses must be balanced, meaning every open parenthesis ‘(‘ must eventually be followed by a close parenthesis ‘)’. Parentheses can be nested, meaning there can be parentheses inside parentheses. If we were to take a piece of writing and remove all letters and punctuation except parentheses, we might end up with something like: ()()()(())()(),…

How compression works and why JPEG artifacts look like that

Do I look like I know what a JPEG is? In a computer, all information is represented as bits, strings of zeros and ones. However, bits can more or less be interpreted as generic numerical data written in base 2 instead of as decimals. In other words, in a computer, all information is represented as…

(A little bit of) the math of AI

Artificial intelligence is a vague term for computer applications that carry out some kind of decision making. In general, we’re more inclined to call something AI the more sophisticated and independent its decision making capabilities are. AI are usually designed for a single task or a small collection of related tasks. Many tasks we would…