Articles that I have been reading

Week 2025-50

Postgres Scan Types in EXPLAIN Plans | Crunchy Data Blog

What is a sequential scan vs index scan vs parallel scan .... and what is a bitmap heap scan? Postgres scan types explained and diagrammed.

postgres database
Added: 12 Dec 2025
Lessons learned from studying Fizzy test suite

The Fizzy application is a new play on Kanban board and project management. It has a comprehensive test suite focused mostly on unit and integration tests, althought other types of test are also present. The test suite is well-organized and follows Rails conventions with some application-specific patterns for multi-tenancy and UUID handling. Can we find more than that?

Ruby on Rails
Added: 11 Dec 2025
Making Rails Global IDs safer

The new LLM world is very exciting, and I try to experiment with the new tools when I can. This includes building agentic applications, one of which is my personal accounting and invoicing tool - that I wrote about previously As part of that effort I started experimenting with RubyLLM to have some view into items in my system. And while I have used a neat pattern for referencing objects in the application from the tool calls - the Rails Global ID system - it turned out to be quite treacherous. So, let’s have a look at where GlobalID may bite you, and examine alternatives and tweaks we can do. What are Rails GIDs? The Rails global IDs (“GIDs”) are string handles to a particular model in a Rails application. Think of it like a model URL. They usually have the form of gid://awesome-app/Post/32. That comprises: The name of your app (roughly what you passed in when doing rails new) The class name of the model The primary key of the model You can grab a model in your application and get a global ID for it: moneymaker(dev):001> Invoice.last.to_global_id Invoice Load (0.3ms) SELECT "invoices".* FROM "invoices" ORDER BY "invoices"."id" DESC LIMIT 1 /*application='Moneymaker'*/ => #> Rails uses those GIDs primarily in ActiveJob serialization. When you do DebitFundsJob.perform_later(customer) where the customer is your Customer model object which is stored in the DB, ActiveJob won’t serialize its attributes but instead serialize it as a “handle” - the global ID. When your job gets deserialized from the queue, the global ID is going to get resolved into a SELECT and your perform method will get the resulting Customer model as argument. All very neat. And dangerous, sometimes - once LLMs become involved.

AI Ruby on Rails
Added: 11 Dec 2025
How to Remove Secrets from Git History Safely

Accidentally committed secrets to Git? Learn how to safely and permanently remove sensitive data from your Git history using git-filter-repo — the modern,...

DevOps
Added: 10 Dec 2025
Create a Markdown Editor in Ruby on Rails | AppSignal Blog

In this post, we'll build a Markdown editor using Rails.

Ruby on Rails Tutorial Frontend
Added: 10 Dec 2025
Turn Any Idea Into a Validated MVP

A step-by-step path to validate your idea fast by defining the problem, testing assumptions, prototyping the critical flow, and shaping a focused MVP you can learn from.

Product Development
Added: 09 Dec 2025
Value Objects in Ruby: The Idiomatic Way

Master Value Objects in Ruby using the modern Data.define class. Learn about immutability, value equality, and how to eliminate boilerplate code for cleaner, safer domain modeling.

Ruby
Added: 09 Dec 2025
Logging outbound emails with ActionMailer in Rails | Storm Consultancy - Your Digital Technology Agency

A guide to using the ActionMailer after_deliver callback to log emails sent from your Ruby on Rails application

Ruby on Rails
Added: 09 Dec 2025

This is my personal site, where I write about Ruby, programming, and any of my varied fascinations.

Frontend CSS
Added: 09 Dec 2025

Week 2025-49

🧠 10 uncommon but powerful Ruby & Rails Methods.

As Ruby and Rails developers, we often rely on the same familiar set of methods to get things done. The same set of operations are more or…

Ruby on Rails
Added: 07 Dec 2025
Vanilla CSS is all you need

The post stuck with me. Over the past year and a half, 37signals has released two more products (Writebook and Fizzy) built on the same nobuild philosophy. I wanted to know if these patterns held up. Had they evolved?

Ruby on Rails CSS
Added: 05 Dec 2025
Building optimistic UI in Rails (and learn custom elements)

Learn how custom elements work in Rails by building an optimistic form. From simple counters to instant UI updates, understand when to use custom elements over Stimulus controllers.

Javascript Ruby on Rails Frontend
Added: 05 Dec 2025
Rails View Performance: Partial vs Component — Real Benchmark Comparison (Intermediate → Senior)

Not a Medium Member read it here…

Ruby on Rails Frontend
Added: 05 Dec 2025
Why I believe prototyping in code beats everything else

A code prototype changes everything. When you prototype in code, the thing you are testing is real. It works in the browser. It works on any device. It responds to real-world variables.

Productivity Product Development
Added: 04 Dec 2025
How To Rev Up Your Rails Development with MCP

Shipping new features on legacy Rails applications requires deep codebase context. The rails-mcp-server gem closes the gap between AI agents and your Rails projects, enabling more relevant code analysis and context aware refactoring suggestions. Whether you're dealing with tech debt in a brownfield application or building new greenfield features, this tool can help you move faster with confidence.

AI Ruby on Rails
Added: 01 Dec 2025
Single Responsibility Principle

Should a Ruby class do just one thing? Explore the Single Responsibility Principle, cohesion, and when to split classes through practical examples.

System design
Added: 01 Dec 2025
Speed Up Your Rails Testing Workflow with Local CI

Stop waiting for GitHub Actions. Rails 8.1's local CI runs your tests in seconds on your own machine. Here's how it works.

Productivity Ruby on Rails testing
Added: 01 Dec 2025
Building Self-Hosting Rails Applications: Design Decisions & Why

Technical deep-dive into the design decisions that make Broadcast a truly self-hostable Rails application.

Ruby on Rails DevOps System design
Added: 01 Dec 2025
Don’t Make Me Think Principle, Testing, and Intuitive Expectations

A new extension to Minitest Expectations by yours truly is the perfect illustration for this philosophy of programming.

Productivity testing Ruby
Added: 01 Dec 2025

Week 2025-48

Tips for effective prototyping with Rails 8 and Claude Code

As developers, we’re living in a time where building applications from scratch is easier than ever, thanks to AI tools like Claude Code. Our…

AI Ruby on Rails
Added: 30 Nov 2025
Common Pitfalls When Adopting Shape Up (and How to Avoid Them)

I see some common pitfalls when people try to do Shape Up "by the book." There are things in the book that are Basecamp-specific or often misunderstood, and teams who successfully adopt Shape Up route around them.

Productivity Product Development
Added: 24 Nov 2025
TDD is more important than ever

Lately, I've been reminded of the heady days of my agile youth by how often I've found myself asking, "how will we test this?" As I've mentioned…

testing
Added: 24 Nov 2025
Building a multi stage timetable with modern CSS using grid, subgrid, round(), and mod(). - 9elements

Combining finest craftsmanship with elegant design to ship innovative digital experiences.

Tutorial Frontend CSS
Added: 24 Nov 2025

Week 2025-47

Review your own git pull requests

Last week, I wrote about my experience working with the team at Cloud Four, and in particular some of their great practices around PR management. Today, I wanted to talk specifically about a habit my friend Gerardo Rodriguez got me into: reviewing your own pull request. It’s pretty simple. When you create a pull request in GitHub, click on the Files changed tab, and scroll through the diff. Anywhere you’ve done something new that’s not already explained by in-code comments, add a comment in the GUI about what you did and why.

Soft Skills Ways of Working
Added: 17 Nov 2025
Simple One-Time Passcode Inputs

Fully functional OTP entry may be easier than you think.

Frontend HTML
Added: 17 Nov 2025
A complete guide to the HTML number input

Styling, UX, validation

Frontend HTML
Added: 17 Nov 2025

On the benefits of using the default RESTful actions to prevent controllers from becoming too big and confusing.

Ruby on Rails System design
Added: 17 Nov 2025
How I Taught GitHub Copilot Code Review to Think Like a Maintainer - Angie Jones

Open source maintainers are getting more contributions than ever, thanks to AI-assisted coding. Here's how GitHub Copilot Code Review can help.

Saff Engineer AI
Added: 17 Nov 2025
EP189: How to Design Good APIs

A well-designed API feels invisible, it just works. Behind that simplicity lies a set of consistent design principles that make APIs predictable, secure, and scalable.

API System design
Added: 17 Nov 2025

Week 2025-46

Rails Performance: 5 Critical Bottlenecks You're Missing

Fix slow Rails apps in 5 steps. Guide covers N+1 queries, missing indexes, memory bloat, view rendering & asset compilation with real-world examples.

Ruby on Rails Performance
Added: 15 Nov 2025
Collaboration sucks

If you want to go fast, go alone; if you want to go far, go alone too. (mostly)

Soft Skills
Added: 15 Nov 2025
PostgreSQL 13 Is Reaching End of Life. The Time to Upgrade is Now!

PostgreSQL 13 is reaching end of life on November 13, 2025. Treat your upgrade not as maintenance, but rather as an investment in security, stability, and innovation.

database
Added: 15 Nov 2025
How I Use AI to Build Frontend Apps: My Candid, Messy Process

I've noticed that some of the pushback against using AI to code stems from people not knowing how to...

AI Tutorial
Added: 14 Nov 2025
Programming principles for self taught front-end developers

The majority of us are a bunch of self taught people with rather spotty knowledge and that's fine! Kilian (also self taught) is here to share some of the computer science fundamentals you probably are missing with the aim to improve your code in the long term.

Soft Skills
Added: 12 Nov 2025
How to design a join code system

Learn the ins and outs of building a game-based join code feature.

Ruby on Rails Tutorial
Added: 11 Nov 2025
Two products, one Rails codebase

Build multiple products from a single Rails codebase using variants and custom configuration class.

Ruby on Rails
Added: 11 Nov 2025
Keep your passwords secure, one way or the other

Hi, it’s Claudio Baccigalupo. Let’s explore this week’s changes in the Rails codebase.

Ruby on Rails
Added: 10 Nov 2025

Week 2025-45

Perfectly Pointed Tooltips: A Foundation – Frontend Masters Blog

The Anchor Positioning API in CSS is very powerful. This is the beginning of a series where we understand it through the perfect use-case: tooltips.

Frontend CSS
Added: 09 Nov 2025
How to Supercharge Your Rails App with MCP Server and Copilot for AI-Driven Translation

Learn how to integrate MCP Server with GitHub Copilot to transform your Rails app into an AI-powered translation platform with smart automation and speed.

AI Ruby on Rails Tutorial
Added: 09 Nov 2025
Building an AI Social Media Manager with Ruby on Rails: Architecture, Automation, and Lessons Learned

Building an AI Social Media Manager with Ruby on Rails: Architecture, Automation, and Lessons...

AI Ruby on Rails
Added: 09 Nov 2025
Ruby LangChain Testing Guide 2025 | RSpec + | JetThoughts…

Master RSpec testing for LangChain-Ruby with 25 working examples. Learn mocking, VCR, WebMock, and CI/CD automation. Build reliable AI features with 95%+ test…

AI Ruby on Rails testing
Added: 09 Nov 2025
Nano Banana with RubyLLM

Nano Banana hides behind Google's chat endpoint. Here's the straight line to ship it with RubyLLM.

AI Ruby
Added: 08 Nov 2025
Trusting the browser · Medienbäcker Thomas Günther

I've been thinking about how we approach accessibility in web development. Particularly about trusting the browser to implement things in an accessible way.

Frontend
Added: 08 Nov 2025
Transition to the Other Side with Container Query Units

How container queries help move an element to the opposite side of its parent container when both have dynamic responsive dimensions.

Frontend CSS
Added: 08 Nov 2025
Never forget how to delegate. This is the easiest framework for engineers.

How the most common type of document maps to delegation

Saff Engineer
Added: 04 Nov 2025
Jesse Waites, Senior Ruby on Rails Developer

Senior Level Ruby on Rails Developer for Hire

