Gnarly Learnings from February 2023
Tags: ruby, react, reactnative, postgres
Published: 2023-02-28 21:05:05

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](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md#680)

The `Link` component is an important aspect of React Router's tooling, but historically we have had to fall back to anchor tags when linking outside of our app. React Router has addressed this in version 6.8. Now, we can use the `Link` component for absolute URLs as well as internal links. It supports `mailto:` URLs as well!

## [Don’t Sleep on Ruby & Rails](https://changelog.com/news/dont-sleep-on-ruby-rails-Y1D1)

You might be forgiven for thinking, at first glance, that this is yet another podcast glorifying someone’s favorite framework/language to the exclusion of all other technologies. So imagine my surprise when I popped in my headphones and heard a detailed, balanced, and _fun_ conversation devoid of the rancorous tribalism so common in these discussions. One of the main takeaways: when combined with Turbo and Stimulus, Rails is pretty capable of filling some of the niches previously occupied exclusively by SPA frameworks.

## [Finding the Current Timestamp in PostgreSQL](https://www.cybertec-postgresql.com/en/postgresql-finding-the-current-timestamp/)

We’ve [been](https://www.thegnar.com/blog/history-tracking-with-postgres) [thinking](https://www.thegnar.com/blog/enum-types-in-postgres) [about](https://www.thegnar.com/blog/postgres-full-text-search) Postgres a lot at The Gnar. So we were of course naturally drawn to an article discussing the quirks of retrieving the current timestamp. Apparently, finding the current timestamp isn’t as straightforward as invoking the `now()` function. This article details three different ways to retrieve the current timestamp in Postgres – `now()`,  `statement_timestamp()`, and `clock_timestamp()` –  and the use cases for each.

## [The State of React Native 2022](https://results.stateofreactnative.com/)

Welcome to another Gnarly Learnings that includes ✨ “The State of [SOME TECH]”. ✨This time, it’s the first-ever installment of the State of React Native. This guide is pretty comprehensive but my favorite part is the clear ranking of tools that are used for different slices of an app (e.g. Routing, State Management, Styling) based on retention, interest, usage, and awareness. If nothing else, this would be a great resource for anyone interested in evaluating libraries for use in their React Native project.

## [Exploring Async Ruby](https://thoughtbot.com/blog/my-adventure-with-async-ruby)

I had heard of the [async gem](https://rubygems.org/gems/async) prior to reading this article but had trouble coming up with a solid example in which I might use it. This article covers one engineer’s journey into and through asynchronous Ruby using an app to dynamically generate markdown. The article includes concise pros (scalability, minimal required code changes) and cons (poor documentation, incompatibility with certain libraries) to assist you in determining if this gem would be right for you. 

## Contributors:

* [Ethan Fertsch](https://github.com/efertsch)
* [Taylor Kearns](https://github.com/taylorkearns)
* [Royce Threadgill](https://github.com/jrthreadgill)

_Learn more about how The Gnar [builds software](https://www.thegnar.com/software-development)._