Trimming Video with FFmpeg

If you're a developer and work with video, there's a chance that you may need to trim or cut parts of the video for your users. In this post, I'll be going through the commands needed to do this in FFmpeg along with some details to consider when trimming video. Let's dive in! | Continue reading


@aaronbos.dev | 20 days ago

Find and Replace in Neovim

While Neovim may not be my daily editor, I still prefer it to modify files quickly. Often I find myself in Neovim when I need to make small changes to JSON or YAML files. A common action that I perform is a simple "find and replace" which is supported by most editors. As with mos … | Continue reading


@aaronbos.dev | 1 month ago

A Reminder of Why I Started This Blog

In the rush of everyday life, it's easy to lose sight of your "North Star". For me and this blog, my North Star is learning. If I'm not learning, then chances are I'm not feeling energized. It's time to get back to what I have enjoyed so much with this blog over the last three ye … | Continue reading


@aaronbos.dev | 2 months ago

npm and Semantic Versioning

If you've been a developer for any amount of time you've undoubtedly reached for external dependencies to solve specific problems. Whether the problem is as small as padding the left side of a string or as large as a component library external packages are inevitable. In this pos … | Continue reading


@aaronbos.dev | 4 months ago

Reviewing 2023 and Previewing 2024

This time of year (holidays and New Year's) means something different for everyone, but for me, they are always a time to reflect on what has been and look ahead at what could be. As I've done in previous years I'm going to review the previous year in terms of this blog and my ca … | Continue reading


@aaronbos.dev | 4 months ago

Introduction to HTTP Live Streaming

Video has become an integral part of our digital lives. We rely on video streaming services like YouTube, Netflix, and Hulu to consume all kinds of content from sports to Movies and TV. If you've ever wondered what kind of technology might be powering these streaming services, yo … | Continue reading


@aaronbos.dev | 5 months ago

Using Git's Reflog to Recover Data

Git is a nearly ubiquitous tool for version control these days and it serves its purpose dutifully. As great as Git is, there are still sharp edges and chances for mistakes to happen. In this post, I'll be sharing information about a lesser-known feature in Git that can fix those … | Continue reading


@aaronbos.dev | 5 months ago

Looking for Solutions Instead of Problems

Working in a field that is constantly changing can be challenging for a multitude of reasons. Our mindset for approaching the constant barrage of challenges can make a world of difference in both outcome and attitude. In this quick post, I'm going to share my thoughts on approach … | Continue reading


@aaronbos.dev | 6 months ago

Battling Burnout

I’ve heard of others experiencing feelings of burnout in relation to free time or side projects, but I had never experienced it for myself. While I’m sure it’s different for everyone, I recently started to feel burned out with the time I spent outside of work on things that felt … | Continue reading


@aaronbos.dev | 6 months ago

Book Review: Engineering Management for the Rest of Us

In this post, I'll share a short review of "Engineering Management for the Rest of Us" by Sarah Drasner. I heard about this book in a podcast a while back and I was excited to give it a read since I've recently transitioned into an engineering management role. Let's dive in! | Continue reading


@aaronbos.dev | 7 months ago

Leading with Trust

Trust is a foundational piece of most relationships and it's no different with technical leadership. In this post, I'll share my thoughts on the benefits of building trust with teammates to become an effective leader. | Continue reading


@aaronbos.dev | 7 months ago

Q3 Roadmap Feature: Search Improvements

At the beginning of the year, I created a roadmap to plan the development of my blog itself. In this post, I'll talk through the improvements for this quarter that involved the blog post search experience. Let's dive in! | Continue reading


@aaronbos.dev | 8 months ago

Understanding Thread-Safety in .NET

Writing code that always behaves as expected when run in parallel is HARD. I'll be the first to admit that I'm NOT an expert in this field, but I do my best to generally understand the principles that make parallel programming possible. This post attempts to unpack the "thread-sa … | Continue reading


@aaronbos.dev | 8 months ago

Engineer to Manager: Initial Thoughts

I recently made the switch from Senior Engineering to Engineering Manager . In this post, I'll share some general thoughts on the experience so far. While everyone's experience and situation is different, I think it's helpful to share my initial thoughts about making the transiti … | Continue reading


@aaronbos.dev | 9 months ago

Developing A Growth Mindset

Life can be challenging. We are put into situations that challenge us mentally and physically all of the time. The mindset that we have going into these situations can significantly affect the outcome positively or negatively. In this post, I'll share my takeaways from the book M … | Continue reading


@aaronbos.dev | 9 months ago

A Closer Look at C# Extension Methods

Extension methods have been around in .NET for a long time and most developers use them daily without even realizing it. In this post, we're going to take a closer look at extension methods and how they work. Let's dive in! | Continue reading


@aaronbos.dev | 10 months ago

Managing "Dark Matter Time"

As I've grown in my software engineering career I've learned that time isn't always easy to manage. Learning to deal with writing code, context shifting, collaborating, and all of the other aspects that go into being an effective engineer can be challenging. In this post, I'm goi … | Continue reading


@aaronbos.dev | 10 months ago

Podcast Lineup 2023

For the past several years podcasts have been an integral part of my personal development process. Each year I like to share the podcasts that I'm subscribed to with the goal of spreading the word and explaining why I find them worth listening to. Here's my list for 2023! | Continue reading


@aaronbos.dev | 11 months ago

How to Use SemaphoreSlim in C#

Historically I've held an opinion that reaching for more uncommon parts of a programming language to solve a problem meant that there was likely a better, less complicated solution. I'd put the use of semaphores in this category, but I recently had to reach for SemaphoreSlim to s … | Continue reading


@aaronbos.dev | 11 months ago

Monocode: A font for code

Over the past ten months I've been working on a custom font for me to use in programming environments. The font is called Monocode and in this post I'm going to talk about how I created it, why I created it, and what makes it unique. Let's dive in! | Continue reading


@aaronbos.dev | 1 year ago

Using Binaural Beats to Improve Focus

Over the years I've found it helpful to listen to music while doing work that requires some amount of focus or concentration. Recently I've started to listen to binaural beats during these periods of work and have found them to be very helpful. In this post, I'm going to share so … | Continue reading


@aaronbos.dev | 1 year ago

Is it Time to Lean into AI?

As developers, we are constantly exposed to new tools and technologies, but the most recent wave of AI advancements feels different. In this post, I'm going to share my thoughts on whether or not the hype around generative AI is real. | Continue reading


@aaronbos.dev | 1 year ago

Connecting to CockroachDB with Postgres.js

I've been using CockroachDB on this blog for some time and I've recently transitioned to using the Postgres.js library for interacting with the database. In this post, I'm going to share how to connect to CockroachDB from a Node app using Postgres.js. | Continue reading


@aaronbos.dev | 1 year ago

Exploring CommonJS and ES Modules

I was recently working on a project involving quite a bit of JavaScript. I always knew about ES Modules and CommonJS, but I never knew much about their differences. This post is a result of my exploration of CommonJS and ES Modules to learn more about their history and use cases. | Continue reading


@aaronbos.dev | 1 year ago

The Anatomy of an FFmpeg Command

FFmpeg can do just about anything with video and audio processing as long as you know what to ask. In this post, I will break down the different aspects of an FFmpeg command to better understand how FFmpeg processes them. | Continue reading


@aaronbos.dev | 1 year ago

Running FFmpeg in the Browser with Wasm

The introduction of WebAssembly (Wasm) has enabled developers to create experiences on the web that rival native performance. In this post, I'll provide an introduction to WebAssembly and also share an example of how it is leveraged to run FFmpeg directly in the browser. | Continue reading


@aaronbos.dev | 1 year ago

My Case for Conventional Comments

In this post, I'll present my case for using conventional comments in code reviews. I've been an advocate of conventional comments for about a year and have enjoyed using them. I'm hoping to share the benefits so others can adopt their own standards for code review. Let's dive in … | Continue reading


@aaronbos.dev | 1 year ago

Collections in .NET Through the Lens of Big O Notation

We use collections in our code daily, but do we ever step back and consider how they perform in the context of Big O Notation benchmarks? In this post, we'll examine the different collection types in .NET to see how their behaviors relate to well-known Big O notation functions. L … | Continue reading


@aaronbos.dev | 1 year ago

Looking Back at 2022 and Ahead to 2023

As the calendar year comes to a close, I'll take a moment to reflect on the posts and site improvements this year and also provide a sneak peek at what will be coming in 2023. Let's dive in! | Continue reading


@aaronbos.dev | 1 year ago

Why I Decided to Give Up Social Media

In this post, I'll share why I recently decided to step away from a handful of social media platforms. I'll also touch on how I plan to replace the value that social media provided me with other alternatives. Let's dive in! | Continue reading


@aaronbos.dev | 1 year ago

Defining and Using Enums as Bit Flags in C#

I've been using enums in C# since the beginning of my development career. In this post, we are going to dive into how the Flags attribute can be applied to enums and also the different kinds of operations that come into play when an enum is defined as a bit flag. Let's dive in! | Continue reading


@aaronbos.dev | 1 year ago

Rest is Best When Done Intentionally

Rest is great, but it's not always easy. In this post, I'm going to share some of my thoughts on the benefits of being intentional with taking a break. Let's dive in! | Continue reading


@aaronbos.dev | 1 year ago

Introducing Search to my Blog

My blog's two year anniversary is coming up in January 2023 and in that time I've written 56 posts on a variety of topics. In order to provide some more visibility into posts without having to scroll through them all I've added the ability to search posts. In this post, we're goi … | Continue reading


@aaronbos.dev | 1 year ago

Some Thoughts on Specialization

These days software developers are categorized into two common buckets, generalists and specialists. Neither category has an inherent advantage over the other and often times the pros and cons of a categories are contextual. In this post, I'm going to share my current thoughts on … | Continue reading


@aaronbos.dev | 1 year ago

Debugging C# in Neovim with nvim-dap

As a software developer debugging skills are invaluable. Over the years debugging tools have evolved to become an integral part of the development toolbox. In this post, we are going to look at how we can configure a debugging experience for .NET code in Neovim. Let's dive in! | Continue reading


@aaronbos.dev | 1 year ago

GitHub Has Our Back With Token Security

I recently stumbled across some behavior by GitHub that was surprising at first, then reassuring once I understood the root cause. In this post, we are going to discuss a particular aspect of GitHub's security around keeping GitHub API tokens out of public repositories. Let's div … | Continue reading


@aaronbos.dev | 1 year ago

Get Comfortable Being Uncomfortable

In my opinion, the ability to learn and to continue to learn is one of the most important skills for software engineers to have. In this post, we're going to talk about the value of living outside of our comfort zone to positively impact growth and learning. Let's dive in! | Continue reading


@aaronbos.dev | 1 year ago

Learning Vim Keycode Concepts

Since diving into the world of Vim and Neovim, I've felt myself become more comfortable with the tool and its idiosyncrasies. One of the hurdles I faced early on was understanding the documentation for different keycodes. In this post, we're going to cover the common keycodes and … | Continue reading


@aaronbos.dev | 1 year ago

Enabling Roslyn EditorConfig Support in Neovim

In many editors and languages code analysis is a feature that is nearly expected to be available out of the box. With C# and .NET, the Roslyn API and Omnisharp language server are tools that make code analysis possible. In this post, we're going to look at how we can put these to … | Continue reading


@aaronbos.dev | 1 year ago

Generating Random Quotes via CLI

Ever needed a bit of inspiration to get your day started? In this post we'll be looking at how we can generate a random quote and easily format and print it in our terminal. While this may seem silly, I think some of this post will be relevant and applicable to other CLI based ne … | Continue reading


@aaronbos.dev | 1 year ago

Debugging .NET in VS Code

Debugging is a vital aspect of most developer workflows. An easy-to-use debugger within an editor can speed up development by providing immediate feedback on a running application. In this post, we will be covering the debugging functionality in VS Code in the context of .NET app … | Continue reading


@aaronbos.dev | 1 year ago

VS Code Setup for .NET Development

Visual Studio is and probably always will be the defacto IDE for .NET development, but that doesn't mean there aren't other options out there. In this post, we're going to learn about several extensions available for VS Code that make writing .NET a productive and enjoyable exper … | Continue reading


@aaronbos.dev | 1 year ago

Introduction to Cancellation in .NET

As software development evolves and adopts asynchronous paradigms, the need for cancellation support in applications has become more prevalent. In this post, we will learn about the core concepts in regards to cancellation in .NET code. This post will provide a solid foundation f … | Continue reading


@aaronbos.dev | 1 year ago

Announcing the Ability to Like Posts

Up to this point, there has been no way to interact with the posts that I publish on this blog. The most recent release changes that. Readers can now like posts after reading them. In this post, we'll be discussing the feature, the high-level implementation, and how it could evol … | Continue reading


@aaronbos.dev | 1 year ago

My Software Development Podcast Lineup (2022)

Over the years podcasts have become integral to my daily routine. In this post, I'll provide an update on my current (2022) podcast lineup along with some details about why I find each podcast interesting or useful. Let's dive in! | Continue reading


@aaronbos.dev | 1 year ago

Effective Data Fetching with React and SWR

Retrieving data is typically a straightforward task. Retrieving data in the most efficient manner can be more complex. This post will dive into how SWR can simplify the process of fetching data while also solving potentially complex problems like performance, caching, data store … | Continue reading


@aaronbos.dev | 1 year ago

Reflections on Time Management

The ability to effectively manage our time as software engineers can feel like a superpower. In this post, I am going to share my current time management strategy and go into a bit of depth on how I think it has benefited me throughout my career. My hope is to provide some insigh … | Continue reading


@aaronbos.dev | 1 year ago

Representing Logic Gates as Boolean Functions

Boolean functions and logic gates are at the heart of everything we do as software engineers. While it may not always be obvious or apparent, boolean expressions or the result of combining them form the building blocks for much of what we see and use today in technology. In this … | Continue reading


@aaronbos.dev | 1 year ago