Hi, I’m Christina O’Donnell, and I have a deep passion for Computer Science. From a young age, I’ve been captivated by computers and the intricacies of how they work. My journey led me to study Maths and Computer Science at Oxford. After completing my degree, I worked as a software engineer for six years, developing a data analytics program. I then decided to take a slightly different path in my career, to become a Computer Science tutor, allowing me to pursuing my research interests concurrently. This September (2024), I am excited to be starting an MSc in Computer Science at Nottingham. I’m hoping that this will be a step forward toward building a career in research.
While I am still early in my academic career, I have formed initial interests in the areas of Dependent Type Theory, Functional Programming, Formal Verification, and Term Graph Rewriting Systems.
If you want to read more, you can visit my blog, check out my projects, or learn about my tutoring.
You can also find me on GitHub, and Mastodon as @octocurious@functional.cafe.
Projects #
Here are some of my projects I’ve done over the years. You can find additional projection on my GitHub page.
Semantic Graphs - Conducting research on ‘Graphical Pattern Calculus’ as a term rewriting system, and an investigation into formal language, expression, and variable binding.
Guix Contributor - Contributor to Guix– the project to build a fully functional package manger and reproducible operating system in Scheme.
Interactive Quantum Tunnelling Simulation - Created a simulation using Processing JS, allowing for interactive manipulation of variables. You can see the code and tweak the variables on Khan Academy. And there’s a discussion on this Reddit thread.
Octocurious Blog - Maintainer a blog with regular posting of technical content. Blog source, and its theme.
System hosting - Running and maintaining multiple Linux servers, self hosting websites, GitLab, email, DNS, Discourse. Maintaining security policy, updates, logging, and firewalls.
Text Editor - Developed a very text editor for in C, using a gap buffer for (somewhat) efficient text storage and manipulation. See the code on GitHub.
2D Physics Engine - Made a 2D rigid-body physics engine from scratch in C++, featuring collision detection, multiple collision points per object pair, and joint support. It has platform support for Windows and Linux. See the code on Github.