Recently, I started learning Beej’s Guide to Network Concepts but found that the examples were written in Python. However, I’m an engineer who loves Go. So, why not adapt it to Go? In this article, I adapt the chapter “5 Project: HTTP Client and Server” to the Go language. This will be useful for anyone learning network concepts who wants to practice in Go.
[Read More]Upgrading Golangci-lint to v2
Golangci-lint v2 was released in March 2025 , bringing major architectural improvements and a cleaner configuration format. Despite being available for over seven months, adoption remains low.
If you are maintaining a Go project, now is the time to upgrade. This article covers why you should make the switch and provides a step-by-step walkthrough using a real-world project.
[Read More]How to fix unreadable images in GitHub dark theme
I use GitHub’s dark theme daily. Sometimes I see README images that are unreadable on the dark theme even though they look fine on the light theme. For example, the etcd repo logo:
In this article, I show how to fix this visibility issue using GitHub’s Markdown syntax.
[Read More]Found a group of malicious Go projects injected with trojan
I accidentally discovered malicious programs in the Go ecosystem that impersonate legitimate tools such as the linter ldez/usetesting , the HCL editor go.mercari.io/hcledit , the official MailerSend Go SDK mailersend/mailersend-go , and many more. These programs are not very popular but are still used by some developers. By the time I wrote this article, I had reported the malicious repositories to GitHub support, and most of them have been deleted.
[Read More]How to contribute to the Go language
In this post, I show that contributing to Go repositories is as simple as contributing to any other open-source repo. This is a step-by-step guide to contributing to Go repositories. As an example, I use the main Go repository go.googlesource.com/go .
[Read More]Fix: no Go 1.15 binary for darwin/arm64 on Apple M1
If you use an Apple Silicon (M1) Mac, you will hit an issue when downloading Go 1.15 or earlier via the
dl
tool.
Here is the solution:
$ GOARCH=amd64; go run golang.org/dl/go1.15@latest download
$ go install golang.org/dl/go1.15@latest
$ go1.15 version
go version go1.15 darwin/amd64
Streamlining email management in Git using IncludeIf
I work simultaneously on different companies’ projects, open-source projects, and personal projects. I should therefore use the same username but distinct email addresses for each of them. Although we can set git config user.email <email@example.com> for each project repository, this can be a tedious manual task and perhaps unsuitable.
The Git config manual describes the use of configuration files to better manage such a task through “Conditional includes” .
[Read More]Importing commit history from GitLab to GitHub
In this blog post, I will answer the question of how to enrich GitHub statistics to improve your job prospects by enriching your GitHub contribution graph.
[Read More]How to set up a free domain from NIC.UA on AWS Amplify
NIC.UA is a Ukrainian domain registrar that provides “.pp.ua” for free . This domain is often used by individuals or small organizations looking for a web presence but who don’t want to pay for a custom domain name.

How to export Facebook Notes to Medium with the original publication date
Recently I was getting to know Facebook discontinued its Notes feature for Individuals and Pages. I have a few Facebook notes and need to move them to another live blog platform, e.g. Medium. But there is no way to import from Facebook with the help of Medium’s import functionality . The only possible solution is to manually create a story, copy a note’s content, and set a date to the original publication date.
The trickier step is keeping the original publication date. Below is how I propose to do this.
[Read More]





