Thomas Vakili

PhD student and NLP enthusiast

Centered Multi-Column Tables in LaTeX

From time to time, I need to create tables in LaTeX. Increasingly, these tables have become more and more complex. On particular complexity that I’ve had to tackle a few times recently is how to create multi-column tables. There are many use-cases where you might want to do this. One specific case that I increasingly need to present in my papers is when we have NLP models trained on many different datasets and evaluated using multiple metrics, as in this example below:

Read More

Running CUDA models offline with Docker

In my research, I often have to run machine learning experiments on very sensitive data. This data lives in a protected environment, and one of the features of this environment is that it is sealed off from the internet. This makes running experiments a bit challenging.

Read More

Merging repositories

Sometimes you run into the unfortunate situation where you receive a code base without its Git history. It may even be the case that you don’t even know such a history exists. And so, you run git init and start tinkering.

Read More

Fusing images with Pillow

Every once in a while I think it’s nice to print out some photos, but often the paper sizes available to me are a bit to large and not appropriate for what I want to use the printouts for. A workaround I usually employ is fusing the images together pairwise, printing the fused images on the paper size I have available and then cut the printed images in half. Doing this manually is really frustrating so I managed to create a little script that does this for me, given a directory with images with the same aspect ratios.

Read More

Demo - Vocalizing the Perso-Arabic script

Today my first project demo is live! When I decided to create this site, one big reason was for me to be able to showcase some projects I have worked on. One big issue, however, is that most of them have been part of courses and lack a UI. But now at least one of my projects has had a UI added to it and is now live!

Read More

Wrestling with Scala database libraries

I’ve really enjoyed coding in Scala during my time as a back-end intern at Truecaller. It allows you to write really elegant and type-safe solutions while avoiding all the boilerplate you have to write in Java and other traditional static languages, and it also encourages you to write functional code.

Read More

Hello, world!

Any developer should have a basic web page. I plan on showcasing some of my projects here, together with the occasional blog post!

Read More