{"@attributes":{"version":"2.0"},"channel":{"title":"Notes on programming","link":"https:\/\/romantomjak.com\/","description":"Recent content on Notes on programming","generator":"Hugo -- gohugo.io","language":"en-gb","copyright":"Copyright (c) 2018, Roman Tomjak; all rights reserved.","lastBuildDate":"Tue, 13 Jul 2021 21:05:33 +0100","item":[{"title":"Managing Docker Compose Secrets","link":"https:\/\/romantomjak.com\/posts\/managing-docker-compose-secrets.html","pubDate":"Tue, 13 Jul 2021 21:05:33 +0100","guid":"https:\/\/romantomjak.com\/posts\/managing-docker-compose-secrets.html","description":"Securely managing secrets is hard. Combine that with multiple container environments and you got yourself a real challenge. In this post I aim to describe how I solved secret management for my personal projects."},{"title":"Testing Python code that makes HTTP requests","link":"https:\/\/romantomjak.com\/posts\/testing-python-code-that-makes-http-requests.html","pubDate":"Sun, 28 Jun 2020 21:02:10 +0100","guid":"https:\/\/romantomjak.com\/posts\/testing-python-code-that-makes-http-requests.html","description":"Dependency is the key problem in software development at all scales. I&rsquo;m showing how to use Dependency Inversion Principle to write code that is easy to test even if it is making HTTP requests."},{"title":"Go HTTP Middleware","link":"https:\/\/romantomjak.com\/posts\/go-http-middleware.html","pubDate":"Sun, 11 Aug 2019 19:06:57 +0100","guid":"https:\/\/romantomjak.com\/posts\/go-http-middleware.html","description":"How I replaced NGINX with Go&rsquo;s HTTP server for static file serving and then equipped it with access log middleware that writes details about incoming requests to the log."},{"title":"Privacy Policy","link":"https:\/\/romantomjak.com\/appstore\/countdowns-privacy.html","pubDate":"Sun, 14 Apr 2019 22:11:49 +0100","guid":"https:\/\/romantomjak.com\/appstore\/countdowns-privacy.html","description":"Roman Tomjak built the Countdowns app as a Free app. This SERVICE is provided by Roman Tomjak at no cost and is intended for use as is.\nThis page is used to inform visitors regarding my policies with the collection, use, and disclosure of Personal Information if anyone decided to use my Service.\nIf you choose to use my Service, then you agree to the collection and use of information in relation to this policy."},{"title":"Hetzner DIY Private Networking with tinc","link":"https:\/\/romantomjak.com\/posts\/hetzner-private-networking.html","pubDate":"Tue, 09 Oct 2018 22:06:52 +0100","guid":"https:\/\/romantomjak.com\/posts\/hetzner-private-networking.html","description":"Hetzner is lacking Private Networking feature. Tinc is a VPN daemon that offers full mesh routing. Roman is a guy that has recompiled Kernel over a dozen times because he forgot to enable a feature. Ingredients for great success!"},{"title":"TDD with Go","link":"https:\/\/romantomjak.com\/posts\/tdd-with-go.html","pubDate":"Sun, 02 Sep 2018 15:20:03 +0100","guid":"https:\/\/romantomjak.com\/posts\/tdd-with-go.html","description":"Short introduction to TDD with Go. Why I like TDD, what are the benefits of practising TDD and, of course, a small CLI tool that will convert words into military call letters using the Military phonetic spelling alphabet!"}]}}