July 27, 2024

N26 export CSV missing records fix

N26 is one of the awesome free banking options in Europe. Have been using it for years and sometimes had that my books didn’t line up. Never thought much of it. Now I found out that if you export a CSV per quarter, it might not include records of the last day of your selected timespan. It took me years to find out the CSV function left out records. To work around this error, just select with a few days margin and then manually remove the rows not belonging in the quarter. Read more

May 13, 2024

Generate Fernet key using Terraform

Fernet keys can be generated using Python or OpenSSL, but what if you want to manage the key as part of your infra in Terraform/OpenTofu? resource "random_password" "fernet" { length = 32 } resource "azurerm_key_vault_secret" "fernet" { value = base64encode(random_password.fernet.result) name = "fernet-key" key_vault_id = azurerm_key_vault.key_vault.id }

May 12, 2023

Disable Pocket Mode on OnePlus Oxygen OS

OnePlus uses OxygenOS, which has an annoying feature called Pocket Mode. This feature could be disabled in old versions of the OS, but in OxygenOS 12 and 13 it’s not there anymore. Random activation of Pocket Mode Pocket Mode gets enabled by random when the phone is exposed to sunlight, to me this happened while doing video calls outside or when using the phone for navigation in a mount on my (motor)cycle. Read more

November 2, 2022

Terraform import when switching provider

For historical reasons, we inherited a terraform setup and state file with some custom provider. This made the code very unintuitive, since there were two providers doing the same thing mixed together. Approach Backup original statefile Change code to new provider (this is manual and tedious) Get list of items of statefile # this requires the state to be in a clean folder, so it's not affected by the tf code terraform state list|grep -v ^data|sort > resources-tfstate. Read more

October 28, 2022

Digital nomads should ignore timezones

Timezones are an approximation of the time in a place, which can be off by more than two hours. Remote workers and digital nomads work for companies outside of the city they stay in, thus not the prescribed local time is relevant, but actual local time. Solar noon Instead of focusing on timezones, let’s see when the sun is on it’s middle point during the day. Use this solar noon (ideally at 12:00) to compare time differences (or use the timezone of the place you work for and locally the actual time). Read more

October 21, 2022

Dynamic configuration block in Terraform

Terraform allows conditional statements like if else for variables, but not for configuration blocks. After searching for a long time, I came up with a way and decided to share it. resource "confluent_kafka_cluster" "cluster" { ... # For DEV and ACCept we want basic dynamic "basic" { for_each = var.env != "prd" ? ["not_empty_array"] : [] content {} } # but for PRD we want standard dynamic "standard" { for_each = var. Read more

September 12, 2022

Industrial door lock home

There are lots of electronics for smart homes on the markt nowadays. But I did not want to hand out the keys to my home and private network to a third party. I’ve done that before, using a Sonoff device, which resulted in me not being able to turn my heater on or off when their server was down. Why consumer smart home product are bad Configuration is manual, no IaC Usually Wifi, which makes password rotation manual, thus hard External third party has an entry onto your network Often only works when connected to internet, not just local Wifi network IT/Network security? Read more

August 19, 2022

Becoming a freelance developer (based in the Netherlands)

First let’s clarify, this guide is NOT meant for junior/starting/trainee developers. The intented reader is an IT professional wanting to transition into being a freelancer. Which will provide more freedom (to move abroad) and ability to buy tax deductable (e.g. development toys/gear). 01 Registering company Company name & domain name Decide if you want eenmanszaak or your financial records public List of activities, denoted in SBI codes KVK Read more

August 19, 2022

Certified coder

Previously I’ve written something generic about getting into a new profession. In this post we’ll look at certifications for becoming a software developer. Just know the minimal During my career I’ve come across recently graduates from other fields that managed to be hired as a developer who (in my opinion) had very few skills. For example a guy that only knew how to write Python in Jupiter notebook and didn’t know how store it as a file/script and make it executable. Read more

June 8, 2022

Combining remote working and office presence

Hybrid working is not perfect, everyone in the office works great and everyone at home works great, but mixed into one meeting is not ideal. One day per week in the office SITUATION; One is required to be in the office every Thursday. Potential compromise The following shows a pattern where one is physically absent for 2 Thursdays per month, denoted as #. Cycle of 28 days: w | t t | f mo. Read more

Blog by lent.ink