a database is a data structure that survives a power cut, shared by programs that don’t trust each other, queried in a language older than most of its users. the relational model has been declared dead roughly once a decade since 1970 and has outlived every announced successor. 𐃏 this page covers the model, the algebra underneath SQL, normalisation, the storage structures that make queries fast, and the machinery that keeps concurrent transactions honest.
CCS = Classical Computer Science
the internet is a triumph of indirection: no layer trusts the one below to be reliable, timely, or even present, and yet a packet leaves your laptop, crosses a dozen autonomous systems owned by companies that actively dislike each other, and arrives. 𐃏 this page walks the stack bottom-up, then follows one HTTP request through DNS, TCP, and TLS to see every layer earn its keep.
unix is less an operating system than a worldview: everything is a file, every program does one thing, and text streams are the universal interface. linux is the worldview’s most successful implementation — a monolithic kernel started by a finnish undergraduate in 1991, now running most of the internet, every android phone, and the top 500 supercomputers without exception. 𐃏 this page is the trunk; the sharpened tools each get their own branch:
Complexity Classes
The Computational Zoo is far more subtle and complex than I thought it was.
Computational Zoo
It contains P, NP (+complete), EXP, NP-hard, CO-NP (+complete), PSPACE, BPP, BQP, EXPSPACE, 2-EXP, halting problem, decidable, etc!
Big Oh Notation
Big-Oh ( \(O\) ) gives an upper bound on how an algorithm’s resource consumption grows with input size \(n\).
Honestly, the diagrams that I wish to reproduce already exist here. Currently this page is in construction and probably will be until I finish my Doctorate.
“Memory is the mother of all wisdom." — Aeschylus
Babbage’s Big Brain
Memory as a Hierarchy — Not a Monolith
Hierarchy exists for two intertwined reasons:
- Physics – Smaller structures are faster and nearer to ALUs but hold less data; larger structures store more but are farther away and thus slower.
- Economics – Fast memory costs disproportionately more per byte.
An efficient system arranges multiple layers so that > the majority of accesses hit the small, fast part, > while the bulk of bytes reside in the large, cheap part.
explained!
notes
it is good to keep notes about version controlling things.
I mostly use git.
git
| prefix | use-case |
|---|---|
| BUG | bug fix |
| DEV | development tool or utility |
| DOC | documentation |
| ENH | enhancement, a new feature |
| MAINT | maintainence task |
| REL | release |
| STY | stylistic change |
| TST | addition or modification of tests |