Welcome to my technical blog!
Here, you’ll find useful insights and knowledge to help you stay ahead in the industry.
Thanks for stopping by, and I hope you enjoy what you read.
Find about me more ⬇️
[Docker] `docker exec` API Responses returns Garbage Characters
When using the Docker Engine API to execute commands inside a container, some users report seeing garbage characters or random symbols appearing in the API response. These characters do not appear when the same command is executed interactively in the terminal, and they often show up inconsistently. This behavior can be confusing, but it’s actually expected under certain conditions. 1. The Issue A developer may use the Docker Exec API to run commands in containers, such as: ...
[n8n] How to Save Text into a Downloadable File
Managing workflows in n8n often involves handling large chunks of text or generated content, which might exceed the limits of platforms like Slack or Discord. An effective solution is to convert this text into a file, upload it to an S3 storage bucket, and share the access URL. This guide walks you through creating a downloadable file from text using n8n and setting it up for automatic handling. 1. Save the Text into a File Start by utilizing the Code function node. Suppose your previous node outputs the following JSON: ...
[Golang] Exploring the Observer Design Pattern with Code Example
Introduction Today, we will dive into understanding the Observer Design Pattern with a Golang code example. This pattern is a cornerstone of software design, promoting flexibility and reuse in code by managing dependencies effectively. What Is the Observer Pattern? The Observer pattern defines a one-to-many dependency between objects, ensuring that when one object (the Subject) changes its state, all its dependents (Observers) are automatically notified. This pattern is pivotal in creating an efficient and decoupled architecture. ...
[Cryptography] Understanding Public Key, Private Key, and Certificate with a Real-Life Analogy
Sometimes when developers hear about public keys, private keys, and certificates, their brain goes foggy. Let’s clean that up simply. By following this post, you will understand these concepts clearly with a real-life analogy that makes them easy to remember. 1. Public Key and Private Key A key pair consists of two mathematically linked keys: where one key locks, only the other can unlock. A message encrypted with a public key can be decrypted only with the private key. A message “signed” (not really encrypted, but mathematically processed) with a private key can be verified with the public key. 1.1 Public Key → The Mailbox Imagine a mailbox in front of a house. ...
[n8n] A Reliable Alternative for the Broken IMAP Node in n8n
When the default IMAP node in n8n stopped working, I found a community-contributed solution that you can rely on. Whether you’re setting up workflows in n8n or managing existing ones, this guide will show you how to seamlessly integrate with IMAP despite the hiccups in recent n8n versions. Understanding the Problem The IMAP node in n8n has become troublesome in versions beyond 1.80.3. When a friend encountered this issue on version 1.104.2, we confirmed the problem persists even with the latest version, 1.112.6. ...
How to Forward the Real Client IP Through Traefik in Docker Swarm
Introduction In some applications, getting the real client IP address is critical. For example, web APIs, analytics systems, or rate-limiting middleware rely on it for logging, geo-location, or security. Normally, this is not a challenge. The backend can read the IP directly from X-Forwarded-For or the socket connection. However, when the application is deployed behind a Traefik proxy and running as a Docker Swarm service, things become complicated. The Issue Understanding the Request Path When an application is deployed behind Traefik in Swarm, one might assume the network request path is straightforward: ...
[GithubAction] 'npm error Exit handler never called!' in GitHub Actions
Introduction Have you encountered the “npm error Exit handler never called!” in your GitHub Action? It’s a frustrating issue that can halt your workflow execution unexpectedly. This post delves into understanding why this error occurs and how to effectively resolve it. error: ---> Running in 44d17f6484e3 npm error Exit handler never called! npm error This is an error with npm itself. Please report this error at: npm error <https://github.com/npm/cli/issues> npm error A complete log of this run can be found in: /root/.npm/_logs/2025-10-18T04_48_30_916Z-debug-0.log The command '/bin/sh -c npm ci' returned a non-zero code: 1 ...
Understanding Docker Credential Resolution: A Deep Dive for Developers
If you build your own container manage system when integrating docker client library, you may also encounter issues with credential resolution. If you system maintain the registry credential, it is easy to assume that authentication will “just work” once credentials are configured in your platform. But behind the scenes, Docker follows a specific and sometimes confusing logic for how it locates and uses credentials. This post explains that behavior in depth and highlights one of the most common causes of authentication issues developers face when using the Docker client as part of a backend or automation workflow. ...
[NextCloud] Don't Panic: Updating NextCloud with the Command-Line Updater
Understanding the Error and Why It Occurs The message Please use the command-line updater because updating via browser is disabled in your config.php means NextCloud’s configuration file (config.php) is set to restrict browser-based updates. This is a security measure designed to prevent unauthorized or potentially malicious updates. Docker setups often implement this for added security. Step-by-Step Instructions 1. Access Your Docker Container First, you need to access your NextCloud Docker container’s shell. Let’s assume your NextCloud container is named nextcloud. Replace nextcloud with the actual name of your container. ...
[n8n/MinIO] Troubleshooting the 'Cannot Read Properties of Undefined' Error
Integrating n8n with MinIO can streamline your data management processes by automating file uploads directly to your MinIO storage. However, sometimes this integration might run into a common error: Cannot read properties of undefined (reading '_') In this post, we’ll walk through how to troubleshoot and fix this issue effectively. Understanding n8n and MinIO n8n is an open-source workflow automation tool that connects with multiple services, while MinIO serves as a robust, high-performance object storage system compatible with the S3 API. When combined, they facilitate automated data workflows. ...