Articles that I have been reading

Week 2022-25

Taking over an existing engineering team? Follow these three tips.

Everything a leader needs to know about inheriting an engineering team

Added: 23 Jun 2022
How engineering, design, and product form the ‘software trinity’

A guide to effective cross-functional collaboration

Added: 23 Jun 2022
HEY Bubble Up: From kickoff to launch — 37signals

At 37signals, we use the Shape Up methodology and work in 6-week cycles. Here’s how we worked on HEY’s Bubble...

Added: 23 Jun 2022
JavaScript Get Current Date – Today's Date in JS

When you're developing web applications, you might need to include the current date on which a particular operation is performed....

Added: 23 Jun 2022
State Machines in Ruby: An Introduction | AppSignal Blog

Let's build a simple state machine in Ruby and use the state machines gem.

Added: 23 Jun 2022
The Rails Configuration File (~/.railsrc)

Did you know that Rails has a ~/.railsrc file? Similar to your ~/.bashrc or ~/.zshrc file, you can...

Added: 23 Jun 2022
One-liner for running queries against CSV files with SQLite

I figured out how to run a SQL query directly against a CSV file using the `sqlite3` command-line utility: sqlite3...

Added: 22 Jun 2022

Week 2022-24

Mobile-First CSS: Is It Time for a Rethink?

Is mobile-first CSS always the best option? Patrick Clancey explores the pros and cons of the classic methodology, as well...

Added: 19 Jun 2022
Scaling Rails web sockets in Kubernetes with AnyCable

In this post I describe how I switched our backend from ActionCable to AnyCable to for more scalable and better...

Added: 19 Jun 2022
Using Terraform to Manage Infrastructure

Large applications are often a mix of code your team has written and third-party applications your team needs to manage....

Added: 18 Jun 2022
How to estimate and communicate timelines when building software

Your guide to becoming a better estimator

Added: 18 Jun 2022
Code I like (I): Domain-driven boldness

One of the first things I did when I started working at 37signals almost three years ago was cloning the...

Added: 16 Jun 2022
Better scrolling through modern CSS

There's more to scrollbars than you might expect

Added: 16 Jun 2022
The End of Localhost

All the Cloud's A Staging Env, and All the Laptops Merely Clients

Added: 16 Jun 2022
What Makes a Great Developer Experience? – Lee Robinson

Tools that keep developers in the flow state have a magnetic force. An often unexplainable, invisible pull that attracts and...

Added: 15 Jun 2022
Your Phone Belongs to You, You Don't Belong to It

Sometimes we can become addicted to the fast-paced nature of our industry. It doesn’t have to be this way. You...

Added: 14 Jun 2022
Self-destructing StimulusJS controllers

Add sprinkles of Javascript behavior with Stimulus controllers that run a few lines of code and then remove themselves from...

Added: 14 Jun 2022

Week 2022-23

Best Frameworks for Startup Launch and Growth | Railsware Blog

From hundreds of startup frameworks, we selected the most useful tools to help you knock it out of the park...

Added: 10 Jun 2022
Simplify Your Color Palette With CSS Color-Mix() — Smashing Magazine

CSS color-mix is an experimental function that blends two colors and can be used to simplify color palettes. You can...

Added: 10 Jun 2022
Episode 352 - Roles from Scratch

In this episode, we look at different authorization approaches from the most simple to more complex scenarios.

Added: 09 Jun 2022
Rails now provides pattern matching support for ActiveModel

Ruby on Rails and ReactJS consulting company. We also build mobile applications using React Native

Added: 09 Jun 2022
Rails 7.1 adds authenticate_by with has_secure_password

Rails 7.1 introduces a method authenticate_by, used with has_secure_password to prevent timing-based enumeration attacks.

Added: 08 Jun 2022
Query by Duration in Active Record

How do you even save a “duration”, let alone query for records by that value? It’s actually easier than you...

Added: 07 Jun 2022

Week 2022-22

The science of interviewing developers

All those CEOs on LinkedIn claiming they can find the right candidate in a five-minute conversation? Wrong. Science shows us...

Added: 02 Jun 2022
Five must-reads for Staff+ engineers

Our top articles for Staff+ readers

Added: 01 Jun 2022

Week 2022-21

2022 Ruby on Rails Community Survey Results

Over 2,600 members of the Rails community from 92 countries kindly contributed their thoughts on tools, frameworks, and workflows in...

Added: 26 May 2022
Four ways to invest in junior engineers

Setting junior developers up for success

Added: 26 May 2022
Rolis Blog - Custom turbo stream actions

Turbo Hotwire is neat, I really like the simplicity of Turbo frames. But after having used CableReady the turbo streams...

Added: 26 May 2022
reveal.js

Are you from India, 日本, Mexico, 香港, Україна, or any African nation? Use one of these codes intead:

Added: 26 May 2022

Thankfully guard-rspec has been developed to allow us to integrate rspec with guard seamlessly and there are only a few...

Added: 26 May 2022

A playlist of our blog posts about development practices.

Added: 24 May 2022
What is Debounce in JavaScript?

In this article, I will cover one of the interesting topics of JavaScript Debounce Function and share with you how...

Added: 24 May 2022
Rails 8 : unreleased features

Rails 8 has not yet a release date at this time of writing. What kind of feature could be fun...

Added: 24 May 2022
Event Streaming in Rails with Kafka

Do you need to process a lot of data in real time? Event streaming is a pattern that could help....

Added: 24 May 2022
Lesser-Known And Underused CSS Features In 2022 — Smashing Magazine

CSS is constantly evolving, and some cool and useful properties either go completely unnoticed or are not talked about as...

Added: 24 May 2022
How to add a Command Palette to your Ruby on Rails app (Example) | GoRails - GoRails

A command palette is a common feature for power users. Learn how to add a command palette to your Ruby...

Added: 23 May 2022
Understanding Ruby blocks - Code with Jason

Blocks are a fundamental concept in Ruby. Many common Ruby methods use blocks. Blocks are also an integral part of...

Added: 23 May 2022
Understanding ViewComponent concepts by building a button

The ViewComponent library from GitHub is becoming a popular answer to building design systems in server-rendered Rails applications. Let’s understand...

Added: 23 May 2022

Week 2022-20

Scraping Buy: Scripting for a Purchase

I wrote a small script to scrape a website to tell me when guitars were in stock.

Added: 22 May 2022
Building a Design System from scratch - Maxime Heckel's Blog

A deep dive into my experience building my own design system that documents my process of defining tokens, creating efficient...

Added: 22 May 2022
State of CSS 2022

Web styling features of today and tomorrow, as seen at Google IO 2022, plus some extras.

Added: 22 May 2022
How to build and scale a Staff+ engineering community

What’s the value of a Staff+ community, and how can you get one off the ground?

Added: 20 May 2022
How to run a great retrospective

Accelerating your team with regular, productive retrospectives

Added: 20 May 2022
How to Mock ActionMailer

Using RSpec custom matchers to make clean ActionMailer mocks

Added: 20 May 2022
How to feel engaged at work: a software engineer's guide | Jason Tu

On fighting the feeling of "blah".

Added: 20 May 2022
Soft deletion with PostgreSQL: but with logic on the database! — Martian Chronicles

Rubyists might take special pleasure here, but every SQL and PostgreSQL dev can learn this unorthodox approach: putting soft delete...

Added: 20 May 2022
Using Scientist to Refactor Critical Ruby on Rails Code | AppSignal Blog

Migrate, refactor, and change critical Ruby production code with confidence using the Scientist gem.

Added: 20 May 2022
Scaling Engineering Teams via  RFCs: Writing Things Down

