MOV is Turing-Complete: 4-bit Adder Implementation

In late 2017, small groups of our class were given the task to delve into the assembly language and write a program for the 8051 microcontroller, as part of the Low-Level Programming lecture. This post documents the project MOV is Turing-Complete: 4-bit Adder Implementation — an assembly program that adds two 4-bit numbers relying solely on mov instructions. The appendix lists the minified version of the code. Continue reading MOV is Turing-Complete: 4-bit Adder Implementation

TeX Math to Image Conversion

This post functions as a quick development update on the Math to Image Conversion Bot (on Telegram), the TeX math to image conversion tool (at tools.timodenk.com), and the API that serves them both. The objective is to convert TeX math-code into images. Continue reading TeX Math to Image Conversion

ShiftRegister PWM Library

The ShiftRegister PWM Library enables usage of shift register pins as pulse-width modulated (PWM) pins. Instead of setting them to either high or low, the library lets the user set them to up to 256 PWM-levels. This post serves as a documentation page for the library and is to be extended over time. Continue reading ShiftRegister PWM Library

[Paper Recap] Multiple Hypotheses Prediction

The paper Learning in an Uncertain World: Representing Ambiguity Through Multiple Hypotheses was publish by Christian Rupprecht et al. in late 2016. The authors propose a training technique for machine learning models which makes them predict multiple distinct hypotheses. This is an advantage for many prediction tasks, in which uncertainty is part of the problem. In this article I am going to summarize the paper and name further thoughts. Continue reading [Paper Recap] Multiple Hypotheses Prediction

Digit Span Test (Online Tool)

The digit span test is a way of measuring the storage capacity of a person’s working memory: A testperson is visually or auditorily exposed to a sequence of digits one after the other. Right afterwards, the test subject has to recall the correct digits in the same order. Most people manage to recap around seven digits. I have written an online tool that lets the user determine their digit span test score. It is available at the website tools.timodenk.com/digit-span-test. Continue reading Digit Span Test (Online Tool)

Timœ Goes By: Verifying the Age Estimator How-Old.net

how-old.net is a project from Microsoft that guesses the age of people on a photo based on their faces. I have tested it with an image that consists of 21 photos. Each photo was taken around the time of my n-th birthday, so the ideal classification would label them as 0, 1, 2, …, 20. Let’s see what how-old.net comes up with. Continue reading Timœ Goes By: Verifying the Age Estimator How-Old.net

SAPUI5 Custom Data Type: IBAN

SAP’s web technology SAPUI5 allows the definition of custom data types. They can be used to format and validate input fields. This example defines an IBAN data type which validates an IBAN checksum using JavaScript code. The second section of this post explains how an IBAN checksum is computed. Continue reading SAPUI5 Custom Data Type: IBAN

Graph Theory Overview

In the field of computer science, a graph is an abstract data type that is widely used to represent connections and relationships. This post gives an overview about a selection of definitions, terms, and algorithms, which are related to graphs. The content was put together during preparation for a theoretical computer science test at Cooperative State University Baden-Württemberg and is mostly taken from either Wikipedia or lecture notes. Continue reading Graph Theory Overview

Least Squares Derivation

The least squares optimization problem searches for a vector, that minimizes the euclidean norm in the following statement as much as possible: $$x_\text{opt}=\arg\min_x\frac{1}{2}\left\lVert Ax-y\right\rVert^2_2\,.$$This article explains how $x_\text{opt}=(A^\top A)^{-1}A^\top y$, the solution to the problem, can be derived and how it can be used for regression problems. Continue reading Least Squares Derivation

VPA Compact GPS Impressions

The Vodafone VPA Compact GPS is a Personal Digital Assistant (PDA) with the operating system Windows Phone. It was released in late 2006 and it was the first smartphone I have ever owned. Just recently I rediscovered the phone, which was lost without trace for a couple of years. This post is about sharing some impressions of an era where the first iPhone was not even on the market yet. Continue reading VPA Compact GPS Impressions