A Writing Trainer written in TypeScript and React

25.02.2022 - 28m read - typescript javascript react writing

In this tutorial, we will create a basic Express backend and React frontend for a writing trainer using TypeScript.

Privacy Focused Services I use

26.11.2021 - 9m read - privacy

In this post, I'll talk about some of the privacy-focused services I use, why I use them, what I used before and some of the reasons for switching to them.

TryHackMe VulnNet: Node CTF Writeup

10.04.2021 - 4m read - ctf infosec writeup thm tryhackme

Another CTF write up for a very nice, beginner level CTF on TryHackMe

TryHackMe LazyAdmin CTF Writeup

03.02.2021 - 5m read - ctf infosec writeup thm tryhackme

This is my first CTF write-up and it's about the TryHackMe LazyAdmin CTF

Basic Reactor and Executor for non-blocking IO in Rust

23.11.2020 - 46m read - rust nonblocking async futures

In this second part of our journey to try and understand how async I/O works in Rust, we'll build a simple reactor/executor model.

Basic non-blocking IO using epoll in Rust

20.10.2020 - 36m read - rust epoll linux async nonblocking

This is the first blog post in a small series, where we will explore the basics of non-blocking IO in Rust. We'll start by building a minimal HTTP server using epoll

Creating Excel files in Rust

24.09.2020 - 22m read - rust excel

Sometimes you need to generate Excel files. You never WANT to, but sometimes you have to. In this post we'll look at how you can do it with Rust. :)

Using /e/-OS on Android without Google

27.08.2020 - 5m read - android privacy data e efoundation

Data privacy is a basic human right and the current smartphone OS duopoly provides no option for customers to be safe from being exploited. In this post I'll show you a much needed alternative.

Basic Role-Based HTTP Authorization in Rust with Casbin

27.07.2020 - 27m read - rust casbin authorization security warp

In this post we'll look at how to do web authorization using the casbin-rs library within a Rust warp-rs web service.

Using RabbitMQ in Rust

16.06.2020 - 14m read - rust rabbitmq queue

In this post we will look at how to use RabbitMQ inside of a Rust Web Service

Database Migrations with a Rust Web Service

22.05.2020 - 7m read - rust database migration refinery warp

In this post we'll look at the refinery library and at how it can help us create automatic database migrations in a Rust Web Service

Using Ubuntu on a Macbook Pro 2016

22.04.2020 - 6m read - ubuntu linux macbook

I haven't been happy with my Macbook and OS X for a while, so I decided to switch to Linux - this post shows how to run Ubuntu on a Macbook.

JIRA OAuth 1.0a using Rust

21.03.2020 - 25m read - rust oauth jira rsa sha1

In this post we'll look at how a very basic OAuth 1.0a implementation can look like in Rust.

Rust HTTP Testing with Mockito

03.02.2020 - 17m read - Rust http testing mockito

In this post we'll be taking a look at the mockito rust library for mocking HTTP requests in order to write integration tests for a web-service

Synchronized Asynchronous Job Runner in Rust

18.01.2020 - 19m read - Rust Async job runner web

In this post we'll implement a basic asynchronous job runner, which synchronizes job runs among several instances using Redis.

Minimal Nginx Access Log Analysis

10.01.2020 - 3m read - nginx logs linux goaccess

This post shows my minimal setup for analyzing the logs of this Blog using GoAccess and some unix commands.

No Ads, No Tracking, One Roundtrip

20.12.2019 - 6m read - ads performance tracking blog

In this post we'll look at the rationale behind making this blog as fast and lightweight as it is and why there are no trackers and/or ads present and why they never will be.

Async-Awaitifying a Rust CLI App

23.11.2019 - 33m read - Rust Async Futures

In a previous post I showed an example CLI application in rust dealing with HTTP and Git. This post will show how to use the new async/await syntax to improve it.

Using Teaching for Deepening Your Own Knowledge

03.10.2019 - 5m read - learning knowledge teaching

This post is my take on how I have used teaching as a tool for improving and deepening my own knowledge on several topics.

A CLI Gitlab MR-Creator in Rust using Hyper and Git2

03.09.2019 - 44m read - Rust Gitlab hyper git2 git

This post showcases a small CLI tool written in Rust using both synchronous and asynchronous execution flow.

The Tale of the Missing Read Handler in Go

06.08.2019 - 5m read - Go WebSockets Gorilla Bug

