Blog

Configure Nextcloud Behind a Cloudflare Tunnel Janne Kemppainen |

When you set up a private Nextcloud installation on your home server and want to have it accessible from the outside network you traditionally need to poke a hole in your NAT and set up dynamic DNS to be able to find the correct IP every time. With Cloudflare Tunnel you can connect to your server without ever exposing your IP address to the world.

Run GitHub Actions on Issue Comments Janne Kemppainen |

GItHub Actions lets you do all sorts of fun things with your CI pipelines. Issue comments are one of the many events that can trigger an action run, and they can be used to create some useful interactions.

Use Make on Windows Janne Kemppainen |

Make is an incredibly powerful tool for managing application compilation, testing and installation, or even setting up the development environment. It comes standard on Linux and macOS, and it is therefore widely adopted. But how can you get started with Make on Windows?

Stop Ctrl+Shift from Switching Keyboard Layout in Windows 10 Janne Kemppainen |

Since I’m using two languages and two different keyboard layouts on Windows I’ve been experiencing weird issues with unexpected layout switches. Turns out that Windows has a handy little shortcut Ctrl + Shift that toggles between keyboard layouts. This is incredibly easy to do accidentally when you’re switching between tabs on a web browser. Luckily this feature can be disabled!

Use StatsD to Measure Your Python App Metrics Janne Kemppainen |

If you’re a fan of DevOps, then you should also be enthusiastic about collecting telemetry from your production applications. StatsD is one solution that you could use to collect metrics in Python.

Python File Operations Janne Kemppainen |

Knowing how to handle files in your programming language of choice is an essential skill for any developer. After reading this post you should be comfortable doing file operations in Python.

Add an RSS Feed to Your Hugo Blog Janne Kemppainen |

RSS might not be as fashionable as it was many years ago, but it’s still a great way to easily stay up to date with your favorite sites. If you have a Hugo site, you probably already have a working RSS feed. You just might not know about it!

Use Pre-commit in Any Repository Without Installing Janne Kemppainen |

Pre-commit is a great tool written in Python that can be used to manage and maintain pre-commit hooks in Git projects. The traditional way to set it up is to install it globally or locally to the project Python virtual environment with pip. Here I’m going to share how to use pre-commit without installing it at all.

Markdown Kanban with Obsidian Janne Kemppainen |

I like to organize my blog around Obsidian which is a Markdown-based note taking application with emphasis on internal linking and note discovery. I want to manage my blog posts as tasks, so I’ve implemented a custom Kanban-like workflow with Obsidian. In this post I will share my setup, and the alternatives that I’ve looked at.

AWS Security Groups Explained Janne Kemppainen |

When you create an EC2 instance it can be added to up to five security groups. But what are they actually and how do they work?

Analytics Addiction is a Thing Janne Kemppainen |

So you started a blog, wrote a few articles, configured Google Analytics, and now find yourself constantly checking if anyone is visiting your site? I know how you feel, I’ve felt the urge to check my stats basically every day since my blog went online. In this post I’m going to share how I changed my mindset to overcome this huge time sink.

Comparing Markdown-based Note Taking Software Janne Kemppainen |

Services like Roam Research or Notion have made note taking really trendy recently. The problem with hosted services is that you don’t own the platform and the content there, so what do you do if they go out of service or increase their prices?