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.


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.


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.


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] = ''. However, when storing networks (such as 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.


Udemy family sharing

Udemy is having one of their sales and a lot of the courses seemed interesting for my kids, my wife or myself. We always use our separate accounts and keep them to ourselves. For everything. However, since I couldn't find any information on family-sharing (as you can with, say, Steam for example) I purchased some courses on my account and decided to share my account with my family (thanks LastPass for making that easy!).