Gnarly Learnings from November 2022
Published: 2022-12-01 13:48:12

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.


## [Embedding with Sidekiq 7.0](https://www.mikeperham.com/2022/10/27/sidekiq-7.0-embedding/)
Mike Perham, the creator of Sidekiq, wrote a blog post discussing one of the features of the newly released Sidekiq 7.0: embedding! Prior to version 7.0, an entirely separate Sidekiq process was required for background job processing. Now, Sidekiq can be embedded within _another_ process, making for simpler deployments and less total memory usage. There are some drawbacks though, which are mostly around the limited number of threads that can be run with embedded processes. 


## [`rubyfmt`](https://github.com/penelopezone/rubyfmt)
A recent [tweet](https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1f2a57e-3895-4666-bcc0-00640ff5d39e_1250x466.png) mentioned that 100% of Stripe’s Ruby codebase was autoformatted using `rubyfmt, `a newcomer to the autoformatting space. We love using tools like Prettier that help to keep our JavaScript code styles clean and consistent but the Rubyists on the team have yet to find something comparable. Could this be it??? 🤞

## [The State of Frontend 2022](https://tsh.io/state-of-frontend/)
You don’t have to scroll far to see the reason why I thought this front-end-focused article was interesting: 3,703 surveys, 125 countries, 19 front-end experts. This report provides some interesting insight into the developer’s favorite (and least favorite) frameworks, libraries, static-site generators, hosting services, and more.


## [Anchor Links and Sticky Headers](https://gomakethings.com/how-to-animate-scrolling-to-anchor-links-with-one-line-of-css/)
Easily add smooth scrolling to internal anchors with the CSS property `scroll-behavior`. You may still need to reach for `scrollTo` for complete browser support. This is a great way to progressively enhance your project while still being able to keep accessibility concerns in mind with the CSS “prefers-reduced-motion” fallback.


## [Generator Functions in JavaScript](https://jrsinclair.com/articles/2022/why-would-anyone-need-javascript-generator-functions/)
This mind-bending JS blog article describes an aspect of the language that I had never directly come across: Generator functions. This post dives deep into when you might want to use these low-level features, but also stresses that you may not need to, coming at the reader with a genuine interest in making them more fully aware of the tools at your disposal. A great read for those looking to work with large data sets or those who just want to better understand the tools they work with. 

## [`react-use`](https://github.com/streamich/react-use#readme)
The react-use library is a collection of React hooks, sometimes referred to as “the lodash of hooks”. There are all sorts of helpful hooks in this npm package from common use cases such as setting the page title/favicon and throttling/debouncing to less common use cases such as vibration controls, geolocation tracking, and video/audio playback. If you’ve ever wondered, “I wish there was an easy way to [know when a user is idle|check network state|detect a long press/click|etc]” then chances are this package can help!


## [The State of GraphQL 2022](https://2022.stateofgraphql.com/en-US/)
Yeah, that’s right, **two **“The State of…” articles in this issue. 😉 It’s just that time of year. This one, in particular, stood out because not only was it chock full of cool things about GraphQL, but it was also a joy to interact with from a UX perspective. The report contains information on demographics, features, libraries, usage, and more. I’ve just recently started interacting with Shopify’s GraphQL API and the biggest takeaway from this survey is that I have only scratched the surface! 


## Contributors:

* [Alex Jarvis](https://github.com/alxjrvs)
* [Ethan Fertsch](https://github.com/efertsch)
* [Mike Stone ](https://www.linkedin.com/in/michaelvstone/)
* [Royce Threadgill](https://www.thegnar.com/blog/author/jrthreadgill)
* [Steve Meisner](https://github.com/stevemeisner)

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