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

Commute Time Tracking

According to the U.S. Census Bureau the average commute time for U.S. citizens who are neither working at home, nor walking or biking to work, is 25.9 minutes. My commute time from Karlsruhe to SAP is usually about 38 minutes one-way; often protracted by traffic jams. However, these can be avoided by departing at times where rush-hour traffic has not fully built up yet. But which departure time works best? Is it 07:00 or rather 09:00? When departing at 07:40 how much time could one save by departing just ten minutes earlier? In addition to the traffic conditions on the outbound trip, the delay on the way back has to be taken into account likewise. With about 9 hours and 20 minutes spent at work, the traffic at 16:20 matters for a departure at 07:00. For a 09:00 departure it would be 18:20.
Continue reading Commute Time Tracking

Port Manipulation and Arduino’s digitalWrite Performance

The widely used Arduino IDE offers many easy-to-use functions, one of them is  void digitalWrite(uint8_t pin, uint8_t val) . It sets one of the microcontroller’s pins to either high or low and serves well in many cases. However, it has a really poor performance, i.e. execution time. This post analyses both, speed and interior of the digitalWrite function, and proposes alternative, high performance solutions for setting output pins.
Continue reading Port Manipulation and Arduino’s digitalWrite Performance

Arduino 433 MHz Wireless Module

433 MHz Wireless Module
The 433 MHz wireless module. Transmitter: top-left. Receiver: bottom-right.

This post provides a quick reference for the 433 MHz wireless module, which is widely used in combination with the Arduino. The VirtualWire library is one possible way of utilizing the module. Continue reading Arduino 433 MHz Wireless Module

Typing Speed, Point Set Creator, and Poker Hands

This post summarises what I’ve been coding during the last week. That’s two new web tools for my Online-Tools webpage called Typing Speed and Point Set Creator, and in addition to that a mobile-first Poker Hands website. Continue reading Typing Speed, Point Set Creator, and Poker Hands

Smart Home Security Camera

This post explains the technical background of the security camera system, shown in the following movie. The post will answer the questions: How to detect a thief, how to take a photo, how to get notifications on your phone, and whether the system would work in reality.
Continue reading Smart Home Security Camera