The electricwisp blog.
Another tech blog


Projects

I work on a lot of different things, here is a list of them!

file-duplicates

A quick way to find out if you have duplicate files in a directory.

>>[Code]<<

An ELF linker for x86-64

I wanted to learn more about linkers and the linking process, so I set out to build a toy linker myself. It can currently link a "Hello, world!" program.

>>[Code]<<

A JIT compiler for a Lisp language

In an attempt to learn more about the C language, and JIT compilers in general, I’ve set out to create a JIT compiler for a toy Lisp language. At the moment the interpreter can run simple programs, and it traces and compiles “hot” paths via LLVM into machine code. When a “hot” path is taken again, the interpreter jumps to the compiled machine code instead of interpreting the bytecode.

>>[Code]<<

Lua Interpreter - Master's project

During my final year at Univestity I worked on a Lua 5 interpreter written in Rust. The aim of the project was to build an efficient interpreter that can reach the speed of the original Lua interpreter that is written in C.

>>[Code]<< >>[Paper]<<

Memory Profiling and Custom Allocators in C++ - BSc project

I built a framework which allows users to inject a memory pool allocator into an executable to improve the memory usage of programs.

>>[Code]<< >>[Paper]<<