Gnarly Learnings from June 2023

Engineering Insights

Ethan Fertsch
#
Min Read
Published On
March 13, 2025
Updated On
February 5, 2026
Gnarly Learnings from June 2023

At The Gnar we are always 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.

Understanding TypeScript's Newest Keyword: using

One of the reasons I appreciate TypeScript's place in the Node.js ecosystem is how they approach incoming JS proposals, and how eager and willing they are to bring these new advancements to the ecosystem early enough to get excited, but late enough to trust it. using is a reflection of the upcoming ECMA TC39 proposal for more explicit handling of "temporary" connections (DB executions, file handlers, etc), and since it has made it far enough to be eventually adopted into JS proper, TypeScript is more than happy to prepare me by adopting it now.

Backtick Strings vs URLSearchParams

The title of the article linked above is a little clickbait-y but hey, I read it and I am glad I did. The React documentation provides an example of building a URL string to query an API using template literals or "backtick strings". However, as the author correctly points out, this is not the best tool for the job. Template literals will work but aren't made for creating serializable strings. For that, we have URLSearchParams, which will properly escape parameter values, among other things.

Removing Active Storage Objects via Form POST

Gone are the days of needing to reach for clunky conditionals to massage Active Storage-related params when using direct uploads! Previously, to remove an Active Storage object from a record it would need to be explicitly set to nil. This was all well and good until you would try to do it on form submission and receive an error because the passed value in the params was actually an empty string. Now, setting the value to nil or an empty string yields the same result. 🎉

The Gateway Pattern

Especially on large projects, my services directory admittedly ends up looking a bit like a junk drawer. So, if you're like me and wrap all external API communication in service objects, you'll be glad you found this article. A gateway is used to formalize the boundary between your app's domain and an external API, translating between the two. This is more specific and nuanced than how I typically use service objects, and helps clean up the codebase.

Shopify's Ruby LSP in VSCode

I was shopping around for a simpler way to auto-format my Ruby code with minimal extensions and config. In my research I came across the Ruby LSP (Language Server Protocol) created by Shopify, who maintain one of the most well-known commercial Rails monoliths. This article describes the LSP and the VSCode integration of it, but it also includes a nice dive into LSPs in general.

Stack Overflow Releases Their 2023 Developer Survey

Here at The Gnar, we love a good developer survey. Admittedly, this is my first experience with the one released by Stack Overflow (SO). There are a bunch of interesting takeaways but I loved reading about how Postgres is now the most loved, admired, and popular relational database (this is true here at The Gnar too - we have a whole series on some of its lesser-known features). SO also includes a new section on the prevalence of AI search tools where ChatGPT (unsurprisingly) is sitting pretty with 83% of professional respondents leveraging it in the past year.

Contributors:

Learn more about how The Gnar builds software.

Author headshot
Written by
Ethan Fertsch
Software Engineer & Product Manager
, The Gnar Company

Ethan Fertsch is a software engineer and certified Scrum Master at The Gnar Company with nearly a decade of full-stack engineering experience. He specializes in delivering production-ready software across industries while serving as both product manager and engineer.

Related Insights

See All Articles
Product Insights
How Much Does Custom Software Development Cost? (The Real Answer)

How Much Does Custom Software Development Cost? (The Real Answer)

Most software projects go over budget because they're priced before the problem is understood. Learn how structured discovery gives you a guaranteed build price before development starts.
Product Insights
How to Choose the Best Software Development Agency in Boston (2026)

How to Choose the Best Software Development Agency in Boston (2026)

A Boston agency founder's guide to evaluating software development companies. Learn the four agency types, red flags to avoid, and questions to ask in 2026.
Engineering Insights
10 Ways to Get Better Results From Claude Code

10 Ways to Get Better Results From Claude Code

A recent Hacker News thread turned into a goldmine of practical advice from developers using Claude Code daily. After reading through hundreds of comments, a clear pattern emerged: the developers getting the best results aren't writing better prompts — they're building better workflows around the tool.
Previous
Next
See All Articles