CCS = Classical Computer Science

Version Control

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

Memory

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:

  1. Physics – Smaller structures are faster and nearer to ALUs but hold less data; larger structures store more but are farther away and thus slower.
  2. 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.

Read more >

Data Structures & Algorithms

Read more >

Computational Complexity

Complexity Classes

The Computational Zoo is far more subtle and complex than I thought it was.

/projects/ccs/comp-complexity/
zoo.svg
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\).

Read more >