Let's Make Software
Subscribe
Sign in
Home
Archive
About
From Chat Buddy to Cyber Hacker: AI Since 2022
A plain-English guide to AI technology in the last four years. Understand the technology behind the headlines.
Aug 22
•
Kat Busch
6
2
January 2024
Fun and surprises with closures, references, and inner functions
Learn about closures while exploring the funky behavior of variables captured in closures in 3 common languages
Jan 28, 2024
•
Kat Busch
3
October 2023
Looking Under the Hood: The Basics of Relational Databases
How standard relational databases are implemented
Oct 16, 2023
•
Kat Busch
5
May 2018
TypeScript enums explained
This article explains the difference between Typescript’s enum, const enum, declare enum, and declare const enum identifiers. Caveat: I…
May 13, 2018
•
Kat Busch
November 2017
So your website is slow? Let’s fix that.
A practical introduction to web performance
Nov 9, 2017
•
Kat Busch
June 2017
Quick Tips for Gitting on a Team
A series on best practices in large codebases for new engineers. This one focuses on version control etiquette.
Jun 17, 2017
•
Kat Busch
February 2017
The Software Engineer’s Essential Time Estimation Guide
Hofstadter’s Law: It always takes longer than you expect, even when you take into account Hofstadter’s Law. — Douglas Hofstadter
Feb 25, 2017
•
Kat Busch
1
December 2016
A Beginner’s Guide to Automated Testing
The how and why of software testing in large codebases
Dec 3, 2016
•
Kat Busch
September 2016
The Rules of Optimization: Why So Many Performance Efforts Fail
The First Rule of Program Optimization: Don’t do it. The Second Rule of Program Optimization (for experts only!): Don’t do it yet. —…
Sep 26, 2016
•
Kat Busch
July 2016
Trust No One: An Introduction to Large Codebases for New Engineers
A series on best practices in large codebases for new engineers. This one focuses on how to think about large codebases via an introduction…
Jul 22, 2016
•
Kat Busch
This site requires JavaScript to run correctly. Please
turn on JavaScript
or unblock scripts