This is the story of a bug hunt featuring Gorilla WebSockets, Go and a confused programmer (me) :)

Asyncifying an Actix Web App and Upgrading it to 1.0

20.06.2019 - 20m read - Rust Actix Futures Async

In a previous post, we created an Actix 0.7 Web App, which was not fully non-blocking. In this post, we'll become fully non-blocking and upgrade the app to Actix 1.0

RabbitMQ Cluster Configuration for Kubernetes

22.05.2019 - 13m read - rabbitmq kubernetes cluster

This is an example configuration of a RabbitMQ cluster running in Kubernetes

Examples for Prometheus Alerts

21.04.2019 - 6m read - prometheus ops alerts

These are some of the prometheus alerts which have been useful in my (limited) experience.

A Basic Web Application with Rust and Actix-web

07.04.2019 - 23m read - rust actix web timeular

As a first little project in Rust I thought I'd do something familiar, so I created a small web application, which we'll check out in this post.

Syntax-Highlighting from a Markdown source in Go using Chroma

23.09.2018 - 8m read - golang go syntax-highlighting markdown chroma

This post shows how to create syntax-highlighted HTML from a markdown source using the chroma Go library.

Scrolling Endpoint with Kotlin and Spring Boot

16.09.2018 - 12m read - kotlin spring-boot web scrolling

In order to fetch huge amounts of data in a sane way, it often makes sense to scroll through the data instead of requesting it all at once. In this post, we will create a simple implementation of such a mechanism using Kotlin and Spring Boot 2.

Log Deletion on ELK stack using Go

15.09.2018 - 13m read - Go Golang ELK

This post will show a simple Go program for deleting old logs on the ELK stack.

Elasticsearch to Prometheus Exporter in Go

05.07.2018 - 14m read - Go Golang elasticsearch prometheus ops

This post describes how to create a server in Go, which provides data from Elasticsearch for Prometheus to consume.

WebSockets with Kotlin and Webflux

17.03.2018 - 8m read - kotlin websockets boot reactive webflux spring

This post shows a small example of a Kotlin Webflux application handling WebSockets communication.

Creating a Basic GraphQL API with Go

04.03.2018 - 13m read - Golang Go graphql

GraphQL is a powerful concept and this post will show how to translate an existing REST API to GraphQL using Go

Playing around with Kotlin and Spring Webflux

03.03.2018 - 11m read - kotlin boot reactive webflux spring

This post shows a small example of reactive web-programming in kotlin using the great new Spring Webflux framework.

Creating an iCal feed with Go

17.02.2018 - 11m read - golang go ical ics

In this short example we'll create a cached iCal feed with Go for a fake REST API

Basic Role-Based HTTP Authorization in Go with Casbin

05.01.2018 - 16m read - golang go auth http casbin

Casbin is an authorization library for Go, which supports several access control models. In this post we will take a look at a simple HTTP example featuring basic role-based authorization.

HTTP File Upload and Download with Go

10.12.2017 - 8m read - Go Golang file http upload download

One of Go's big upsides, for me, is its simplicity. This post shows another example of this, implementing a basic HTTP File Up- and Download using just the standard library.

Basic AST Manipulation in Go

10.11.2017 - 6m read - Go Golang ast

Traversing an AST (Abstract Syntax Tree) is useful for analysing and understanding a code-base, but the real power comes when we are able to manipulate it, which allows us to build tools. This post shows a simple example of how to manipulate the AST in Go.

Ethereum Prepaid Transactions with Go

If ethereum or any other smart-contract platform is ever going to reach mainstream, a mechanism for people without holding cryptocurrency is needed. While there are efforts to achieve this in the future on ethereum, this post shows a workaround using a Go webserver.

Interactions between Smart Contracts with Solidity

08.09.2017 - 8m read - blockchain ethereum smartcontracts solidity

The ability for Smart Contracts to call other contracts can be quite useful for several use-cases, which will be described in this post.

The Benefits of Uninterrupted, Focused Work

21.08.2017 - 6m read - focus work process pomodoro health exercise

Since my transition to being self-employed, I have been working from home. This post outlines some of the learnings I made over the last months in terms of increasing my productivity in a sustainable, healthy way.

Ethereum Light-Client with React Native

04.08.2017 - 16m read - blockchain ethereum reactnative lightclient

Light-Clients are a concept widely regarded as important in the Blockchain community due to their fully decentralized nature. In this post, we'll look at an example of how to integrate the go-ethereum light-client with a React Native app