I have recently been talking at small and mid-size companies, sharing engineering best practices I see us use at Uber,...

Added: 20 May 2022

Maybe you have heard about the counter cache feature. A counter cache makes finding the number of belonging objects more...

Added: 18 May 2022
What are the best ways to scale Ruby on Rails app?

We present proven ways to scale Ruby on Rails applications. Find out how to prepare your app's architecture to meet...

Added: 18 May 2022
Try Infrastructure as Code eBook Series | Linode

Justin Mitchel provides a step-by-step IaC guide for Terraform, Ansible, Puppet, Chef, and Salt.

Added: 16 May 2022
Fly.io: the Reclaimer of Heroku's Magic

Fly.io: the Reclaimer of Heroku's Magic - Xe's Blog

Added: 16 May 2022

Week 2022-19

Dockerizing a Ruby on Rails Application - Semaphore Tutorial

Read about the advantages of using Docker and learn how to build and dockerize a Ruby on Rails application that...

Added: 14 May 2022
A Case for Query Objects in Rails

When is it best to reach for query objects and how can we best structure them?

Added: 14 May 2022
How to Add Custom Fonts to your Rails Application

A quick guide to the 4-step process of loading a custom font file into your Rails application.

Added: 13 May 2022
GitHub - ankane/searchjoy: Search analytics made easy

Search analytics made easy. Contribute to ankane/searchjoy development by creating an account on GitHub.

Added: 13 May 2022
How to Sell a One-time Purchase in Rails With Stripe

Have you ever wanted to accept payments in Rails? With Stripe Checkout, it's never been easier. Jeffrey Morhous shows us...

Added: 13 May 2022
How to redesign your architecture to reduce technical debt

Building the system architecture your teams need

Added: 13 May 2022
It's About Time (Zones)

An overview of time zones in Rails.

Added: 12 May 2022
4 Lesser-Known Emmet Tricks To Speed Up Your Coding

And why coding speed matters

Added: 10 May 2022

Week 2022-18

You Don’t Need A UI Framework — Smashing Magazine

Developers often reach for UI frameworks like Bootstrap or Material UI, hoping that they’ll save a bunch of time and...

Added: 07 May 2022
The Large, Small, and Dynamic Viewports

There are some changes being proposed regarding viewport units, finally solving that "100vh in Safari on iOS" issue …

Added: 07 May 2022
What is a Rails model? - Code with Jason

In the model-view-controller pattern that Rails is built on, it’s pretty clear what views and controllers are, but models are...

Added: 06 May 2022
How to gather helpful insight from your peers

Getting the feedback you need from colleagues and friends

Added: 06 May 2022
Breaking the Monolith at Twitch: Part One | Twitch Blog

This is Part One (of two) of our story chronicling Twitch’s journey from monolithic architecture to microservices. In Part One,...

Added: 05 May 2022
Heroku admits that customer credentials were stolen in cyberattack

Heroku has now revealed that the stolen GitHub integration OAuth tokens from last month further led to the compromise of an internal...

Added: 05 May 2022
Empathy for the Dev: Avoiding common pitfalls when communicating with developers

All too often, developers go deep on the wrong things, when writing documentation. A little bit of empathy can get...

Added: 05 May 2022
Starting a blank Jekyll site with Tailwind CSS in 2022

Most websites I build start off as a blank Jekyll site with Tailwind CSS on top.

Added: 05 May 2022
Bootstrapping with Ruby on Rails Generators and Templates | AppSignal Blog

Let's explore the basics of Rails generators and templates, then examine how to customize your Rails app with templates.

Added: 04 May 2022
Designing a good MVP means thinking outside of the box – TechCrunch

MVP is such a profound misnomer; a good MVP is not viable, and it is certainly not a product. Chances...

Added: 04 May 2022
Integrating Stripe’s Product API Into Your Rails API

A hands-on guide on Stripe’s Product API Integration

Added: 04 May 2022
Steal this interview script

A boilerplate script for 1:1 remote user interviews.

Added: 03 May 2022
How to Avoid Race Conditions in Rails

Race conditions are hard to debug—especially when you don't know it's a race condition! This article looks at some common...

Added: 03 May 2022

Week 2022-17

21 Tips to Write Better Posts for Developers - Semaphore

You can write for fun, to learn, or make a living too. Check out our 21 tips to write posts...

Added: 30 Apr 2022
Turbocharged realtime search with Ruby on Rails 7

Adding basic search functionality to a Ruby on Rails app is not the toughest task in the book but when...

Added: 29 Apr 2022
Ruby on Rails Flash Messages With Hotwire

In this video, we're going to take a look at Rails' flash messages, how they work, and what changed since...

Added: 29 Apr 2022
Taking out the guesswork: How to set clear expectations as a manager

The importance of communicating your expectations with your team

Added: 29 Apr 2022
The four phases of a test - Code with Jason

When writing tests, or reading other people’s tests, it can be helpful to understand that tests are often structured in...

Added: 29 Apr 2022
How to avoid sleep in Rails system tests

Writing system tests can be sometimes tricky because we want to assert a reality that’s not yet rendered. Ad-hoc sleeping...

Added: 29 Apr 2022

Kevin Newton

Added: 29 Apr 2022
My sane approach to test fixtures in Rails

My approach on how I keep my test fixtures manageable, sane, and obvious. Not hard and fast rules, but guidelines...

Added: 28 Apr 2022
Tips for Using FactoryBot Without an ORM

Exploring how to use FactoryBot effectively with models backed by plain Ruby objects.

Added: 28 Apr 2022
deploy.yml

GitHub Gist: instantly share code, notes, and snippets.

Added: 27 Apr 2022
How to spot high-potential junior talent during interviews

Strategies for identifying top engineering talent

Added: 25 Apr 2022
A naming convention for ActionMailer emails

A Ruby on Rails email naming convention for clear and easy communication of purpose

Added: 25 Apr 2022
4 ways we use GitHub Actions to build GitHub | The GitHub Blog

From automating builds and releases to taking care of large-scale regression testing, here are a few ways we use GitHub...

Added: 25 Apr 2022

Week 2022-16

What are the Different Layers and Parts of a Design System?

What is a successful design system made of? Learn about the four layers of a design system and the parts...

Added: 22 Apr 2022
The key to managing a global remote team

Building inclusivity and alignment in distributed teams

Added: 22 Apr 2022
Let's play design patterns: Form Objects – Nimble

Form Objects are a great addition to the toolbox provided by Rails. Follow our step-by-step guide to start building better...

Added: 22 Apr 2022
Testing Techniques: The I/O Table

Leverage the power of the I/O table mindset to make your tests as maintainable and readable as possible.

Added: 21 Apr 2022
The Future of CSS: CSS Toggles

Late last week, I was very delighted to see that Chromium will start prototyping with CSS Toggles, a proposal currently...

Added: 20 Apr 2022

Week 2022-15

Where do I put my business logic in Rails?

Using the Command Pattern to achieve slimmer controllers

Added: 17 Apr 2022

A few years ago, Matt Swanson wrote a great post on setting up Rails CI on GitHub Actions. It quickly...

Added: 17 Apr 2022
Understanding Rails secrets/credentials - Code with Jason

What this feature is for The credentials feature is a way of storing secrets that you don’t want to keep...

Added: 16 Apr 2022
Custom Ranges in Ruby

How can we create ranges out of custom objects?

Added: 15 Apr 2022
Managing Heroku's Review Apps From the GitHub's Pull Request - The Lean Software Boutique

At OmbuLabs, we have some projects where multiple teams work at the same time on different features or fixes. We...

