Technical
Gnarly Learnings from March 2023
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. compareDocumentPosition Sorting is a common feature requirement for any list UI. It is straightforward enough to write a unit test for a custom sorting function, comparing its…
Read MorePractical State Machinery
As abstractions go, finite state machines represent a bit of low hanging fruit when you have real world problems to solve. The jargon can be a little forbidding—MDN leads with “a mathematical abstraction used to design algorithms” and pretty much gets more technical from there—but in reality they represent a simple and practical technique for…
Read MoreMetaprogramming in Ruby: Intermediate Level
This post is the second in a series focused on the application of Ruby metaprogramming. If you’re just starting to learn about metaprogramming, “Metaprogramming in Ruby: Beginner Level” is a great place to get started. In this article, we’ll cover a practical application of Ruby metaprogramming. If you want to learn even more, stay tuned…
Read MoreGnarly Learnings from February 2023
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. Improved Absolute URL Detection in React Router Link Component The Link component is an important aspect of React Router’s tooling, but historically we have had to fall…
Read MorePostgres Full Text Search
Why you might not need Elasticsearch This blog post is another in my series “Yeah, Postgres can do that”, (check out my other posts on enum types, and history tracking). Postgres is a humble workhorse with powerful features waiting to be unlocked. If you’re a web developer and you want to add a search bar…
Read MoreRuby to the Rescue for Error Handling
TL;DR Though we frequently use the terms “throw” and “catch” when discussing error handling, we must be careful in Ruby to use the more accurate terms “raise” and “rescue”. “Throw” and “catch” have a significantly different meaning in Ruby. The Problem The other day we were writing an RSpec test and were surprised to find…
Read MoreGnarly Learnings from January 2023
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. bin/rails notes Code comments are a pretty controversial topic but if you’re a rails developer and you’re in favor of them you should definitely check out bin/rails…
Read MoreMetaprogramming in Ruby: Beginner Level
Metaprogramming in Ruby: Beginner Level This post is the first in a series focused on the application of Ruby metaprogramming. If you’re just starting to learn about metaprogramming, this is a great place to get started. For those who already know the basics, stay tuned for future installments that will cover intermediate and advanced topics. …
Read MorePower up SVGs with React and CSS
SVGs (scalable vector graphics) may be old news, but we use them in modern development stacks all of the time. Our device displays have increasingly more pixels, and SVGs can scale infinitely while staying crisp and clean. Similar to HTML, the SVG standard is based on XML and provides a way to describe shapes and…
Read More