Interacting with Ethereum Smart Contracts using Go

23.07.2017 - 9m read - Go Golang ethereum blockchain smartcontracts

Smart Contracts and Blockchain remain a hot topic. This post will show how to interact with Ethereum Smart Contracts using Go.

Basic AST Traversal in Go

14.07.2017 - 8m read - Go Golang ast

Looking at and interacting with the AST (Abstract Syntax Tree) of a program can be both interesting and useful for automation. In this post, we'll look at an example of how to parse a Go program to an AST and how to analyse it.

Using Docker Multi-Stage Builds for SPAs

19.06.2017 - 4m read - docker build multi-stage react spa

Docker has a great new feature in 17.05 called Multi-Stage builds. This post shows a practical example for it using complex Single Page Applications

Writing a Static Blog Generator in Go

17.06.2017 - 22m read - golang go blog static static-site-generator

Last November I decided to start writing this Blog. In order to create it, I wrote a static blog generator in Go, which is described in this post.

Syntax-Highlighting from a Markdown source using Go

09.06.2017 - 8m read - golang go syntax-highlighting markdown

This post shows one way to create syntax-highlighted HTML from a markdown source. Using only Go.

BoltDB with Storm

17.05.2017 - 8m read - golang go boltdb bolt storm

BoltDB is a simple and fast key/value store written in pure Go. Storm is a toolkit for BoltDB, which helps us tackle more complex use-cases.

Review of Craft Conf 2017

30.04.2017 - 4m read - conference craftconf craft review

Craft Conf has been one of the best tech conferences I've been to and continues to deliver.

Playing Around with BoltDB

20.04.2017 - 11m read - golang go boltdb bolt

Looking for a simple key/value store for your Go applications? Look no further!

Zero Dependencies Web-App in Java

03.04.2017 - 11m read - java dependencies webapplication lean

In many modern programming languages, you can create web-apps using only the standard library. How well did Java age in this regard?

Port Forwarding with Go

19.03.2017 - 6m read - Go Golang network forwarding tunnelling

In this post, I take a look at how simple it is to do port forwarding with Go's great standard library.

Implementing S3 Delta-Upload for static-aws-deploy

01.03.2017 - 9m read - Golang Go S3 deltaupload AWS tool

In this post I describe my implementation of delta-uploading for AWS S3 within the static-aws-deploy tool using Go

Simplistic Mocking in Go

18.02.2017 - 9m read - go golang testing mock

After having written many tests with several bloated mocking frameworks in different languages, this is an attempt at a very simplistic utility for mocking in Go

Getting Started with Smart Contracts using Solidity

Smart Contracts and Blockchain Technology are quite intriguing topics. This post shows an example for a Winner Takes All Crowdfunding contract implemented with Solidity.

Basic Logistic Regression with Go

Machine Learning is rapidly becoming more and more relevant both within the field of Software Development as well as Society as a whole. This post aims to show how very basic Machine Learning techniques can look in Go

API documentation with hapi.js and swagger-ui

12.01.2017 - 15m read - nodejs javascript hapi documentation swagger-ui

Documentation is important. Everyone knows it. Yet, writing even the most basic documentation often gets pushed back in a project's life cycle in order to 'iterate quickly'. I believe that some kinds of documentation, like API docs, actually tremendously speed up the iteration cycle, especially in a distributed microservice world where multiple people and teams need to work together.

Deploying a Static Website to AWS with Go

02.01.2017 - 7m read - Golang Go deployment AWS tool

This post describes the process of building a small single-purpose tool in Go for deploying static websites to AWS S3 and Cloudfront.

Some Practical Advice for User Group Organizers

User Groups or Meetups are a great way to stay in touch with the local tech scene. Organizing such a meetup can also be a very rewarding experience, especially if done right and with a vibrant community to back you up.

Examples For Using io.Pipe in Go

15.12.2016 - 8m read - Go Golang io interface Pipe

The io.Reader and io.Writer interfaces in Go are immensely powerful, yet simple. This post explores how we can use another simple concept to create powerful effects: io.Pipe

Learning Web Security Basics with WebGoat

10.12.2016 - 6m read - WebGoat WebSecurity OWASP Tutorial

One of the best ways to learn how to defend your web application from malicious attacks is to learn how these attacks actually work and how they are executed. In short - to learn how to hack. Meet WebGoat, a project which can help you achieve exactly that.