Ruby on Rails HOTWire
Added: 03 Nov 2025
Anyone Can Commit Code as You on GitHub (Here's How to Stop Them)

I've been signing my Git commits since 2020, and it's one of those security practices that seems...

Development
Added: 03 Nov 2025
The killer feature of Web Components

The personal blog of Dave Rupert, web developer and podcaster from Austin, TX.

Frontend
Added: 03 Nov 2025

Week 2025-44

Rails 8.1: Job continuations, structured events, local CI

Rails 8.1 represents the work of over 500 contributors across 2500 commits since our last major release. After some weeks of people trying the betas and releases candidates, we are excited to share the final release.

Ruby on Rails
Added: 29 Oct 2025
How does Turbo listen for Turbo Streams?

Let’s try to peer behind the curtain and figure out the answer to these questions. Doing so has a couple of important benefits:

Ruby on Rails Frontend HOTWire
Added: 27 Oct 2025

Week 2025-42

How to Build Tools for AI Agents | Towards Data Science

Learn how to design and build effective tools to be used by AI Agents

AI
Added: 18 Oct 2025

Week 2025-41

JavaScript Library Runs Machine Learning Models in Browser

AsterMind-ELM is a modular, Extreme Learning Machine (ELM) library for JavaScript and TypeScript. We speak to its creator.

AI Frontend
Added: 12 Oct 2025
Create a Kanban board with Rails and Hotwire

Build a Kanban board with columns and cards with Rails and Hotwire.

Ruby on Rails Tutorial Frontend
Added: 09 Oct 2025
Delete your old migrations, today

We get attached to code - sometimes to a fault. Old migrations are exactly that. They’re digital hoarding at its finest, cluttering up your codebase with files that serve absolutely no purpose other than to make you feel like you’re preserving some kind of historical record. But here’s the brutal truth: your old migrations are utterly useless. They’re worse than useless - they’re actively harmful. They’re taking up space, they are confusing (both for you and new developers on the project), and they give you a false sense of security about your database’s evolution. If your database is out-of-sync with schema.rb you need to solve that problem anyway, and - if anything - the migrations make that problem worse.

Ruby on Rails Tutorial
Added: 09 Oct 2025
Brandon Casci - How One Person Becomes a Dev Team with Claude Code

Learn how to orchestrate AI agents in Claude Code to multiply your development output. No frameworks, just folders and markdown that turn one developer into five specialists.

AI Productivity Ruby on Rails
Added: 09 Oct 2025
Polymorphic URLs with direct Router Helper in Rails

The Rails router's direct method lets you create custom url and path helpers, which is especially useful for polymorphic models and delegated types. This post shows how to use a single custom helper to generate URLs for different models, with a practical example from the open source Maybe project.

Ruby on Rails Tutorial
Added: 09 Oct 2025
Kamal's missing tutorial – how to deploy a Rails 8 app with Postgres

Rails 8 is out. And with it Kamal 2, the new default way of deploying Rails apps. But Kamal is hard for the uninitiated. This is a complete tutorial on how to get a Rails app fully in production using Kamal.

Ruby on Rails Tutorial Kamal Deployment DevOps
Added: 09 Oct 2025
Rails Generator Authentication in API-only apps - Avo

Learn how to implement authentication in Rails API-only applications using generators. Step-by-step guide covering setup, configuration, and best practices for secure API authentication.

Ruby on Rails Authentication Tutorial
Added: 09 Oct 2025
The Complete Guide to Dev Containers in Ruby on Rails - RorVsWild

From basic setup to advanced MCP integration: using Dev Containers for portable development environments that eliminate "works on my machine" problems.

DevContainers Ruby on Rails
Added: 09 Oct 2025
Browse Components · Quiet UI

Look through some of the best custom elements on the planet.

Components Library
Added: 09 Oct 2025
How to boost your management impact with AI tools

Across performance reviews, design decisions, and strategic communication, AI tools can reduce overhead and amplify the impact of strong management. 

AI Productivity
Added: 09 Oct 2025
Help teams thrive during organizational change

Organizational change can rock the foundations of any team. But knowing the reasoning behind the shift can open all sorts of doors.

Culture Saff Engineer
Added: 09 Oct 2025
How to Motivate Yourself To Do A Thing You Don't Want to Do

Learn some ways to help encourage action when you feel unmotivated.

Soft Skills Motivation
Added: 09 Oct 2025

An overview of what makes modern CSS so awesome.

Javascript
Added: 09 Oct 2025
Get Excited About Postgres 18 | Crunchy Data Blog

New to Postgres 18, features like asynchronous i/o, uuid v7, b-tree skip scans, and virtual generated columns.

postgres database
Added: 09 Oct 2025

Week 2025-39

Scaling Datastores at Slack with Vitess

From the very beginning of Slack, MySQL was used as the storage engine for all our data. Slack operated MySQL servers in an active-active configuration. This is the story of how we changed our data storage architecture from the active-active clusters over to Vitess — a horizontal scaling system for MySQL. Vitess is the present…

database DevOps
Added: 25 Sep 2025

Week 2025-36

Lexxy: A new rich text editor for Rails

A better Action Text.

Frontend Ruby on Rails
Added: 04 Sep 2025

Week 2025-35

Easy Redesign in Rails: Run Old and New Side by Side with :variants

Rails variants are usually used to serve different views for devices — but you can use them for much more, like running a redesign side by side.

Frontend Ruby on Rails
Added: 30 Aug 2025
Wubular: Rubular’s regex spirit, reborn with Ruby + WebAssembly

Rubular set the standard for regex testing in Ruby. With Ruby 3.2 bringing WebAssembly support, Wubular takes that idea into the browser — no servers, instant feedback, full privacy. It’s not just a remake, but a glimpse of what Ruby + WASM make possible for future apps.

Ruby
Added: 30 Aug 2025
A gentle introduction to anchor positioning

Anchor positioning allows you to place an element on the page based on where another element is.

CSS Javascript
Added: 30 Aug 2025
Yellow, Purple, and the Myth of “Accessibility Limits Color Palettes”  by Stéphanie Walter - UX Researcher & Inclusive Designer.

Accessibility does not limit creativity! Explore six distinct WCAG-compliant yellow and purple palettes and learn how to design your own.

Design
Added: 30 Aug 2025

Week 2025-34

Extend ActiveStorage for Ruby on Rails with Custom Previewers | AppSignal Blog

We'll dive into how ActiveStorage handles uploaded data and how to extend this process in the second part of this two-part series.

Ruby on Rails
Added: 19 Aug 2025
An introduction to RAG with llm.rb

Documents how to implement the RAG pattern with llm.rb

AI
Added: 19 Aug 2025

Week 2025-33

What are Forward Deployed Engineers, and why are they so in demand?

Startups and scaleups are on a hiring spree for a software engineering role pioneered by Palantir. A deepdive into this role, and why FDEs are so popular in 2025

Consulting
Added: 12 Aug 2025

Week 2025-32

Create a macOS-inspired stack UI with Stimulus and Tailwind CSS

Create a macOS-inspired stack UI by using powerful Tailwind CSS features and a simple Stimulus controller (with a twist)

Frontend HOTWire Ruby on Rails
Added: 07 Aug 2025
Achieving Multitenancy in a Rails App Using CurrentAttributes

While working with a legacy BBj PRO/5 database for a client, we needed to set up a new CMS with multitenancy requirements. We were dealing with a slew of foreign tables representing the PRO/5 data, and each of the tables had a column for designating which tenant they belonged to. Let's talk about how we leveraged ActiveSupport::CurrentAttributes to solve this problem!

Ruby on Rails
Added: 07 Aug 2025
Create a Rails Staging Environment and Deploy with Kamal

A staging environment is a safe replica of production where you can test features before going live. In this post, we'll create a staging environment for the blog and deploy to it with Kamal. It also covers the basics of Rails environments and shows how to configure Kamal for staging deployments.

DevOps Ruby on Rails
Added: 07 Aug 2025
Get the number of auto-fit/auto-fill columns in CSS – Frontend Masters Blog

The whole point of auto-fit and auto-fill is that you aren't saying how many columns to use. But if you knew how many the browser chose, you can make nice design decisions.

CSS
Added: 07 Aug 2025
Should we NEVER use non-logical properties? – Frontend Masters Blog

Best bet: just always use them. More nuanced take: there is a few situations where using the physical property is still releavant.

CSS
Added: 07 Aug 2025

Week 2025-31

Migration and upgrades: achieving near zero-downtime in PostgreSQL

This article explores techniques for achieving near zero-downtime during PostgreSQL migrations and upgrades

database
Added: 31 Jul 2025
Making Postgres 42,000x slower because I am unemployed

As an respectable unemployed person must do, I tried to make Postgres as slow as possible

database
Added: 31 Jul 2025

Week 2025-29

A handy use of subgrid to enhance a simple layout

subgrid in CSS is really handy for getting a nice level of design detail in place, especially in terms of maintaining a nice reading line, as Andy shows in this article.

CSS
Added: 18 Jul 2025
How To Reduce The PWA Boilerplate Of You Rails App - The Miners

In this continuation of our PWA series, explore how to reduce the service worker boilerplate in your Rails app.

Frontend Ruby on Rails
Added: 18 Jul 2025
Async Ruby is the Future of AI Apps (And It’s Already Here)

How Ruby's async ecosystem transforms resource-intensive LLM applications into efficient, scalable systems - without rewriting your codebase.

Ruby
Added: 15 Jul 2025

Week 2025-28

Hotwire components that refresh themselves

Using ViewComponents that know how to refresh themselves via turbo_streams is a powerful pattern to build complex flows with Hotwire

Frontend HOTWire Ruby on Rails
Added: 07 Jul 2025

Week 2025-27

5 gems you no longer need with Rails

… and check why 5600+ Rails engineers read also this

Ruby on Rails
Added: 02 Jul 2025
Making Rails delegated_type’s clearer - Kasper Timm Hansen

This past week, I was having a conversation with a reader and he brought up the example of Rails’ delegated_type. While I’ve never been a fan of the name, because...

Ruby on Rails
Added: 01 Jul 2025

Week 2025-26

Prevent logging sensitive information in Rails, and beyond

The Rails defaults are a good foundation, but it’s still your responsibility to filter sensitive information from logs when using external APIs, services, and tools.

Ruby on Rails
Added: 29 Jun 2025
Everyone Is Wrong About SQLite

Here's a spicy take: SQLite might be the best database choice for your next SaaS project. Yes,...

database Ruby on Rails
Added: 29 Jun 2025
Scaling Rails with PostgreSQL Read Replicas: Part 1 - Understanding the Basics

Learn when and why to use read replicas in Rails applications, understand the architecture, and implement basic read/write splitting with real-world exa...

database Ruby on Rails
Added: 26 Jun 2025
Versioning API requests

Learn how to handle API request versioning in Rails without duplicating controllers, using a schema-based approach that supports OpenAPI documentation and seamlessly maps external API structures to internal models.

Ruby on Rails
Added: 26 Jun 2025
Making Tables Work with Turbo

Fixing the problems Turbo has when being used to add dynamism to tables in Rails.

HOTWire Ruby on Rails
Added: 26 Jun 2025
Exploiting LLM chatbots

It is becoming more and more common to use LLM chatbots for customer support and it is pretty easy to introduce security issues while implementing them. Here is a little story about such thing.

AI
Added: 24 Jun 2025

Week 2025-25

Checklist: Is Your PostgreSQL Deployment Production-Grade? | Stormatics

This checklist can help you assess your current Postgres setup and identify steps that can enhance the robustness, security, and scalability of your PostgreSQL deployment.

database
Added: 19 Jun 2025

Week 2025-24

Exploring Common AI Patterns with Ruby

Three examples of integrating LLMs in Ruby using OmniAI.

AI Ruby
Added: 11 Jun 2025
Table partitioning in Rails, part 2 - Postgres Stories - Blog - Visuality

How to handle table partitionaing for an already existing table which holds some (probably much) data. How to do table partitioning in Ruby on Rails.

Backend database
Added: 11 Jun 2025

Week 2025-23

Running multiple apps on a single server with Kamal 2

Kamal 2 finally brings the most requested feature to reality and allows people to run multiple applications simultaneously on a single server. Here’s how.

DevOps Ruby on Rails
Added: 06 Jun 2025
Generative-Ai at Custom AI Solutions

Articles about Generative-Ai in the Custom AI Solutions blog.

AI Ruby on Rails
Added: 04 Jun 2025
Building Offline-First React Native Apps with React Query and TypeScript | Whitespectre

Learn how to build offline-first React Native apps with React Query and TypeScript for a responsive and seamless user experience even without internet connectivity.

Frontend Typescript
Added: 04 Jun 2025
10 Modern CSS Features You Want to Use

CSS is evolving quickly and there many really cool new features that can help you craft beautiful web pages.

CSS Frontend
Added: 02 Jun 2025
Short alphanumeric pseudo random identifiers in Postgres

Introduction In this post, we’ll cover a way to generate short, alphanumeric, pseudo random identifiers using native Postgres tactics.

Backend database Design
Added: 02 Jun 2025
Use CSS reading-flow for logical sequential focus navigation  |  Blog  |  Chrome for Developers

Learn how to use the new reading-flow and reading-order properties in Chrome 137.

CSS Frontend
Added: 02 Jun 2025
Documenting Your Rails API Shouldn’t Be Painful (Rails + OasRails) | Zuplo Blog

Learn how to generate OpenAPI documentation for your Rails API using OasRails.

Ruby Ruby on Rails
Added: 02 Jun 2025
You can style alt text like any other text

A fun little side quest to show you how applying styles to alt text can really elevate your user interface.

CSS Frontend Javascript
Added: 02 Jun 2025

Week 2025-22

Understanding logical replication in Postgres

A deep dive into how PostgreSQL logical replication works, including WAL, LSNs, streaming protocols, and how replicas stay in sync. We also explain how Springtail uses logical replication to scale reads, track schema changes, and maintain consistency in production.

database
Added: 30 May 2025
Concurrent Web Crawling in Ruby with Async | Los Angeles AI Apps

Los Angeles AI Apps is a digital product agency that builds custom Web applications with AI Integration. Launch an AI MVP in as little as one week.

Consulting Ruby on Rails
Added: 29 May 2025
Create a Markdown-Powered Textarea with Stimulus

Learn how to create a reusable, extendable Stimulus controller that enhanced a plain textarea field with markdown features.

Frontend HOTWire Javascript Ruby on Rails
Added: 29 May 2025
Custom domains and SSL in Rails development - Avo

Learn how to add custom domains and SSL for local Rails development using the puma-dev gem

Ruby on Rails
Added: 29 May 2025
Big Problems From Big IN lists with Ruby on Rails and PostgreSQL

Introduction If you’ve created web apps with relational databases and ORMs like Active Record (part of Ruby on Rails), you’ve probably experienced database performance problems after a certain size of data and query volume.

database Ruby on Rails
Added: 26 May 2025

Week 2025-21

Managing PostgreSQL table partitioning in Ruby

PostgreSQL table partitioning is a great way to improve database bloat but is hard to manage. The pg_partition_manager gem can help you maintain partitions.

database Ruby on Rails
Added: 23 May 2025
Litestream: Revamped

Bringing in what we learned from LiteFS

Backend database
Added: 21 May 2025

Week 2025-20

Driving View Transitions with Hotwired/Turbo

Learn how straightforward it is to add transitions between your pages using Hotwired/Turbo

CSS Design Frontend HOTWire Ruby on Rails
Added: 16 May 2025
Postgres 18 Beta Is Out: 7 Features You Should Know About - Neon

Postgres 18 Beta 1 just shipped, and it comes with top-requested improvements in performance, migrations, observability, and usability.

database
Added: 16 May 2025

Week 2025-19

SOLID: The Open–Closed Principle (OCP)

We visit the second SOLID principle: the open–closed principle (OCP). Does it still hold up, or is it bad advice in today's agile world?

Consulting Ruby
Added: 09 May 2025
Markdown Image Uploads with EasyMDE and Active Storage - Avo

Learn how to add image uploads to a markdown field using the EasyMDE editor, Rails and Active Storage.

Backend Frontend Ruby on Rails
Added: 09 May 2025
Are 'CSS Carousels' accessible?

— The personal website of Sara Soueidan, inclusive Web UI engineer

CSS Frontend
Added: 09 May 2025
A faster way to copy SQLite databases between computers

Dumping a SQLite database to a text file can make it much smaller, which means you can download it faster.

database DevOps Ruby on Rails
Added: 09 May 2025
Active Storage & Form Errors: Preventing Lost File Uploads in Rails

Rails' Active Storage makes file uploads easy, but validation errors can cause attachments to be lost when forms re-render. This guide explains why and walks through a step-by-step solution using direct uploads, signed IDs, and Stimulus for an improved user experience.

Ruby on Rails
Added: 09 May 2025
Why developers and their bosses disagree over generative AI

How to fix the disconnect over generative AI adoption and developer productivity.

AI Consulting
Added: 09 May 2025

Week 2025-18

Secure Coding in Ruby on Rails | Security Articles

A comprehensive guide to securing your Ruby on Rails applications

Ruby on Rails
Added: 29 Apr 2025
The One-Person Framework in practice

How I built a seven-figure business with Rails

Consulting Ruby on Rails
Added: 29 Apr 2025
Give it time

Modeling your domain as timelines instead of object graphs

Backend Design Ruby on Rails
Added: 29 Apr 2025

Week 2025-17

Don't Steal a Penguin -- A Guide to Rails Flashes

If someone tries to steal a penguin, how should you warn them?

Frontend Ruby on Rails
Added: 25 Apr 2025

Writing code with LLMs is fundamentally different from other ways of programming. LLMs are often non-deterministic and always unpredictable. They have a…

AI
Added: 21 Apr 2025

Week 2025-16

This is my personal site, where I write about Ruby, programming, and any of my varied fascinations.

database Ruby on Rails
Added: 15 Apr 2025

Week 2025-15

Simplify sharing with built-in APIs and progressive enhancement

Instead of leaning into heavy social sharing widgets, you can create a truly user-friendly social sharing component that works for everyone, using built-in APIs and progressive enhancement.

Frontend Javascript
Added: 10 Apr 2025
Ultimate Guide to Server Hardening for Kamal

Build, deploy and manage your applications on any cloud or your own servers.

DevOps Ruby on Rails
Added: 09 Apr 2025
Avoiding N+1 queries the Railsy way with strict loading

Need to catch N+1 queries without adding any extra dependencies to your project? Strict Loading makes it effortless, but your configurations need to be set up correctly to avoid unexpected behaviors.

Backend Ruby on Rails
Added: 08 Apr 2025

Week 2025-14

Your Product Should Be Shiny. Your Stack Should Be Boring.

Build shiny products on boring tech: proven frameworks, stable infrastructure, and tools that won’t vanish in 3 years.

Consulting Ruby on Rails
Added: 04 Apr 2025
Accessible Design Checklist

Improve your design’s accessibility with this quick reference checklist and Penpot plugin.

Design
Added: 03 Apr 2025

Week 2025-13

Implementing an Inventory Module in Ruby on Rails: Handling Concurrency with Database Locks and SKIP LOCKED

Implementing an Inventory Module in Ruby on Rails: Handling Concurrency with Database Locks and SKIP LOCKED When implementing an inventory module in a Ruby on Rails application, ensuring consistency in stock levels is crucial. If multiple users try to purchase the same item simultaneously, concurrency issues can lead to overselling. In this post, we’ll explore two approaches to handling inventory management: Using a simple counter with database locks to prevent race conditions. Improving performance using SKIP LOCKED for efficient inventory allocation.

Ruby on Rails
Added: 30 Mar 2025

Believe it or not, I don't think that title is clickbait.

database
Added: 27 Mar 2025

I’ve been recently working on a Slack bot and Slack delivers all events (webhooks) to the same URL that you can configure. That means you need to distinguish between different events types based on the payload (request body). In the past, I’ve seen that Rails apps usually reimplement their own “slack routing” within a single controller action. I wanted to share a different solution that I came up with. Let’s do routing in rails routing.

Ruby Ruby on Rails
Added: 27 Mar 2025
Why sprints | Swizec Teller

For the past few months I've been introducing sprints into a chaotic startup that's been growing so fast everyone's got whiplash. Since August, 5 engineers turned into 12. I think it's starting to work.

Consulting
Added: 26 Mar 2025
Examples of Value Objects with Ruby's Data Class

See examples of using Ruby's Data class for creating value objects, removing boilerplate code, and enhancing API response handling

Ruby Ruby on Rails
Added: 26 Mar 2025
Multilevel RAG

PREMISE Simply breaking an entire document into regular CHUNKs has some...

AI Typescript
Added: 26 Mar 2025
How to configure Postgres as an Accessory with Kamal 2 and Rails 8 on

In this guide I will explain how I configured and deployed a Rails 8.0.2 application using Kamal 2 with a Postgres database running as a kamal accessory on a single Virtual Private Server (VPS).

DevOps Ruby on Rails
Added: 26 Mar 2025
Action Policy

Authorization framework for Ruby/Rails application

Ruby on Rails
Added: 25 Mar 2025
Using the Presenter Pattern in Ruby on Rails

The presenter pattern is a handy design approach that sits between your views and models, helping you keep your code organized by handling view-specific logic in a clean and maintainable way. Let’s explore how to use it you your rails app.

Ruby Ruby on Rails
Added: 25 Mar 2025

Week 2025-12

Better stability with Rails load testing in Apache JMeter

Every Rails app has a breaking point. Follow along and learn how to test your application's performance under load with the Apache JMeter's Rails load testing.

DevOps Ruby on Rails
Added: 21 Mar 2025
Simple Declarative Presence for Hotwire apps with AnyCable—Martian Chronicles, Evil Martians’ team blog

Learn how to seamlessly integrate online presence tracking into a Rails application powered by Hotwire and AnyCable.

Backend Frontend HOTWire Ruby on Rails
Added: 21 Mar 2025
Creating Ruby Value Objects: The Idiomatic way

Learn to create value objects in Ruby using idiomatic practices, focusing on immutability, comparability, and the modern `Data` class

Backend Ruby Ruby on Rails
Added: 21 Mar 2025
Ruby Debugging Tips and Recommendations in 2025

A quick list of Ruby debugging tips and recommendations from Shopify’s Ruby DX team

Ruby Ruby on Rails
Added: 21 Mar 2025
Rails 8 Assets - Deep dive into Propshaft

Read the previous article to learn how Propshaft and importmap-rails work together to form the Rails 8 Asset pipeline. That article focuses on the interplay between the two and explains more of the importmap-rails side. Now, let’s dive into how Propshaft actually processes the assets.

Frontend Ruby on Rails
Added: 20 Mar 2025

Sooner than later your Rails app will see spam and bot sign ups. Here are three steps to minimize those sign ups from the day you launch.

Backend Ruby on Rails
Added: 20 Mar 2025
The search element

A quick look at the search element, a semantic element for search and filtering

CSS Frontend
Added: 19 Mar 2025
Minitest vs RSpec for testing Rails applications

LakyAI

Ruby on Rails testing
Added: 18 Mar 2025
Build AI-Powered Apps With Genkit and Angular

There has never been a better time to start building with AI and the state-of-the-art models available to developers everywhere. Building…

AI Frontend Javascript
Added: 18 Mar 2025
Creating Animated Accordions with the Details Element and Modern CSS

Learn how to create animated accordions using only HTML and modern CSS with the details element, interpolate-size, transition-behavior, and the :has() selector.

CSS Frontend
Added: 18 Mar 2025

Week 2025-11

Integer Enums vs. String Enums in Rails: Which One Should You Use?

Discover whether to use integer or string enums in Ruby on Rails. Learn their differences and see real-world code examples.

database Ruby Ruby on Rails
Added: 14 Mar 2025
Hotwire and That Syncing Feeling

How to create a multi-view presentation that stays in sync.

HOTWire Ruby on Rails
Added: 14 Mar 2025
The customizable select - Part one: history, trickery, and styling the select with CSS | utilitybend

Exploring customizable select elements. This series explores styling possibilities. The first article covers the history and provides a guide to building a custom select as a progressive enhancement. Styling selects with CSS for unique and fun experiences.

CSS Frontend
Added: 14 Mar 2025
Zero Downtime Rails Deployments with Kubernetes

If you’re deploying with downtime you don’t have continuous delivery, you have continuous downtime.

DevOps Ruby on Rails
Added: 13 Mar 2025
Crafting the Perfect Spring Color Palette

Discover a fresh spring color palette for your designs! See warm and cool nature-inspired hues perfect for branding, UI, and creative projects

Design Frontend
Added: 12 Mar 2025
Let the stagger experiments begin · March 11, 2025

Elements can now know which position they are in the DOM tree (index) and how many other elements there are in total (count).

CSS Frontend
Added: 12 Mar 2025

Hey Rails devs. I learned something new today I wanted to share. So doing OR queries in active record can be complex. For 1, you have to reference a whole query. For example, you can’t do this:  

Ruby on Rails
Added: 11 Mar 2025
Pick the wrong tool for the job

The right solution isn't always the best technical solution

Consulting Ruby
Added: 11 Mar 2025
Social login with the Rails 8 auth generator

Learn how to add social login with the Rails 8 auth generator with single and multiple accounts.

Design Ruby on Rails
Added: 11 Mar 2025
Mastering OAuth 2.0: Step by Step

Leapcell: The Next-Gen Serverless Platform for Web Hosting, Async Tasks, and Redis A...

Backend
Added: 11 Mar 2025
Unlocking Accessibility: Key misconceptions, common issues, and tools used by Accessibility Specialists – Accessibility in governmentGOV.UK

This is for everyone: documenting how we rebuild inclusive digital services across government

Frontend
Added: 10 Mar 2025

Week 2025-10

Human-readable date formatting with vanilla JavaScript | Henry From Online

A quick note about js.

Frontend Javascript
Added: 06 Mar 2025
How to combat bias in the hiring process 

Don't let bias dictate your next hire. Reduce bias and make hiring decisions based on skills, not gut feelings.

Consulting
Added: 06 Mar 2025
Tech debt is an outdated concept 

Tech debt is often overused as a blanket statement for all manner of engineering issues. What if we reframed our approach?

Consulting
Added: 06 Mar 2025
Rails 8 assets: Break down of how Propshaft and importmap-rails work together

I almost gave up and it was actually so simple.

Frontend Ruby on Rails
Added: 06 Mar 2025

Week 2025-9

Vincent Pierri on LinkedIn: "How do I give a 30 min talk without being boring?"
Here's the… | 189 comments

"How do I give a 30 min talk without being boring?" Here's the secret. New speakers struggle to keep people engaged, because they don't realize… | 189 comments on LinkedIn

Soft Skills
Added: 27 Feb 2025
Migrating from Sidekiq to Solid Queue - DONN FELKER

I recently migrated Listomo (my email marketing platform) from Sidekiq to Solid Queue. There are lots of posts out there showcasing how various companies migrated to Solid Queue from Sidekiq but they did not help that much, so hopefully this helps someone else. Migration Steps Install Solid Queue This one is quite self explanatory. The …

Backend DevOps Ruby on Rails
Added: 27 Feb 2025

This hopefully soon-to-be series was started quite a while ago when I was exploring new Rails features. Especially Turbo and ActionMailer. I finished the demo app and started writing articles while tidying up code. As it happens, I never finished and published the series. Almost two years passed and here you are, reading one of the first two parts that were finished before I abandoned the idea of having a blog. This hopefully changes now with more parts and different topics incoming!

Backend Frontend Ruby on Rails
Added: 27 Feb 2025
User Confirmation with the Rails Auth Generator - Avo

Learn how to implement user confirmation using the Rails Auth generator flow

Backend Ruby on Rails
Added: 27 Feb 2025

Week 2025-8

Hotwire Native Camera Access

This article describes how to render an inline camera feed in Hotwire Native

HOTWire Ruby on Rails
Added: 20 Feb 2025
Backup SQLite from a Containerized Rails App Deployed with Kamal

This post walks through backing up a SQLite database inside a Docker container on a remote server, specifically for a Ruby on Rails application deployed with Kamal. We'll begin with the basic commands, then convert them into a reusable shell script and a Rake task for convenience.

database DevOps Ruby on Rails
Added: 18 Feb 2025
How to customize ids in URLs in your Rails app

Override the to_param method on your object to customize how Rails builds the id to put in the URL.

Backend Ruby on Rails
Added: 18 Feb 2025
Turbo Streams and design

I’ve been using Turbo Streams a bunch the past few weeks, in two different projects.

Frontend HOTWire Ruby on Rails
Added: 18 Feb 2025
How (and How NOT) to Name Rails Models Beyond the Obvious

Have you ever encountered a model in a Rails app that initially seemed to have an understandable...

Design Ruby Ruby on Rails
Added: 18 Feb 2025

Week 2025-7

Things you might not need in your tests

Your test suite is slow and flaky because it does too much.

Ruby on Rails testing
Added: 15 Feb 2025
Marksmith - a GitHub-style markdown editor for Ruby on Rails

Marksmith is an ActiveStorage-enabled GitHub-style markdown editor for Ruby on Rails

Frontend Packages Ruby on Rails
Added: 14 Feb 2025
Which rich text editor framework should you choose in 2025? | Liveblocks Blog

Looking to integrate a WYSIWYG editor into your JavaScript app? This comparison dives into the best frameworks available, including Tiptap, Lexical, BlockNote, and Slate.

Frontend Javascript Packages
Added: 14 Feb 2025
asdf 0.16.x

Recently, there was an update to asdf which broke my install. I experienced this on macOS, Linux and WSL (which is basically Linux in Windows). This issue was due to asdf being rewritten in GoLang so a lot changed. For those who don't know what asdf is, you can probably

Ruby Tools
Added: 14 Feb 2025
Setting up your Mac to make you 1% better (as a developeur)

Become the world's top 1% productive developeur.

Tools
Added: 12 Feb 2025
Changing a Self-Hosted App to a Multi Tenant Hosted App - Postgres Schemas in Rails

Convert a self-hosted Rails app into a multi-tenant hosted app using Postgres schemas without modifying original table structures.

Backend database Ruby on Rails
Added: 12 Feb 2025
[Rails] How We Reduced API Response Rendering Time by 30%

I work on the backend team supporting an SNS with 170K users, built using Ruby on Rails. We use...

Backend Ruby Ruby on Rails
Added: 12 Feb 2025
Optimize Pagination Speed with Asynchronous Queries in Ruby on Rails - RorVsWild

In any Rails application that deals with large amounts of records, you will most certainly reach for pagination to "window" your data instead of rendering it in one long list.

Backend database Ruby on Rails
Added: 12 Feb 2025
Flexible API versioning with Rails

A well-defined API versioning strategy is crucial for any API expected to evolve. Let’s explore the most common API versioning strategies and develop a flexible one in Rails.

Backend Ruby on Rails
Added: 12 Feb 2025
Upgrading a Rails App to Tailwind v4

But, no matter what your setup, you are going to need to read through the Tailwind Upgrade guide. Maybe even a couple times.

Frontend Ruby on Rails
Added: 11 Feb 2025

Week 2025-6

How to Integrate React with Ruby on Rails: A Complete 2025 Guide

Learn how to seamlessly integrate React with Ruby on Rails in this comprehensive guide. Covers setup, configuration, best practices, and modern tooling for building powerful full-stack applications. Perfect for both beginners and experienced developers.

Frontend Javascript Ruby on Rails
Added: 09 Feb 2025
Hacking Rails controller actions and rendering

Build command-line interface terminal apps in your favorite web application frameworks like Rails, Next.js, ASP.net, Spring, Phoenix, Django, and more.

Backend Ruby on Rails
Added: 05 Feb 2025

Week 2025-5

How to Build a Twitter Clone with Rails 8 Inertia and React

An update to How to Build a Twitter Clone with Rails and React

Frontend Javascript Ruby on Rails
Added: 01 Feb 2025
Stimulus Autocomplete with Combobox Navigation

I’ve been slowly migrating a client’s Rails app from jQuery and UJS to Hotwire in between feature work. One of the last remaining pieces has been replacing jQuery UI Autocomplete, a pretty common library to see in web applications of a certain age.

Frontend HOTWire Javascript Ruby on Rails
Added: 01 Feb 2025

The Rails ecosystem has a huge amount of gems to choose from. That doesn’t mean you should add them without thinking. This article lists the carefully selected gems I use in my Rails SaaS apps.

Gem Ruby on Rails
Added: 01 Feb 2025
Build a (progressively enhanced) drawer component with Hotwire

You can get 90% of the way there with server-rendered templates and View Transitions.

Frontend HOTWire Ruby on Rails
Added: 29 Jan 2025

Week 2025-4

Adding button loader to Turbo-powered forms

Turbo is a great way to build user interfaces, but most Turbo forms have to wait for the server response. Here’s how I am adding a small loading spinner to the submit buttons to improve the UX.

Frontend HOTWire Ruby on Rails
Added: 24 Jan 2025
Domain-Driven Design (DDD) in Rails: Structuring Applications for Clarity and Scalability

Modern web applications often start simple but quickly grow in complexity as features are added and the domain evolves. Without a clear structure, this complexity can lead to tangled codebases, slowing development and increasing the risk of bugs.

Consulting database Ruby on Rails
Added: 24 Jan 2025
Component variants in Rails with the class_variants gem

Learn how to use the 'class_variants' gem to simplify your application's CSS and clean up your views

CSS Frontend Ruby on Rails
Added: 23 Jan 2025

Week 2025-3

The website of Emily Samp, a software developer and community organizer.

Soft Skills
Added: 17 Jan 2025
Rails Self-Join Tables: Parent-Child Magic

Learn how to implement self-referential associations in Rails 8 for hierarchical data structures. Perfect for building nested relationships in your models.

database Design Ruby on Rails
Added: 17 Jan 2025

Thoughts and learnings on writing better software

Ruby Ruby on Rails testing
Added: 15 Jan 2025
Design a URL Shortener - System Design Interview

#25 System Design Interview - Design TinyURL

Backend Design
Added: 15 Jan 2025
Prevent Logging Sensitive Data with Rails Parameter Filters

This article explains why you shouldn't log confidential or user-identifiable information and how to filter it using parameter filtering in Rails. We'll also do a deep dive into the Rails source code to learn exactly how Rails implements parameter filters.

Backend Ruby on Rails
Added: 15 Jan 2025

Week 2025-2

Moving from AWS S3 to Cloudflare R2 for Active Storage

Olly Headey. CTO and advisor. Co-founder of FreeAgent. 37signals alumni.

Backend Ruby on Rails
Added: 12 Jan 2025
Deploy Rails 8 with Docker & Kamal: 2025 Guide

Learn how to deploy Rails 8 apps using Docker, Kamal, and PostgreSQL on Hetzner servers with Cloudflare DNS. A complete production setup guide.

DevOps Ruby on Rails
Added: 10 Jan 2025
How Honeybadger migrated from Sidekiq to Karafka

@seo:excerpt

Backend Ruby on Rails
Added: 09 Jan 2025
A simple trick to understand Ruby’s lazy enumerator

Where you get to play with an interactive demo to visualize how Enumerator::Lazy helps avoid unnecessary work

Ruby
Added: 09 Jan 2025
Finishing touches for forms

Some tips on making sure forms written in Ruby on Rails are accessible

Design Frontend Ruby on Rails
Added: 06 Jan 2025

Week 2025-1

Rails Soft Delete & Audit Logging Guide

Learn how to implement soft deletion with robust audit logging in Rails applications, ensuring data integrity and compliance in financial systems.

Consulting Ruby on Rails
Added: 03 Jan 2025
How Business Automation Can Be Affordable for Small Businesses — SitePoint

Discover how small businesses can leverage affordable automation solutions to boost efficiency, reduce costs, and compete effectively. Learn practical tips for implementing automation tools and maximizing ROI

AI Consulting
Added: 01 Jan 2025
What changed in Rails this year?

2024 was an amazing year for the Rails community and I’d like to share a summary of what changed in the framework. As a TLDR, there were more than 4000 commits from 562 contributors and 55 releases, including Rails 8!

Ruby on Rails
Added: 01 Jan 2025
New Front-End Features For Designers In 2025 — Smashing Magazine

Searching for the most flexible front-end workflows and toolkits, it’s easy to forget how powerful some of the fundamentals on the web have become these days. This post is a journey through new front-end features and what they are capable of.

CSS Frontend
Added: 01 Jan 2025

TIL: `rails credentials:diff --enroll` (and `--disenroll`) Makes local diffs of encrypted credentials files display as diffs of the un-encrypted text instead of diffs of the encrypted gibberish. Helps reduce friction of seeing what changed in credentials when merging or navigating merge conflicts.

Javascript Ruby on Rails
Added: 01 Jan 2025
How to add Mission Control to your Rails app and protect it with Basic Auth

Mission Control is a powerful tool for monitoring and managing your Rails jobs in real-time. It offers insights into your app’s performance and errors. In this tutorial, I’ll show you how to integrate Mission Control into your Rails app and secure it with Basic Auth.

Backend Ruby on Rails
Added: 30 Dec 2024

Part 2 of a multi-part series for moving away from devise to Rails' authentication generator

Backend Ruby Ruby on Rails
Added: 30 Dec 2024

Part 1 of a multi-part series for moving away from devise to Rails' authentication generator

Backend Ruby Ruby on Rails
Added: 30 Dec 2024

Week 2024-51

Going native with ActionMailbox

ActionMailbox has the most underrated fun-to-feature ratio. No suprise here then, that as soon as I had the chance to work with it on Laterbox, I jumped on the occasion.

Ruby on Rails
Added: 18 Dec 2024
Refactoring Rails: Strategies to Refactor Models - FastRuby.io | Rails Upgrade Service

There's abundant online guidance about refactoring controllers, but resources on model refactoring are less common. In this blog, we'll explore techniques for effectively refactoring models.

Ruby on Rails
Added: 18 Dec 2024
How to Customize Rails Form Error Handling

If you've worked with Rails forms, you've likely encountered the infamous `.field_with_errors wrapper`. While it's designed to help highlight inval...

CSS Frontend Ruby on Rails
Added: 18 Dec 2024
Rails 8.0 Credentials: The Ultimate Guide to Secure Configuration Management

Discover how to seamlessly transition from encrypted secrets to Rails 8.0's powerful credentials system.

Ruby on Rails
Added: 18 Dec 2024
Ryan Bigg - Scoping an Active Record join

Scoping an Active Record join

Backend database Ruby on Rails
Added: 18 Dec 2024
Everything You Need to Ace PWAs in Rails Turn your Rails app into an engaging native-like application in a couple of minutes - The Miners

In this article, the author starts a series about Progressive Web Applications (PWAs) in Rails

Frontend Javascript Ruby on Rails
Added: 18 Dec 2024

Getting paying users has never been simpler with Stripe and Rails. Let’s go over the tiny amount of code needed today.

Backend Frontend Ruby on Rails
Added: 17 Dec 2024

Week 2024-50

How to Design UI Forms in 2024: Your Best Guide

Discover best practices and examples for designing user-friendly and visually appealing UI forms. Aim for enhanced user engagement and improved completion rates.

Design Frontend Ruby on Rails
Added: 12 Dec 2024
Ender Ahmet Yurt (@enderahmetyurt.com)

Ruby on Rails 8 provides `except_on` options for validations! #railstips #rubyonrails

Javascript Ruby on Rails
Added: 11 Dec 2024

This is my personal site, where I write about Ruby, programming, and any of my varied fascinations.

Backend Frontend Ruby on Rails
Added: 11 Dec 2024
Nested forms with just Turbo Streams

Recently I was working on implementing dynamic nested forms using Turbo Streams, focusing on handling both new and persisted records without custom JavaScript. Well, mostly for fun, to try something new. And while there are multiple approaches to this problem, including Stimulus controllers or plain JavaScript, Turbo Streams offer a clean, server-driven solution that leverages Rails conventions. The Core Concept: Form Manipulation vs Persistence A key aspect of this implementation that might not be immediately obvious is that the IngredientsController doesn’t actually persist any data. Its sole responsibility is to manipulate the form structure through Turbo Stream responses.

Frontend HOTWire Ruby on Rails
Added: 10 Dec 2024
Implementing Multi-Select Enums in Ruby on Rails with PostgreSQL

Learn how to implement multi-select enums in Ruby on Rails using PostgreSQL for better performance, type safety, and flexible categorization.

database Ruby on Rails
Added: 10 Dec 2024
How to add an RSS feed to a Rails app - Avo

Learn how to add an RSS feed to a Rails app for the site and for single resources with this article.

Frontend Ruby Ruby on Rails
Added: 10 Dec 2024
3 ActiveRecord Mistakes That Slow Down Rails Apps: Count, Where and Present

Many Rails developers don't understand what causes ActiveRecord to actually execute a SQL query. Let's look at three common cases: misuse of the count method...

Backend Consulting Ruby on Rails
Added: 10 Dec 2024
Adding Google OAuth in Rails 8

Rails 8 added an authentication generator, but what if we want to use Google OAuth? I decided to implement it using the oauth2 gem and share what I learned.

Ruby on Rails
Added: 10 Dec 2024
Solid Cable in Production with Kamal

Solid Cable in Production with Kamal

Backend Ruby on Rails
Added: 10 Dec 2024

Week 2024-49

What you need to know about SQLite

A compilation of lessons about what the SQLite database engine can and cannot do, how Ruby on Rails helps you work with SQLite, and why it may, or may not, be a good choice to back your Rails 8 app

Backend database DevOps Ruby on Rails
Added: 06 Dec 2024
Product management is broken. Engineers can fix it

How we've redefined the PM and engineer relationship

Consulting Soft Skills
Added: 05 Dec 2024
How to serve secure custom domains with Caddy

If you want to host custom domains for customers in your SaaS, you'll need to handle both DNS and SSL. Fortunately, Caddy can help with both.

Backend DevOps Ruby on Rails
Added: 04 Dec 2024

Here you go: https://gist.github.com/stympy/7a538e3edda1395c89afca968f3c5c97 I'm starting on the blog post now. :) If you have anything else you want me to cover in it, let me know.

Backend DevOps Javascript Ruby on Rails
Added: 03 Dec 2024
GitHub - Intrepidd/hyperactiveform: Simple form objects for Rails

Simple form objects for Rails. Contribute to Intrepidd/hyperactiveform development by creating an account on GitHub.

Gem Ruby on Rails
Added: 02 Dec 2024
Handbook to migrate your Postgres from Heroku to Kamal

Today I’m going to show you how I managed to migrate from Heroku to Kamal, with a focus on Postgres....

DevOps Ruby Ruby on Rails
Added: 02 Dec 2024
Building a Better Ruby ORM for Time Series and Analytics

Seamlessly create rollups from rolled-up data (hierarchical continuous aggregates) on your Ruby On Rails application for faster time-series & analytics queries.

database Ruby on Rails
Added: 02 Dec 2024
Mastering Concerns in Ruby on Rails: A Comprehensive Guide to Modular Code Organization, Security, and Best Practices

Deep dive into Concerns in Ruby on Rails, exploring its role in modular code, comparison with Mixins, security, testing, and its use in Rails 6 and 8.

Ruby Ruby on Rails
Added: 02 Dec 2024

Week 2024-48

Stimulus Features You (Didn’t) Know

Stimulus is advertised as a modest JavaScript framework, but packs still quite a few features. Lets explore the lesser known ones.

Frontend HOTWire Javascript Ruby on Rails
Added: 01 Dec 2024
Implementing Passwordless Authentication with WebAuthn in Rails

Learn how to set up WebAuthn in Rails for passwordless authentication, offering a secure and seamless login experience using biometric or hardware-based credentials.

Backend Frontend Ruby on Rails
Added: 01 Dec 2024
Hotwire vs HTMX vs Unpoly - Lucas Mendelowski

Hotwire, HTMX, and Unpoly for building modern UIs.

HOTWire Javascript Ruby on Rails
Added: 29 Nov 2024
The Undeniable Utility Of CSS :has • Josh W. Comeau

Of all the latest and greatest CSS features, the “:has” pseudo-class wasn’t exactly at the top of my wishlist. Once I started using it, however, I kept discovering incredible things I could do with it. It’s now become a core part of my toolkit! In this blog post, I'll show you some practical real-world problems I solved using “:has”, as well as some wild experiments that blew my mind!

CSS Design Frontend Javascript
Added: 28 Nov 2024
Reminder to write articles about Ruby to have better LLM suggestions

This is a weekly reminder that if you want better suggestions for Ruby and Rails projects using LLMs (Large Language Models), you should consider writing more articles (not generated by LLMs) about how you believe...

Consulting Ruby Ruby on Rails Soft Skills
Added: 28 Nov 2024
Create a Simple Pulsating Animation

Create subtle pulsating animations using Tailwind for enhanced menu item visibility. Learn how to build reusable UI components with Phlex

Frontend Ruby Ruby on Rails
Added: 28 Nov 2024
Vector search with Rails and SQLite

Learn how to do semantic search using SQLite and Rails By: Sergio Alvarez

AI Ruby on Rails
Added: 26 Nov 2024
Building Semantic Search with Rails, OpenAI, and PG Vector

Semantic search is a transformative approach to searching data, designed to understand the meaning behind the words rather than just exact matches. In this article, we explore building a semantic search feature using Rails, OpenAI, Langchain.

AI Ruby on Rails
Added: 26 Nov 2024

When adding a boolean column to a table in a Rails application, one common question is whether to set a default value for it. Let’s explore why this choice matters, the best practices around it, and how it impacts data handling. Using a real-world example, we’ll take a look at a migration adding a women_only column to a trips table.

Ruby on Rails
Added: 26 Nov 2024
Ultimate Rails Security Guide: Best Practices for Ruby on Rails Applications in 2025

Learn how to secure your Ruby on Rails applications with advanced techniques, built-in features, and the latest updates in Rails 8 and Ruby 3.3.6

Backend Ruby on Rails
Added: 26 Nov 2024
What's new in Rails 8 - Avo

Find out what makes Rails 8 a unique opportunity to

DevOps Ruby on Rails
Added: 26 Nov 2024

Week 2024-47

Add meta tags to a Rails application - Avo

Learn how to add meta tags including OG tags to your Rails app and what are the best practices around them

Frontend Ruby on Rails
Added: 21 Nov 2024
Productivity isn’t always fast 

It can often feel like we aren't being productive unless we're working at max speed. But slow productivity is here to subvert that idea.

Consulting Soft Skills
Added: 21 Nov 2024
What is a staff engineer? Technical leaders who aren't managers

Staff engineers are technical leaders who have deep domain knowledge, balancing the tech and business sides of an org.

Consulting Soft Skills Staff Engineer
Added: 21 Nov 2024
Process slow network requests with Turbo and Active Model

Learn how to build a dynamic loading screen without writing a line of JavaScript.

Frontend HOTWire Ruby on Rails
Added: 21 Nov 2024
Why do developers love clean code but hate writing documentation?  - Stack Overflow

In the Developer Coefficient, a study commissioned by the fintech giant Stripe, developers reported that they spent over 17 hours a week on maintenance tasks like debugging and refactoring—work classified as “toil.”

AI
Added: 21 Nov 2024
Hotwire Native iOS Part 1

Up and Running with Hotwire Native iOS 1- Setup

Frontend HOTWire Ruby on Rails
Added: 21 Nov 2024

Week 2024-46

Rails’ Partial Features You (didn’t) Know

Rails partials have many lesser known features. From counters to spacer templates! Learn all there is to know about partials.

Frontend Ruby on Rails
Added: 14 Nov 2024
Friendly URLs with the FriendlyId gem - Avo

Implement friendly URLs by scratch and using the FriendlyId for your Rails application and improve SEO and user experience

Backend Packages Ruby on Rails
Added: 12 Nov 2024
Perfecting Your Rails Form: Nested Attributes

In this second part of the series, let's explore nested attributes how they work and why they are so complex.

Backend Frontend Ruby on Rails
Added: 12 Nov 2024
📩My journey to send 100 mails to 500k effortlessly📩

Today, I’d like to share my journey while working for a client on implementing an efficient mailing...

Backend Ruby Ruby on Rails
Added: 12 Nov 2024
Why (and when!) I use ViewComponents

Today I want to take a break from the election news and write about something that's been on my mind recently, ViewComponents.

Frontend Ruby on Rails
Added: 12 Nov 2024
The Ultimate Guide to implementing Hotwire and Turbo in a Rails application

Build, deploy and manage your applications on any cloud or your own servers.

Frontend HOTWire Javascript Ruby on Rails
Added: 12 Nov 2024
Design a Chat Application like WhatsApp - System Design Interview

Nearly everyone uses a chat application to send messages and stay connected.

Consulting
Added: 12 Nov 2024

Week 2024-45

The president's doctor: Why your projects take forever

Spoiler: Things wait. A lot. A tale of efficiency, but for whom?

Consulting
Added: 05 Nov 2024

Week 2024-44

Serving static assets with a CDN in Rails - Avo

Learn how to serve static assets using a CDN in Rails with a custom subdomain and improve your app's performance and UX.

Backend DevOps Ruby on Rails
Added: 03 Nov 2024
Using a CDN for Active Storage Uploads - Avo

Learn how to use a CDN to serve Active Storage uploads and improve your application's performance and user experience

Backend DevOps Ruby on Rails
Added: 03 Nov 2024
S3 uploads with Active Storage guide

Learn how to upload files to AWS S3 with this complete guide: S3 configuration, regular and direct file uploads plus integration with S3 compatible services.

Backend DevOps Ruby on Rails
Added: 03 Nov 2024
Speed Up Compound Full-Text Searches in PostgreSQL by 300x - RorVsWild

Querying your database across associations can become a bottleneck in your Rails application. Julian Rubisch, our first guest author, explains why and suggests an efficient solution.

database Ruby on Rails
Added: 02 Nov 2024
Exploring Campfire Tests

I was always curious to see real 37signals code. When they released their first ONCE product, Campfire, I was tempted to buy it but I was not willing to spend US$ 299,00, the release price, and now it’s US$ 399,00. For me, it was too much money.

Consulting Ruby on Rails testing
Added: 31 Oct 2024
[EN]  How I upgraded my pet project from Rails 7 to Rails 8 in 30 minutes

Time: 10-15 min Level: Intermediate Code: Application Revision: Oct 30, 24

Consulting Ruby on Rails
Added: 31 Oct 2024
Sending Web Push Notifications from Rails

An embedded Web Push demo and deep dive recipe for Web Push notifications for a Ruby on Rails application in advance of Rails 8 Action Notifier.

Ruby on Rails
Added: 30 Oct 2024
Keynote: Rails Way or the highway by Evil Martians

Rails Way is a software development paradigm that implies sticking to the framework architectural defaults as much as possible. Everyone starts with the Rails Way, but how far can you get without derailing from it? Let's talk about the Rails Way core principles, how they evolved over time, and how you can embrace and enhanced it using the layered design techniques.

Backend Ruby on Rails Staff Engineer
Added: 30 Oct 2024
Tooltip Best Practices | CSS-Tricks

What are tooltips, exactly? There's two kinds and the one you use has implications on the user experience, as Zell illustrates in this explainer on best practices.

CSS Frontend
Added: 30 Oct 2024

Week 2024-43

Why you suck at giving feedback

Hint: you need more than good intentions

Consulting Soft Skills
Added: 25 Oct 2024
TailwindCSS and Rails 8

Someone asked on Twitter yesterday about the how to add TailwindCSS to a Rails 8 project the easiest way and having hot reload. This is how I believe it is to do so in a few minutes.

Frontend Ruby on Rails
Added: 24 Oct 2024
Interfacing with external APIs: the facade pattern in Ruby - Remi Mercier - Software Developer

Interacting with third-party APIs is common practice in applications. This is where the structural design pattern called facade comes into play.

Consulting Ruby on Rails Staff Engineer
Added: 24 Oct 2024
Adding Page Builder to your Rails app

There are many platforms offering visual page builder. For example, website builders like Wix, Webflow; fundraising platforms like Raisely…

Backend Frontend Ruby on Rails
Added: 23 Oct 2024
Not another meeting

Meeting-free days means more productivity, right? More time for focused work. When should, or should you not, press that big ‘+’ button on your calendar?

Consulting
Added: 23 Oct 2024
Comparing local-first frameworks and approaches

Any sufficiently advanced technology is indistinguishable from magic. Cloud applications can feel...

Frontend
Added: 22 Oct 2024

Week 2024-42

Convert JSON into Columns and Rows with JSON_TABLE | Crunchy Data Blog

Paul shows you how to easily load JSON into Postgres relational format with JSON_TABLE, just released in Postgres 17.

database
Added: 19 Oct 2024
Supercharge the One Person Framework with SQLite | Fractaled Mind

This is my personal site, where I write about Ruby, programming, and any of my varied fascinations.

DevOps Ruby on Rails
Added: 19 Oct 2024
Running Rails System Tests with Playwright instead of Selenium

Sick of flaky Rails system tests? Try blaming Selenium and swapping it with Playwright! I did and it's going great. Here's how

Frontend Ruby on Rails testing
Added: 19 Oct 2024
How Solid Queue works under the hood

Wondering how Solid Queue works on the inside? Read this article to follow a Solid Queue job from enqueue to completion.

Backend Ruby on Rails
Added: 14 Oct 2024

Week 2024-41

Smooth Transitions with Turbo Streams

Add custom behavior to turbo:before-stream-render listener to add smooth transitions to turbo stream when adding and removing elements.

Frontend HOTWire Javascript Ruby on Rails
Added: 11 Oct 2024
What's New in Ruby on Rails 8 | AppSignal Blog

Let's explore everything that Rails 8 has to offer.

Ruby on Rails
Added: 11 Oct 2024

Week 2024-40

The habits of effective remote teams

Lessons from GitLab, Doist, PostHog, and more.

Consulting Soft Skills
Added: 04 Oct 2024
Building the Perfect Logo Strip - 9elements

We've all been there: you're working on a website and need to display a row of logos—clients, partners, sponsors—you name it. However, logos come in all shapes and sizes, and making them look good together can be quite challenging. How do you get...

CSS Frontend
Added: 04 Oct 2024
Practical Accessibility Tips You Can Apply Today

Kevin Andrews shares some useful snippets of markup with handy explainers to help you deliver more accessible components.

Frontend
Added: 03 Oct 2024
ActiveStorage Direct Upload with Stimulus

ActiveStorage’s DirectUpload feature allows files to be directly uploaded to your Cloud’s storage without touching your app’s server.

Backend Frontend HOTWire Ruby on Rails
Added: 03 Oct 2024
The Decide, Evolve, React pattern in Ruby

The Decide, Evolve, React pattern in Ruby, explained step by step

Consulting Design Ruby Staff Engineer
Added: 03 Oct 2024

Ruby is a language that consistently evolves to make code more expressive, concise, and readable. With the release of Ruby 3.4, one of the exciting new features introduced is the use of it as a shortcut for the first parameter in a block. This enhancement aims to simplify code, especially in situations where blocks are used extensively, reducing the need to explicitly declare block parameters.

Ruby
Added: 03 Oct 2024
Rails Thruster 101

While we are waiting for the Rails World 2024 conference to start and Kamal 2 to be released, I decided to make some preparations for the upcoming changes in the Rails ecosystem.

Backend DevOps Ruby Ruby on Rails
Added: 30 Sep 2024
How Propshaft Works: A Rails Asset-Pipeline (Visual) Breakdown

A from-scratch breakdown of how Rails' Propshaft system serves up static assets automagically and quickly, with graphics and stories to boot!

Ruby on Rails
Added: 30 Sep 2024
Leveraging Turbo 8: Best Additions to Implement in Rails 8 Projects

Morphs, Presence and Typing Indicators

Frontend HOTWire Ruby on Rails
Added: 30 Sep 2024
Drag & Drop Images with Preview using Stimulus Outlets

Explore an easy way to drag & drop images using Stimulus while using the Outlets API to preview the dropped image.

Frontend HOTWire Javascript Ruby on Rails
Added: 30 Sep 2024
Migrating from Devise to Rails Auth before you can say “Rails World keynote”

Radan here: this is another guest post by Miha. He was so excited about it that he interrupted my weekend with a brand new post to review. I still found it interesting, so I hope you enjoy it as much as I did! Back to Miha now.

Backend Ruby on Rails
Added: 30 Sep 2024

Week 2024-39

Why I prefer rebase over merge (and everything else) - ShiftMag

A question as old as human civilization - when developing on a feature branch, should I rebase or should I merge changes to keep it in sync with the main branch?

Consulting
Added: 27 Sep 2024
Design Patterns in Ruby

The catalog of annotated code examples of all design patterns, written in Ruby.

Consulting Ruby
Added: 27 Sep 2024

Why we are excited about PostgreSQL 17 for our Rails applications.

database Ruby on Rails
Added: 26 Sep 2024
How to Build a Twitter Clone with Rails 8 and Turbo 8

An update to How to Build a Twitter Clone with Rails and Hotwire

Frontend HOTWire Ruby on Rails
Added: 24 Sep 2024
Turbo Morphing in Practice | Jon Sully

How two lines of code made everything smooth

Frontend HOTWire Ruby on Rails
Added: 24 Sep 2024
Your company needs Junior devs

Junior engineers are foundational to whether a team can collaborate and innovate

Consulting
Added: 24 Sep 2024
2024 Ruby on Rails Community Survey Results

Over 2,700 members of the Rails community from 92 countries kindly contributed their thoughts on tools, frameworks, and workflows in their day to day development lives. From these responses we hope to get an understanding of where Rails stands as a framework in 2024.

Consulting Ruby on Rails
Added: 24 Sep 2024

Week 2024-38

A brief look at the new Kamal Proxy replacing Traefik

Kamal 2 is coming with a brand new custom proxy that’s replacing Traefik. Let’s have a look at why is that and what it means.

Backend DevOps Ruby on Rails
Added: 22 Sep 2024
Add your Rails app to the Home Screen - the Ultimate Guide

Rails 8 will support Progressive Web Apps (PWA) out-of-the-box but you have all the tools you need to make your Rails app installable today.

Frontend Ruby on Rails
Added: 22 Sep 2024
Rails Security: Action Policy & Rabarber

Secure your Rails app with Action Policy and Rabarber for effective user roles and authorization. Simplify admin access and permissions

Ruby on Rails
Added: 21 Sep 2024

This article demonstrates a short-coming with using RSpec mocks in code which accesses objects out of a database.

Ruby Ruby on Rails testing
Added: 21 Sep 2024
Shrinking Big PostgreSQL tables: Copy-Swap-Drop

In this post, you’ll learn a recipe that you can use to “shrink” a large table. This is a good fit when only a portion of the data is accessed, the big table has become unwieldy, and you don’t want a heavier solution like table partitioning.

database
Added: 21 Sep 2024
How I build a button component

A button is arguably the most likely component to find itself in your codebase so I’m going to show you how I approach building one.

CSS Frontend
Added: 18 Sep 2024

Designing Web Components For Morphing and techniques to deal with reflecting attributes

Frontend Javascript
Added: 16 Sep 2024
The Rails Renaissance

The power of Rails with Turbo and Stimulus.

Consulting HOTWire Ruby on Rails
Added: 16 Sep 2024

Week 2024-37

Ruby on Rails 7.1: Partial Strict Locals and Their Gotchas | AppSignal Blog

Rails partials have been around for years, but now strict locals have entered the scene to make things easier for us.

Frontend Ruby on Rails
Added: 13 Sep 2024

cache_key_with_version is a method used in Ruby on Rails to generate a cache key for a model object that includes its version number. This method is helpful for ensuring cache consistency, as it combines the object’s unique ID, updated timestamp, and a version number to create a unique cache key.

Backend Ruby on Rails
Added: 12 Sep 2024

Explore the key differences between sprockets and propshafts in rail systems. Understand their functions, applications, and how they contribute to the efficiency of rail operations.

Javascript Ruby on Rails
Added: 12 Sep 2024
Implementing Filtered Semantic Search Using Pgvector and JavaScript

Explore semantic search with filters and learn how you can implement it with pgvector and JavaScript.

AI database Javascript
Added: 12 Sep 2024
Building a complex filtering system with Ruby on Rails

Embracing the digital experience

Backend Ruby on Rails
Added: 10 Sep 2024
Ruby on Rails Boilerplate: Vite, Tailwind, Stimulus

Embracing the digital experience

Consulting Ruby on Rails
Added: 10 Sep 2024
Upgrade Ruby using dual boot

Upgrade Ruby using dual boot

DevOps Ruby Ruby on Rails
Added: 10 Sep 2024

Automate your next workflow.

AI
Added: 10 Sep 2024
Betterstimulus | Targetless Controllers

Avoid mixing targetless controllers with those attached to a target.

Frontend HOTWire Ruby on Rails
Added: 10 Sep 2024

Week 2024-36

Making a simple React microphone component

The browser has some nice built-ins for building a microphone recording component, so you don't have to use third-party libraries!

Frontend Javascript
Added: 07 Sep 2024
Building a breakout element with container units

Learn how to use container units and container queries to enhance an already flexible sidebar layout with some extra design control and full width breakout elements.

CSS Frontend
Added: 07 Sep 2024
Authenticating with OmniAuth and OpenID Connect (OIDC) in Ruby on Rails applications

What is OpenID Connect?

Backend Ruby on Rails
Added: 06 Sep 2024
Even Better Specs

Guidelines for Maintainable Tests

Ruby Ruby on Rails testing
Added: 06 Sep 2024
Structure Your ERb and Partials for more Maintainable Front-end Code in Rails

It's not always clear how to make the most of partials and helpers in Rails and know when to put what code where. Regardless of the methods, we all still...

Frontend Ruby on Rails
Added: 05 Sep 2024
Mention users with TributeJS | SupeRails #186

In episode #95 we focused on parsing text and converting hashtags and mentions into links. Now let's add an @ mentions dropdown to any text field, so that you can select a user that you want to men...

Backend Frontend Javascript Ruby on Rails
Added: 05 Sep 2024
Routing Concerns in Rails

You must have used concerns in Rails. Did you know you can also use concerns for your routes? They allow you to declare common routes to be reused in other resources and routes. This post covers the basics of routing concerns, including what they are, how they work, and when you might need them.

Backend Ruby on Rails
Added: 04 Sep 2024

Week 2024-35

Six Degrees of Kevin Bacon - Postgres Style | Crunchy Data Blog

Paul Ramsey has some great examples of Postgres network analysis and graph theory in this sample code for playing the Kevin Bacon game. Both pgRouting and recursive CTE are used to solve graphing relationships.

database
Added: 28 Aug 2024
Software estimates have never worked and never will

Since the dawn of computing, humans have sought to estimate how long it takes to build software, and for just as long, they've consistently failed. Estimating even medium-sized projects is devilishly difficult, and estimating large projects is virtually impossible. Yet the industry keeps insisting that the method that hasn't worked for...

Consulting
Added: 28 Aug 2024
Redirect and return in Rails controllers

Premature returning from a controller action is a common idiom in Rails applications. I asked my followers in Twitter about whether they know or know how to do this correctly, and I am glad to see that most of them gave the correct answer. Let’s dive into the details.

Backend Ruby Ruby on Rails
Added: 28 Aug 2024

As Rails developers, we often focus on writing clean, efficient Ruby code. However, as the application grows optimizing database performance is equally crucial for creating responsive applications. One of the most powerful tools in our arsenal for database optimization is indexing. Here I will talk about PostgreSQL indexing from a Rails developer’s perspective. The query plan generated by EXPLAIN will help us to make informed decisions about index creation, ensuring our database queries run as efficiently as possible.

Backend database Ruby on Rails
Added: 28 Aug 2024
Easy to Overlook PostgreSQL Performance Issues in Rails Apps

Performance issues in the PostgreSQL layer usually start to manifest only when your app reaches a certain scale. In this blog post, I'll discuss easy-to-miss database config tweaks and common problems that I've encountered in multiple Rails projects.

database Ruby on Rails
Added: 28 Aug 2024

Week 2024-34

Squash Your Ruby and Rails Bugs Faster | AppSignal Blog

Let's look at a few readily available techniques and tools to gather and investigate issues in your Ruby or Rails app.

Consulting Ruby on Rails
Added: 22 Aug 2024
Sidekiq To SolidQueue Migration

Migrating the Miru app from Sidekiq to SolidQueue eliminated the dependency on Redis, reducing costs by utilizing database for job storage.

Backend DevOps Ruby on Rails
Added: 21 Aug 2024
Building a better bin/dev script

Rails 7.2 uses the foreman gem for process management, which has serious limitations when it comes to interactive debugging. The run-pty Node package is an excellent alternative.

Consulting Ruby on Rails Staff Engineer Tools
Added: 21 Aug 2024
An Introduction to HTTP Caching in Ruby On Rails | AppSignal Blog

We'll explore the basics of HTTP caching, cache layers, configuration, and how to cache in Rails.

Backend Ruby on Rails
Added: 20 Aug 2024
TestProf: a good doctor for slow Ruby tests—Martian Chronicles, Evil Martians’ team blog

This article introduces the Ruby test profiling toolbox called TestProf.

Ruby Ruby on Rails testing
Added: 20 Aug 2024
Nested Forms With Turbo (without dependencies)

Nested forms with Rails can now be done without using any third-party gem! Turbo Stream’s is all you need to add nested fields to any form you want.

Frontend HOTWire Ruby on Rails
Added: 19 Aug 2024

Week 2024-33

How to get the most out of staff+ engineers

Staff+ engineers have years of technical knowledge stored away, but often have their skills overlooked or undermined.

Consulting Soft Skills Staff Engineer
Added: 15 Aug 2024
Build a modal form with Rails, Turbo, and the dialog element

I’ll explain the differences and benefits of Turbo Streams vs Turbo Frames in this HTML-first, test-driven tutorial. Only one line of JavaScript needed!

Frontend HOTWire Ruby on Rails
Added: 15 Aug 2024
I made a Snake clone with RxJS | Devin Jameson

Snake was one of my favorite games to play on my Nokia cell phone circa 2007, so I decided to rebuild it with modern frontend web tooling.

Frontend Javascript
Added: 15 Aug 2024
Upgrade Rails From 7.1 to 7.2 - FastRuby.io | Rails Upgrade Service

How to upgrade Ruby on Rails from 7.1 to 7.2, including the deprecations, required configurations, application code changes, and webpacker API changes.

Backend Ruby on Rails
Added: 15 Aug 2024
From Code to Compliance: Accessibility Testing in Rails Applications - FastRuby.io | Rails Upgrade Service

Find out how to test accessibility in your Rails app to make it usable for everyone. Learn simple tools and methods to improve your app’s inclusivity and user experience.

Frontend Gem Ruby on Rails testing
Added: 15 Aug 2024
Serializers in Ruby on Rails

A place to learn Ruby on Rails

Backend Ruby on Rails
Added: 14 Aug 2024
Railing against time: tools and techniques that got us 5X faster tests—Martian Chronicles, Evil Martians’ team blog

Read about the tools, techniques, mindset that got our client 5X faster tests.

Ruby on Rails testing
Added: 14 Aug 2024
Conditionally render a Turbo Frame shared between multiple views

We explore several solutions to a common Hotwire problem.

Backend Frontend HOTWire Ruby on Rails
Added: 14 Aug 2024
Fixing a footgun in ActiveRecord::Core#inspect

The inspect method on Active Record models returns a string including the model’s class and a list of all its attributes and their values. In Rails 7.2, you can configure which attributes are included in the output of inspect. In this post, I’ll discuss the performance issue that led me to implement this feature. I’ll also talk about how this feature can be used to improve developer experience.

Backend Ruby on Rails
Added: 14 Aug 2024
A useful pattern for handling remote data in React apps | Devin Jameson

Handling remote data state is one of the most common things we do in React apps, so it makes sense to carefully consider how we model it.

Frontend Javascript Typescript
Added: 12 Aug 2024

Week 2024-32

Preview an Image Before Upload with Hotwire/Stimulus

Learn about JavaScript’s FileReader interface to preview user images before they are upload with Hotwire/Stimulus.

Frontend HOTWire Javascript Ruby on Rails
Added: 11 Aug 2024
Generating Documentation for Your Rails API: I Build My Own Tool.

After searching for a simple, interactive, and easy-to-use tool to document the APIs I build with Rails, and not finding the right one, I decided to create my own: OasRails.

Packages Ruby on Rails
Added: 10 Aug 2024
Should the daily stand-up die?

The daily stand-up was intended to help teammates remove any blockers to commitments. But at many companies, stand-ups have devolved into tedious one-sided status reports.

Consulting
Added: 10 Aug 2024
Rails Added Filter Option On in_order_of Method

Rails added the filter option to in_order_of to prioritize the specified values without filtering the results

Backend database Ruby on Rails
Added: 10 Aug 2024
Rails 8 introduces a basic authentication generator

Rails 8.0 adds a generator that streamlines the process of adding basic authentication to Rails applications

Backend Ruby on Rails
Added: 10 Aug 2024
Introduction to Minitest Mocks

Test doubles likes mocks and stubs can help us with isolating code under test with the rest of the system. Here’s how to mock in Minitest.

Ruby on Rails testing
Added: 10 Aug 2024
Why CTOs are choosing Hotwire and Ruby on Rails

A conversation with the CTO and Co-founder of Clara, a recent thoughtbot client, about the strategy behind their decision to build their startup product with Rails and Hotwire.

Consulting Frontend HOTWire Ruby on Rails
Added: 10 Aug 2024
Automate Your Ruby Gem Releases

Discover how to automate the releases and publication of your gems on RubyGems using release-please and GitHub Actions.

Packages Ruby
Added: 06 Aug 2024

The convenience and power of Active Record allows you to interact with your database in a more Ruby-like way, making it easier to write efficient and readable code. However, as with any complex system, performance can sometimes take a hit when using Active Record. One common scenario where performance may suffer is when counting records in your database. In any Rails app, A simple count method call can quickly become a bottleneck, especially for larger datasets. In this post, we’ll dive into some optimization techniques for using Active Record’s count method in your Rails app.

database Ruby on Rails
Added: 06 Aug 2024
Betterstimulus | Open-Closed Principle

Good software design is - in part - realized by the capability to introduce changes in a way that isn’t painful. (If you’d like to read up on code smells that violate this principle, take a look at this list of change preventers.)

Consulting Javascript
Added: 06 Aug 2024
Secure Your Kamal App Deployments with Let's Encrypt

Do you have a web application deployed with Kamal, but want to know how to set up secure HTTPS connectivity to it? In this video, you’ll learn how easy it is...

Backend DevOps Ruby on Rails
Added: 06 Aug 2024
Supercharge your Rails logs with tags

A hidden Rails feature that can level up your debugging game.

Backend DevOps Ruby on Rails
Added: 05 Aug 2024

Week 2024-31

From Partials (and Helpers) to Embracing ViewComponent in Rails

The first professionally designed UI components for Rails. Built with ViewComponent, designed with Tailwind CSS and enhanced with Hotwire.

Frontend Ruby on Rails
Added: 03 Aug 2024
Semantic search with Ruby on RailsFireHydrant LogoChevron down iconChevron down iconChevron down iconLinkedIn logo iconTwitter logo iconFireHydrant LogoTwitter logo iconLinkedIn logo iconGitHub logo icon

Learn how to implement semantic search in Ruby on Rails using the Neighbor gem, Anthropic's Claude API for summarization, and OpenAI for text embeddings. Enhance your app's search capabilities with meaning-based results.

AI Ruby on Rails
Added: 03 Aug 2024
Inline Save and Add Another with Rails and Hotwire

Learn how to implement a Todoist-style task creation feature in your Rails app using Hotwire and Stimulus. This step-by-step guide shows you how to create a seamless, JavaScript-free UX for adding new tasks with auto-focus functionality. Perfect for Rails developers looking to enhance their app’s user experience.

Frontend HOTWire Ruby on Rails
Added: 03 Aug 2024

Week 2024-30

How to review code effectively: A GitHub staff engineer’s philosophy

GitHub Staff Engineer Sarah Vessels discusses her philosophy of code review, what separates good code review from bad, her strategy for finding and reviewing code, and how to get the most from reviews of her own code.

Soft Skills Staff Engineer
Added: 25 Jul 2024
GitHub - GeorgeKaraszi/ActiveRecordExtended: Adds additional postgres functionality to an ActiveRecord / Rails application

Adds additional postgres functionality to an ActiveRecord / Rails application - GeorgeKaraszi/ActiveRecordExtended

database Gem Ruby Ruby on Rails
Added: 25 Jul 2024
Row pattern recognition feature for PostgreSQL

What is row pattern recognition feature? Row pattern recognition (RPR) is a feature defined in the SQL standard. It allows to search for a s...

database
Added: 25 Jul 2024
Navigating the new web accessibility ruling in the U.S.

A practical guide to understand the new accessibility requirements and get started with your plan to comply.

Consulting Frontend
Added: 23 Jul 2024
Event sourcing for smooth brains: building a basic event-driven system in Rails

Event sourcing is a jargon filled mess, but we can build a lean version with just ActiveRecord, callbacks, and a bit of boring code. Learn how to create simple, yet powerful event-driven systems in Rails.

Backend Consulting Ruby on Rails
Added: 22 Jul 2024
Exercise: Minesweeper in 100 lines of clean Ruby

Ruby is such an expressive language. You can often do surprisingly much with just a few lines of code. It’s why I find it so satisfying to think about how to accomplish the same thing in fewer lines of Ruby1. If we accept the claim that that number of bugs correlates with number of lines of code this is not just a fun exercise. There’s real business value in accomplishing a feature with less lines of code. ↩

Frontend Ruby
Added: 22 Jul 2024

Week 2024-29

Ruby on Rails - July 2024

The only Ruby on Rails newsletter you will ever need!

Ruby on Rails
Added: 16 Jul 2024
What's new in Web Dev this month?

Hello Devs 👋 I hope everyone's doing great. The landscape of web development is constantly...

AI CSS Frontend Javascript
Added: 16 Jul 2024

This post explores where to access request headers by looking at the Rails source code after unexpectedly accessing the response headers.

Backend Ruby Ruby on Rails
Added: 15 Jul 2024

Week 2024-28

Ruby on Rails Snippets I Find Helpful at the Start of a Project

When I'm starting a new Ruby on Rails project, these are few snippets that I find helpful

Consulting Ruby on Rails
Added: 08 Jul 2024
Highlighting Blogging on Mastodon · Matthias Ott – User Experience Designer

Matthias Ott is an independent user experience designer and developer from Stuttgart, Germany. Besides design practice he teaches Interface Prototyping at the Muthesius Academy of Fine Arts and Design, Kiel.

Frontend
Added: 08 Jul 2024

This post details a proof-of-concept for optimistic UI. If you want to just browse the source, check out the optimistic-ui-hotwire-rails GitHub repository.

Frontend HOTWire Ruby on Rails
Added: 08 Jul 2024

Week 2024-27

Sebastian Rollén's Blog

If you want to try this at home, here's a GitHub link to a demo application that follows the blog post below. Each commit corresponds to a section in the post.

Frontend Ruby on Rails
Added: 04 Jul 2024
TIL custom order with .in_order_of

Sometimes you need a custom, semantic order for things, usually statuses, types. Oftentimes this is...

Ruby Ruby on Rails
Added: 04 Jul 2024
Easy Postgres backups

How to use Kamal to backup and restore your Postgres database

database DevOps Ruby on Rails
Added: 04 Jul 2024
Rails Adds ActiveRecord::Base.with_connection To Optimize Database Operations.

Efficiently manages database connections by promptly returning them to the pool after use, enabling immediate reuse rather than holding onto connections until the end of the request cycle.

Ruby on Rails
Added: 04 Jul 2024
Add comments to your tables columns - Remi Mercier - Ruby on Rails Developer

By default, Rails adds comments to some attributes like `id` (`not null, primary key` for instance.) But now, I can add comments to my own attributes.

database Ruby on Rails
Added: 04 Jul 2024
The Productivity apps I use in 2024

Cassidy's current "stack" of task-tracking, calendar, and note-taking apps

Consulting
Added: 02 Jul 2024

Week 2024-26

A pragmatic guide for adding React to an existing Rails application (and still use Hotwire)

For a long time, I thought that using React with Rails was an “all-or-nothing” proposition. I’m now realizing that the two can be integrated on a spectrum.

Frontend HOTWire Javascript Ruby on Rails
Added: 28 Jun 2024
How to add “Save and add another” feature to Rails apps

Learn how to add the “Save and add another” feature in your Rails app

Frontend Ruby on Rails
Added: 27 Jun 2024
API versioning in Ruby on Rails

Got a Rails API that needs some love? Learn how to version your API endpoints so that you can introduce new features while maintaining backward compatibility!

Backend Consulting Ruby on Rails
Added: 27 Jun 2024
How to Deal with 1,000 Failing Specs in a Rails App

A few months ago, Planet Argon kicked off a Rails 2.1 to Rails 3.0 / Ruby 1.8.7 to Ruby 1.9.3 upgrade for one of our clients. The monolithic Rails app contai...

Ruby on Rails testing
Added: 26 Jun 2024
Hotwire Tutorial: How Do I Drag and Drop Items in a List? - Blogging On Rails

If you’ve been following the changes in Turbo 8, it looks incredibly promising for improving the perception of speed and interactivity on our web apps. A lot of the Stimulus Tutorials could use an update since they were first written, so I thought it would be good to over existing tutorials and rethink them withContinue reading "Hotwire Tutorial: How Do I Drag and Drop Items in a List?"

Frontend HOTWire Ruby on Rails
Added: 25 Jun 2024
How to Create an Undo Action with Rails

Undoing an action, like archiving, deleting or even sending an email, is straightforward with Rails and Turbo. Let’s learn how to do it.

HOTWire Ruby on Rails
Added: 25 Jun 2024

Week 2024-25

Documenting Software Architectures

The Architects Choice

Consulting
Added: 22 Jun 2024

Week 2024-24

Async Ruby on Rails

Ruby and Rails have several features to make your code more performant using async programming. Here’s a list of these tools and how to use them.

Consulting Ruby on Rails
Added: 14 Jun 2024
Exploring Rails Applications With Multiple Databases - FastRuby.io | Rails Upgrade Service

Unlock the potential of Rails with multi-database configurations, exploring setup for multiple database settings, whether horizontally or vertically.

database Ruby on Rails
Added: 14 Jun 2024
Replacing system tests with unit tests |

    Everyday Rails

Is your testing strategy too top-heavy? Here are some techniques to spread coverage down the testing pyramid.

Consulting Ruby on Rails testing
Added: 14 Jun 2024

Week 2024-23

Tips for Using Less JavaScript

Practical tips to optimize your web performance by using HTML and CSS instead of JavaScript for common tasks like state management, responsive design, and UI elements.

CSS Frontend Javascript
Added: 06 Jun 2024
Web Components Can Now Be Form Controls

Modern Web Weekly #18 One area in which developers have always wanted to customize elements is forms. Historically, it has often been hard to style form controls to give them the look and feel you want. The styling options are often limited and to this day, form controls like date

Frontend Javascript
Added: 06 Jun 2024

Week 2024-22

Top SQL Queries for Data Scientists

SQL seems like a data science underdog compared to Python and R. However, it’s far from it. I’ll show you here how you can use it as a data scientist.

database
Added: 31 May 2024
Production-Grade (ish) Rails deployment on Hetzner with Kamal

I've been toying around with Kamal for some time now, and I believe I have come up with a nice setup for a reasonably robust deployment. It includes two servers, one for the application and another for database and caching, a firewall to expose only the ports we need (e.

DevOps Ruby on Rails
Added: 30 May 2024

Work alongside the thoughtbot team as we collaborate with each other and our clients, live. Ask us anything, we're live right now!

Consulting Ruby on Rails
Added: 30 May 2024
N+1 in Ruby on Rails - Blog - Visuality

The N + 1 problem is common performance issue. Ruby on Rails provides tools and methodology for preventing it from happening in you applications.

Backend Ruby on Rails
Added: 30 May 2024
Set Up a Rails Development Environment with Docker + VS Code Dev Containers

I will walk through the steps my team followed to set up a pretty nice Rails development environment using Docker and VS Code Dev Containers.

Consulting Ruby on Rails
Added: 28 May 2024
Manifesto for a Humane Web

We need to build a better web. A web by and for humans.

Consulting
Added: 28 May 2024
Full text search for Litestack Ruby apps with Litesearch

Mandatory AI generated image Introduction Litestack, and its Litedb component in particular, provides powerful and flexible full text search capability via the Litesearch module. Any context that u…

Backend database Ruby Ruby on Rails
Added: 27 May 2024
Planning your Sidekiq queues

Judoscale's guide to architecting a perfect Sidekiq setup, easily!

Backend Ruby on Rails
Added: 27 May 2024

Week 2024-21

AWS Platform Guide: A complete guide on how to build your infrastructure on AWS

If you’re migrating to AWS from another cloud like Heroku, or starting a new project and want to build your infrastructure on AWS, this guide is for you!

DevOps Ruby on Rails
Added: 23 May 2024
A Deep Dive Into Prompt Engineering Techniques: Part 1 - The Lean Software Boutique

Large Language Models (LLMs) are widely available and easily accessible and are increasingly a part of business. Whether you’re interacting with an LLM via the provided interface or connecting via an API and integrating it into other systems, it’s helpful to understand how to get the best possible results out...

AI
Added: 23 May 2024
Prefer Multiple Compositions | Kyle Shevlin

The flexibility of JavaScript and React means there are lots of ways to achieve the same result. Let's consider why we might choose one way over another when it comes to React. Specifically, when to choose a more verbose solution with composition over the DRYest code possible.

Consulting Javascript
Added: 21 May 2024
Creating Forms in Ruby on Rails with Simple Form | AppSignal Blog

Simple Form helps you to build and manage forms in Rails. Let's examine what Simple Form is, why we might need it, and some real use cases.

Frontend Ruby on Rails
Added: 21 May 2024
How to RSpec a Jbuilder response from a Rails JSON API

Want to write a Rails API controller test and make sure it includes exactly what your Jbuilder serializer returns? Set `render_views`. Learn why in this post.

Ruby on Rails testing
Added: 21 May 2024
A new version of Suspenders has been released!

We took our Suspenders to the tailor and made some alterations.

Consulting Ruby on Rails
Added: 20 May 2024
Ruby on Rails Code Audits: 8 Steps to Review Your App

Check the health and security of your Rails app with these quick guide to Ruby on Rails Code audits. These are the steps to take to review your ruby on rails...

Consulting Ruby on Rails
Added: 20 May 2024

Week 2024-20

Ruby class pattern to work with API requests with built-in async approach

Ruby pattern to connect multiple APIs to your project more easily with async requests approach

Backend Ruby Ruby on Rails
Added: 17 May 2024
Rails 8 adds Kamal by default.

All new applications using Rails 8 will have Kamal by default.

DevOps Ruby on Rails
Added: 17 May 2024
Tips for Using Slack

In order to master our craft we need to master our tools. Slack is one of those tools. Here are my tips for Slack.

Consulting
Added: 17 May 2024
Making a Postgres query 1,000 times faster

Learn how we discovered what was slowing down large database queries, and what we did to make Postgres queries 1000x faster.

Consulting database
Added: 15 May 2024

Note: This is part of the Production vs Tutorial Code Series.

Consulting Ruby on Rails
Added: 13 May 2024

Week 2024-19

How we’re building more inclusive and accessible components at GitHub

We're making improvements to the way users of assistive technology can interact with and navigate lists of issues and pull requests and tables across GitHub.com.

Consulting Frontend
Added: 10 May 2024
Running Thruster with Rails and Kamal

Thruster is a new zero config proxy from 37signals. Here’s how to add it to an existing Rails projects deployed with Kamal.

DevOps Ruby on Rails
Added: 10 May 2024
How to build a Cmd+k search modal with Hotwire

Many applications feature cmd+k search modals. This includes documentation websites like Bootstrap or Tailwind CSS, as well as applications I use every day, such as GitHub and Basecamp. I recently had to build one, and it was so easy thanks to Hotwire that I wanted to share how I built it with you. Imagine we have a documentation websi...

Frontend HOTWire Ruby on Rails
Added: 06 May 2024

Week 2024-18

Rails Adds GitHub CI Workflow By Default To New Applications

All new applications using Rails 7.2 will have GitHub CI workflow by default.

Backend DevOps Ruby on Rails
Added: 04 May 2024
Why you need a

There's a very specific reputation I want to have on a team: "Nat helps me solve my problems. Nat get things I care about done."

Consulting
Added: 03 May 2024
Tips for Database Design (Part 1)

The database is often the bottleneck in our application, both in terms of performance and developer velocity. Changing the database is a lot harder than changing the code.

Backend Consulting database Ruby on Rails
Added: 03 May 2024
Choosing the Right Audit Trail Approach in Ruby

The Ruby ecosystem offers a wide range of tools for building an audit trail, each with its pros and cons. So, which one is the best choice?

Backend Ruby Ruby on Rails
Added: 03 May 2024
Nightly Postgres Backups via GitHub Actions

Recently I wanted to set up nightly backups of my Postgres databases hosted on Neon.tech. Yes, they have backups and PITR but I knew I’d feel better if I had backups just in case. My business…

Backend database DevOps
Added: 03 May 2024
One engineer company with Ruby on Rails

All slide content and descriptions are owned by their creators.

Consulting Ruby on Rails
Added: 30 Apr 2024
Refactoring for Readability in Ruby: a Showcase

The problem Within my 10 years of developer experience, over and over again I see an...

Consulting Ruby Ruby on Rails
Added: 30 Apr 2024
Ruby on Rails: Native route constraint for authentication

Since Rails 7, there's more and more tooling that enables us, developers, to roll our own...

Backend Ruby on Rails
Added: 30 Apr 2024
HotwireCombobox

HotwireCombobox is at an early stage of development. It's nearing a beta release, but the API might change and bugs are expected. Please continue to use the library and report any issues in the GitHub repo.

Frontend HOTWire Javascript Packages
Added: 30 Apr 2024
Generate magic tokens in Rails with generates_token_for

For a long time, and probably still today, the reference for authentication in Rails is using a gem like Devise. Thing is, you’ll probably end up customizing it a lot: views, emails, onboarding flow, etc. Since Rails 7.1, we have access to several new features that make it easier to...

Backend Ruby on Rails
Added: 29 Apr 2024

Week 2024-17

Turbo Refreshes, Frames, and Streams

Turbo Refreshes update the entire current page in place while keeping some UI state e.g. the page’s scroll position. This might seem like overkill in some cases and they’re slower that Turbo Streams, but they can really simplify response code (and the performance hit may not matter anyway).

Frontend HOTWire Ruby Ruby on Rails
Added: 27 Apr 2024

Week 2024-16

authenticate_by: Prevent timing-based enumeration of users. | a-chacon

With the introduction of authenticate_by in Rails 7.1, we can now prevent enumeration attacks based on response times.

Backend Ruby on Rails
Added: 20 Apr 2024
Delegated types in Rails: I tried them, and I'm not sure I really understood them. - Remi Mercier - Ruby on Rails Developer

Delegated types are a modelization pattern introduced in Rails in 2020. And developers have mostly been scratching their head for a few years trying to use them in their applications. Today, I want to share a real-world use case. I'll walk you through my pre-existing domain architecture, my initial requirements, my mistakes, how I eventually used delegated types, what I learned and my open questions.

Backend Ruby on Rails
Added: 18 Apr 2024
Dual-Boot Ruby on Rails Using Docker - FastRuby.io | Rails Upgrade Service

How can we use the Dual-Boot technique efficiently to upgrade our Ruby or Rails application when the workflow involves using Docker? Let's see 2 approaches.

Backend DevOps Ruby on Rails
Added: 17 Apr 2024
How to Set Up a Custom Email with Cloudflare and Mailgun

As a software engineer, you may consider having a professional email account along with your own website, like "[email protected]". But this may cost a certain amount that you'll not be willing to pay. But do you know you can do it for free? There is actually a way to do

Consulting Tools
Added: 16 Apr 2024

Week 2024-15

Rails: Environment Configuration (Magical) Instance

After instantiating your rails application, we have codes generated for us. Let’s focus on a particular section. Focus on the environments…

DevOps Ruby on Rails
Added: 13 Apr 2024
Let there be docs! A documentation-first approach to Rails API development—Martian Chronicles, Evil Martians’ team blog

We examine approaches to API documentation, with a case for why the documentation-first approach is beneficial, plus, we'll not only introduce a new Ruby gem, Skooma, that will be a revelation for those who are ready to follow this path, you can also read on for practical tips and advice for jumping in.

Ruby on Rails testing Tools
Added: 09 Apr 2024
Work around Rails schema noise with one weird trick

The Rails robots that comprise Active Record do their best to be helpful by keeping your db/schema.rb file up to date — and tend to create pesky unwanted changes in your schema. Here’s an easy fix.

database Ruby on Rails
Added: 09 Apr 2024

Week 2024-14

Optimized Model Auditing with PaperTrail

Learn how to optimize model auditing in your Rails application using the PaperTrail gem by setting up separate audit tables for each model, enhancing performance and organization in the auditing process

Backend Gem Ruby on Rails
Added: 07 Apr 2024
How I improved our CI build time from 24mins to 8mins and reduced costs by 50% | Owais

If you like fast CI builds, hate having to wait for an eternity for CI to complete a build after you open a PR, and love reducing infra costs, read on.

DevOps Ruby Ruby on Rails
Added: 06 Apr 2024
Table partitioning in Rails, part 1 - Postgres Stories - Blog - Visuality

In this part, I want to shortly explain, what partitioning actually is and how you can implement this mechanism for newly created table as partitioned table in Rails application. In the second part, I'll demonstrate an approach to migrate an existing table. So, let’s dive into the topic.

Backend database Gem Ruby on Rails
Added: 03 Apr 2024
🍌The Banana Rule 🍌

A whimsical (but useful!) code style guideline

Consulting
Added: 01 Apr 2024

Week 2024-13

Pick a standard and move on - Remi Mercier - Ruby on Rails Developer

Why would you spend your cognitive capacity on useless choices?

Consulting
Added: 27 Mar 2024
The Complete Guide to Working With Cookies in Rails

This post covers almost everything you need to know about HTTP cookies in the context of Rails. We'll explore what a cookie is, why we need it, how to set & get a cookie, how to restrict cookies to a particular domain/path, prevent JavaScript access, how to sign & encrypt cookies, and much more.

Backend Ruby on Rails
Added: 27 Mar 2024
Start Using Docker Today - Hands On Examples for Developers

In this video, CJ shows hands on examples of when and where you can start using docker in your apps. He shows usage of the docker CLI, Docker Desktop, docker...

Consulting DevOps
Added: 26 Mar 2024
Why you need fewer developers than you think you do

It's a myth that more developers will speed up delivery. You can achieve more with less with simpler processes, simpler communication and fewer cross-team dependencies – which is why smaller teams …

Consulting
Added: 25 Mar 2024
How to enable reusability for `ActiveRecord::Base::normalizes` - Tobias L. Maier

This article reviews the new normalizes feature in Ruby on Rails 7.1 and shows how to increase reusability by creating normalizer modules.

Backend Ruby on Rails
Added: 25 Mar 2024
Rollup vs Esbuild for Rails
 | saaslit

Rollup and Esbuild can both handle JavaScript files in a Rails app. I made some little experiments, both locally and in-production.

Frontend Javascript Ruby on Rails
Added: 25 Mar 2024

Week 2024-12

Building a sortable table with Turbo 8’s page refreshes

Using Ruby on Rails and Turbo 8 to create a sortable table that maintains scroll position and page content as it sorts

Frontend HOTWire Ruby on Rails
Added: 24 Mar 2024
Why legacy code rewrites are the hardest job in software

Legacy codebases are often like tangled mazes, with convoluted logic, outdated practices, and patches upon patches. Here's what you need to know about rewriting vs. refactoring a legacy codebase.

Consulting
Added: 22 Mar 2024
Migrating from Sidekiq to Solid Queue with Scheduling

A short post where I share how I migrated Visualizer from Sidekiq to Solid Queue now that the latter supports scheduling.

Backend DevOps Ruby on Rails
Added: 22 Mar 2024
Automated Database Backups with Kamal

Intro

Backend DevOps Ruby on Rails
Added: 19 Mar 2024

Week 2024-11

Flash Messages (notifications) in Rails Apps

This article was originally published at Rails Designer. Flash has been a feature of Rails since...

Frontend HOTWire Ruby on Rails
Added: 17 Mar 2024

Exploring Turbo 8’s morphing page refreshes and refresh broadcast Turbo Stream actions in a Ruby on Rails application

Frontend HOTWire Ruby on Rails
Added: 17 Mar 2024
How Figma's Databases Team Lived to Tell the Scale | Figma Blog

Our nine month journey to horizontally shard Figma’s Postgres stack, and the key to unlocking (nearly) infinite scalability.

database DevOps
Added: 17 Mar 2024
Creating and Uploading Huge Archive Files Swimmingly with Ruby | Ruby, Internet, and Programming

Posted on 19 September, 2020 at 00:00 UTC by Gentaro "hibariya" Terada

Backend Ruby Ruby on Rails
Added: 16 Mar 2024
Turbo Streaming Modals in Ruby on Rails | AppSignal Blog

In the second and final part of our series, let's turn to another method used to make modals accessible in Rails: Turbo Streams.

Frontend HOTWire Ruby on Rails
Added: 14 Mar 2024
Notes from migrating from Minitest to RSpec, with help from GitHub Copilot |

    Everyday Rails

Artificial intelligence hasn't replaced us yet, but how does it handle the boring parts of our jobs?

AI Consulting Ruby on Rails testing
Added: 14 Mar 2024

Week 2024-10

Why Am I Talking?

As I am always on the look out for useful mental models, protocols and habits to improve the quality of dialogue, I spotted this little…

Consulting Soft Skills
Added: 06 Mar 2024
Honeybadger Now Supports Logging and Event Monitoring

Honeybadger recently added support for logging and event monitoring. It's one feature that I've been waiting for a while now, and I recently stumbled upon it randomly yesterday. This post shows how you can log events from your Rails apps to Honeybadger.

DevOps Ruby on Rails
Added: 06 Mar 2024
How we migrated from Sidekiq to Solid Queue

How we migrated to Solid Queue from Sidekiq

Backend DevOps Ruby on Rails
Added: 06 Mar 2024
Why Rails is a Great Choice for Startups in 2024

JavaScript is in the vogue now, but Ruby on Rails can become your startup’s secret competitive advantage.

Consulting Ruby on Rails
Added: 05 Mar 2024

Week 2024-9

How to use tomselect javascript library to create and edit a

Imagine that you have a classic has_many :through relation where you need to select several records out of thousands. Your form should be using an html select tag which would prove problematic if you had to select, say 5 records, out of 50.000 or mor...

Frontend Javascript Ruby on Rails
Added: 03 Mar 2024
Add a Kafka Consumer to Rails

Learn how to integrate a Kafka consumer into a Rails application

Backend DevOps Ruby on Rails
Added: 03 Mar 2024
Memory issue after Rails upgrade

I upgraded a bunch of sites to Rails 7.1 recently and the ones deployed on Heroku started to show some massively increased memory usage: How could my app that was using ~128mb of memory be using four times as much with Rails 7.1? Well, its turns out that there was a change made to the default Puma config to make use of all available co...

DevOps Ruby on Rails
Added: 27 Feb 2024

Week 2024-8

Building View Transitions in Turbo with Rails

Learn to use View Transitions in Ruby on Rails with Turbo Frames and Real-Time updates from Turbo Streams.

Frontend HOTWire Ruby on Rails
Added: 21 Feb 2024

Week 2024-7

The Plan for Rails 8

Documentation and guides from the team at Fly.io.

Ruby on Rails
Added: 16 Feb 2024
Traefik Tunning for Rails Applications (part 1)

For many years Nginx has been a default solution to serve as a reverse proxy for Rails applications. However, with the release of Kamal, the Rails community opened Traefik as a new reverse proxy solution. Within my 15 years of experience with Rails, I created an almost perfect configuration for Nginx that migrated through all my projects. With Traefik, I had to start from scratch.

DevOps Ruby on Rails
Added: 16 Feb 2024
How We Built Unique Social Preview Images for Pika — Good Enough

One of the goals of Pika, the happy blogging software that we recently launched, is to help you find your own place on the internet. Along with a nice place on the internet, when you share links to your blog we want them to represent your internet home, which you've likely taken a little time to make just so. Sharing your blog on social networks, text messages, Slack, or wherever should be an experience that makes you smile, and that's why we built custom social preview images for your blog. But how did we do it?

Frontend Ruby on Rails
Added: 14 Feb 2024
How we teach front-end development using vanilla JS

Or, a proposal on how to structure JS code for simple web apps.

Frontend Ruby on Rails
Added: 12 Feb 2024
Custom URL Helpers in Rails with the direct Method

This is the first post in the Campfire deep dive series where we explore the first ONCE product from 37signals to learn and extract useful patterns, ideas, and best practices. This post explores the direct method in the Rails Router that lets you define custom URL helpers for your application.

Backend Frontend Ruby on Rails
Added: 12 Feb 2024

Week 2024-6

Understanding the difference between output and outcome - LogRocket Blog

Outcomes are end goals you try to achieve (often referred to as “product impact”), whereas outputs are the means to achieve these outcomes.

Consulting Ruby on Rails
Added: 10 Feb 2024
Read the .ruby-version into your Gemfile

A lovely little improvement to your life when upgrading Ruby

Ruby Ruby on Rails
Added: 07 Feb 2024
A Reasonable way to manage Auth in your React App

Authentication is almost part of every modern web application these days, even the not-so-useful apps...

Frontend Javascript
Added: 05 Feb 2024

Week 2024-5

Top 5 Active Record Tips to Make Your Code More Efficient

Rails' Active Record library is full of methods you can use to streamline queries, reduce memory bloat, and avoid excessive database calls.

Backend database Ruby on Rails
Added: 02 Feb 2024
Serving ActiveStorage Attachments Through a CDN - FastRuby.io | Rails Upgrade Service

To obtain good performance and low latency for any user accessing our site, we often use CDNs to serve our static assets. This article shows how to do the same for ActiveStorage attachments.

Backend Ruby on Rails
Added: 02 Feb 2024
Ruby's Exceptional Creatures

Exceptional Creatures is Honeybadger.io's documentation of Ruby's exception system, with a twist. Collect them all!

Consulting Ruby Ruby on Rails
Added: 02 Feb 2024
Tech stack for my email courses project

Efficient email courses tech stack: Ruby, Rails, SQLite, litestack, Avo, Tailwind, ERBs, Phlex, Minitest, Sitepress, Debug, Propshaft, Hotwire, direnv...

Consulting Ruby Ruby on Rails
Added: 02 Feb 2024
How to Delay a Rails Upgrade - FastRuby.io | Rails Upgrade Service

In this blog post, we'll explore steps you can take when you aren't going to upgrade Ruby on Rails right away but want to get ready for an upgrade.

Backend Consulting Ruby on Rails
Added: 02 Feb 2024
How to deal with PostgreSQL Backups using Kamal // Stefan Botzenhart

Streamlining Database Backups with Kamal: A Guide to Efficient and Secure Data Management in Containerized Environments.

Backend database DevOps Ruby on Rails
Added: 02 Feb 2024
Rails Performance Unveiled: Identifying Common Culprits - FastRuby.io | Rails Upgrade Service

In this article, we will look at the different strategies that you can apply to improve the performance of the application while not focusing on where to apply these strategies.

Consulting Ruby on Rails
Added: 02 Feb 2024
Got some rhythm?

Using a scale to find that vertical rhythm

CSS Frontend
Added: 02 Feb 2024
The link_to helper in Rails - Rails Tricks Issue 25

The link_to helper in Rails creates an anchor element with the given URL and options. Although the helper has a simple task, it can be used in quite a few ways, and in this article, I will try to cover most of them. Let’s start with creating a simple link:

Frontend Ruby on Rails
Added: 02 Feb 2024
Rails 7.1 construct CTE using .with query method

In Rails 7.1 .with query method makes it super easy to build and chain complex Common Table Expression CTE queries.

Backend database Ruby on Rails
Added: 31 Jan 2024

Week 2024-4

How (and why) to run SQLite in production | Fractaled Mind

This is my personal site, where I write about Ruby, programming, and any of my varied fascinations.

Backend database Ruby Ruby on Rails
Added: 26 Jan 2024
Self-hosted observability stack for Ruby on Rails apps | Michal Kazmierczak

Observability is becoming a standard. Cloud observability providers deliver a high-end solutions for the storage and visualization of the telemetry data. Yet, application owners may consider an entirely in-house approach. Here is how you can achieve it for a Ruby on Rails app.

DevOps Ruby on Rails
Added: 26 Jan 2024
Rails advanced routing constraints

Learn how to authorize requests at the routing layer to improve security and ergonomics.

Backend Ruby on Rails
Added: 26 Jan 2024
3 Question Framework – How to Respond Without Reacting

Over-communicating is key, over-reacting is not. It’s important to find the balance on when to respond to messages and when to keep still.

Consulting Soft Skills
Added: 22 Jan 2024

Week 2024-3

Automating Deployments with Kamal and GitHub Actions

Comprehensive guide to automating Ruby on Rails web app deployments using Kamal and GitHub Actions. Includes installation guide and sample GitHub Actions configuration.

Backend DevOps Ruby on Rails
Added: 19 Jan 2024
Effortless Deployment of Web Applications with Kamal

Learn how Kamal simplifies web app deployment with features like zero downtime, incremental rollouts, and flexible configuration. Ideal for developers.

Backend DevOps Ruby on Rails
Added: 19 Jan 2024
Should you use Hotwire or a Frontend framework on your next Rails project?

I am writing this for the senior engineer or tech lead that is deciding whether to use Hotwire or a Frontend framework (e.g. React, Vue, Svelte …) for the frontend portion of the next Rails project. If this is you, read on. The key factor You have already gone over the usual list of factors that you consider for every new project no matter what tech stack it is on: the expertise of your team members, technologies used on existing projects at your company, available libraries or ready solutions. These are table stakes, you’ve considered them like you always do and for this project, they’re not pointing either way. I will make a case that, once those fundamental questions are cleared, there is one that is specific to this decision and stands above all others: How is the complexity of the project distributed between shared state management and visual interactions? Most of the cost of software is in maintenance and most of the cost of maintenance comes from the complexity of our solution. Picking a tech stack that is well suited for managing the kind of complexity you are facing will make it easier to keep the complexity under control. The point will become clearer once we consider the two extremes.

Frontend HOTWire Javascript Ruby on Rails
Added: 18 Jan 2024
Alternative BigInt ID identifiers for Rails

Rails comes with default BigInt IDs for your primary keys since version 5.1 (replacing regular Int) and offers UUID v4 as an supported alternative since version 6. But what are the alternatives and what to use in your next app?

Backend database Ruby on Rails
Added: 15 Jan 2024
Here's what's coming in Rails 8

Work on Rails 8 is starting, so I dug through the official GitHub milestone to break down all the upcoming goodies for you. There's plenty coming, including Solid Queue, Solid Cache and Kamal becoming defaults, better support for PWAs, an official LSP, and more!

Backend Ruby on Rails
Added: 15 Jan 2024
Rails 7.1 Introduced Validate Option For Enums

Rails 7.1 added a validate option for enums, which will allow developers to validate the passed enum values before saving it.

Backend Ruby on Rails
Added: 15 Jan 2024
Container Style Queries | 12 Days of Web

Exploring new ways of approaching CSS by querying custom properties and their values.

CSS Frontend
Added: 15 Jan 2024

Week 2024-2

Introduction to Testing React Components with Vite, Vitest and React Testing Library

Originally published on my blog: https://bogr.dev/blog/react-testing-intro/ This article assumes a...

Frontend Javascript testing
Added: 14 Jan 2024
How to deploy Rails with Kamal, PostgreSQL, Sidekiq and Backups on a single host | Guillaume Briday

In the previous post, How to deploy Rails with Kamal and SSL certificate on any VPS, we saw how to deploy a simple Rails application with Kamal and Docker. But it was intentionally very simple and even if it might be enough for some applications like…

DevOps Ruby on Rails
Added: 08 Jan 2024

Week 2024-1

Here's what's coming in Rails 8

Work on Rails 8 is starting, so I dug through the official GitHub milestone to break down all the upcoming goodies for you. There's plenty coming, including Solid Queue, Solid Cache and Kamal becoming defaults, better support for PWAs, an official LSP, and more!

Ruby on Rails
Added: 05 Jan 2024
8 Turbo 8

Documentation and guides from the team at Fly.io.

Frontend HOTWire Ruby on Rails
Added: 04 Jan 2024
Self-hosting a high-availability Postgres cluster on Kubernetes

Deploying an HA Postgres cluster using Zalando w/ K8s.

database DevOps
Added: 03 Jan 2024

Week 2023-52

The LinkedIn DPH Framework

Welcome to the LinkedIn Developer Productivity and Happiness Framework!

Consulting Staff Engineer
Added: 28 Dec 2023
Turbo 8 Page Refreshes (+ Morphing) Explained at Length

Everything you ever wanted to know about Turbo 8's Page Refreshes, Morphing, and its design style

Backend Frontend HOTWire Ruby on Rails
Added: 27 Dec 2023
Route-Based Scaling on Kubernetes for Rails Monoliths

Can we deploy a Rails monolith with audience-based scaling without breaking it up?

DevOps Ruby on Rails
Added: 26 Dec 2023

Week 2023-50

Why you should write good epics

Who knew grouping things could bring so many benefits.

Consulting
Added: 12 Dec 2023

Week 2023-49

Approximated.app

Reliably automate custom domains at any scale

Backend Ruby on Rails
Added: 09 Dec 2023
Develop the right thing every time and become a 10x engineer 🏆: The art of writing RFCs 🥋

Imagine you’ve been tasked to implement a crucial new feature in the product you’re working on....

Consulting Staff Engineer
Added: 08 Dec 2023

Week 2023-48

Turbo 8 in 8 minutes

Documentation and guides from the team at Fly.io.

Frontend HOTWire Ruby on Rails
Added: 30 Nov 2023

Week 2023-47

Ruby HTML Sanitization with Loofah

Need to do some HTML sanitization, but Rails ActionView Sanitize Helpers are not good enough? Read this post to learn how to do it with Loofah.

Backend Ruby
Added: 24 Nov 2023
3 ways to model an associated collection in Rails

A look at the Postgres array type and good old join tables, each with their advantages and disadvantages.

Backend Ruby on Rails
Added: 24 Nov 2023
Using thor for command line tasks

Last week, while creating a small Rails app for myself, I had to import data from an XML file. I wanted to add a command line task for it. I could’ve used rake for this, but I needed to input the path to the file through a command line parameter, and rake isn’t ideal for that. Fortunately, there’s another tool that’s better suited for this task: Thor.

Backend Ruby
Added: 21 Nov 2023
Architecting for profit: A blueprint for modern cloud economics

If the role of a good cloud architect is to design and build cost-effective software, is there a formula to achieve that goal every time?

Consulting DevOps
Added: 21 Nov 2023
For clarity merging hashes use with_defaults

A hash merge, but backwards for readability

Backend Ruby Ruby on Rails
Added: 20 Nov 2023
Renuo – HTML templating with Mustache.js and Stimulus

It is sometimes impossible to render HTML directly in Rails, for example, when you need to procedurally generate HTML from JavaScript. There are some approaches, but one sticks out: Template tags && t...

Frontend Javascript Ruby on Rails
Added: 20 Nov 2023
Securing User Emails in Rails with Lockbox

This is an update to Securing User Emails in Rails with a number of improvements: Works with Devise’s email changed notifications Works with...

Backend Ruby on Rails
Added: 20 Nov 2023
GitHub - ankane/secure_rails: Rails security best practices

Rails security best practices. Contribute to ankane/secure_rails development by creating an account on GitHub.

Backend Ruby on Rails
Added: 20 Nov 2023

Week 2023-46

Top 8 PostgreSQL Extensions

Check our eight top PostgreSQL extensions, along with sample queries and instructions.

AI Backend database
Added: 18 Nov 2023
Preventing bugs in Ruby: tools of the trade

Intro

Consulting Ruby Ruby on Rails testing
Added: 18 Nov 2023
Creating Accessible UI Animations — Smashing Magazine

Animation and accessibility are often seen as two separate powers at odds with one another. How is it possible to strike a balance between elements that move and the possible negative effects they expose to users who are sensitive to motion? Oriana García explains how her team at Mercado Libre tackled the challenge by creating guiding principles for applying animation to user interfaces and incorporating them into the team’s design system.

Design Frontend
Added: 15 Nov 2023
Announcing Angular.dev

Today, we are excited to launch Angular.dev — the future home for Angular developers.

Frontend Javascript
Added: 15 Nov 2023
It's Never Been Better Time to Be a Full-Stack Developer

In today’s technical landscape, deep expertise in niche areas is often celebrated. However, the value of being a versatile 'Jack of all trades' should not be overlooked. Technical fields have grown increasingly divergent, with a clear split between front-end and back-end development leading to a surge in specialization

Consulting HOTWire Ruby on Rails
Added: 13 Nov 2023
DIY PaaS: serverless real-time with one command—Martian Chronicles, Evil Martians’ team blog

Choose a scalable and maintainable real-time solution today to stay happy and productive tomorrow. Consider an open source service you can run on a modern cloud with one command as an alternative to expensive PaaS.

Backend
Added: 13 Nov 2023
Building Basecamp project stacks with Hotwire

How we improved project organization in Basecamp using Hotwire to build on top of a legacy drag-and-drop interface.

Backend Frontend HOTWire Ruby on Rails
Added: 13 Nov 2023

Week 2023-45

Integration Patterns for Distributed Architecture - Kafka at Smily

Let's discuss how we use Kafka in Smily, how we got where we are now, and how the overall architecture has evolved over time.

Backend DevOps Ruby on Rails
Added: 09 Nov 2023
The Software Engineer's guide to saying

A 3 part framework for saying "no" + how to apply it + examples

Consulting Soft Skills
Added: 08 Nov 2023
A quick dive into query_constraints config in Rails 7.1

The query_constraints config introduced in Rails 7.1 is helpful for pre-setting the DB query constraints on the ActiveRecord models.

database Ruby on Rails
Added: 07 Nov 2023

Week 2023-44

Simple Screen Recorder in 20 lines of JavaScript

Let's say you're fed up of the state of screen recorders' paywalls and limitations and want to go on...

Frontend Javascript
Added: 02 Nov 2023
Deploying Rails on a single server with Kamal

Here’s one way of a cloud-independent deployment of Rails, Sidekiq, PostgreSQL, and Redis on single virtual server with Kamal.

DevOps Ruby on Rails
Added: 01 Nov 2023
Are you absolutely sure you know how to use the button element?

Read this the next time you need to build a complicated form.

Frontend Ruby on Rails
Added: 31 Oct 2023

Week 2023-43

Give it five minutes

A few years ago I used to be a hothead. Whenever anyone said anything, I’d think of a way to disagree. I’d push back hard if something didn’t fit my world-view. It’s like I had to be first with an opinion – as if being first meant something. But what it really meant…

Soft Skills
Added: 27 Oct 2023
Setting up a custom domain with Netlify with Cloudflare SSL - Mike Street - Lead Developer and CTO

In this post we are going to set up a custom domain in Netlify using Cloudflare. We will also install a self signed Cloudflare certificate on Netlify to ensure end-to-end encryption.

Consulting DevOps
Added: 23 Oct 2023

Week 2023-42

Postgres Goodies in Ruby on Rails 7.1

We are excited about some of the Active Record updates with Rails 7.1! Chris reviews some of the notable new features for working with Postgres including async queries, composite primary keys, native support for ctes, unlogged tables, and syntax normalization.

Backend database Ruby on Rails
Added: 18 Oct 2023

Week 2023-41

Why You Might Not Want to Run `Rails App:update`. - FastRuby.io | Rails Upgrade Service

This article explains what rails app:update is, why you might not want to run rails app:update when upgrading Rails applications, and what you can try instead.

Ruby on Rails
Added: 15 Oct 2023
My Recipe for Optimizing Performance of Rails Apps

Rails performance audits and tuning have been my main occupation and source of income for over a year now. In this blog post, I'll share a few secrets of my trade. Read on if you want to learn how I approach optimizing an unknown codebase, what tools I use, and which fixes are usually most impactful. You can treat this post as a generalized roadmap for your DIY performance audit with multiple links to more in-depth resources.

DevOps Ruby on Rails
Added: 15 Oct 2023
How to communicate like a GitHub engineer: our principles, practices, and tools

Learn more about how we use GitHub to build GitHub, how we turned our guiding communications principles into prescriptive practices to manage our internal communications signal-to-noise ratio, and how you can contribute to the ongoing conversation.

Soft Skills
Added: 15 Oct 2023
Some ViewComponent tips (how I write them)

In this article, I share tips for writing Rails ViewComponents, based on my experience building RailsNotes UI, and other projects. If you use ViewComponents in your Ruby on Rails apps, read this article!

Frontend Ruby on Rails
Added: 15 Oct 2023

This documents my methodology of taking an accepted talk proposal and building the slides and content around it.

Soft Skills
Added: 13 Oct 2023
pg_bm25: Elastic-Quality Full Text Search Inside Postgres - ParadeDB

Today, Postgres’ native full text search, which uses the tsvector type, has two main problems:

database
Added: 13 Oct 2023
GitHub - rkrage/pg_party: ActiveRecord PostgreSQL Partitioning

ActiveRecord PostgreSQL Partitioning. Contribute to rkrage/pg_party development by creating an account on GitHub.

Backend database Gem Ruby on Rails
Added: 13 Oct 2023
5 best practices for preventing chaos in Tailwind CSS—Martian Chronicles, Evil Martians’ team blog

Tailwind CSS has become a very popular CSS framework, and it can speed up development. But using it without proper caution can add mayhem to your code. Learn best practices to avoid getting swept away!

CSS Frontend
Added: 13 Oct 2023
Ruby on Rails Best Practices

Some Do’s and Don’ts to keep in mind while coding in ruby on rails 1. Fat Model, Skinny Controller It is a commonly used phrase when talking about rails best practices.It basically means placing mo…

Ruby on Rails
Added: 13 Oct 2023
14 ways to Reduce Risk with Feature Flags

The use of feature flags for development and release process can provide multiple benefits that reduce risk related to new functionality or large releases.

Backend Ruby on Rails
Added: 13 Oct 2023
Build the Framework You Need

Or how to retain the vanilla Rails feel beyond the early stages.

Backend Consulting Ruby on Rails
Added: 11 Oct 2023
A happier happy path in Turbo with morphing

Turbo 8 is coming with smoother page updates and simpler broadcasts.

Frontend HOTWire Ruby on Rails
Added: 11 Oct 2023
Rack Attack 404 errors and custom response message - Rails Tricks Issue 20

This week I will show you another Rack Attack trick.

Backend Ruby on Rails
Added: 10 Oct 2023

Week 2023-40

A Few Interesting Ways To Use CSS Shadows For More Than Depth — Smashing Magazine

We often think of shadows in CSS as something to reach for when we want to add depth to a design. But shadows can be used for more than depth. Let’s experiment with different shadows — two CSS properties and a filter — to make interesting hover effects, different text styles, and even casting shadows on other shadows.

CSS Design Frontend
Added: 08 Oct 2023
Choosing a Postgres Primary Key

Turns out the question of which identifier to use as a Primary Key is complicated -- we're going to dive into some of the complexity and inherent trade-offs, and figure things out

Backend database
Added: 04 Oct 2023
Dynamic Table Partitioning in Postgres

Learn how to scale large postgres tables in place and increase query performance.

Backend database
Added: 04 Oct 2023
Simplify sharing with built-in APIs and progressive enhancement - Set Studio

Instead of leaning into heavy social sharing widgets, you can create a truly user-friendly social sharing component that works for everyone, using built-in APIs and progressive enhancement.

CSS Frontend Javascript
Added: 04 Oct 2023

Week 2023-39

Scaling our Ruby on Rails monolith using Packwerk (Part 1)

In this series of articles, we will share our experience with adding Packwerk to a large, fast-growing codebase.

Ruby on Rails
Added: 30 Sep 2023
Testing Stripe Webhooks with Minitest | Kyle Keesling

Kyle Keesling is an Indianapolis-based Ruby on Rails developer. He enjoys coding, cargo bikes, and playing hurling.

Backend Ruby on Rails testing
Added: 29 Sep 2023
The Importance of Postgresql Indexes in Your Rails Application - RailsReviews

Optimize your Ruby on Rails application's performance by identifying and rectifying missing or inefficient Postgresql indexes through insightful SQL queries.

Backend database Ruby on Rails
Added: 29 Sep 2023
18 Tools and Techniques to Improve Rails Application Performance

Within almost 15 years of our history we collected a quite vast collection of tools and techniques that help us to provide the best performance to our clients projects.

Backend DevOps Ruby on Rails
Added: 28 Sep 2023

Better Specs is a collection of best practices developers learned while testing apps that you can use to improve your coding skills, or simply for inspiration.

Ruby on Rails testing
Added: 28 Sep 2023
Refactoring from feature specs to system specs

In this article, I break down the difference between system specs and feature specs in RSpec and Rails, and walk you through refactoring your feature specs to system specs.

Ruby on Rails testing
Added: 28 Sep 2023
Ruby on Rails - September 2023

The only Ruby on Rails newsletter you will every need!

Ruby on Rails
Added: 28 Sep 2023
Strada officially launched! | Masilotti.com

A first look at Strada, the last missing piece of Hotwire. Let's explore how it unlocks native components driven by the web in Turbo Native apps.

HOTWire Ruby on Rails
Added: 28 Sep 2023
Build dynamic navs with current_page? (and conditional classes)

This article explores a dynamic nav component I built using the current_page? helper method, plus Rails' conditional class helpers. The result? A simple, dynamic navbar component, with different styling based on current page. Plus I threw in the ViewComponent version too 😉

Frontend Ruby on Rails
Added: 28 Sep 2023
Rails form_with

This week I want to tell you about the form_with Rails helper. It was introduced in Rails 5.1, and the goal of this helper was to unify the form_for and the form_tag helpers. form_for requires a model instance or a scope and puts the attributes into a hash, so usually when you needed a form in the past where you didn’t want to put them scoped into a hash, you used form_tag.

Frontend Ruby on Rails
Added: 28 Sep 2023
Choose Postgres queue technology

Introduction Postgres queue tech is a thing of beauty, but far from mainstream. Its relative obscurity is partially attributable to the cargo cult of “scale”. The scalability cult has decreed that there are several queue technologies with greater “scalability” than Postgres, and for that reason alone, Postgres isn’t suitably scalable for anyone’s queueing needs. The cult of scalability would rather we build applications that scale beyond our wildest dreams than ones that solve real problems beyond our wildest dreams.

Backend Consulting database DevOps
Added: 28 Sep 2023
Deploying a Rails app with Kamal

This is an updated version of the post I wrote about MRKS in the past.

DevOps Ruby on Rails
Added: 28 Sep 2023

Week 2023-38

Intelligent vs. Smart

Here’s an important distinction to make in life.

Soft Skills
Added: 24 Sep 2023

Week 2023-37

Build Drag and Drop with Rails Hotwire

Introduction Hey there, fellow web adventurers! 😄 Building web applications can be a wild...

Backend Frontend HOTWire Ruby on Rails
Added: 14 Sep 2023
Mining Gold in Digital Conversations

How I used artificial intelligence and async programming to transform interesting conversations into blog posts.

AI
Added: 13 Sep 2023
Express yourself clearly with positive? and negative? for numbers

Syntactical sugar to avoid comparison operators

Backend Ruby
Added: 13 Sep 2023
The undeniable power of the career-changer

Career changers have a lot more to offer than meets the eye—especially in tech!

Soft Skills
Added: 13 Sep 2023

How to plan and execute the refactoring of you Ruby application

Backend Consulting Ruby Ruby on Rails
Added: 13 Sep 2023

Week 2023-36

Why choose Ruby on Rails

Choosing the right web framework for your project is a crucial decision. In this article, we'll take a look at Ruby on Rails and three pros and cons for the framework from a developer's perspective.

Consulting Ruby on Rails
Added: 06 Sep 2023

Week 2023-35

Building a basic API client in Ruby

Building out a basic Ruby API client using the http gem, tested with webmock.

Backend Ruby on Rails
Added: 02 Sep 2023
Building a real-time user page detector

Recently for RelationKit.io I wanted to build a system to help show other users on the same account if another person is on the same page as them to avoid embarrassing duplicate replies on support tickets. While thinking about how to build this, I wondered if I could use Turbo to build it without any custom JavaScript and the answer is a resounding yes.

Frontend HOTWire Ruby on Rails
Added: 02 Sep 2023
What does a developer do during a product discovery sprint?

How to help your team discover the right product using your technical know-how.

Consulting
Added: 01 Sep 2023
12 Best Practices to ABSOLUTELY Destroy Your Codebase! 🧨

Are you tired of writing clean, maintainable code? Do you yearn for spaghetti code that's...

Consulting Ruby
Added: 01 Sep 2023
Speed up your Rack application with HTTP

You don’t need a sophisticated caching mechanism to improve your application’s performance. All you need is a basic understanding of the HTTP specification.

Backend Ruby on Rails
Added: 31 Aug 2023
Dependent Dropdowns with Hotwire - Rails Tricks Issue 17

This week I will show you how to make dependent dropdowns with Hotwire! I will use a toy app as an example. This app will have a page where addresses can be created. The address will consist of a country, a state, a city, and a postcode. Except for the postcode, we will have a list of options coming from the database and when the user selects the country, we load the states for the selected option. When the user selects the state we will load the cities in that state. Let’s start by generating a Rails app, the necessary models and a scaffold for the address:

Frontend HOTWire Ruby on Rails
Added: 29 Aug 2023

Week 2023-34

10 Strategies for Upgrading Ruby or Rails Applications With Low Test Coverage - FastRuby.io | Rails Upgrade Service

Upgrade your Ruby or Rails application confidently, even with low test coverage, by implementing the strategies and best practices outlined in this blog post.

Backend Consulting Ruby Ruby on Rails
Added: 27 Aug 2023
How to work on client problems rather than solution requirements

Here is one strategy to move a client from providing your team with a list of requirements to working on the root problem together.

Consulting Design
Added: 26 Aug 2023
A simple Stimulus Tabs Controller

In this article, I share a handy Stimulus controller for adding tabs to your Rails apps. I also show you a different variation of the controller, and how to add it to your views. Plus, I've included a handy tip to avoid the annoying "flashing in" effect that can happen if you're not careful.

Frontend Javascript Ruby on Rails
Added: 26 Aug 2023
The ideal viewport doesn’t exist

Before you settle on basing design decisions on a handful of strict breakpoints, make sure you consider the vast fragmentation of screen sizes and browser viewports.

CSS Design Frontend
Added: 26 Aug 2023
Rails upsert - Tricks Issue 16

This week, I will show you how to make data imports blazing fast with Active Record.

Backend Frontend Ruby Ruby on Rails
Added: 26 Aug 2023
An Overview of CSS Sizing Units — SitePoint

Explore the four broad categories of CSS sizing units, how to apply them in your layouts, and how to choose the best ones in each scenario.

CSS Frontend
Added: 25 Aug 2023
Use removable models in Rails nested attributes

In many Rails based systems we can find models that should not be destroyed but should be tagged as...

Backend Frontend Ruby on Rails
Added: 24 Aug 2023
How to create an RSS feed with Ruby on Rails

Many moons ago, RSS was all the hype. With fewer publication engines like Medium, Substack, and other newsletter-style engines, most people would create thei...

Backend Frontend Ruby on Rails
Added: 24 Aug 2023
Rails 7.1 adds picture_tag helper to support HTML5 picture element

Rails 7.1 adds the picture_tag helper method that renders the HTML picture tag for handling responsive images.

Frontend Ruby on Rails
Added: 24 Aug 2023
Rails 7.1 enhances PostgreSQL enum functionality

Rails 7.1 adds rename_enum, add_enum_value and rename_enum_value commands to DB migration extending support for PostgreSQL enums.

Backend database Ruby on Rails
Added: 24 Aug 2023

“Rails Magic” is one of the terms I have heard a lot. Rails indeed is a magical framework as it does a lot under the hood. Yet, it can feel “too magical” for a new Rails dev.

Frontend Ruby on Rails
Added: 24 Aug 2023
Advanced Active Record

Optimizing Performance and Robustness with Locking, UUIDs, Fulltext Search, Database Views, and Geospatial Data

Backend database Ruby on Rails
Added: 24 Aug 2023

Week 2023-33

Rails static pages - Rails Tricks Issue 15

Hi there,

Backend Frontend Ruby on Rails
Added: 16 Aug 2023

Hotwire and Turbo are great for very quickly and easily adding real-time updating of webpages without requiring the browser to reload the whole page.

Frontend HOTWire Ruby on Rails
Added: 16 Aug 2023
Optimized Dockerfile: YJIT + jemalloc + bootsnap

Development, Test and QA SMTP server for all of your email needs. Mailsnag lets you build resilient SMTP integrations while protecting you from spamming customers during testing.

Backend DevOps Ruby on Rails
Added: 16 Aug 2023
Introducing PGMQ: Simple Message Queues built on Postgres | Tembo

We’ve released PGMQ, a packaged extension for message queues on Postgres.

database
Added: 16 Aug 2023
Ruby on Rails Components Necessity

Explore Rails Components for improved, aesthetic frontend in Ruby on Rails apps, offering shareable, encapsulated functionality like React Components

Frontend Ruby on Rails
Added: 16 Aug 2023

Kevin Newton

Backend database Ruby on Rails
Added: 16 Aug 2023
How to Add Database Triggers in Ruby on Rails?

Overview In this article, we are going to discuss the usage of database triggers in Ruby...

Backend database Ruby Ruby on Rails
Added: 16 Aug 2023
Using Concerns with Ruby on Rails

Rails Concerns are a great way to keep your code DRY by making it easy to share code across Modules and Classes. The post will be going through some of the in-and-outs of Concerns, why they’re useful and how to use them.

Backend Ruby on Rails
Added: 15 Aug 2023
GitHub - afomera/richer_text: RicherText is a Rich Text Editor based on TipTap for Ruby on Rails

RicherText is a Rich Text Editor based on TipTap for Ruby on Rails - GitHub - afomera/richer_text: RicherText is a Rich Text Editor based on TipTap for Ruby on Rails

Gem Ruby on Rails
Added: 15 Aug 2023
10 Postgres tips for beginners | Database branching for any Postgres DB · Postgres.ai · DBLab

Getting started with PostgreSQL can be both exciting and challenging. It's more than just another database—it's a system packed with features that can change how you handle data. Every Friday, Michael (pgMustard) and I discuss these features on our podcast, Postgres.FM (there is also a video version on YouTube). We've been at it for 55 weeks straight since July 2022, and we're not stopping anytime soon. Our latest episode was all about helping newcomers to PostgreSQL. After seeing the huge response to my tweet, which got over 200k views, 1200+ likes, and 200+ retweets, I wanted to dig deeper and share more about these essential tips. Here are those 10 tips (+bonus) Michael and I have discussed... continue reading »

Backend database
Added: 15 Aug 2023
Basics of JSON | Tutorials | Crunchy Data

Learn JSON interactions including manipulating, querying, saving, and optimizing a simple object structure.

Backend database
Added: 15 Aug 2023
An Introduction to Metaprogramming in Ruby | AppSignal Blog

Explore some of the fundamentals of metaprogramming in Ruby.

Backend Ruby
Added: 15 Aug 2023
The new @font-face syntax

Using variable fonts and color fonts with @font-face.

CSS Frontend
Added: 15 Aug 2023
Forecasting the Future: Intro to Machine Learning in Ruby (RailsConf 2023)

Inspired by a desire to understand why more engineers weren't using Ruby for their machine learning (ML) projects, I embarked on a journey to determine if I ...

Backend Ruby on Rails
Added: 15 Aug 2023
YouTube

Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.

database DevOps
Added: 15 Aug 2023
Active Storage in production: lessons learned and in-depth look at how it works

1. Introduction In my company, we lucked out that Rails 5.2 (and Active Storage) was released just before we needed to implement user uploads. This means that we’ve been using it in production for over 5 years, across 3 different hosts (Heroku, AWS, and GCP) and 3 different storage providers (S3, GCS, and R2). Our primary use case is image galleries, either of products we sell, or user-uploaded images for their wedding/birthday/baby shower websites. This means that we rely heavily on image tran...

Backend Ruby on Rails
Added: 14 Aug 2023

Week 2023-32

Supercharge your Stimulus controllers with Custom APIs

Marco Roth - marcoroth.dev

Frontend Javascript Ruby on Rails
Added: 13 Aug 2023
Supavisor: Scaling Postgres to 1 Million Connections

Supavisor is a scalable, cloud-native Postgres connection pooler. We connected a million clients to it to see how it performs.

Backend database
Added: 13 Aug 2023

In a project I'm working on right now I've been using a Rails nested form and a couple of things caught me off guard.

Backend Frontend Ruby on Rails
Added: 10 Aug 2023
ActiveStorage S3: Direct Drag-Drop Uploader

Build a drag-and-drop ActiveStorage S3 Direct Uploader using Rails and Direct Uploads. Follow instructions for model, S3, and view setup

Backend Frontend Ruby on Rails
Added: 08 Aug 2023

Week 2023-31

Advanced Usages of Devise for Rails | AppSignal Blog

Let's dive into some advanced usages of Devise, including the use of OmniAuth, API authentication, and Authtrail.

Backend Ruby on Rails
Added: 02 Aug 2023
Projects to code while learning Ruby and Ruby on Rails

Discover beginner Ruby & Rails projects: Meal Planner, Lists Share, Habit & Symptom Trackers, SWOT Analysis; learn by problem-solving

Consulting Ruby Ruby on Rails
Added: 02 Aug 2023

Week 2023-30

Here’s why you shouldn’t treat employee mental health as a mental health problem

Simply trying to tackle the issue as it happens is not a sustainable solution, says new research.

Soft Skills
Added: 27 Jul 2023
Are you absolutely sure your Rails caching strategy isn't leaking sensitive information?

Rails writes a new cache entry based on the first request. But what happens when that request is from an admin?

Backend Ruby on Rails
Added: 27 Jul 2023
Computed columns with the find_by_sql method in a Rails application

Introduction Ruby is a beautiful expressive programming language. Like many other...

Backend Ruby on Rails
Added: 26 Jul 2023
Invisible Details of Interaction Design

What makes great interactions feel right?

Frontend
Added: 25 Jul 2023
New in CSS: relative colors

Learn how relative CSS colors enable color manipulations.

CSS
Added: 25 Jul 2023

Week 2023-29

Implementing Deep Linking in React Native: A Quick Step-by-Step Guide

A quick step-by-step guide on implementing deep linking in React Native application, enabling users to seamlessly access specific screens or content within the app.

Frontend
Added: 22 Jul 2023
Why Adaptive Rate Limiting is a Game-Changer

Learn how rate limiting works from real life examples, what are limitation of traditional rate limiting and why adaptive rate limiting is needed.

Backend
Added: 21 Jul 2023
GitHub pull request merge strategies

An overview of what the options provided by the pull request merge button on GitHub do and how to make the best out of each strategy.

Tools
Added: 20 Jul 2023

N+1 queries are not always a problem, but I have seen that most of the n+1 queries that are really a problem are when we need to fetch data to compute something. Here I will try to share some examples of posible expensive computations candidates to...

Backend Ruby on Rails
Added: 20 Jul 2023
Why engineers should focus on writing - Dmitry Kudryavtsev

All engineers are good writers... of code. But I believe that in order to a become better engineer–you should improve your writing skills.

Soft Skills
Added: 20 Jul 2023
Citus 12: Schema-based sharding for PostgreSQL

Release blog post for the 12.0 release of the Citus extension to Postgres. Dive into new Citus 12 features such as schema-based sharding for multi-tenant SaaS applications (and microservices) as well improvements in the Citus support for the Postgres 15 MERGE feature.

database
Added: 20 Jul 2023
Ruby Struct

In simple words, Ruby Struct is a built-in class that provides useful functionalities and shortcuts. You can use it for both logic and tests.

Ruby
Added: 20 Jul 2023
Building Value Objects in Rails with composed_of

Learn how to improve the interface of your existing Active Record Models with this underutilized API.

Backend Ruby on Rails
Added: 20 Jul 2023
Rails 7.1 introduces deliver callbacks for ActionMailer

Rails 7.1 adds before_deliver and after_deliver callbacks to ActionMailer to hook into the lifecycle events of the mail delivery.

Backend Ruby on Rails
Added: 20 Jul 2023
Beware of <%== in your erb files

The danger of an extra equals

Frontend Ruby Ruby on Rails
Added: 20 Jul 2023
Testing Inherited Behavior

This post describes different ways of testing inherited behavior, including duplicating the tests, not testing the inherited behavior, and using a shared example.

Ruby Ruby on Rails testing
Added: 20 Jul 2023
What is the difference between Turbo and Stimulus, and what exactly is Hotwire?

I’m going to try to help out by giving you a quick overview of what these things are, and where they fit in to the bigger picture. I’ll assume you’re familiar with the “basic” Rails stack - DB -> Models -> Controllers -> Views. Then, I’ll point you to some resources which you can use to dive deeper.

HOTWire Ruby on Rails
Added: 20 Jul 2023
Polymorphic Relationships in ActiveRecord - dick.codes

Full-stack Ruby on Rails engineer. Blogs about programming topics.

Backend Ruby on Rails
Added: 20 Jul 2023
In Defence of Shoulda Matchers

Defending the humble Shoulda Matcher for Ruby on Rails functionality testing. A junior's perspective.

Ruby on Rails
Added: 17 Jul 2023

Week 2023-28

Modifying Action Text markup - Rails Tricks Issue 14

Hi there, I am working on a newsletter tool(Pombo) and this week, I want to share how I solved a problem I came across last week while working on it. The...

Backend Frontend Ruby on Rails
Added: 14 Jul 2023
Adding custom boolean methods for DateTime columns in ActiveRecord

Is it possible to have ActiveRecord automagically create boolean methods for DateTime columns in your models?

Backend Ruby on Rails
Added: 14 Jul 2023
Discovering Rails Routes: Unfamiliar Features

While all Rails developers are familiarized with the routes DSL less or more, some fewer known features make the routing configuration even more flexible.

Backend Ruby on Rails
Added: 14 Jul 2023
Turbo Native Authentication Part 2 - IOS Client

In this second part, we are building a turbo native app to use native authentication

Ruby on Rails
Added: 14 Jul 2023
Push to Subscribe

Integrating Web Push with Rails

Backend Frontend Ruby on Rails
Added: 13 Jul 2023

Week 2023-27

Pattern Matching on Ruby Objects

Learn how to implement pattern matching on Ruby objects.

Backend Ruby
Added: 06 Jul 2023

Week 2023-26

To improve as an engineer, get better at requesting (and receiving) feedback 

It’s easy to ask for, and even want, feedback in a sort of theoretical sense. But soliciting and responding to feedback are, themselves skills.

Soft Skills
Added: 30 Jun 2023
Using iCalendar RRULE in Postgres | This and That

Start at dstart and reoccur every month on same day of month for five occurences.

Backend Javascript
Added: 30 Jun 2023
Rails 7 extends enum support for Postgres adapter

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

Backend Ruby on Rails
Added: 30 Jun 2023
How To Use Basecamp’s MRSK With AWS and GitHub

Learn how to use Basecamp’s MRSK to deploy Rails application to AWS with GitHub Actions

DevOps
Added: 30 Jun 2023
Rails nested form (new gem with Stimulus)

Handle dynamic nested forms, same as Cocoon, but using StimulusJS.

Frontend Ruby Ruby on Rails
Added: 30 Jun 2023
Playground | MDN

The MDN Web Docs site provides information about Open Web technologies including HTML, CSS, and APIs for both Web sites and progressive web apps.

CSS Javascript Tools
Added: 30 Jun 2023
An Introduction to Lambdas in Ruby | AppSignal Blog

Lambdas can make your code easier to use and more powerful. Discover how to use Lambda functions in Ruby.

Ruby
Added: 30 Jun 2023
Building a learning culture to unlock developer thriving

Allowing developers to learn on the job can be difficult when the pressure is on, but research proves that a strong learning culture can help developers thrive.

Soft Skills
Added: 30 Jun 2023
Tips for writing Rails tasks with Thor instead of Rake

Thor is a great way to write simple CLIs like one-off Rails scripts, but it does have its own gotchas. Here’s how to use Thor in practice.

Ruby Ruby on Rails
Added: 30 Jun 2023
To Build a Top Performing Team, Ask for 85% Effort

An outdated way of thinking about peak performance is: “maximum effort = maximum results.” But research shows that it doesn’t actually work that way in reality. Here’s what actually works: The 85% rule, which counterintuitively suggests that to reach maximum output, you need to refrain from giving maximum effort. Operating at 100% effort all of the time will result in burnout and ultimately less-optimal results. While the precise number 85% may just be a rule of thumb, it’s a helpful one for managers who want to create high-performance teams without burning people out.

Consulting
Added: 30 Jun 2023
3 ways to find your worst JavaScript offenders for page load

As Addy Osmani likes to say, JavaScript is your most expensive asset. Compared to an image or stylesheet, for example, a JavaScript file of the same size will take the same amount of time to download. The problem comes in the amount of processing after download that needs to occur before the JavaScript is fully execute

Frontend Javascript
Added: 30 Jun 2023
Move Fast & Avoid Sharp Edges

Our Journey to Kubernetes, With a Little Help from Porter

DevOps
Added: 30 Jun 2023
Interesting JavaScript Features from a Ruby Perspective

Hi there. I recently began relearning JavaScript, as it had been a year since I last did anything...

Javascript Ruby
Added: 30 Jun 2023
Fly + PlanetScale + Rails example dockerfile

If you are debugging this error: LoadError: libmariadb.so.3: cannot open shared object file: No such file or directory - /rails/vendor/bundle/ruby/2.7.0/gems/mysql2-0.5.5/lib/mysql2/mysql2.so The fix is having these packages installed for production: default-mysql-client default-libmysqlclient-dev Here's a full

DevOps Ruby on Rails
Added: 30 Jun 2023
Take the Outside View: A solution to the planning fallacy

Optimism is our kryptonite but history is our saviour.

Consulting
Added: 30 Jun 2023

Week 2023-25

Unleash Devise-Enabling All Modules

Introduction If you're a Rails developer, I bet you have already heard of or used devise....

Backend Ruby Ruby on Rails
Added: 24 Jun 2023
DevOps is Bullshit

DevOps is Bullshit. A Critique of How We've Fooled Ourselves for Years.

DevOps
Added: 24 Jun 2023
The Blank Page Problem

Getting started from a empty page can be tough. But there are some strategies for breaking the blank.

Consulting
Added: 22 Jun 2023
When to Use Select Instead of Pluck

For us Rails developers, performance is an important topic. We'd like to maximise what Rails can do on our websites. So, it's best to consider how we can maximise the use of `select` over `pluck` as the advantage is tremendous.

Backend Ruby on Rails
Added: 22 Jun 2023
Rails design patterns

This article is a high-level overview of design patterns that are commonly used in Ruby on Rails applications. I also mention the cons and pros.

Ruby Ruby on Rails
Added: 22 Jun 2023
Inheritance versus Composition in Ruby

As a neophyte of object oriented concepts and the Ruby language as a whole, I thought it would be useful to delve into my own journey of…

Consulting Ruby Ruby on Rails
Added: 22 Jun 2023
Intro to Propshaft: A new asset pipeline for Rails

Explore the future of asset pipelines in Rails with Propshaft! Discover how this cutting-edge technology enhances the management and delivery of assets while simplifying your development workflow.

DevOps Ruby on Rails
Added: 22 Jun 2023
The Potential birth of AttributeBuilders

In the previous article, I said I believe splitting up the responsibility of building attributes from the actual rendering of HTML can open up many interesting possibilities. But the work to do so might not be that simple. I've been working on this o...

Frontend Ruby Ruby on Rails
Added: 22 Jun 2023
How We Made Gusto Page Loads 40% Faster

For businesses with 25 or more employees, pages load 1.4 times faster. After loading gusto.com for the first time, navigations in Gusto are 2 times faster. For smaller businesses, page loads are 1.2 times faster, and all navigations after the first are now 1.8 times faster.

Consulting Ruby on Rails
Added: 22 Jun 2023

Imagine that you are building a custom CMS. Within the form to edit an Article, you need to have two buttons: a normal “Save” button and a new “Save and publish” button. And maybe, additionally, you will need a third button to delete the article. ...

Frontend Ruby on Rails
Added: 21 Jun 2023
Diving Deep: Action View Form Helpers

In the previous article, I mentioned that Action View has some component-like classes that render form elements. Let's deep dive into a simple one: Tags::TextField. This class is used in the FormBuilder like so (source): def text_field(object_name, m...

Frontend Ruby Ruby on Rails
Added: 21 Jun 2023
Active Record Transactions - Rails Tricks Issue 10

This week we will look into database transactions. First of all, let me try to explain what they are. A database transaction is a unit of work that encapsulates dependencies and is executed either completely or rolled back to the initial state. For instance, there is double-entry accounting, where you always have a credit and debit record for a transaction, so your accounts stay in balance, and you never want to end up in a situation where you record only one side of a transaction.

Backend Ruby on Rails
Added: 21 Jun 2023
Publishing your content on a blog content vs. sharing on social media

Use a personal blog for technical content to ensure resilience, avoid platform dependency, and prevent account suspension

Ruby
Added: 21 Jun 2023
Hotwire Examples

HOTWire Javascript Ruby on Rails
Added: 19 Jun 2023
Upgrading from Selenium to Cuprite

When I joined my current company, the system tests for our Rails app used Selenium as the Capybara driver. I didn’t have good experiences with Selenium in the past, mostly it was tedious to have to keep chromedriver up-to-date with the auto-updating Chrome. In this project, I was frequently hitting maximum number of open file descriptors on my OS when running system tests, probably in combination with Spring. We’re using the Webdrivers gem, and we also needed to ignore its download URLs in VCR and WebMock. But my primary issue was that the system tests just seemed kind of slow in general.

Backend Ruby on Rails testing
Added: 19 Jun 2023
Rails 7.1 adds ActiveJob.perform_all_later

Rails 7 series | Rails 7.1 adds ActiveJob.perform_all_later to enqueue multiple jobs at once.

Backend Ruby on Rails
Added: 19 Jun 2023

Week 2023-24

👥 The Ultimate Guide to Effective Pair Programming

Double the Brains, Double the Power! They say two heads are better than one, and it’s...

Soft Skills
Added: 18 Jun 2023
Considered Harmful - Domain Driven Design

TL;DR Domain Driven Design, which was described in 2003, about the same time as TDD. And...

Consulting
Added: 18 Jun 2023
Setting Up Business Logic with DCI in Rails | AppSignal Blog

In part two of this series, we'll organize business logic in your Rails application using DCI.

Backend Ruby on Rails
Added: 17 Jun 2023
How I use Nano ID in Rails

Introduction When building applications normally we will use database to store the data....

Backend Ruby Ruby on Rails
Added: 17 Jun 2023
Deploying a Rails app with MRSK

What is MRSK?

DevOps Ruby Ruby on Rails
Added: 16 Jun 2023
Pair Programming: Best Practices and Tools

In the fast-paced world we live in, working together is crucial for developing high-quality code. In...

Soft Skills
Added: 15 Jun 2023
Using a Single Input for one-time-code

The other night I had a bit of fun trying to create a single-input one-time-code: one-time-code is...

CSS Frontend Javascript
Added: 14 Jun 2023
Unlocking the power of forms in Rails

I've had this idea in the back of my head for a while that can potentially unlock a bunch of possibilities with Rails' Form Helpers. But to present it, I want to write about what you can do with them today, the limitations and what I want as a develo...

Backend Frontend Ruby on Rails
Added: 14 Jun 2023
Rails Generator Actions

Almost everything done with Rails Generators happens using actions that streamline common tasks that would otherwise have to be performed with lower-level...

Backend Ruby on Rails
Added: 13 Jun 2023
4 Strategies To Remove Dead Code from your Ruby App

How much does it cost you to carry dead code? How do you find and remove zombie Ruby code? Use these 4 strategies to kill out all the dead code in your Ruby application.

Consulting Ruby Ruby on Rails
Added: 12 Jun 2023
SOLID principles

This article is a quick summary easy to memorize, so you will never wonder again what this SOLID term is all about.

Ruby
Added: 12 Jun 2023
Viewport units can consider the writing mode

"vi" and "vb" are viewport units that consider the inline/block axis of the container block.

CSS Frontend
Added: 12 Jun 2023
Extract Sample Rate of an Audio File with Audio Analyzer in Rails 7.1

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

Backend Ruby on Rails
Added: 12 Jun 2023
Learn Hotwire by building the simplest possible Hotwire and Ruby on Rails app — a beginners guide. | MONN blog

Hotwire is a (relatively) new part of Ruby on Rails that allows your Rails frontend to update live and in realtime — in many cases, totally replacing a frontend framework like React or Vue.

Backend Frontend HOTWire Ruby on Rails
Added: 12 Jun 2023
Really, Really, Really Don’t Interpolate Strings into Active Record Methods

It’s risky to expose your database to SQL Injections

Backend Ruby on Rails
Added: 12 Jun 2023
Let's Standardize Rails!

At RailsConf 2023, we conducted an experiment: could attendees do the hard work for us by voting on RuboCop rules so we could publish Standard Rails plugin?

Backend Ruby on Rails
Added: 12 Jun 2023

If you want to add images to a record but you don’t want to use a JavaScript plugin or write any custom JavaScript, you can use a regular file field, Active Storage, and vanilla Rails.

Backend Frontend Ruby on Rails
Added: 12 Jun 2023

Week 2023-23

How to Use Enums in Rails

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

Backend Ruby on Rails
Added: 11 Jun 2023
7 Key Best Practices for Rails Internationalization

Get to know seven key best practices for Rails internationalization to organize your translation workflow better.

Backend Frontend Ruby on Rails
Added: 07 Jun 2023
Standardize Not Caring About Standards

Is there anything more more long in the tooth than people arguing about standards? Yes - it’s people writing about people arguing about standards.

Consulting
Added: 07 Jun 2023
5 tips for new Rails developers

5 tips for new Rails developers to be more productive and confident.

Ruby Ruby on Rails
Added: 07 Jun 2023
Are you absolutely sure your `has_one` association really has one association?

Learn about an unexpected limitation with this API and how to combat it universally.

Backend Ruby on Rails
Added: 05 Jun 2023

Week 2023-22

How To Criticize Coworkers

I originally wrote this as a doc, and did a talk w/ slides in Fall 2020 at Convoy. This is very focused on how to work in a software engineering team (surprise! that’s most of what I know about!) but I’ve had friends say they’ve shown this to their partners,...

Soft Skills
Added: 03 Jun 2023
How Notion builds product

Chief Product and Technology Officer Michael Manapat on Notion’s evolving internal processes, product reviews, planning cadences, and increasing shift to synchronous communication

Consulting
Added: 02 Jun 2023
How I manage my git history | Binary Solo

I'm generally a rather pedantic person and this is supercharged when it comes to managing the git history on my projects. I used GitHub's squash and merge for a while before Chris Moore taught me a few tricks. I'm not a fan of squash and merge because it squashes an entire Pull Request into a single commit, no matter how large it is. This means that rather large changes could live under a single commit. I believe the commit history should tell a linear story, as pretentious as that might...

Tools
Added: 02 Jun 2023
Rails 7.1 AR adds normalizes API for attribute values

Rails 7.1 adds ActiveRecord::Base::normalizes API to normalize attribute values to a common format before saving them to the database.

Backend Ruby on Rails
Added: 02 Jun 2023
The Gateway Pattern

Use gateway classes to organize external API integrations and establish a clearer separation of concerns.

Backend Ruby on Rails
Added: 02 Jun 2023
Advanced Form Control Styling With Selectmenu And Anchoring API — Smashing Magazine

Thanks to the Open UI working community group, there’s a new element on the horizon, , that will make styling this type of form control a whole lot better. You’re going to walk through an early implementation of this new experimental element by creating a pattern that you would never have thought possible with CSS alone — a radial selection menu.

CSS Frontend
Added: 01 Jun 2023
Sophisticated, Simple, and Affordable Background Workers

How to design a queueing system to manage complex background jobs

Backend Ruby Ruby on Rails
Added: 31 May 2023
Introduction to Rails Engines - FastRuby.io | Rails Upgrade Service

An intro to Rails Engines are an architectural pattern that can be used to modularize or pack a Rails application. An article about this powerful feature in Rails.

Ruby on Rails
Added: 30 May 2023

If you want to add many attachments to a record using just a file field, but you don’t want to remove the previous images from the record on every update, like in the following code:

Backend Frontend Ruby on Rails
Added: 30 May 2023
Infer name with link_to - Rails Tricks Issue 8

Hi, this week I want to tell you about an improvement coming in Rails 7.1. When you are using the link_to helper, it can infer the URL from the object you are passing to it as the second parameter:

Frontend Ruby on Rails
Added: 30 May 2023
A comprehensive guide to the anonymous functions

This article is a deep dive into blocks, procs, and lambdas that will help you to understand how these functions differ from each other.

Ruby
Added: 30 May 2023
How-To Add Recommendations to a Rails App with pgvector and OpenAI

Creating recommendations with pgvector, ruby-openai, and the neighbor gem.

Backend Ruby Ruby on Rails
Added: 30 May 2023
Manage Your Ruby Logs Like a Pro | AppSignal Blog

Discover the ins and outs of logging in Ruby, including how to customize your logs and use logging libraries like Lograge.

Ruby Ruby on Rails Tools
Added: 30 May 2023
Why an Engineering Manager Should Not Review Code

When discussing team organization, I am often asked: “Why don’t you have the tech lead manage the team?” My response is to hiss like a…

Consulting Soft Skills
Added: 30 May 2023
Avoid Putting Logic in Map Blocks

The contents of a map block should probably be an instance method on each item.

Backend Ruby
Added: 29 May 2023

Taking a look at how to use a Common Table Expression in Active Record queries in Rails 7.1+

Backend Ruby on Rails
Added: 29 May 2023

Week 2023-21

Ruby on Rails' Most Popular Design Patterns | Scout APM Blog

Improve Rails code by using these design patterns: Builder, Decorator, Form, Interactor, Observer, Policy, Presenter, Query, Service, Value

Backend Design Ruby on Rails
Added: 28 May 2023

This post explores how flog, a tool that analyzes the complexity of your code, can identify areas to refactor.

Backend Ruby Ruby on Rails
Added: 26 May 2023

When saving computed values in the database in your rails app, you must be aware that is possible to find unexpected errors in the result thanks to race conditions. Here I want to help you visualize how race conditions can make you save incorrect...

Backend Ruby on Rails
Added: 26 May 2023
A new way to measure developer productivity – from the creators of DORA and SPACE

An exclusive interview with the four researchers behind a new developer productivity framework: The three dimensions of DevEx

Consulting
Added: 26 May 2023
🤺 7 Useful VS Code extension for junior web developers

In my early days of coding I used to get quickly frustrated when my code didn't run. It felt like I...

Tools
Added: 26 May 2023
Simple Rails design patterns with significant impact

If you don’t have time for introducing more significant changes, try implementing smaller yet powerful design patterns.

Ruby Ruby on Rails
Added: 26 May 2023
Future of CSS: Popover API

In this post we're going to be looking at not one but two new exciting things coming to CSS, the...

CSS Javascript
Added: 25 May 2023
Solving N+1 Postgres queries for Ruby on Rails apps

Chris has some tips for working with Ruby on Rails and ActiveRecord and using better SQL to improve performance and avoid N+1 queries.

Backend Ruby on Rails
Added: 25 May 2023
The OKR Cycle

What does a complete cycle of planning and delivering on OKRs look like. Here's an example.

Consulting
Added: 24 May 2023

Week 2023-20

How to avoid burnout in remote engineers

Working remotely may not seem like the sort of environment where burnout thrives, but it is. Learn about ways to avoid common pitfalls and lead a more balanced work life.

Consulting Soft Skills
Added: 19 May 2023
3 Proven SQL Best Practices You Need To Know In Data Analysis

Learn 3 best ways to write easy to read, easy to debug and easy to modify SQL query

Backend
Added: 18 May 2023

Week 2023-19

How to avoid a dysfunctional relationship between product and growth teams

If your company has distinct product and growth teams, I’m willing to bet you’ve seen or felt something about their relationship that doesn’t quite sit right with you. What you’re sensing is dysfunction. It might not be catastrophic levels of dysfunction, but make no mistake, it's impacting your product growth and probably taking casualties along the way, with people on the teams feeling frustrated and adversarial.

Consulting
Added: 12 May 2023
Rails 7.1 adds ActiveRecord::Base::normalizes

Rails 7 series | Rails 7.1 adds ActiveRecord::Base::normalizes.

Backend Ruby on Rails
Added: 12 May 2023
Changing the Parent Resource Parameter Key in Rails

tweaking the parent resource parameter key

Backend Ruby on Rails
Added: 12 May 2023
Reduce load times of Rails applications using CloudFront CDN

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

DevOps Ruby on Rails
Added: 12 May 2023
Creating Custom Rails Generators

A complete and concise overview to help you create custom Rails Generators and avoid the speed bumps that might otherwise slow you down.

Backend Ruby on Rails
Added: 12 May 2023
Ruby Retry Made Better

Ever need a simple way to retry a block of code in ruby? Maybe you need a maximum number of retries? Exponential backoff? Different handling for different exceptions?

Backend Ruby Ruby on Rails
Added: 12 May 2023
Active Record where tricks - Rails Tricks Issue 5

Hey, this week, I am bringing you Active Record tricks to find records with missing associations or with associated records only, and to negate your conditions.

Ruby Ruby on Rails
Added: 12 May 2023
Scoped CSS is Back

Several years ago, I made a plea to save scoped CSS. One of the top features on my CSS wishlist was on the chopping block, and despite a pretty big push from th

CSS Frontend
Added: 12 May 2023

Imagine that you need to put the number of likes for each post in a list, but avoiding n+1 queries. posts.each do |post| post.likes.count # n+1 queries end One way to avoid n+1 queries here, is to preload the association and the count the records...

Backend Ruby on Rails
Added: 12 May 2023
Leading as the most experienced engineer in the room

Your domain expertise is essential to your job, but it just might be one of the things getting in the way of you being a truly great engineering leader.

Consulting Soft Skills Staff Engineer
Added: 11 May 2023
How great managers create stability during turbulent times

​​Great managers can create stability for their teams, even when things within the larger organization feel up in the air.

Consulting Soft Skills
Added: 11 May 2023
Running Ruby 3.2's YJIT in Production at Discourse

At Discourse, we have been eager to adopt YJIT ever since Shopify’s Ruby & Rails Infrastructure team declared it production-ready. After witnessing promising local benchmarks, we began running our production Rails applications with Ruby 3.2’s YJIT enabled on selected clusters in early May 2023. We then spent some

Backend DevOps Ruby Ruby on Rails
Added: 11 May 2023
Modern HTML email (tables no longer required)

Coding email like it's 2023

Frontend
Added: 10 May 2023

Week 2023-18

Rails Low-Level Caching Tips

Ruby On Rails provides numerous ways to cache data, particularly built-in page, action, and fragment caching, but these are unlikely to be applicable when dealing with API endpoints such as GraphQL. Here, we'll concentrate on low-level caching, which gives you more power and control over your caching strategy.

Backend DevOps Ruby on Rails
Added: 04 May 2023
Transitioning from Developer to Tech Lead: Tips and Challenges

There I was, basking in the afterglow of successfully completing yet another project as a developer,...

Soft Skills
Added: 04 May 2023
The simple trick to transition from 0 to auto with CSS

Animating or transitioning to and from height auto is, well, not really possible (though it is being worked on!), but luckily, there is actually a solution u...

CSS Frontend
Added: 02 May 2023
Transitioning to height auto (two ways)

Yes, there is now a way to transition an element to height auto with CSS alone.

CSS Frontend
Added: 02 May 2023
Welcome to Rails Cheat Sheet

A helpful list of resources for people who are just getting started out with Rails.

Ruby on Rails
Added: 01 May 2023
SQL performance tuning

Handling data is a big part of every application, and doing it in the wrong way can be costly. In this article, I’ll give you some tips…

Backend
Added: 01 May 2023
This week in #dev (Apr 21, 2023)

This week, we discussed splitting arrays, handling deprecation warnings, and querying missing records.

Backend Ruby Ruby on Rails
Added: 01 May 2023
Super Useful CSS Resources 🌈

The ultimate list of 70+ web-based CSS tools that every frontend developer should have bookmarked!

CSS Frontend
Added: 01 May 2023
Episode 399 - Active Storage Validators | Drifting Ruby

Validation of files that are uploaded can provide a better user experience as it sets the expectations of what kinds of files, their sizes and if they're even required. In this episode, we'll look at creating different types of validators for Active Storage.

Backend Ruby on Rails
Added: 01 May 2023

Week 2023-17

Few static analysis tricks to bulletproof your application

Hi, we're Arkency and it's our blog with meaty content.

DevOps Ruby on Rails
Added: 30 Apr 2023
Hacking Rails Implicit Rendering for View Components & Fun

Build interesting Rails plugin renderers that tap into ActionController::ImplicitRender#method_for_action like implicit renders, bulk resources, and more.

Backend DevOps Ruby on Rails
Added: 28 Apr 2023
Running Rails Development with a Fake Domain and SSL

This is a quick guide on a workaround to get your rails development running in SSL and under your production URL.

DevOps Ruby on Rails testing
Added: 27 Apr 2023
Containerize a Rails 7 App and Run it on Vultr with Cloud 66

We show you how to containerize a Rails 7 application and how to deploy and manage it on Vultr with Cloud 66. Celebrating a 3-year integration partnership with Vultr.

DevOps Ruby on Rails
Added: 27 Apr 2023
Why duplication is more acceptable in tests - Code with Jason

It’s often taught in programming that duplication is to be avoided. But for some reason it’s often stated that duplication is more acceptable in test code than in application code. Why is this? We’ll explore this, but first, let’s examine the wrong answers. Incorrect reasons why duplication is more acceptable in tests “Duplication isn’t actually […]

Ruby on Rails testing
Added: 27 Apr 2023
MRSK: hot deployment tool to watch—or a total game changer?—Martian Chronicles, Evil Martians’ team blog

The SRE pros at Evil Martians attempt an objective analysis of the promises, applications, and potential of MRSK, plus things to watch out for.

DevOps Ruby on Rails
Added: 27 Apr 2023
How to add custom methods to Rails console

You can add custom methods automatically available in the Rails console.

DevOps Ruby on Rails
Added: 26 Apr 2023
Advanced Active Record

Optimizing Performance and Robustness with Locking, UUIDs, Fulltext Search, Database Views, and Geospatial Data

Backend Ruby on Rails
Added: 25 Apr 2023
Working with PDFs in Ruby

Working with invoices, contracts, or just reading your favorite mystery thriller—whatever the case, PDF files are everywhere. Learn how to work with PDFs in Ruby.

Packages Ruby Ruby on Rails
Added: 24 Apr 2023
How Postgres Triggers Can Simplify Your Backend Development

Blog about Software Engineering

Backend database
Added: 24 Apr 2023

Week 2023-16

Don’t wait, let’s use the browser Contact Picker API now—Martian Chronicles, Evil Martians’ team blog

We’ll explain and demo the browser Contact Picker API. Contact Picker features have been ubiquitous in native mobile apps for a long time. Browser adoption has finally picked up enough and it’s time to implement these features there, too.

Frontend Javascript
Added: 23 Apr 2023
Node.js with Docker | RubyMine

You can find some examples at Quick Tour of WebStorm and Docker.

DevOps Tools
Added: 22 Apr 2023
Top 8 Tools for Ruby on Rails Code Optimization and Cleanup

Keeping your code clean and organized while developing a large Rails application can be quite a challenge, even for an experienced developer.

Consulting Ruby on Rails
Added: 22 Apr 2023
A hybrid development Docker Compose setup for Rails

Lots of developers choose between dockerizing their development setup or leaving it as is. There is also a viable hybrid approach in combining Docker Compose with native processes.

Design DevOps Ruby on Rails
Added: 22 Apr 2023
identity-idp/backend.md at main · 18F/identity-idp

Login.gov Core App: Identity Provider (IdP). Contribute to 18F/identity-idp development by creating an account on GitHub.

Backend Consulting Design Ruby on Rails
Added: 22 Apr 2023
Rails development environment with Docker

Step-by-step instructions on setting up the ideal Ruby on Rails developer environment using Docker, optimized for new devs onboarding onto the project.

Ruby on Rails
Added: 21 Apr 2023
How to Access Hash Values with Methods Using OrderedOptions

Have you ever wanted to create a hash where you could access the values like methods on an object? The OrderedOptions class in Rails lets you do just that. This post shows you how. We'll also explore how Rails implements this feature using Ruby's metaprogramming features.

Backend Ruby on Rails
Added: 20 Apr 2023
The In-depth Guide to Caching ActiveRecord SQL Queries in Rails

Caching might seem a perfect solution to speed up slow database queries. However, caching in Rails apps can be easily misused, leading to poor maintainability or even slower performance than without it. In this blog post, I'll discuss the common pitfalls of caching SQL queries in Rails apps. I'll also describe my toolkit for assessing the cacheability of database queries and techniques for reducing the cost of caching infrastructure.

Ruby on Rails
Added: 20 Apr 2023
GitHub - exoego/rspec-openapi: Generate OpenAPI schema from RSpec request specs

Generate OpenAPI schema from RSpec request specs. Contribute to exoego/rspec-openapi development by creating an account on GitHub.

Gem Ruby on Rails testing
Added: 20 Apr 2023
Tools to help you detect n+1 queries

This is a little reference of tools to help you detect n+1 queries on a rails app. Bullet Prosopite n plus one control strict loading Rack mini profiler

Backend Ruby on Rails
Added: 20 Apr 2023
Elegant Memoization with Ruby’s .tap Method

There are a few different ways to memoize complicated chunks of code in Ruby. Here's why .tap is my personal favorite.

Backend Ruby
Added: 18 Apr 2023
una.im | Using color-mix() to create opacity variants

Build an alpha color system without splitting out channels using this one neat trick.

CSS Frontend
Added: 17 Apr 2023

Week 2023-15

Stripe Connect onboarding with Ruby on Rails

Stripe Connect provides a suite of tools and APIs that allow you to create, manage, and scale your...

Backend Frontend Ruby on Rails
Added: 16 Apr 2023
Implicit Layout rendering in Rails

Learn how to use Rails' Action View Layouts by implicitly choosing them based on your controller's inheritance chain.

Frontend Ruby on Rails
Added: 16 Apr 2023
Efficient algorithm to check dates overlap

Do you need an efficient algorithm that checks a date range overlapping with some denoted set of date ranges? This article explains how to solve this problem with a subtle approach.

Backend Ruby on Rails
Added: 16 Apr 2023
How I fix flaky tests - Code with Jason

What a flaky test is and why they’re hard to fix A flaky test is a test that passes sometimes and fails sometimes even though no code has changed. There are several causes of flaky tests. The commonality among all the causes is that they all involve some form of non-determinism: code that doesn’t always […]

Ruby on Rails testing
Added: 15 Apr 2023
How to wrap Rails mailer previews in a database transaction

Use monkey patching to revert database changes in Rails mailer previews.

Backend Ruby on Rails
Added: 14 Apr 2023
Dealing with common and uncommon problems with parsing CSV with Ruby

Effectively parse CSV with Ruby

Ruby
Added: 14 Apr 2023
Humane Rails Forms

Create forms that are easier for people to use

Backend Frontend Ruby on Rails
Added: 13 Apr 2023
How leaders can better prioritize personal to-dos

Stepping into a leadership role invites a whole host of new demands. So, how do you aptly prioritize them?

Soft Skills Staff Engineer
Added: 13 Apr 2023

Imagine that you need to query for the records created in the “week before” of a given date. How would you do it?

Backend Ruby on Rails
Added: 13 Apr 2023

Do you want to build powerful admin interfaces with little code, but you are not sure if you want to jump into a full admin solution like Active Admin, Administrate or Avo? Here I want to show you an alternative! A step by step guide to build a dynamic...

Backend Frontend HOTWire Ruby on Rails
Added: 13 Apr 2023
Audit Logging in Ruby and Rails | AppSignal Blog

Let's explore some options to implement audit logs, including PaperTrail, Audited, AuditLog, AppSignal, and a custom implementation.

Backend Ruby on Rails
Added: 13 Apr 2023
From Rails Controller to Business Action

Level up your Rails controllers by extracting business logic into reusable, testable, and more organized code units. Learn how in this…

Backend Ruby on Rails
Added: 12 Apr 2023
RANK() vs DENSE_RANK() vs ROW_NUMBER() in SQL

Understanding the difference between these window functions in SQL

Backend
Added: 10 Apr 2023

Week 2023-14

How to use React just on one page in a Rails app

Is it possible to do this without setting up a whole separate React app externally and making your Rails app support API requests from the front-end? It sure is. React is just JavaScript after all, even if you have to go through a transpilation step or two. Let’s go through a small example to see how this might be done.

Frontend Javascript Ruby on Rails
Added: 09 Apr 2023
Ruby Bytes, or generating standalone generators—Martian Chronicles, Evil Martians’ team blog

Introducing Ruby Bytes, a toolkit to build, install and deploy Ruby and Rails application templates.

Ruby Ruby on Rails
Added: 08 Apr 2023
Feature flags in Rails: How to roll out and manage your features like a pro

Feature flagging is a widely adopted technique used in software development that enables developers...

Backend Ruby on Rails
Added: 08 Apr 2023
How to Decommission Your Ruby on Rails Application

Did your organization decide to sunset your Rails application? Our team has developed a comprehensive approach to safely decommission your Ruby on Rails app.

DevOps Ruby on Rails
Added: 08 Apr 2023
How does database sharding work?

Learn what sharding is, how sharding works, and some common sharding frameworks and tools.

Backend DevOps
Added: 07 Apr 2023
Building GitHub with Ruby and Rails | The GitHub Blog

Since the beginning, GitHub.com has been a Ruby on Rails monolith. Today, the application is nearly two million lines of code and more than 1,000 engineers collaborate on it daily. We deploy as often as 20 times a day, and nearly every week one of those deploys is a Rails upgrade. Upgrading Rails weekly Every […]

DevOps Ruby Ruby on Rails
Added: 07 Apr 2023
This week in #dev (Mar 24, 2023)

It’s all about databases in this edition!

Ruby Ruby on Rails
Added: 07 Apr 2023

I develop a lot of webapps locally, often at the same time. For Ruby-only applications, puma-dev is by far the most convenient way to handle the situation. A single setup command gets you a lot out of the box:

DevOps Ruby
Added: 07 Apr 2023
Dark Patterns in UX Design — Which Ones Are the Most Deceptive?

Learn about dark patterns and ways of spotting them, no matter the type of the pattern apply. We will shed the light for you.

Consulting Design
Added: 06 Apr 2023
Rails Tricks Issue 1

Hi, this is Greg, bringing you the first edition of the Rails Tricks newsletter. Thank you for subscribing! I hope you will learn a few things over time.

Frontend Ruby on Rails
Added: 06 Apr 2023
From Markdown to ActionText | Stanko K.R.

I started this iteration of my blog because I grew dissatisfied with Medium. Like anyone migrating from any one platform to another I requested an export of ...

Backend Frontend Ruby on Rails
Added: 06 Apr 2023
bliki: Slack

a bliki entry for Slack

Consulting
Added: 06 Apr 2023
Why You Should Speak at Conferences - The Lean Software Boutique

Speaking at conferences can be a daunting task, and I am not here to deny that. But beyond that daunting task lies a bunch of benefits. Through this post, I am trying to shed light on some of those benefits and how you can make the task of speaking at...

Soft Skills
Added: 06 Apr 2023
The Ruby on Rails Learning Path | GoRails - GoRails

Learn Ruby on Rails with the bootcamp-style Learning Path from GoRails

Ruby Ruby on Rails
Added: 06 Apr 2023
How to Make Rails Response Faster

As your document or response size increases , it can result in much slower response time, lets look into some practices to make it faster.

Backend DevOps Ruby Ruby on Rails
Added: 05 Apr 2023
Let's expect change and reload!

It's often that we create a service that is supposed to change an attribute on an ActiveRecord...

Ruby Ruby on Rails testing
Added: 04 Apr 2023
Installation - Refine Laravel Docs

Refine is a paid package. To purchase, head to hammerstone.dev.

Backend Frontend Packages Ruby on Rails
Added: 04 Apr 2023
A Single file Rails Application

Did you know that you can create a single-file Rails application?

Consulting Ruby Ruby on Rails
Added: 04 Apr 2023
Polymorphic Associations with Ruby on Rails | The Miners

Although not the first option for many, polymorphic associations are perfect for connecting the same type of model to multiple other different models.

Backend Ruby on Rails
Added: 03 Apr 2023

Week 2023-13

Hosting a Jekyll Static Website on AWS S3 with CloudFront

While setting up this blog with Jekyll, I went through quite a process to get everything configured so that I could host it on S3 with CloudFront. I wrote this article to document the process in hopes that it might help others (and maybe the next time I need to do this.)

DevOps Ruby
Added: 01 Apr 2023
Low Cost

Introduction On a cold and dark evening in December 2022, a good friend of mine calls me...

DevOps
Added: 31 Mar 2023
What Being a Staff Developer Means at Shopify

A staff developer is an individual contributor who can have the same scope of impact and seniority as an engineering manager.

Staff Engineer
Added: 30 Mar 2023
The Two Different Approaches We Take to Upgrade an Application - FastRuby.io | Rails Upgrade Service

Since 2017 we have been focusing on upgrading Ruby on Rails applications. It’s been quite a fulfilling learning process as we continuously improve our workflow best practices, and internal tooling. In this article I will go into detail to explain how we determine the best approach to create the roadmap...

Consulting
Added: 30 Mar 2023
Setting your team up for success while on parental leave

Ahead of your parental leave, it's important to properly prepare your team and set them up for success.

Consulting Soft Skills
Added: 30 Mar 2023

Have you ever needed to get the most recent N posts for each user in rails, but didn’t know how to do it without using map? Or maybe something similar like:

Backend Ruby on Rails
Added: 30 Mar 2023
Search and Select Multiple with Rails and Hotwire

Selecting

Backend Frontend HOTWire Ruby on Rails
Added: 30 Mar 2023
7 Pieces of Bad Career Advice Women Should Ignore

With so much advice being thrown at young women, it’s hard to know what to follow and what to ignore. Organizational psychologist Tomas Chamorro-Premuzic and CEO of IfWeRanTheWord Cindy Gallop provide a list of popular suggestions that they believe are best neglected: Find a mentor. Instead, look for a champion, someone who has the agency to influence people at the top and will use it to help you. Women are constantly told to be less apologetic. But we need to worry less about editing women, and more about editing incompetent and inappropriate men. Ignore advice columns that tell you to gain more confidence. The problem isn’t women’s lack of confidence, but men’s oversupply of it. Men are rarely told to find work-life balance, so why should you be? Instead, find somewhere to work that will respect the balance you choose. Don’t “fake it till you make it.” Talk up your accomplishments, your intention, and your vision in a way that gets you recognized. “Just be yourself” is a trite piece of advice. Instead, find a psychologically safe workplace where you really can be. Finally, don’t ask for advice. Your intuition and gut instinct are far more valuable.

Consulting Soft Skills
Added: 30 Mar 2023
Rails 7.1 Improves Support for Custom Namespaces

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

Backend Ruby on Rails
Added: 29 Mar 2023
Why Remote Design Sprints Work - The Lean Software Boutique

Design Sprints lend themselves nicelyto a virtual format, and digital tools can enhance this widely-used processdeveloped by Google Ventures.

Consulting Design
Added: 29 Mar 2023
How to implement undo in your apps

The command pattern is a very popular design pattern that was introduced in the GoF design patterns...

Frontend Javascript
Added: 29 Mar 2023

Week 2023-12

How to benchmark your ruby gem

With a folder, some scripts, and some tools, you can make your ruby gem/code faster. Measure, improve and repeat.

Gem Ruby Tools
Added: 26 Mar 2023
One problem that is now solved by CSS Subgrid

How to use CSS Subgrid to solve the problem around aligning content in different columns

CSS Frontend
Added: 26 Mar 2023
CSS Nesting - Chrome Developers

One of our favorite CSS preprocessor features is now built into the language: nesting style rules.

CSS Frontend
Added: 26 Mar 2023
Learn how to handle flash messages with Hotwire

Learn to manage flash messages in Rails 7 with Hotwire. We will learn how to handle flash messages in Turbo Stream views and how to animate them with Stimulus.

Frontend HOTWire Ruby on Rails
Added: 24 Mar 2023
Understanding the Attribute Assignment API in Rails

In this post, we will explore the `AttributeAssignment` module in Rails, which allows you to set an object's attributes by passing in a hash, a feature commonly used by Active Record models. We'll also learn a little metaprogramming along the way.

Backend Ruby on Rails
Added: 24 Mar 2023
Modeling business logic with ECS in Ruby | katafrakt's garden

Just my website. Some Elixir, some Ruby, some more exotic languages and general thoughts on tech.

Backend Ruby
Added: 23 Mar 2023
Time-Series Data With Ruby on Rails and Postgres

Counting things can be tough. It’s a metric you need to show your users, but if you’re not careful at best you end up creating a bottleneck in your app.

Backend Ruby on Rails
Added: 23 Mar 2023
How to use Docker containers for Ruby on Rails development in Visual Studio Code

Introduction It has become common practice to use Docker and Docker compose when building...

DevOps Ruby on Rails Tools
Added: 23 Mar 2023
How to not get into trouble with Active Record

Follow good practices with Active Record to make sure that your application's performance is on a good level and the code is readable and testable.

Backend Consulting Ruby on Rails
Added: 21 Mar 2023
Zero downtime Rails migrations with the PlanetScale Rails gem

Learn about the Ruby on Rails workflow that protects your database and application from accidental downtime and data loss.

DevOps Ruby on Rails
Added: 21 Mar 2023

GoodJob is a multithreaded, Postgres-based ActiveJob backend for Ruby on Rails.

Backend Frontend Gem Javascript Ruby on Rails
Added: 21 Mar 2023
In relentless pursuit of some parts of REST

If we want clients to create small controllers and use resources in their routes, it’s a good idea to know why. This is a refresher of Derek Prior’s advice from Railsconf 2017.

Backend Ruby on Rails
Added: 20 Mar 2023

Week 2023-11

We're Building a New Design Sprint Guide

We’ve been running design sprints for over 10 years, it’s time for us to share everything we know about them in an updated guide.

Consulting Design
Added: 17 Mar 2023
MRSK vs Fly.io

Comparison of MRSK and Fly.io

DevOps Ruby on Rails
Added: 17 Mar 2023
Only Product Management Frameworks You Need | Railsware Blog

Our top picks of the most practical product management frameworks for decision-making, prioritization, product metrics, and agile development

Consulting
Added: 17 Mar 2023
Working With Markdown in Ruby

This article explores how to use markdown in Ruby. Learn how to use two popular Ruby libraries—Redcarpet and Kramdown—to parse markdown and create a simple documentation app using Redcarpet and Sinatra.

Backend DevOps Frontend Ruby Ruby on Rails
Added: 17 Mar 2023
Practicing engineering transparency

Being more transparent as a Staff+ engineer can help build trust and encourage best practice across entire engineering teams.

Consulting Soft Skills
Added: 16 Mar 2023
Dominant hand respecting design

I’m Kitty Giraudel, a non-binary trans frontend developer based in Berlin, focused on accessibility and inclusivity.

Design Frontend
Added: 15 Mar 2023
Why We Need More Women In Tech

Common concerns and solutions... because tech is for anyone who cares about it.

Consulting
Added: 15 Mar 2023
16 little UI design rules that make a big impact

A UI design case study to redesign an example user interface using logical rules or guidelines

Design Frontend
Added: 14 Mar 2023
A journey towards better testing practices

Testing anti-patterns I learned to stay away from over the years.

Ruby Ruby on Rails testing
Added: 14 Mar 2023
Assign a default value to an attribute in Active Record

You’ve probably been using callbacks. Don’t.

Backend Ruby on Rails
Added: 13 Mar 2023
Mastering PostgreSQL Views and CTEs for Rails Developers: A Comprehensive Guide

Introduction Views and Common Table Expression or CTE are two important concept in...

Backend Ruby Ruby on Rails
Added: 13 Mar 2023
How to click links in Rails Mailers when writing tests

When writing an integration or system test in Rails, have you ever needed to click a link in an email? This is especially important for testing links with a unique token or that expire, such as password reset emails. Simply checking that the link exists is not sufficient, since the page it leads to is ephemeral.

Ruby on Rails testing
Added: 13 Mar 2023

Week 2023-10

Understanding the Rails Router: Why, What, and How

The router is the entry point of your Rails application. It acts as the gatekeeper for all incoming HTTP requests, inspecting and sending them to a controller action; even filtering and rejecting them if necessary. In this article, we’ll do a deep dive into the Rails Router to understand it better.

Backend Ruby on Rails
Added: 12 Mar 2023
Avoiding UI Regressions With Jest

How can you ensure that a modification on a component won't break the responsiveness on the user...

Frontend Javascript testing
Added: 11 Mar 2023
Stubbles - Stubbing and Doubles innit. 🧔

Confession: I’ve always struggled to understand the difference between stubbing and doubles…

Ruby Ruby on Rails testing
Added: 10 Mar 2023
Perfect Homepage Design Explained (in 15 minutes)

Join my private training platform for web designers:https://www.paitpro.com🔳🔳🔳🔳🔳🔳🔳🔳🔳🔳🔳🔳🔳🔳🔳🔳🔳🔳🔳🔳🔳🔳🔳🔳Perfect Your Web Designs With Thes...

Design Frontend
Added: 10 Mar 2023
Stimulus Nested Forms | Ruby on Rails 7 Tutorial

Today we take a look at a Stimulus implementation for nested forms in Ruby on Rails 7. It's a bit of a follow-up to the cocoon video we did the other day.Che...

Frontend Javascript Ruby on Rails
Added: 10 Mar 2023
Create a Direction Aware Hover Effect Using CSS :has() Selector

A practical guide on how you can build a pure-CSS direction-aware hover effect for your navigation menu bar using :has() pseudo-class.🔗 LinksCodepen Demo: h...

CSS Frontend
Added: 10 Mar 2023
Some simple ways to make content look good - Set Studio

Something non-designers understandably struggle with is how to make things look good. One of those things is long form content that’s well set and readable. Luckily, CSS makes this easy, you just have to know what to change. That’s exactly what we’re going to teach you in this article.

CSS Frontend
Added: 10 Mar 2023
Relearn CSS layout

If you find yourself wrestling with CSS layout, it’s likely you’re making decisions for browsers they should be making themselves.

CSS Frontend
Added: 09 Mar 2023
The Web Needs a Native .visually-hidden

For years, developers have passed around a set of styles like a magic incantation. It's time we made it a web standard.

CSS Frontend
Added: 09 Mar 2023
How to Find, Debug and Fix N+1 Queries in Rails

Fixing N+1 issues is often the lowest-hanging fruit in optimizing a Rails app performance. However, for non-trivial cases choosing a correct fix could be challenging. Incorrectly applied eager loading does not work or even worsens response times. In this blog post, I describe tools and techniques I use to simplify resolving N+1 issues.

Backend Ruby on Rails
Added: 09 Mar 2023
Merging vs. Rebasing | Atlassian Git Tutorial

Compare git rebase with the related git merge command and identify all of the potential opportunities to incorporate rebasing into the typical Git workflow

Tools
Added: 07 Mar 2023
A taxonomy for alerts and notifications

Is it an Alert, Toast, Callout, Popup, Snackbar, or Notification?

Frontend
Added: 06 Mar 2023

Week 2023-9

Configuring Rails Environments

Despite its strong opinions and powerful conventions, Rails is a highly flexible and configurable framework. If you don’t like something, there’s almost certainly a way to change it. This article provides a brief overview of configuring Rails applications and environments.

Backend Ruby on Rails
Added: 05 Mar 2023
A Guide to PostgreSQL Views

Understanding PostgreSQL views and materialized views is essential to fully grasp one of the most popular features in Timescale that will save you time and disk space: continuous aggregates.

AI Backend
Added: 05 Mar 2023
Remote Synthesis | The Price Developers Pay for Loving Their Tools Too Much

Developers are passionate about their tools - sometimes to a fault. There is value in being open to change and new directions.

Tools
Added: 04 Mar 2023
Making the Most of Your Logs in Rails | AppSignal Blog

It's easy to get going with logging with Rails, but not so easy to master it. Discover how you can get the most from your logs.

Backend Ruby on Rails
Added: 01 Mar 2023
Stop using eager loading in your Rails application; use this instead.

It’s a popular internet recommendation to use eager loading in Ruby on Rails applications to eliminate the N+1 query problem. It may seem…

Backend Ruby Ruby on Rails
Added: 28 Feb 2023

Week 2023-8

Storing Ephemeral UI State with Kredis for Rails | AppSignal Blog

Let's dive into how Kredis works and how you can use it to store short-term UI state.

Backend Ruby on Rails
Added: 26 Feb 2023
Introduction of Rails Engine with basic example.

What is RailsEngine? A Rails engine is a self-contained piece of functionality that can be...

Backend Ruby Ruby on Rails
Added: 26 Feb 2023
Questionable new ways of running a retrospective

My team’s Managing Director and advisor on the project I’m working on, Kirsten, has noticed how reluctant I am in facilitating meetings 🤣 and running team retrospectives. So she subtly challenged me to come up with new ways of running a retro.

Consulting
Added: 26 Feb 2023
5 super useful CSS properties that don't get enough attention

🎓 Start writing CSS with more confidence with one of my courses: https://kevinpowell.co/courses🔗 Links✅ Full list of filter effects: https://developer.mozi...

CSS Frontend
Added: 23 Feb 2023

Calling freeze on an object may not provide the immutability you expect. Here we dig into some of freeze's nuances to explore a surprise of my own making I encountered working with ActiveSupport.

Backend Ruby Ruby on Rails
Added: 21 Feb 2023
Hotwire: Asynchronously loaded tooltips

Learn how to effectively render tooltips in Rails without writing any JavaScript.

CSS Frontend HOTWire Ruby on Rails
Added: 20 Feb 2023

Week 2023-7

How Rails Authenticity Tokens Protect Against CSRF Vulnerability

Rails protects your web application from CSRF attack by including an authenticity token in the HTML forms. This token is also stored in the user's session. Upon receiving a request, Rails compares these two tokens to decide if the request is verified.

Backend Ruby on Rails
Added: 19 Feb 2023
Rails Console Magic Tricks

7 techniques to increase the developer’s experience during a Rails console session

Ruby on Rails Tools
Added: 18 Feb 2023
Bringing Card Table to the small screen

A close look at the process we used to make our version of Kanban nice and useful on mobile devices.

Consulting Frontend Ruby on Rails
Added: 18 Feb 2023
Rails ActiveRecord: create_with, where for new records

More 'things I forgot' - using create_with and where in making new records. We can make use of the resulting association to create new records that match our previous parameters.

Backend Ruby on Rails
Added: 17 Feb 2023
If adding more engineers doesn’t speed up our development, what does?

The idea that hiring more developers will lead to faster time-to-market, is a common misconception.

Consulting Soft Skills
Added: 17 Feb 2023
CSS Tips For Better Web Development

CSS has been around for 25+ years, gaining tons of features and selectors to create great websites and apps. In this article, we'll explore popular and unique tricks to make your website stand out, plus older tricks that still work. Some may look trivial, but they might not be for certain folks. We'll also examine different layout implementations, scroll snapping, image shapes, and animation tricks. Let's dive in and explore some CSS tricks and tips you should know!

CSS Frontend
Added: 16 Feb 2023
Web Push for Web Apps on iOS and iPadOS

With iOS and iPadOS 16.4 beta 1 comes support for Web Push for Home Screen web apps, Badging API, Manifest ID, and more.

Frontend
Added: 16 Feb 2023
A method's gravity

#small #methods #code #design #ruby

Ruby
Added: 16 Feb 2023
Escaping/encoding URI components in ruby 3.2

Thanks to zverok_kha’s awesome writeup of Ruby changes, I noticed a new method released in ruby 3.2: CGI.escapeURIComponent This is the right thing to use if you have an arbitrary string that…

Backend Ruby
Added: 16 Feb 2023
What's New in Rails 7.1 | AppSignal Blog

Let's take a look at what we can expect from the upcoming Rails 7.1 release.

Ruby on Rails
Added: 15 Feb 2023
Adding Sorbet to a Rails project

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

Backend Ruby on Rails Tools
Added: 15 Feb 2023
button elements offer attributes to change form behavior

Use formaction, formenctype, formmethod and formnovalidate to change form configuration with button attributes

Frontend
Added: 13 Feb 2023
Try not to loop through associations inside jobs

Your local data isn’t the same as in production

Backend Ruby on Rails
Added: 13 Feb 2023

Week 2023-6

Ruby Adds Support for WebAssembly: What is WebAssembly and how it benefits Ruby devs?

Photo by Joshua Fuller on Unsplash Ruby has joined the ranks of languages capable of targeting...

Backend Frontend Ruby
Added: 12 Feb 2023
ActiveRecord: finally understand transactions | Younes.codes

How to use ActiveRecord transactions, handle errors and avoid pitfalls.

Backend Ruby on Rails
Added: 11 Feb 2023
Rails Concerns: To Concern Or Not To Concern | AppSignal Blog

Should you be concerned about Rails concerns?

Backend Ruby on Rails
Added: 10 Feb 2023
Everything You Need to know about Serialization in Rails - Part III

We had previously talked about the Serialization formats and How Serialization is implemented for storing objects in the relational database in the first two parts of the blog series. This article focuses on the various Serializers that prepare and construct API transferable data in Ruby on Rails.

Backend Ruby on Rails
Added: 10 Feb 2023
Top 5 Famous Ruby on Rails Features in Today's Programing 2023

Although Ruby on Rails is the oldest framework, and some claim that it is no longer in use, developers still like it for various reasons. And the reason is most probably the features it offers. So here we've compiled some of the best features of Ruby on rails in nowadays programming 2023.

Ruby on Rails
Added: 10 Feb 2023
The easiest improvement you can make to your CSS

Outlines are important for keyboard navigation, but maybe you've come up with a replacement and decide to do an outline: none; - instead, you should do an ou...

CSS Frontend
Added: 10 Feb 2023
RubyConf Mini 2022: Empathetic Pair Programming with Nonviolent Communication by Stephanie Minn

Pair programming is intimate. It’s the closest collaboration we do as software developers. When it goes well, it feels great! But when it doesn’t, you might ...

Soft Skills
Added: 10 Feb 2023
How to send slack notifications from Rails app using sidekiq

It can be helpful in a Rails application to send notifications to a Slack channel, for example, when...

Backend Ruby on Rails
Added: 10 Feb 2023
Psychological Safety — The Single Most Important Thing That Makes a High-Performing Team

What is psychological safety, and why is it so important? Tips on how to improve your team

Soft Skills
Added: 09 Feb 2023
Rails initializers you don't know about - Inflections

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

Backend Ruby on Rails
Added: 08 Feb 2023
Three attributes for better web forms

Better UX through better HTML: inputmode, enterkeyhint, and autocomplete.

Frontend
Added: 08 Feb 2023

All the best things about VS Code that nobody ever bothered to tell you

Tools
Added: 08 Feb 2023
How to write Semantic CSS

Most people know about semantic HTML, but when it comes to CSS, things are a little more wishy-washy most of the time. Rather than relying on arbitrary class...

CSS Frontend
Added: 07 Feb 2023
How to stub Feature Flags with RSpec

Are your feature flags states leaking between your test cases? Stub them all to make your test suite more reliable. Here’s how.

Backend Ruby on Rails testing
Added: 06 Feb 2023

Week 2023-5

The Decree Design Pattern

The Decree pattern helps developers write single-purpose service objects that have a predictable API contract, are composable, are easily tested, and isolate the core logic of your app.

Ruby Ruby on Rails
Added: 04 Feb 2023
How Rails sessions work

What if your Rails app couldn’t tell who was visiting it? If you had no idea that the same person requested two different pages? If all the data you stored vanished as soon as you returned a response?

database Ruby on Rails
Added: 03 Feb 2023
Build a Table Editor with Trix and Turbo Frames in Rails | AppSignal Blog

Let's build a table editor in a Rails application using ActionText's Trix editor, and use Turbo Frames to customize your table.

HOTWire Javascript Ruby on Rails
Added: 02 Feb 2023
How to bundle assets in a Rails engine

Load, parse, compile, and serve assets efficiently in a Rails Engine.

Ruby on Rails
Added: 02 Feb 2023
Business Intelligence on Rails With Blazer

Business Intelligence transforms raw data into actionable insights that support business decisions through reports, dashboards, and charts. You can use the `blazer` gem in Ruby on Rails to gather and display business metrics!

Packages Ruby on Rails
Added: 02 Feb 2023
Creating an AI email parser using Ruby and OpenAI (GPT-3)

You may frequently need to extract crucial information from emails in your role as a developer. This...

AI Ruby
Added: 02 Feb 2023
Optimizing Images - Part 3 - FastRuby.io | Rails Upgrade Service

When we allow users to upload images, they usually upload files without any optimization for the web. It’s up to us to add some measure to prevent those images from slowing down our app. Luckily, the different gems commonly used to handle user uploads also give us solutions for this...

Ruby on Rails
Added: 02 Feb 2023
Ransacking your password reset tokens | Positive Security

We demonstrate how the popular "Ransack" library (Ruby on Rails) can be abused to exfiltrate sensitive data via character by character brute-force, allowing for a full application compromise in some cases. An internet wide search identifies several hundred potentially vulnerable applications.

Ruby on Rails
Added: 02 Feb 2023
A Guide to Rails View Helpers | AppSignal Blog

Find out how you can keep your Rails views readable using helpers.

Frontend Ruby on Rails
Added: 01 Feb 2023
Seven Shipping Principles

Core fundamentals that inform how we go about building — and shipping — great software at a sustainable pace.

Consulting
Added: 01 Feb 2023
Intro to Building a Ruby on Rails Back End

Follow along with my example repo, which has a solution branch. So, you wanna be a Ruby on Rails...

database Ruby Ruby on Rails
Added: 01 Feb 2023
Building Custom RSpec Matchers with Regular Objects

RSpec custom matchers can be written using plain old objects.

Ruby Ruby on Rails testing
Added: 01 Feb 2023
Unlock the Potential of VS Code for Ruby Programming

A guide to a free Ruby development environment

Ruby Ruby on Rails
Added: 01 Feb 2023
How Coda builds product

Lane Shackleton, CPO at Coda, shares his team’s actual templates, processes, and many lessons learned

Consulting
Added: 31 Jan 2023
Companies Using RFCs or Design Docs and Examples of These

What companies follow an RFC-like process, and what are templates and examples to get inspiration from?

Consulting
Added: 31 Jan 2023

Week 2023-4

Deploying Ruby on Rails with AnyCable using Docker & ECS

This is a guide for setting up AnyCable locally using Docker Compose, and deploying it on Amazon Web Services (AWS) Elastic Container…

DevOps Ruby Ruby on Rails
Added: 29 Jan 2023
Benchmarking Ruby 3.2 with YJIT

Ruby 3.2.0 was released today! This is a perfect moment to check it out and see how YJIT behaves. I tested it out against Hanami test suite and then ran a bunch of benchmarks that we have in dry-rb projects and the results are absolutely fascinating!

Ruby
Added: 27 Jan 2023
Database Views & Rails Active Record: defining new Model classes out of views

Database Views & Rails Active Record: defining new Model classes out of views Learn...

Ruby on Rails
Added: 25 Jan 2023
5 most annoying website features I face as a blind person every single day - Scope for business

Holly, a blind screenreader user, explains the main accessibility barriers she faces every day. Bad heading structure, alt-text, links, forms

Design
Added: 24 Jan 2023
How to stay motivated as a developer, build a habit system and stop procrastinating

Do you ever find it challenging to work on your project, side hustle, or even your hobby? Have you ever had those moments where nothing feels exciting? You lay in bed feeling - is it me, or is my work that boring? I have those days too. Some weeks I ...

Soft Skills
Added: 24 Jan 2023
Only use locals in view partials

It helps keep your state manageable

Ruby Ruby on Rails
Added: 23 Jan 2023

Week 2023-3

How to Use Lambdas in Ruby | Scout APM Blog

Lambdas are a powerful feature of the Ruby language. Learn all about Lambdas and how best to leverage them in your Ruby code.

Ruby
Added: 22 Jan 2023
Top Front-End Tools Of 2022 — Smashing Magazine

Useful front-end tools for CSS and JavaScript developers that were most popular last year and will help you speed up your development workflow. Let’s dive in!

CSS Design Javascript
Added: 21 Jan 2023
Rails on Docker

Rails 7.1 will include a Dockerfile to help ease production deployments

DevOps Ruby on Rails
Added: 21 Jan 2023
Refactoring instance variables to local variables in Rails controllers

An example of refactoring a controller to use local variable and shorthand hash syntax

Ruby
Added: 20 Jan 2023
Gemfile of dreams: the libraries we use to build Rails apps—Martian Chronicles, Evil Martians’ team blog

We unveil the toolbox of the Martian Rails engineer; we begin constructing a Gemfile from the universe of Martian gems that encapsulate our philosophy and soul.

Consulting Ruby on Rails
Added: 19 Jan 2023
JSONB PostgreSQL: How To Store & Index JSON Data

In this post, we are going to show you tips and techniques on how to effectively store and index JSON data in PostgreSQL. Learn more about JSONB in Postgres.

Consulting DevOps
Added: 19 Jan 2023
Server-Side Request Forgery in Rails

What is Server-Side Request Forgery (SSRF), and why is it a concern for web security?

Consulting DevOps
Added: 19 Jan 2023
Rails 7: ActiveStorage::Streaming improves file streaming

Once we include ActiveStorage::Streaming in a controller, we get access to the #send_blob_stream method which takes care of everything, from writing the headers to streaming the downloaded data chunks to the client to closing the stream after it is completed.

Ruby on Rails
Added: 18 Jan 2023
Writing better Action Mailers: Revisiting a core Rails concept

Mailers are used in literally every Rails application, but often an after thought where we throw out the rules of software design. Revisiting the tools provided by Action Mailer can help us improve how we write mailers.

Backend Ruby on Rails
Added: 17 Jan 2023
How Litestream Eliminated My Database Server for $0.03/month

I've always hated maintaining database servers. Litestream offers a simple alternative without sacrificing reliability or security.

DevOps
Added: 17 Jan 2023
What is ActiveRecord becomes from Rails

Have you heard about the ActiveRecord becomes method from Rails? Maybe it’ll come handy one day.

Ruby on Rails
Added: 16 Jan 2023

Week 2023-2

📖 Understanding the Instrumentation API in Rails

The instrumentation API in ActiveSupport serves a dual purpose. You can use it to implement the publish-subscribe pattern, as well as benchmark how long it took to execute some action.

Ruby on Rails
Added: 14 Jan 2023
Rails Hotwire: mastering techniques for streamlining inline editing in your user interface

Originally posted on ahmednadar.com Recently, the inline editing capabilities demand has...

HOTWire Ruby on Rails
Added: 12 Jan 2023
Ruby on Rails Interview Questions

Check out our downloadable Ruby on Rails Interview Questions Template, and learn how can you get the most honest responses from candidates.

Ruby on Rails Soft Skills
Added: 11 Jan 2023
Create a Business Language for a Rails Application | AppSignal Blog

Build and parse a programming language to extend your Rails application's functionality.

Ruby Ruby on Rails
Added: 11 Jan 2023
Don't just do it

Understanding the need behind a change is important to build better software. Here’s why.

Consulting
Added: 11 Jan 2023
Integration Testing Ruby on Rails with Minitest and Capybara - Semaphore

Capybara is an acceptance test framework for web applications. Learn how to use it with Minitest for integration testing of your Ruby on Rails applications.

Ruby on Rails
Added: 09 Jan 2023
Versioning a Rails API

Rails developers can add versioning to their APIs with relatively little effort. This article explains why you need to add versions to your API and how.

Ruby on Rails
Added: 09 Jan 2023
Rails development, SSL, service workers and self-signed certs

There are several motivations for running your local web application over SSL; making use of service workers being a prime example. In this blog post we consider a number of different approaches for achieving this with a Rails application. We outline the key configuration changes required in each case, and discuss some of the drawbacks and benefits of each approach.

Ruby on Rails
Added: 09 Jan 2023
Cheaply running ruby on rails apps (for side projects)

With Heroku's free tier gone, this is my work-in-progress configuration for a new ruby on rails apps...

DevOps Ruby on Rails
Added: 09 Jan 2023

Week 2023-1

Rails 7 adds disable_joins for associations

Rails 7 series | Ruby 7.0 adds disable_joins for associations

Ruby on Rails
Added: 08 Jan 2023
It is not what you expect, but it is what you want: how Data#initialize is designed

A description of a curios core class design decision made for happier coding

Ruby
Added: 06 Jan 2023
Metaprogramming in Ruby: Beginner Level - The Gnar Company

Metaprogramming in Ruby: Beginner Level This post is the first in a series focused on the application of Ruby metaprogramming. If you’re just starting to learn about metaprogramming, this is a great place to get started. For those who already know the basics, stay tuned for future installments that will cover intermediate and advanced topics. …

Ruby
Added: 03 Jan 2023
The Rails Config File

You must have used a ~/.bashrc or ~/.zshrc file to configure your environment. Did you know Ruby on Rails has a ~/.railsrc file that configures your Rails applications?

Ruby on Rails
Added: 03 Jan 2023

Week 2022-52

A medior dev's take on Test Driven Development

How, Why and When I TDD

Ruby on Rails
Added: 31 Dec 2022
Creating Ruby objects with keyword arguments and merge

Reading through Sandi Metz’s book Practical Object-Oritented Design in Ruby (POODR), I found myself yet again hit with several epiphanies…

Ruby
Added: 31 Dec 2022
Document.elementFromPoint

Reacting to events with JavaScript is the foundation of a dynamic experiences on the web. Whether it's a click event or another typical action, responding

Javascript
Added: 31 Dec 2022
Time management for makers

As makers, software engineers should adopt these 7 essential habits.

Consulting Soft Skills
Added: 31 Dec 2022
Run different ActiveRecord validations based on context

Sometimes want to skip certain validations on your database models. Maybe you have a multi-step wizard or want admins to have more freedom in changing data.

Ruby on Rails
Added: 28 Dec 2022
How to use FilePond with Rails' Active Storage

Learn how to integrate the FilePond upload library with Ruby on Rails' Active Storage framework.

Ruby on Rails
Added: 26 Dec 2022

Week 2022-51

Rails 7.1 supports password challenge via has_secure_password

From Rails 7.1 has_secure_password now includes a password_challenge accessor to validate it against the currently persisted password.

Ruby on Rails
Added: 25 Dec 2022
Creating a career progression framework for engineers

How to build a clear and transparent process for supporting engineering career progression.

Consulting
Added: 22 Dec 2022
A Cheatsheet for User Interview and Follow Ups Questions by Stéphanie Walter - UX Researcher & Designer.

A cheat sheet to help you write interview and follow ups questions for user research and usability test protocols (also available as .PDF)

Consulting
Added: 22 Dec 2022
Testing Ruby Gems with GitHub Actions – Prioritized.net

Let's walk through how you can use GitHub Actions to test a Ruby gem, or any other Library, against an array of dependencies.

Packages Ruby testing
Added: 22 Dec 2022
Quick Start | Lamby - Simple Rails & AWS Lambda Integration using Rack

Deploy a new Rails APP to Lambda in 5 minutes!

DevOps
Added: 20 Dec 2022

Week 2022-50

On technical debt

If you ask any developer what is technical debt they will probably tell you something along the lines of: Cutting corners just to make things work. But there's another kind of debt that often goes unnoticed: just-in-case abstractions and features. These appear as a result of rationalizations such as "I might need this later" without a ...

Consulting
Added: 18 Dec 2022
HTML5 Canvas on Rails? Part 1

Why this approach?

Javascript Ruby on Rails
Added: 18 Dec 2022
Directing Turbo Native apps from the server

This post was extracted and adapted from The Rails and Hotwire Codex. It also assumes some...

Ruby on Rails
Added: 18 Dec 2022
Making Hotwire and Devise play nicely

I wanted to mix Hotwire (both Turbo and Stimulus) and View Components together but use it with my normal go-to tools like Devise and Sidekiq.

HOTWire Ruby on Rails
Added: 18 Dec 2022
How to use Polymorphic Associations in Ruby on Rails ?

In Ruby on Rails, a polymorphic association allows a model to belong to more than one other model on a single association.

Ruby on Rails
Added: 17 Dec 2022
Rails Generator Cheat Sheet

In this article is for newer developers looking to learn strategy and commands on Rails. When I...

Ruby Ruby on Rails
Added: 17 Dec 2022
Inside the mind of a frontend developer: Article layout - Ahmad Shadeed

An exploration of how a frontend developer thinks while building an article layout.

CSS
Added: 16 Dec 2022
Agile Projects Have Become Waterfall Projects With Sprints

All the agility has been sucked out of agile projects

Consulting
Added: 16 Dec 2022
Advanced Forms (No JavaScript!) - The Lean Software Boutique

When working with complex forms, it's really easy to immediately start adding JavaScript to implement non-common behaviors. But there are some hidden gems in the HTML standard that allow us to do a lot of that without adding a single line of JavaScript!

Ruby on Rails
Added: 16 Dec 2022
Modeling your public static pages as resources in Ruby on Rails

So we checked 2 major ways already of creating public (more or less) static pages: 1. brute force drop your HTML into the app/assets/public 2. have custom actions in something like a PublicPagesController/StaticPagesController. Now I wanted to look at another approach. Originally, I saw this in David

Ruby on Rails
Added: 16 Dec 2022
Read This Post 'Unless' You're Not A Ruby Developer

Disclaimer: prepare for hair-splitting and nitpicking

Ruby
Added: 16 Dec 2022
In Praise of the Current Pattern

The "current pattern" or "current context" is a technique that allows you to access some per-request data easily without having to explicitly pass it around everywhere. Recent versions of Rails offer explicit support for it. The current pattern, used judiciously, will help clean up your code and make your life swell!

Ruby on Rails
Added: 16 Dec 2022
Embedding on a team as a Staff+ engineer

A four-step guide to leveling up your team from the staff plus position.

Consulting
Added: 15 Dec 2022
Encouraging autonomy within engineering teams

Autonomy is a wonderful thing. Here’s how to relinquish control and empower your engineering teams to deliver more impact.

Consulting
Added: 15 Dec 2022
Rails’ safety mechanisms

A comprehensive overview of Rails’ many safety features that can help you prevent painful mistakes.

Ruby on Rails
Added: 13 Dec 2022
Just Use Postgres for Everything

Startups use too much technology. My advice: Use Postgres for everything

database DevOps
Added: 12 Dec 2022
Figma UI Starter Kit

New Figma resource, a lightweight UI design starter kit to save you time.

Design
Added: 12 Dec 2022

Although Hotwire does not currently provide animations out of the box, it does give us hooks to add in our own.

HOTWire Javascript Ruby on Rails
Added: 12 Dec 2022

Week 2022-49

CSS Infinite Slider Flipping Through Polaroid Images | CSS-Tricks

In the last article, we made a pretty cool little slider (or "carousel" if that’s what you prefer) that rotates in a circular direction. This time we are

CSS
Added: 10 Dec 2022
I Automated Daily Standups for Developers

It's time for a standup! These are the words that always put me in total panic mode. I don't even...

Javascript
Added: 10 Dec 2022
A Journey into Site Reliability Engineering

While Rails gained a lot of popularity among companies to develop products quickly, technical debt and scalability issues were challenges that also gained space in this context. Let’s talk about some SRE fundamentals that can address those situations.

DevOps Ruby Ruby on Rails
Added: 09 Dec 2022
Detecting if the user is online with JavaScript

Sometimes you might want to enhance your application to notify users they might have lost their...

Javascript
Added: 08 Dec 2022
Your flaky tests might be time dependent

Time dependent tests are difficult to diagnose, and the symptoms don’t present themselves until it’s too late. This article will help you determine if your test suite is time dependent.

Ruby Ruby on Rails testing
Added: 07 Dec 2022
From Paperclip to Active Storage at scale

My experience of migrating from Paperclip to Active Storage on a production site.

DevOps Ruby on Rails
Added: 06 Dec 2022
Percent notation in Ruby - DeepSource

Ruby provides a number of methods which make it very simple to read and write strings, arrays, shell commands etc.

Ruby
Added: 05 Dec 2022
Find out what callbacks are defined on an Active Record model in the console

Sometimes it's hard to know what is defined where

Ruby on Rails
Added: 05 Dec 2022

Week 2022-48

EP35: What is Kubernetes

This week’s system design refresher: RPC vs. gRPC (Youtube video) Monolithic vs. Microservice Architecture What is k8s ChatGPT RPC vs. gRPC A remote procedure call (RPC) enables one machine to invoke some code on another machine as if it is a local function call from a user’s perspective.

Consulting DevOps
Added: 03 Dec 2022
Ruby multithreaded crawler

A Ruby multithreaded crawler is a type of web crawler that is built using the Ruby programming...

Ruby
Added: 03 Dec 2022
Using Server Sent Events to Simplify Real-time Streaming at Scale

We walk through how we implemented an SSE server that's scalable and load-balanced to simplify and improve a real-time data visualization application.

DevOps
Added: 01 Dec 2022
Vanilla Rails authentication with Authentication Zero

Learn how to build a robust authentication quickly in Rails without using a library like Devise.

Ruby on Rails
Added: 30 Nov 2022
How to implement Query Object pattern in Ruby on Rails?

In simple terms, Query Object allows you to encapsulate complex database queries. Why do we need it...

Ruby Ruby on Rails
Added: 29 Nov 2022
Newer Things to Know About Good Ol’ HTML Lists | CSS-Tricks

HTML lists are boring. They don’t do much, so we don’t really think about them despite how widely used they are. And we’re still able to do the same things

CSS
Added: 29 Nov 2022
Testing Thor Ruby Required Options

There are lots of tutorials for building a CLI with Thor from scratch, but there aren't a lot of them on how to test Thor, especially covering scenarios such as required options. Learn how to test Thor Ruby options.

Ruby testing
Added: 29 Nov 2022
Elements can be visible even though their parent has set

Nested HTML elements with different `visibility` properties (`visible` / `hidden`) can be visible even though their parent is hidden.

CSS
Added: 28 Nov 2022

Week 2022-47

Ruby memoization - Code with Jason

What is memoization? Memoization is a performance optimization technique. The idea with memoization is: “When a method invokes an expensive operation, don’t perform that operation each time the method is called. Instead, just invoke the expensive operation once, remember the answer, and use that answer from now on each time the method is called.” Below […]

Ruby
Added: 24 Nov 2022
You can add biometric authentication to your webpage. Here's how.

Prompting for a username and password is so 2005. Today, you can just prompt for a fingerprint.

Javascript
Added: 24 Nov 2022
Best Practices for Estimating Work - Story Points

This path gives an overview of how the Shortcut team estimates work and how the Shortcut tool effectively supports that process. Let’s breakdown how we think about point scoring. Your team may do things a little bit differently but it’s a good best practice to have this outlined in a Doc so your team is on the same page. Feel free to use this as a jumping off place for that.

Consulting
Added: 23 Nov 2022
Day 38: vh, svh, lvh, and dvh

It’s time to get me up to speed with modern CSS. There’s so much new in CSS that I know too little about. To change that I’ve started #100DaysOfMoreOrLessModernCSS. Why more or less modern CSS? Because some topics will be about cutting-edge features, while other stuff has been around for quite a while already, but I just have little to no experience with it.

CSS
Added: 22 Nov 2022
Learning good habits by watching a staff software consultant

What is good software consulting? Watching a staff level engineer is a great way to learn good habits.

Consulting
Added: 21 Nov 2022
Handling third-party webhooks with Rails Event Store

Handling third-party webhooks with Rails Event Store Lately, one of our clients asked us to review his Rails Event Store-based application. We helped him, as RES mentoring is one of the key fields of our professional activity. What caught our attention was the way of handling incoming webhooks from third-party services.

Ruby
Added: 21 Nov 2022

Week 2022-46

Solo: Building Successful Web Apps By Your Lonesome

Whether by choice or by circumstance, you may find yourself developing a web application alone. Congratulations! You've got the house to yourself and no one telling you what to do. But at the same time, there's no one to share the burden or make up for your shortcomings. How do you build well and ensure project success? We'll look at the pros and cons of working alone, what kinds of projects are well-suited to solo development, strategies for professional growth, and development and operational processes that will save you time and help you sleep better at night.

Consulting
Added: 19 Nov 2022
Site-wide configuration with Administrate

Adding site-wide configuration with a Rails model can be quite easy to do with Administrate.

Ruby on Rails
Added: 19 Nov 2022
Building an Alexa Skill in Arabic with Ruby

More detail on how the thoughtbot team built one of the first Alexa skills in Arabic, and what we learned about using Ruby on Rails to support the development of Alexa Skills in the process.

Consulting Ruby
Added: 18 Nov 2022
Web Components Can Now Be Native Form Elements

Here’s the complete guide to customised form controls

Javascript
Added: 17 Nov 2022
Turbo Streams meets Action Cable

This post was extracted and adapted from The Rails and Hotwire Codex. Turbo Streams are a great...

HOTWire Ruby on Rails
Added: 16 Nov 2022
Railsware Guide Into Types of MVPs | Railsware Blog

We break down 13 different types of MVPs with examples, discuss the pros and cons of each type, and suggest how to pick the right one for your business.

Consulting
Added: 16 Nov 2022
How we got struck by 5–year–old implementation

How we got struck by 5–year–old implementation Recently we discovered that we were wrong on computing lock key for acquiring advisory locks. It was already covered as an update to article about building read models, but we thought that telling the whole story behind the issue could be interesting for you.

Ruby Ruby on Rails
Added: 16 Nov 2022
For each loops with LATERAL Joins - Database Tip

A join can normally only link two static result sets together, but with LATERAL joins an efficient for-each loop with dependent subqueries can be used.

database
Added: 16 Nov 2022
How To Create Advanced Animations With CSS — Smashing Magazine

In this article, Yosra Emad explains how to create a rollercoaster path that a ball follows using cubic beziers and CSS transitions. You’ll also learn how the cubic-bezier function in CSS works in detail and how to stack multiple simple animations to create one complex one.

CSS
Added: 16 Nov 2022

Making a DNS query in Ruby from scratch

Ruby
Added: 16 Nov 2022
Automate manual deployments with Git and binstubs

Your team’s manual deployment process doesn’t have to be so manual. Here’s how we automated our team’s deployment process with a few lines of bash and basic Git knowledge.

DevOps Ruby on Rails
Added: 15 Nov 2022
How to deploy Rails and Sidekiq to Fly.io

A Ruby on Rails SaaS starter kit with two-factor authentication, teams spaces, and administration.

DevOps Ruby on Rails
Added: 14 Nov 2022

Week 2022-45

Ryan Bigg - A replacement for strong parameters

A replacement for strong parameters

Ruby on Rails
Added: 13 Nov 2022
How to Extend Rails Associations - FastRuby.io | Rails Upgrade Service

You might have extended classes or instances in Rails, but do you know you can also extend Rails associations? class Account { extending FindOrCreateByNameExtension }end

Ruby on Rails
Added: 12 Nov 2022
How to Split Rails Routes? - FastRuby.io | Rails Upgrade Service

In this article I’ll discuss a strategy for different readability: a simple way to split your routes file on a Ruby on Rails project.

Ruby on Rails
Added: 11 Nov 2022
On extending Ruby on Rails knowledge: part 1.

I've been working with Ruby on Rails for about 17 months now and I feel I've learned a lot so far but I want to take my knowledge one step further. For this to happen, I'll establish an actionable list of items that I either want to review or learn

Ruby Ruby on Rails
Added: 10 Nov 2022
How to reduce memory usage in Ruby – AbstractBrain Answers

Sidekiq workers consume a lot of memory: how can I fix that?

DevOps Ruby on Rails
Added: 10 Nov 2022
From Node to Ruby on Rails | DUNK

I learned to code in the Javascript stack [1] and am building a Javascript based product [2]. I never questioned this stack: many companies default to it, JS everywhere seems good, and the community is big. But for my new side project I decided to try Rails because despite some...

Javascript Ruby on Rails Soft Skills
Added: 10 Nov 2022
Unlearn programming to learn Ruby

Why the Ruby philosophy is the exact opposite of other programming languages?

Ruby
Added: 10 Nov 2022
Vanilla Rails is plenty

A common critique of Rails is that it encourages a poor separation of concerns. That when things get serious, you need an alternative that brings the missing pieces. We disagree.

Consulting Ruby on Rails
Added: 08 Nov 2022
Premature generalization - Code with Jason

Most programmers are familiar with the concept of premature optimization and the reasons why it’s bad. As a reminder, the main reason premature optimization is bad is because it’s an effort to solve problems that probably aren’t real. It’s more economical to wait and observe where the performance bottlenecks are than to try to predict […]

Backend Consulting
Added: 08 Nov 2022

Week 2022-44

I am a web developer from Germany, mostly working with Ruby on Rails, but also like to do Frontend Javascript with Vue, Svelte, Server-Deployment with Docker, Ansible, Terraform on Hetzner Cloud or build small mobile Apps with Flutter.

Ruby Ruby on Rails
Added: 06 Nov 2022
Product Management Ask Me Anything - Event recap

Summarizing all the gems shared by our PM team on product strategy and great teamwork.

Consulting
Added: 05 Nov 2022
Drag & Drop UX Design Best Practices - Pencil & Paper

A comprehensive guide on drag and drop UI/UX design, including pattern UX examples and UI demos.

CSS Javascript
Added: 05 Nov 2022
Securing Rails applications with Content Security Policy - kukicola.io

Nowadays web application security is a crucial and unfortunately sometimes a bit neglected matter. Today, I'll focus on Content Security Policy - a handy mechanism that can protect our app from XSS attacks.

Ruby on Rails
Added: 03 Nov 2022
Wrap Third Party APIs in Service Wrappers to Simplify Your Code

Wrap Third Party APIs in Service Wrappers to Simplify Your Code

Ruby Ruby on Rails
Added: 03 Nov 2022
Making changes safely at scale

Move fast but don’t break things.

Consulting DevOps
Added: 03 Nov 2022
Dependent drop-down selects with Rails and Hotwire

This article will teach you how to create drop-down selects with Rails and Hotwire. I want to add country and state to the user. When users select a country, we want to fetch all states from this country and add to the states input-select. Let's sta...

HOTWire Javascript Ruby on Rails
Added: 03 Nov 2022
Event Bubbling in JavaScript – How Event Propagation Works with Examples

HTML elements receive different types of events, from click, to blur, to scroll, and so on. One behavior these events have in common is Event Bubbling. I'll explain what this behavior means in this article. I also made a video version of this article which you can watch here [https://www.youtube.com/watch?v=KaHZdW02Tg0].

Javascript
Added: 02 Nov 2022
Use zero? for comparison of numerics like Integer, Float and BigDecimal

Other languages don't have this

Ruby
Added: 01 Nov 2022
Deploy Rails applications from Git to AWS with Cloud 66

Guide to deploying Rails apps to AWS with Cloud 66. We'll briefly explore PaaS options like Heroku, before moving to a step-by-step guide.

DevOps Ruby on Rails
Added: 01 Nov 2022
Motion Controls In The Browser — Smashing Magazine

If you've ever wanted to build a web app that you can control with hand gestures as if by magic, this article is for you. With a couple of APIs and some JavaScript, you can build apps that behave like sorcery.

Javascript
Added: 31 Oct 2022
Verify a Ruby Class Method is Called with Arguments in Rspec, Without Doubles or Mocks · Jamie Tanna | Software Engineer

Rspec code to verify that a Ruby Class Method is called from another method, without needing to mock anything.

Ruby Ruby on Rails testing
Added: 31 Oct 2022

Week 2022-43

The wasted potential of CSS attribute selectors

Developer and interaction designer.

CSS
Added: 30 Oct 2022
Setting goals with your engineers that don’t completely suck

Now that I’ve transitioned from being an IC to being an engineering manager, I’ve found myself becoming a person I never thought I would…

Consulting
Added: 30 Oct 2022
EP30: Why is PostgreSQL the most loved database

This week’s system design refresher: ByteByteGo talent collective Why PostgreSQL is the most loved database What is a proxy? What is time/clock? Twitter architecture in 2012 ByteByteGo talent collective We are excited to announce the launch of the ByteByteGo talent collective! The collective's members will have exclusive access to opportunities at high-growth startups and world-class companies such as Meta, Stripe, Snowflake, etc.

Consulting database
Added: 29 Oct 2022
GitHub - adzap/validates_timeliness: Date and time validation plugin for ActiveModel and Rails.  Supports multiple ORMs and allows custom date/time formats.

Date and time validation plugin for ActiveModel and Rails. Supports multiple ORMs and allows custom date/time formats. - GitHub - adzap/validates_timeliness: Date and time validation plugin for Ac...

Gem
Added: 28 Oct 2022
Building Passwordless Email Auth in Rails

Adding authentication to your Rails app but don't want to store passwords or rely on third-party OAuth? Let's build a passwordless login system that emails users magic links!

Ruby on Rails
Added: 28 Oct 2022
Combined Mentions with ActionText (Part 1)

This past weekend on a side project (RelationKit) I implemented a combined mentions feature to let my users do multiple quick actions while writing text with...

Javascript Ruby on Rails
Added: 27 Oct 2022
Build a Table Editor with Trix and Turbo Frames in Rails | AppSignal Blog

Let's build a table editor in a Rails application using ActionText's Trix editor, and use Turbo Frames to customize your table.

Javascript Ruby on Rails
Added: 26 Oct 2022
How to Redirect a Rails Application to a new Domain Name | reinteractive

reinteractive: How to Redirect a Rails Application to a new Domain Name

Ruby on Rails
Added: 26 Oct 2022
How to Use the Payment Request API in JavaScript

The Payment Request API provides a cross-browser standard that lets you collect payments, addresses, and contact information from your customers. You can then use this info to process their order. It also facilitates the exchange of this information between the browser and the website. The fundamental idea behind this is

Javascript
Added: 26 Oct 2022
Interactive Elements That You Can Build with HTML & CSS

We share a handful of code snippets that you can use for creating common interactive elements using just simple HTML and CSS.

CSS Javascript
Added: 26 Oct 2022
How to add markdown support to Ruby on Rails

I was recently asked to give an overview of how to add markdown support to a Ruby on Rails application. This guide will leverage a gem called [Redcarpet](htt...

Ruby on Rails
Added: 26 Oct 2022
Crisp boundaries - Code with Jason

If you’re going to make a change to an area, you have to understand that area. If you don’t understand the area you’re changing very well, your lack of understanding might lead to you accidentally introducing a bug. Well-written code is loosely coupled from the other pieces of code it touches. “Loosely coupled” means that […]

Ruby
Added: 26 Oct 2022
Cleaning up old Rails migrations

After working on a Rails project for months, it’s not unusual to have hundreds of migration files in the db/migrate folder. Turns out, you…

Ruby on Rails
Added: 24 Oct 2022

Josh Clayton

Ruby Ruby on Rails
Added: 24 Oct 2022

Week 2022-42

Puma vs Unicorn vs Passenger: Ruby App Servers Compared | Scout APM Blog

The Ruby app server ecosystem has consolidated around three app servers: Unicorn, Puma, and Passenger 5.

Ruby
Added: 23 Oct 2022
How to tell browsers that your site supports color-schemes

A detailed look at the color-scheme property that allows developers to define which color chemes are defined in a website

CSS
Added: 23 Oct 2022
Time Ranges are Clearer When Querying Databases

Avoid text input to Active Record queries where you can

Ruby Ruby on Rails
Added: 22 Oct 2022
All the ways to render an ActionText Attachment

There's so many ways to render an ActionText attachment, we can change the...

Ruby on Rails
Added: 21 Oct 2022
Organizing Rails files by meaning - Code with Jason

Every once in a while I come across the question “Where should I put my POROs in Rails?” In order to answer this question, I would actually zoom out and ask a broader question: How should we organize our files in Rails in general? Rails’ organizational limits To some it might seem that this question […]

Ruby Ruby on Rails
Added: 20 Oct 2022
Improve Code in Your Ruby Application with RubyCritic | AppSignal Blog

Let's take a look at RubyCritic and dig into RubyCritic's reports.

Ruby
Added: 20 Oct 2022
Validation: The best tool to de-risk and inspire

Validation is our go-to tool for de-risking a product. This article outlines why skipping validation introduces a risk to your business, the benefits of validation, and some tips for successfully leading those efforts.

Consulting
Added: 20 Oct 2022
Understanding Polymorphic Associations in Rails

The Ruby on Rails documentation defines polymorphic associations (PA) as: "A slightly more advanced...

Ruby Ruby on Rails
Added: 19 Oct 2022
The Trimodal Nature of Software Engineering Salaries in the Netherlands and Europe

Update: dozens of hiring managers confirmed this trimodal model applies to all global markets: from the US, through Asia to Latin America as well. Also see TechPays.com for data recorded for a growing number of countries in the three tiers. (Watch this article as video narrated by me, with

Consulting
Added: 19 Oct 2022
Why we're leaving the cloud

Basecamp has had one foot in the cloud for well over a decade, and HEY has been running there exclusively since it was launched two years ago. We've run extensively in both Amazon's cloud and Google's cloud. We've run on bare virtual machines, we've run on Kubernetes. We've seen all the cloud has to offer, and tried most of it. It's fi...

DevOps
Added: 19 Oct 2022
Checklist Design - A collection of the best design practices.

Checklist Design is a curated list of checklists ranging from website pages, to UI components, all the way to branding assets.

Design
Added: 19 Oct 2022
The Three Tech Projects You Meet in Hell

“One must imagine the senior engineer happy.”

Consulting
Added: 19 Oct 2022
How to Build Your Own Rails Generator

Generators are a powerful feature you can use to automate routine tasks in Rails—but do you know how to make your own? This article explores Rails generators in depth, including how to build a generator from scratch.

Ruby Ruby on Rails
Added: 18 Oct 2022
Enumerating Musical Notes

This post utilizes a score of Array and Enumerable methods to model music notes.

Ruby
Added: 18 Oct 2022
ViewComponent in the Wild II: supercharging your components—Martian Chronicles, Evil Martians’ team blog

Learn how to supercharge your ViewComponent-based code with various techniques that we use in our projects at Evil Martians.

Ruby on Rails
Added: 18 Oct 2022
API Integrations: Building Client Classes

Calling third-party APIs is associated with inherent complexity that’s not going to disappear. It needs to be tamed and confined.

Ruby Ruby on Rails testing
Added: 18 Oct 2022

Week 2022-41

Building an OCR service with Amazon Textract and AWS Lambda

Optical Character Recognition (OCR) automates extracting text from visual assets such as PDFs and images. This tutorial teaches how to use Amazon Textract and AWS Lambda to build an OCR service.

DevOps
Added: 14 Oct 2022
How to find and become a great engineering mentor

Mentoring is a great way to boost your career. Here's everything you need to know about getting a mentor, and becoming one yourself.

Consulting Soft Skills
Added: 13 Oct 2022
What Things Should You Break Out Into Services?

After a previous post I was asked for some examples: what types of things do you take out of your Rails app, especially a new one, to make a new service? For general rules read that post. But for some specifics, this is the post.

Consulting Ruby on Rails
Added: 13 Oct 2022
How to Create Custom Scaffold Templates in Ruby on Rails

Ruby on Rails is such a powerful framework. It has its own CLI of which harnesses what are known as "generators". These generators can quickly scale up resou...

Ruby on Rails
Added: 13 Oct 2022
Ruby on Rails 7 — High-performance frontend with Esbuild, Rollup & Vite

The title is a little misleading but not entirely. Keep reading; it will make sense.

Javascript Ruby on Rails
Added: 12 Oct 2022
Rails: How I updated table with 26 million rows

If you ever wondering about updating a rails model with large records(magnitude of millions) this is for you.

Ruby on Rails
Added: 12 Oct 2022
Use before? and after? Methods When Comparing Dates and Times in Rails

I can’t remember which is greater than or less than either.

Ruby on Rails
Added: 12 Oct 2022
How Do You Run a Coding Workshop?

A fellow recently asked me for advice about running a Ruby workshop. And folks, I had forgotten I knew so much about it before he asked!

Consulting Ruby Ruby on Rails
Added: 11 Oct 2022
When New CSS Features Collide: Possibility and Complexity at the Intersections by Rachel Andrew

We finally got a proper layout system for the web, and each browser release seems to bring with it another new feature that promises more creative, performant, or intuitive CSS. Each new feature is exciting on its own, but where it gets really interesting is when we combine these things.

CSS
Added: 11 Oct 2022
The Definitive Guide to Rack for Rails Developers

This article explains pretty much everything you need to know about Rack as a Ruby and Rails developer. We will start with the basics and move to more advanced concepts like middleware and the Rack DSL.

Ruby
Added: 11 Oct 2022
Kill Your Dependencies | Mike Perham

Ruby, OSS and the Internet

Ruby
Added: 11 Oct 2022
Fly Reactive Rails 🛫

This post is proudly sponsored by Code & Co. Disclaimer: I’m not affiliated to fly.io at all, this is just a personal account of my experience with it. Fly.io 101 Even though fly is pretty much “Phoenix First” these days (they hired Chris McCord for a reason!), it’s still a very decent way to deploy a Reactive Rails app, as Matt Yorkley has demonstrated here. Let’s go through a quick list of preliminary information before we get started. Docker or Buildpacks? A lot of Rails developers considering Fly as a Platform as a Service these days are accustomed to the Heroku way of deploying apps via git push and Cloud Native Buildpacks that manage the deployment process automatically. While Fly defaults to a Dockerfile builder - and indeed, the Rails setup wizard will generate one for you, as we shall see - you can also use a buildpack builder by specifying a builder and buildpacks in the fly.toml configuration: [build] builder = "heroku/buildpacks:18" buildpacks = ["...", "..."] Also refer to this blog post to select the correct builder (at the moment of writing this would be heroku/buildpacks:18) Free Allowances While Fly has a quite generous stack of free allowances which will let you start and maintain a reasonably sized side-project for free, I would like to specifically point out their free postgres offering, which largely builds on the allowed 3GB of volume storage. Here are a few examples for how to configure it. Bear in mind though that the free compute allowance is summed together for all apps - if you exceed that, you might not be able to keep your whole Rails project free. Getting Started The first thing you’ll want to do, is to install the flyctl CLI (see here) Next, quite obviously, you need to create a Fly account. Run flyctl auth signup, which will in turn open the browser for you. Note that you will have to provide credit card information upfront, because ”here’s what happens if you give people freemium full access to a hosting platform: lots and lots of free VMs mining for cryptocurrencies.” Fair enough from my vantage point. Run flyctl auth login to authenticate against Fly. Now you’re all set up to deploy your first app. Setup Wizard For the remainder of this walkthrough, let’s assume you have a simple Rails app called my-app, and your terminal’s working directory is pointing to the root folder of this app. I’ll start this by a rundown of the official Rails Getting Started tutorial, before I dive into a little more advanced topics. The setup wizard for Rails apps is suprisingly helpful. If you run fly launch it will: Detect a Rails app Ask you to specify your organization and primary region Produce a fly.toml file, which we will look at later Ask whether you would like to set up a Postgresql database right now. If you do that, it will save you the effort of creating and attaching to it manually. This is eminently helpful because it sets up the DATABASE_URL via an application secret right away. It then rattles through the process of preparing your app for deployment. Notice that it is not yet deployed at this stage! Below is a sample output of that command: $ fly launch Creating app in /..... Scanning source code Detected a Rails app ? App Name (leave blank to use an auto-generated name): my-app

DevOps Ruby on Rails
Added: 10 Oct 2022
How we built user queueing system for platform issuing COVID-19 passports - Rails, Sidekiq, Redis

Building a platform issuing COVID-19 passports is a very diffcult task especially in terms of security and performance. I am describing the problems we faced working on the application and the solutions we found to successfully release the application in 3 weeks of development time.

DevOps Ruby on Rails
Added: 10 Oct 2022

Week 2022-40

The impact of app development on the bakery and confectionery industry

How can apps help improve the food service industry? We decided to find out using the bakery and confectionery sector as an example. More in the article.

Consulting
Added: 08 Oct 2022
Turbo 7.2: A guide to Custom Turbo Stream Actions

Marco Roth - marcoroth.dev

Javascript Ruby on Rails
Added: 07 Oct 2022
New in Ruby 3.2 - Data.define

Victor Shepelev (Zverok) has just landed an extremely useful feature in Ruby, Data.define. You can...

Ruby
Added: 06 Oct 2022
The trifecta model: Bringing together engineering, product, and design

Having accountability over different responsibilities is key to cross-functional work. Here's how the trifecta team structure can help.

Consulting Soft Skills
Added: 06 Oct 2022
Run multiple Rails apps with Puma-dev

Before joining 37signals I hadn't encountered Puma-dev. This post is a message to past-me who would have benefited from using it to develop a constellation of Ruby on Rails applications. A pretty typical setup for an organisation with a Ruby on Rails monolith is to at some point start breaking it up. Examples of Rails apps that may be ...

Ruby on Rails
Added: 06 Oct 2022
Security Best Practices for Your Rails Application | AppSignal Blog

Ensure your Rails application stays secure by following some best practices and habits.

Ruby on Rails
Added: 06 Oct 2022
Dynamic forms with Turbo

Fetch fresh fields from your servers with Turbo Frames.

HOTWire Javascript Ruby on Rails
Added: 06 Oct 2022

Blocks of code in blog posts and articles often contain errors.I see it frequently, in other people’s writing and my own.Code examples are usually not tested...

Ruby testing
Added: 05 Oct 2022
How To Architect A Complex Web Table — Smashing Magazine

Tables frequently appear on the web but aren’t easy to design and code. This illustrated guide explains the table anatomy and how to build a table, keeping in mind its future elaboration.

Design
Added: 05 Oct 2022
Prove Me Wrong (A Reminder to Myself)

Maybe the real treasure was the mistakes I made along the way.

Consulting testing
Added: 05 Oct 2022
Event Streaming in Rails with Kafka

Original post

Ruby on Rails
Added: 04 Oct 2022
Rendering Collections in Rails

Partials are a great way to break down complex view into more manageable...

Ruby on Rails
Added: 04 Oct 2022
Everyone GET in here! Infinite scroll with Rails, Turbo Streams, and Stimulus

Building filterable, instantly updated interactive charts with Ruby on Rails 7, ApexCharts, and StimulusReflex

Javascript Ruby on Rails
Added: 04 Oct 2022
Delightful UI Animations With Shared Element Transitions API (Part 1) — Smashing Magazine

Shared Element Transitions API is a game-changing feature that will enable us to create impressive and elaborate UI animations easily. In this article, Adrian Bece will explore its incredible potential by building four real-life examples from scratch.

CSS Javascript
Added: 04 Oct 2022
Ruby-on-Rails authentication tutorial with Devise

Ruby-on-Rails has no built-in authentication mechanism. So let's pick the well-known gem Devise in this tutorial.

Ruby on Rails
Added: 03 Oct 2022
How To Setup Default Values For Attributes In Ruby On Rails

Have you ever thought that setting default values for attributes in Ruby on Rails could be a problem?

Ruby on Rails
Added: 03 Oct 2022
Simple View Presenter Pattern in Rails without using Gems

What's the size of user.rb file in your current project? The default Rails way model-view-controller architecture often leads to a bloated model layer. Presenter pattern is one of the more straightforward ways to slim down your Rails models. It also helps to reduce the logic in the view layer and makes testing easier. In this blog post, I'll describe how to implement a presenter pattern without including additional gem dependencies.

Ruby on Rails
Added: 03 Oct 2022

Get your work recognized: write a brag document

Consulting
Added: 03 Oct 2022
Using a Dependency Graph to Visualize RSpec let

A visual answer to the question “what data is created when I execute this test?”.

Ruby testing
Added: 03 Oct 2022
Time extensions are an unsung hero of Active Support

Is the end of the quarter of Tuesday, a week from now, a Sunday? There’s a method for that.

Ruby
Added: 03 Oct 2022
Rails Generators: Model or Resource?

Rails is a powerful tool for a developer, you can do so much with just a few keystrokes in the...

Ruby Ruby on Rails
Added: 03 Oct 2022

Week 2022-39

Automate React Native App deployments

Use Fastlane and continuous integration to automate building React Native apps.

DevOps
Added: 30 Sep 2022
GitHub - kamui/retriable: Retriable is an simple DSL to retry failed code blocks with randomized exponential backoff.

Retriable is an simple DSL to retry failed code blocks with randomized exponential backoff. - GitHub - kamui/retriable: Retriable is an simple DSL to retry failed code blocks with randomized expone...

Gem
Added: 29 Sep 2022
Creating continuous aggregates with Ruby and Timescale

I created the timescale gem and wrote an introductory post on how using the timescale gem with ruby.

Ruby
Added: 29 Sep 2022
How we reduced our annual server costs by 80% — from $1M to $200k — by moving away from AWS

An interview with Zsolt Varga, the tech lead and general manager at Prerender

DevOps
Added: 28 Sep 2022
A Flexible Framework for Effective Pair Programming

Pair programming is one of the most important tools we use while mentoring early talent in the Dev Degree program. It’s an agile software development technique where two people work together, either to share context, solve a problem, or learn from one another. Pairing builds technical and communication skills, encourages curiosity and creative problem-solving, and brings people closer together as teammates. In my role as a Technical Educator, I’m focused on setting new interns joining the Dev...

Soft Skills
Added: 28 Sep 2022
Build Twitter Bot With Ruby - The Dev Post

How to make a bot for Twitter? The purpose of this Twitter bot is to retweet all hashtags related to #ruby or #rails.

Ruby
Added: 26 Sep 2022

Week 2022-38

Writing a TodoMVC App With Vanilla JS in 2022

In just over an hour, I coded a TodoMVC App with modern (ES6+) vanilla JavaScript. The comparison to the previous JS TodoMVC from 6 years ago was shocking!

Javascript
Added: 25 Sep 2022
ActiveModel::Serializer and You

    Today I thought I'd run through a few of the powerful things that the ActiveModel::Serializer gem...

Ruby on Rails
Added: 25 Sep 2022
Building a modal form with Turbo Stream GET requests and custom stream actions

Using Ruby on Rails, Turbo Streams, and Stimulus to build server-rendered modal forms

Javascript Ruby on Rails
Added: 25 Sep 2022
Aging programmer

Back in college, they told me that I would start my career writing code, but eventually, I would move to a position where I would ask others to code my designs. To celebrate that this turned out to be completely false, here are some assorted reflections as a 40-year-old programmer that looks back: • Compared to my younger versions, I f...

Soft Skills
Added: 25 Sep 2022
The Ultimate Ruby on Rails Cheatsheet

The Ultimate Ruby on Rails Cheat Sheet & Code Snippets General ...

Ruby on Rails
Added: 23 Sep 2022
How To Scale Your Web Applications With Heroku

Building a web application is an exciting journey. This is even more so when users start signing up for your app in numbers. It doesn’t feel different from edging your opponents in competitive sports. After all, business is about competition, and nothing beats the thrill of success. Howeve

DevOps
Added: 23 Sep 2022
Rails 7.1 Optimizes AR batching for whole table iteration

Rails 7.1 - in_batches implementation has improved to give optimized results for whole table iterations using range queries instead of IN query.

Ruby on Rails
Added: 22 Sep 2022
GitHub - holidays/holidays: A collection of Ruby methods to deal with statutory and other holidays.  You deserve a holiday!

A collection of Ruby methods to deal with statutory and other holidays. You deserve a holiday! - GitHub - holidays/holidays: A collection of Ruby methods to deal with statutory and other holidays....

Gem Ruby
Added: 22 Sep 2022
Deploying Rails with Docker and AWS Fargate

Want to deploy a Rails app with Docker and AWS, but not sure where to start? AWS Fargate simplifies the convoluted process of deploying Docker on Amazon's Elastic Container Service (ECS). It's also a good alternative to Heroku.

DevOps Ruby on Rails
Added: 22 Sep 2022
My Hybrid Docker & Ruby Development Environment

After fucking up my install of MySQL last year by trying to move from MariaDB to MySQL as I wanted to try JSON support out, I set out to find a better way of developing my Rails apps, instead of resorting to using something like Vagrant which would create separate VMs for each project.

Ruby on Rails
Added: 22 Sep 2022
Why the number input is the worst input

Think that web form has got your number? If you used input type="number", you may be surprised to find that it doesn't.

Javascript
Added: 22 Sep 2022
Buggy Rails Code: The 10 Most Common Mistakes That Rails Developers Make

There are many Ruby on Rails best practices that can help you avoid these common Rails programming mistakes. Read on to grow your skills!

Ruby on Rails
Added: 21 Sep 2022
JavaScript APIs You Don’t Know About — Smashing Magazine

In this article, Juan Diego covers the least known yet extremely useful APIs, such as the Page Visibility API, Web Sharing API, Broadcast Channel API and Internationalization API. Together we will see what they are, where we should use them, and how to use them.

Javascript
Added: 20 Sep 2022

Week 2022-37

Action View Overview — Ruby on Rails Guides

Action View OverviewAfter reading this guide, you will know: What Action View is and how to use it with Rails. How best to use templates, partials, and layouts. How to use localized views.

Ruby on Rails
Added: 18 Sep 2022

Easily write fluent integration tests.

Ruby Ruby on Rails
Added: 18 Sep 2022
Turning a Quick Ruby Prototype Into the Real Thing

If you’re going to throw your app away because there are no customers, it doesn’t matter how solidly you build it.

Consulting Ruby testing
Added: 17 Sep 2022
Using the Timescale gem with Ruby

I’d like to teach you how to use the gem with Ruby. Not Rails. Only plain Ruby and some ActiveRecord flavor that turns it more interesting.

Ruby Ruby on Rails
Added: 15 Sep 2022
Let's Not

How using this popular RSpec technique can sometimes do more harm than good.

Ruby Ruby on Rails testing
Added: 15 Sep 2022

What is Hotwired ATS? What are we building? Plus practical tips of using this book and a sermon on taking breaks and letting ideas percolate instead of copy/pasting at hyper speed.

Ruby on Rails
Added: 13 Sep 2022
Calendar component using ViewComponent and Hotwire

One possible way of rendering a simple calendar control

HOTWire Javascript Ruby on Rails
Added: 13 Sep 2022
Taking off the Heroku training wheels: the Rails preflight checklist—Martian Chronicles, Evil Martians’ team blog

An opinionated guide for small teams on setting up Heroku to deploy Rails applications—with pleasure.

DevOps Ruby on Rails
Added: 13 Sep 2022
Making Sense of Rails Assets

Demystify the complexity of the Rails 7 asset pipeline and navigate its wide menu of options.

CSS Javascript Ruby on Rails
Added: 13 Sep 2022
eagerworks Blog | How to use Import Maps in Rails 7 (with examples)

Import Maps is a new feature in Rails 7 that allows us to load third-party Javascript libraries in a default way. Find out different ways to use th...

CSS Javascript Ruby on Rails
Added: 12 Sep 2022

Week 2022-36

Why Use MongoDB with Ruby

Before discovering Ruby and Ruby on Rails I was a .NET developer. At that time I’d make ad-hoc changes to my development database, export my table/function/stored procedure/view definitions to text files and check them into source control with any code changes. Using diff functionality I’d compare the schema changes that the DBAs needed to apply to production and we’d script that out separately.

Ruby
Added: 11 Sep 2022
🎓 Delegated Types

Delegated Types don’t work the way I thought they did

Ruby on Rails
Added: 09 Sep 2022

As I’ve previously mentioned, I’m building a brand-new business from scratch on top of Rails. Reversing key architectural decisions is like getting a bad tattoo lasered off—it takes time, it’s expensive, and your bad decision will never truly fade into oblivion. With that in mind, I’ve been overcautious in doing my research when putting new architectural patterns into place, which led me to a cool solve while researching solutions to my most recent problem.

Ruby on Rails
Added: 09 Sep 2022
ruby/debug cheatsheet

This cheatsheet can help you get started with ruby/debug as well as use it in your daily development. It's not an exhausting list of its features or commands, so please go through its document as well. If you're migrating from byebug, I also recommen...

Ruby
Added: 09 Sep 2022
What’s New With Forms in 2022? | CSS-Tricks

Browsers are constantly adding new HTML, JavaScript and CSS features. Here are some useful additions to working with forms that you might have missed…

CSS Javascript
Added: 08 Sep 2022
Bring Focus to the First Form Field with an Error  ::  Aaron Gustafson

While filling out a long form the other day, I couldn’t figure out why it wasn’t submitting. Turns out I’d forgotten to fill in a field, but I didn’t know that because it had scrolled out of the viewport. This is a common problem on the web, but easily remedied with a little bit of JavaScript.

Javascript
Added: 05 Sep 2022

Week 2022-35

13 tips to write better Rails code | Guillaume Briday

Writing clean code is the key for maintainable and sustainable code. Here's some of my favorite tips I could give you after many years working on Rails and Ruby.

Ruby on Rails
Added: 04 Sep 2022
Data migrations with Rails

Data migration is a common part of working with databases, and Ruby on Rails developers have many...

Ruby on Rails
Added: 03 Sep 2022
Ditching Active Record Callbacks

If you've done development on a Ruby on Rails application before you're probably familiar with Active Record callbacks. For those unfamiliar, they are ORM object life-cycle hooks. They allow the developer to run custom code when an object is created,...

Ruby Ruby on Rails
Added: 01 Sep 2022
Rails is Fast: Optimize Your View Performance | AppSignal Blog

You'll learn some effective performance and optimization techniques that you can use to speed up your Rails app.

HOTWire Ruby on Rails
Added: 30 Aug 2022
Stateless Forms with the Rails Attributes API

Building a form in Rails that ISN'T driven by an ActiveRecord model? Here's how to use the Attributes API to get all the convenience with none of the complexity.

Ruby on Rails
Added: 30 Aug 2022
Using Rails Service Objects to Keep Code Clean

In this article, we’ll find out what are Rails Service Objects and how you can use them to make your app cleaner and keep it maintainable.

Ruby on Rails
Added: 29 Aug 2022
Style Queries

Thoughts about front-end development and design. And probably other ramblings by Una Kravets.

CSS
Added: 29 Aug 2022

Week 2022-34

Using Grid Named Areas to Visualize (and Reference) Your Layout | CSS-Tricks

Whenever we build simple or complex layouts using CSS Grid, we're usually positioning items with line numbers. Grid layouts contain grid lines that are

CSS
Added: 27 Aug 2022
GitHub - derrickreimer/sequenced: Generate scoped sequential IDs for ActiveRecord models

Generate scoped sequential IDs for ActiveRecord models - GitHub - derrickreimer/sequenced: Generate scoped sequential IDs for ActiveRecord models

Gem Ruby
Added: 26 Aug 2022
Rails adds beginless range support to clusivity

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

Ruby on Rails
Added: 26 Aug 2022
Effective Queries with Rails and PostgreSQL

Getting data *into* your database is easy, but querying large datasets is challenging—especially without the right indexes. Pavel Tkachenko teaches how to write performant SQL queries with EXPLAIN and ANALYZE.

Ruby on Rails
Added: 25 Aug 2022
Debugging Ruby on Rails with Visual Studio Code

Rails 7 ships with the new debug gem, here's how to put it to work in VS Code for a delightfully native debugging experience

Ruby Ruby on Rails
Added: 25 Aug 2022
How to interrogate unfamiliar code

Readable code is great, but not all code will be immediately readable. That's when you get your interrogation tools.

Consulting
Added: 25 Aug 2022
Terms and Concepts by Technically - Airtable

Explore the "Terms and Concepts by Technically" view on Airtable.

Consulting
Added: 23 Aug 2022
addEventListener accepts functions and (!) objects

addEventListener accepts callback functions but also elements that implement the EventListener interface

Javascript
Added: 23 Aug 2022

Week 2022-33

React vs. Ruby on Rails Components | Mix & Go

What is a Ruby on Rails Component, and how is it different than a Reac one?

Ruby on Rails
Added: 19 Aug 2022
Introduction to Pattern Matching in Ruby

This article will introduce you to the basics of pattern matching in Ruby, a powerful new feature added in Ruby 2.7.

Ruby
Added: 16 Aug 2022
Thinking in Hotwire: Progressive Enhancement

Your mental model for Hotwire should be progressive enhancement: start with the basics and layer on Turbo Frames, Streams, and Stimulus as you build more.

HOTWire Ruby on Rails
Added: 16 Aug 2022
Reduce ViewComponents complexity using helpers

Yesterday I figured out how to avoid a pattern that we’ve been doing in a project for some time which is sending the current_user in components through parameters to validate things based on who is watching. Example: # index.html.erb render ProductsComponent.new(current_user: current_user, products: @products) # products_component.rb c...

Ruby on Rails
Added: 16 Aug 2022

Week 2022-32

Michelle Barker | Creative CSS Layout | CSS Day 2022

CSS layout has moved along in leaps and bounds in the past few years. Beyond flexbox and Grid, there is aspect-ratio, min, max and clamp functions, custom pr...

CSS
Added: 14 Aug 2022
So You’re a (Junior) Developer – Here's How to Learn

The web is littered with advice for Junior, Mid, and up-and-coming Developers, and I’ve found a lot of it to be really helpful. The challenges for new develo...

Ruby on Rails
Added: 14 Aug 2022
RailsConf 2022 - Leveling Up from Planning to Production by Thomas Countz

The biggest difference between a mid-level engineer and a senior engineer is the scale and scope of the work they're responsible for. How do you dive into co...

Ruby on Rails Soft Skills
Added: 14 Aug 2022
Bearer | The ultimate guide to securing data for Rails developers

Everything you need to know to secure your Ruby on Rails applications. From database connections to encryption. From a team of seasoned Rails devs.

Ruby on Rails
Added: 14 Aug 2022
Rails 7.1 returns the Active Storage attachment(s) after saving the attachment

Rails 7 series | Rails 7.1 returns the Active Storage attachment(s) after saving the attachment

Ruby on Rails
Added: 14 Aug 2022
Rails 7.1 adds callbacks for Action Cable commands at the connection level

Rails 7 series | Rails 7.1 adds callbacks for Action Cable commands at the connection level

Ruby on Rails
Added: 13 Aug 2022
RailsConf 2022 - Reflecting on Active Record Associations by Daniel Colson

Active Record associations seem magical—add a has_many here, a belongs_to there, and suddenly your models are loaded with behavior. Could it be magic, or is ...

Ruby Ruby on Rails
Added: 13 Aug 2022
Implementing Impersonation

The ability to log in as one of your users is one of the highest value features you can develop to support your customers. The ability to log in as one of your...

Ruby on Rails
Added: 13 Aug 2022
A tech lead’s guide to effective communication

Tips for improving your communication skills as a tech lead

Consulting Soft Skills
Added: 11 Aug 2022
Naming Things Is Hard - FastRuby.io | Rails Upgrade Service

In the developers’ world, there is a well known quote by Phil Karlton that goes There are only two hard things in Computer Science: cache invalidation and naming things. We usually think about that phrase in the sense that it’s hard to come up with a clear, descriptive, and concise...

Ruby Ruby on Rails
Added: 11 Aug 2022
Great engineering cultures are built on social learning communities

For a successful Agile and DevOps practice, organizations need to think beyond tooling. Engineering organizations need a strong community of practice culture that supports the collecting and distributing of knowledge, greater cross-organizational collaboration, and breaks down the silos that can happen in companies of all sizes.

DevOps
Added: 11 Aug 2022
Infinite Auto Scroll using Turbo only ( No Stimulus / No Javascript )

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

Ruby on Rails
Added: 11 Aug 2022
A Comprehensive Guide to Rails Internationalization (i18n)

Internationalization means adapting your application to the language and culture of your users—a difficult task! Luckily, Rails provides the I18n API. In this article, Pavel Tkachenko shows us how to start translating.

Ruby on Rails
Added: 11 Aug 2022
Scaling Sidekiq at Gusto

Over the past year at Gusto, we’ve drastically changed how we approach Sidekiq in our main Rails monolith. This post dives in.

DevOps Ruby
Added: 09 Aug 2022

Week 2022-31

UX/ UI tips: A guide to search inputs | Make It Clear

Search inputs are an essential element of a website. To help you create a fit-for-purpose search input we’ve outlined our key principles.

Design
Added: 05 Aug 2022
LAMBDA — A Serverless Musical

Join the Serverless Revolution!

DevOps
Added: 05 Aug 2022
Action Policy

Authorization framework for Ruby/Rails application

Ruby on Rails
Added: 04 Aug 2022
Configuring Puma, Unicorn and Passenger for Maximum Efficiency

Application server configuration can make a major impact on the throughput and performance-per-dollar of your Ruby web application. Let's talk about the most...

Ruby on Rails
Added: 04 Aug 2022

Week 2022-30

Using Notion to manage product development: Part 1

The flexibility of Notion is a blessing and a curse. Recently, a client migrated to Notion and together we explored what an ideal setup might look like to manage their company’s product development.

Consulting database
Added: 31 Jul 2022
Sidekiq and Request-Specific Context | Mike Perham

Ruby, OSS and the Internet

Ruby on Rails
Added: 31 Jul 2022
thoughtbot helps to scale AWS services with Kubernetes before the school year starts

Scaling AWS services with Kubernetes before the school year

DevOps
Added: 29 Jul 2022
Tips for Joining an Existing Project 💡

If, like me, you don’t like change (who does?!), here are some tips that I have picked up along the way to try and help ease the transition onto an existing project.

Consulting Soft Skills
Added: 25 Jul 2022

Week 2022-29

How to Take Screenshots with Ruby on Rails

We’ll show you 4 different ways to take website screenshots using Rails. Puppeteer & Goover, Cloudinary + URL2png, html2canvas and Urlbox.

Ruby
Added: 24 Jul 2022

Easily find and browse Ruby classes, modules and methods

Ruby
Added: 23 Jul 2022
Tips & tricks for using GitHub projects for personal productivity | The GitHub Blog

GitHub Issues is a core component of how developers get things done and, as we built more project planning capabilities into GitHub, we’ve found some fun and unique ways to use the new projects experience for personal productivity.

Soft Skills
Added: 21 Jul 2022
GitHub - chatwoot/chatwoot: Open-source customer engagement suite, an alternative to Intercom, Zendesk, Salesforce Service Cloud etc. 🔥💬

Open-source customer engagement suite, an alternative to Intercom, Zendesk, Salesforce Service Cloud etc. 🔥💬 - GitHub - chatwoot/chatwoot: Open-source customer engagement suite, an alternative to I...

Gem Ruby on Rails
Added: 21 Jul 2022
A practical guide to changing code so you can understand it

Leveraging automated refactoring tools can help you find a way into understanding code, with confidence.

Ruby
Added: 21 Jul 2022
Five management anti-patterns and why they happen

The five management styles everyone should avoid

Consulting Soft Skills
Added: 21 Jul 2022
The roadmap to technical writing

I recently joined a Twitter space hosted by Emy around technical writing. At one stage, a question...

Consulting
Added: 21 Jul 2022
Value Object Semantics in Ruby

What is the correct behavior of hash, ==, eql? and equal? for value objects?

Ruby Ruby on Rails
Added: 19 Jul 2022
Intro to RSpec Mocks

RSpec provides tools that help you test the behavior of your Ruby objects. Join Abiodun Olowode for a tour of mocks, stubs, and spies—and learn how to use them in your Ruby projects!

Ruby Ruby on Rails
Added: 18 Jul 2022

Week 2022-28

How we used DesignOps and Figma to scale our team

We looked to better document our designs and project background in a useful and clear way to support a growing team. This article outlines that experience and what success we found using Figma to support DesignOps.

Design
Added: 14 Jul 2022
Six Amazing Ways to Create Enumerated Types in Rails and Postgres

Join me, friend, as I fall all the way down the rabbit hole exploring all the ways you can implement an enumerated type in Rails, depending on your version of Rails, the capabilities of your database, and your requirements and tastes! Including some surprise functionality from Rails 7 that I didn't know existed!

Ruby on Rails
Added: 13 Jul 2022
Shipping to Production

Approaches for shipping code to production reliably, every time.

Consulting DevOps
Added: 12 Jul 2022
Technical Writing for Developers | CSS-Tricks

HTML, CSS, JavaScript, Python, PHP, C++, Dart — there are so many programming languages out there and you may even be totally fluent in several of them! But

Consulting
Added: 12 Jul 2022
Adding keyboard shortcuts and hotkeys to StimulusJS

A review of the ecosystem for adding hotkeys to your Stimulus controllers: stimulus-hotkeys, stimulus-use/useHotkeys, HotKey.js, and github/hotkey

Javascript Ruby on Rails
Added: 12 Jul 2022

Week 2022-27

Advanced Route Constraints with Rails

A quick look into using advanced routing constraints with Ruby on Rails and how I used them to dynamically whitelist static page routes.

Ruby Ruby on Rails
Added: 10 Jul 2022
Get Started with Hotwire in Your Ruby on Rails App | AppSignal Blog

Learn the basics of Hotwire and how to use it in your Rails app.

HOTWire Ruby on Rails
Added: 08 Jul 2022
Three ways to run inclusive meetings

How to build inclusion into your meetings

Consulting
Added: 07 Jul 2022
Designing for the autistic community

Product design principles that will improve usability for everyone.

Design
Added: 06 Jul 2022
Learning TDD With RSpec

Checkout Kata

Ruby
Added: 05 Jul 2022
Ruby Enumerable Module

The enumerable module is one of the most important modules in Ruby, it includes a wide range of methods that help us to interact with collections of data.

Ruby
Added: 04 Jul 2022

Week 2022-26

Three steps to successfully onboard junior engineers

Effectively onboarding new developers to your team

Consulting
Added: 30 Jun 2022
Write cleaner, self-documented tests by defining methods in RSpec

Writing methods in RSpec lets us clean up our tests while improving their documentation value and isolation.

Ruby on Rails
Added: 30 Jun 2022
Hotwire in the real world.

Building & scaling a Rails app built using Turbo/Hotwire, what did we learn?

HOTWire Ruby Ruby on Rails
Added: 30 Jun 2022

This website aims to tackle some of the most important accessibility concerns that you'll need to address in a Rails apps. You can read more about the project here.

Ruby on Rails
Added: 30 Jun 2022
The 4 upcoming CSS features I’m most excited for

Container Queries, Scroll Snap, Object View Box, Scroll Timeline, and more! Check it out!

CSS
Added: 30 Jun 2022
Defensive CSS - Minimum Content Size In CSS Flexbox

Practical CSS and design tips that helps in building future-proof user interfaces.

CSS
Added: 30 Jun 2022
The most underrated Rails helper: dom_id

One of the oldest helpers in Rails is also the most underrated. dom_id shines for building apps with Hotwire, allowing you to easily target parts of the page without a bunch of nasty string interpolation.

HOTWire Ruby on Rails
Added: 29 Jun 2022
Building Your Own Rails Form Builders

Learn how to plug in to Rails' form builders to speed up application development and avoid duplication.

Ruby on Rails
Added: 28 Jun 2022
Full-text Search with Elasticsearch in Rails

If you're finding performance bottlenecks with full-text search in your database, it may be time to switch to Elasticsearch. In this tutorial, Ianis introduces Elasticsearch and shows us how to implement an efficient search feature in Rails.

Ruby on Rails
Added: 28 Jun 2022

This article decomposes an interaction with an external dependency into its component parts.

Ruby testing
Added: 27 Jun 2022

Week 2022-25

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

Everything a leader needs to know about inheriting an engineering team

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

A guide to effective cross-functional collaboration

Consulting Soft Skills
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 Up feature.

Consulting Ruby on Rails
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. For example, when submitting data via a form, you may want to include the date that data was created or when the form was submitted. In this article, we

Javascript
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.

Ruby Ruby on Rails
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...

Ruby Ruby on Rails
Added: 23 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 as when other solutions might work better.

CSS
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 performing web sockets.

DevOps Ruby on Rails
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. These third-party applications could be things like AWS or Docker. In my team’s case, it’s Twilio TaskRouter. The configuration of these services may not change as often as your app code does, but when it does, the process is fraught with the potential for errors. This is because there is no way to write tests for the changes or easily roll them back–things we depend on as...

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

Your guide to becoming a better estimator

Consulting Soft Skills
Added: 18 Jun 2022
Better scrolling through modern CSS

There's more to scrollbars than you might expect

CSS Design
Added: 16 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 the page. Like inlined jQuery snippets but for the modern times!

HOTWire Javascript Ruby on Rails
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 From hundreds of startup frameworks, we selected the most useful tools to help you knock it out of the park

Consulting
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 define a color palette and theme without too much effort using CSS color-mix().

CSS
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.

Ruby on Rails
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

Ruby on Rails
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.

Ruby on Rails
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 think.

Ruby on Rails
Added: 07 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 their day to day development lives. From these responses we hope to get an understanding of where Rails stands as a framework in 2022.

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

Setting junior developers up for success

Consulting Soft Skills
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 feel a bit limiting. I was surprised, when I could not find any gem/package that enhances turbo streams to create custom turbo actions.

Ruby on Rails
Added: 26 May 2022
reveal.js

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

Ruby on Rails
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 steps required to get up and running on an existing rails app.

Ruby on Rails
Added: 26 May 2022

A playlist of our blog posts about development practices.

Consulting Ruby on Rails
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 you can use it to…

Javascript
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 in the (future) Ruby-on-Rails 8 release ? Let's dream.

Ruby on Rails
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. David Sanchez walks us through how to do event streaming in Rails with Apache Kafka, the popular open-source event streaming platform.

Ruby on Rails
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 much as others for some reason or another. In this article, we’ll cover a fraction of those CSS properties and selectors.

CSS
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 on Rails app using the Ninja Keys web component.

Javascript Ruby on Rails
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 many domain-specific languages (DSLs) in libraries like RSpec, Factory Bot, and Rails itself. In this post we’ll discuss what a block is. Then we’ll take a look at four different native Ruby methods that take […]

Ruby
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 the basics by creating a fancy component button.

Ruby on Rails
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.

Ruby
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 components, and shipping them as a package.

CSS Design
Added: 22 May 2022
State of CSS 2022

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

CSS
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?

Soft Skills
Added: 20 May 2022
How to run a great retrospective

Accelerating your team with regular, productive retrospectives

Soft Skills
Added: 20 May 2022
How to Mock ActionMailer

Using RSpec custom matchers to make clean ActionMailer mocks

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

On fighting the feeling of "blah".

Soft Skills
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 logic on the database side.

Ruby on Rails
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.

Ruby on Rails
Added: 20 May 2022

Maybe you have heard about the counter cache feature. A counter cache makes finding the number of belonging objects more efficient by keeping a column with the count. Rails makes it easy to implement it, but is not free. Sometimes it may be better...

Backend Ruby on Rails
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 user demand and set it up for success.

Ruby on Rails
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.

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

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

DevOps
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 uses PostgreSQL, Redis and Sidekiq.

DevOps Ruby Ruby on Rails
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?

Ruby on Rails
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.

Ruby on Rails
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.

Packages Ruby on Rails
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 how.

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

An overview of time zones in Rails.

Ruby on Rails
Added: 12 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 quickly build a professional-looking app. Unfortunately, things rarely work out this way. Let’s talk about it.

CSS
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 …

CSS
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 a little less clear. In my 10 years with Rails I’ve had the opportunity to come across a number of different conceptions regarding what models are. These conceptions often overlap but often don’t share the […]

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

Getting the feedback you need from colleagues and friends

Soft Skills
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, you’ll learn about our early days, from our rapid growth to the perfo...

Consulting DevOps
Added: 05 May 2022
Build a realtime stock ticker with Ruby and Pusher ChannelsPusher LogoShow navigation menuHide navigation menuChannelsBeamsChannelsBeamsChannelsBeamsPusher LogoFollow Pusher on TwitterFollow Pusher on MediumSubscribe to Pusher’s channel on YouTubeFollow Pusher on LinkedInFollow Pusher on Github

Implement a simple stock ticker application which serves live updates on the New York Stock Exchange, using Ruby, Sinatra and Pusher Channels. Easily deliver initial state using messages captured with cache channels.

Ruby Ruby on Rails
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 your docs back on track.

Soft Skills
Added: 05 May 2022
GitHub - tilo/smarter_csv: Ruby Gem for smarter importing of CSV Files as Array(s) of Hashes, with optional features for processing large files in parallel, embedded comments, unusual field- and record-separators, flexible mapping of CSV-headers to Hash-keys

Ruby Gem for smarter importing of CSV Files as Array(s) of Hashes, with optional features for processing large files in parallel, embedded comments, unusual field- and record-separators, flexible m...

Packages Ruby
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.

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

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

Ruby on Rails
Added: 04 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 race conditions and the best solutions for handling each one.

Ruby on Rails
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 developers will enjoy.

Soft Skills
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 you think about it before hotwire.dev was around the p...

Ruby on Rails
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 Hotwire became available.🎥 Get on the waiting lis...

Ruby on Rails
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

Soft Skills
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 four distinct phases. These phases are: Setup Exercise Assertion Teardown Let’s illustrate these four phases using an example. Test phase example Let’s say we have an application that has a list of users that can […]

Ruby on Rails testing
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 is something that can mostly address the problem, but it’s not the most elegant solution and should be avoided if possible.

Ruby on Rails testing
Added: 29 Apr 2022

Kevin Newton

Ruby
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 to help you implement the same in your app.

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

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

Ruby Ruby on Rails testing
Added: 28 Apr 2022
deploy.yml

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

DevOps Ruby on Rails
Added: 27 Apr 2022
How to spot high-potential junior talent during interviews

Strategies for identifying top engineering talent

Consulting
Added: 25 Apr 2022
A naming convention for ActionMailer emails

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

Ruby on Rails
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 that make up each of these layers.

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

Building inclusivity and alignment in distributed teams

Soft Skills
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 applications!

Ruby on Rails
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.

Ruby Ruby on Rails testing
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 only in Editor’s Draft, authored by Tab Atkins and Miriam Suzanne (who else?!). CSS toggles are a mechanism for associating toggleable state with a DOM element. This state can be defined and connected to activations … Continue reading "The Future of CSS: CSS Toggles"

CSS
Added: 20 Apr 2022

Week 2022-15

Where do I put my business logic in Rails?

Using the Command Pattern to achieve slimmer controllers

Ruby on Rails
Added: 17 Apr 2022

A few years ago, Matt Swanson wrote a great post on setting up Rails CI on GitHub Actions. It quickly became my go-to reference for setting up CI for new apps.

DevOps Ruby on Rails
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 in plaintext, like AWS credentials for example. (In fact, the one and only thing I keep in my main Rails project’s credentials are my Active Storage AWS credentials.) Why the credentials feature is difficult to […]

Ruby on Rails
Added: 16 Apr 2022
Custom Ranges in Ruby

How can we create ranges out of custom objects?

Ruby
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 started using Heroku's Review Apps because we kept running into blockers when a team needed to deploy a branch to our staging server but another team was using it. There...

DevOps
Added: 15 Apr 2022
CSS Parent Selector - Ahmad Shadeed

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

CSS
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`. Each request has an associated ...

Ruby on Rails
Added: 13 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 multiple times without creating duplicate data.

Ruby on Rails
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

Ruby on Rails
Added: 11 Apr 2022
Personal Knowledge Graphs

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

Soft Skills
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.

Soft Skills
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, you’re curious about the…

Ruby Ruby on Rails testing
Added: 07 Apr 2022

Feature flags are an effective method for developing and introducing large changes to an existing codebase without large interruptions to the engineering team. We have over 400 ERB files (views & partials) in our Rails app, and we re-wrote all of them over the course of 9 months using feature flags.

Ruby on Rails
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 established libraries used for this purpose. In this article we compare two of the most popular options, Pundit and CanCanCan. By means of an example we compare how these different libraries integrate into a Rails project.

Ruby on Rails
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.

CSS
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 technical problems. The biggest challenge for most developers, in my experience, is to write code that can stand up over time without collapsing under the weight of its own complexity. Just as it’s challenging to […]

Ruby on Rails testing
Added: 04 Apr 2022

Week 2022-13

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 filter the search results using Turbo Frames and we'l...

Ruby on Rails
Added: 01 Apr 2022
Hotwire Handbook Part 1

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

HOTWire Ruby on Rails
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...

Ruby on Rails
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 Rails

Ruby on Rails
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.

Ruby on Rails
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

Ruby on Rails
Added: 01 Apr 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.

Soft Skills
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 give you a way to understand and revisit team decisions.

Consulting DevOps
Added: 30 Mar 2022
Reducing Leaky Abstractions Introduced by ActiveRecord

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

Ruby on Rails
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 to expose your database ids to the user. - GitHub - peterhellberg/hashids.rb: A small Rub...

Gem Packages
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.

Gem Packages
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.

Gem Packages
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 scalable code generator that lives in your project.

Javascript Packages
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.

Gem Packages
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 them.

CSS Design
Added: 30 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.

Ruby on Rails
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.

DevOps Ruby on Rails
Added: 29 Mar 2022
Getting to Know the Broadcast Channel API in JavaScript

Communicate Across Browser Tabs in Realtime

Javascript
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 repeat CSS custom properties declarations.

CSS
Added: 28 Mar 2022
Rails Server Side Analytics From Scratch

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

Backend Ruby on Rails
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 implementation of collaborative teams, including invitations and user roles. The reason this feature is so valuable is that in so many situations developers and even product teams won’t consider

Consulting Ruby on Rails
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, adding columns with default, background migrations...

Ruby on Rails
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 yourself? In this article, Renata Marques shows us how to use the Policy Object Pattern to implement access control in our Rails apps.

Ruby on Rails
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 and only manifest in highly concurrent production environments. In this blog post, we'll discuss code examples that are not thread-safe. I'll also describe a toolkit for debugging and discuss possible solutions. Developing an eye for spotting these errors before shipping to production can save you a lot of headaches.

Ruby Ruby on Rails
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 newer methodologies out there. I get a lot of questions a...

CSS
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...

HOTWire Ruby Ruby on Rails
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.

Ruby on Rails
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.

Ruby on Rails testing
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...

Ruby on Rails
Added: 14 Mar 2022
Distributed Systems with Rails

How to build distributed systems with Ruby on Rails

DevOps 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

Ruby on Rails
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 as well as Ruby or Python or any other language. The reason we write programs in higher-level languages like Ruby or Python is that while assembly language is easy for computers to understand, it’s of […]

Ruby
Added: 11 Mar 2022
Inline documentation - the secret habit of successful devs.

Everyone would love to have a secret power. A skill that makes you a hero. There is no one such skill, but in this episode, I'll talk about inline documentation - a great skill that can make you a better developer.

Ruby
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. This file exists in the project level where Git is initialized ( /project/.git/config) or at the root level (~/.gitcongig). If no configurations are specified, Git uses its default settings. In

DevOps
Added: 10 Mar 2022

Remote is the new normal. It brought with it some benefits, some challenges, and some frustrations. Now that our team is fully remote, we are looking for ways to build connections. We decided to use one of our go-to tools, a Lightning Design Jam to break down this challenge and uncover next steps. Join us on March 4th, 2022 to watch our team in action.

Design
Added: 10 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...

Javascript
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 this year.

Consulting
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 style than a traditional element.

CSS
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 make integrating into your existing code base seamless. This article explains why it’s an exciting time for layout on the web, and how dual screens provide an opportunity to get even more creative.

CSS Javascript
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 Hotwire.

Javascript Ruby on Rails
Added: 03 Mar 2022
Ruby Fibers 101

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

Ruby
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.

Javascript Ruby on Rails
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 the CDN to serve assets of your Rails app. When your app is globally available, you may want to serve the assets from strategically located servers around the world to provide the best possible experience for the end user. Serving static assets via Puma is not the best idea — it’ll be slow. The only viable option on Heroku is to use CDN. I will show you how to do it smart, save time and have faster deployments

Ruby on Rails
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 a platform such as Backlight can help put together a series of tools to speed up your architecture setup.

CSS
Added: 03 Mar 2022

A playlist of our blog posts about css.

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.

DevOps
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.

DevOps
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 you're leaving behind.

Soft Skills
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 overridden by the developer. Let's see how.

Ruby on Rails
Added: 28 Feb 2022

Week 2022-8

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 for...

CSS
Added: 25 Feb 2022
Introduction to Domain Events

What is a Domain Event? Introduction and definition.

Ruby on Rails
Added: 25 Feb 2022
The Economics of TDD - Semaphore

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

Consulting
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.

Ruby
Added: 25 Feb 2022
10 Free Courses to Learn Terraform

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

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

The new GitHub Issues - February 23rd update

AI
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 user.

HOTWire Ruby on Rails
Added: 24 Feb 2022
What makes writing more readable?

Looking at how to make writing easier to read

Design
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

Ruby on Rails
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 way. It's a framework for creating reusable, testable & encapsulated view components that integrate seamlessly with Rails. In this article, Abiodun Olowo...

Ruby on Rails testing
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.

Ruby on Rails
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 of technical nuance behind its apparent simplicity. This article looks at how typing on the web works.

CSS Javascript
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.

Ruby on Rails
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 Stimulus and Turbo.

HOTWire Javascript Ruby on Rails
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 of `Ruby on Rails 7` and the `Hotwire` stack.

HOTWire Ruby on Rails
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...

Soft Skills
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 engine for queueing and managing maintenance tasks for da...

Ruby Ruby on 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.

Ruby on Rails
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 the solution we wish we found when we were looking.

Backend DevOps Ruby on Rails
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 can also slip and break them in amazingly expressive ways. RBS is a new type annotation system in Ruby 3 that seeks to keep ruby's flexibility while protecting...

Ruby
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.

Ruby Ruby on Rails
Added: 18 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 on the fly out of the box…

Ruby on Rails
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 with the component differs based on design choices the app developers made about how components are constructed.…

CSS
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 cheatsheet to give you a complete overview of all of the React concepts you need to know in 2022. Let’s get started! Table of Contents * React Elements

Javascript
Added: 15 Feb 2022

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

DevOps
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 with the highlights from ES11.

Javascript
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 planning.

DevOps
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, we're finally moving in the opposite direction. With simpler tools that are still able to hit those high-fidelity user interface notes, but at a sliver of the cost in complexity. The long expansion of enab...

Ruby on Rails
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 system. As…

Ruby on Rails
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...

Javascript Ruby on Rails
Added: 10 Feb 2022
Are Retrospectives Crucial to a Project's Success?

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

Soft Skills
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 we do it at Bearer.

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

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

CSS
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 ?

Ruby on Rails
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 to use S3 to store files uploaded to a Rails app.

Ruby on Rails
Added: 08 Feb 2022
Hotwire: Turbo-Streaming ViewComponents

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

HOTWire Ruby on Rails
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...

Ruby Ruby on Rails
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.

Javascript
Added: 06 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...

Javascript Ruby
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 a single, more readable statement. In the pas...

Ruby testing
Added: 01 Feb 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 become more productive quicker, this article is for you.

Soft Skills
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.

Ruby Ruby on Rails
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 without many changes to the back-end. In this article, David Sanchez shows us how to design and build our own GraphQL APIs in Rails.

Ruby on Rails
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 starting from scratch? For us, the answer still is a resounding yes. Here's why. | Le Wagon

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

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

Ruby
Added: 25 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 a simple on-and-off system, here's a minimal feature flag manager that'll take less than an hour to build, using plain Ruby objects, the Rails configuration, and some neat variables organization.

Ruby on Rails
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 changes within page objects.

Ruby on Rails
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.

Javascript
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 in browsers in 2022.

CSS
Added: 18 Jan 2022
Ruby Splat Operator 🌟

The Ruby splat operator is confusing and here is why…

Ruby
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 Sampaio shows us how to port our existing Turbolinks apps to Turbo.

Ruby on Rails
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 do a single attribute in-place update with Turbo, this post is for you.

Ruby on Rails
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

Javascript
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.

Soft Skills
Added: 12 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.

DevOps
Added: 04 Jan 2022

Week 2021-51

Ruby is Still a Diamond

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

Ruby
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.

Ruby
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 the MVC (Model-View-Controller) design pattern — the Controller.

Ruby on Rails
Added: 23 Dec 2021

Week 2021-50

Thoughts and learnings on writing better software

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

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

Javascript Ruby on Rails
Added: 19 Dec 2021
My Experience with Ruby for Good

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

Ruby
Added: 19 Dec 2021
Tidy Up Your Routes with Only

Tidy routes are happy routes

Ruby on Rails
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 in to learn about Action Cable and…

Javascript Ruby on Rails
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, any app I’ve ever worked on has dealt with bad actors trying t…

Javascript
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 often a bad idea to start with microservices for a brand new project.

DevOps
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…

Ruby Ruby on 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 truly full-stack approach to web development that tackles both the front- and back-end challenges with equal vigor. An omakase menu that includes everything from the aperitif to the dessert.

Javascript Ruby on Rails
Added: 16 Dec 2021
Tailwind and the Femininity of CSS

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

CSS
Added: 16 Dec 2021

Week 2021-49

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 have to manually compile.

Javascript Typescript
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

Ruby on Rails
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 component library for generating Kafka messages

Ruby
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 industry.

Ruby
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 to a Hotwire application.

HOTWire Javascript Ruby on Rails
Added: 05 Dec 2021
Rails

Imagine we have 2 models Area Lane

Ruby on Rails
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 the history of events and add new events.

Ruby on Rails
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 both throw and catch and raise and rescue statemen…

Ruby
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.

Ruby on Rails
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 probably in web development in general of course). Unlike regular CRUD interfaces, there’s not a prescribed “Rails Way” to do multi-step forms. This, plus the fact that multi-step forms are often inherently complicated, can make …

Ruby on Rails
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 from Pixabay I’ve been working through Dave Thomas’s fantastic book Progra…

Ruby
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 time, although you might not be consciously aware of it. Blocks, which are ubiquitous in Ruby, and lambdas, which are used for things like Rails scopes, both involve Proc objects. In this post we’re going …

Ruby
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 for Android, Hotwire, and how to build apps faster with Hotwire, Turbo, Stimulus, and Strata. Jay is an Android developer at Basecamp.com and Hey.com and has been b

HOTWire Ruby on Rails
Added: 24 Nov 2021

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

Ruby on Rails
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 out the code and my write up on it.

Frontend Ruby on Rails
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 use, walk through rolling your own solution, and share some recommendations about what solution to choose.

Ruby on Rails
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 might even say it's "serverless." In this article, Jeffrey Morhous shows us how to get started writing Lambda functions in Ruby.

Ruby
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!

Ruby on Rails
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 as AWS Rekognition fulfils that need. AWS Rekognition is a tool that is part of…

AI Ruby on Rails
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?

Javascript
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 nesting in this post.

CSS Frontend
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, it is! Learn which Ruby code quality tools you can use to perform static code analysis and improve code quality. This post is a summary of Ernesto Tagwerker's 'Trapped in the Tar Pit?' talk.

Ruby on Rails
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 use common production examples.

Ruby on Rails
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…

Ruby
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 for. When people ask me what to write tests for, my honest but maybe not very helpful answer is “basically everything”. But I don’t test literally absolutely everything. There are some cases when I choose …

Ruby on Rails testing
Added: 19 Nov 2021
TimescaleDB: integrating time-series data with Ruby on Rails—Martian Chronicles, Evil Martians’ team blog

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

database Ruby on Rails
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 Ruby is a good fit.

Ruby
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.

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

A brief introduction to Ruby’s lightweight concurrency primitive.

Ruby
Added: 16 Nov 2021

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

CSS
Added: 15 Nov 2021
Why T-shaped people?

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

Soft Skills
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,...

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

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

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

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

Ruby on Rails
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...

Backend Ruby Ruby on Rails
Added: 10 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 without the use of an agent. Ottr's primary design goal is to be a scalable and configurable serverless framework on AWS with little operational overhead or reliance on enrollment protocols.

DevOps
Added: 04 Nov 2021
DOOM Rendered via Checkboxes

WebAssembly meets 16000 HTML checkboxes.

Javascript
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 another, used stunt doubles for…

Ruby on Rails testing
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 to add...

Ruby on Rails
Added: 04 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 corners in order to “move fast”. And sadly, even programmers sometimes argue against writing good code. They say things like “it doesn’t always need to be perfect, because after all we need do to ship”. …

Soft Skills
Added: 03 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 era of breakpoints is over and the era of fluid design is here. Modern CSS has fantastic support for responsive design that ensures you won't ever have to write a media query again (if you don't want to).

CSS Frontend
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 to Ruby language!

Backend DevOps Ruby
Added: 01 Nov 2021

Week 2021-43

Rails Turbo Broadcast Update to Partial

Send updates to a page using a specific partial.

Ruby on Rails
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

Ruby Ruby on Rails
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 string keys and prefer hashes with symbols as keys, this post is for you.

Ruby Ruby on Rails
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 company. During an internal presentation, David talked about the need to raise the bar when it came to privacy for the new product the company was working on, codenamed Haystack, now HEY. We all were busy with all kinds of projects...

Ruby on Rails
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 — REST easy! In this post, we'll show you how to keep your Rails application maintainable for the long run by following the REST design principles.

Ruby on Rails
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 really good! The first example snippet I looked at was

CSS
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 my experiences using other technologies, I’ve developed some ways of structuring Rails applications that have worked out pretty well for me. Some of my organizational tactics follow conventional wisdom, like keeping controllers thin. Other of […]

Ruby on Rails
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 in CSS history. It was really something

CSS
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 times by bugs caused by strings vs symbols distinction. That happened in my own code, and it happened when using some other libraries as well. I like how symbols look in the code, but I don’t like the specific distinction that is made between them and strings. In my (perhaps controversial opinion) they introduce more problems than they solve.

Ruby
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, Michelle Barker explains why there’s no reason not to use it today to make your sites more accessible.

CSS Javascript
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 the main RBS features that RubyMine offers. For more information about this topic, read the sec

Ruby
Added: 22 Oct 2021

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

Ruby
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

Ruby on Rails Soft Skills
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. Let’s look at my solution for business logic in the Rails app.

Ruby on Rails
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

Ruby on Rails
Added: 20 Oct 2021

Week 2021-41

Rails 7 introduces ActiveModel::API

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

Ruby on Rails
Added: 15 Oct 2021
Covariance and Contravariance in TypeScript

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

Typescript
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 use them. Every once in a while though, you need to roll your own. Not to worry! With a splash of SVG and helping hand from Stencil, you can create a chart as a web component for all to use.

Javascript
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 the only codeloader option. As a result, upgrading to Zeitwerk will be an important step in getting your application ready for the next version of Rails. In this article, we’ll...

Ruby on Rails
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 look at common problems and use cases we all have to face in our work and how to solve them with modern CSS. If you’re interested, we’ve also just recently covered [CSS auditing tools](https://www.smashingmagazine.com/2021/03/css-auditing-tools/), [CSS generators](https://www.smashingmagazine.com/2021/03/css-generators/), [front-end boilerplates](https://www.smashingmagazine.com/2021/06/useful-frontend-boilerplates-starter-kits/) and [VS code extensions](https://www.smashingmagazine.com/2021/05/useful-vs-code-extensions-web-developers/) — you might find them useful, too.

CSS
Added: 15 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 it’s omitted I’ve assumed it’s pretty obvious).

Ruby on Rails
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 &., and when &. is the best tool for the job.

Ruby
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 better at object-oriented design, to service objects, all the way to entirely new ideas like Trailblazer or leaving Active Record altogether. Here’s one more design approach that’s clean yet railsy.

Ruby on Rails
Added: 13 Oct 2021

Week 2021-40

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

HOTWire Javascript Ruby on Rails
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 size, and how can you apply it in your web design? This article and video has answerers for you with some practical examples focused on body text in responsive web design. Ready – then let’s size up, how to size your fonts!

CSS
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 we rescue it without going backwar...

Javascript
Added: 08 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 developer-friendly Rails guide.

Ruby on Rails
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 by leveraging user agent styles. In this article we’ll take a look at what it does and how to use it alongside `color-scheme` for simple, accessible checkboxes and radio buttons — and imagine how we might use it in the future.

CSS
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 that return ActiveRecord::Relation collections. This post explains how this can be avoided to improve the performance of your application.

Ruby on Rails
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 with them in a multilingual Rails app with a little help from PORO (Plain Old Ruby Object).

Ruby
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 main branch

DevOps
Added: 06 Oct 2021

Maybe you are already familiar with includes or preload, but you know that a lot of the time you will need more than just preload(:comments). It is common to have complex nested associations, scopes that you need or want to reuse, places where preloading all the associated records could hurt the performance of your app. How do you work with complex nested associations?… How do you simplify the preloading of those nested associations?… How do you “preload an scope”?… How do you preload just the latest n of each record?

Backend Ruby on Rails
Added: 06 Oct 2021
Conditional Border Radius In CSS - Ahmad Shadeed

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

CSS
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.

testing
Added: 03 Oct 2021

I just write here

Ruby
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) aim to ease this task.

CSS
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...

HOTWire Ruby
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 via a fingerprint scan, a YubiKey, an authenticator app, or SMS. In this article, Petr Hlavicka will give you a solid foundation of knowledge about multi-factor...

Ruby on Rails
Added: 30 Sep 2021

Week 2021-38

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 weekday...

Ruby
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 every substantial new feature came as a contribution from outside of Basecamp and HEY. We've got a new package, action parameters, default values, target lifecycle callbacks, debug mode, utility-CSS support, and Con...

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

Simplify and clarify your code by carefully choosing abstractions.

Ruby
Added: 24 Sep 2021
Developer Decisions For Building Flexible Components — Smashing Magazine

In this article, we’ll walk through the process of taking a seemingly simple design for a text-and-media component and deciding how best to translate it into code, keeping in mind the needs of both users and content authors.

Design Frontend
Added: 23 Sep 2021
Ruby for ebook publishing

A lot of times, people ask what’s Ruby good for apart from Rails. Ruby is great for various tasks from several different domains, and today, I would like to share how anybody can use Ruby in publishing ebooks.

Ruby
Added: 22 Sep 2021

Week 2021-37

An Intro to JavaScript Proxy

Have you ever been in a situation where you wish you could have some control over the values in an object or array? Maybe you wanted to prevent certain

Frontend Javascript
Added: 17 Sep 2021
Hotwire: Typeahead searching

Build a search-as-you-type text box with Turbo, Stimulus, and Rails.

CSS HOTWire Javascript Ruby on Rails
Added: 17 Sep 2021
Friendlier UUID URLs in Ruby - FastRuby.io | Rails Upgrade Service

In this article we will discuss and demonstrate how we can use Ruby to encode UUIDs into URL friendly representations. This article does not assume any previous knowledge about UUIDs. Instead we will first discuss what exactly a UUID is. We look at all the reasons we would prefer using...

Ruby
Added: 17 Sep 2021
Hotwire: Server-rendered live previews

Turbo-charge your Article drafting feedback cycle with Hotwire-powered live previews.

HOTWire
Added: 15 Sep 2021
Ruby 3.1 – Shorthand Hash Syntax – First Impressions

It's the time of year again, and with it comes a bundle of new Ruby 3.1 features getting approved and...

Ruby
Added: 13 Sep 2021

Week 2021-36

Working With RBS in RubyMine | The RubyMine Blog

Starting with v2021.2, RubyMine provides code assistance for working with RBS files, along with all of the essential features that make RBS code easier to read. Here’s a brief overview. Creating RB

Ruby
Added: 09 Sep 2021
RBS: How to Get the Most Out of RubyMine’s Code Assistance | The RubyMine Blog

The following article shows the benefits of investing some of your time into adding RBS declarations to your project. Catch type errors RubyMine performs real-time type checking based on the informati

Ruby
Added: 06 Sep 2021

Week 2021-35

Announcing Bridgetown’s Public Roadmap for 2021-2022

The road to 1.0, plus upcoming opportunities to contribute to that vision to make it a reality.

Ruby
Added: 04 Sep 2021
ECMAScript 2021 (ES12) new features

ECMAScript, the standardized version of JavaScript is increasing its popularity and is becoming...

Frontend Javascript
Added: 04 Sep 2021
How I keep my Rails controllers organized - Code with Jason

The problem to be solved As a Rails application grows, its controllers tend to accumulate actions beyond the seven RESTful actions (index, show, new, edit, create, update and destroy). The more “custom” actions there are, the harder it can be to understand and work with the controller. Here are three tactics I use to keep …

Ruby on Rails
Added: 03 Sep 2021
Using Hotwire with Rails

Hotwire is a way to build modern web applications without much JavaScript by sending HTML over the wire. In this article, Renata Marques introduces us to Hotwire and walks us through a simple example.

HOTWire
Added: 30 Aug 2021

Week 2021-34

Responsible Monkeypatching in Ruby

Monkeypatching can be a great way to improve existing code if used right. Let's find out how.

Ruby
Added: 25 Aug 2021

Week 2021-33

HEY-inspired Pop-ups Using Hotwire

Disclaimer: It should be noted that the provided HTML fails to implement the necessary ARIA...

HOTWire
Added: 20 Aug 2021
One row, many threads: How to avoid database duplicates in Rails applications — Martian Chronicles

A primer on avoiding duplicates in database tables that back your multi-threaded Rails applications with runnable examples

database
Added: 18 Aug 2021
CSS accent-color

Bring your brand color to built-in HTML form inputs with one line of code.

CSS
Added: 18 Aug 2021
Modern web apps without JavaScript bundling or transpiling

I didn't much care for vanilla JavaScript prior to ES6. Through all of the 2000s, I chased different approaches to avoid writing too much of it. First there was RJS (Ruby-to-JavaScript). Then there was CoffeeScript. Both transpiling approaches that turned more enjoyable-to-write source code into the kind of JavaScript that browsers wou...

Javascript
Added: 16 Aug 2021

Week 2021-32

GitHub - gocardless/statesman: A statesmanlike state machine library.

A statesmanlike state machine library. Contribute to gocardless/statesman development by creating an account on GitHub.

Gem
Added: 12 Aug 2021

©2021 Marco Colli, Founder / CTO @ Pushpad - Web Push Notifications

DevOps
Added: 12 Aug 2021
Ruby's Hidden Gems: Bullet

Let's dive into Bullet and find out how it can help you identify some database-related problems.

database Ruby
Added: 11 Aug 2021
Gateway

An object that encapsulates access to an external system or resource

testing
Added: 11 Aug 2021
Organizing TypeScript code using namespaces - LogRocket Blog

Typescript namespaces prevent bloated global scope and support distributed development. Learn when you'll need namespaces and how to use them.

Typescript
Added: 10 Aug 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 behavior to your app.

Javascript
Added: 09 Aug 2021
Some lesser known TypeScript notation

Exclamation mark notation and casting as unknown

Javascript Typescript
Added: 09 Aug 2021

Week 2021-31

Typescript Interface vs Class With Practical Examples

Typescript, oh I love it. Take stackoverflow survey, or ask any developer, most of them do. All major...

Javascript Typescript
Added: 05 Aug 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 Hotwire's Turbo Stream actions.

HOTWire
Added: 05 Aug 2021
Yarn 3.0 🚀🤖 Performances, ESBuild, Better Patches, ...

Hello! Long time no see! Back in December, we decided to start working on our next major release, the...

Javascript
Added: 05 Aug 2021
Sorbet Compiler: An experimental, ahead-of-time compiler for Ruby · Sorbet

For the past year, the [Sorbet](https://sorbet.org/) team has been working on an

Ruby
Added: 05 Aug 2021

Week 2021-30

You don’t need React for building websites

Here’s what I think: if you are building websites, you don’t need React (in most cases). I have been...

CSS Javascript
Added: 28 Jul 2021
ES2021 features list

ES2021 as approved by the Ecma General Assembly

Javascript
Added: 28 Jul 2021
CSS Logical Properties and Values

Now that cross-browser support is at a tipping point, it's a good time to take a look at logical properties and values. If you're creating a website in

CSS
Added: 27 Jul 2021

Week 2021-29

RubyMine 2021.2 Release Candidate | The RubyMine Blog

RubyMine 2021.2 Release Candidate is available! Here’s a quick roundup of the most notable new features being introduced in the upcoming 2021.2 release: Ruby and RBS RubyMine now supports most of t

Ruby
Added: 24 Jul 2021
ECMAScript proposal: JSON modules

Dr. Axel Rauschmayer looks at JSON modules, which is already live in Chrome 91 (but nothing else). It looks just like an ES Modules-style import, only you

Javascript
Added: 22 Jul 2021

Week 2021-28

ClosureTree/closure_tree

Easily and efficiently make your ActiveRecord models support hierarchies - ClosureTree/closure_tree

Ruby
Added: 16 Jul 2021
Need a Soundtrack for Your YouTube Video? Ask an AI Composer

A new music creation plug-in uses machine intelligence to compose songs on the fly that match the visual tone and rhythm of creators’ videos.

AI
Added: 12 Jul 2021
How to get element from an Iframe in JavaScript

In this tutorial, we are going to learn about how to get the html elements from an Iframe in JavaScript. Consider we have a following…

Javascript
Added: 12 Jul 2021
Modern Web Applications with Hotwire

Why use Hotwire? Rails views can sometimes be fast and work perfectly, but some other...

HOTWire
Added: 12 Jul 2021

Week 2021-27

Managing SSH Access at Scale with HashiCorp Vault

Learn how to build scalable, role-based SSH access with SSH certificates and HashiCorp Vault.

DevOps
Added: 08 Jul 2021
Improving Horizontal Scroll with CSS Scroll Snap

The pattern with horizontal scroll is frequently found in mobile versions of sites. For example, on...

CSS Frontend
Added: 07 Jul 2021
Build a static site in Ruby with Bridgetown

Once upon a time, in ye olden days of 2008, the world saw the release of Jekyll, the first popular...

Ruby
Added: 07 Jul 2021

Week 2021-26

Time for some joy

I always used to think design was about problem solving. I’ve spent 14 years working to solve problems. Problems I didn’t care about much…

Design
Added: 04 Jul 2021
Star-Rating Using A Single Input

Yesterday I read InhuOfficial's post about star-rating, using a group of <input...

CSS Javascript
Added: 04 Jul 2021
My thoughts after trying Hanami in production microservice architecture

Not so long ago I'd got a chance to build a production-ready application in our microservices architecture. Check out my findings!

Ruby
Added: 03 Jul 2021
How I designed an offline-first app. An outline.

Last week I wrote a blog post on how I built my app in React, React Native and NextJS. This blog post...

Javascript
Added: 02 Jul 2021
stimulus-use/stimulus-use

A collection of composable behaviors for your Stimulus Controllers - stimulus-use/stimulus-use

Javascript
Added: 01 Jul 2021
Utility Classes I Have Known and Loved

These are my favorite CSS utility classes. I take them everywhere.

CSS
Added: 01 Jul 2021

Organize anything, together. Trello is a collaboration tool that organizes your projects into boards. In one glance, know what's being worked on, who's working on what, and where something is in a process.

Javascript
Added: 01 Jul 2021
The Best Ruby HTTP clients for 2021

This article will discuss the best HTTP clients in Ruby. Faraday, HTTParty, Rest-client...it can be hard to choose the best one.

Ruby
Added: 01 Jul 2021
Building a Component Library in Rails With Storybook - Orbit

A step by step guide to deploying a component library with Storybook for a Rails app

Ruby on Rails
Added: 01 Jul 2021
rubycdp/vessel

Fast high-level web crawling Ruby framework. Contribute to rubycdp/vessel development by creating an account on GitHub.

Ruby
Added: 01 Jul 2021
How GitHub Leverages Feature Flags to Ship Quickly and Safely

In a recent blog post, Alberto Gimeno, GitHub actions engineer, shared how GitHub makes use of feature flags to enable frequent, safe deployments. GitHub leverages feature flags for all potentially risky changes, allowing them to quickly disable the change if needed.

DevOps
Added: 01 Jul 2021
Crystal

Livestreamed on 8 July 2021, 12:30pm – 9:30pm UTC

Ruby
Added: 01 Jul 2021
Handling Paginated Resources in Ruby

Extracting data from an API can get messy once pagination is involved. We'll look at a few ways of dealing with this complexity, including "recursive each" and Kernel#to_enum method to enumerate paginated resources

Ruby
Added: 01 Jul 2021
Gracefully handle API response with value objects

This article is a quick tip for anyone working with APIs in a Rails application and parsing the data without modeling it

Ruby
Added: 01 Jul 2021
CSS Frosted glass effect (glass morphism) Tutorial

Ever wondered how to get that cool blurred glass effect with CSS only? Here is the tutorial step by step with a live demo.

CSS
Added: 01 Jul 2021
How to convert any website/webpage into an installable progressive web app (PWA)

Hi there! Thinking about how to convert any website/webpage to an installable progressive web app? re...

Javascript
Added: 01 Jul 2021
Handling Short And Long Content In CSS - Ahmad Shadeed

An in-depth article on how to handle short and long content in CSS.

CSS
Added: 01 Jul 2021
CSS Border Font

Every letter in this "font" by Davor Suljic is a single div and drawn only with border. That means employing some trickery like border-radius with exotic

CSS
Added: 01 Jul 2021
Nested Forms in Rails - The Lean Software Boutique

Have you ever had to deal with complex forms creating multiple objects and hierarchies in one request? Rails is there to help provide a set of helpers, methods and conventions to build nested forms, handle assignment, and creation of the objects involved in only a few lines of code. In...

Ruby on Rails
Added: 01 Jul 2021
How to make a mouse ripple click effect with CSS, JS and HTML in 2 steps🖱️⚪

🔍 OVERVIEW So today you will build this cool ripple effect of the mouse cursor, using HTML...

CSS Javascript
Added: 01 Jul 2021
vmg/redcarpet

The safe Markdown parser, reloaded. Contribute to vmg/redcarpet development by creating an account on GitHub.

Ruby
Added: 01 Jul 2021
webpack or esbuild: Why not both? - LogRocket Blog

esbuild makes builds faster, but if you're invested in webpack, esbuild-loader enables you to use esbuild alongside webpack.

Frontend Typescript
Added: 01 Jul 2021
Blocks, Procs, and Enumerable

A look under the hood at how blocks and procs are used in Ruby.

Ruby
Added: 01 Jul 2021