# Software Engineering Blogs

## A

### Amy Hoy

### Andy Baio

- Homepage. Writer with a creative, illustrative, technical flair.
- Invasive Diffusion: How one unwilling illustrator found herself turned into an AI model

### Andy Wingo

- Homepage. Writer with an emphasis on free software and open-source projects.
- fibs, lies, and benchmarks

### Axel Rauschmayer (2ality)

- Homepage: Writes about JavaScript in a deeper than usual way.

## B

### Basecs

The basecs blog is on Medium with the following tagline: "Exploring the basics of computer science, every Monday, for a year." Below are some of the organized contents.

- Fundamentals
- Data Structures
- Algorithms
- Theory in Practice

- What's a Linked List, Anyway? [Part 1]
- What's a Linked List, Anyway? [Part 2]
- Stacks and Overflows
- To Queue Or Not To Queue
- How To Not Be Stumped By Trees
- Leaf It Up To Binary Trees
- A Gentle Introduction To Graph Theory
- Taking Hash Tables Off The Shelf
- Hashing Out Hash Functions
- Set Theory: the Method To Database Madness
- Learning to Love Heaps
- Trying to Understand Tries
- Compressing Radix Trees Without (Too Many) Tears
- The Little AVL Tree That Could
- Finding Fibonacci In Golden Trees
- Painting Nodes Black With Red-Black Trees
- Busying Oneself With B-Trees
- From Theory To Practice: Representing Graphs
- Going Broad In A Graph: BFS Traversal
- Deep Dive Through A Graph: DFS Traversal
- Spinning Around In Cycles With Directed Acyclic Graphs
- Finding The Shortest Path, With A Little Help From Dijkstra
- Less Repetition, More Dynamic Programming
- Grammatically Rooting Oneself With Parse Trees
- Leveling Up One's Parsing Game With ASTs

- Leaf It Up To Binary Trees
- Looking For The Logic Behind Logarithms
- Königsberg: Seven Small Bridges, One Giant Graph Problem
- Demystifying Depth-First Search
- Breaking Down Breadth-First Search
- Sorting Out The Basics Behind Sorting Algorithms
- Exponentially Easy Selection Sort
- Bubbling Up With Bubble Sorts
- Inching Towards Insertion Sort
- Making Sense of Merge Sort [Part 1]
- Making Sense of Merge Sort [Part 2]
- Pivoting To Understand Quicksort [Part 1]
- Pivoting To Understand Quicksort [Part 2]
- Heapify All The Things With Heap Sort
- Counting Linearly With Counting Sort
- Getting To The Root Of Sorting With Radix Sort
- Going Broad In A Graph: BFS Traversal
- Deep Dive Through A Graph: DFS Traversal
- Spinning Around In Cycles With Directed Acyclic Graphs
- Finding The Shortest Path, With A Little Help From Dijkstra
- Less Repetition, More Dynamic Programming
- The Trials And Tribulations Of The Traveling Salesman
- Speeding Up The Traveling Salesman Using Dynamic Programming

- Königsberg: Seven Small Bridges, One Giant Graph Problem
- Getting To The Root Of Sorting With Radix Sort
- Finding Fibonacci In Golden Trees
- The Trials And Tribulations Of The Traveling Salesman
- Speeding Up The Traveling Salesman Using Dynamic Programming
- Grammatically Rooting Oneself With Parse Trees
- Reading Code Right, With Some Help From The Lexer

## C

### Camille Fournier

- Homepage. Engineer, CTO, member of the Apache ZooKeeper community. Author of The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change.
- An incomplete list of skills senior engineers need, beyond coding

### Chelsea Troy

- Homepage. Staff Engineer at Mozilla.
- How I do (and don’t) prepare a talk for a tech conference

### CSS Tricks

- Homepage. CSS site useful for a very wide array of things.
- Centering in CSS: A Complete Guide

## D

### Dan Luu

- Homepage. Programming blog posts (more technical).
- Files are hard

### David Eppstein

- Homepage. Personal blog from a professor of computer science at University of California, Irvine.
- Stack-based graph traversal ≠ depth first search: Goes into detail about how modifying the standard version of the BFS algorithm on generalized graphs by replacing the queue with a stack does
*not*result in a true DFS. The Wiki article on DFS, specifically the pseudocode section, provides David's comments in a different manner.

## E

## F

## G

## H

## I

### InterviewingIO

- Homepage: Better interviewing (and hiring) through data.

## J

### James Mickens

- Personal page. Researcher in the Distributed Systems group at Microsoft’s Redmond lab.
- The Night Watch

### Jeff Fowler

### Julia Evans

- Homepage. Author of the Wizard Zines. Her blog has every post she's ever written, organized by category.
- The fish shell is awesome
- entr: rerun your build when files change
- A little bit of plain Javascript can do a lot
- sqlite-utils: a nice way to import data into SQLite for analysis: Useful for taking any CSV file(s) and dumping them into a SQLite database for querying purposes. CLI reference can be helpful, specifically the part about inserting data and making field conversions. The sqlite-utils GitHub repo and the csvs-to-sqlite GitHub repo might be useful for future exploration as well.
- Things that used to be hard and are now easy
- SQL queries don't start with SELECT

## K

### Kamal Marhubi

## L

### Lara Hogan

- Homepage. Author, public speaker, and coach for managers and leaders across the tech industry.
- What does sponsorship look like?

### Laurent Luce

- Homepage: Writes about more performance-driven topics.
- Least frequently used cache eviction scheme with complexity O(1) in Python

## M

### Maciej Ceglowski (Idle Words)

### Marianne Bellotti

- Homepage. Author of Kill It with Fire Manage Aging Computer Systems (and Future Proof Modern Ones)
- All the best engineering advice I stole from non-technical people

### Mark Dominus

- Homepage. Amateur mathematician.
- Software horror show: SAP Concur

### Monica Dinculescu

## N

### Nelson Elhage

## O

## P

## Q

## R

### rachel by the bay

### Robert Heaton

### Robin Wieruch

- Homepage: Writes about React a good deal.