Gnarly Learnings from August

Engineering Insights

Kevin Murphy
#
Min Read
Published On
March 13, 2025
Updated On
March 24, 2025
Gnarly Learnings from August

We love reading, watching, and listening to constantly update our skills and learn new perspectives. Here are some of the exciting pieces we learned from this month.

Confusing Terms in the Git Terminology

There are a lot of operations in git that sound or look similar. Learn about some of those commands in this article, along with when to use one or the other.

New in Git: switch and restore

One of the confusing operations in git is checkout. This article explains that command and how git spun off some more specific commands.

How Width_Bucket() Works in PostgreSQL

Should you find yourself in a position where you're looking to group numbers together into different categories, you may be familiar with using CASE. Alternatively, you can also use width_bucket with Postgres. It can define the size of the buckets for you, or you can tell it the thresholds you'd like to have. This article will walk you through the details on how to use this function.

An Introduction to Pattern Matching in Ruby

This article provides a good introduction to some of the methods, syntax, and things to be aware of when working with pattern matching.

An Object-Oriented Example

This article does a great job at describing the journey the author takes in organizing some logic with an intentional eye to being more object-oriented. Though the example is in ruby, the structure and approach applies regardless of language.

Control Flow Analysis of Aliased Conditions and Discriminants in TypeScript 4.4

Ever wanted to use discriminated unions or other ways to differentiate types, but you didn't want to go through the hassle of using type predicates? Well, starting in TypeScript 4.4, you can code the type guard you want in a way that feels far more ergonomic.

This announcement of TypeScript 4.4 is far more than just this one feature, but it's one I've been looking forward to for a long time.

Software Development Cannot Be Automated Because It's a Creative Process With an Unknown End Goal

Rather than fearing a future where software is written by machines, this post highlights the ways in which it can't be solved by algorithms due to its inherent discovery process.

Simple Systems Have Less Downtime

We may talk about the cost of complexity, and needing to earn or justify it, but what about the benefit of simplicity? This article considers that perspective.

Project to Product asks more of our software, and more of us

How do we view, and own, the work in front of us when we recognize that it's never done? What does that enable and require us to do? This article presents the different mindset, and make up, of a team with a project focus vs. one with a product focus.

How to comment Rails migrations

TIL that you can add comments to your database schema in rails through migrations, and that documentation also lives in your database itself.

Contributors

Learn more about how The Gnar builds software.

Written by
Kevin Murphy
, The Gnar Company

Related Insights

See All Articles
Engineering Insights
Why Your AI Coding Agent Keeps Making Bad Decisions (And How to Fix It)

Why Your AI Coding Agent Keeps Making Bad Decisions (And How to Fix It)

AI coding agents making bad decisions? The frustration comes from two fixable problems: assumptions and code quality. Here's how to get consistently good results.
Product Insights
From Dashboards to Decisions: Why Traditional BI Can't Keep Up

From Dashboards to Decisions: Why Traditional BI Can't Keep Up

Stop waiting days for dashboards. Learn how BI2AI uses LLMs and RAG to eliminate the analyst bottleneck and turn complex data into instant executive decisions.
Product Insights
Are Your Legacy Systems Bleeding You Money?

Are Your Legacy Systems Bleeding You Money?

Technical debt now accounts for 40% of IT balance sheets, with companies paying a 10-20% surcharge on every new initiative just to work around existing problems. Meanwhile, organizations with high technical debt deliver new features 25-50% slower than competitors. Features on your six-month roadmap? They're shipping them in three weeks.
Previous
Next
See All Articles