# Category Theory for Programmers

Lately I’ve become interested in category theory and it’s application to software engineering. After watching a video titled “Programming isn’t Math” by Oscar Boykin, I decided to spend a bit of time watching videos on libraries out of Twitter and conferences around category theory, Algebird, Storehaus and other libraries. Here’s a list of a few videos along with a brief summary of each.

Oscar Boykin, Programming Isn’t Math

- generalizing a matrix library with monoids
- HyperLogLog as a monoid
- cardinality with ~1% error for large cardinalities w/storage of ~16 KB

- at around 28:00 mentions int2BigEndian isn’t a true bijection, interesting example of a coded bijection that isn’t truly a bijection but still useful
- mentioned Spire

Ian O’Connell, Algebird: SF Scala @Twitter

- apply abstract algebra to enhance usage of hyperloglog and count min sketch

Oscar Boykin, Counting Approximately At Scale

- Inspiration for Scalding: Cascading was great but Java was way too verbose
- Scalding: Scala collections for Hadoop
- Chill: serialization for JVM (not type safe)
- Algebird: generalized aggregations
- Storehaus: abstract modeling for key-value stores
- Summingbird: real time streaming version of Scalding
- An Aggregator Abstraction