Hello there! 🐧🐧🐧

Welcome to WormholeRelays, this is mrwormhole’s blog about software engineering 🌌
pug-image

Top 8 Underdog Linters for Go

In this post, we will go over the most unknown 8 linters that are not used by the most people. These linters overall look unimportant, however they end up winning the hearts with their humbleness. If this sounds interesting, let’s start. 8 Godox # .golangci.yaml linters-settings: godox: # Report any comments starting with keywords keywords: - TODO - BUG - FIXME - OPTIMIZE - HACK // TODO: what the hell is this // hacky logic here ❯ golangci-lint run ./... main.go:18:2: main.go:18: Line contains TODO/BUG/FIXME/OPTIMIZE/HACK: "TODO: what the hell is this" (godox) // TODO: what the hell is this Godox checks the comments and dunks a linter error if unwanted comment is written with specific keywords. I encountered this linter after an incident that caused a prod deployment blockage due to me deleting TODO and hacky code section that were passing on all tests except prod environment tests. Long story short, there was no way for me to avoid TODO section logic because my task was interferring with already written hacky solution. ...

February 6, 2025 · 8 min · 1507 words · Talha Altinel
laverna-image

A Christmas Gift for Language Learners

In this post, I announce my newest tool for language learners. As long as I am learning a new language, I plan to maintain it under my voluntary github org called Lingua Sensei. What is Laverna? What does it solve? Laverna is a sleek command-line tool that transforms text into spoken audio. All it needs is a config file to read. Whether you’re practicing Thai greetings, perfecting your Japanese pronunciation, or working on English phrases, Laverna can boost your productivity when you want to store individual language audios. ...

December 24, 2024 · 2 min · 240 words · Talha Altinel
brown-gopher-background

Catching Slow Go Tests

The Problem Hello, in this short and sweet post, I will show a handy bash script to catch slow go tests based on their durations and their go cache status, but first we need to define the problem. Our current problem is when I run go test -v ./... we get simply huge output that is overwhelming with subtest outputs as well as t.Parallel pauses/continues. Plus, my inner OCD strikes when some things are always cached and some things are always not cached, I could never guess why and I never have time to look at plain log that has 1 million lines. ...

November 8, 2024 · 4 min · 656 words · Talha Altinel
spiral-staircase

Packaging Go for Arch Linux Tutorial

Getting Started In this tutorial, I will be showing how to package Go application for Arch Linux User Repository (AUR). We will be opening an AUR account and go through PKGBUILD template and follow Arch’s Wiki guidelines for Go. By the end of the tutorial, you will be able to upload your own Arch package that uses Go to AUR. The Requirements Git Go Arch Linux x86_64 AUR account Setting up AUR account and SSH key We will fill up the username and the email in this form, as well as the most important one public ssh key. The rest are optional. ...

September 17, 2023 · 7 min · 1326 words · Talha Altinel
arch-linux-penguin

Arch Installation for Beginners

Getting Started Hello everyone, in this blog I will help you bootstrap your arch linux setup in 5-10 minutes, and teach you where you can look into when you need help. Arch Linux has been one of the most difficult distros to setup until the new convenient archinstall script. I will be using archinstall script in this guide. It is known with its non-exhaustive user friendly TUI installation phase. First of all, ensure you install the ISO from Download Page, Arch is used within the whole world so don’t be scared of picking the closest mirror to yourself. All the mirrors have SSL/TLS enabled, the contents are the same you don’t need to worry about it. Also archlinux-x86_64.iso and archlinux-YYYY.MM.DD-x86_64.iso correspond to the same ISO, there is no difference. ...

September 14, 2023 · 8 min · 1497 words · Talha Altinel