Hello there!

Welcome to my blog! My name is Tim and I'm a computer science student at University College London and California Institute of Technology. I mostly write about my studies and the projects I work on. Check out the About section for more info.

All
 

PostgreSQL with Node.js: Migrations and schema dumps

While working on the Fizzyo project for one of my summer internships I've noticed the lack of articles on database migrations and database integration testing for Node.js projects. Don't get me wrong, there...

Returning an array of JSON objects in PostgreSQL

For my internship with Microsoft and UCL Institute of Child Health I had to work with PostgreSQL. My back-end was running on Node.js, so naturally I was interested in getting...

TCP client in a UWP Unity app on HoloLens

If you've ever had the pleasure of implementing a TCP client that would work in both the Unity editor (for development/debugging) and UWP on HoloLens (for production) you will know how painful the whole process is.

Automatic Node.js testing and linting using Git hooks

In Summer 2017 I was working on an internship with Microsoft and UCL. I was put in charge of designing and developing the backend architecture for a reasonably big system. Continuous integration (CI) and deployment (CD) were a must, so I tried to automate as many...

PEACH Reality featured on official HoloLens homepage

Today was truly an amazing day. A video about the project I worked on, PEACH Reality, was featured on the official homepage of Microsoft...

HoloLens Development: First Steps

As you might've found out from other posts in my blog, I've spent quite a lot of time developing a Microsoft HoloLens application during my 2nd year in UCL. In this post I'd like...

My trip to Japan in Summer 2016 (Pictures)

In June of 2016 I spent 2 weeks travelling around Japan with a bunch of friends. We've covered a fair bit of southern Japan, including Hiroshima, Osaka, Kobe, Nara, Kyoto, Atami and Tokyo. It was an amazing experience and since I'm no wordsmith but I still wanted to document my...

COMP207P Compilers Guidelines Part 2: Java Bytecode Optimisation

As described in the previous article, during my time in UCL I had to work on several pieces of coursework related to the development of compilers. In this...

My Linux dotfiles

I've finally gotten to customising my Linux setup and put some of my dotfiles on GitHub, including a pretty handy installation script. Check out the README.md...

Discord Spoiler Bot

I was elected as the treasurer of UCLU Anime Society 2016/17, and since I was a computer science student I was also responsible for IT in our society. Half way into the academic year...

Spotify playback and volume control using keyboard shortcuts on Linux

Recently I've been playing around with my new Ubuntu setup (using bspwm, seen below) and I needed to get my keyboard playback and volume controls working to use Spotify efficiently. While this topic has been covered extensively on the web, the knowledge is currently spread among multiple websites...

COMP207P Compilers Guidelines Part 1: Lexing and Parsing

During my 2nd year as a computer scientist at UCL I got a chance to work on an amazing compilers coursework. It was a part of...

Useful Links

I tend to go through quite a lot of various programming articles every day and once in a while I find something that I really want to share...

Presenting to Steve Guggenheimer, Corporate VP of Microsoft

On December 5th, 2016, I got a chance to present the PEACH Reality project I've been working on to Steve...

Hiding compiled JavaScript or CSS from GitHub diff

While working on Blitz, a static site generator I'm developing, I wanted to prevent compiled JavaScript from cluttering the diffs. I...

UCL PEACH Reality with Microsoft HoloLens

As a part of COMP204P/COMP205P System Engineering modules in my 2nd year of study in UCL I've been given a chance to work with Microsoft HoloLens and I became a...

Spark: Ambient Lighting System

I have recently put together a new rig, and it just so happened I had several LED strips leftover from one of my previous projects. Sadly, I couldn't get my hands on a...

Reflex PHP

I was thinking about an easy way to simulate various APIs, and I was looking for a reusable solution that doesn't require much setup and if possible is platform/language independent. The primary...

Higher order functions in C

It's not a secret that for almost all people attempting to learn C pointers are a grey area. I personally was struggling quite a lot understanding them but I was saved by a huge amount of amazing guides...

Understanding two-way data binding in JS

In the recent years, two-way data binding has become a very popular technique among all sorts of JavaScript frameworks and other tools, and I felt like an article about the basic concepts behind it might be...

Foxy Panda Source

First of all, you can find Foxy Panda source code on its GitHub page. If you're interested, there is also a repo of an older version of Foxy Panda written on...

Digit recognition in JavaScript

During the summer of 2016 I took an interest in the concepts behind neural networks and machine learning and after doing researching I decided to apply my newly acquired...

LaTeX Bootcamp

During my first year as a computer scientist at UCL I found myself using $\LaTeX$ quite a bit, and I have to be honest here - for someone with absolutely no prior knowledge in that area it wasn't an easy road and the learning curve was quite steep. Naturally, after...

JS Gaussian Elimination

While doing some coursework for MATH6301 module for uni I decided that it takes too damn long to write out basic gaussian elimination operations. Additionally, I felt like...

Reddit Themes

Some time around 2014 I was an avid reddit user (I mostly lurk nowadays) and I made quite a lot of themes for various subreddits. Below you...

HyperBlocks

HyperBlocks is a WYSIWYG editor for sidebar content on Reddit. Its main aim is to allow moderators to easily organise the contents of sidebars in their subreddits in a...

Dota 2 Icons

I used to make various mods for Dota 2, and as you've probably guessed some of these mods were icon mods for various heroes. In this post you can see some of the icon sets I...

Active Visualiser

Back in 2014 I decided to develop a music visualiser, and since I was mostly working with Java at the time my choice fell on this very language. Sadly, I couldn't find any decent tutorials or examples of music...

Synlighter

Synlighter is a simple syntax highlighting plugin I developed a while ago. I used it primarily as an exercise to study regular expressions, so it is still far from...