RSSAmplifier

Blog

eblog: software articles by efron licht

Software articles at a level of rigor somewhere between textbook and blog. mostly systems programming & backend but not limited to it.

eblog.fly.devRSS feed ↗17 posts

Latest posts

Github and the Crime Against Software

An investigation into collapse of Github and how the decay of our tech infrastructure is a crime against software. Detailed comparisons of Github, Gitlab, Codeberg, and more from a distributed systems and software performance expert

Starting Systems Programming 03: Execution Counts: Software Performance & Measurement

ALPHA: Third part of a guide to systems programming, covering performance, including computer architecture, architectural design, profiling, benchmarking, and examples of micro-optimizations.

Software Talmud 00: Anatomy of Automation

An attempt to communicate wisdom from the engineers and programmers of the past

Starting Systems Programming 02: Your program and the outside world

Second part of a guide to systems programming, covering how to interact with the outside world - syscalls, files, etc.

Gin is a very bad software library

Gin is a very bad software library. Way, way too much detail on why.

Starting Systems Programming 01: Programmers Write Programs: Building your Tools

First part of a guide to systems programming, starting with building the basic tools to examine and manipulate files and binary data

Faststack: Analyzing & Optimizing Gin's Panic Stack Traces

An investigation into the mechanism and performance of Gin's fancy stack traces

Advanced Go & Gamedev: Reflection-based Debug Console: Autocomplete

Adding autocomplete to our reflection-based debug console

Backend Basics 03: Finishing Touches: Middleware, Dependencies, & Routing

Third part of a guide to backend development in go, covering testing, middleware, dependencies, routing, and a little bit of databases

Backend Basics 02: Practical Backend with `net/http`, `net/url`, `encoding/json`, and `context`

Now that we know how to build it by hand, use the go stdlib to do it the practical way

Backend Basics 01: Introduction, TCP, DNS, HTTP

First part of a guide to backend development in go, covering the basics of TCP, DNS, and HTTP

Advanced Go & Gamedev: Reflection-based Debug Console

A very fancy way to make a realtime debug console like quake for your go programs

Start Fast: Booting Go Programs Quickly with `inittrace` and `nonblocking[T]`

The only thing your program does every time is start, so it should start as fast as possible. Here's how.

Go Quirks & Tricks 03: Arrays, Validation, Build Constraints

part 3 of a grab-bag of go quirks and tricks, covering arrays, validation, and build constraints.

Go Quirks & Tricks 02: Concurrency, Unsafe, Reflect

part 2 of a grab-bag of go quirks and tricks, covering concurrency, unsafe, and reflect.

Go Quirks & Tricks 01: Declaration, Control Flow, Typesystem

part 1 of a grab-bag of go quirks and tricks, covering declaration, control flow, and the typesystem.

Simple Byte Hacking: A UUID Adventure

Using the magic technique of 'just kind of looking at raw bytes' to solve a problem with UUIDs.