Rob Janssen

All | English | Nederlands

The DIYMore 18650 Battery Shield V3 su... isn't very good.

Earlier this week I was working on a project where I wanted to power some electronics with an 18650 cell. Because I needed 5V and 3.3V and an 18650 doesn't provide either I dove into my grab stock and came out with one of the "DIYMORE" battery shields I had in stock, ordered on the cheap from AliExpress when I stumbled upon them one day. So I put an 18650 in, soldered the electronics to the 3.3V and 5V rails, checked if everything worked and went on my merry way. Read more »

Using Data Protection in Entity Framework Core with Value Converters (v1.1)

This post is intended as an addendum on Mgr. Jiří Činčura's excellent post Using Data Protection in Entity Framework Core with Value Converters ( archive 1 , archive 2 ) . In it, he explains how you can use an Entity Framework Core ValueConverter to encrypt data before it being stored in the database and decrypt it when reading from the database. Read more »

Install Microsoft SQL Server on Debian

Short howto on how to best install MSSQL on Debian (bullseye). Based on Microsoft's documentation for Ubuntu . Read more »

Toshiba Airconditioner WiFi troubles

This week I had three airconditioners installed - 2 Toshiba Kazumi's ( RAS-B07J2KVSG ( archived )) with optional WiFi module ( archived ) and a Haori ( RAS-N4KVRG-E ( archived )) which has the WiFi module built-in. Unfortunately I was on vacation during installation so the installers couldn't setup the AC's with my WiFi. Being reasonably capable of figuring this out myself I told them not to bother and I'd do it myself. I was aware of the (only) requirement of the WiFi modules for the AC's: they require a 2.4Ghz WiFi connection. Read more »

Storing IP's and networks in SQL Server efficiently

When you Google on how to store IP addresses efficiently in SQL server few approaches keep coming up. Most of these approaches most notably tend to 'forget' about IPv6 and work exclusively for IPv4 IP addresses. Other approaches use a (var)char to store IP addresses and this works fine, as long as your (var)char allows up to 39 characters if you want to be able to handle IPv6 IP addresses. It'll also work fine whenever all you need to do is store an IP address or maybe even search for a specific IP address, such as in logging scenarios, where you can write SELECT * FROM MYTABLE WHERE [ip] = '192.168.0.1' . However, when storing networks (such as 192.168.0.0/24 in CIDR notation) things get a bit harder. If you want to find all networks that 'contain' a given network you're in for some trouble. Another solution is to store IP's as (var)binary. Again, most solutions I found only worked with IPv4 but it's perfectly possible to store both IPv4 and IPv6 IP's in a single (var)binary field. Read more »