Greetings earthlings, welcome to my blog.

Background:

This is the culmination of multiple weeks of procrastinating, bikeshedding, and toying with the idea of implementing my own blog-oriented SSG and ultimately giving up once I remembered hugo exists.

What sort of content should I expect?

I don’t have any plans in particular about the type of content I will post on here, other than it being within the bounds of STEM (unless my mind decides to wander elsewhere, which it tends to do). My current topics of interest are, in no particular order:

  • Programming Language Development:
    • Type Systems and methods of Type Inference
    • Intermediate Representations (yet to explore)
    • Bytecode Compilation and Virtual Machines
    • Garbage collection
    • Optimisation (yet to explore)
    • Codegen (yet to explore)
  • Miscellaneous programming things:
    • Operating System Development
    • Graphics Programming with wgpu, opengl etc
    • Applying linear algebra to graphics programming
  • Functional Programming (closely coupled with programming language development):
    • How it relates to type systems
    • Algebraic Effects and other methods of encoding side-effects in the type-system (also related to compiler development)
    • Translating functional programs into efficient imperative ones
  • Pure maths:
    • Currently reading “Proofs: A Long-Form Mathematics Textbook” by Jay Cummings
    • I’d like to explore abstract algebra, I’ve looked into category theory a fair amount due to it’s overlap with functional programming
    • I’m fairly low on the scale of mathematical maturity so this list is ever growing

Motivations:

  1. A lot of the information for these and a plethora of other topics is trapped in academic literature, which I have routinely found to be inaccessible for anyone who doesn’t have prior experience in the topic at hand. I would like this blog to be a collection of beginner-friendly and fairly self-contained posts which can benefit people in the same position I was (or for many topics, currently am) in.
  2. It feels greedy to expend the effort I do in learning these somewhat advanced topics without propagating the knowledge and improving the experience of others.
  3. It would be nice to carry out a thought to completion once in a while.

Feedback:

Corrections of mistakes made in any posts and suggestions for future posts are welcome in the repo’s issues