Gnarly Learnings from July
Tags: ruby, typescript, testing, css
Published: 2021-08-02 12:27:13

We love reading, watching, and listening to constantly update our skills and learn new perspectives. Here are some of the exciting pieces we learned from this month.

## [Ruby adds support for forwarding arguments to a method, along with the leading arguments](https://blog.saeloun.com/2020/09/16/ruby-3.0-to-add-support-for-forwarding-arguments-along-with-lead-arguments.html)

Argument forwarding allows you to...forward arguments passed in to one method into another. It was first introduced in Ruby 2.7, and further refined in 3.0. You can learn more about how it works with this introduction.

## [How to read TypeScript errors and not get mad?](https://krzysztofzuraw.com/blog/2020/how-to-read-typescript-errors)

Typescript errors are a lot of characters forced into a fairly small window. This guide helps focus your vision on the parts that matter, and helps you turn it from a loud wall of text to a meaningful clue with some simple context.

## [Demystifying cookies in Rails 6](https://binarysolo.chapter24.blog/demystifying-cookies-in-rails-6/)

There are many different ways Rails can add a cookie to a user's computer, and this article explains the available APIs to do so and how they work.

## [Building Aggregates in Elixir and PostgreSQL](https://blog.appsignal.com/2021/07/13/building-aggregates-in-elixir-and-postgresql.html)

While this example uses Elixir, the knowledge about optimistic and pessimistic locking for handling concurrent updates is generally applicable.

## [Why writing software is not like engineering](https://www.cs.usfca.edu/~parrt/doc/software-not-engineering.html)

The "Engineering" question has loomed large over the craft of writing software for all of its existence, a very silent war for legitimacy amongst the classical engineering disciplines. This post takes a different tactic, seeking to transcend the dichotomy of legitimacy altogether.

## [Integration test on golang using Docker](https://medium.com/@rabin_gaire/integration-test-on-golang-using-docker-852f4c933cbe)

This article demonstrates a clear, clean pattern for implementing integration tests in Go against a dependency running as a Compose service. The Dockerfile and Compose configuration can be easily extended for other use cases.

## [Estimating Large-scale Software Projects](https://tomrussell.co.uk/writing/2021/07/19/estimating-large-scale-software-projects.html)

Helpful advice on where to start, and where to go, when going through the notoriously difficult and inaccurate exercise of estimating software projects.

## [Moving From Tailwind To CSS Variables](https://mikerogers.io/2021/05/12/moving-from-tailwind-to-css-variables)

If you introduce Tailwind, are you tied to Tailwind? Learn about what this author likes and doesn't like about the framework, and how they worked to have what they liked with as close to vanilla CSS as possible.

## [Feature Flags: Not Just for Big Teams or Big Features](https://www.johnnunemaker.com/feature-flags-for-tiny-bits/)

Come for a discussion on utilizing caching for a performance boost, stay for a strategy of how to safely release such an improvement with confidence - not only to move forward, but backwards if needed.

## [How Teams Can Be More Supportive With Help From Hanlon’s Razor](https://blog.trello.com/trello-hanlons-razor)

Heard of Hanlon's Razor? Check out this article to learn more about how you can use this principle to facilitate communication and strengthen relationships across your team.

## Contributors

- [Alex Jarvis](https://github.com/alxjrvs)
- [Ethan Fertsch](https://github.com/efertsch)
- [Kevin Murphy](https://github.com/kevin-j-m)
- [Mike Stone](https://github.com/mikestone14)
- [Nick Marshall](https://github.com/nialbima)
- [Taylor Kearns](https://github.com/taylorkearns)

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