Posts

C

Last edited: August 8, 2025

C was created around 1970s to make Unix tool writing easier. It was meant to the be the simplest, lightest, human readable code on top of assembly.

  • C is procedural: you write functions and compose them, instead of defining types
  • C++ is procedural (mostly), but you can have objects: you still write functions, and can build objects and call methods
  • Java is actual oop

We use C because its fast, highly efficient. C is popular for systems programming, OSes, networking, etc. Lets you work at a lower level to understand/manipulate the underlying systems.

caching

Last edited: August 8, 2025

All caches, uses similar memory addressing scheme (i.e. each address can map to one of each device); each “line” of cache is usually 64 bytes. This means that each time you grab something from memory, the 64 bytes surrounding that area of memory will be cached. You are most likely to do this because of iterating through an array.

  • L1-D cache: on the CPU, used for staging for registers
  • L1-I cache: on the CPU, used for staging for assembly instructions
  • L2 cache: L1 staging
  • L3 cache: L2 staging
  • Main memory: memory

cache locality

temporal locality

“Things I have used recently, I’m likely to use again soon”

cal.com

Last edited: August 8, 2025

cal.com is an automating calendar service funded by the VC firm 776.

calculating shear's modulus

Last edited: August 8, 2025

Calibration Plot

Last edited: August 8, 2025