About

avatar

Jakub Cabała

Mathematics & Computer Science Student
Imperial College London

I'm really passionate about both math and programming, with interests that range from web development and blockchain to measure theory and abstract algebra. I've loved math since primary school, and I got into programming a few years later in middle school. I've decided to study both subjects in university because I could never pick a favorite, and now I'm more torn than ever.

In this blog, I'll be sharing my thoughts and experiences with both math and programming. I'll also post updates on my progress and what's happening at university. Whether you're into these topics or just curious, I hope you'll enjoy following along!

Projects

Here are some of the projects I have worked on.

University

In adherence to university regulations, I am unable to publicly disclose repositories for some of the projects. However, the code is available for review upon request.

WACC

WACC

In this project, our team developed a WACC compiler in Scala using the Parsley library. The compiler performs syntactic analysis, semantic analysis, and code generation, producing x86 assembly code in Intel syntax. It includes robust error and warning handling. WACC is a strongly typed, imperative language with a syntax similar to C and bash, supporting function calls, arrays, pairs, and IO.

Learn more →
PintOS

PintOS

In this 2nd-year university project, our team developed key operating system features in C. We implemented thread scheduling, concurrency support (locks, semaphores), thread sleeping, and system calls. We also produced concise reports detailing the program's design and behavior, gaining valuable experience in operating system concepts and low-level programming.

Learn more →

Work

OnetWatch

OnetWatch

At Ringier Axel Springer Poland, I contributed to the Onet Watch project, a vertical video player for the mobile version of the Onet web app. I was involved from the project's inception through to its deployment. My primary contribution was redesigning the use of Intersection Observers, which significantly enhanced the application's performance. Note that the project is meant for mobile devices. The link will redirect you to different content on desktop.

Learn more →

Open Source

Doodle

Doodle

I contribute to Doodle, an open-source 2D graphics library for Scala. It's a great platform for learning the language and practicing functional programming principles. I developed an API for converting pictures to bitmaps and am currently working on introducing convolution operations to the library.

Learn more →