Access smartphone sensor data on a website with the Permissions API (iOS 13)

I wrote this article about reading sensor data from on a Smartphone with JavaScript a while ago. Those methods worked for Android phones as well as iPhones running on iOS 12 (or lower). However, with iOS 13, Apple changed the way sensor requests have to be made, and I decided to post an update to accomodate for that.

Continue reading Access smartphone sensor data on a website with the Permissions API (iOS 13)

Functional-Style Operations in the Java Stream API

I discussed Java Lambda Expressions quite a time ago inĀ another article. Those were not the only new thing that got implemented in Java 8. Besides Lambdas, Type-Annotations, and Default methods in interfaces, version 8 of the Java API added support for functional-style operations. Because I think that this is quite a rarely discussed feature, I decided to write this short introduction to the Java Stream API and how it can be used for basic functional-style programming in Java.

Continue reading Functional-Style Operations in the Java Stream API

How to implement switchable dynamic custom themes with Angular Material

I needed to implement a function that allows users to dynamically switch between different themes in an app that I develop at the moment. As the title suggests, I use Angular Material components and Material themes.

In this article, I’ll give you a step-by-step guide on how you can choose between different themes in an Angular app dynamically.

Continue reading How to implement switchable dynamic custom themes with Angular Material

2019: The annual Christmas report

Just like the snow in GTA Online, the annual Christmas letter on nerdhut is back! This year was the best one so far for this website, which means that this streak goes on since 2016. Let me quickly go over some facts for this year and highlight some goals, that got achieved in 2019!

Continue reading 2019: The annual Christmas report

How to program an arcball (orbiting) camera in C++ and OpenGL

I recently had to implement a drag and drop camera feature for a college course. The OpenGL program, we had to submit, had to contain a camera that can be controlled by moving the mouse around. The camera itself should always look at a fixed point in the 3D space while being rotated on two different axes like it was stuck to the inside of a sphere.

Continue reading How to program an arcball (orbiting) camera in C++ and OpenGL

A simple universal 800×600 VGA signal generation circuit

You may have seen this article where I discussed a 640×480 VGA signal generator that I designed and built. The signals, that circuit generated, were correct when measured with an oscilloscope. However, I concluded that I didn’t know why my display hardware had a hard time displaying an image and I found the reason for that and updated the circuit to generate the necessary signals for displaying an 800×600 image with a refresh rate of 60 Hertz.

Continue reading A simple universal 800×600 VGA signal generation circuit

Native real-time and multithreaded programming on the Arduino Nano 33 BLE (Mbed OS)

A long time ago, I released a series about real-time programming on a BeagleBone Black. I then decided to use the BBB to control the CRT display of an old Macintosh Classic computer. As you can imagine, I was thrilled when the new Arduino Nano series with built-in real-time capabilities was announced and in this article, I’d like to revisit the old topic and discuss what has changed over the years.

Continue reading Native real-time and multithreaded programming on the Arduino Nano 33 BLE (Mbed OS)