Skip to content

Blog

Writing is a powerful tool!

After having left secondary school this year (2025) and pursuing subjects that I actually like at A-Level - as opposed to subjects which were mandatory (such as English Language & Literature) - one quickly realises that writing is no longer an over-analytical burden or just some words on a page, but rather a way to capture thoughts, convey emotions, and share heavily nuanced perspectives.

What I am trying to say is that it is more fun to create your own texts with your own nuanced perspectives and deeper meaning, rather than having to analyse the somewhat complex perspectives of others.

This is just the start of why I might begin to justify having an entire blog posting section on my website.

Although this website is primarily aimed towards my professional side of Computer Science, you may occasionally find me posting about many different subjects which concern economics, government policy / politics in general, and even more. I will not suppress myself from speaking just because it does not align with the goals of my website.

Have a look at some of the blog posts I have written so far:

Why calling a function pointer should not look like this

In a previous post I explained how Nue evolved from an overambitious programming language experiment into a niche language designed specifically for reverse engineering and runtime manipulation. That post focused mostly on the story behind the project and how its purpose eventually became clear after two years of an absolute mess.

In this article I would like to focus on something more practical: the actual motivation behind the language itself.

Anyone who has spent a significant amount of time working with reverse engineering, runtime hooks, or injected libraries will inevitably encounter large amounts of C or C++. These languages are extraordinarily powerful and remain the foundation of most low-level software today. It would be impossible to seriously discuss systems programming without acknowledging how important they are.

At the same time, however, it is difficult to ignore the fact that much of their syntax feels like an artefact from another era of computing.

Nue: How an overambitious idea found its purpose after 2 years

Back in late 2024 I decided that building a programming language sounded like a perfectly reasonable project. (yikes!)

At the time I had spent several years primarily writing software in Lua. Lua is genuinely one of the most pleasant programming languages I have ever worked with: simple, elegant, extremely readable - and, without going into the beautiful rabbit hole of Luvit and LuaJIT - surprisingly capable despite its size. However, after a while, I began to feel that I was approaching the architectural limits of what I could comfortably build with it. I wanted stronger structure, a more expressive type system, and access to lower-level capabilities such as systems interaction and proper threading instead of silly co-operative coroutines. In fact, I was literally dying for proper OS threads since some of my important production code was written on single-threaded Lua, but I still wanted something that retained the readability and approachability that made Lua enjoyable in the first place.

Naturally, the completely rational conclusion to me at the time was that I should simply design my own language, and so Nue was born...

Hitting the inherent concurrency ceiling of Lua

I am always hesitant to say when I "started programming", because that phrase is usually doing more rhetorical work than technical work. There is a categorical difference between a ten-year-old reading Roblox scripts and vaguely understanding them, and a twelve-year-old who can maybe write programs with intent. Most people blur that distinction because it flatters their backstory, but for the sake of having a date, however, I will say 2020 - when I was twelve - was the point at which I began writing code rather than simply observing it.

An introduction to code de-obfuscation with Roblox Lua

Recently, I engaged in a discussion within my community about de-obfuscating Lua code. This blog post was requested after many were puzzled about how supposedly "random-looking" characters and invalid-looking syntax could possibly result in non-fault code being executed.

In this blog post, we will therefore examine a short code sample which will make the code in your brain start working, in order to potentially think about de-obfuscating larger scripts.

Examining Britain's Economic and Political Turmoil

The United Kingdom, or rather Britain, once stood as the most powerful imperialist nation the world had ever seen, dominating the entire globe and filling each Briton with a profound sense of pride and glory in their amazing nation. Even after the dissolution of its vast empire, Britain remained an economic juggernaut, bolstered by its stable politics, tremendous global influence, and strategic geographical position as a hub for trade and commerce.