Added: 15 Apr 2022
How to get a Google Sheet as JSON

Google Sheets can be a great place to store content for a website, since it’s structured and easy to update...

Added: 14 Apr 2022
CSS Parent Selector - Ahmad Shadeed

A deep-dive into the CSS :has parent selector with some use-cases and examples.

Added: 14 Apr 2022
Custom Error Pages in Ruby on Rails

Ruby on Rails ships with default error pages for more popular requests you might encounter including `404`, `500`, and `422`....

Added: 13 Apr 2022
SCQA: What is it, how does it work, and how can it help me? - Analytic Storytelling

Need a structure for your story? We show you what the SCQA method is and how you can start using...

Added: 11 Apr 2022
Database Seeds

Bullet Train introduces a new, slightly different expectation for Rails seed data: It should be possible to run rake db:seed...

Added: 11 Apr 2022
A Generic 'Image' Wrapper for Active Storage in Rails 7

Staying DRY while storing descriptions in a not-model-specific way

Added: 11 Apr 2022
Personal Knowledge Graphs

A new generation of note-taking tools helps us quickly organize thoughts as knowledge graphs

Added: 11 Apr 2022

Week 2022-14

Staff engineer communities — No Idea Blog

There haven’t been a lot of community structures or resources for Staff+ engineers. That’s changing.

Added: 07 Apr 2022
RSpec.describe vs. describe

RSpec’s block has two common syntaxes. Which should you use? Disclaimer: they both work. But I’m assuming since you’re here,...

Added: 07 Apr 2022

Feature flags are an effective method for developing and introducing large changes to an existing codebase without large interruptions to...

Added: 07 Apr 2022
Authorization in Rails controllers: Pundit versus CanCan

Securing controller endpoints is an important aspect of most non-trivial web applications. For Rails applications there are a number of...

Added: 07 Apr 2022
8 amazing CSS techniques to use right now

Explore the most exciting CSS that's now in a browser near you.

Added: 07 Apr 2022
Meta Tries to Break the End-to-End Encryption Deadlock

A new report Meta commissioned aims to redefine comprehensive encryption as essential to protecting human rights.

Added: 07 Apr 2022
Picture perfect images with the modern <img> element

You may not think about images as part of your web dev work, but they can affect your web app's...

Added: 07 Apr 2022
How to clear up obscure Rails tests using Page Objects - Code with Jason

The challenge of keeping test code clean The hardest part of a programmer’s job isn’t usually figuring out super hard...

Added: 04 Apr 2022

Week 2022-13

How GitHub does take home technical interviews | The GitHub Blog

We want to evaluate how well candidates can code, and we also want to ensure candidates can show their talents...

Added: 01 Apr 2022
How To Build a Powerful Search Form With Hotwire

In this video, we're going to look at how to create a search form using Hotwire. Namely, we're going to...

Added: 01 Apr 2022
Hotwire Handbook Part 1

Recently I’ve been playing with Rails 7 and Hotwire.

Added: 01 Apr 2022
Toggling page content with Turbo Frames and Kredis

Wanting to show/hide content on a page is an incredibly common task, and we're probably all familiar...

Added: 01 Apr 2022
User notifications with Rails, Noticed, and Hotwire

Using the Noticed gem, Turbo Streams, and Turbo Frames to buld a real-time, in-app user notification system in Ruby on...

Added: 01 Apr 2022
5 Tips to Design Ruby on Rails Transactions the Right Way | AppSignal Blog

Check out these 5 tips to ensure your transactions are readable and well-designed in your Ruby on Rails app.

Added: 01 Apr 2022
Rails 7 adds support for deferrable foreign key constraints in PostgreSQL

Ruby on Rails and ReactJS consulting company. We also build mobile applications using React Native

Added: 01 Apr 2022
Design Patterns: Memento

The memento design pattern provides us the very useful functionality of reverting to a previous state of an object when...

Added: 30 Mar 2022
10 Books Shopify’s Tech Talent Think You Should Read

Shopify software engineers, developers and development managers name the books they think everyone in tech and engineering should read.

Added: 30 Mar 2022
Architecture Decision Records help you, your team, and future teams

Architecture Decision Records (ADRs) can be a huge help to your team. Whether facilitating discussion or recording the Why, ADRs...

Added: 30 Mar 2022
Reducing Leaky Abstractions Introduced by ActiveRecord

ActiveRecord provides a comprehensive interface for querying the database, but at what cost?

Added: 30 Mar 2022
GitHub - peterhellberg/hashids.rb: A small Ruby gem to generate YouTube-like hashes from one or many numbers. Use hashids when you do not want to expose your database ids to the user.

A small Ruby gem to generate YouTube-like hashes from one or many numbers. Use hashids when you do not want...

Added: 30 Mar 2022
GitHub - hotwired/turbo-ios: iOS framework for making Turbo native apps

iOS framework for making Turbo native apps. Contribute to hotwired/turbo-ios development by creating an account on GitHub.

Added: 30 Mar 2022
GitHub - excid3/noticed: Notifications for Ruby on Rails applications

Notifications for Ruby on Rails applications. Contribute to excid3/noticed development by creating an account on GitHub.

Added: 30 Mar 2022
GitHub - jondot/hygen: The simple, fast, and scalable code generator that lives in your project.

The simple, fast, and scalable code generator that lives in your project. - GitHub - jondot/hygen: The simple, fast, and...

Added: 30 Mar 2022
GitHub - pay-rails/pay: Payments for Ruby on Rails apps

Payments for Ruby on Rails apps. Contribute to pay-rails/pay development by creating an account on GitHub.

Added: 30 Mar 2022
The Easy Way to Host Google Fonts Locally

If you are looking to host Google Fonts locally, we'll introduce you to a quick and easy way to implement...

Added: 30 Mar 2022
The Best Video Transition Is Often... No Transition | Better Dev Screencasts

When cutting from Scene A to Scene B, it's often tempting to use one of the built-in transitions provided by...

Added: 29 Mar 2022
How to Lint FactoryBot Factories with RSpec

Invalid factories are the worst. Here is a script I normally drop into my rails projects to help spot them....

Added: 29 Mar 2022
Switching from ENV files to Rails Credentials

A little bit of my struggles with ENV files throughout the years, and hopefully a better solution.

Added: 29 Mar 2022
Getting to Know the Broadcast Channel API in JavaScript

Communicate Across Browser Tabs in Realtime

Added: 29 Mar 2022
A DRY Approach to Color Themes in CSS | CSS-Tricks

The other day, Florens Verschelde asked about defining dark mode styles for both a class and a media query, without...

Added: 28 Mar 2022
Rails Server Side Analytics From Scratch

Learn how to track user events without sacrificing privacy and performance.

Added: 28 Mar 2022

Week 2022-12

Teams should be an MVP feature!

Last updated on February 21, 2021. One of the most valuable features Bullet Train provides for Rails developers is the...

Added: 26 Mar 2022
GitHub - fatkodima/online_migrations: Catch unsafe PostgreSQL migrations in development and run them easier in production (code helpers for table/column renaming, changing column type, adding columns with default, background migrations, etc).

