April 5, 2023

WDSL to XSD to avsc

In this post we derive the schema from an XSD. The package used also enables you to derive it from XML. WDSL Get XSD from WDSL; grep xs: input.wdsl > input.xml One schema Check if there are more than one schema definitions; grep '<xs:schema' input.xml if there are more than one schema definitions and all are the same, only keep the first opening tag and last closing tag, all in the middle can go, unifying it into one element. 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 List of activities, denoted in SBI codes KVK SBI-code: 6202 - Advisering en ondersteuning op het gebied van informatietechnologie SBI-code: 6201 - Ontwikkelen, produceren en uitgeven van software SBI-code: 6209 - Overige dienstverlenende activiteiten op het gebied van informatietechnologie SBI-code: 6311 - Gegevensverwerking, webhosting en aanverwante activiteiten SBI-code: 72192 - Technisch speur- en ontwikkelingswerk 02 Setting up company slick resume get a bank account on the name of your company (not on your personal name) since some companies demand this The free business account of Revolut allows registering on company name and comes with a Visa card The free business account of N26 is on personal name and comes with a Maestro card beroeps & bedrijfsaansprakelijkheids verzekering (I have it from Markel via a broker) check other sources as well Not needed Bookkeeping system, don’t waste time on this when starting, this comes after you’ve landed your first gig Invoice template; since this might be done by your broker (e. 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

February 25, 2022

Disable Soundcore Life Q30 transparency touch control

While being a decent headphone, the touch control on the right ear cup cannot be disabled. This ‘feature’ or bug should be able to be disabled via the app since it is activated constantly when wearing it around my neck. Luckily it only takes 2 minutes and a screw driver to disable this bug. The outer cap can be taken off by putting your nails under the edge and pulling it Then we unscrew 4 screws Get the speaker off Poke the cable named touch, making it disconnect/broken Done! Read more

October 9, 2021

Germany disincentivizes expats from vaccination

Last week I was working in Germany and learned from someone that he carried around with him his paper Covid certificate all the time. He worked in Germany, had his Covid pass from the German health institute (Robert Koch) and his phone was in German, but still he was unable to install the German CovPass app. His use case made some people around him even more hesitant to take the vaccine. Read more

Blog by lent.ink