String Similarity: Levenshtein, Jaro and Jaro–WinklerHow a program decides that two strings are almost the same: where the idea came from, the families of methods, …
What Is a Unit Test? Where Unit Testing Came From and How to Write Good OnesA unit test is a small, fast, automated check that one piece of code does what it should. Here is what that …
How Do Programs Talk to Each Other? JSON, XML, Protobuf, RPC, REST, gRPC, GraphQL and MessagingEvery pair of programs that exchange data makes two choices: how to encode the data and how to shape the …
How Do Computer Networks Work? TCP/IP, the OSI Model and the Protocols Every Programmer UsesAlmost every program talks to another one over a network. Here is how that works: packet switching and its …
How Does a Web Browser Work? From a URL to Pixels on the ScreenA web browser turns a URL into a working application in a fraction of a second. Here is how it does it: the …
What Is Text Encoding? From Telegraph Codes to Unicode and UTF-8Computers store only numbers, so every piece of text is a sequence of numbers under some agreed code. Here is …
What Are Data Structures? From Arrays to Hash Tables, and How to Choose OneA data structure is a way of arranging data in memory so that the operations a program needs are fast. Here is …
What Is a Compiler? How Source Code Becomes a Running ProgramA compiler translates a program from the language people write into the language a machine runs. Here is what …
Processes and Threads: What They Are, Where They Came From and How They WorkA process is a running program with its own private world; a thread is one line of execution inside it. Here …
What Is a Processor? History, Architectures and How a CPU WorksA processor is the part of a computer that actually carries out instructions. Here is what that means, how it …