I write about computer science, life, and various other things.
Implementing faster reading with bionic Markdown
This article describes the process of developing a bionic Markdown format and deploying it on my website.
Reverse engineering fuzzy mode
Focus modes are fun: they allow the reader to filter out noise and to concentrate on chosen content only. This article is about reverse engineering a kind of focus mode which blurs out text, makes it fuzzy.
Footnotes and marginalia
Footnotes are notes that are added at the end of a page, usually annotated by a small number. Since the most recent version of this website, footnotes are displayed at the side of the page, in a similar manner to marginalia ('sidenotes'). This article gives a short overview on the possible functionality on this website.
Append-only writing
Writing about an experimental writing process using an experimental writing process.
Goals for twenty-two
One could say that posting New Year's resolutions at the start of May is slightly belated. I can't argue with that. However, as my *academic* year comes to an end, I am feeling a sudden boost of motivation to work on myself. To act on this motivation, I set myself five goals for the remaining time of 2022.
Mac setup
I recently ran out of hard drive memory space and couldn't be bothered to track down and uninstall all the clutter that accumulated over two years of software development. Hence, I reset my MacBook. I used this occasion to create a step-by-step guide on how exactly I reset my mac. It can also be used as a migration guide from one mac to another or an explanation of how to set up a new mac.
Understanding graph algorithms I: graph theory & graph representations
Graph algorithms have many useful applications, ranging from finding the shortest route on a street map to efficiently managing computer networks. These algorithms are an essential part of a standard computer science degree curriculum, so I decided to write down and explain the basics to understand the topic better myself.
Productive web browsing in Chrome
It was not until my Bluetooth mouse stopped to work that I wanted to be able to use and navigate through Chrome only using my keyboard. After a few weeks, I noticed that it made my daily web browsing experience much more efficient and productive. This is a quick tutorial on how to web browse mouse-less on a Mac.
First year
Last September, I moved to Edinburgh to go to uni, equipped with a suitcase, a bag and my violin. It would be the first time that I would be living on my own, away from my family, friends and familiar environment. Here's what I experienced in my first year.
Understanding recursion in Haskell
Recursion has always been a weird and demanding method to me. It just seemed odd to me to define something in terms of itself. But after spending some time with defining recursive functions, I've learned to love it.
The idea behind live articles
Today, I had this idea: articles on my website which are not complete yet. There are a few use cases for why I think that there is more to it than just publishing unfinished articles.
How to test for efficiency in Haskell
While Haskell isn't famous for it's efficiency, sometimes we still want to measure how long the evaluation of an expression takes. This is a quick article on how to do so.
A Gatsby website for the Edinburgh University String Orchestra
Project write-up for when I restructured and redesigned the website of the Edinburgh University String Orchestra. I used the Gatsby framework and cPanel to host the website.
Deploying your Gatsby site to cPanel
While it is certainly possible to deploy your Gatsby project on cPanel within a few minutes, I struggled very much with it, having never done it before. This article covers a simple step-by-step explanation on what exactly to do.
How to use list comprehension in Haskell
List comprehensions are one of my favourite features of Haskell. Just as recursion, list comprehension is a basic technique of functional programming and should be learned right in the beginning.
Understanding lists in Haskell
When you think about lists in general, you probably think about the grocery list you've written last week. Or about a list of your New Year's resolutions. Both lists have something in common, they store some data. This is a tutorial on how to use lists in Haskell.
Starting this blog
Not another blog! That's what I thought initially. Surely, there are enough blogs around the web, covering every single topic one can think of. You know what? I don't care. This blog isn't even meant to be read by any people. There is a variety of different reasons why I started it.