Developer Tools
Essential tooling and environments for productive software development workflows.
From Makefiles to Bun:
Modern Task Automation Tools
Every developer reaches a point where manual tasks beg for automation—whether it’s generating article templates or handling repetitive workflows. While classics like Makefiles and shell scripts still work, their limitations become apparent across different systems. My journey through tools like Taskfile and Go revealed trade-offs between power and simplicity. Now, I’ve settled on an approach that balances both: Bun’s TypeScript integration with native shell capabilities. Here’s why it might be your next automation ally.
Do You Really Need a Laptop?
Rethinking Modern Computing
In today’s fast-paced digital world, smartphones and tablets have become our go-to devices for almost everything. They’ve made traditional laptops and PCs seem redundant for many tasks. But why do so many of us still cling to these bulkier, often overpriced machines? In this article, I dive into the evolving landscape of personal computing, questioning whether high-end laptops and desktops are still worth the investment. With most applications now web-based, and affordable devices like Chromebooks offering seamless internet access, it’s time to rethink what we truly need. Join me as I explore how simplifying our tech choices can save money, reduce waste, and still keep us connected.
Why I Choose Windows for Software Development
While many developers favor macOS or Linux, I’ve chosen Windows as my primary development platform. With a few adjustments, Windows offers a versatile and powerful environment that rivals its counterparts. From package management with WinGet to seamless Linux integration via WSL2, my setup ensures consistency and flexibility. In this article, I’ll share the tools and configurations that make Windows my go-to choice for software development, enabling me to work efficiently across different operating systems without missing a beat.
Why GoLand Remains My Go-To IDE
for Go and TypeScript
Over 30 years of coding have taught me one thing: the right tools can make all the difference. From humble beginnings with basic text editors to experimenting with IDEs like Eclipse and NetBeans, my journey took a significant turn with PhpStorm. It set a new standard for me, and when I shifted to Go, GoLand became my go-to IDE. While I’ve dabbled with VS Code, especially for remote development, I always find myself returning to GoLand. Its seamless code completion, robust refactoring, and intuitive debugging tools make it indispensable for my work. In this article, I’ll share why GoLand continues to outshine alternatives for my Go and TypeScript projects.
From Containers to DEB Packages:
Choosing the Right Tool
When Docker entered the scene around 2015/2016, it felt like a game-changer. Containers provided isolated build and run environments, making packaging and deployment more manageable—and even fun. But as our environment became more defined, we realized containers weren’t a strict necessity. With the introduction of systemd, many of the isolation and process control issues we relied on Docker for were solved natively. This shift led me to happily switch back to DEB packages. In this article, I’ll discuss the trade-offs between containers and traditional packaging, and why it’s essential to choose the tool that best fits your needs.
Exposing Local Services with Cloudflare Tunnel
Making local services publicly accessible has always been a challenge, especially when dealing with dynamic IPs or NAT networks. Enter Cloudflare Tunnel—a solution I recently explored that simplifies this process. By using Cloudflare’s massive CDN and the cloudflared connector, you can securely route traffic to your internal network without exposing your machines directly to the internet. While this tool offers incredible convenience, it’s important to note that Cloudflare handles HTTPS termination, meaning they have access to your traffic. In this article, I’ll walk you through how Cloudflare Tunnel works, its benefits, and the considerations to keep in mind before using it.