Tag: Ai
Blog
Mastering Multi-File Tasks: A Guide to Gemini Code Assist Agent Mode
Introduction Software development often involves tasks that aren’t contained within a single function or file. Whether you’re refactoring a service layer, implementing a new API endpoint that requires changes from the database to the router, or updating dependencies across a monorepo, context is everything.
Standard AI chat assistants are great for snippets, but Gemini Code Assist’s Agent Mode is designed for the big picture. It doesn’t just suggest code; it plans and executes changes across your entire workspace.
Blog
The Architecture of Instructions: Mastering GEMINI.md
Introduction In my previous post, we explored how Gemini Code Assist’s Agent Mode can handle multi-file refactors. However, an agent is only as good as the instructions it follows. Without guidance, AI might generate code that works but violates your team’s architectural standards.
To solve this, Gemini supports a special file: GEMINI.md. Think of this as the “System Prompt” for your entire repository.
What is GEMINI.md? The GEMINI.md file is a Markdown document placed in your project’s root.
Tag: Clean-Code
Blog
The Architecture of Instructions: Mastering GEMINI.md
Introduction In my previous post, we explored how Gemini Code Assist’s Agent Mode can handle multi-file refactors. However, an agent is only as good as the instructions it follows. Without guidance, AI might generate code that works but violates your team’s architectural standards.
To solve this, Gemini supports a special file: GEMINI.md. Think of this as the “System Prompt” for your entire repository.
What is GEMINI.md? The GEMINI.md file is a Markdown document placed in your project’s root.
Tag: Frontend
Blog
Beyond the Backend: My React Side Projects
Introduction While a lot of my professional work and previous posts focus on Go, Kubernetes, and backend architecture, I’ve always had a soft spot for frontend development. In my free time, I enjoy experimenting with React to build tools and interfaces that are both functional and performant.
Today, I want to “show off” a couple of these projects to give you a glimpse into what I build when I’m not writing Go services.
Tag: Gemini
Blog
Mastering Multi-File Tasks: A Guide to Gemini Code Assist Agent Mode
Introduction Software development often involves tasks that aren’t contained within a single function or file. Whether you’re refactoring a service layer, implementing a new API endpoint that requires changes from the database to the router, or updating dependencies across a monorepo, context is everything.
Standard AI chat assistants are great for snippets, but Gemini Code Assist’s Agent Mode is designed for the big picture. It doesn’t just suggest code; it plans and executes changes across your entire workspace.
Blog
The Architecture of Instructions: Mastering GEMINI.md
Introduction In my previous post, we explored how Gemini Code Assist’s Agent Mode can handle multi-file refactors. However, an agent is only as good as the instructions it follows. Without guidance, AI might generate code that works but violates your team’s architectural standards.
To solve this, Gemini supports a special file: GEMINI.md. Think of this as the “System Prompt” for your entire repository.
What is GEMINI.md? The GEMINI.md file is a Markdown document placed in your project’s root.
Tag: Golang
Blog
The Architecture of Instructions: Mastering GEMINI.md
Introduction In my previous post, we explored how Gemini Code Assist’s Agent Mode can handle multi-file refactors. However, an agent is only as good as the instructions it follows. Without guidance, AI might generate code that works but violates your team’s architectural standards.
To solve this, Gemini supports a special file: GEMINI.md. Think of this as the “System Prompt” for your entire repository.
What is GEMINI.md? The GEMINI.md file is a Markdown document placed in your project’s root.
Blog
How to check if a binary is statically or dynamically linked
What is the difference between statically and dynamically linked binaries? Statically linked binaries and dynamically linked binaries refer to two different ways of linking software libraries to an executable program.
A statically linked binary includes all necessary libraries within the binary executable file itself. This means that when the program is executed, it does not rely on any external libraries, as all required libraries are already included in the binary. Static linking produces larger binary files, but they can be more portable and self-contained.
Tag: Productivity
Blog
Mastering Multi-File Tasks: A Guide to Gemini Code Assist Agent Mode
Introduction Software development often involves tasks that aren’t contained within a single function or file. Whether you’re refactoring a service layer, implementing a new API endpoint that requires changes from the database to the router, or updating dependencies across a monorepo, context is everything.
Standard AI chat assistants are great for snippets, but Gemini Code Assist’s Agent Mode is designed for the big picture. It doesn’t just suggest code; it plans and executes changes across your entire workspace.
Tag: React
Blog
Beyond the Backend: My React Side Projects
Introduction While a lot of my professional work and previous posts focus on Go, Kubernetes, and backend architecture, I’ve always had a soft spot for frontend development. In my free time, I enjoy experimenting with React to build tools and interfaces that are both functional and performant.
Today, I want to “show off” a couple of these projects to give you a glimpse into what I build when I’m not writing Go services.
Tag: Showcase
Blog
Beyond the Backend: My React Side Projects
Introduction While a lot of my professional work and previous posts focus on Go, Kubernetes, and backend architecture, I’ve always had a soft spot for frontend development. In my free time, I enjoy experimenting with React to build tools and interfaces that are both functional and performant.
Today, I want to “show off” a couple of these projects to give you a glimpse into what I build when I’m not writing Go services.
Tag: Side-Projects
Blog
Beyond the Backend: My React Side Projects
Introduction While a lot of my professional work and previous posts focus on Go, Kubernetes, and backend architecture, I’ve always had a soft spot for frontend development. In my free time, I enjoy experimenting with React to build tools and interfaces that are both functional and performant.
Today, I want to “show off” a couple of these projects to give you a glimpse into what I build when I’m not writing Go services.
Tag: Tutorial
Blog
Mastering Multi-File Tasks: A Guide to Gemini Code Assist Agent Mode
Introduction Software development often involves tasks that aren’t contained within a single function or file. Whether you’re refactoring a service layer, implementing a new API endpoint that requires changes from the database to the router, or updating dependencies across a monorepo, context is everything.
Standard AI chat assistants are great for snippets, but Gemini Code Assist’s Agent Mode is designed for the big picture. It doesn’t just suggest code; it plans and executes changes across your entire workspace.
Blog
The Architecture of Instructions: Mastering GEMINI.md
Introduction In my previous post, we explored how Gemini Code Assist’s Agent Mode can handle multi-file refactors. However, an agent is only as good as the instructions it follows. Without guidance, AI might generate code that works but violates your team’s architectural standards.
To solve this, Gemini supports a special file: GEMINI.md. Think of this as the “System Prompt” for your entire repository.
What is GEMINI.md? The GEMINI.md file is a Markdown document placed in your project’s root.
Blog
How to check if a binary is statically or dynamically linked
What is the difference between statically and dynamically linked binaries? Statically linked binaries and dynamically linked binaries refer to two different ways of linking software libraries to an executable program.
A statically linked binary includes all necessary libraries within the binary executable file itself. This means that when the program is executed, it does not rely on any external libraries, as all required libraries are already included in the binary. Static linking produces larger binary files, but they can be more portable and self-contained.
Blog
Introduction to Hugo #1
What is Hugo? Hugo is a static site generator that offers several benefits for building fast and secure websites.
It has a fast build time, making it ideal for generating large sites quickly. Its intuitive interface and straightforward directory structure make it easy for users to get started with Hugo.
Additionally, Hugo provides flexibility through templates, shortcodes, and custom output formats, and can be easily deployed to a variety of hosting platforms.
Tag: Docker
Blog
Containerization and Go: A Powerful Combination
Introduction Containerization has become an essential part of modern software development, making it easier to deploy and manage applications across multiple environments. One of the programming languages that has proven to be a great fit for containerized applications is Go.
In this blog post, we will explore why Go is an excellent choice for containerized applications and how it works seamlessly with containerization technologies like Docker and Kubernetes.
Go’s Advantages for Containerization Lightweight binaries: Go compiles to small, statically linked binaries that include all dependencies.
Tag: Game of Life
Blog
Conway's Game of Life in Go: A Step-by-Step Guide
Introduction Conway’s Game of Life is a famous cellular automaton devised by the British mathematician John Horton Conway. It is a zero-player game that evolves over time based on its initial state, requiring no further input from the player. The game takes place on an infinite two-dimensional grid of square cells, with each cell being either alive or dead.
In this blog post, we’ll explore how to implement Conway’s Game of Life in Go.
Tag: Go
Blog
Containerization and Go: A Powerful Combination
Introduction Containerization has become an essential part of modern software development, making it easier to deploy and manage applications across multiple environments. One of the programming languages that has proven to be a great fit for containerized applications is Go.
In this blog post, we will explore why Go is an excellent choice for containerized applications and how it works seamlessly with containerization technologies like Docker and Kubernetes.
Go’s Advantages for Containerization Lightweight binaries: Go compiles to small, statically linked binaries that include all dependencies.
Blog
Conway's Game of Life in Go: A Step-by-Step Guide
Introduction Conway’s Game of Life is a famous cellular automaton devised by the British mathematician John Horton Conway. It is a zero-player game that evolves over time based on its initial state, requiring no further input from the player. The game takes place on an infinite two-dimensional grid of square cells, with each cell being either alive or dead.
In this blog post, we’ll explore how to implement Conway’s Game of Life in Go.
Tag: Bounded Context
Blog
Bounded Context
What is a bounded context? Bounded Contexts are a core concept in Domain-Driven Design (DDD), serving as explicit boundaries within a larger domain model. They define a specific area where a particular model (and its associated ubiquitous language) is consistent and applicable. Outside this boundary, terms and concepts might have different meanings, or even be irrelevant.
Think of a large enterprise. The term “Customer” might mean one thing to the Sales department (a lead, a prospect), another to the Support department (someone with an open ticket), and yet another to the Billing department (an entity with an outstanding invoice).
Blog
Event Storming
What is Event Storming? Event storming is a collaborative modeling technique used in domain-driven design (DDD) to explore and understand complex business domains. It involves bringing together a diverse group of stakeholders, including developers, domain experts, and business analysts, to collaborate on the creation of a visual representation of a business process or system.
In event storming, the participants work together to identify events that occur within the system or process, and then organize these events into a timeline that represents the flow of actions and outcomes.
Tag: Ddd
Blog
Bounded Context
What is a bounded context? Bounded Contexts are a core concept in Domain-Driven Design (DDD), serving as explicit boundaries within a larger domain model. They define a specific area where a particular model (and its associated ubiquitous language) is consistent and applicable. Outside this boundary, terms and concepts might have different meanings, or even be irrelevant.
Think of a large enterprise. The term “Customer” might mean one thing to the Sales department (a lead, a prospect), another to the Support department (someone with an open ticket), and yet another to the Billing department (an entity with an outstanding invoice).
Blog
Event Storming
What is Event Storming? Event storming is a collaborative modeling technique used in domain-driven design (DDD) to explore and understand complex business domains. It involves bringing together a diverse group of stakeholders, including developers, domain experts, and business analysts, to collaborate on the creation of a visual representation of a business process or system.
In event storming, the participants work together to identify events that occur within the system or process, and then organize these events into a timeline that represents the flow of actions and outcomes.
Tag: Requirements Engineering
Blog
Bounded Context
What is a bounded context? Bounded Contexts are a core concept in Domain-Driven Design (DDD), serving as explicit boundaries within a larger domain model. They define a specific area where a particular model (and its associated ubiquitous language) is consistent and applicable. Outside this boundary, terms and concepts might have different meanings, or even be irrelevant.
Think of a large enterprise. The term “Customer” might mean one thing to the Sales department (a lead, a prospect), another to the Support department (someone with an open ticket), and yet another to the Billing department (an entity with an outstanding invoice).
Blog
Event Storming
What is Event Storming? Event storming is a collaborative modeling technique used in domain-driven design (DDD) to explore and understand complex business domains. It involves bringing together a diverse group of stakeholders, including developers, domain experts, and business analysts, to collaborate on the creation of a visual representation of a business process or system.
In event storming, the participants work together to identify events that occur within the system or process, and then organize these events into a timeline that represents the flow of actions and outcomes.
Tag: Hugo
Blog
Introduction to Hugo #1
What is Hugo? Hugo is a static site generator that offers several benefits for building fast and secure websites.
It has a fast build time, making it ideal for generating large sites quickly. Its intuitive interface and straightforward directory structure make it easy for users to get started with Hugo.
Additionally, Hugo provides flexibility through templates, shortcodes, and custom output formats, and can be easily deployed to a variety of hosting platforms.
Tag: Linking
Blog
How to check if a binary is statically or dynamically linked
What is the difference between statically and dynamically linked binaries? Statically linked binaries and dynamically linked binaries refer to two different ways of linking software libraries to an executable program.
A statically linked binary includes all necessary libraries within the binary executable file itself. This means that when the program is executed, it does not rely on any external libraries, as all required libraries are already included in the binary. Static linking produces larger binary files, but they can be more portable and self-contained.