Catch unsafe PostgreSQL migrations in development and run them easier in production (code helpers for table/column renaming, changing column type,...

Added: 24 Mar 2022
Complete Guide To Managing User Permissions In Rails Apps

There are many excellent authorization libraries for Rails, but did you know it's not that hard to build this functionality...

Added: 24 Mar 2022
Those HTML Attributes You Never Use — Smashing Magazine

In this article, Louis Lazaris describes and demonstrates some interesting HTML attributes that you may or may not have heard...

Added: 24 Mar 2022
Intro to Thread-Safety in Ruby on Rails

Ensuring thread safety is critical if you want to build a performant Rails app. Unfortunately, threading-related bugs are often sneaky...

Added: 23 Mar 2022
A look at the CUBE CSS methodology in action

There are a lot of different approaches to writing CSS, with CUBE CSS by Andy Bell being one of the...

Added: 23 Mar 2022
Please stop writing shell scripts

It is quite difficult to write correct shell scripts; you’re much better off just using Python.

Added: 23 Mar 2022
User notifications with Rails, Noticed, and Hotwire

A nearly-universal need in web applications is user notifications. An event happens in the...

Added: 22 Mar 2022
Rails analytics made simple

Analytics (i.e. stats about your visitors) is nowadays not cheap. Let's see why, and let's see how Rails could help....

Added: 22 Mar 2022

Week 2022-11

How to Test Rails Models with RSpec - Semaphore

Learn how to test your Rails models using RSpec and the Behaviour-driven Development approach.

Added: 17 Mar 2022
5 JetBrains Plugins To Boost Your Productivity!

As you code, search, and collaborate

Added: 17 Mar 2022
Escaping the traditional Rails form

Theres been a pattern I've seen creeping in Rails apps. The pattern is that there are cases where...

Added: 14 Mar 2022
Distributed Systems with Rails

How to build distributed systems with Ruby on Rails

Added: 14 Mar 2022

Week 2022-10

Rails 6 adds support for multi environment credentials

Ruby on Rails and ReactJS consulting company. We also build mobile applications using React Native

Added: 11 Mar 2022
Appeal to Ruby community from Kharkiv Rubyist

I write to Ruby community in days of war Russia leads against my country.

Added: 11 Mar 2022
Abstraction in Rails - Code with Jason

If we wanted to, we could, of course, write web applications in assembly code. Computers can understand assembly code just...

Added: 11 Mar 2022
Inline documentation - the secret habit of successful devs. | Hanami Mastery - a knowledge base to hanami framework

Everyone would love to have a secret power. A skill that makes you a hero. There is no one such...

Added: 11 Mar 2022
git config – How to Configure Git Settings to Improve Your Development Workflow

git config is a powerful command in Git. You can use the Git configuration file to customize how Git works....

Added: 10 Mar 2022

Remote is the new normal. It brought with it some benefits, some challenges, and some frustrations. Now that our team...

Added: 10 Mar 2022
How we optimized PostgreSQL queries 100x

Some of the tricks we used to speed up SELECT-s in PostgreSQL: LEFT JOIN with redundant conditions, VALUES, extended statistics,...

Added: 09 Mar 2022
What's new in ES2022? 🤔

Soon the new version of ECMA Script will become standard in few months. So let's take a glimpse at...

Added: 07 Mar 2022

Week 2022-9

What We Loved from ProductCon 2022

This February, a handful of thoughtbotters attended the virtual ProductCon event. Here are a few of the team’s takeaways from...

Added: 04 Mar 2022
The selectmenu HTML Tag | CSS-Tricks

I want to introduce you to a new, experimental form control called selectmenu, including how much easier it is to...

Added: 04 Mar 2022
Building Web Layouts For Dual-Screen And Foldable Devices — Smashing Magazine

Dual-screen devices are just the next evolution in responsive design. If you have a PWA or website, the APIs available...

Added: 03 Mar 2022
Adding Super Fast Frontend Search in Rails with Lunr

Let's build a command palette for the Tickerizer application, using Rails 7, ESBuild, View Components, and all the goodness of...

Added: 03 Mar 2022
Ruby Fibers 101

Ruby on Rails and ReactJS consulting company. We also build mobile applications using React Native

Added: 03 Mar 2022
Import Maps Under the Hood in Rails 7 | AppSignal Blog

Learn how to install JavaScript libraries with import maps and how import maps work under the hood in Rails 7....

Added: 03 Mar 2022
Don't waste your time on assets compilation on Heroku

Don’t waste your time on assets compilation on Heroku At some point, you may want or be forced to use...

Added: 03 Mar 2022
A Recipe For A Good Design System — Smashing Magazine

Maintaining a design system is a lot of work. In this article, Atila Fassina shares his lessons learned and how...

Added: 03 Mar 2022

A playlist of our blog posts about css.

Added: 03 Mar 2022
5 Modern Bash Scripting Techniques That Only A Few Programmers Know

Make your Bash scripts more interactive and futuristic with these tips.

Added: 03 Mar 2022
How a searchable knowledge management system helped Dropbox reuse knowledge and work more effectively

Founded in 2007, Dropbox offers secure, flexible cloud storage and file sharing for individuals, teams, and enterprise customers.

Added: 03 Mar 2022
What you give up when moving into engineering management

Moving into a management role may be a rewarding step in your career, but you should know about the things...

Added: 03 Mar 2022
Rails administrate : big tutorial, bits of philosophy

administrate gem is often qualified as DSL-less admin builder, i.e. every file your admin dashboard rely on, can be fully...

Added: 28 Feb 2022
Free Ngrok alternative with Cloudflare Tunnels

Cloudflare Tunnel is an awesome feature of Cloudflare that allows you to expose some local services to the Internet with...

Added: 28 Feb 2022

Week 2022-8

Sharing Secrets with GPG | 8th Light

As software developers, we're often given access to various pieces of sensitive information in order to do our job. This...

Added: 25 Feb 2022
Future CSS: Level 4 Selectors

CSS does a lot with its selectors, but there's still a lot more it could do to make things easier...

Added: 25 Feb 2022
Introduction to Domain Events

What is a Domain Event? Introduction and definition.

Added: 25 Feb 2022
The Economics of TDD - Semaphore

TDD can help you accelerate development and reduce costs over a project’s lifecycle.

Added: 25 Feb 2022
Ruby - attr_accessor, attr_writer, and attr_reader

In Ruby, object methods are public by default, while data is private. To access data, we use the accessor method....

Added: 25 Feb 2022
10 Free Courses to Learn Terraform

Here see what I have curated based on my experience and personal notes.

Added: 25 Feb 2022
The new GitHub Issues - February 23rd update | GitHub Changelog

The new GitHub Issues - February 23rd update

Added: 24 Feb 2022
10 JetBrains Extensions to Fight Technical Debt🥷

My last article on 10 VS Code Extensions to Fight Technical Debt got over 50.000 views and 500...

Added: 24 Feb 2022
The Stimulus Trigger Pattern

I walk you through a real-world implementation of triggering HTTP requests as a side-effect of an action taken by a...

Added: 24 Feb 2022
Implementing CodePush in React Native - LogRocket Blog

Learn how to deploy app updates to end users with react-native-code-push, a CodePush module for React Native.

Added: 24 Feb 2022
What makes writing more readable?

Looking at how to make writing easier to read

Added: 24 Feb 2022
Rails adds support for Fiber-safe ActiveRecord ConnectionPools

Ruby on Rails and ReactJS consulting company. We also build mobile applications using React Native

Added: 23 Feb 2022
An Introduction to the ViewComponent Gem

Modern web UIs are complex. Traditional layout/template/partial techniques are not always the best fit. ViewComponent seeks to provide a better...

Added: 23 Feb 2022
Sidekiq In Rails: Native Worker & ActiveJob, Who’s The Winner? - 5 min read

Learnings from setting up a cron job in Rails using Sidekiq.

Added: 23 Feb 2022
How To Develop A Text Editor For The Web — Smashing Magazine

How do text typing and editing work on the web? Although this process might seem straightforward, there is a lot...

Added: 23 Feb 2022
Integration Testing with Capybara

Blend the speed of Rack::Test-driven Integration Tests with the power and utility of Capybara finders and assertions.

Added: 23 Feb 2022
Hotrails - Learn modern Ruby on Rails with Hotwire

Hotwire is the default front-end framework for new Ruby on Rails applications. Learn how to craft reactive single-page applications with...

Added: 21 Feb 2022

Week 2022-7

Modern Front-End Magic With Rails 7: A Visual  Editor For Markdown (Part 1)

In this article series, we build a reactive WYSIWYG editor for Markdown content using the brand new Alpha 2 release...

Added: 19 Feb 2022
The Importance of Vision as a Developer

Fixer Upper. We all love it. Even if you hate it… you still kinda love it. If you are unfamiliar......

Added: 19 Feb 2022
bliki: DesignStaminaHypothesis

The value of good software design is economic: you can continue to add new functionality quickly even as the code-base...

Added: 19 Feb 2022
GitHub - Shopify/maintenance_tasks: A Rails engine for queueing and managing maintenance tasks for data migrations and backfills.

A Rails engine for queueing and managing maintenance tasks for data migrations and backfills. - GitHub - Shopify/maintenance_tasks: A Rails...

Added: 19 Feb 2022
Deconstructing the Monolith: Designing Software that Maximizes Developer Productivity

Designing Software that Maximizes Developer Productivity. Learn how Shopify took its code base from monolith to modular monolith.

Added: 19 Feb 2022
Changing a polymorphic_type in Rails

How my team redefined the way we store one of the polymorphic associations in the Shopify codebase. This post is...

Added: 19 Feb 2022
Understanding RBS, Ruby's new Type Annotation System

Ruby's flexibility has always been both its greatest strength and its greatest weakness. You can write amazingly expressive programs. You...

Added: 18 Feb 2022
ErgoServ | Command Objects - a.k.a Service Objects in Ruby on Rails - The Ergonomic Way

Reliable custom software development and consultancy. Dedicated software development teams. Ruby on Rails experts.

Added: 18 Feb 2022
When I do TDD and when I don't - Code with Jason

Some developers advocate doing test-driven development 100% of the time. Other developers think TDD is for the birds and don’t...

Added: 17 Feb 2022
Create a Nested Form in Rails from Scratch

The Rails Guides give a great example of how to create nested forms. However, Rails does not support adding fields...

Added: 17 Feb 2022
Knowledge playlists are now available in our playbook

A breakdown of our best-of blog posts for consulting.

Added: 17 Feb 2022
Where do you put spacing on design system components?

While creating mature components in Sketch and Figma both take a lot of upfront work, the way a designer interacts...

Added: 15 Feb 2022
The React Cheatsheet for 2022

Do you want to get up to speed with React as quickly as possible? I’ve put together a super helpful...

Added: 15 Feb 2022

Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.

Added: 14 Feb 2022

Week 2022-6

8 new JavaScript features you might have missed

It’s not easy keeping up with all the new features the ECMAScript spec brings us every year. Let’s catch up...

Added: 12 Feb 2022
Getting started with project planning on GitHub | The GitHub Blog

GitHub's new project experience is built with flexibility in mind. Here's how to get started with GitHub Issues and project...

Added: 12 Feb 2022
Introducing Propshaft

It's an exciting time in web development. After a decade's worth of front-end progress kept demanding ever more complicated setups,...

Added: 12 Feb 2022
Rails Authentication From Scratch

If you're like me then you probably take Devise for granted because you're too intimidated to roll your own authentication...

Added: 10 Feb 2022
How to migrate from webpacker to jsbundling-rails (esbuild)

Install jsbundling-rails Swap pack_tag for include_tag Import stimulus controllers Migrate JS...

Added: 10 Feb 2022

WebAssembly is at an inflection point. Over the next few years, I expect to see increased adoption of WebAssembly across...

Added: 10 Feb 2022
Are Retrospectives Crucial to a Project's Success?

Is there value in focusing time to reflect on our recent work?

Added: 10 Feb 2022
Bearer | How to build modals with Hotwire (Turbo Frames + StimulusJS)

Modals are a great use case for showing the power of Turbo frames and Hotwire. Here's an example of how...

Added: 09 Feb 2022
CSS { In Real Life } | Aspect Ratio is Great

Tips, tricks and tutorials on the web’s most beautiful language.

Added: 09 Feb 2022
Custom esbuild for Rails

Inside Rails 7 apps, esbuild is wrapped into jsbundling. But what if you want to customize this build ?

Added: 08 Feb 2022
Using AWS S3 For File Storage in Rails Apps

S3 is an excellent way to store files scalably and reliably. This article by Jeff Morhous will show you how...

Added: 08 Feb 2022
Hotwire: Turbo-Streaming ViewComponents

Learn how to Turbo-Stream ViewComponents by building a message board.

Added: 08 Feb 2022

Week 2022-5

Pagination and infinite scrolling with Rails and the Hotwire stack

Nearly every web application will eventually need to add pagination to improve page load times and...

Added: 06 Feb 2022
A React Developer Chooses Rails, Igniting JavaScript Debate - The New Stack

A developer relates his experience choosing Ruby on Rails instead of using his normal go-to, a React-based single-page application framework....

Added: 06 Feb 2022
Data anonymization with Postgres

This post describes a simple and fast method to anonymize data in a Postgres database, useful for reporting or in...

Added: 04 Feb 2022
How I got Ruby snippets to run browser side in less than a day

Over the last year I've been working on Runno, an open source library and tool for embedding code...

Added: 04 Feb 2022

After recently discovering RSpec’s --next-failure option I’ve just happened upon the have_attributes matcher which can help turn many expectations into...

Added: 01 Feb 2022
How to Introduce Investment Time at Your Company

A client of ours plans to introduce a day of improvement each week. Here is my best advice for how...

Added: 31 Jan 2022
Getting Up and Running Quickly When Joining a Project

Joining an existing project as a developer comes with loads of challenges. If you need some inspiration on how to...

Added: 31 Jan 2022

Week 2022-4

GitHub - rpush/rpush: The push notification service for Ruby.

The push notification service for Ruby. Contribute to rpush/rpush development by creating an account on GitHub.

Added: 28 Jan 2022
Using entropy for user-friendly strong passwords

When implementing user authentication with passwords, throw out the password rules you know.

Added: 28 Jan 2022
GraphQL APIs in Rails

GraphQL is a flexible, strongly-typed query language. It's useful because it gives front-end developers the ability to query the database...

Added: 28 Jan 2022
Why we choose to teach Ruby on Rails in 2020 | Le Wagon

Is it worth making it the core framework of our web development Bootcamp, considering that most of our students are...

Added: 27 Jan 2022
What's new in Ruby 3.1?

Nithin Bekal's blog about programming - Ruby, Rails, Vim, Elixir.

Added: 25 Jan 2022
Git Organized: A Better Git Flow | Render

Development is rarely a linear process, and our commits tend to reflect this. Here you'll learn about a git flow...

Added: 24 Jan 2022

Week 2022-3

Feature flags (or feature toggles) are a neat way to hide in-progress features from your users. For those who need...

Added: 22 Jan 2022
Stop paying tech debts, start maintaining code

Stop paying down tech debt and start doing software maintenance. The real term we should all be talking about is...

Added: 22 Jan 2022
Maintainable Rails system tests with page objects

Rails system tests often depend on input and CSS selectors. To make our tests more maintainable, we can isolate layout...

Added: 22 Jan 2022
How to Simplify Asynchronous JavaScript using the Result-Error Pattern

The Result-Error Pattern helps you hide try-catch blocks, simplify error handling, and encapsulate cleanup operations.

Added: 20 Jan 2022
CSS in 2022

With 2021 coming to an end, let's take a look at which CSS language features we can expect to land...

Added: 18 Jan 2022
Ruby Splat Operator 🌟

The Ruby splat operator is confusing and here is why…

Added: 17 Jan 2022
Migrating From Turbolinks To Turbo

Turbolinks is no longer being developed. It's been superceeded by Turbo, which is part of Hotwire. In this article, Julio...

Added: 17 Jan 2022
Single attribute in-place editing with Rails and Turbo

Turbo can largely simplify our front-end needs to achieve a single-page application feel. If you have ever wondered how to...

Added: 17 Jan 2022

Week 2022-2

3 React Component Design Patterns You Should Know About

Top 3 design patterns used to create React.JS components that you should know about

Added: 12 Jan 2022
Eight Habits of Expert Software Designers: An Illustrated Guide

The best designers employ specific habits, learned practices, and observed principles when they work. Here are a few of them....

Added: 12 Jan 2022
Reframing tech debt – Increment: Planning

If we bake addressing tech debt into our plans, could it become an opportunity to build abundance into our systems?...

Added: 10 Jan 2022

Week 2022-1

4 tips for GitHub Actions usability (+2 debugging)

These tips can help save time and money while getting the most value from GitHub Actions.

Added: 04 Jan 2022

Week 2021-51

Ruby is Still a Diamond

Matz is nice and so we are nice.  — Ruby Community Motto

Added: 23 Dec 2021
RBS: A New Ruby 3 Typing Language in Action | AppSignal Blog

Let's discover the differences and similarities between Sorbet and the recently released RBS through some practical examples.

Added: 23 Dec 2021
Ruby on Rails Controller Patterns and Anti-patterns | AppSignal Blog

In this part of the series on Rails patterns and anti-patterns, we are going to analyze the final part of...

Added: 23 Dec 2021

Week 2021-50

Thoughts and learnings on writing better software

Added: 19 Dec 2021
Replacing Select2 with Tom Select + Stimulus · Cool Request

A blog about Ruby, Rails, Software, the Universe and Everything

Added: 19 Dec 2021
My Experience with Ruby for Good

Erin shared his first-hand experience of participating in Ruby for Good.

Added: 19 Dec 2021
Tidy Up Your Routes with Only

Tidy routes are happy routes

Added: 19 Dec 2021
Action Cable Rails ChatApp with React hooks

If you came across this article, you either have heard of Action Cable before or you are looking to dive...

Added: 19 Dec 2021
HTML Sanitizer API

Three cheers for (draft stage) progress on a Sanitizer API! It’s gospel that you can’t trust user input. And indeed,...

Added: 17 Dec 2021
Don’t start with microservices – monoliths are your friend – Arnold Galovics

I’ve been having this thought on the back of my mind for a long time to write about why it’s...

Added: 16 Dec 2021
When Memoization met DRY 💕 | Sami Birnbaum

Let’s go on a journey into the world of memoization through the medium of dance Rails…

Added: 16 Dec 2021
Rails 7.0: Fulfilling a vision

This version of Rails has been years in the conceptual making. It’s the fulfillment of a vision to present a...

Added: 16 Dec 2021
Tailwind and the Femininity of CSS

Why we undervalue front-end expertise in the web development world.

Added: 16 Dec 2021

Week 2021-49

Amazon Web Services In Plain English

It's named what? Figure out what Amazon Web Services should actually have been called.

Added: 08 Dec 2021
Publishing Node modules with TypeScript and ES modules - LogRocket Blog

Learn how you can write your packages in TypeScript but still ship your users modern JavaScript code that they won’t...

Added: 06 Dec 2021

Week 2021-48

Don't Use Floats and Use the Ruby Money Gem to Represent Currencies

It's surprising how often you still see this in the wild

Added: 05 Dec 2021
GitHub - karafka/waterdrop: WaterDrop is a standalone Karafka component library for generating Kafka messages

WaterDrop is a standalone Karafka component library for generating Kafka messages - GitHub - karafka/waterdrop: WaterDrop is a standalone Karafka...

Added: 05 Dec 2021
Ruby Open Source Projects For Beginners

Open-source is the greatest opportunity to gather real-world experience while you are still on your journey of getting into the...

Added: 05 Dec 2021
Backing up Heroku Postgres database, restoring it locally

Hello World, I am Karthikeyan. I eat briyani and worship Boomthata, the creator of God and Satan.

Added: 05 Dec 2021
Bearer | Why Hotwire in 2021

Find out why engineering team at Bearer made the decision last year to swap from a React on Rails SPA...

Added: 05 Dec 2021
Rails

Imagine we have 2 models Area Lane

Added: 03 Dec 2021
GDPR compliance and account deletion | Getaround Tech

As customers, we're all happy to know about GDPR and the protection of our private data this regulation enforces. But...

Added: 03 Dec 2021
Introduction to Rails Event Store

Rails Event store is a storage of events. Optimize operations to be as fast as possible. We can only read...

Added: 03 Dec 2021
Throw, Catch, Raise, Rescue – I’m So Confused! - avdi.codes

One of the aspects of Ruby that often confuses newbies coming from other languages is the fact that it has...

Added: 03 Dec 2021
ActiveRecord::Aggregations::ClassMethods

Active Record implements aggregation through a macro-like class method called composed_of for representing attributes as value objects.

Added: 02 Dec 2021
How to do multi-step forms in Rails - Code with Jason

Two kinds of multi-step forms The creation of multi-step forms is a relatively common challenge faced in Rails programming (and...

Added: 02 Dec 2021

Week 2021-47

Trying Elixir as a Rubyist

Elixir is similar enough to Ruby to be familiar, but different enough to get tripped up by! Image by OpenIcons...

Added: 25 Nov 2021
Understanding Ruby Proc objects - Code with Jason

What we’re going to do and why If you’re a Ruby programmer, you almost certainly use Proc objects all the...

Added: 24 Nov 2021
220: Turbo Native for Android and Hotwire with Jay Ohms

Your browser does not support the audio element. Download In this episode, Donn talks to Jay Ohms about Turbo Native...

Added: 24 Nov 2021

This is a Turbo Training page. Each section will contain an exercise to solve using Turbo. It will progress in...

Added: 24 Nov 2021
GitHub Issue-style File Uploader Using Stimulus and Active Storage

I recently built a drag-and-drop and copy-and-paste file uploader for Markdown (like GitHub’s editor) using Stimulus and Active Storage. Check...

Added: 24 Nov 2021
Audit Logging in Rails

Need to add audit logging to your Rails application? In this post, I review five popular Ruby gems you can...

Added: 23 Nov 2021
Writing AWS Lambda Functions in Ruby

AWS Lambda lets you run your code without worrying about the nuts and bolts of server management or scaling. You...

Added: 23 Nov 2021

Week 2021-46

A Comprehensive Checklist of Top 6 Ruby on Rails Security Best Practices

Adopt these top Ruby on Rails Security Best Practices to give your app an edge!

Added: 19 Nov 2021
How to use AWS Rekognition using Ruby on Rails!

Ever wanted to use a technology that can identify specific objects contained in any given image? Well look no further...

Added: 19 Nov 2021
Does ES6 make JavaScript frameworks obsolete?

Is ES6 the JavaScript release that will finally free us from the endless cycle of frameworks?

Added: 19 Nov 2021
Native CSS nesting: What you need to know - LogRocket Blog

Native CSS will support CSS nesting. What will that look like? What are its advantages? Learn more about native CSS...

Added: 19 Nov 2021
How to Improve Code Quality on a Ruby on Rails Application

Taking ages to deliver small changes? Constantly sacrificing code quality? Is it possible to ever pay off tech debt? Yes,...

Added: 19 Nov 2021
Rack Middlewares in Ruby on Rails

In this post, I will describe what Rack is and how to write middlewares in Ruby on Rails. I will...

Added: 19 Nov 2021
Metaprogramming in Ruby

The term metaprogramming sounds quite intimidating, especially for newbie developers such as myself. However, it’s a common misconception…

Added: 19 Nov 2021
What should I NOT write tests for? - Code with Jason

One of the most common questions about testing, including what to write tests for, is what NOT to write tests...

Added: 19 Nov 2021
Keeping time with TimescaleDB: understanding and integrating time-series data with Ruby on Rails — Martian Chronicles

Overview of TimescaleDB highlights. Understanding time-series data. Integrating with Ruby on Rails. Implementing views counter demo

Added: 19 Nov 2021
Where is Ruby Headed in 2021? - Big Nerd Ranch

Where is the Ruby language headed? Increasingly it seems efforts are geared toward expanding the set of systems, for which...

Added: 19 Nov 2021
Beautiful CSS box-shadow examples - CSS Scan

🎨 Curated collection of 93 free beautiful CSS box-shadow, ready-to-use for your next projects. Click to copy.

Added: 19 Nov 2021
Do less - Problems as shared spaces - Design in government

We believe in working in the open. This blog is for designers across government to share their projects, ideas and...

Added: 18 Nov 2021
The Benefit of React Native for your v1 Mobile App

What we’ve learned while supporting our clients in the decision to go with React Native for their first mobile app....

Added: 17 Nov 2021
Meet Fiber, Thread's Cooperative Cousin

A brief introduction to Ruby’s lightweight concurrency primitive.

Added: 16 Nov 2021

A classless CSS framework to make a good looking site quickly.

Added: 15 Nov 2021
Why T-shaped people?

A T-shaped person is capable in many things and expert in, at least, one.

Added: 15 Nov 2021

Week 2021-45

How to change the database in a Rails application ?

Hello guys ! sometimes I came across the need to change the application's database,...

Added: 12 Nov 2021
Rails 7 adds ActiveRecord::QueryMethods#in_order_of

Rails 7 series | Ruby 7.0 adds ActiveRecord::QueryMethods#in_order_of

Added: 12 Nov 2021
Rails 7 replaced byebug with ruby/debug

Rails 7 series | Rails 7 replaced byebug with ruby/debug

Added: 10 Nov 2021
A Rails Multi-Tenant Strategy That's ~30 Lines and

When engineering a new SaaS app, how you plan to handle customer data tenancy is usually one of the...

Added: 10 Nov 2021
Lesser Known PostgreSQL Features

Features you already have but may not know about!

Added: 09 Nov 2021

Week 2021-44

Airbnb Open Sources Ottr: a Serverless Public Key Infrastructure Framework

Airbnb announced that it has open-sourced Ottr, a serverless public key infrastructure framework developed in-house. Ottr handles end-to-end certificate rotations...

Added: 04 Nov 2021
Complexity is killing software developers

The growing complexity of modern software systems is slowly killing software developers. How can you regain control, without losing out...

Added: 04 Nov 2021
DOOM Rendered via Checkboxes

WebAssembly meets 16000 HTML checkboxes.

Added: 04 Nov 2021
Lights, camera, TESTS!

What do Tom Hanks, Meryl Streep, Julia Roberts, and Brad Pitt have in common? They all, at one time or...

Added: 04 Nov 2021
10 things I add to every Rails app

I end up creating a lot of Rails apps, and each time I get started I often find myself wanting...

Added: 04 Nov 2021
Peeking through logs - Asylum

Brace yourselves, for what follows is a recount of a case I've helped solve where the initial attack was performed...

Added: 03 Nov 2021
So, You Want to Build an @mention Autocomplete Feature?

We’re all familiar with the concept of autocompletion, right? You type something into a search box and it tries to...

Added: 03 Nov 2021
How we build software at Cloudflare

Cloudflare has a broad range of products -- ranging from security, to performance and serverless compute. These products are built...

Added: 03 Nov 2021
GitHub keeps getting better for open source maintainers | The GitHub Blog

Maintainers can now limit who can approve and request changes on pull requests. You can also close issues and block...

Added: 03 Nov 2021
How to defend good code - Code with Jason

Why good code needs defending Good code quite frequently comes under fire. Managers explicitly or implicitly pressure developers to cut...

Added: 03 Nov 2021
BBC Online: Architecting for Scale with the Cloud and Serverless

Matthew Clark discusses how the BBC’s website is designed in a scalable, performant, and resilient way, what the architectural solution...

Added: 01 Nov 2021
You Probably Don't Need Media Queries Anymore

With screens available in any size you can imagine, it's time to shift our approach towards responsive design – the...

Added: 01 Nov 2021

Async Ruby is a powerful and highly scalable concurrency feature. It's available today, it's production-ready, and it's an awesome addition...

Added: 01 Nov 2021

Week 2021-43

We're Testing Software Incorrectly and It's Costly - DZone DevOps

We should write tests to enable teams to confidently move fast. Code is always evolving, so question everything, collect experience,...

Added: 29 Oct 2021
Rails Turbo Broadcast Update to Partial

Send updates to a page using a specific partial.

Added: 29 Oct 2021
Testing your JSON API in Ruby with dry-rb

Using dry-schema and dry-validate to keep endpoint tests readable & maintainable

Added: 29 Oct 2021
A lesser known capability of Ruby's JSON.parse

A lesser known capability of Ruby’s JSON.parse If you ever got annoyed by the fact that JSON.parse returns hash with...

Added: 29 Oct 2021
A story of Rails encryption

This story starts in October of 2019. I was in the Basecamp meetup in Chicago two weeks after joining the...

Added: 29 Oct 2021
Being RESTful about your routes
– Known Decimal

When Rails applications grow, most likely your controllers/routes start to grow too. There’s no need to make Rails routes difficult...

Added: 29 Oct 2021
Sticky Definition Lists

I ran across this 30 seconds of code website the other day, and they have a CSS section which is...

Added: 29 Oct 2021
How I organize my Rails apps - Code with Jason

Overview Influenced by the experiences I’ve had last over the 10+ years of building and maintaining Rails applications, combined with...

Added: 28 Oct 2021

Week 2021-42

CSS is Going Gosh-Darned Hog Wild, I Tell Ya What

As someone just sittin' back watching CSS evolve, it feels like we're at one of the hottest moments of innovation...

Added: 24 Oct 2021
Could we drop Symbols from Ruby?

Could we drop Symbols from Ruby? Don’t know about you, but I personally have been hit a least a dozen...

Added: 22 Oct 2021
Respecting Users’ Motion Preferences — Smashing Magazine

The `prefers-reduced-motion` media query has excellent support in all modern browsers going back a couple of years. In this article,...

Added: 22 Oct 2021
Git Bisect: travel through time and bugs - Remi Mercier - Maker & Rails Developer

No matter how thorough your test coverage is, you can't test everything. So when you introduce a bug in your...

Added: 22 Oct 2021
FOSS Like A Boss

It’s possible you’ve seen the abbreviation while looking for a note-taking app or for alternatives to Google Maps. But what...

Added: 22 Oct 2021
Video Tutorial: Get Started with RBS in RubyMine | The RubyMine Blog

Hello everyone, In this tutorial, you will learn how to add RBS to your project and get an overview of...

Added: 22 Oct 2021

I was doing some research on introspecting Ruby on Rails database transactions for a Reddit thread, and came across this...

Added: 22 Oct 2021
Why solve a problem twice? Design patterns let you apply existing solutions to your code

Software design patterns are like best practices employed by many experienced software developers. You can use design patterns to make...

Added: 22 Oct 2021
Essential Skills For A Senior Rails Developer

Ruby on Rails and ReactJS consulting company. We also build mobile applications using React Native

Added: 20 Oct 2021
Business logic in Rails with operators

Having a thousand lines long controllers and/or models is not the right way to have sustainable applications or developers’ sanity....

Added: 20 Oct 2021
Rails 7 adds the ability to use pre-defined variants

Rails 7 series | Rails 7 adds the ability to use pre-defined variants

Added: 20 Oct 2021

Week 2021-41

How Rust developers are making the web safer

The Rust programming language makes it easier to build safer software. What will it take to Rust All the Things?...

Added: 16 Oct 2021
Rails 7 introduces ActiveModel::API

Ruby on Rails and ReactJS consulting company. We also build mobile applications using React Native

Added: 15 Oct 2021
Covariance and Contravariance in TypeScript

Covariance and contravariance are the concepts behind the subtyping of composable types.

Added: 15 Oct 2021
Building with Stencil: Bar Chart - Ionic Blog

There are a number of very robust charting libraries on the market. Some are commercial. Some are free. You should...

Added: 15 Oct 2021
Upgrading to Zeitwerk - FastRuby.io | Rails Upgrade Service

Zeitwerk is the code autoloader and reloader that was integrated with Rails 6. Beginning in Rails 7, it will be...

Added: 15 Oct 2021
Doist redesigns Twist, the Slack alternative focused on async work – TechCrunch

Doist, the company behind Todoist and Twist, has revamped its internal communication product Twist. When I first covered Twist, I...

Added: 15 Oct 2021
Smart CSS Solutions For Common UI Challenges — Smashing Magazine

Writing CSS has probably never been more fun and exciting than it is today. In this post we’ll take a...

Added: 15 Oct 2021
Why Women Don’t Apply for Jobs Unless They’re 100% Qualified

It’s not because they lack confidence.

Added: 14 Oct 2021
The Rails Style Guide

The guide is separated into several sections of related rules. I’ve tried to add the rationale behind the rules (if...

Added: 14 Oct 2021
Ruby Safe Navigation

Ruby’s safe navigation can hide some subtle edge cases. We explore approaches to think about conditional logic, alternatives to &.,...

Added: 13 Oct 2021
Organizing business logic in Rails with contexts

Rails programmers have almost always tried to figure out the golden approach to business logic in their applications. From getting...

Added: 13 Oct 2021

Week 2021-40

Learning to use Turbo Frames through examples in a Ruby on Rails app

Added: 09 Oct 2021
What’s the right font size in web design? – Pimp my Type

If you want your text to be read, set it at a sufficient size! But what is a good font...

Added: 09 Oct 2021
Have Single-Page Apps Ruined the Web? | Transitional Apps with Rich Harris, NYTimes

The backlash to modern front end development is gaining steam, with good reason: single-page apps have ruined the web. Can...

Added: 08 Oct 2021
6 tips for mentoring junior engineers

The acclimation process as a new engineer may be daunting for some. And since I’ve been through the...

Added: 07 Oct 2021
The Developers Guide To Scaling Rails Apps - DevGraph

Scaling Rails apps is a process of master app architecture and supporting infrastructure. Learn how it’s done straight from our...

Added: 07 Oct 2021
Simplifying Form Styles With accent-color — Smashing Magazine

The new CSS `accent-color` property makes it quick and easy to roll out our brand colors to certain form inputs...

Added: 07 Oct 2021
Creating a Continuous Deployment workflow using Github Actions to deploy your application to ECS

A well-written Continuous Deployment (CD) pipeline ensures that on every merge to a release branch,...

Added: 07 Oct 2021

It's fairly common when working on existing or legacy codebases to find models that have instance methods defined on them...

Added: 07 Oct 2021
Fun with Rails Enums and PORO

I really like enums. They can be really powerful if they are used wisely. Let’s see what we can do...

Added: 06 Oct 2021
Footnotes now supported in Markdown fields | GitHub Changelog

Footnotes now supported in Markdown fields

Added: 06 Oct 2021
Trunk-based Development | Atlassian

Learn about trunk-based development, a version control management practice where developers merge small, frequent updates to a core “trunk” or...

Added: 06 Oct 2021

Maybe you are already familiar with includes or preload, but you know that a lot of the time you will...

Added: 06 Oct 2021
Conditional Border Radius In CSS - Ahmad Shadeed

How to use CSS comparison functions to create a conditional border radius

Added: 04 Oct 2021

Week 2021-39

Rails Testing Antipatterns: Fixtures and Factories

Get familiar with common antipatterns in writing tests for Rails applications when using fixtures and/or factories to manage dependencies.

Added: 03 Oct 2021
How I set up a Rails application for testing - Code with Jason

Below is how I set up a fresh Rails application for testing. I’ll describe it in three parts: An application...

Added: 01 Oct 2021
Custom Form Handling With Turbo

Turbo will be a default part of Rails from Rails 7, replacing Turbolinks and rails-ujs. This post is a result...

Added: 01 Oct 2021

I just write here

Added: 01 Oct 2021
The Future of CSS: Cascade Layers (CSS @layer)

When authoring CSS we have to carefully think about how we write and structure our code. Cascade Layers (CSS @layer)...

Added: 01 Oct 2021
Five Turbo Lessons I Learned the Hard Way | Viget

Turbo is great. Here are a few things you should know as you begin to use it to add dynamic...

Added: 01 Oct 2021
Dynamic Select Fields in Rails with Hotwire (Example) | GoRails - GoRails

Need to dynamically update fields when a user changes a select box? We can do that easily in Rails using...

Added: 01 Oct 2021
Disable-With Using StimulusJS

DHH recently announced that Hotwire is going to be included in Rails 7 by default. Due to its...

Added: 01 Oct 2021
Multi-Factor Authentication for Rails With WebAuthn and Devise

If someone steals your password, they can pretend to be you. That's why many companies provide two-factor or multi-factor authentication...

Added: 30 Sep 2021
Web Streams Everywhere (and Fetch for Node.js)

Chrome developer advocate Jake Archibald called 2016 "the year of web streams." Clearly, his prediction was somewhat premature. The Streams...

Added: 30 Sep 2021
Create a simple OTP system with AWS Serverless

(This blog post first appeared in pubudu.dev) Intro This post describes how to implement...

Added: 29 Sep 2021
The Curse of Knowledge

Ever played Charades and acted out the perfect mime to ‘James Bond’, only to be met with blank stares? That...

Added: 28 Sep 2021

Week 2021-38

Building with Stencil: Countdown Tracker - Ionic Blog

Stencil allows developers to build reusable web components that can be incorporated into front-end frameworks like React, Angular, and Vue....

Added: 24 Sep 2021
Using the new `weekday_select` in Rails 7

In most of the Rails apps I've built over the years I've had to add my own helpers for a...

Added: 24 Sep 2021
Stimulus 3

The third major release of Stimulus represents a big milestone for the Hotwire community. This is the first release where...

Added: 24 Sep 2021
Your Program is a Special and Unique Snowflake

Simplify and clarify your code by carefully choosing abstractions.

Added: 24 Sep 2021
Action Mailbox: The Missing Manual

Action Mailbox: The Missing Manual. GitHub Gist: instantly share code, notes, and snippets.