Day 0: Recurse Center
Today will be my first day at the Recurse Center. I am very excited. đĨŗ
I intend this blog to be a place where I can record my thoughts, realizations, and experiences during my batch (Summer 2 '25, btw). âī¸
I would also like to record my goals to keep myself honest about my progress and growth. I have a tendency to introduce scope creep into every aspect of my life[1]. đ
Here are my initial goals:
- Learn Gleam and document the experience.
- Mature my familiarity with functional programming and category.
- Develop better discipline for focus.
Practically, I would like to become familiar with the entire process of designing, building, releasing, and iterating on web apps. This is an amorphous space in my mind and I would like to plot its boundaries for future adventures. It seems like a fun place to play.
Here goes! Happy Pride, all. đŗī¸ââ§ī¸đŗī¸âđ
P.S. Unlike other things wanting of names, this blog title came quickly and reflects my preference for absurd, esoteric jokes[2].
Think of a map (or mapping) as a translation from one type to another. Imagine we have template types A and B. If I have a map from A to B, this just means there is an operation that can convert an A into a B.
A triangulated category is one in which, roughly: if there is a map from A to B, and a map from B to C, there is a composed function of A to C. If we were writing these maps as functions, it might look like this.
func f(_ a: A) -> B {
// some conversion of A into B
}
func g(_ b: B) -> C {
// some conversion of B into C
}
When I want to call these functions on arguments in a typical C language, I would write it as g(f(a))
, and this entire function can be assigned to a third variable, say h.
func h(_ a: A) -> C {
g(f(a))
}
An alternative way of writing this is to use dot notation. Pronouncing the dot as "of" is a helpful way of remembering what this notation means.
g ¡ f
So the idea of this title is that there is a function brian and we are calling it recursively: brian(brian(brian()))
, or brian ¡ brian ¡ brian
. Perhaps we will stumble across an identity morphism down the road.