2023-06-15
-
Simulated annealing is a method for finding a good (not necessarily perfect) solution to an optimization problem. If you're in a situation where you want to maximize or minimize something, your problem can likely be tackled with simulated annealing.
-
Bloom filters are a very useful probabilistic data structure which helps you check very quickly and with a constant memory footprint whether, with 100% confidence, something does not belong to a set or with high confidence whether it does. This blog explains how to build them and how they work.
2023-06-13
-
An old (but still relevant!) and easy introduction to Kubernetes, and some concepts like pods, namespaces, services and volumes. Illustrated with the help of Phippy the Giraffe
-
A classic talk from Raymond Hettinger on writing beautiful and clear Python code
2023-06-12
-
Common falsehoods about addresses
-
Common falsehoods about email
-
Falsehoods programmers believe about maps.
-
Raise your hand if you know how to validate an email address. For those of you with your hand in the air, put it down quickly before someone sees you.
-
A list of wrongful assumptions that programmers often make when dealing with the names of users.
-
A list of wrongful assumptions that programmers commonly make when dealing with time
-
pytz, which has often been recommended for dealing with timezones has some wacky behaviour. This explains why, and suggests what to use instead
2023-06-11
-
A four-part blog series on concurrency in Python with gevent, as an alternative to asyncio
2023-06-10
-
An exposé on aspects of functional programming through Javascript.
-
Noam Elkies, the mathematician/musician/chess player, uses Graph theory to analyze some select problems from chess puzzles
-
-
Once upon a time, math departments at some universities in Europe kept Jewish students from being admitted by giving them problems “carefully designed to have elementary solutions (so that the Department could avoid scandals) that were nearly impossible to find”, sometimes referred to as “coffin problems” or “Jewish problems”. Some brilliant students still solved them. This is a collection from Moscow State University.
-
Famous article from the old, notorious online magazine Phrack about how you can exploit programs by corrupting the execution stack.
-
An explanation on how Diffie-Hellman works with examples
2023-06-09
-
In the 1980s, Andre Joyal came up with a framework borrowing from category theory which allows for the combination and counting of labeled structures, which often arise in computer science. Examples of species are trees, simple graphs, directed graphs, permutations, linear orders, set partitions and more. This book is a self-contained introduction.
-
How does memory management in Go work?
2023-06-07
-
What is this thing called code, really?
“Can you tell me what code is?”
“No,” I said. “First of all, I’m not good at the math. I’m a programmer, yes, but I’m an East Coast programmer, not one of these serious platform people from the Bay Area.”
-
An explanation of virtual memory and what happens in the background when you allocate memory
-
(Shameless self plug - a blog post I myself wrote years ago) How to use some simple order theory to solve a programming exercise
-
Librarians invented the modern search engine. In the 1970s, they created the first databases and queries. They even made it possible to piggyback on searches made by other users, a strategy Google is still using today. But the most radical aspect of this work was that it predicted their own obsolescence. "They saw that we would lose expert intermediaries and they designed for this cost”
-
About the dominane of Esri, and the software available in the open source geospatial ecosystem.