The Gnar Company
The Gnar Company

RSpec Negated Matchers

To change and to not change, one must change and also not change.

Taylor Kearns September 13, 2021

Gnarly Learnings from August

A sampling of our favorite resources we learned from this month

Kevin Murphy September 07, 2021

Temporary State In Tests: Bloc(k) Party

Turn Bullet warnings into a Silent Alarm

Kevin Murphy August 16, 2021

Gnarly Learnings from July

A sampling of our favorite resources we learned from this month

Kevin Murphy August 02, 2021

Validate CSV Input With ActiveModel::Validations

BOOK IT! towards using existing framework functionality

Kevin Murphy July 19, 2021

Gnarly Learnings from June

A sampling of our favorite resources we learned from this month

Kevin Murphy July 06, 2021

Always Use RESTful Routes

Learn how to optimize your Rails routes for developer happiness.

Dan Frenette June 14, 2021

Gnarly Learnings from May

A sampling of our favorite resources we learned from this month

Kevin Murphy June 01, 2021

RailsConf Roundup 2021

What's in your stack, or playlist?

Kevin Murphy May 19, 2021

ActiveRecord's New Takes a Block, Kid

Hangin' Tough With All The Ways To Initialize An Object

Kevin Murphy May 17, 2021

Gnarly Learnings from April

A sampling of our favorite resources we learned from this month

Kevin Murphy May 01, 2021

Consistency Conundrum

If the only constant is change, how do we keep our code consistent?

Kevin Murphy April 26, 2021

To Change Or Not To Change

Here are more questions to try to answer THAT question

Kevin Murphy April 19, 2021

Gnarly Learnings from March

A sampling of our favorite resources we learned from this month

Kevin Murphy April 01, 2021

Wrapping Up Rails Exceptional Behavior

Putting a bow on our investigation

Kevin Murphy March 29, 2021

(W)rapping About Exceptional Behavior In Rails

Unwrapping a mystery

Kevin Murphy March 22, 2021

Gnarly Learnings from February

A sampling of our favorite resources we learned from this month

Kevin Murphy March 01, 2021

Querying PaperTrail Object Changes in JSON

Reliving the past has never felt so futuristic

Kevin Murphy February 15, 2021

Gnarly Learnings from January

A sampling of our favorite resources we learned from this month

Kevin Murphy February 01, 2021

Look Ma, no JWT!

Do you really need JWT in your application?

Nick Maloney January 27, 2021

Caching All Native Ruby Gem Platforms

Installing nokogiri WITHOUT native extensions

Kevin Murphy January 06, 2021

Stringing Code Together To Play Music

Anyone Can Play Guitar

Kevin Murphy December 15, 2020

Using Sonic Pi To Play Music With Ruby

Amplifying the impact of your code

Kevin Murphy December 14, 2020

Inheritance: Derivative Songwriting

There are only 12 notes to choose from

Kevin Murphy December 10, 2020

Synthesizing a Composition with Delegation

Orchestrating the sum so you don't need to know the parts

Kevin Murphy December 05, 2020

Shedding a Light on Duck Typing

It's time to light the lights

Kevin Murphy December 03, 2020

Dependency Injection: Plug In

These go to eleven

Kevin Murphy November 24, 2020

EXPLAIN Like I'm Five

Five ways to run EXPLAIN on your Rails database queries

Kevin Murphy November 10, 2020

Useful Sidekiq Patterns

Sidekiq workers are awesome, here are a few ways we think you can make them more awesome!

Dan Frenette May 08, 2020

Committing code at The Gnar Company

Commit this to memory...

Mike Stone February 14, 2020

Tell Don't Ask: Benefits and Limitations

"Tell Don't Ask" is a great principle, but it's possible to take it too far.

Dan Frenette February 05, 2020

PRY like a PRO

PRY is one of the most commonly used gems by Ruby devs, but are you getting the most out of its features?

Dan Frenette December 19, 2019

How to Properly Eager Load Associations

Eager loading data is great...unless ActiveRecord is requerying anyway

Mark Lodato December 18, 2019

ActiveRecord Cannot Read Minds

ActiveRecord - 60% of the time, it understands you every time

Mark Lodato December 17, 2019

Diffin' Dots

Git comparisons of the future...today!

Kevin Murphy December 13, 2019

The last record - according to whom?

The last record isn't necessarily the one with the highest id

Andrew Palmer November 18, 2019

Database Queries vs Database Results

Your Rails console makes it look like your code is doing more than it is

Andrew Palmer November 11, 2019

An Introduction to Firebase's Cloud Firestore: Part II

How Firebase's query rules try to be scalable by default

Reese Williams August 22, 2019

An Introduction to Firebase's Cloud Firestore: Part I

Snapshots, Documents, and References, oh my!

Reese Williams August 16, 2019

Building an MVP

Getting your product from concept to completion

Reese Williams August 15, 2019

React Native's Animated API

Everything you need to know for production-ready animations.

Reese Williams August 14, 2019

Design and Discovery Part II

The sequel

Pete Whiting July 17, 2019

Design and Discovery

Why design and discovery projects are the best way to kick-off a new product initiative

Pete Whiting July 16, 2019

When Systems Can't Agree on the Truth

You're on an island where knaves lie and only knights tell the truth...

Mark Lodato June 26, 2019

Optimizing Database Performance with Rails and Postgres

Small changes to give your app a boost.

Reese Williams May 14, 2019

PR Review Process

A value-add for clients and source of continued learning for the team.

Mike Stone April 22, 2019

React Component Comparison

Component? PureComponent? FSC? React.memo? Which should I use!?

Mark Lodato April 18, 2019

Retrospectives @ The Gnar

A casual environment for continuous company improvement.

Mike Stone April 08, 2019

Factories, RSpec stubs, database queries, and you

What to do when your user isn't really your user

Andrew Palmer May 10, 2018

How To: Make Your React Native App Work With The iPhone X Screen

One weird trick to get your React Native app to utilize the full screen of the iPhone X

Justin Kenyon March 15, 2018

Using the index as the iterator key in React apps is an antipattern

It's convenient, but can lead to some surprising problems with data that needs to be updated, sorted, filtered, or changed in any way.

Andrew Palmer March 09, 2018