Why C Still Matters:
Learning from the Fundamentals
While modern programming languages like Go offer abstractions that make development easier and safer, I remain a fan of C for its simplicity and control. C forces you to understand how things work under the hood, offering unparalleled freedom—and the potential to break everything. In this article, I’ll discuss why learning from C and other low-level concepts is crucial for writing efficient, resource-conscious code, even in higher-level languages. From Go’s `sync.Pool` to the inner workings of slices, understanding the fundamentals can set you apart as a developer and help you deliver superior results.
The Evolution of Computer Science:
From Mysticism to Pragmatism
For over 30 years, computer science has been my passion. From the early days of theoretical and applied disciplines to today’s vast array of technologies, I’ve seen the field transform dramatically. While it’s never been easier to learn, I’ve noticed a decline in foundational knowledge. In my view, building good software is both an art and a science, requiring a deep understanding of the tools and systems we use. Pragmatism, efficiency, and a focus on the end-user experience have always guided my work. In this article, I’ll reflect on the evolution of computer science, the importance of staying curious, and why tailored, thoughtful solutions are more crucial than ever in an AI-driven world.
The Promise and Pitfalls
of Open Source Software
Open Source Software (OSS) has revolutionized the tech world, offering transparency, flexibility, and independence. However, it’s not a magical solution. While OSS allows you to view, modify, and share code, it doesn’t guarantee reliability or security. Critical vulnerabilities in projects like Log4j and OpenSSL highlight the risks of assuming OSS is inherently safe. To truly benefit from OSS, it’s essential to understand its scope, build expertise, and collaborate with trained partners when needed. In this article, I’ll discuss the promise and pitfalls of OSS, emphasizing the importance of staying informed and critical to achieve true digital sovereignty.
Why Bun Has Become My Go-To
JavaScript Runtime
For years, my JavaScript setup relied on Node, npm, and various bundlers. But since discovering Bun, my workflow has become faster and more streamlined. Bun combines a high-performance JavaScript runtime, native TypeScript support, a package manager, and a bundler—all in one tool. Its compatibility with Node and additional features, like the integrated Postgres client, make it a superior choice for modern web development. In this article, I’ll share how Bun, alongside Go and Zig, has become a cornerstone of my development stack and how it’s simplified my workflow for personal projects and my Astro-based website hosted on Cloudflare.
Building Software Like a Master Craftsman
In software development, the end product often takes center stage, but the process behind it is equally important. Just as a master craftsman chooses the right tools and techniques to ensure quality, durability, and maintainability, developers must consider how their decisions impact the long-term success of a project. From choosing the right architectural patterns to ensuring code is maintainable and scalable, the ‘how’ matters just as much as the ‘what.’ In this article, I’ll discuss why developers should strive for versatility, learn from experienced colleagues, and focus on building software that’s not just functional but also efficient, stable, and sustainable.