Articles that I have been reading

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 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?

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
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
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 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 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 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 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
Our move to generated SDKs

GitHub SDKs: software generated meets hand curated.

Added: 04 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.

Backend Database
Added: 18 Nov 2023
Preventing bugs in Ruby: tools of the trade

Intro

Consulting Ruby on Rails
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 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

Opportunity solution trees: Definition, examples, and how-to - LogRocket Blog

An opportunity solution tree (OST) is a discovery tool that helps product teams visualize the best path to achieve a desired outcome.

Added: 05 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
The TLDR on Ruby's new TLDR testing framework

It's 2023, and it's time for a totally new way to run your tests. Here's how the new TLDR test runner can save you from a life of avoiding your slow tests

Added: 03 Oct 2023
“I have a bad English accent”

You can hear my home country from my first sentence. And so what?

Added: 03 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
Bricolage | Some notes on Local-First Development

A few months ago in June, I attended a local-first meetup in Berlin organized by Johannes Schickling, formerly the founder of Prisma. An…

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.

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.

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 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
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 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 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 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 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.

Backend Ruby on Rails
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
Diversity, Equity, Inclusion and Building Great Teams - One Recruiter’s Rambling Thoughts on Inclusive Hiring

An overview of our own hiring process and how we weave in inclusive hiring best practice throughout.

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 on Rails
Added: 02 Aug 2023

Week 2023-30

GitLab Dev Deletes Entire Production Database

In this article, we’ll look at how a developer’s mistake caused GitLab to lose six hours of data from...

Added: 28 Jul 2023
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 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 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
Group by Year, Month, or Day in PostgreSQL | Mayallo

How to group data by specific date interval using DATA_TRUNC(), EXTRACT(), or TO_CHAR() functions in PostgreSQL.

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
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 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.

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
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
Why we re-designed our engineering career paths at CircleCI

We developed our first competency matrix three years ago. In early 2018, we realized it was time to refresh and rebuild our matrix, to better reflect how our engineering org has matured, and what we’ve learned along the way.

Added: 27 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 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 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 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 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 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

Added: 21 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
5 Questions to Define Your Product Strategy

This is the simplest way to come up with your comprehensive product strategy.

Added: 17 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 on Rails
Added: 17 Jun 2023
Deploying a Rails app with MRSK

What is MRSK?

DevOps 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
Added: 14 Jun 2023
9 Senior Developer Mental Models Every Programmer Should Master

“Senior Developer is not a title. It is a way of thinking.” - Bogdan Nedelcu If you’ve worked with...

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.

Ruby
Added: 12 Jun 2023

A lot of applications treat your email address as something immutable that is linked to you and which will never change. It can't be linked to someone else, and it can't change.

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

Writing about the big beautiful mess that is making things for the world wide web.

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 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 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 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 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
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
Sitting on the bench

There are many reasons to pick working for a bigger company in tech. The benefits, the pay, and, at least until recently, the job security. In many ways, it's hard to argue with the cold logic of taking a seat on a star destroyer, if you can land one. But odds are you'll be sitting on the bench if you do. That is, your talents won't ge...

Added: 16 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 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 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

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 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
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
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.

Backend 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 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
Your company culture is a meaningless platitude – Dan Shapiro

We’re a team culture and we believe in individual empowerment.

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 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 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?

Backend 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
You Should Write Bad Code

How to embrace absurdity and unlock more creative coding

Added: 27 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 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 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 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.

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 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 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.

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!

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

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
Is software getting worse?

With all the advancements in software development, apps could be much better. Why aren't they?

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 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?

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...

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...

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 on Rails
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 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 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
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.

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 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
Materialized View: SQL Queries on Steroids

I have been working with a client with close to 600k images on their home page. The photos are tagged with multiple categories. The index API returns paginated pictures based on various sets of filters on classes. Recently, they normalized their data, and every image was mapped to 4 different categories through join tables.

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
Why Web Design Still Matters in 2023 | Webdesigner Depot

As we move into 2023, there are an increasing number of ways companies can engage with their customers. And as the number of apps, browser extensions, social media feeds, newsletters, vlogs, and podcasts grows, you can be forgiven for thinking that websites are a little less essential than they were in say, 2021. However, the

Added: 29 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
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.

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 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.

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
Setting up a screen reader testing environment on your computer

Published on 24 Nov, 2022  |   Takes approximately 8 min to read

Added: 13 Dec 2022
Hostile Patterns in Error Messages

Premature error messages, aggressively styled fields, and unnecessarily disruptive system-status messages feel bad-mannered and increase cognitive load for users during otherwise simple tasks.

Added: 13 Dec 2022
This week in #dev (Pilot)

Highlights of what happened in our #dev channel on Slack this week.

Added: 13 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.

Javascript Ruby on Rails
Added: 12 Dec 2022
HTMHell Advent Calendar 2022 - HTMHell

An article, talk, or tool that focuses on HTML every day until Christmas.

Added: 12 Dec 2022

Week 2022-49

Scrum Has Failed the Developers

But there’s a way out of the misery

Added: 10 Dec 2022
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...

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
What I learned from pairing by default

I never used to pair program, and then I spent four months on a pair-by-default team. Here's what I learned.

Added: 08 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
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
SOLID Principles Explained by GPT-3 with Analogies and Ruby Code

Ever struggled to grasp what the Liskov Substitution Principle really mean?

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
6 Tips to Overcome Scaling Challenges Like Design Decisions, Tech Debt, and Developer Satisfaction | alphalist

Scaling isn’t easy. You will need to set up processes on how things are going to work now that you are a big company with multiple teams. In this article, we discussed how to make design decisions, handle tech debt and keep in touch with developers now that the company is so much bigger.

Added: 29 Nov 2022
Why (and How) I Write Code With Pencil and Paper | CSS-Tricks

If the thought of handwriting code seems silly, it might surprise you to know that it's inevitable. If you're unsure, think about the last job interview you

Added: 29 Nov 2022
Questions for our first 1:1 | Lara HoganTwitter_Logo_Blue

In the last few years, I’ve had the pleasure of kicking off lots of new reporting relationships with both engineers and engineering managers. Over time, I’ve learned that getting some particular data during an initial 1:1 can be really helpful, as I can refer back to the answers as I need to give a person feedback, recognize them, and find creative ways to support them. Most of these I’ve stolen from some really amazing Etsy coworkers.

Added: 29 Nov 2022
Ten reasons engineers choose to stay with an organization

Retaining great developers can be hard. Here are the ten company habits that make employees choose to stay, even when other options are available.

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

Added: 29 Nov 2022
To infinity and beyond: enabling the future of GitHub's REST API with API versioning | The GitHub Blog

We’re introducing calendar-based versioning for our REST API, so we can keep evolving our API, whilst still giving integrators a smooth migration path and plenty of time to update their integrations.

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
Added: 29 Nov 2022
The Seven Levels of Busy

Level 1: NOT BUSY My schedule is wide open. I can choose infinite paths. Zero commitments. The weekend. I sleep like a baby. Life is good, but am I living my best life? Level 2: STUFF TO DO I have a few commitments wandering around my brain. They are reasonable, knowable, and not deadline-based. I

Added: 28 Nov 2022
Dialogs, modality and popovers seem similar. How are they different?

A deep dive into the semantics, behaviours and characteristics of some of the most common user interface elements of websites today.

Added: 28 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
Turbo Streams meets Action Cable

This post was extracted and adapted from The Rails and Hotwire Codex. Turbo Streams are a great...

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.

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
aria-label is a code smell

If it is important enough to need words, it is important enough to use text content.…

Added: 15 Nov 2022
Your Accessibility Claims Are Wrong, Unless…

Now that it is a market differentiator to talk about accessibility in projects, that’s all many do — talk about it. In a sea of pop-dev noise, “accessibility” can be claimed with little risk someone will challenge it. If someone does, the response is often a fine balance between silence…

Added: 15 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
How to create an interview rubric that actually works

Interview rubrics are a great way to reduce bias. Here's how to build a rubric for any technical role.

