Posts
So, this happened—I’m now KCNA certified! 🎉
For those unfamiliar, KCNA (Kubernetes and Cloud Native Associate) is basically a stamp of approval that says, “Yep, this person understands Kubernetes and cloud-native technologies well enough to not completely brick production”
It’s tough when you find yourself at the mercy of some executive decisions that you know are going to cost more in the long run than they save. But hey, it’s a part of the game, right? Sometimes, execs make decisions based on advice from people who don’t have the full picture—leading to, let’s say, interesting outcomes. Or maybe I’m the one missing the full picture—but hey, that doesn’t make my pain points any less real.
If you’re looking for a streamlined way to deploy your Hugo site, GitHub Actions and GitHub Pages make for a powerful combination. In this post, I’ll walk you through setting up a workflow to build and deploy your Hugo static site automatically whenever you push changes to your repository.
Publishing a Python package to PyPI is one of those “someday” goals. It wasn’t something I actively planned to do, but once I went through the process, I realized how straightforward and satisfying it can be. This post walks through the journey of publishing my first package, trello-csv
, and some lessons I’ve picked up along the way.
I’ve made several post about Vim already, but i can’t seem to help myself, I love my editor! Anyway, this post will be about going through some highlights of my custom configuration.
Once the data is prepared and stored in a graph database, the next step is to make it usable. For gRAG, this meant building an application layer capable of retrieving and generating insightful, context-rich responses. At the core of this application is LangChain, a framework that seamlessly integrates retrieval and generation workflows.
Retrieval-Augmented Generation (RAG) systems start with a simple but critical requirement: data. But not just any data—it needs to be clean, structured, and primed for meaningful retrieval and generation. With gRAG, my experimental take on RAG, I set out to explore what happens when you introduce a graph database like Neo4j into the mix.
A few months ago, I found myself diving into a side project that I called gRAG, an attempt at building my own version of a Retrieval-Augmented Generation (RAG) system. What set it apart was my decision to experiment with a graph database, aiming to harness its unique strengths to push RAG systems a bit further. It wasn’t a brand-new idea by any means, but more of a way for me to explore how the power of graphs could complement and enhance the RAG framework.
The way we interface with computers with keyboard and mouse is really slow, even if you’re super fast with the keyboard it is impossible to keep up with the brain. But, it is as good as it gets (for now)… The mouse on the other hand is evil! Wherever possible, replacing a mouse move with a keyboard shortcut saves your wrists and is more efficient, at least from my perspective, a pro FPS gamer or a video editor would likely disagree, but this is a tech oriented blog.
In this installment of this KCNA series, we’ll dive into the fundamentals of Kubernetes and explore how it helps manage containers at scale. Running a few containers can be straightforward, but when dealing with hundreds or thousands of containers, efficient management requires more than basic tools—it needs a sophisticated orchestration platform. This is where Kubernetes excels.
This will be a short post about a nifty feature I found in lazygit
. Strangely, I have not ran into projects enforcing specific git messages that much. But things have changed and it did not take long before it started to annoy me and I had to look for solutions.
In this third part of the series, we’ll dive into the fundamentals of Containers, crucial to understanding the benefits that container orchestration via Kubernetes bring. You’ll gain insights into how containerization revolutionizes application deployment and management, while Kubernetes provides the orchestration needed for scalability and resilience. Lets explore the power of containers in modern application development.
Okay so over the past couple of years I’ve kept adding new aliases to my dotfiles, here Ill share some of the ones that I just couldn’t see myself without. From quick navigation shortcuts to powerful one-liners for system monitoring, file manipulation, and Git operations, these aliases save me time and keep my command-line experience efficient.
In this second part of this series we’re diving into some fundamental aspects of Cloud Native Applications and Kubernetes architecture. By the end, you’ll have a clearer understanding of how cloud-native principles, architectures, and practices differ from traditional approaches and how they enhance Resilience, Agility, Operability, and Observability.
Ever since I was first introduced to Vim in University, I’ve been captivated by its philosophy. The idea of a highly efficient, keyboard-centric editor intrigued me, especially its intricate and well-thought-out keybinding system.
As I prepare for the Kubernetes Cloud Native Associate (KCNA) certification, I’ve decided to document my progress in a series of blog posts. This way, I can not only solidify my own understanding but also share insights with others who might be on a similar path.
Over the years, my journey into effective note-taking has been anything but linear. From the chaos of handwritten notes in university to exploring various digital tools, I’ve discovered what works for me in managing information overload.
Vim motions; a skill every developer, sysadmin, or power-user should learn. As developers we’re always looking for ways to optimize our workflows, making us more efficient. One tool that sticks out for me in its unique approach to navigation and text manipulation is Vim.
After a significant overhaul of my dotfiles, I’m excited to share my new setup! This version moves away from a bare Git repository approach and embraces a more robust solution tailored for managing different environments.
My dotfiles, are the core of my daily workflow. Carefully configured for productivity and centered around a keyboard-centric approach, these files simplify tasks. While designed for my use, feel free to explore and adopt elements that suit your preferences.
Managing tasks in Trello is convenient, but exporting your board data to CSV is a premium feature. Trello Board CSV Exporter is a free Python script that allows you to export Trello board data effortlessly, perfect for analysis or reporting.
In the realm of terminal-based productivity, managing multiple projects efficiently can be a challenge. Enter Tmux Session Script, a custom solution designed to streamline project switching and enhance your workflow.