Gnarly Learnings from December 2022

Engineering Insights

Ethan Fertsch
#
Min Read
Published On
March 13, 2025
Updated On
March 24, 2025
Gnarly Learnings from December 2022

We love reading, watching, and listening in order to keep our skills sharp and our perspectives fresh. Here are some of the resources we learned from this month.

OWASP Top Ten

It's important to stay sharp when it comes to online security. The Open Web Application Security Project, or OWASP, is a non-profit organization dedicated to keeping the world informed about security threats on the web and how to protect against them. This top ten list, which many of you will be familiar with, is a good place to start.

Modern CSV

Many of the projects we work on involve parsing and generating CSVs. Excel is a powerful piece of software, but is often more than we need. Plus, it's a bit of a hassle always exporting .xlsx to .csv. Modern CSV is an alternative we recently discovered, explicitly made for reading and writing CSV. There is a full version for purchase, but we found we can also get significant mileage with the free version.

ActiveRecord::Store

If you're like us, you continue to be surprised and delighted by Rails despite decades of combined experience in the industry. There's always more to explore under the hood, such as ActiveRecord::Store.This article provides a tour of the store (for serialization) and store_accessor (for reading and writing) methods and how they can be used to persist structured data (e.g. JSON or YAML)  in relational databases. You aren't likely to use these on a daily basis but in the event that you need to work with data and/or data structures that are changeable and unknowable, you may be able to dust them off and impress your friends with your awesome obscure Rails knowledge.

Shopify/Job-Iteration

Wouldn't it be great if we could have more control over our background jobs? To be able to pause and resume jobs, and to have a bookmark that tracks the progress a job has made? Yeah it would be, and the folks at Shopify thought so too. This API has been in use in their production systems since 2017 and is their response to infrastructure-related issues that impact long-running jobs, such as worker restarts and interruptions due to frequent deploys. Neat stuff!

Crystal for Rubyists

In my experience, one of the most helpful tools for learning a new programming language is the ability to make comparisons between what's familiar and what isn't. As a Rubyist learning a new language I might ask myself, "How would I write this in Ruby?". This guide makes it really simple to answer that question for folks who know Ruby and are interested in learning Crystal. And boy howdy, would I love to have one of these for all the languages out there!

JavaScript's Intl.Segmenter

There are tons of folks all over the world that write code in their native languages. We know that we can use string manipulation functions and regular expressions to split up and manage strings in English, but would we know how to do it if they were expressed in Mandarin? Probably not, but JavaScript's Intl.Segmenter object can. MDN describes it as "enabl[ing] locale-sensitive text segmentation, enabling you to get meaningful items (graphemes, words or sentences) from a string.", unless you're developing for Firefox. 😉 This article covers the basics of this object and provides some fun examples using emojis.

Contributors:

Learn more about how The Gnar builds software.

Ethan Fertsch

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