Writing
-
Migrating from Next.js to Eleventy: A Journey to Simplicity and Performance
In this post, I share my experience of moving away from Next.js and MDX to Eleventy in pursuit of simplicity and better performance. Learn how the 11ty-Rapid-Starter template streamlined the migration process and how deploying on Cloudflare Pages improved my site's speed and Lighthouse scores. If you're looking for a lightweight, flexible, and performant static site generator, this post might just convince you to give Eleventy a try!
-
Securing environment variables in Google Cloud Build
When building and deploying systems on Google Cloud Platform (GCP), Google Cloud Build (GCB) provides a scalable and easily integrated CI/CD solution. However, securely managing environment variables and secrets within GCB can be a source of confusion for users. In this article, we'll explore the differences between substitutions and secrets in GCB and provide a step-by-step guide on how to encrypt and use sensitive information as environment variables in your build process. By leveraging GCP's Key Management Service (KMS) and following best practices, you can ensure the security of your secrets while taking full advantage of GCB's capabilities.
-
The Squash Merge Dilemma Balancing Simplicity and Attribution
Squash merging has been a go-to strategy for many developers working on commercial software, prioritizing simplicity and a clean commit history. However, when it comes to open source projects, the considerations are different. In this article, we explore the pros and cons of squash merging and discuss the importance of attribution and recognizing individual contributions in the open source world. Join us as we delve into the squash merge dilemma and consider alternative approaches to ensure that every contributor receives the credit they deserve.
-
Crafting a Minimum Valuable Product
In the pursuit of building successful products, the concept of a Minimum Viable Product (MVP) has become a popular approach. However, too often, teams lose sight of the true essence of an MVP, resulting in products that fail to deliver tangible value to customers. In this article, we explore the importance of shifting our perspective from Minimum Viable Product to Minimum Valuable Product. By focusing on delivering genuine value to users, we can ensure that our efforts are aligned with solving real customer pain points and creating meaningful solutions. We'll discuss the key principles of crafting a Minimum Valuable Product, including understanding customer needs, validating market potential, prioritizing user experience, gathering feedback, measuring key metrics, and being ready to pivot based on insights. Discover how putting customer value at the forefront can set the foundation for a successful product journey.
-
Streamlining Node.js Container Builds with Docker Multi-Stage Builds
Docker's multi-stage builds provide a powerful way to optimize Node.js container builds by isolating the build process and creating lightweight, efficient containers. In this article, we'll explore how to leverage multi-stage builds to streamline your Node.js container builds, avoiding common pitfalls like bloated containers and slow build times. We'll walk through a step-by-step example of a Dockerfile that utilizes multi-stage builds, explaining each section and highlighting best practices along the way. By following this approach, you can significantly improve the efficiency of your Node.js container builds and enhance your overall development workflow.