I write about computer science, life, and various other things.
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 & 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.