Proper Printing with HD44780 LCD

I recently purchased a very simple, Hitachi HD44780 compatible LCD screen for an Arduino project. It’s a 20x4 I2C display, which apparently is constructed as a combination of 2 two-line display controllers. This wouldn’t really matter except for the fact that when printing strings longer than a single line, they are displayed in a 1324 matter. So if you set your cursor on the first line and print a string 80 characters long, things get weird....

December 25, 2014

Course Notes & Summaries

For some of the courses I took during my studies in computer science at the University of Leuven, I’ve combined the course material, typically with the help of others, into structured and easy to study documents. Hoping that other students could also benefit from these notes, I’ve made them publicly available, on Github. The documents are writen in LateX which hopefully encourages my fellow students to correct mistakes and improve or extend them....

December 23, 2014

Burglar Alarm: IoT Course

For the Internet of Things (IoT) assignment for the course Capita Selecta: Distributed Systems we were supposed to create a burglar alarm. A passive infrared sensor (IR) detects movements, which triggers a 60 second timer. If the correct code is not entered using a potentiometer and pushbutton, a relay enables the alarm. Although pretty basic, this was probably one of the more fun assignments during my education at the KU Leuven....

December 17, 2014

IPv6 Ready

Woohoo, as of today jonasdevlieghere.com is IPv6 Ready! Wondering why this is important? Check out the explanation by Vint Cerf. Edit: I accidentally configured NGINX to only accept connections on the IPv6 socket. This made my site unavailable to some of my visitors. This problem has been resolved as of the first of November.

October 30, 2014

Real-Debrid Extension

Because going to the Real-Debrid website every time you want to unrestrict a link is such a hassle, and their own Chrome Extension doesn’t work, I decided to come up with my own extension. Basically, it adds an item to your context menu (or right-click menu) that unrestricts the selected link(s) and automatically downloads the respective file. Feedback is provided using Chrome Desktop notifications to make the plugin as unobtrusive and light-weight as possible....

August 11, 2014

Backbone.Marionette AMD Modules

This post describes how to create a extremly simple Backbone Marionette application using Asynchronous Module Definition or AMD provided by RequireJS. The Marionette documentation states the following: It is recommended that you divide your controller objects into smaller pieces of related functionality and have multiple routers / controllers, instead of just one giant router and controller. Although this is pretty obvious, the documentation never really shows how to achieve this. Probably modules have something to do with it, yet there’s no mention of routers of controllers....

June 27, 2014

Modular Latex with Subfiles

Latex as a document system and markup language is very well suited for creating large documents. Working with a big, single file however remains an hassle, whatever its content. Fortunately, Latex supports splitting your document in several files. Two commands will make your life a lot easier: \input{file.tex} \include{file.tex} Although slightly different, both allow to include content from an external file inside your latex code. This is exactly what you want when you’re writing a book or a long article....

April 30, 2014

InTeXration: Compile LaTeX from Github

GitHub is a great platform for collaborating on projects that require versioning. Latex documents such as summaries and reports of college courses are a great example: you can collaborate using the git version control system and make the results public and accessible to interested parties. There is a disadvantage though: git is not suitable for binaries such as the PDFs generated by the Latex compiler. This is a substantial problem: people interested in your document have to clone your repository and compile the source code before they are even able to see the content of your document....

January 17, 2014

Lego NXT Robot

In order to obtain our bachelor’s degree every student had to either write a paper on a given subject or participate in a more practice oriented problem-solving project. I chose the latter one and was assigned to Team Gold. The goal of the project was to program Lego NXT Robots using LeJOS so that they could autonomously participate in a game of Team Treasure Trek. Additionally, a simulator had to be developed to play the game in a virtual environment....

June 3, 2013

ALMA Android App

I know few people who study in Leuven and have never been to one of the ALMA restaurants. ALMA is an mensa academica or in English a student restaurant supported by the KU Leuven. They offer students as well as professors and university crew affordable meals while guests pay a bit more. Although the menu is published on their website, it’s quite a hassle to find out what’s available where. Additionally their website isn’t really mobile friendly....

April 18, 2013