Go's zero values and (de)serialising

As you might’ve noticed from other blog post entries I’m suddenly all into directory services. This happens b/c that’s what I’m currently working on. As such I find myself needing to manipulate data in a DIT quite a bit and writing ldif’s by hand is not my idea of fun. Instead I set out to create a small library that would essentially allow me to parse the result of LDAP search result entries into a Go struct and transform those back into add or modify operations.

»
Author's profile picture Daniele Sluijters on go

Directory Services 101: the basics

This post is part of a series on directory services. Current available installments are:

»
Author's profile picture Daniele Sluijters on tech

Directory Services 101: terminology

This post is part of a series on directory services. Current available installments are:

»
Author's profile picture Daniele Sluijters on tech

Directory Services 101: introduction

In this series of posts I want to talk about directory services. The directory allow you to model things like people, computers, groups and their relationships in a central database. This service can then be used for authenticating users, managing group memberships and a whole lot more.

»
Author's profile picture Daniele Sluijters on tech

Monitoring my WiFi access point with Prometheus

My home WiFi router is an ASUS RT-AC66U. It’s a great device with a tolerable manufacturer provided UI and quite a lot of advanced features. Though it’s marketed as a WiFi router I use it as a WiFi access point and switch, it doesn’t route. I have a Linux box that does that.

»
Author's profile picture Daniele Sluijters on monitoring, golang, and prometheus

GeoIP based filtering with iptables

One of the issues I run into when running a server, at home or anywhere else, is the crazy amount of random attempts at SSH logins. My SSH configuration is strict enough that most of these attempts just die on the key exchange, they never even get past the handshake. Then there’s fail2ban ensuring you get temporarily blocked if you’re obviously trying to brute force anything.

»
Author's profile picture Daniele Sluijters on security, iptables, and geoip

Releasing sixrd

My ISP (Telia) doesn’t do native IPv6 yet (like most ISPs unfortunately). However, they do support something called IPv6 Rapid Deployment, also known as 6rd. What it does is fairly simply, it encodes in the information you get from your ISP during a DHCPv4 chat the information needed to set up a 6to4 tunnel with an endpoint provided by your ISP. Getting native v6 would be the best but this is probably the closest I’m going to get in a while.

»
Author's profile picture Daniele Sluijters on ipv6, 6rd, and network

My home monitoring setup

Over the past few months I’ve started to reassemble a home server. I managed to get a great server board with 2 Xeon E5’s and 128GB of ECC RAM (b/c why not?) and spent Saturday breaking in the hard drives, setting everything up to be nice and encrypted and so on.

»
Author's profile picture Daniele Sluijters on monitoring, prometheus, and docker

Goodbye, Puppet

This has been a hard blog post to write, but to me it feels like it’s been a long time coming.

»
Author's profile picture Daniele Sluijters on foss, community, and puppet

The right tools for the job

Every now and then I find myself in discussions with people around which tools we should use for what job. This comes up especially often in the context of FOSS with regards to communication platforms. Do we use IRC, Slack, Gitter? Also, are mailing lists still a thing? Should we have a Discourse instead?

»
Author's profile picture Daniele Sluijters on foss, community, and opensource