Added: 10 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 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
What You Need in a Code Review Checklist (& What You Don't)

Discover what your team needs in their code review checklist, what they don't, and how you can automate code review checklists by repo.

Added: 09 Nov 2022
Why and how GitHub encrypts sensitive database columns using ActiveRecord::Encryption | The GitHub Blog

You may know that GitHub encrypts your source code at rest, but you may not have known that we encrypt sensitive database columns as well. Read about our column encryption strategy and our decision to adopt the Rails column encryption standard.

Added: 09 Nov 2022
Food Waste — Information is Beautiful

A big climate problem we can actually solve

Added: 09 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
Feeling Overwhelmed? You Need an MVD—That’s Minimum Viable Day

A Minimum Viable Product is a lean, simple version of your product which delivers value early. What if we could apply this concept to life?

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
Deep Work: A Better Way to Measure Developer Velocity 

Velocity is best measured by looking at how much uninterrupted focus time your developer teams have (capacity) and how effective they are within those periods.

Added: 07 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 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
Postgres Insider Terminology

If you've ever wondered - What is a tuple? What is a Postgres page? What's the difference between a record and a row? What is a relation? What's an array? What is TOAST? This post is for you! These are terms you hear all the time in the Postgres world. This post breaks down what these terms mean and how they are used.

Added: 04 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...

Javascript Ruby on Rails
Added: 03 Nov 2022
Lessons Learned From 5 Years of Scaling PostgreSQL

Learn about the challenges we’ve encountered while scaling on PostgreSQL and the solutions we've put in place.

Added: 02 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
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
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
Four ways to protect yourself from burnout

You don’t have to set yourself on fire to keep others warm. Here are some preventative steps you can take to avoid burning out.

Added: 27 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
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 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 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
Added: 18 Oct 2022

Week 2022-41

Predict Wine Quality using MindsDB

Introduction MindsDB, undoubtedly, brings in the best-in-class machine learning...

Added: 16 Oct 2022
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.

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
On the Importance of Pull Request Discipline

Unorganized pull requests are the bane of large codebases. Follow Yash's tips to prevent your PRs from getting roasted in the group chat.

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
Rendering External API Data in WordPress Blocks on the Front End | CSS-Tricks

There’ve been some new tutorials popping here on CSS-Tricks for working with WordPress blocks. One of them is an introduction to WordPress block development

Added: 12 Oct 2022
Atomic commits - Code with Jason

Ruined soup Let’s say I’m making a pot of tortilla soup. I’ve made tortilla soup before and it has always turned out good. This is a low-risk operation. But for some reason, this time, I decide to get experimental (high risk). I add some cayenne pepper to the soup. Unfortunately, this makes the soup too […]

Added: 12 Oct 2022
Fun Emoji Hacks

Being part of Unicode, emoji characters are very flexible. With a little bit of imagination, here's some fun emoji ideas that vendors could implement today using existing Unicode functionality. Bold Making an emoji bold does nothing on most (all?) systems right now. Here on my Mac, italic does slant an

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 on Rails
Added: 11 Oct 2022
Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.

A new tool that blends your everyday work apps into one. It's the all-in-one workspace for you and your team

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
7 Cool HTML Elements Nobody Uses

Searching for cool HTML elements, especially if you don't know what you're looking for, is often like...

Added: 08 Oct 2022
Turbo 7.2: A guide to Custom Turbo Stream Actions

Marco Roth - marcoroth.dev

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
The 2022 Web Almanac

The Web Almanac is an annual state of the web report combining the expertise of the web community with the data and trends of the HTTP Archive.

Added: 06 Oct 2022
Dynamic forms with Turbo

Fetch fresh fields from your servers with Turbo Frames.

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
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
Added: 05 Oct 2022
Postgres: a better message queue than Kafka? | Dagster Blog

When lots of event logs must be stored and indexed, Kafka is the obvious choice. Naturally, our queue runs on Postgres.

Added: 05 Oct 2022
Factory pattern: the key information on the factory method pattern

A factory method pattern (also known as a factory pattern) offers developers a good alternative to subclass management. What’s behind the pattern?

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
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
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 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.

Added: 29 Sep 2022
Detect anomalies in user behavior using Rails and PostgreSQL

You probably use some type of error monitoring software to notify you when an exception is raised in your application, but are you being notified when there is an anomaly in user behavior?

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
ULIDs and Primary Keys

Not all non-sequential primary keys are created equal, the ULID format is a fantastic substitute for the typical UUIDv4 choice.

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
Added: 22 Sep 2022
OAuth2 explained with cute shapes

We’re currently refurbishing 🙃 our authentication stack at Back Market, and we need to onboard our developers and teams to various OAuth2…

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
6 Simple and Useful PostgreSQL Features that I wish I knew when I started

I use PostgreSql a lot in my working time. So recently, I spent some time refreshing and deepening my knowledge of PostgreSQL to improve my skills and experience in using it (writing and optimizing queries, creating new objects, etc.). And I found many awesome features and syntax sugar constructions that can tremendously ease your daily routine and eliminate problems that may appear while resolving sophisticated tasks. In this article, I will try to review 6 PostgreSql traits that seem to me the most important and easy-usable in a clear and brief way.

Added: 22 Sep 2022
Don’t Overwrite Visual Labels With `aria-label` | Ashlee M Boyer

Users suffer when the accessible name of an element doesn’t match its visual label.

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
The many problems with implementing Single Sign-On

Without SSO and other enterprise features, a product can only go so far.

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 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
Added: 17 Sep 2022
Working Iteratively

Working in small chunks is one of the most impactful things we can do as developers.

Added: 16 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
The leader’s journal: Become an inspiring leader in ten minutes a day

Want to become an outstanding engineering leader? Keep a daily journal.

Added: 15 Sep 2022
Designing APIs for humans: Error messages

Good error message, bad error message Error messages are like letters from the tax...

Added: 15 Sep 2022
Let's Not

How using this popular RSpec technique can sometimes do more harm than good.

Ruby on Rails
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

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
TIL: You Can Access A User's Camera with Just HTML

So that's the HTML capture attribute. It's a pretty cool way to add a nicer user experience if you know that your mobile users are going to be taking a

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
The What, the Why, and the How of Bloom Filter - The Lean Software Boutique

Have you ever wondered how does Medium recommend blogs to read or how does a platform with millions of users tells if a username is available or taken? If yes, you have come to the right place, as we are going to look at the data structure that makes this...

Added: 11 Sep 2022
Sign your Git commits with 1Password | 1Password

Developers can now use 1Password to set up and use SSH keys to sign Git commits, building on 1Password’s already robust support for SSH keys.

Added: 09 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…

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
RailsConf 2022 - Open the gate a little: strategies to protect and share data by Fernando Petrales

Open the gate a little: strategies to protect and share dataCan you name a more terrifying set of three words in software development than "HIPAA violation f...

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 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.

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
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.

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
Interviewing like it's a classroom. In a good way.

Observing some aspects that job interviews and learning and teaching a foreign language have in common, in communication style in a broad way.

Added: 15 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 on Rails
Added: 11 Aug 2022

This summarizes my past accepted conference proposals, with some tips or commentary on writing them.

Added: 11 Aug 2022
Announcing Docusaurus 2.0 | Docusaurus

Today we are extremely happy to finally announce Docusaurus 2.0! 🥳️

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.

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
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
7 Levels of test coverage

Do you measure your test coverage? Do you know that everything below 80% is irrelevant? Here I list 7 levels of test coverage, check out where you are!

Added: 21 Jul 2022
It's 1997 and you want to build a website - The History of the Web

You have a few options. How much time you got?

Added: 21 Jul 2022
How Many Meetings Are Too Many?

It's easy for an entire day to feel lost when you open the calendar and have back-to-back remote meetings.

Added: 19 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 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.

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
What my father taught me about software development

My father is a construction man. What could he teach me about being a software engineer? Well, quite a lot.

Added: 06 Jul 2022
Learning TDD With RSpec

Checkout Kata

Ruby
Added: 05 Jul 2022
The One Reason I Moved From Notion To Obsidian As An Engineer

And why you might want to do the same

Added: 04 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

Five essential tips for great internal communication

How to improve internal comms in your organization

Added: 02 Jul 2022
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?

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.

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
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 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 on Rails
Added: 23 Jun 2022
One-liner for running queries against CSV files with SQLite

I figured out how to run a SQL query directly against a CSV file using the `sqlite3` command-line utility: sqlite3 :memory: -cmd '.mode csv' -cmd '.import taxi.csv taxi' \ 'SELECT passenger_count, COUNT(*), AVG(total_amount) FROM taxi GROUP BY passenger_count' This uses the special `:memory:` filename to open an in-memory database. Then it uses two `-cmd` options to turn on CSV mode and import the `taxi.csv` file into a table called `taxi`. Then it runs the SQL query. You can get `taxi.csv` by downloading the compressed file from [here](https://github.com/multiprocessio/dsq/blob/43e72ff1d2c871082fed0ae401dd59e2ff9f6cfe/testdata/taxi.csv.7z) and running: 7z e -aos taxi.csv.7z I figured this out while commenting on [this issue](https://github.com/multiprocessio/dsq/issues/70). The output looks like this: ``` "",128020,32.2371511482553 0,42228,17.0214016766151 1,1533197,17.6418833067999 2,286461,18.0975870711456 3,72852,17.9153958710923 4,25510,18.452774990196 5,50291,17.2709248175672 6,32623,17.6002964166367 7,2,87.17 8,2,95.705 9,1,113.6 ``` Add `-cmd '.mode column'` to output in columns instead: ``` $ sqlite3 :memory: -cmd '.mode csv' -cmd '.import taxi.csv taxi' -cmd '.mode column' \ 'SELECT passenger_count, COUNT(*), AVG(total_amount) FROM taxi GROUP BY passenger_count' passenger_count COUNT(*) AVG(total_amount) --------------- -------- ----------------- 128020 32.2371511482553 0 42228 17.0214016766151 1 1533197 17.6418833067999 2 286461 18.0975870711456 3 72852 17.9153958710923 4 25510 18.452774990196 5 50291 17.2709248175672 6 32623 17.6002964166367 7 2 87.17 8 2 95.705 9 1 113.6 ``` Or use `-cmd '.mode markdown'` to get a Markdown table: | passenger_count | COUNT(*) | AVG(total_amount) | |-----------------|----------|-------------------| | | 128020 | 32.2371511482553 | | 0 | 42228 | 17.0214016766151 | | 1 | 1533197 | 17.6418833067999 | | 2 | 286461 | 18.0975870711456 | | 3 | 72852 | 17.9153958710923 | | 4 | 25510 | 18.452774990196 | | 5 | 50291 | 17.2709248175672 | | 6 | 32623 | 17.6002964166367 | | 7 | 2 | 87.17 | | 8 | 2 | 95.705 | | 9 | 1 | 113.6 | A full list of output modes can be seen like this: ``` % sqlite3 -cmd '.help mode' .mode MODE ?TABLE? Set output mode MODE is one of: ascii Columns/rows delimited by 0x1F and 0x1E box Tables using unicode box-drawing characters csv Comma-separated values column Output in columns. (See .width) html HTML code insert SQL insert statements for TABLE json Results in a JSON array line One value per line list Values delimited by "|" markdown Markdown table format quote Escape answers as for SQL table ASCII-art table tabs Tab-separated values tcl TCL list elements ``` ## Other options There are a whole bunch of other tools that can be used for this kind of thing! My own [sqlite-utils memory](https://simonwillison.net/2021/Jun/19/sqlite-utils-memory/) command can load data from JSON, CSV or TSV into an in-memory database and run a query against it. It's a LOT slower than using `sqlite3` directly though. [dsq](https://github.com/multiprocessio/dsq) is a tool that does this kind of thing (and a lot more). Author Phil Eaton compiled [a collection of benchmarks](https://github.com/multiprocessio/dsq#benchmark) of other similar tools, and his [benchmarking script](https://github.com/multiprocessio/dsq/blob/43e72ff1d2c871082fed0ae401dd59e2ff9f6cfe/scripts/benchmark.sh) demonstrates how to use each one of them.

Added: 22 Jun 2022

Week 2022-24

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

Is mobile-first CSS always the best option? Patrick Clancey explores the pros and cons of the classic methodology, as well 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
Code I like (I): Domain-driven boldness

One of the first things I did when I started working at 37signals almost three years ago was cloning the git repo for Basecamp. I poked around and ended up at this method: module Person::Tombstonable ... def decease case when deceasable? erect_tombstone remove_administratorships remove_accesses_later self when deceased? nil else raise ...

Added: 16 Jun 2022
Better scrolling through modern CSS

There's more to scrollbars than you might expect

CSS Design
Added: 16 Jun 2022
The End of Localhost

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

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

Tools that keep developers in the flow state have a magnetic force. An often unexplainable, invisible pull that attracts and retains them to certain products. This pull is Developer Experience (DX).

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

Sometimes we can become addicted to the fast-paced nature of our industry. It doesn’t have to be this way. You can disconnect from it all, and the first step sits right in your hand.

Added: 14 Jun 2022
Self-destructing StimulusJS controllers

Add sprinkles of Javascript behavior with Stimulus controllers that run a few lines of code and then remove themselves from the page. Like inlined jQuery snippets but for the modern times!

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-22

The science of interviewing developers

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

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

Our top articles for Staff+ readers

Added: 01 Jun 2022

Week 2022-21

2022 Ruby on Rails Community Survey Results

Over 2,600 members of the Rails community from 92 countries kindly contributed their thoughts on tools, frameworks, and workflows in 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 on Rails
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
Scaling Engineering Teams via  RFCs: Writing Things Down

I have recently been talking at small and mid-size companies, sharing engineering best practices I see us use at Uber, which I would recommend any tech company adopt as they are growing. The one topic that gets both the most raised eyebrows, as well the most "aha!" moments is the

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
How to redesign your architecture to reduce technical debt

Building the system architecture your teams need

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

An overview of time zones in Rails.

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

And why coding speed matters

Added: 10 May 2022

Week 2022-18

You Don’t Need A UI Framework — Smashing Magazine

Developers often reach for UI frameworks like Bootstrap or Material UI, hoping that they’ll save a bunch of time and 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
Heroku admits that customer credentials were stolen in cyberattack

Heroku has now revealed that the stolen GitHub integration OAuth tokens from last month further led to the compromise of an internal customer database. The Salesforce-owned cloud platform acknowledged the same compromised token was used by attackers to exfiltrate customers' hashed and salted passwords from "a database."

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 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
Starting a blank Jekyll site with Tailwind CSS in 2022

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

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

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

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

MVP is such a profound misnomer; a good MVP is not viable, and it is certainly not a product. Chances are it isn't minimal either, come to think of it.

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
Steal this interview script

A boilerplate script for 1:1 remote user interviews.

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

Race conditions are hard to debug—especially when you don't know it's a race condition! This article looks at some common 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
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
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 on Rails
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
4 ways we use GitHub Actions to build GitHub | The GitHub Blog

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

Added: 25 Apr 2022

Week 2022-16

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

What is a successful design system made of? Learn about the four layers of a design system and the parts 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 on Rails
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
How to get a Google Sheet as JSON

Google Sheets can be a great place to store content for a website, since it’s structured and easy to update (especially for non-coders).

Added: 14 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
SCQA: What is it, how does it work, and how can it help me? - Analytic Storytelling

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

Added: 11 Apr 2022
Database Seeds

Bullet Train introduces a new, slightly different expectation for Rails seed data: It should be possible to run rake db:seed 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
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
Meta Tries to Break the End-to-End Encryption Deadlock

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

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

You may not think about images as part of your web dev work, but they can affect your web app's performance more than any other part of your code.

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
Added: 04 Apr 2022

Week 2022-13

How GitHub does take home technical interviews | The GitHub Blog

We want to evaluate how well candidates can code, and we also want to ensure candidates can show their talents in a fair and unbiased manner.

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

In this video, we're going to look at how to create a search form using Hotwire. Namely, we're going to 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.

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
Design Patterns: Memento

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

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

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

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.

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
The Best Video Transition Is Often... No Transition | Better Dev Screencasts

When cutting from Scene A to Scene B, it's often tempting to use one of the built-in transitions provided by your video editing software, like a "cross-fade". Let's challenge that!

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

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

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.

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
Those HTML Attributes You Never Use — Smashing Magazine

In this article, Louis Lazaris describes and demonstrates some interesting HTML attributes that you may or may not have heard of and perhaps find useful enough to personally use in one of your projects.

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
Please stop writing shell scripts

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

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

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

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
Added: 17 Mar 2022
5 JetBrains Plugins To Boost Your Productivity!

As you code, search, and collaborate

Added: 17 Mar 2022
Escaping the traditional Rails form

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

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
Appeal to Ruby community from Kharkiv Rubyist

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

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

If we wanted to, we could, of course, write web applications in assembly code. Computers can understand assembly code just 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
How we optimized PostgreSQL queries 100x

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

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

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

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
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.

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
Free Ngrok alternative with Cloudflare Tunnels

Cloudflare Tunnel is an awesome feature of Cloudflare that allows you to expose some local services to the Internet with your custom domain, for free.

Added: 28 Feb 2022

Week 2022-8

Sharing Secrets with GPG | 8th Light

As software developers, we're often given access to various pieces of sensitive information in order to do our job. This could be anything from database passwords, API keys, TLS certificates, or even private SSH keys...

Added: 25 Feb 2022
Future CSS: Level 4 Selectors

CSS does a lot with its selectors, but there's still a lot more it could do to make things easier 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

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

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

Added: 24 Feb 2022
The Stimulus Trigger Pattern

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

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

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

Added: 24 Feb 2022
What makes writing more readable?

Looking at how to make writing easier to read

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
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.

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.

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.

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
bliki: DesignStaminaHypothesis

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

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 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 on Rails
Added: 18 Feb 2022
When I do TDD and when I don't - Code with Jason

Some developers advocate doing test-driven development 100% of the time. Other developers think TDD is for the birds and don’t do it at all. Still other developers go in the middle and practice TDD more than 0% of the time but less than 100% of the time. I personally am in the camp of practicing …

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

The Rails Guides give a great example of how to create nested forms. However, Rails does not support adding fields on the fly out of the box…

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

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

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

While creating mature components in Sketch and Figma both take a lot of upfront work, the way a designer interacts 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

WebAssembly is at an inflection point. Over the next few years, I expect to see increased adoption of WebAssembly across the tech sphere, from containerization to plugin systems to serverless computing platforms. The following is a discussion of what WebAssembly is, what makes it a relevant technology, and where it’s being used today. I’ll also describe some potentially high-impact applications and make some predictions about its future.

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.

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 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.

Added: 06 Feb 2022
Data anonymization with Postgres

This post describes a simple and fast method to anonymize data in a Postgres database, useful for reporting or in general when you cannot share private information with third parties due to privacy concerns.

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

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

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
Added: 01 Feb 2022
How to Introduce Investment Time at Your Company

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

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

Joining an existing project as a developer comes with loads of challenges. If you need some inspiration on how to 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 on Rails
Added: 28 Jan 2022
Using entropy for user-friendly strong passwords

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

Added: 28 Jan 2022
GraphQL APIs in Rails

GraphQL is a flexible, strongly-typed query language. It's useful because it gives front-end developers the ability to query the database 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
Git Organized: A Better Git Flow | Render

Development is rarely a linear process, and our commits tend to reflect this. Here you'll learn about a git flow for faster PR reviews and an keeping your git history organized.

Added: 24 Jan 2022

Week 2022-3

Feature flags (or feature toggles) are a neat way to hide in-progress features from your users. For those who need 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
Stop paying tech debts, start maintaining code

Stop paying down tech debt and start doing software maintenance. The real term we should all be talking about is maintenance, and it will help you and your team make it as habitual as sprints and …

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
Reframing tech debt – Increment: Planning

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

Added: 10 Jan 2022

Week 2022-1

4 tips for GitHub Actions usability (+2 debugging)

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

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.

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

Amazon Web Services In Plain English

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

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

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

Javascript
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
Backing up Heroku Postgres database, restoring it locally

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

Added: 05 Dec 2021
Bearer | Why Hotwire in 2021

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

Ruby on Rails
Added: 05 Dec 2021
Rails

Imagine we have 2 models Area Lane

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

As customers, we're all happy to know about GDPR and the protection of our private data this regulation enforces. But as service providers, it's another story and the implications can be challenging

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

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…

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
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
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
Do less - Problems as shared spaces - Design in government

We believe in working in the open. This blog is for designers across government to share their projects, ideas and concepts, or just to think out loud.

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

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

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

A brief introduction to Ruby’s lightweight concurrency primitive.

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,...

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 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 on Rails
Added: 10 Nov 2021
Lesser Known PostgreSQL Features

Features you already have but may not know about!

Added: 09 Nov 2021

Week 2021-44

Airbnb Open Sources Ottr: a Serverless Public Key Infrastructure Framework

Airbnb announced that it has open-sourced Ottr, a serverless public key infrastructure framework developed in-house. Ottr handles end-to-end certificate rotations 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
Complexity is killing software developers

The growing complexity of modern software systems is slowly killing software developers. How can you regain control, without losing out on the best these technologies have to offer?

Added: 04 Nov 2021
DOOM Rendered via Checkboxes

WebAssembly meets 16000 HTML checkboxes.

Added: 04 Nov 2021
Lights, camera, TESTS!

What do Tom Hanks, Meryl Streep, Julia Roberts, and Brad Pitt have in common? They all, at one time or another, used stunt doubles for…

Ruby on Rails
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
Peeking through logs - Asylum

Brace yourselves, for what follows is a recount of a case I've helped solve where the initial attack was performed via a carefully crafted syslog message and a tiny bit of social engineering.

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

We’re all familiar with the concept of autocompletion, right? You type something into a search box and it tries to guess what you’re looking for as you type, displaying suggestions, often below the…

Added: 03 Nov 2021
How we build software at Cloudflare

Cloudflare has a broad range of products -- ranging from security, to performance and serverless compute. These products are built by multiple teams in close collaboration and delivering those products can be a complex task. So ever wonder how we do so consistently and safely at scale?

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

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

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

Why good code needs defending Good code quite frequently comes under fire. Managers explicitly or implicitly pressure developers to cut 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
BBC Online: Architecting for Scale with the Cloud and Serverless

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

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

With screens available in any size you can imagine, it's time to shift our approach towards responsive design – the 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
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

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

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

Added: 29 Oct 2021
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 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
Added: 22 Oct 2021
Git Bisect: travel through time and bugs - Remi Mercier - Maker & Rails Developer

No matter how thorough your test coverage is, you can't test everything. So when you introduce a bug in your application, git bisect will help you zero in on your regression's origin.

Added: 22 Oct 2021
FOSS Like A Boss

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

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
Why solve a problem twice? Design patterns let you apply existing solutions to your code

Software design patterns are like best practices employed by many experienced software developers. You can use design patterns to make your application scalable and flexible.

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

How Rust developers are making the web safer

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

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

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

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
Doist redesigns Twist, the Slack alternative focused on async work – TechCrunch

Doist, the company behind Todoist and Twist, has revamped its internal communication product Twist. When I first covered Twist, I said it was like Slack without the annoying distractions. With today’s redesign, the company is doubling down on that idea. The result is an opinionated tool for interna…

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
Why Women Don’t Apply for Jobs Unless They’re 100% Qualified

It’s not because they lack confidence.

Added: 14 Oct 2021
The Rails Style Guide

The guide is separated into several sections of related rules. I’ve tried to add the rationale behind the rules (if 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

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
6 tips for mentoring junior engineers

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

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

Scaling Rails apps is a process of master app architecture and supporting infrastructure. Learn how it’s done straight from our 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
Creating a Continuous Deployment workflow using Github Actions to deploy your application to ECS

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

Added: 07 Oct 2021

It's fairly common when working on existing or legacy codebases to find models that have instance methods defined on them 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).

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

Footnotes now supported in Markdown fields

Added: 06 Oct 2021
Trunk-based Development | Atlassian

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

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

Added: 04 Oct 2021

Week 2021-39

Rails Testing Antipatterns: Fixtures and Factories

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

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

Below is how I set up a fresh Rails application for testing. I’ll describe it in three parts: An application template that can add all the necessary gems and configuration My setup process (commands I run to create a new Rails app) A breakdown of the gems I use Let’s start with the application template. …

Added: 01 Oct 2021
Custom Form Handling With Turbo

Turbo will be a default part of Rails from Rails 7, replacing Turbolinks and rails-ujs. This post is a result of time I spent digging into…

Added: 01 Oct 2021

I just write here

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

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

Added: 01 Oct 2021
Disable-With Using StimulusJS

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

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

If someone steals your password, they can pretend to be you. That's why many companies provide two-factor or multi-factor authentication 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
Web Streams Everywhere (and Fetch for Node.js)

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

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

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

Added: 29 Sep 2021
The Curse of Knowledge

Ever played Charades and acted out the perfect mime to ‘James Bond’, only to be met with blank stares? That moment when you wonder “Are my friends fools!?”, that’s the curse of knowledge.

Added: 28 Sep 2021

Week 2021-38

Building with Stencil: Countdown Tracker - Ionic Blog

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

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

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

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...

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

Simplify and clarify your code by carefully choosing abstractions.

Added: 24 Sep 2021
Action Mailbox: The Missing Manual

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

Added: 23 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
How We Got to LiveView

I'm Chris McCord. I work at Fly.io and created Phoenix, an Elixir web framework. Phoenix provides features out-of-the-box that are difficult in other languages and frameworks. This is a post about how we created LiveView, our flagship feature.

Added: 23 Sep 2021
Do you really need that fancy JavaScript framework?

People are going crazy about single page applications and client side rendering. But, do we really need them?

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.

Added: 22 Sep 2021

Today I wanted to call some extra attention to those little things, the ones that don't get the spotlight, but simply make a developer's life better.

Added: 22 Sep 2021
How To Structure Your Git Branching Strategy — By A Data Engineer

Data pipelines require version control too!

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

Added: 17 Sep 2021
Pico.css • Minimal CSS Framework for semantic HTML

Elegant styles for all natives HTML elements without .classes and dark mode automatically enabled. 7.9 kB minified and gzipped!

Added: 17 Sep 2021
Hotwire: Typeahead searching

Build a search-as-you-type text box with Turbo, Stimulus, and Rails.

CSS 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...

Added: 17 Sep 2021
5 Hidden Firefox Features You Should Be Using

Firefox is a popular browser choice, so here are five hidden features that you should be using to supercharge your experience.

Added: 17 Sep 2021
Every engineer should do a stint in consulting

I will die on this hill.

Added: 16 Sep 2021
Hotwire: Server-rendered live previews

Turbo-charge your Article drafting feedback cycle with Hotwire-powered live previews.

Added: 15 Sep 2021
Ship / Show / Ask

Ship/Show/Ask is a branching strategy that helps teams wait less and ship more, without losing out on feedback.

Added: 15 Sep 2021
Building with Stencil: Audio Player Component - Ionic Blog

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

Added: 13 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...

Added: 13 Sep 2021

Week 2021-36

Background sync in Progressive web apps (PWA) - Vijay Thirugnanam

Progressive web app (PWA) behaves more like a regular app in devices. This article shows how to implement background sync in an example PWA.

Added: 11 Sep 2021
How to build a search engine with Ruby on Rails

Implementing search in your Rails app can be vexing. Here's a great pattern to use that combines the best parts of ActiveRecord and Postgres.

Added: 10 Sep 2021
Full Text Search in Milliseconds with Rails and PostgreSQL

This article shows how to optimize a Full Text Search implementation with Rails and PostgreSQL, taking a single query from 130ms to 7ms.

Added: 10 Sep 2021
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

Added: 09 Sep 2021
Real-time stress: AnyCable, k6, WebSockets, and Yabeda — Martian Chronicles

Introducing a k6 plugin to load test WebSockets and instrumenting the application under test with Yabeda, Prometheus and Grafana

Added: 07 Sep 2021
Code runs on people

I wrote this a couple of years ago in another context, but it looks like it's still just as applicable today, so I decided to bring it out from behind the permission curtain. This originally was only visible to coworkers who happened to look at my feed. Now it isn't.

Added: 07 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

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.

Added: 04 Sep 2021

I recently added hotwire to my pet project snippetsafe and wanted to see if I could replace the infinite scroll functionalities for the snippet feeds without using any custom javascript at all. I'm happy to say that I succeeded and in this post I'm going to share how.

Added: 04 Sep 2021
Supercharging Built-In Elements With Web Components

We’ve already discussed how creating web components is easier than you think, but there’s another aspect of the specification that we haven’t discussed

Added: 04 Sep 2021
ECMAScript 2021 (ES12) new features

ECMAScript, the standardized version of JavaScript is increasing its popularity and is becoming...

Added: 04 Sep 2021
The new GitHub Issues - 09/03 update

The new GitHub Issues - 09/03 update

Added: 04 Sep 2021

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.

Added: 03 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
INSTAD.IO - Free image tracer,color vectorizer with hand-drawn styling.

Turns jpeg, png and vector images into a hand-drawn look in a click.

Added: 01 Sep 2021
React Native's Many Platform Vision · React Native

React Native has been very successful at raising the bar for mobile development, both at Facebook and elsewhere in the industry. As we interact with computers in new ways and as new devices are invented, we want React Native to be there for everyone. Although React Native was originally created to build mobile apps, we believe that focusing on many platforms and building to each platform’s strengths and constraints has a symbiotic effect. We have seen huge benefits when we extended this technology to desktop and virtual reality, and we're excited to share what this means for the future of React Native.

Added: 01 Sep 2021
Advanced Active Record: Using Subqueries in Rails

Active Record lets you access raw SQL. We look at 5 business requests for data, translate them into SQL, then into Rails code to find the requested data.

Added: 01 Sep 2021
First days, first client as a software consultant

Software development consulting may sound challenging, but there's also growth, support and ownership in how we consult at Test Double.

Added: 30 Aug 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.

Added: 30 Aug 2021
Compress Your HTML Responses

Heroku doesn't compress your applications’s responses, you should.

Added: 30 Aug 2021

Week 2021-34

Lefthook, Crystalball, and git magic for smooth development experience

Learn how to make git hooks to do most routine tasks for you: install gems, migrate the database, run tests, and linters.

Added: 27 Aug 2021
Rails encrypted credentials on 6.2

Learn about encrypted version introduced with 5.1 to handling multi-environment credentials before rails 6 to Handling multi-environment credentials in rails 6 here

Added: 25 Aug 2021
Responsible Monkeypatching in Ruby

Monkeypatching can be a great way to improve existing code if used right. Let's find out how.

Added: 25 Aug 2021
This Is How to Build a Collaborative Text Editor Using Rails

It is a painful realization. You just added a beautiful, multi-page description into your bug tracker’s text editor, complete with photos and a short screencast. Then your co-worker, who left their window open when they went to lunch, helpfully fixes a typo… and overwrites everything you just did. Poof — all that work, gone.

Added: 25 Aug 2021
We Work Remotely | 9 Virtual Meeting Alternatives To Avoid Zoom Fatigue

These virtual meeting alternatives keep remote teams productive and collaborative while helping everyone avoid the dreaded Zoom fatigue. See the list now!

Added: 25 Aug 2021

Rails 7 is taking up speed. There is no beta out yet, but a lot of features, especially in ActiveRecord are available, if one want’s to wade through the Changelogs.

Added: 25 Aug 2021
Dealing With GitHub Password Authentication Deprecation

Don’t wait until the last day to update your GitHub authentication method

Added: 24 Aug 2021

Week 2021-33

How writing can advance your career as a developer

“In their first few years on the job, engineers spend roughly 30% of their workday writing, while engineers in middle management write for 50% to 70% of their day; those in senior management reportedly spend over 70% and as much as 95% of their day writing.” - Jon Leydens

Added: 20 Aug 2021
HEY-inspired Pop-ups Using Hotwire

Disclaimer: It should be noted that the provided HTML fails to implement the necessary ARIA...

Added: 20 Aug 2021
Beyond Coupling and Cohesion: Strategies For Un-F*cking Yourself

This post belongs in the ‘highly speculative’ category. It contains ideas that I’ve yet to flesh out and properly pin down. Reader beware!

Added: 19 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

Added: 18 Aug 2021
Star Rating: An SVG Solution - Ahmad Shadeed

An exploration of how to implement a star rating with SVG that includes half a star.

Added: 18 Aug 2021
Refactoring Legacy Code with the Strangler Fig Pattern

There are strategies for reducing the size and responsibilities of large objects. Here’s one that worked for us at Shopify, an all-in-one commerce platform supporting over 1M merchants across the globe.

Added: 18 Aug 2021
CSS accent-color

Bring your brand color to built-in HTML form inputs with one line of code.

Added: 18 Aug 2021
How to Create Postgres Indexes Concurrently in ActiveRecord Migrations

By default, Postgres locks writes (but not reads) to a table while creating...

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...

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.

Added: 12 Aug 2021

©2021 Marco Colli, Founder / CTO @ Pushpad - Web Push Notifications

Added: 12 Aug 2021
How We Design Our APIs at Slack - Slack Engineering

More than five years ago, we launched the Slack Platform, giving developers an easy way to build apps in Slack and publish them in our App Directory. Today, millions of users bring their work into Slack, and those apps built by over 885,000 active developers on the platform are key to further improving collaboration in …

Added: 12 Aug 2021
5 Best JetBrains Extensions for Refactoring & Code Quality🏆

If you care about code quality — then these 5 JetBrains IDEs Plugins are for you! They'll help you...

Added: 12 Aug 2021
The Future Of The Web

The web as we know it is changing, it's turning from being static, single-player, and centralized to being immersive, multi-player, and decentralized.

Added: 11 Aug 2021
Date-fns vs MomentJS: Choosing the Right Date Utility Library

Comparing popular JavaScript date libraries.

Added: 11 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.

Added: 11 Aug 2021
Don’t call a new version of something ”new” when refactoring

A opinionated naming subtlety

Added: 11 Aug 2021
Gateway

An object that encapsulates access to an external system or resource

Added: 11 Aug 2021
Building with Stencil: Tabs - Ionic Blog

As user interfaces (UI) go, tabs are a particularly useful pattern. The word “tab” invokes images of beige manila file folders. Early UI mimicked this physical property by placing buttons along the top of a dedicated space. Mobile devices, with their confined spaces, find the tab pattern in accordions, bottom button bars, and more. In […]

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.

Added: 10 Aug 2021
How I Failed With My Recent SaaS Product

When I was introduced to programming, I fell in love with it. The idea of changing the world just by...

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.

Added: 09 Aug 2021

User experience bullshit for everyone!

Added: 09 Aug 2021
Design Vault

UI interaction patterns & screenshots from the world's best digital products.

Added: 09 Aug 2021
Some lesser known TypeScript notation

Exclamation mark notation and casting as unknown

Added: 09 Aug 2021

Week 2021-31

A framework for building Open Graph images | The GitHub Blog

We recently set about creating a framework and service for automatically generating social sharing images for repositories and other resources on GitHub.

Added: 07 Aug 2021
How to Write and Use Express Middleware

The entire idea of middleware is to execute code before the controller action that sends the response and after the server gets the…

Added: 05 Aug 2021
Setting Up Rails 6.1 + Tailwind CSS 2.2 with JIT

I’m going to show you how to create a project with Rails 6.1 and its default Webpacker version (4.5), and configure Tailwind CSS with its…

Added: 05 Aug 2021
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...

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.

Added: 05 Aug 2021
6 reasons to use Tailwind over traditional CSS

1. Tiny bundle size = incredible performance When in development mode, the size of Tailwind's output...

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...

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

Added: 05 Aug 2021
Store translations inside database with Globalize - Lokalise Blog

Learn about localization library called Globalize. Store your translations in Globalize and see it in action by creating a sample Rails application.

Added: 05 Aug 2021
Build the React Native Deployment Pipeline of Your Dreams in 1 Hour with Fastlane, Circleci, Codepush and Appcenter.

How is this tutorial different? It's a modus operandi. This tutorial will make your React Native deployment pipeline completely operational…

Added: 04 Aug 2021
Why I had to break up with the famous F-pattern in UX and move on?

Disclaimer: You can find a friendly conversational style in my articles and it is intended for the sole purpose of making learning fun. Hey! Before you judge and start throwing rotten tomatoes at me…

Added: 03 Aug 2021
GitHub - dcyoung-dev/hotwired_pages

Contribute to dcyoung-dev/hotwired_pages development by creating an account on GitHub.

Added: 03 Aug 2021
FIT: Failure Injection Testing

we enjoy deliberately breaking things to test our production systems

Added: 02 Aug 2021
Uber’s $2.94 Billion Insurance Unit Illuminates Challenge of Disruptive Businesses

As Uber’s offerings extend to include freight, autonomous vehicles and electric scooters, among others, its insurance needs are expected to grow as well, Uber said in regulatory filings announcing its initial public offering.

Added: 02 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...

Added: 28 Jul 2021
ES2021 features list

ES2021 as approved by the Ecma General Assembly

Added: 28 Jul 2021
Using BLoC Pattern with React

Make Your Business Logic Independent From UI Components

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

Added: 27 Jul 2021
5 Must-Read Books for Every Software Engineer

If you are serious about getting better at programming, you need to read these books

Added: 27 Jul 2021
How I Built a Cross-Platform Desktop Application with Svelte, Redis, and Rust

At Cloudflare, we have a great product called Workers KV which is a key-value storage layer that replicates globally. It can handle millions of keys, each

Added: 27 Jul 2021
HTTP server in Ruby 3 - Fibers & Ractors

This is part #2. Head over to part #1 to learn about HTTP in Ruby. Motivation Historically Ruby's been lacking in the concurr...

Added: 27 Jul 2021
(Ab)Using Single Table Inheritance to Refactor Fat Models

How to deal with a model that tries to do too much? Consider something like this:

Added: 27 Jul 2021
Setup Factory Bot In Rails - The Dev Post

Factory Bot is a library for setting up test data objects in Ruby. And this tutorial shows how to setup factory bot in Rails.

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

Added: 24 Jul 2021
Refactoring CSS: Introduction (Part 1) — Smashing Magazine

CSS refactoring is not an easy task — it needs to be done in a way that doesn't create problems. First we need to analyze the existing codebase, audit CSS codebase health, discover weaknesses, agree on the approach, and convince management to invest time and resources into the process.

Added: 24 Jul 2021

Tangram is an all-in-one automated machine learning framework.

Added: 22 Jul 2021
The Gnar Blog - Validate CSV Input With ActiveModel::Validations

Ramblings from The Gnar Company team on all things tech, culture, and process.

Added: 22 Jul 2021
Building with Stencil: Calendar Component - Ionic Blog

Learn how to create a calendar component with Stencil in this Building with Stencil blog series. Check out our other docs to get started.

Added: 22 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

Added: 22 Jul 2021
Extensible mobile app debugger | Flipper

Flipper aims to be your number one companion for mobile app development on iOS and Android. Therefore, we provide a bunch of useful tools including a log viewer, interactive layout inspector, and network inspector.

Added: 20 Jul 2021
Rails 7.0 adds encryption to Active Record models

Rails 7 series | Rails 7.0 adds encryption to Active Record models

Added: 20 Jul 2021
Snaplet

On the other hand, you can download a copy of a production database which has happened in every company Ive worked at, including GitHub, and run it on a local developer laptop. And that’s bad for lots of reasons too right? It’s really big, it’s really slow. In a lot of cases you can debug data, but you have personal identifiable information on everybody’s laptop and that’s really not ideal.

Added: 20 Jul 2021
Routing the technical interview

“Yes,” she responded, “I am very excited about this position.”

Added: 20 Jul 2021
Data Migrations in Rails

A discussion about the reasons for using Active Record migrations vs. temporary rake tasks for data manipulations.

Added: 19 Jul 2021
We Need to Abolish Pair Programming | Hacker Noon

The actual intent of pair programming is based on an impossibility - that two people work together on the same computer.

Added: 19 Jul 2021

Week 2021-28

Technical articles and how to use MongoDB features

Added: 18 Jul 2021
Improve Ruby on Rails App Development Performance in 5 simple ways

Improve your Ruby on Rails application development performance using these 5 simple ways and take your RoR app development lifecycle to the next level.

Added: 18 Jul 2021
Access Guide

Access Guide is a friendly introduction to digital accessibility based on WCAG 2.1

Added: 17 Jul 2021
The unexpected benefits of mentoring others - Stack Overflow Blog

At some point in your career, you may well be advised to seek out a mentor. However, the benefits of being a mentor are often overlooked.

Added: 17 Jul 2021
Ruby Weekly Issue 561: July 15, 2021

Fast Redis Hosting and Analytics — RedisGreen databases include seamless online upgrades, SSL encryption, key size tracking, memory mapping, and more. RedisGreen sponsor

Added: 16 Jul 2021
ClosureTree/closure_tree

Easily and efficiently make your ActiveRecord models support hierarchies - ClosureTree/closure_tree

Added: 16 Jul 2021
What really happened in Iceland’s four-day week trial

The success of the trial made global headlines. But the actual results tell a more complex story

Added: 13 Jul 2021
Adding support for cross-cluster associations to Rails 7 | The GitHub Blog

At GitHub, we recently added a new feature to Rails that will be available in 7.0: support for handling associations across database clusters.

Added: 13 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.

Added: 12 Jul 2021
How our development team improved through mentorship 🧑🏼‍🏫📓🧑🏾‍💻

Through my experience in the IT industry, I have experienced on my own that a high-quality mentorship...

Added: 12 Jul 2021
Top 10 Coding Principles Every Developer Must Know

Hello, buddies! I would like to get into our topic without wasting time. It's easy to write code....

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…

Added: 12 Jul 2021
Modern Web Applications with Hotwire

Why use Hotwire? Rails views can sometimes be fast and work perfectly, but some other...

Added: 12 Jul 2021
15 Custom Hooks to Make your React Component Lightweight

Here are the 15 custom hooks to make your React component lightweight

Added: 12 Jul 2021
Refactoring Your Rails App With Service Objects

Rails apps tend to start simple, with clean models and controllers. Then you start adding features. Before you know it, your models and controllers are big, unwieldy, and hard to understand. Refactoring into service objects is a great way to split these big pieces up, so they're easier to underst...

Added: 12 Jul 2021
How to have a productive programming day - Code with Jason

Why productivity is desirable The way I look at productivity is this: if I have to be at work all day, I might as well get as much done in that chunk of time as I can. It’s not about running myself ragged. It’s not about “hustling”. It’s simply about not being wasteful with my …

Added: 12 Jul 2021
How To Securely Handle Webhook Events From Stripe In Ruby On Rails Application?

Want to know how to securely handle webhook events from Stripe in Ruby on Rails application? Here’s a complete guide on how to easily achieve that.

Added: 12 Jul 2021

Week 2021-27

The Best Social Media Report Template for Social Media Managers [2021 Version]

Two of the most common questions we hear from our social media consulting clients are “what is the best social media report template?” and “what data

Added: 08 Jul 2021
Managing SSH Access at Scale with HashiCorp Vault

Learn how to build scalable, role-based SSH access with SSH certificates and HashiCorp Vault.

Added: 08 Jul 2021
The Pomodoro technique

You must have heard about it a lot. You must have tried. You may have found it too much. You may have...

Added: 08 Jul 2021
How keeping a sketchbook can make you a better developer

If you're not used to practicing visual art, the idea of keeping a sketchbook might seem pretty...

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...

Added: 07 Jul 2021
Hanami architecture explained

People ask me about the simple explanation of Hanami architecture. Why is it so complicated? Is it? I'll try to explain it in simple words.

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...

Added: 07 Jul 2021
Learn Ruby on Rails Best Practices With One Exercise

You're craving some squeaky-clean code, but all you have for lunch every day is a big bowl of legacy spaghetti code. Here's one way to change that.

Added: 07 Jul 2021
General Ruby on Rails Problems and Takeaways

In this last part of the Rails Patterns and Anti-patterns series, I'll be going over the most common problems I've encountered while building and shipping Ruby on Rails applications.

Added: 07 Jul 2021
The Future of Stencil: Expanded Team, New Software Platform, and More - Ionic Blog

Ionic is doubling down on Stencil with an expanded team, new enterprise offerings, and new development work underway on the core open source project.

Added: 07 Jul 2021
Active Record Encryption

We take a look at how to use Active Record Encryption and discuss some of its assets and limitations.

Added: 07 Jul 2021
Under the hood of the includes method in Rails

Understand the way ActiveRecord is working

Added: 06 Jul 2021
Rails 7 adds previously_persisted? method to ActiveRecord

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

Added: 06 Jul 2021
Which Is the Better IOS and Android Framework – Ionic or React Native?

Ionic vs React Native,React Native vs Ionic,Comparing Cross-Platform Frameworks,Which mobile framework to choose,Xamarin vs Ionic vs React Native

Added: 06 Jul 2021
Contextual validations with ActiveRecord

Oftentimes we need contextual validation in ActiveRecord models and find no ideal way of doing so. This article exposes an elegant…

Added: 06 Jul 2021
Transactional Outbox: What is it and why you need it?

Receiving a request, saving it into a database, and finally publishing a message can be trickier than expected. A naive implementation can either lose...

Added: 05 Jul 2021
The 15 Best Free Calligraphy Fonts for Designers

A collection of high-quality and free calligraphy fonts that you can use on both your personal and commercial projects.

Added: 05 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…

Added: 04 Jul 2021
Star-Rating Using A Single Input

Yesterday I read InhuOfficial's post about star-rating, using a group of <input...

Added: 04 Jul 2021
How to Use Rails Validation Helpers

In this blog I wanted to focus on using validations in rails. What exactly are validations and why should we as programmers incorporate…

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!

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...

Added: 02 Jul 2021
Project Fugu: 5 new APIs to try out in your PWA - LogRocket Blog

Learn about five new APIs that have recently been shipped from Project Fugu to help developers build full-featured apps on the web.

Added: 01 Jul 2021
Cool APIs you might not know about 😎

Here are some cool APIs you might not know about. They are all free to use for no comercial...

Added: 01 Jul 2021
Git Merge vs Rebase

An FAQ that explains and answers when to use which and why. There's a common discussion among...

Added: 01 Jul 2021
GitHub Copilot · Your AI pair programmer

GitHub Copilot works alongside you directly in your editor, suggesting whole lines or entire functions for you.

Added: 01 Jul 2021
Node.js Best Practices for Beginners and Experts Alike

Today, we will discuss some useful Node.js best practices that will help all kinds of developers to create an efficient and sustainable…

Added: 01 Jul 2021
AppleAuth: Ruby Gem for Apple Sign in Rails Integration – Rootstrap Blog

AppleAuth is a Ruby gem we developed to integrate Apple Sign In in our server side applications.

Added: 01 Jul 2021
Geri Reid - Forms best practice

My research insights and thinking on form design

Added: 01 Jul 2021
Recurring Subscriptions in One Day with Rails

An example of adding recurring Stripe subscriptions into your Rails SaaS app quickly and efficiently.

Added: 01 Jul 2021
How does the new Azure Communication Services implement WebRTC? (Gustavo Garcia) - webrtcHacks

Walkthrough and deep analysis of how Azure Communications Service makes use of WebRTC by Gustavo Garcia

Added: 01 Jul 2021
Building a Rails CI pipeline with GitHub Actions

GitHub Actions is an automation platform that you run directly from inside a repository. We can use it as a testing CI/CD pipeline and keep everything close to the code.

Added: 01 Jul 2021
stimulus-use/stimulus-use

A collection of composable behaviors for your Stimulus Controllers - stimulus-use/stimulus-use

Added: 01 Jul 2021
Utility Classes I Have Known and Loved

These are my favorite CSS utility classes. I take them everywhere.

Added: 01 Jul 2021
Embracing Perspectives with the Rails Router

One of my favorite parts of Rails is the router.

Added: 01 Jul 2021
Move From Sprockets to Webpacker On Small to Large Rails Apps

Want to remove Sprockets from your Rails application? Is it even possible to do it on a large legacy app? Here's a list of examples to help you depending on the size and complexity of your project.

Added: 01 Jul 2021
Google-like letter avatars using ERB-generated SVGs - kukicola.io

Creating user avatars is a pretty simple thing. It can be done even without any libraries like imagemagick. With just ERB we are able to quickly generate SVG avatars that will work in all browsers.

Added: 01 Jul 2021
Rails 7 adds AudioAnalyzer to ActiveStorage

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

Added: 01 Jul 2021
thoughtbot/suspenders

A Rails template with our standard defaults, ready to deploy to Heroku. - thoughtbot/suspenders

Added: 01 Jul 2021
How GitHub uses GitHub to plan and track work

Hear directly from the Product Manager of Issues on how her team takes an idea to the cloud. You’ll get an overview of how labels, milestones, project boards, and references can bring this process to life on the GitHub platform, and learn some tips for how to make the most of tools.

Added: 01 Jul 2021
Ruby-on-Rails SDK– Upload + Image, Video Transformations | Cloudinary

Learn how to upload files with only a few lines of Ruby code, including cloud storage, CDN delivery, and dynamic effects for images and media.

Added: 01 Jul 2021
Simple sprint management designed for modern teams

The smart and free Jira alternative, designed to help teams move faster in product development. Brilliantly simple, with zero setup required.

Added: 01 Jul 2021
Use GitHub Actions for Rails CI with Postgres

Updated for 2021: So many commits to get here

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.

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
Dos and Don’ts of Pair Programming - Study Suggests Togetherness and Expediency for Good Sessions

A recent study by researchers from the Institute of Computer Science of the Free University of Berlin analyzed pair programming (PP) sessions from 13 companies. The study concluded that togetherness and expediency associate with good pair programming sessions.

Added: 01 Jul 2021
rubycdp/vessel

Fast high-level web crawling Ruby framework. Contribute to rubycdp/vessel development by creating an account on GitHub.

Added: 01 Jul 2021
Headless WYSIWYG Text Editor

tiptap gives you full control about every single aspect of your text editor experience. It’s customizable, comes with a ton of extensions, is open source and has an extensive documentation. Join our welcoming community and start building cool things!

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.

Added: 01 Jul 2021
Crystal

Livestreamed on 8 July 2021, 12:30pm – 9:30pm UTC

Added: 01 Jul 2021
Did You Get My Slack/Email/Text?

There are too many ways to communicate at work. Let’s set some ground rules.

Added: 01 Jul 2021
Rails 6.1 new framework defaults: what they do and how to safely uncomment them

When you run rails app:update on a Rails 6.0 app, it creates a file with 16 new default configuration settings. Here’s what they do and…

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

Added: 01 Jul 2021
Making Hotwire play nice with ViewComponent

Have you ever wondered if you could use hotwire with view_component instead of partials. If you have, maybe tried and failed, welcome here. By default hotwire is made to work with partials, which is the built in way to extract 'components' in the con...

Added: 01 Jul 2021
How to build a read model with Rails Event Store Projection

Recently I faced interesting challenge in one of our customer’s application. Imagine that you take a test after which you get a personalised reports about your skills level. Existing mechanism for that was time and resource consuming. People had to wait for e-mail delivery with PDF-generated report several hours due to several constraints, which I would prefer not to dive into.

Added: 01 Jul 2021
The Ruby Unbundled Series: Track How Customers Use New Features

Use the Ruby gems ahoy and blazer to track user metrics, usage patterns, and get the most out of your new application features

Added: 01 Jul 2021
Upgrade Rails From 6.0 to 6.1 - FastRuby.io | Rails Upgrade Service

This article is part of our Upgrade Rails series. To see more of them, click here.This article will cover the most important aspects that you need to know to getyour Ruby on Rails application from version 6.0 to 6.1.

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

Added: 01 Jul 2021
Sudoku Generator Algorithm | 101 Computing

Your task is to design an algorithm used to create a Sudoku Grid. The generated Sudoku grid should have enough clues (numbers in cells) to be solvable resulting in a unique solution. Sudoku? A Sudoku game is number-placement puzzle. The objective is to fill a 9×9 grid with digits so that each column, each row, and each of the nine 3×3 subgrids that compose the grid (also called "boxes", "blocks", or "regions") contain all of the digits from 1 to 9. The puzzle setter provides a partially completed grid, which for a well-posed puzzle has a single solution. Our aim for this challenge is not to generate a Sudoku solver algorithm but instead to create an algorithm to be used by a puzzle setter to produce a well-posed Sudoku grid: a grid with a unique solution. For instance the output of our algorithm could be a grid such as this one: Did You Know? Sudoku fanatics have long claimed that the smallest number of starting clues a Sudoku puzzle can contain is 17. There are effectively numerous

Added: 01 Jul 2021
PWAs as URL Handlers

After registering a PWA as a URL handler, when a user clicks on a hyperlink that matches one of the registered URL patterns, the registered PWA will open.

Added: 01 Jul 2021
Handheld barcode scanners with Turbo-iOS 📦

How to add support for handheld barcode scanners using Swift in your Turbo-iOS app

Added: 01 Jul 2021
Protecting ActiveStorage Uploads • Blogging On Rails

ActiveStorage is a great addition to Rails. However, if need to protect uploads through a means more secure than the security by obscurity provided by the redirect service, you need to write your own controller. Setup a demo If you don’t have an existing app using Rails 6.1, you can follow these steps. Otherwise skip […]

Added: 01 Jul 2021
About issue and pull request templates - GitHub Docs

With issue and pull request templates, you can customize and standardize the information you'd like contributors to include when they open issues and pull requests in your repository.

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.

Added: 01 Jul 2021
Why senior engineers get nothing done | Swizec Teller

You start a new job and it's amazing. Code all day, clear objectives, easy guidelines, ship a bunch of features be a hero. Then something happens and suddenly you get nothing done. 🤔

Added: 01 Jul 2021
How to Use Mixins and Modules in Your Ruby on Rails Application

Find out how to create and mix modules into other classes and discover what are the benefits from using them in a Ruby on Rails application.

Added: 01 Jul 2021
Scoping records to the current account in Ruby on Rails applications

In most web applications a user can sign up for an account and create content with that account. A common requirement is that users can…

Added: 01 Jul 2021
Creating a Killer GitHub Profile README Part 1

README's. You know, those markdown files that get created when you generate a new project or create a...

Added: 01 Jul 2021
Building a sidenav component

A foundational overview of how to build a responsive slide out sidenav

Added: 01 Jul 2021
Home

Design your service using GOV.UK styles, components and patterns

Added: 01 Jul 2021
Built-in Browser Support for Responsive Images - HTML5 Rocks

Take advantage of the new element and new features of in your next responsive website.

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...

Added: 01 Jul 2021
10 easy tricks to improve your website design — Part 2

From Blender to the Evil Yellow, let’s find out another list of 10 tips.

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.

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

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
Avoiding Worry Driven Development

Sofware dysfunction is more often motivated by worry than it is by a lack of technical skill

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...

Added: 01 Jul 2021
Real-Time Command Line Applications with Action Cable and Thor

If you build a Rails application that has any kind of real-time feature, chances are you use Action Cable.

Added: 01 Jul 2021
Rails 7 ActiveJob adds the ability to communicate enqueue failures to callers

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

Added: 01 Jul 2021
What's Cooking in Rails 7?

Now that Rails 6.1 has been released, we are looking ahead to what Rails 7 has in store for us.

Added: 01 Jul 2021
Heroku Security: Securing your Heroku application - Sqreen Blog

This post acts as a blueprint for Heroku security. It addresses how security works in PaaS and where to start with securing your application.

Added: 01 Jul 2021

Ruby, OSS and the Internet

Added: 01 Jul 2021
What is Mentorship in Web Development | How to Find a Coding Mentor

What is mentorship and how does it relate to web development? Is mentorship really a necessity or something you can do without? Where can you find a perfect coding mentor? And is there such a thing as a ‘perfect coding mentor’ anyway? In this piece, we’ll answer all of those questions.

Added: 01 Jul 2021
vmg/redcarpet

The safe Markdown parser, reloaded. Contribute to vmg/redcarpet development by creating an account on GitHub.

Added: 01 Jul 2021
The L in SOLID - The Lean Software Boutique

This post is the third one in the SOLID principles series. The first post discussed the single responsibility principle and in the second post we discussed the open / closed principle. Next, as the title suggests, we will take a look at the principle represented by the letter L from...

Added: 01 Jul 2021
Jekyll & GitHub Actions

The standard GitHub Pages process imposes limitations on which Jekyll plugins we can use. Let’s avoid this issue using GitHub Actions…

Added: 01 Jul 2021
maaslalani/slides

Terminal based presentation tool. Contribute to maaslalani/slides development by creating an account on GitHub.

Added: 01 Jul 2021
MIDIBlocks/handsfree

Quickly integrate face, hand, and/or pose tracking to your frontend projects in a snap ✨👌 - MIDIBlocks/handsfree

Added: 01 Jul 2021
“Friends” (Undirected Graph Connections) in Rails | Viget

Social relationships are tricky to model in a relational database. Here, we'll walk through an approach that is robust, easy to query, and avoids data duplication.

Added: 01 Jul 2021
Automating Screen Reader Testing On macOS Using Auto VO — Smashing Magazine

Automated testing is an important part of any software project, including testing for accessibility. There are already tools for linting and integration testing accessibility, but what about end-to-end testing with real assistive technology? Since I hadn’t seen this before, I set out to build Auto VO, a driver for the VoiceOver screen reader.

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.

Added: 01 Jul 2021
Blocks, Procs, and Enumerable

A look under the hood at how blocks and procs are used in Ruby.

Added: 01 Jul 2021
How to implement Rails API authentication with Devise and Doorkeeper

Ruby, Rails, Web dev articles

Added: 01 Jul 2021