Posts
Style Guide
This is a style guide for this website.
Titles Titles and headings should be Title Case. Filenames should match the titles.
Posts
Development Workflow
Ways to do CI
Git hooks Things to do with CI
Run tests Unit Integration Fuzz Sanitize Formatting Delete final newlines Delete trailing whitespace Delete extra newlines Format comments Code formatting Convention enforcement Autodetect and remove hungarian notation Enforce case convention Enforce file naming conventions Enforce directory structure
Posts
Evaluating Compatibility
Evaluating compatibility between two pieces of tech can be nontrivial. For instance, how do I know if my USB-A to USB-C cable is compatible with my phone? I plug it in and see that the charging symbol lights up. Okay, it works. Oh wait, I find out four weeks later that it doesn’t allow file transfer? Why is this? It is a mystery. It seems to have something to do with the quality of the cable, but I’m not sure what, since I’ve long thrown away the packaging.
Posts
Media To See
Media I recommend. Very incomplete.
Postmodern Film:
Being John Malkovich Metamodern TV:
Jury Duty Metamodern Film:
Once Upon a Time in Hollywood The Unbearable Weight of Massive Talent The Banshees of Inisherin The Fabelmans The French Dispatch
Posts
Modernism
If you ask most people what modernism or postmodernism means, most will have no idea. Those that think they have an idea will say something like “postmodernism is the rejection of objective truth.” This isn’t the real answer. Below I will give some models for how I think about modernism and postmodernism that hold up in a variety of contexts.
Philosophy Meaning Modernism The cultural consequences and narratives arising from empiricism.
Posts
Reproducibility
“Containers” are a super popular buzzword in silicon valley these days. So wtf is a container? Well, it is yet another answer to the long-standing question of how to provide a reproducible environment for a program to run in. “It works on my machine” is a symptom of a deeper problem. The problem is that of dependency management, or configuration management as it is known more generally.
Configuration management is older than computers.
Posts
Useful Commands
This is a non-exhaustive list of useful commands in Ubuntu. I include useful notes on their behavior that are often glossed over. I only list commands that I find are actually useful in practice, so I exclude commands like ls -a. This post already assumes you understand the basics of shell usage, like sudo.
Documentation cmd --help print help file cmd --help | less paginate help file man cmd read man page which cmd print file path of cmd; prints nothing for aliases Running stuff Each of these commands has subtle differences that should be understood.
Posts
Orthogonal
There are a very small number of truly orthogonal ideas in programming language design. The point of this post is to document them.
Interface Interfaces go by many names, but all are interfaces:
API ABI interface duck-typing Hierarchical object store Fundamentally, files are just objects. We really shouldn’t need to implement a parser for each different file type, because there should be a one-to-one mapping between file types and plain-old-data file types.
Posts
Networking
General What is the Internet?
A network of billions of computing devices, called hosts Each has a unique numeric IP (Internet Protocol) address Many communication links Copper wire, fiber optic ICANN Assigns IP addresses and DNS top-level domains Operates 13 root DNS servers IETF Develops protocls that define how internet devices interact RFCs (Request for comments) are its documents defining internet standards Application level - HTTPS, Email, SSH
Network layer - IP
Posts
Cool Phrases
“Momento mori” - Remember that you will die.
“Do not go gently into that good night.”; Fighting against death is the essence of life (opinion).
“Verba volant, scripta manent” - Spoken words fly away, written words remain (documentation is paramount!).