September 25, 2024
Scoring in the top 10% of the Mathematics Admissions Test (MAT) was a pivotal moment in my journey to securing a place at Oxford. This achievement was not just about mastering mathematical concepts, but also about employing strategic study techniques, effective time management, and maintaining composure under pressure. Here’s how I did it, and how you can too.
Strategic Preparation and Study Techniques # The MAT is designed to challenge your understanding of familiar mathematical concepts by applying them in unfamiliar contexts....
read more
September 16, 2024
The Oxford Mathematics Admission Test (MAT) is a critical step for aspiring mathematicians and computer scientists aiming to study at prestigious institutions like the University of Oxford. With just six weeks left until the exam, it’s essential to focus your preparation efforts effectively. Here are five practical tips and strategies to help you succeed.
1. Master the Syllabus # Start by ensuring you have a solid grasp of the MAT syllabus....
read more
August 31, 2024
Table of Contents A Recap of Induction over \(\mathbb{N}\) Trees and Inductive Sets The Natural Numbers as ‘Unary Trees’ Structural Induction on Biary Trees \(\text{Leaf}\) Case \(\text{Fork}\) Case Summary Mathematical induction is a fundamental concept in computer science and mathematics, often used to prove properties of structures such as natural numbers and binary trees. This article provides an introduction to induction, focusing on how it applies to natural numbers and binary trees, and demonstrates the process through examples....
read more
July 25, 2024
On 18th-19th July 2024, the Univeristy of Kent hosted the 15th South of England Regional Programming Language Seminar, a regular informal meeting open to all interested in the semantics and implementation of new programming languages. This year it was jointly held with the Concurrency Workshop which aims to bring together researchers who are working thon the theory of concurrency and related areas. You can see the conference page here.
This was my first time attending either series and my second computer science conference I’ve ever been to, so I came in knowing no one and having no idea what to expect....
read more
May 25, 2024
Here’s the scenario: you have your dotfiles in a private repo that you’ve been maintaining for years, and after a lot of polishing and removing secrets, you’re ready to share publicly on your trophy list that is your GitHub/GitLab/SourceHut profile page.
There’s only one problem: You never checked to see whether there were any passwords or other secrets in your history. Now, hopefully you remembered before you made the repo public because there are innumerable bots scraping git hosting platforms for passwords, API-keys, and other secrets....
read more
March 21, 2024
I’ve been running a Git daemon instance on my VPS for a few months and it’s working fairly well at hosting my repos. If you didn’t know, one cute feature of Git is that it can be run as a somewhat rudimentary daemon. By simply passing --daemon to it. This is fantastic as a quick way to get your git repos hosted on your own server or VPS. But if you find yourself longing for more features, such as a web interface, then GitLab is a reasonable alternative 1....
read more
March 3, 2024
Understanding Channels # GNU/Guix is a transactional package manager and an advanced distribution of the GNU system that “respects user freedom”. As a powerful tool, Guix allows users to create their own package repositories in the form of Git repositories called channels.
This allows you to host your own packages to share with the world, or just with your friends.
Channels are a repository of Guix package definitions hosted using Git....
read more
January 9, 2024
Introduction # If you’ve ever tried out guix system vm, you’ve probably found that running Guix commands in the guest system simply don’t work.
root@test-vm# guix build hello guix build: error: opening lock file /gnu/store/...-mirrors.lock: Read-only file system These do, however, work using guix system image, which is a much heavier, fully independent VM image. However, these are a lot slower, requiring every package to be built from scratch. Doing any Guix command requires downloading and rebuilding many many packages that you already have on your host machine....
read more
December 30, 2023
To be honest, while the Shepherd has been a fun hack, I’ve been more and more feeling that yeah, it wouldn’t cut it in the long term (it’s also become clearer Scheme as convenient as C when it comes to systems programming and things like dealing with dependency graphs.)
– Ludovic Courtès, 2018 (quoted grossly out of context)
Introduction # This post explores the concept of integrating Systemd (a widely used init system in the Linux ecosystem) as the init system for GNU/Guix, a transactional package manager and Linux distribution....
read more