Articles that I have been reading

Week 2024-51

Going native with ActionMailbox

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

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

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

BestPractices Rails Refactoring Ruby on Rails RubyOnRails WebDevelopment
Added: 18 Dec 2024
How to Customize Rails Form Error Handling

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

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

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

ConfigurationManagement Credentials Rails8 Ruby on Rails security WebDevelopment
Added: 18 Dec 2024
Ryan Bigg - Scoping an Active Record join

Scoping an Active Record join

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

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

Caching Frontend Javascript PWAs Ruby on Rails RubyOnRails ServiceWorkers WebDevelopment
Added: 18 Dec 2024

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

Backend BillingIntegration Frontend Payments Ruby on Rails RubyOnRails SaaS Stripe WebDevelopment
Added: 17 Dec 2024

Week 2024-50

How to Design UI Forms in 2024: Your Best Guide

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

BestPractices Design FormDesign Frontend MobileOptimization Ruby on Rails UIDesign UserExperience WebDevelopment
Added: 12 Dec 2024
Ender Ahmet Yurt (@enderahmetyurt.com)

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

Javascript RailsTips Ruby on Rails RubyOnRails WebDevelopment
Added: 11 Dec 2024

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

Backend FormHandling Frontend GlobalIDs PolymorphicAssociations Ruby on Rails RubyOnRails security WebDevelopment
Added: 11 Dec 2024
Nested forms with just Turbo Streams

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

Frontend HOTWire NestedForms RailsDevelopment Ruby on Rails RubyOnRails TurboStreams WebDevelopment
Added: 10 Dec 2024
Implementing Multi-Select Enums in Ruby on Rails with PostgreSQL

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

Database DataIntegrity MultiSelectEnums PostgreSQL Ruby on Rails RubyOnRails WebDevelopment
Added: 10 Dec 2024
How to add an RSS feed to a Rails app - Avo

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

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

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

ActiveRecord Backend Consulting NPlus1QueryProblem PerformanceOptimization RailsPerformance Ruby on Rails RubyOnRails WebDevelopment
Added: 10 Dec 2024
Adding Google OAuth in Rails 8

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

Authentication GoogleOAuth Rails8 Ruby on Rails RubyOnRails WebDevelopment
Added: 10 Dec 2024
Solid Cable in Production with Kamal

Solid Cable in Production with Kamal

Backend Deployment Kamal PostgreSQL Ruby on Rails RubyOnRails SolidCable SQLite WebDevelopment
Added: 10 Dec 2024

Week 2024-49

What you need to know about SQLite

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

Backend Database DatabaseManagement DevOps Rails8 Ruby on Rails RubyOnRails SQLite WebDevelopment
Added: 06 Dec 2024
Product management is broken. Engineers can fix it

How we've redefined the PM and engineer relationship

AgileDevelopment Consulting Engineers PostHog ProductManagement RubyOnRails SaaS Soft Skills TeamCollaboration WebDevelopment
Added: 05 Dec 2024
How to serve secure custom domains with Caddy

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

Backend Caddy CustomDomains DevOps Ruby on Rails RubyOnRails SaaS SSLCertificates WebDevelopment
Added: 04 Dec 2024

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

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

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

ActiveModel FormObjects Gem HyperActiveForm Ruby on Rails RubyOnRails WebDevelopment
Added: 02 Dec 2024
Handbook to migrate your Postgres from Heroku to Kamal

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

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

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

ContinuousAggregates DataAnalytics Database ORM Ruby on Rails RubyOnRails TimescaleDB TimeSeries
Added: 02 Dec 2024
Mastering Concerns in Ruby on Rails: A Comprehensive Guide to Modular Code Organization, Security, and Best Practices

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

BestPractices CodeOrganization Concerns Mixins Ruby Ruby on Rails RubyOnRails WebDevelopment
Added: 02 Dec 2024

Week 2024-48

Stimulus Features You (Didn’t) Know

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

Frontend HOTWire Javascript RailsTips Ruby on Rails RubyOnRails Stimulus UIComponents WebDevelopment
Added: 01 Dec 2024
Implementing Passwordless Authentication with WebAuthn in Rails

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

Backend Frontend PasswordlessAuthentication Ruby on Rails RubyOnRails security WebAuthn WebDevelopment
Added: 01 Dec 2024
Hotwire vs HTMX vs Unpoly - Lucas Mendelowski

Hotwire, HTMX, and Unpoly for building modern UIs.

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

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

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

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

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

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

Animation Frontend Phlex Rails Ruby Ruby on Rails TailwindCSS WebDevelopment
Added: 28 Nov 2024
Vector search with Rails and SQLite

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

AI MachineLearning Rails Ruby on Rails RubyOnRails SQLite VectorSearch WebDevelopment
Added: 26 Nov 2024
Building Semantic Search with Rails, OpenAI, and PG Vector

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

AI OpenAI pgvector Rails Ruby on Rails RubyOnRails SemanticSearch WebDevelopment
Added: 26 Nov 2024

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

BestPractices BooleanColumn DataHandling Ruby on Rails RubyOnRails WebDevelopment
Added: 26 Nov 2024
Ultimate Rails Security Guide: Best Practices for Ruby on Rails Applications in 2025

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

Backend BestPractices Cybersecurity RailsSecurity Ruby on Rails RubyOnRails WebApplicationSecurity
Added: 26 Nov 2024
What's new in Rails 8 - Avo

Find out what makes Rails 8 a unique opportunity to

DevOps Rails8 Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
Added: 26 Nov 2024

Week 2024-47

Add meta tags to a Rails application - Avo

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

Frontend MetaTags OpenGraph Rails Ruby on Rails RubyOnRails SEO TwitterCard WebDevelopment
Added: 21 Nov 2024
Productivity isn’t always fast 

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

BurnoutReduction Consulting Productivity QualityOverQuantity RadicalPrioritization SlowProductivity Soft Skills WebDevelopment
Added: 21 Nov 2024
What is a staff engineer? Technical leaders who aren't managers

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

CareerGrowth Consulting EngineeringSalary Soft Skills Staff Engineer StaffEngineer TechnicalLeadership WebDevelopment
Added: 21 Nov 2024
Process slow network requests with Turbo and Active Model

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

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

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

AI CleanCode DeveloperExperience Documentation SoftwareDevelopment TechDebt
Added: 21 Nov 2024
Hotwire Native iOS Part 1

Up and Running with Hotwire Native iOS 1- Setup

Frontend HOTWire iOS NativeDevelopment Rails Ruby on Rails TurboJS WebDevelopment
Added: 21 Nov 2024

Week 2024-46

Rails’ Partial Features You (didn’t) Know

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

Frontend Partials RailsFeatures Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
Added: 14 Nov 2024
Friendly URLs with the FriendlyId gem - Avo

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

Backend FriendlyId FriendlyURLs Packages Ruby on Rails RubyOnRails SEO WebApps WebDevelopment
Added: 12 Nov 2024
Perfecting Your Rails Form: Nested Attributes

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

accepts_nested_attributes_for ActiveModel ActiveRecord address address_attributes Backend FormEnhancements Frontend NestedAttributes RailsForms Ruby on Rails RubyOnRails StimulusJS WebDevelopment
Added: 12 Nov 2024
📩My journey to send 100 mails to 500k effortlessly📩

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

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

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

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

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

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

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

ChatApplication Consulting RealTimeMessaging Scalability SoftwareDevelopment SystemDesign WebSockets
Added: 12 Nov 2024

Week 2024-45

The president's doctor: Why your projects take forever

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

Agile Consulting Kanban Productivity RubyOnRails WebDevelopment WorkflowOptimization
Added: 05 Nov 2024

Week 2024-44

Serving static assets with a CDN in Rails - Avo

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

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

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

ActiveStorage Backend CDNIntegration CloudFront DevOps PerformanceOptimizations Ruby on Rails RubyOnRails WebDevelopment
Added: 03 Nov 2024
S3 uploads with Active Storage guide

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

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

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

Database FullTextSearch MaterializedViews PerformanceOptimization pg_search PostgreSQL Rails Ruby on Rails
Added: 02 Nov 2024
Exploring Campfire Tests

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

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

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

CodingTips Consulting Customization RailsUpgrade Ruby on Rails RubyOnRails WebDevelopment
Added: 31 Oct 2024
Sending Web Push Notifications from Rails

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

Frontend Javascript Notifications Rails8 Ruby on Rails RubyOnRails ServiceWorkers VAPID WebPush
Added: 30 Oct 2024
Keynote: Rails Way or the highway by Evil Martians

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

Backend LayeredDesign OpenSource RailsWay Ruby on Rails RubyOnRails SoftwareDevelopment Staff Engineer
Added: 30 Oct 2024
Tooltip Best Practices | CSS-Tricks

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

aria CSS Frontend Tooltips UXDesign WebAccessibility WebDevelopment
Added: 30 Oct 2024

Week 2024-43

Why you suck at giving feedback

Hint: you need more than good intentions

Communication ConstructiveCriticism Consulting Feedback ProfessionalDevelopment Soft Skills
Added: 25 Oct 2024
TailwindCSS and Rails 8

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

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

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

APIs CodeMaintainability Consulting FacadePattern Ruby on Rails RubyOnRails SoftwareArchitecture Staff Engineer WebDevelopment
Added: 24 Oct 2024
Full-text search with Rails and SQLite

Learn how to use SQLite to do a full-text search with FTS5 and Rails 8 By:Sergio Alvarez

Backend BM25 Database FTS5 FullTextSearch Rails Ruby on Rails RubyOnRails SQLite WebDevelopment
Added: 24 Oct 2024
Adding Page Builder to your Rails app

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

Backend Frontend HTTP Redirect Ruby on Rails RubyOnRails WebDevelopment
Added: 23 Oct 2024
Not another meeting

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

Consulting MeetingCulture Productivity RemoteWork TeamDynamics
Added: 23 Oct 2024
Comparing local-first frameworks and approaches

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

CRDT DataOwnership ElectricSQL Frontend LocalFirst PouchDB UserCentricDesign WebDevelopment
Added: 22 Oct 2024

Week 2024-42

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

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

Database GeoJSON JSON_TABLE Postgres Postgres17 WebDevelopment
Added: 19 Oct 2024
Supercharge the One Person Framework with SQLite | Fractaled Mind

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

DevOps OnePersonFramework Rails8 Ruby on Rails RubyOnRails SoftwareEngineering SQLite WebDevelopment
Added: 19 Oct 2024
Running Rails System Tests with Playwright instead of Selenium

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

Capybara Frontend Playwright Rails Ruby on Rails Selenium SystemTests Testing WebDevelopment
Added: 19 Oct 2024
How Solid Queue works under the hood

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

ActiveJob Backend BackgroundJobs ErrorTracking Ruby on Rails RubyOnRails SolidQueue
Added: 14 Oct 2024

Week 2024-41

Smooth Transitions with Turbo Streams

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

ElTransition Frontend HOTWire Javascript Ruby on Rails RubyOnRails Transitions TurboStreams UserExperience WebDevelopment
Added: 11 Oct 2024
What's New in Ruby on Rails 8 | AppSignal Blog

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

AppDevelopment Rails8 Ruby on Rails RubyOnRails SoftwareEngineering WebDevelopment
Added: 11 Oct 2024

Week 2024-40

The habits of effective remote teams

Lessons from GitLab, Doist, PostHog, and more.

Consulting DeepWork EffectiveCollaboration RemoteWork Soft Skills TeamProductivity Trust WritingCulture
Added: 04 Oct 2024
Building the Perfect Logo Strip - 9elements

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

CSS Frontend LogoDesign RubyOnRails UIDesign WebDesign WebDevelopment
Added: 04 Oct 2024
Practical Accessibility Tips You Can Apply Today

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

Accessibility Frontend InclusiveDesign RubyOnRails UI WebDevelopment
Added: 03 Oct 2024
ActiveStorage Direct Upload with Stimulus

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

ActiveStorage Backend DirectUpload FileUpload Frontend HOTWire Ruby on Rails RubyOnRails Stimulus WebDevelopment
Added: 03 Oct 2024
The Decide, Evolve, React pattern in Ruby

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

Consulting Design DesignPatterns EventSourcing Ruby Staff Engineer StateManagement WebDevelopment
Added: 03 Oct 2024

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

CodeReadability DeveloperHappiness Ruby RubyOnRails
Added: 03 Oct 2024
Rails Thruster 101

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

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

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

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

Morphs, Presence and Typing Indicators

ActionCable Frontend HOTWire Rails Ruby on Rails RubyOnRails StimulusJS Turbo8 WebDevelopment
Added: 30 Sep 2024
Drag & Drop Images with Preview using Stimulus Outlets

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

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

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

Authentication Backend Devise Migration OmniAuth Rails Ruby on Rails RubyOnRails WebDevelopment
Added: 30 Sep 2024

Week 2024-39

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

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

Consulting Git Merge Rebase SoftwareEngineering WebDevelopment
Added: 27 Sep 2024
Design Patterns in Ruby

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

Consulting DesignPatterns Refactoring Ruby SoftwareDevelopment WebDevelopment
Added: 27 Sep 2024

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

Database DatabaseManagement PerformanceOptimization PostgreSQL17 Rails Ruby on Rails WebDevelopment
Added: 26 Sep 2024
How to Build a Twitter Clone with Rails 8 and Turbo 8

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

Frontend HOTWire Rails8 RealTimeApps Ruby on Rails RubyOnRails Turbo TwitterClone WebDevelopment
Added: 24 Sep 2024
Turbo Morphing in Practice | Jon Sully

How two lines of code made everything smooth

Frontend HOTWire Ruby on Rails RubyOnRails TurboMorphing UserExperience WebDevelopment
Added: 24 Sep 2024
Your company needs Junior devs

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

Consulting Innovation JuniorDevelopers KnowledgeSharing PsychologicalSafety TeamCulture WebDevelopment
Added: 24 Sep 2024
2024 Ruby on Rails Community Survey Results

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

Consulting RailsCommunity Ruby on Rails RubyOnRails Survey2024 TechTrends WebDevelopment
Added: 24 Sep 2024

Week 2024-38

A brief look at the new Kamal Proxy replacing Traefik

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

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

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

Frontend ProgressiveWebApp PWA Rails8 Ruby on Rails RubyOnRails WebApps WebDevelopment
Added: 22 Sep 2024
Rails Security: Action Policy & Rabarber

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

ActionPolicy Authorization Rabarber RailsSecurity Ruby on Rails RubyOnRails WebDevelopment
Added: 21 Sep 2024

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

RSpec Ruby Ruby on Rails SoftwareTesting Testing WebDevelopment
Added: 21 Sep 2024
Shrinking Big PostgreSQL tables: Copy-Swap-Drop

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

CopySwapDrop Database DatabaseOptimization DataManagement PostgreSQL RubyOnRails
Added: 21 Sep 2024
How I build a button component

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

Accessibility BestPractices ButtonComponent CSS Frontend SemanticHTML WebDevelopment
Added: 18 Sep 2024

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

Frontend Javascript LitElement Morphing SoftwareDesign WebComponents WebDevelopment
Added: 16 Sep 2024
The Rails Renaissance

The power of Rails with Turbo and Stimulus.

Consulting HOTWire ModernWeb RailsRenaissance Responsiveness Ruby on Rails RubyOnRails Stimulus Turbo WebApps WebDevelopment
Added: 16 Sep 2024

Week 2024-37

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

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

CodingBestPractices Frontend Rails7 Ruby on Rails RubyOnRails StrictLocals WebDevelopment
Added: 13 Sep 2024

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

ActiveRecord Backend CacheManagement Ruby on Rails RubyOnRails WebDevelopment
Added: 12 Sep 2024

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

AssetManagement Javascript Propshaft Ruby on Rails RubyOnRails Sprockets WebDevelopment
Added: 12 Sep 2024
Implementing Filtered Semantic Search Using Pgvector and JavaScript

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

AI DataAnalytics Database FilteredSearch Javascript pgvector PostgreSQL SemanticSearch WebDevelopment
Added: 12 Sep 2024
Building a complex filtering system with Ruby on Rails

Embracing the digital experience

Backend DynamicQuerying FilteringSystem includes Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment yield_self
Added: 10 Sep 2024
Ruby on Rails Boilerplate: Vite, Tailwind, Stimulus

Embracing the digital experience

Consulting MVP Ruby on Rails RubyOnRails Stimulus TailwindCSS Vite WebDevelopment
Added: 10 Sep 2024
Upgrade Ruby using dual boot

Upgrade Ruby using dual boot

BigBinary DevOps DualBoot Rails Ruby Ruby on Rails Upgrade WebDevelopment
Added: 10 Sep 2024

Automate your next workflow.

AI
Added: 10 Sep 2024
Betterstimulus | Targetless Controllers

Avoid mixing targetless controllers with those attached to a target.

ControllerDesign Frontend HOTWire Ruby on Rails RubyOnRails SOLIDPrinciples StimulusJS WebDevelopment
Added: 10 Sep 2024

Week 2024-36

Making a simple React microphone component

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

AudioRecording ComponentDesign Frontend Javascript React WebDevelopment
Added: 07 Sep 2024
Building a breakout element with container units

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

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

What is OpenID Connect?

Authentication Backend OmniAuth OpenIDConnect Ruby on Rails RubyOnRails WebDevelopment
Added: 06 Sep 2024
Even Better Specs

Guidelines for Maintainable Tests

BestPractices EvenBetterSpecs RSpec Ruby Ruby on Rails Testing WebDevelopment
Added: 06 Sep 2024
Structure Your ERb and Partials for more Maintainable Front-end Code in Rails

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

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

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

Backend Frontend Javascript Mentions Ruby on Rails RubyOnRails SupeRails TributeJS WebDevelopment
Added: 05 Sep 2024
Routing Concerns in Rails

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

Backend RoutingConcerns Ruby on Rails RubyOnRails SoftwareEngineering WebDevelopment
Added: 04 Sep 2024

Week 2024-35

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

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

DataAnalysis Database GraphTheory KevinBacon PostgreSQL WebDevelopment
Added: 28 Aug 2024
Software estimates have never worked and never will

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

Agile Consulting Estimation RubyOnRails ShapeUp SoftwareDevelopment
Added: 28 Aug 2024
Redirect and return in Rails controllers

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

Backend Controllers Learning LogicOperators Rails Redirect Ruby Ruby on Rails WebDevelopment
Added: 28 Aug 2024

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

Backend Database DatabaseOptimization EXPLAIN Indexing PostgreSQL Rails Ruby on Rails WebDevelopment
Added: 28 Aug 2024
Easy to Overlook PostgreSQL Performance Issues in Rails Apps

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

Database DatabaseConfiguration PerformanceTuning PostgreSQL RailsOptimization Ruby on Rails RubyOnRails
Added: 28 Aug 2024

Week 2024-34

Squash Your Ruby and Rails Bugs Faster | AppSignal Blog

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

Consulting Debugging DelayedJob DevelopmentTools ErrorTracking Puma RubyGems Ruby on Rails RubyOnRails WebDevelopment
Added: 22 Aug 2024
Sidekiq To SolidQueue Migration

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

Backend BackgroundJobs DevOps PostgreSQL Ruby on Rails RubyOnRails Sidekiq SolidQueue WebDevelopment
Added: 21 Aug 2024
Building a better bin/dev script

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

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

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

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

This article introduces the Ruby test profiling toolbox called TestProf.

ContinuousIntegration PerformanceOptimization Rails Ruby Ruby on Rails Testing TestProf WebDevelopment
Added: 20 Aug 2024
Nested Forms With Turbo (without dependencies)

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

Frontend HOTWire NestedForms Rails Ruby on Rails RubyOnRails Turbo WebDevelopment
Added: 19 Aug 2024

Week 2024-33

How to get the most out of staff+ engineers

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

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

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

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

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

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

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

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

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

Accessibility Frontend Rails Ruby on Rails SoftwareDevelopment Testing WCAG
Added: 15 Aug 2024
Serializers in Ruby on Rails

A place to learn Ruby on Rails

ActiveModelSerializer APIDevelopment Backend JSON Ruby on Rails RubyOnRails Serializers SoftwareEngineering WebAPIs WebDevelopment
Added: 14 Aug 2024
Railing against time: tools and techniques that got us 5X faster tests—Martian Chronicles, Evil Martians’ team blog

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

ContinuousIntegration EvilMartians PerformanceOptimization Ruby on Rails RubyOnRails Testing TestProf
Added: 14 Aug 2024
Conditionally render a Turbo Frame shared between multiple views

We explore several solutions to a common Hotwire problem.

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

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

ActiveRecord Backend DeveloperExperience inspect InspectMethod Performance Rails Rails7 Ruby on Rails RubyOnRails
Added: 14 Aug 2024
A useful pattern for handling remote data in React apps | Devin Jameson

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

Frontend Javascript React RemoteData StateManagement Typescript WebDevelopment
Added: 12 Aug 2024

Week 2024-32

Preview an Image Before Upload with Hotwire/Stimulus

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

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

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

APIDocumentation OasRails OpenAPISpecification Packages RailsAPI Ruby on Rails WebDevelopment
Added: 10 Aug 2024
Should the daily stand-up die?

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

AgileDevelopment Consulting DailyStandup EngineeringCulture RemoteWork Scrum SoftwareEngineering TeamProductivity
Added: 10 Aug 2024
Rails Added Filter Option On in_order_of Method

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

Backend Database FilterOption in_order_of Rails Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
Added: 10 Aug 2024
Rails 8 introduces a basic authentication generator

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

AuthenticationGenerator Backend Rails8 Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
Added: 10 Aug 2024
Introduction to Minitest Mocks

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

Minitest Mocks Ruby on Rails RubyOnRails Testing WebDevelopment
Added: 10 Aug 2024
Why CTOs are choosing Hotwire and Ruby on Rails

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

Consulting Frontend HOTWire Ruby on Rails RubyOnRails StartupAdvice TechLeadership WebDevelopment
Added: 10 Aug 2024
Automate Your Ruby Gem Releases

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

Automation GitHubActions OasRails Packages RailsEngine ReleasePlease Ruby RubyGem
Added: 06 Aug 2024

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

ActiveRecord Database DatabaseManagement PerformanceOptimization PostgreSQL Ruby on Rails RubyOnRails
Added: 06 Aug 2024
Betterstimulus | Open-Closed Principle

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

Consulting Extensibility GoodPractices Javascript OpenClosedPrinciple RubyOnRails SoftwareDesign WebDevelopment
Added: 06 Aug 2024
Secure Your Kamal App Deployments with Let's Encrypt

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

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

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

Backend development DevOps Logging Ruby on Rails RubyOnRails TaggedLogs WebDevelopment
Added: 05 Aug 2024

Week 2024-31

From Partials (and Helpers) to Embracing ViewComponent in Rails

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

CleanCode Frontend Rails Ruby on Rails RubyOnRails SoftwareDevelopment UIComponents ViewComponent WebDevelopment
Added: 03 Aug 2024
Semantic search with Ruby on RailsFireHydrant LogoChevron down iconChevron down iconChevron down iconLinkedIn logo iconTwitter logo iconFireHydrant LogoTwitter logo iconLinkedIn logo iconGitHub logo icon

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

AI IncidentManagement OpenAI Ruby on Rails RubyOnRails SemanticSearch WebDevelopment
Added: 03 Aug 2024
Inline Save and Add Another with Rails and Hotwire

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

Frontend HOTWire Rails Ruby on Rails RubyOnRails UIComponents WebDevelopment
Added: 03 Aug 2024

Week 2024-30

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

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

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

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

ActiveRecordExtended Database DatabaseFunctionality Gem OpenSource Postgres Rails Ruby Ruby on Rails WebDevelopment
Added: 25 Jul 2024
Row pattern recognition feature for PostgreSQL

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

Database PostgreSQL RowPatternRecognition RPR SQLStandard
Added: 25 Jul 2024
Navigating the new web accessibility ruling in the U.S.

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

Accessibility ADA Compliance Consulting DigitalInclusion Frontend RubyOnRails UserExperience WCAG WebDevelopment
Added: 23 Jul 2024
Event sourcing for smooth brains: building a basic event-driven system in Rails

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

Backend Consulting EventSourcing RailsTips Ruby on Rails RubyOnRails SoftwareDesign WebDevelopment
Added: 22 Jul 2024
Exercise: Minesweeper in 100 lines of clean Ruby

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

CleanCode Frontend Minesweeper Ruby SoftwareDevelopment WebDevelopment
Added: 22 Jul 2024

Week 2024-29

Ruby on Rails - July 2024

The only Ruby on Rails newsletter you will ever need!

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

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

AI CSS ECMAScript2024 Frontend Javascript Programming WebDev
Added: 16 Jul 2024

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

Backend Debugging Rails RequestHeaders Ruby Ruby on Rails WebDevelopment
Added: 15 Jul 2024

Week 2024-28

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

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

Consulting CustomFonts DevelopmentTips MailCatcher Ruby on Rails RubyOnRails WebDevelopment
Added: 08 Jul 2024
Highlighting Blogging on Mastodon · Matthias Ott – User Experience Designer

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

Blogging fediverse Frontend Mastodon personalwebsites publishing
Added: 08 Jul 2024

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

Frontend HOTWire OptimisticUI Ruby on Rails RubyOnRails UserExperience WebDevelopment
Added: 08 Jul 2024

Week 2024-27

Sebastian Rollén's Blog

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

Frontend FrontMatter HighVoltage MarkdownRendering Ruby on Rails RubyOnRails TailwindCSS WebDevelopment
Added: 04 Jul 2024
TIL custom order with .in_order_of

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

ActiveRecord Rails Ruby Ruby on Rails RubyOnRails WebDevelopment
Added: 04 Jul 2024
Easy Postgres backups

How to use Kamal to backup and restore your Postgres database

Backups Database DevOps DisasterRecovery Docker Kamal Postgres Ruby on Rails RubyOnRails WebDevelopment
Added: 04 Jul 2024
Rails Adds ActiveRecord::Base.with_connection To Optimize Database Operations.

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

ActiveRecord DatabaseManagement Ruby on Rails RubyOnRails SoftwareEngineering WebDevelopment
Added: 04 Jul 2024
Add comments to your tables columns - Remi Mercier - Ruby on Rails Developer

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

Database DatabaseDocumentation Migrations Ruby on Rails RubyOnRails WebDevelopment
Added: 04 Jul 2024
The Productivity apps I use in 2024

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

Applications Consulting Productivity RubyOnRails TaskManagement WebDevelopment
Added: 02 Jul 2024

Week 2024-26

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

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

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

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

DevelopmentTips FormHandling Frontend Rails Ruby on Rails RubyOnRails TurboStreams UserExperience WebDevelopment
Added: 27 Jun 2024
API versioning in Ruby on Rails

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

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

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

DeveloperTips RSpec Ruby on Rails RubyOnRails SoftwareDevelopment TestAutomation Testing UpgradingRails
Added: 26 Jun 2024
Hotwire Tutorial: How Do I Drag and Drop Items in a List? - Blogging On Rails

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

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

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

HOTWire Rails RailsDesigner Ruby on Rails RubyOnRails Turbo UndoAction UX WebDevelopment
Added: 25 Jun 2024

Week 2024-25

Documenting Software Architectures

The Architects Choice

arc42 C4Model Consulting Documentation RubyOnRails SoftwareArchitecture WebDevelopment
Added: 22 Jun 2024

Week 2024-24

Async Ruby on Rails

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

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

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

Database DatabaseOptimization Performance Rails Ruby on Rails RubyOnRails Scalability WebDevelopment
Added: 14 Jun 2024
Replacing system tests with unit tests |
    
    Everyday Rails

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

Consulting RSpec Ruby on Rails RubyOnRails SoftwareDevelopment SystemTests TDD Testing UnitTests
Added: 14 Jun 2024

Week 2024-23

Tips for Using Less JavaScript

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

BestPractices CSS Frontend HTML Javascript RubyOnRails WebDevelopment
Added: 06 Jun 2024
Web Components Can Now Be Form Controls

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

CustomElements FormControls Frontend Javascript RubyOnRails WebComponents WebDevelopment
Added: 06 Jun 2024

Week 2024-22

Top SQL Queries for Data Scientists

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

DataAnalysis Database DataScience MachineLearning NLP Programming SQL
Added: 31 May 2024
Production-Grade (ish) Rails deployment on Hetzner with Kamal

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

Deployment DevOps Hetzner Kamal PostgreSQL Rails Redis Ruby on Rails Traefik WebDevelopment
Added: 30 May 2024

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

CodeQuality Consulting ObjectOrientedProgramming Ruby on Rails RubyOnRails RubyScience SoftwareDevelopment WebDevelopment
Added: 30 May 2024
N+1 in Ruby on Rails - Blog - Visuality

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

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

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

Consulting DevContainers Docker RailsDevelopment Ruby on Rails RubyOnRails VSCode WebDevelopment
Added: 28 May 2024
Manifesto for a Humane Web

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

Accessibility Consulting HumaneWeb Manifesto Netizens Privacy Sustainability WebDesign
Added: 28 May 2024
Full text search for Litestack Ruby apps with Litesearch

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

ActiveRecord Backend Database FTS5 FullTextSearch Litesearch Litestack Meilisearch Rails Ruby Ruby on Rails SQLite
Added: 27 May 2024
Planning your Sidekiq queues

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

Autoscaling Backend Judoscale PerformanceOptimization QueueManagement Ruby on Rails RubyOnRails Sidekiq WebDevelopment
Added: 27 May 2024

Week 2024-21

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

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

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

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

AI LLMs PromptEngineering SoftwareDevelopment WebDevelopment
Added: 23 May 2024
Prefer Multiple Compositions | Kyle Shevlin

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

CleanCode CodeQuality Consulting DRY Javascript Maintainability React SoftwareDevelopment
Added: 21 May 2024
Creating Forms in Ruby on Rails with Simple Form | AppSignal Blog

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

FormHandling Frontend Programming Rails Ruby on Rails RubyOnRails SimpleForm WebDevelopment
Added: 21 May 2024
How to RSpec a Jbuilder response from a Rails JSON API

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

APITesting Jbuilder RSpec Ruby on Rails RubyOnRails Testing WebDevelopment
Added: 21 May 2024
A new version of Suspenders has been released!

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

Consulting OpenSource Ruby on Rails RubyOnRails Suspenders Thoughtbot WebDevelopment
Added: 20 May 2024
Ruby on Rails Code Audits: 8 Steps to Review Your App

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

BestPractices CodeAudit Consulting Ruby on Rails RubyOnRails SoftwareEngineering WebDevelopment
Added: 20 May 2024

Week 2024-20

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

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

APIs AsyncRequests Backend Concurrency Faraday Ruby Ruby on Rails SoftwareDevelopment WebDevelopment
Added: 17 May 2024
Rails 8 adds Kamal by default.

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

Deployment DevOps Kamal Rails8 Ruby on Rails RubyOnRails WebDevelopment
Added: 17 May 2024
Tips for Using Slack

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

Consulting Productivity RemoteWork Slack TeamCommunication WebDevelopment
Added: 17 May 2024
Making a Postgres query 1,000 times faster

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

Consulting Database Optimization PerformanceTuning PostgreSQL SQL WebDevelopment
Added: 15 May 2024

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

ActiveRecord Consulting RailsDevelopment RepositoryPattern Ruby on Rails SoftwareDesign WebDevelopment
Added: 13 May 2024

Week 2024-19

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

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

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

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

DevOps Kamal Puma Rails Ruby on Rails RubyOnRails Thruster WebDevelopment XSendfile
Added: 10 May 2024
How to build a Cmd+k search modal with Hotwire

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

Frontend HOTWire Ruby on Rails RubyOnRails SearchModal Stimulus Turbo WebDevelopment
Added: 06 May 2024

Week 2024-18

Rails Adds GitHub CI Workflow By Default To New Applications

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

Backend CICD DevOps GitHubActions Ruby on Rails RubyOnRails SoftwareEngineering WebDevelopment
Added: 04 May 2024
Why you need a

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

Consulting EffectiveCommunication ProblemSolving ProfessionalGrowth TeamWork WTFNotebook
Added: 03 May 2024
Tips for Database Design (Part 1)

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

Backend Consulting Database DatabaseDesign DataManagement PerformanceOptimization PostgreSQL Ruby on Rails RubyOnRails WebDevelopment
Added: 03 May 2024
Choosing the Right Audit Trail Approach in Ruby

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

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

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

AWS Backend Backups Database DevOps GitHubActions Postgres RubyOnRails S3 WebDevelopment
Added: 03 May 2024
One engineer company with Ruby on Rails

All slide content and descriptions are owned by their creators.

Consulting DeveloperAdvice ProductMarketFit Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
Added: 30 Apr 2024
Refactoring for Readability in Ruby: a Showcase

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

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

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

Authentication Backend Devise Rails Ruby on Rails Tutorial WebDev
Added: 30 Apr 2024
HotwireCombobox

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

Autocompletion Combobox Frontend HOTWire Javascript Packages RubyOnRails Stimulus Turbo WebDevelopment
Added: 30 Apr 2024
Generate magic tokens in Rails with generates_token_for

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

Authentication Backend Rails Ruby on Rails RubyOnRails TokenGeneration WebDevelopment
Added: 29 Apr 2024

Week 2024-17

Turbo Refreshes, Frames, and Streams

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

Frontend HOTWire Rails Ruby Ruby on Rails Turbo WebDevelopment
Added: 27 Apr 2024

Week 2024-16

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

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

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

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

ActiveRecord Backend DelegatedTypes ModernWebDevelopment Ruby on Rails RubyOnRails SoftwareArchitecture WebDevelopment
Added: 18 Apr 2024
Dual-Boot Ruby on Rails Using Docker - FastRuby.io | Rails Upgrade Service

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

Backend DevOps Docker DualBoot FastRuby Ruby on Rails RubyOnRails Upgrades WebDevelopment
Added: 17 Apr 2024
How to Set Up a Custom Email with Cloudflare and Mailgun

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

Cloudflare Consulting EmailSetup Mailgun Tools WebDevelopment
Added: 16 Apr 2024

Week 2024-15

Rails: Environment Configuration (Magical) Instance

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

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

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

DocumentationFirst OpenAPI RailsAPI Ruby on Rails RubyOnRails Skooma Testing Tools
Added: 09 Apr 2024
Work around Rails schema noise with one weird trick

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

Database HTTPStatus Ruby on Rails RubyOnRails WebDevelopment
Added: 09 Apr 2024

Week 2024-14

Optimized Model Auditing with PaperTrail

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

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

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

CIBuildTime CircleCI DevOps PerformanceOptimization Ruby Ruby on Rails RubyOnRails TestingEfficiency WebDevelopment
Added: 06 Apr 2024
Table partitioning in Rails, part 1 - Postgres Stories - Blog - Visuality

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

Backend Database DatabaseManagement Gem PostgreSQL Ruby on Rails RubyOnRails TablePartitioning WebDevelopment
Added: 03 Apr 2024
🍌The Banana Rule 🍌

A whimsical (but useful!) code style guideline

BananaRule Consulting EngineeringBestPractices TechnicalCommunication WebDevelopment
Added: 01 Apr 2024

Week 2024-13

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

Why would you spend your cognitive capacity on useless choices?

CodingStandards Consulting RubyOnRails SoftwareDevelopment TeamProductivity WebDevelopment
Added: 27 Mar 2024
The Complete Guide to Working With Cookies in Rails

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

Backend Cookies Programming Rails Ruby on Rails RubyOnRails security WebApplications WebDevelopment
Added: 27 Mar 2024
Start Using Docker Today - Hands On Examples for Developers

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

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

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

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

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

ActiveRecord Backend normalizes Reusability Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
Added: 25 Mar 2024
Rollup vs Esbuild for Rails
 | saaslit

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

Debugging Esbuild Frontend Javascript Rails Rollup Ruby on Rails WebDevelopment
Added: 25 Mar 2024

Week 2024-12

Building a sortable table with Turbo 8’s page refreshes

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

CodingTutorial Frontend HOTWire PageRefreshes Ruby on Rails RubyOnRails SortableTables SPA Turbo8 WebDevelopment
Added: 24 Mar 2024
Why legacy code rewrites are the hardest job in software

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

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

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

Backend BackgroundJobs DevOps Rails Ruby on Rails RubyOnRails Sidekiq SolidQueue WebDevelopment
Added: 22 Mar 2024
Automated Database Backups with Kamal

Intro

automatedbackups Backend DevOps Kamal PostgreSQL Ruby on Rails RubyOnRails S3 WebDevelopment
Added: 19 Mar 2024

Week 2024-11

Flash Messages (notifications) in Rails Apps

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

FlashMessages Frontend HOTWire Ruby on Rails RubyOnRails Turbo WebDevelopment
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 MorphingRefreshes Rails Ruby on Rails RubyOnRails Turbo8 TurboStreams WebDevelopment
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 DatabaseArchitecture DevOps Figma HorizontalSharding Postgres RubyOnRails Scalability SoftwareEngineering WebDevelopment
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

AWS Backend FileUpload Ruby Ruby on Rails S3 WebDevelopment ZIP
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 ModalDialogs Ruby on Rails RubyOnRails TurboStreams WebAccessibility WebDevelopment
Added: 14 Mar 2024
Notes from migrating from Minitest to RSpec, with help from GitHub Copilot |
    
    Everyday Rails

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

AI CodeMigration Consulting DeveloperExperience Minitest Rails RSpec 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…

Communication Consulting Dialogue Leadership Listening SelfImprovement 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 EventMonitoring Honeybadger Logging Ruby on Rails RubyOnRails WebDevelopment
Added: 06 Mar 2024
How we migrated from Sidekiq to Solid Queue

How we migrated to Solid Queue from Sidekiq

ActiveJob Backend BackgroundJobs DevOps Migration Ruby on Rails RubyOnRails Sidekiq SolidQueue WebDevelopment
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 Productivity Ruby on Rails RubyOnRails SoftwareEngineering Startups WebDevelopment
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...

AJAX Autocomplete Frontend Javascript Ruby on Rails RubyOnRails StimulusJS TomSelect WebDevelopment
Added: 03 Mar 2024
Add a Kafka Consumer to Rails

Learn how to integrate a Kafka consumer into a Rails application

Backend ConsumerImplementation DevOps ErrorHandling EventDrivenArchitecture Kafka Karafka Ruby on Rails RubyOnRails WebDevelopment
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 Heroku MemoryIssues Puma RailsUpgrade Ruby on Rails RubyOnRails WebDevelopment
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 Rails Rails7 Ruby on Rails RubyOnRails Turbo ViewTransitions WebDevelopment
Added: 21 Feb 2024

Week 2024-7

The Plan for Rails 8

Documentation and guides from the team at Fly.io.

DeploymentTools ProgressiveWebApps Rails8 Ruby on Rails RubyOnRails SolidCache WebDevelopment
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 Docker Logging Middleware Nginx ReverseProxy Ruby on Rails RubyOnRails Traefik WebDevelopment
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?

CustomImages Frontend HCTI Pika Rails Ruby on Rails SocialMedia WebDevelopment
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.

CodeOrganization Frontend FrontendDevelopment Ruby on Rails Teaching vanillajs WebApplication
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 Rails Routing Ruby on Rails RubyOnRails URLHelpers WebDevelopment
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.

Agile Consulting outcomes outputs ProductManagement Ruby on Rails WebDevelopment
Added: 10 Feb 2024
Read the .ruby-version into your Gemfile

A lovely little improvement to your life when upgrading Ruby

Bundler Gemfile Rails Ruby RubyGems Ruby on Rails VersionManagement WebDevelopment
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...

Authentication Frontend Javascript React WebDevelopment
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.

ActiveStorage Backend CDN Performance Rails Ruby on Rails RubyOnRails WebDevelopment
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 Debugging ExceptionHandling Ruby Ruby on Rails RubyOnRails SoftwareQuality WebDevelopment
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 EmailCourses LucianGhinda Rails Ruby Ruby on Rails SoftwareDevelopment TechStack WebDevelopment
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 BestPractices Consulting FastRubyio RailsUpgrade Ruby on Rails RubyOnRails TechnicalDebt WebDevelopment
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 Backup ContainerizedApplications Database DevOps Kamal PostgreSQL Ruby on Rails RubyOnRails WebDevelopment
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.

APM Consulting PerformanceOptimization RailsPerformance Ruby on Rails RubyOnRails WebDevelopment
Added: 02 Feb 2024
Got some rhythm?

Using a scale to find that vertical rhythm

8pxscale CSS designspacing Frontend NotADesigner verticalrhythm WebDesign
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 link_to Rails Ruby on Rails RubyOnRails security WebDevelopment
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.

ActiveRecord Backend CTE Database Rails7 Ruby on Rails RubyOnRails WebDevelopment
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 MVP ProductionReady Rails Ruby RubyConf2023 Ruby on Rails SQLite WebDevelopment
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 Observability OpenTelemetry Ruby on Rails RubyOnRails SelfHosted WebDevelopment
Added: 26 Jan 2024
Rails advanced routing constraints

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

AdvancedRouting Backend Devise RoutingConstraints Ruby on Rails RubyOnRails WebSecurity
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.

3QuestionFramework Communication Consulting Productivity Soft Skills TeamDynamics WorkLifeBalance
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.

404Error Backend DevOps GitHub GitHubPages Ruby on Rails WebDevelopment
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.

404Error Backend DevOps GitHub Ruby on Rails RubyOnRails WebDevelopment
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 FrontendDevelopment HOTWire Javascript Ruby on Rails RubyOnRails SoftwareEngineering WebDevelopment
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 BigInt Database Hashids NanoID Ruby on Rails RubyOnRails Slugs UUID WebDevelopment
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 DeveloperExperience ProgressiveWebApps Rails8 Ruby on Rails RubyOnRails WebDevelopment
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.

ActiveRecord Backend Enums Rails7 Ruby on Rails RubyOnRails WebDevelopment
Added: 15 Jan 2024
Container Style Queries | 12 Days of Web

Exploring new ways of approaching CSS by querying custom properties and their values.

ContainerQueries CSS Frontend ModernCSS ResponsiveDesign WebAccessibility WebDevelopment
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...

CodingEducation Frontend Javascript ReactTesting ReactTestingLibrary SoftwareTesting Testing Vite Vitest WebDevelopment
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…

Deployment DevOps Docker Kamal PostgreSQL Rails Ruby on Rails Sidekiq WebDevelopment
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!

Authentication DeveloperExperience PWA Rails8 Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
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.

DOMDiffing Frontend HOTWire PerformanceOptimization RailsUpgrades Ruby on Rails RubyOnRails Turbo8 WebDevelopment
Added: 04 Jan 2024
Self-hosting a high-availability Postgres cluster on Kubernetes

Deploying an HA Postgres cluster using Zalando w/ K8s.

CloudInfrastructure Database DevOps HighAvailability Kubernetes PostgreSQL Zalando
Added: 03 Jan 2024

Week 2023-52

The LinkedIn DPH Framework

Welcome to the LinkedIn Developer Productivity and Happiness Framework!

CommunityContribution Consulting DeveloperProductivity DPHFramework LinkedIn Metrics OpenSource SoftwareDevelopment 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 DeveloperGuide Frontend HOTWire Morphing PageRefresh RealTimeUpdates Ruby on Rails RubyOnRails Turbo8 WebDevelopment
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?

Deployment DevOps Kubernetes Monoliths RouteBasedScaling Ruby on Rails RubyOnRails Scaling WebDevelopment
Added: 26 Dec 2023

Week 2023-50

Why you should write good epics

Who knew grouping things could bring so many benefits.

Agile Consulting Epics ProjectManagement RubyOnRails TeamCollaboration
Added: 12 Dec 2023

Week 2023-49

Approximated.app

Reliably automate custom domains at any scale

APIIntegration Backend CustomDomains Ruby on Rails RubyOnRails SaaS SSLAutomation WebDevelopment
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 Engineering Productivity RFC RubyOnRails SoftwareDevelopment Staff Engineer WebDevelopment
Added: 08 Dec 2023

Week 2023-48

Turbo 8 in 8 minutes

Documentation and guides from the team at Fly.io.

Frontend HOTWire LiveUpdates RailsDevelopment Ruby on Rails RubyOnRails Turbo8 WebDevelopment
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 HTMLSanitization Loofah Ruby RubyOnRails security WebDevelopment
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.

ActiveRecord Backend DatabaseDesign Ruby on Rails RubyOnRails WebDevelopment
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 CommandLineTools Ruby RubyOnRails security Thor WebDevelopment
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?

CloudEconomics Consulting CostManagement DevOps Profitability Scalability SoftwareArchitecture
Added: 21 Nov 2023
For clarity merging hashes use with_defaults

A hash merge, but backwards for readability

Backend CodeReadability HashMerging Rails Ruby Ruby on Rails with_defaults
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 HTML Javascript MustacheJS Ruby on Rails RubyOnRails Stimulus Templating WebDevelopment
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 BlindIndex Devise EmailSecurity Lockbox Ruby on Rails RubyOnRails WebDevelopment
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 BestPractices Cybersecurity GitHub RailsSecurity Ruby on Rails RubyOnRails WebDevelopment
Added: 20 Nov 2023

Week 2023-46

Top 8 PostgreSQL Extensions

Check our eight top PostgreSQL extensions, along with sample queries and instructions.

AI Backend DataAnalytics Database DatabaseManagement Extensions PostgreSQL TimescaleDB TimeSeries WebDevelopment
Added: 18 Nov 2023
Preventing bugs in Ruby: tools of the trade

Intro

BugsPrevention CleanCode Consulting development Ruby Ruby on Rails SoftwareQuality Testing
Added: 18 Nov 2023
Creating Accessible UI Animations — Smashing Magazine

Animation and accessibility are often seen as two separate powers at odds with one another. How is it possible to strike a balance between elements that move and the possible negative effects they expose to users who are sensitive to motion? Oriana García explains how her team at Mercado Libre tackled the challenge by creating guiding principles for applying animation to user interfaces and incorporating them into the team’s design system.

Accessibility Design Frontend MotionDesign UIAnimations UXDesign WebDevelopment
Added: 15 Nov 2023
Announcing Angular.dev

Today, we are excited to launch Angular.dev — the future home for Angular developers.

angular AngularDev Frontend Javascript RubyOnRails SoftwareDevelopment WebDevelopment
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 DevCommunity FullStackDevelopment HOTWire Ruby on Rails RubyOnRails TechTrends WebDevelopment
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.

AnyCable Backend OpenSource PaaS RealTime RubyOnRails WebDevelopment
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 Basecamp Frontend HOTWire ProjectOrganization Ruby on Rails RubyOnRails Stimulus Turbo UXDesign WebDevelopment
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 DistributedArchitecture EventDrivenArchitecture Kafka Ruby on Rails RubyOnRails WebDevelopment
Added: 09 Nov 2023
The Software Engineer's guide to saying

A 3 part framework for saying "no" + how to apply it + examples

Consulting SayingNo Soft Skills SoftwareEngineering TechSkills TimeManagement WorkloadManagement
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.

ActiveRecord Database query_constraints Rails7 Ruby on Rails RubyOnRails WebDevelopment
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...

APIs Frontend Javascript ScreenRecorder Tutorial WebDevelopment
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.

Deployment DevOps Docker Kamal PostgreSQL Redis Ruby on Rails RubyOnRails Sidekiq WebDevelopment
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.

ButtonElement Forms Frontend FrontendDevelopment JavaScriptIntegration Ruby on Rails RubyOnRails WebDevelopment
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…

Communication CriticalThinking PersonalDevelopment RubyOnRails Soft Skills WebDevelopment
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.

Cloudflare Consulting DevOps Netlify RubyOnRails SSL WebDevelopment
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.

ActiveRecord AsyncQueries Backend CompositeKeys CTEs Database PostgreSQL Ruby on Rails RubyOnRails WebDevelopment
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.

BestPractices ConfigurationManagement FastRuby RailsUpgrade Ruby on Rails RubyOnRails WebDevelopment
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.

Concurrency DevOps PerformanceOptimization Puma RailsApps RailsPerformance Ruby on Rails RubyOnRails SQLQueries WebDevelopment
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!

before_render BestPractices CodingTips Frontend Ruby on Rails RubyOnRails ViewComponents WebDevelopment
Added: 15 Oct 2023

This documents my methodology of taking an accepted talk proposal and building the slides and content around it.

ConferenceTalks ContentPreparation PresentationSkills PublicSpeaking SlideDesign Soft Skills WebDevelopment
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 DataNavigation ParadeDB RubyOnRails SearchFeature WebDevelopment
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.

ActiveRecord Backend Database Gem OpenSource Partitioning PostgreSQL Ruby on Rails RubyOnRails WebDevelopment
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!

BestPractices CSS CSSOptimization DesignSystems Frontend FrontendDevelopment TailwindCSS WebDevelopment
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…

BestPractices CodeQuality Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
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.

AgileDeployment Backend FeatureFlags RiskReduction Ruby on Rails RubyOnRails SoftwareDevelopment WebApplications
Added: 13 Oct 2023
Build the Framework You Need

Or how to retain the vanilla Rails feel beyond the early stages.

Backend BestPractices Consulting Frameworks Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
Added: 11 Oct 2023
A happier happy path in Turbo with morphing

Turbo 8 is coming with smoother page updates and simpler broadcasts.

DeveloperExperience DOMMorphing Frontend HOTWire Ruby on Rails RubyOnRails Turbo8 WebDevelopment
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.

404Errors Backend RackAttack Ruby on Rails RubyOnRails security WebDevelopment
Added: 10 Oct 2023

Week 2023-40

A Few Interesting Ways To Use CSS Shadows For More Than Depth — Smashing Magazine

We often think of shadows in CSS as something to reach for when we want to add depth to a design. But shadows can be used for more than depth. Let’s experiment with different shadows — two CSS properties and a filter — to make interesting hover effects, different text styles, and even casting shadows on other shadows.

CSS CSSShadows Design Frontend FrontendDevelopment WebDesign WebDevelopment
Added: 08 Oct 2023
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.

DataDrivenDesign OpportunitySolutionTree ProductDiscovery ProductManagement UserExperience
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 DatabaseDesign PostgreSQL PrimaryKeys UUIDs WebDevelopment
Added: 04 Oct 2023
Dynamic Table Partitioning in Postgres

Learn how to scale large postgres tables in place and increase query performance.

Backend Database DatabaseManagement DynamicPartitioning PostgreSQL TablePartitioning WebDevelopment
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 ProgressiveEnhancement RubyOnRails UXDesign VueJS WebAPIs WebDevelopment
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

HTTPStatusCodes Redirects RubyOnRails SEO WebDevelopment
Added: 03 Oct 2023
“I have a bad English accent”

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

AccentBias Communication Inclusion LanguageDiversity PersonalGrowth WebDevelopment
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.

CodeScaling Modularization Packwerk Ruby on Rails RubyOnRails SoftwareDevelopment
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 Minitest Ruby on Rails RubyOnRails Stripe Testing Webhooks
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 DatabaseOptimization Indexing PostgreSQL RailsApplications Ruby on Rails RubyOnRails WebDevelopment
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 Optimization Performance Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
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.

BestPractices BetterSpecs OpenSource RSpec Ruby on Rails RubyOnRails SoftwareTesting Testing TestingGuidelines WebDevelopment
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.

Refactoring RSpec Ruby on Rails RubyOnRails Testing WebDevelopment
Added: 28 Sep 2023
Ruby on Rails - September 2023

The only Ruby on Rails newsletter you will every need!

Rails7 RubyMonthly Ruby on Rails RubyOnRails SajjadUmar WebDevelopment
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…

LocalFirstDevelopment RubyOnRails SyncEngines WebApps WebDevelopment
Added: 28 Sep 2023
Strada officially launched! | Masilotti.com

A first look at Strada, the last missing piece of Hotwire. Let's explore how it unlocks native components driven by the web in Turbo Native apps.

HOTWire Ruby on Rails RubyOnRails Strada TurboNative WebDevelopment
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 😉

class_names current_page DynamicNavigation Frontend Ruby on Rails RubyOnRails ViewComponents WebDevelopment
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.

DevelopersGuide form_with Frontend railstricks Ruby on Rails RubyOnRails WebDevelopment
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 BoringTechnology Consulting Database DevOps Postgres QueueManagement RubyOnRails WebDevelopment
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.

Deployment DevOps Docker Kamal Ruby on Rails RubyOnRails WebDevelopment
Added: 28 Sep 2023

Week 2023-38

Intelligent vs. Smart

Here’s an important distinction to make in life.

Communication EmotionalIntelligence IntelligentVsSmart MultiDisciplinaryThinking Soft Skills Success
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 DragAndDrop Frontend HOTWire Ruby on Rails RubyOnRails SortableJs Stimulus WebDevelopment
Added: 14 Sep 2023
Mining Gold in Digital Conversations

How I used artificial intelligence and async programming to transform interesting conversations into blog posts.

AI AsyncRuby BestPractices dev RubyOnRails WebDevelopment
Added: 13 Sep 2023
Express yourself clearly with positive? and negative? for numbers

Syntactical sugar to avoid comparison operators

Backend CodeReadability Programming Ruby RubyOnRails SoftwareDevelopment WebDevelopment
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!

RubyOnRails Soft Skills Summarization WebDevelopment
Added: 13 Sep 2023

How to plan and execute the refactoring of you Ruby application

Backend Consulting Engineering Rails Refactoring rubocop Ruby Ruby on Rails SoftwareDevelopment WebDevelopment
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.

ActionCable Frontend HOTWire RealTimeWeb Ruby on Rails RubyOnRails Turbo WebDevelopment
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 DeveloperRoles MVP ProductDiscovery StartupDevelopment TeamWork
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...

BestPractices Coding Consulting Programming Rails Ruby WebDev
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 HTTP PerformanceOptimization Rack Ruby on Rails RubyOnRails WebDevelopment
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 railstricks Ruby on Rails RubyOnRails Stimulus WebDevelopment
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 BugTracking CI Consulting DevelopmentStrategy FeatureFlags Rails Ruby Ruby on Rails TestCoverage Upgrades
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 ErrorHandling UserExperience WebDevelopment
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 RubyOnRails Stimulus WebDevelopment
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 ResponsiveDesign RubyOnRails UIUX ViewportFragmentation WebApplications WebDevelopment
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.

ActiveRecord Backend Frontend railstricks Ruby Ruby on Rails RubyOnRails WebDevelopment
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.

Accessibility CSS Frontend ResponsiveDesign SizingUnits WebDevelopment
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...

ActiveRecord Backend Frontend Programming Rails Ruby on Rails SoftwareDevelopment WebDevelopment
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 HTML5 picture_tag Rails responsiveimages Ruby on Rails WebDevelopment
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 EnumFunctionality PostgreSQL Rails Ruby on Rails RubyOnRails WebDevelopment
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.

DeveloperTips Frontend LearningStrategies RailsHelpers Ruby on Rails RubyOnRails WebDevelopment
Added: 24 Aug 2023
Advanced Active Record

Optimizing Performance and Robustness with Locking, UUIDs, Fulltext Search, Database Views, and Geospatial Data

ActiveRecord Backend Database DatabaseOptimization FullTextSearch GeospatialData Ruby on Rails RubyOnRails UUID WebDevelopment
Added: 24 Aug 2023

Week 2023-33

Rails static pages - Rails Tricks Issue 15

Hi there,

Backend Frontend ImplicitRendering Rails railstricks Ruby on Rails RubyOnRails StaticPages WebDevelopment
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 Personalization Ruby on Rails RubyOnRails TurboStreams WebDevelopment
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 bootsnap DevOps Docker jemalloc Ruby on Rails RubyOnRails WebDevelopment YJIT
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

Components DeveloperExperience Frontend FrontendDesign Ruby on Rails RubyOnRails WebDevelopment
Added: 16 Aug 2023

Kevin Newton

ActiveRecord Backend Database Polymorphism Ruby on Rails RubyOnRails UnionQueries WebDevelopment
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...

ActiveRecord Backend Database Rails Ruby Ruby on Rails trigger WebDevelopment
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.

ActiveSupport Backend CodeOrganization Concerns Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
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 RicherText RichTextEditor Ruby on Rails RubyOnRails TipTap WebDevelopment
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 BeginnersGuide Database DatabaseTips PostgreSQL RubyOnRails WebDevelopment
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 DataStructure JSON JSONB PostgreSQL Programming WebDevelopment
Added: 15 Aug 2023
An Introduction to Metaprogramming in Ruby | AppSignal Blog

Explore some of the fundamentals of metaprogramming in Ruby.

Backend Metaprogramming Rails Ruby SoftwareDevelopment WebDevelopment
Added: 15 Aug 2023
The new @font-face syntax

Using variable fonts and color fonts with @font-face.

CSS FontFace Frontend RubyOnRails WebDesign WebDevelopment
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...

ActiveStorage Backend ImageProcessing PerformanceOptimization Ruby on Rails RubyOnRails WebDevelopment
Added: 14 Aug 2023

Week 2023-32

Supercharge your Stimulus controllers with Custom APIs

Marco Roth - marcoroth.dev

APIs Frontend Javascript Ruby on Rails RubyOnRails Stimulus WebDevelopment
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 ConnectionPooling Database Elixir Postgres Supabase Supavisor WebDevelopment
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 BestPractices Frontend NestedAttributes Rails Ruby on Rails RubyOnRails WebDevelopment
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

ActiveStorage Backend DragAndDrop FileUpload Frontend Ruby on Rails RubyOnRails S3 WebDevelopment
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.

APIAuthentication Authtrail Backend Devise JWT OmniAuth Ruby on Rails RubyOnRails WebDevelopment
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.

Diversity Equity HiringPractices Inclusion InclusiveHiring RubyOnRails TeamBuilding Thoughtbot WebDevelopment
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 LearningProjects Programming Rails Ruby Ruby on Rails WebDevelopment
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...

BackupStrategy DatabaseIncident ErrorManagement GitLab WebDevelopment
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.

EmployeeWellbeing Inclusivity JobDesign ManagementStrategies MentalHealth Soft Skills TechIndustry WorkplaceCulture
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 Caching Rails Ruby on Rails RubyOnRails security WebDevelopment
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 CodingTips Postgres Rails Ruby on Rails SQL WebDev
Added: 26 Jul 2023
Invisible Details of Interaction Design

What makes great interactions feel right?

DesignIntuition Frontend GesturalInterface InteractionDesign UserExperience WebDevelopment
Added: 25 Jul 2023
New in CSS: relative colors

Learn how relative CSS colors enable color manipulations.

ColorManipulation CSS FrontendDevelopment RelativeColors Sass WebDevelopment
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.

DeepLinking Frontend MobileDevelopment ReactNative Tutorial WebDevelopment
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.

AdaptiveRateLimiting Backend RateLimiting ServerManagement UserExperience WebDevelopment
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.

GitHub MergeStrategies PullRequests SoftwareDevelopment Tools VersionControl
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 Caching NPlusOneQueries Ruby on Rails RubyOnRails SoftwareEngineering WebDevelopment
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.

CareerGrowth CommunicationSkills EngineeringWriting KnowledgeSharing 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.

Citus12 Database DatabaseScaling MultiTenantApplications PostgreSQL RubyOnRails SchemaBasedSharding WebDevelopment
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.

DataStructures Ruby RubyOnRails SoftwareDevelopment Struct WebDevelopment
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.

ActiveRecord Backend Ruby on Rails RubyOnRails SoftwareEngineering ValueObjects WebDevelopment
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.

ActionMailer Backend EmailDelivery Rails71 Ruby on Rails RubyOnRails WebDevelopment
Added: 20 Jul 2023
Beware of <%== in your erb files

The danger of an extra equals

ERB Frontend Rails Ruby Ruby on Rails security WebDevelopment XSS
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.

ObjectOrientedProgramming RSpec Ruby Ruby on Rails Testing WebDevelopment
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 RubyOnRails Stimulus Turbo WebDevelopment
Added: 20 Jul 2023
Polymorphic Relationships in ActiveRecord - dick.codes

Full-stack Ruby on Rails engineer. Blogs about programming topics.

ActiveRecord Backend PolymorphicRelationships Ruby on Rails RubyOnRails SoftwareEngineering WebDevelopment
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?

ActiveRecord Backend Metaprogramming RailsConcerns Ruby on Rails RubyOnRails WebDevelopment
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 RailsRoutes Routing Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
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

CoordinatorPattern iOSDevelopment MobileAuthentication Ruby on Rails RubyOnRails SwiftUI TurboNative
Added: 14 Jul 2023
Push to Subscribe

Integrating Web Push with Rails

Backend DevelopmentTutorial Frontend Notifications Ruby on Rails RubyOnRails ServiceWorker WebPush
Added: 13 Jul 2023

Week 2023-27

Pattern Matching on Ruby Objects

Learn how to implement pattern matching on Ruby objects.

ActiveRecord Backend CodeReadability PatternMatching Ruby RubyDevelopment WebDevelopment
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.

CareerDevelopment EngineeringSkills Feedback Leadership RubyOnRails Soft Skills TeamWork
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.

DataAnalysis PostgreSQL RubyOnRails SQL WebDevelopment
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 Flask FullCalendar iCalendar Javascript PostgreSQL Python RRULE WebDevelopment
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 Enums PostgreSQL Rails7 Ruby on Rails RubyOnRails WebDevelopment
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

AWS Deployment DevOps GitHub MRSK RubyOnRails Traefik WebDevelopment
Added: 30 Jun 2023
Rails nested form (new gem with Stimulus)

Handle dynamic nested forms, same as Cocoon, but using StimulusJS.

Frontend NestedForms Rails RondoForm Ruby Ruby on Rails StimulusJS WebDevelopment
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.

Accessibility CSS HTML Javascript MDN Mozilla Tools WebAPIs WebDevelopment
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.

CodeEfficiency Lambdas Programming Ruby WebDevelopment
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.

ContinuousLearning DeveloperCulture DeveloperWellbeing EngineeringManagement Soft Skills TeamProductivity
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.

CLI Rake Ruby Ruby on Rails RubyOnRails SoftwareDevelopment Thor WebDevelopment
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.

85PercentRule BurnoutPrevention Consulting ManagementCulture SustainableEffort TopPerformingTeams
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

DevTools Frontend Javascript Lighthouse Optimization Shopify WebPageTest WebPerformance
Added: 30 Jun 2023
Move Fast & Avoid Sharp Edges

Our Journey to Kubernetes, With a Little Help from Porter

DevOps HTTP307 RubyOnRails TemporaryRedirect WebDevBasics WebDevelopment
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...

BeginnerFriendly Javascript Programming Ruby WebDevelopment
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 Docker Dockerfile PlanetScale Ruby on Rails RubyOnRails WebDevelopment
Added: 30 Jun 2023
Take the Outside View: A solution to the planning fallacy

Optimism is our kryptonite but history is our saviour.

Agile Consulting Estimation PlanningFallacy ProjectManagement RubyOnRails SoftwareDevelopment
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.

CareerGrowth CircleCI CompetencyMatrix EngineeringManagement WebDevelopment
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....

Authentication Backend Devise Rails Ruby Ruby on Rails Tutorial WebDevelopment
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.

BlankPageProblem Consulting OvercomingProcrastination Productivity Thoughtbot WebDevelopment WritingTips
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 Performance Ruby on Rails RubyOnRails SelectVsPluck WebDevelopment
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.

DesignPatterns Ruby Ruby on Rails RubyOnRails SoftwareArchitecture WebDevelopment
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…

Composition Consulting Inheritance ObjectOrientedProgramming Ruby Ruby on Rails SoftwareDevelopment WebDevelopment
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.

AssetPipeline DevOps Propshaft Ruby on Rails RubyOnRails SprocketsMigration WebDevelopment
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...

AttributeBuilders FormHelper Frontend OpenSource Ruby Ruby on Rails RubyOnRails WebDevelopment
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 ContentUnavailable Ruby on Rails RubyOnRails WebDevelopment
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. ...

CMS FormHandling Frontend NPlus1Query RailsTips Ruby on Rails RubyOnRails WebDevelopment
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...

ActionView FormHelpers Frontend Rails Ruby Ruby on Rails WebDevelopment
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.

active Backend railstricks Ruby on Rails Transactions
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

Blogging ContentCreation Ruby TechnicalWriting WebDevelopment
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 Capybara Cuprite PerformanceOptimization Rails Ruby on Rails Selenium Testing WebDevelopment
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.

ActiveJob Backend JobProcessing Rails Ruby on Rails RubyOnRails WebDevelopment
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...

Agile Coding Collaboration PairProgramming RemoteWork Soft Skills SoftwareDevelopment
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...

404Error Consulting ErrorHandling UserExperience WebDevelopment
Added: 18 Jun 2023
5 Questions to Define Your Product Strategy

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

Agile ProductStrategy RubyOnRails UserExperience WebDevelopment
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 BusinessLogic DCI ProgrammingPatterns Ruby on Rails RubyOnRails WebDevelopment
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 NanoID Rails Ruby Ruby on Rails UniqueIdentifiers WebDevelopment
Added: 17 Jun 2023
Deploying a Rails app with MRSK

What is MRSK?

Caddy Deployment DevOps Docker MRSK Rails Ruby Ruby on Rails WebDevelopment
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...

BestPractices Collaboration PairProgramming RubyOnRails Soft Skills SoftwareDevelopment WebDevelopment
Added: 15 Jun 2023
Using a Single Input for one-time-code

The other night I had a bit of fun trying to create a single-input one-time-code: one-time-code is...

CSS Frontend Javascript OTP UserExperience WebDevelopment
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...

CareerAdvice MentalModels Programming SeniorDeveloper WebDevelopment
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 CustomForms FormBuilder Frontend Rails Ruby on Rails RubyOnRails WebDevelopment
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 Generators Productivity Rails Ruby on Rails RubyOnRails Thor WebDevelopment
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.

BestPractices CodeQuality Consulting DeadCode Rails Ruby Ruby on Rails SoftwareDevelopment
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.

EmailIdentity RubyOnRails SAML SoftwareDesign UserExperience WebDevelopment
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.

ObjectOrientedProgramming Ruby SoftwareEngineering SOLIDPrinciples WebDevelopment
Added: 12 Jun 2023

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

Avatar DomainOwnership PersonalAvatar WebDevelopment WellKnownURLs
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 ResponsiveDesign ViewportUnits WebDevelopment
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

ActiveStorage AudioAnalyzer Backend Rails7 Ruby on Rails RubyOnRails WebDevelopment
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

ActiveRecord Backend RailsSecurity Ruby on Rails RubyOnRails SQLInjection WebDevelopment
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 ServerResponse URLRedirection WebDevelopment
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.

ActiveStorage Backend Frontend ImageManagement Ruby on Rails RubyOnRails Tutorial WebDevelopment
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

ActiveRecord Backend Enums Programming Rails Ruby on Rails RubyOnRails WebDevelopment
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 BestPractices Frontend I18N Internationalization Localization Phrase Rails Ruby on Rails RubyOnRails WebDevelopment
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.

CodingStandards Consulting DeveloperMindset RubyOnRails SoftwareDevelopment WebDevelopment
Added: 07 Jun 2023
5 tips for new Rails developers

5 tips for new Rails developers to be more productive and confident.

DeveloperTips LearningRails Rails Ruby Ruby on Rails WebDevelopment
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.

ActiveRecord Backend DatabaseConstraints ProgrammingBestPractices Rails Ruby on Rails WebDevelopment
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,...

ConstructiveCriticism Feedback ProfessionalDevelopment Soft Skills SoftwareEngineering TeamCommunication
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

Agile Consulting Notion ProductDevelopment ProductManagement TechLeadership WebApplications
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...

301Redirects Cloudflare RubyOnRails SEO Tools WebDevelopment
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.

ActiveRecord Backend DataIntegrity Normalization Rails Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
Added: 02 Jun 2023
The Gateway Pattern

Use gateway classes to organize external API integrations and establish a clearer separation of concerns.

APIIntegration Backend CodingBestPractices GatewayPattern Ruby on Rails RubyOnRails SoftwareArchitectures
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 OpenUI selectmenu WebDesign WebDevelopment
Added: 01 Jun 2023
Sophisticated, Simple, and Affordable Background Workers

How to design a queueing system to manage complex background jobs

Backend BackgroundWorkers JobManagement Rails Ruby Ruby on Rails Sidekiq WebDevelopment
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.

Modularization Programming Rails Ruby on Rails RubyOnRails SoftwareArchitecture WebDevelopment
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:

ActiveStorage Backend FileUpload Frontend RailsTips Ruby on Rails RubyOnRails WebDevelopment
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 link_to Rails Ruby on Rails RubyOnRails security WebDevelopment XSS
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.

AnonymousFunctions Blocks Lambdas Procs Ruby WebDevelopment
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 OpenAI pgvector Rails Recommendations Ruby Ruby on Rails WebDevelopment
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.

BestPractices DeveloperTools Logging LogManagement Ruby Ruby on Rails RubyOnRails Tools WebDevelopment
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 HTTPStatusCodes Soft Skills WebApplications WebDevelopment
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 BestPractices CodeSmells DomainModeling Ruby RubyOnRails WebDevelopment
Added: 29 May 2023

Taking a look at how to use a Common Table Expression in Active Record queries in Rails 7.1+

ActiveRecord Backend CommonTableExpressions CTEs DatabaseQueries Rails7 Ruby on Rails RubyOnRails WebDevelopment
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 CleanCode Design DesignPatterns Ruby on Rails RubyOnRails ScoutAPM SoftwareEngineering WebDevelopment
Added: 28 May 2023

This post explores how flog, a tool that analyzes the complexity of your code, can identify areas to refactor.

Backend CodeRefactoring FlogDrivenDevelopment Metaprogramming Ruby Ruby on Rails SoftwareDesign
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 Concurrency RaceConditions Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
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 DeveloperProductivity DevEx DORA SPACE SurveysInTech WebDevelopment
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...

CodingExtensions JuniorDevelopers RubyOnRails Tools VSCode WebDevelopment
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...

AnchorPositioning CSS Javascript PopoverAPI UX WebDev
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.

ActiveRecord Backend NPlusOneQueries PerformanceOptimization PostgreSQL Ruby on Rails RubyOnRails SQL WebDevelopment
Added: 25 May 2023
The OKR Cycle

What does a complete cycle of planning and delivering on OKRs look like. Here's an example.

AgileDevelopment Consulting ContinuousImprovement OKRCycle ProductDiscovery ProductManagement TeamAlignment
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.

AsyncWorkflows BurnoutPrevention Consulting RemoteWork Soft Skills SoftwareEngineering TeamWellbeing
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 BlogPost RubyOnRails Summary WebDevelopment
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...

DavidHeinemeierHansson PersonalGrowth SmallVsBigCompanies TechCareers
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.

B2BSoftware Collaboration Consulting GrowthStrategy ProductManagement TeamDynamics
Added: 12 May 2023
Rails 7.1 adds ActiveRecord::Base::normalizes

Rails 7 series | Rails 7.1 adds ActiveRecord::Base::normalizes.

ActiveRecord Backend DataNormalization normalize_attribute Ruby on Rails RubyOnRails WebDevelopment
Added: 12 May 2023
Changing the Parent Resource Parameter Key in Rails

tweaking the parent resource parameter key

Backend NestedResources RailsRouting Ruby on Rails RubyOnRails SoftwareEngineering WebDevelopment
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

CDN CloudFront DevOps PerformanceOptimization Rails Ruby on Rails RubyOnRails WebDevelopment
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 CustomGenerators Programming Rails Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
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 ExceptionHandling FaradayLoop Retry Ruby Ruby on Rails WebDevelopment
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.

ActiveRecord Rails railstricks Ruby Ruby on Rails WebDevelopment
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

BrowserCompatibility CSS Frontend FrontendDevelopment ScopedCSS WebDevelopment
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...

ActiveRecord Backend NPlus1Queries Optimization Preloading Ruby on Rails RubyOnRails
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.

CoachingAndMentoring Consulting EngineeringLeadership LeadershipSkills Soft Skills Staff Engineer TeamDevelopment TechManagement
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.

Agility Communication Consulting Leadership Management Soft Skills TeamStability Trust Wellbeing
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 Discourse Performance Ruby Ruby on Rails WebDevelopment YJIT
Added: 11 May 2023
Modern HTML email (tables no longer required)

Coding email like it's 2023

EmailMarketing Frontend HTMLEmail ResponsiveDesign WebDevelopment
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.

ActiveRecord api Backend Caching DevOps PerformanceOptimization Ruby on Rails RubyOnRails WebDevelopment
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,...

CareerDevelopment Leadership RubyOnRails Soft Skills TechLead WebDevelopment
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.

Animations CSS Flexbox Frontend Grid HeightAuto WebDevelopment
Added: 02 May 2023
Welcome to Rails Cheat Sheet

A helpful list of resources for people who are just getting started out with Rails.

DeveloperResources ProgrammingTools RailsCheatSheet RubyGems Ruby on Rails RubyOnRails WebDevelopment
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 RubyOnRails Summarization WebDevelopment
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 dev DevTalk partition Programming Rails Ruby Ruby on Rails WebDevelopment
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 OpenSource Resources WebDev
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.

ActiveStorage Backend DriftingRuby FileValidation Ruby on Rails RubyOnRails WebDevelopment
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.

BestPractices CodeQuality DevOps Ruby on Rails RubyOnRails StaticAnalysis
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 ImplicitRendering Phlex Rails Ruby on Rails RubyOnRails ViewComponents WebDevelopment
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.

Caddy DevOps mkcert Rails Ruby on Rails RubyOnRails SSL Testing WebDevelopment
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.

Cloud66 CloudHosting Containerization DevOps Docker Rails7 Ruby on Rails Vultr WebDevelopment
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 […]

CodeDuplication Ruby on Rails RubyOnRails SoftwareDevelopment Testing WebDevelopment
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.

ContainerManagement DeploymentTools DevOps HotDeployment Kamal Ruby on Rails RubyOnRails SRE WebDevelopment
Added: 27 Apr 2023
How to add custom methods to Rails console

You can add custom methods automatically available in the Rails console.

CustomMethods DevOps programmingtips RailsConsole Ruby on Rails RubyOnRails WebDevelopment
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 PDFGeneration PDFkit PDFs Prawn Rails Ruby Ruby on Rails WebDevelopment WickedPDF
Added: 24 Apr 2023
How Postgres Triggers Can Simplify Your Backend Development

Blog about Software Engineering

Backend Database development Optimization Postgres scale trigger
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.

ContactPickerAPI EvilMartians Frontend Javascript RubyOnRails WebDevelopment
Added: 23 Apr 2023
Node.js with Docker | RubyMine

You can find some examples at Quick Tour of WebStorm and Docker.

DevOps Docker NodeJS Programming RubyMine Tools WebDevelopment
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 DockerCompose HybridSetup RailsDevelopment Ruby on Rails RubyOnRails WebDevelopment
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 BackendArchitecture Consulting Design IdentityProvider OpenSource Ruby on Rails RubyOnRails WebDevelopment
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.

Docker DockerCompose RailsSetup Ruby on Rails RubyOnRails WebDevelopment
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.

ActiveRecord Caching PerformanceOptimization Ruby on Rails RubyOnRails WebDevelopment
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.

api Documentation Gem OpenAPI RSpec Ruby on Rails RubyOnRails Testing WebDevelopment
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 DevelopmentTools NPlus1Queries PerformanceOptimization RailsDevelopment Ruby on Rails RubyOnRails WebDevelopment
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.

color CSS Frontend opacity RubyOnRails WebDevelopment
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 PaymentIntegration Rails Ruby on Rails Stripe Tutorial WebDevelopment
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.

BlogSummary Frontend ImplicitLayouts Ruby on Rails RubyOnRails SoftwareArchitecture WebDevelopment
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.

ActiveRecord Backend DateOverlap Ruby on Rails RubyOnRails SQL WebDevelopment
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 […]

ContinuousIntegration FlakyTests Ruby on Rails RubyOnRails SoftwareTesting TestAutomation Testing WebDevelopment
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.

ActionMailer Backend MailerPreviews Rails Ruby on Rails RubyOnRails SoftwareEngineering WebDevelopment
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 FormValidation Frontend Inputomatic Ruby on Rails RubyOnRails UserExperience WebDevelopment
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?

Leadership NewManagers Prioritization Soft Skills SoftwareEngineering Staff Engineer TimeManagement
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?

ActiveRecord Backend DateTime DevelopersGuide Querying Ruby on Rails RubyOnRails TimeZones WebDevelopment
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...

AdminInterface Backend DynamicDataGrid Frontend HOTWire Ransack Ruby on Rails RubyOnRails WebApps WebDevelopment
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.

AppSignal AuditLogging Backend Ruby on Rails RubyOnRails SoftwareEngineering WebDevelopment
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 BusinessLogic CodeOrganization Modularity Rails Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
Added: 12 Apr 2023
RANK() vs DENSE_RANK() vs ROW_NUMBER() in SQL

Understanding the difference between these window functions in SQL

Backend HTTPStatus TemporaryRedirect WebDevelopment
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 JSX Rails React Ruby on Rails RubyOnRails Stimulus WebDevelopment
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.

ApplicationTemplates EvilMartians Rails Ruby RubyBytes Ruby on Rails WebDevelopment
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 FeatureFlags FlipperGem Ruby on Rails RubyOnRails SoftwareEngineering WebDevelopment
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.

DataManagement Decommissioning DevOps Migration Ruby on Rails RubyOnRails WebDevelopment
Added: 08 Apr 2023
Your company culture is a meaningless platitude – Dan Shapiro

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

CompanyCulture CorporateIdentity Leadership OrganizationalBehavior WorkplaceCulture
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!

dev DevCommunity DevTools GitHub Postgres Ruby Ruby on Rails RubyOnRails WebDevelopment
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:

Caddy DevOps HTTPS LocalDevelopment Puma Ruby RubyOnRails WebDevelopment
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 DarkPatterns Design EthicalDesign UserExperience UXDesign WebDevelopment
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 Rails railstricks Ruby on Rails SecureCoding vim WebDevelopment
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 ...

ActionText Backend BlogMigration Frontend Markdown Rails Ruby on Rails RubyOnRails WebDevelopment
Added: 06 Apr 2023
bliki: Slack

a bliki entry for Slack

Agile Consulting Productivity ProjectManagement RubyOnRails Slack SoftwareDevelopment
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...

Conferences Introverts Networking PersonalBranding ProfessionalGrowth PublicSpeaking RubyOnRails 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

Education GoRails JuniorDevelopers LearningPath Programming Rails Ruby Ruby on Rails RubyOnRails WebDevelopment
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 Middleware PerformanceOptimization Rails Ruby Ruby on Rails WebDevelopment
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...

Rails Ruby Ruby on Rails Testing WebDev
Added: 04 Apr 2023
Installation - Refine Laravel Docs

Refine is a paid package. To purchase, head to hammerstone.dev.

Backend Composer Frontend Hammerstone Installation Laravel Packages Refine Ruby on Rails WebDevelopment
Added: 04 Apr 2023
A Single file Rails Application

Did you know that you can create a single-file Rails application?

Consulting Programming Rails Ruby Ruby on Rails security WebDevelopment
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.

ActiveRecord Backend CodingBestPractices PolymorphicAssociations Ruby on Rails RubyOnRails WebDevelopment
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.)

AWS CloudFront DevOps GitHubActions Jekyll Ruby RubyOnRails S3 WebDevelopment
Added: 01 Apr 2023
Low Cost

Introduction On a cold and dark evening in December 2022, a good friend of mine calls me...

AWS DevOps InfrastructureArchitecture Kubernetes Microservices Startup
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.

Leadership Shopify StaffDeveloper Staff Engineer TechnicalExcellence WebDevelopment
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...

BestPractices Consulting RailsUpgrade RubyOnRails SoftwareUpgrades WebDevelopment
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 EngineeringManagement Leadership ParentalLeave Soft Skills TeamSuccess WorkplaceCulture
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:

ActiveRecord Backend OptimizingQueries Ruby on Rails RubyOnRails WebDevelopment WindowFunctions
Added: 30 Mar 2023
Search and Select Multiple with Rails and Hotwire

Selecting

Backend ChatApplication Frontend HOTWire pg_search Rails Ruby on Rails RubyOnRails StimulusJS WebDevelopment
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.

CareerAdvice Consulting GenderBias Leadership Soft Skills WomenInWorkplace WorkLifeBalance
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

Autoloading Backend Namespaces Rails Ruby on Rails RubyOnRails WebDevelopment
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.

AgileDevelopment Collaboration Consulting Design DigitalTools RemoteDesignSprints UX
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...

Coding CommandPattern Frontend Javascript Programming Tutorials WebDevelopment
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.

Benchmarking Flipper Gem Performance Ruby RubyGems Tools WebDevelopment
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 Grid HTML Subgrid UX WebDevelopment
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 Documentation Frontend Redirection WebDevelopment
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.

CodingTutorial FlashMessages Frontend HOTWire Rails Ruby on Rails RubyOnRails Stimulus Turbo WebDevelopment
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 BusinessLogic ECS GameDevelopment Ruby WebDevelopment
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 DataAggregation PerformanceOptimization Postgres Ruby on Rails RubyOnRails TimeSeriesData WebDevelopment
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...

DevContainers DevOps Docker Ruby on Rails RubyOnRails Tools VSCode WebDevelopment
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.

DatabaseMigration DevOps PlanetScale Rails Ruby on Rails RubyOnRails WebDevelopment ZeroDowntime
Added: 21 Mar 2023

GoodJob is a multithreaded, Postgres-based ActiveJob backend for Ruby on Rails.

Backend Frontend FrontendDevelopment Gem GoodJob Javascript RailsEngine Ruby on Rails RubyOnRails
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 CodingBestPractices REST Ruby on Rails RubyOnRails SoftwareArchitecture WebDevelopment
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 DesignSprint Eleventy OpenSource Thoughtbot WebDevelopment
Added: 17 Mar 2023
MRSK vs Fly.io

Comparison of MRSK and Fly.io

DevOps Docker Flyio MRSK Ruby on Rails RubyOnRails WebDevelopment
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

Agile Consulting DecisionMaking Frameworks Metrics Prioritization ProductDevelopment ProductManagement Railsware SaaS
Added: 17 Mar 2023
Working With Markdown in Ruby

This article explores how to use markdown in Ruby. Learn how to use two popular Ruby libraries—Redcarpet and Kramdown—to parse markdown and create a simple documentation app using Redcarpet and Sinatra.

Backend DevOps Documentation Frontend Kramdown Markdown Redcarpet Ruby Ruby on Rails Sinatra SoftwareDevelopment WebDevelopment
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.

AgilePractices Collaboration Consulting EngineeringTransparency Soft Skills StaffEngineers Trust
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.

Accessibility Design Frontend InterfaceDesign React UXDesign WebDevelopment
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 RubyOnRails Summarization WebDevelopment
Added: 14 Mar 2023
A journey towards better testing practices

Testing anti-patterns I learned to stay away from over the years.

MaintainableCode RSpec Ruby Ruby on Rails RubyOnRails SoftwareDevelopment Testing TestingBestPractices
Added: 14 Mar 2023
Assign a default value to an attribute in Active Record

You’ve probably been using callbacks. Don’t.

ActiveRecord Backend DefaultValues Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
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 CTEs PostgreSQL Rails Ruby Ruby on Rails Views WebDevelopment
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.

Capybara Mailers Nokogiri Rails Ruby on Rails RubyOnRails Testing WebDevelopment
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 Jest React Testing UIComponents VisualRegressionTesting WebDevelopment
Added: 11 Mar 2023
Stubbles - Stubbing and Doubles innit. 🧔

Confession: I’ve always struggled to understand the difference between stubbing and doubles…

Doubles RSpec Ruby Ruby on Rails RubyOnRails Stubbing Testing Thoughtbot UnitTesting WebDevelopment
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 Readability Typography WebDesign WebDevelopment
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 DesignSystems EveryLayout Frontend FrontendDevelopment WebDevelopment
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.

AssistiveTechnology CSS Frontend FrontendDevelopment WebAccessibility
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.

ActiveRecord Backend NPlusOne PerformanceOptimization Rails Ruby on Rails WebDevelopment
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

Git Merging Rebasing SoftwareDevelopment Tools VersionControl
Added: 07 Mar 2023
A taxonomy for alerts and notifications

Is it an Alert, Toast, Callout, Popup, Snackbar, or Notification?

Frontend RubyOnRails TemporaryRedirect WebApplications WebDevelopment
Added: 06 Mar 2023

Week 2023-9

Configuring Rails Environments

Despite its strong opinions and powerful conventions, Rails is a highly flexible and configurable framework. If you don’t like something, there’s almost certainly a way to change it. This article provides a brief overview of configuring Rails applications and environments.

Backend Ruby on Rails
Added: 05 Mar 2023
A Guide to PostgreSQL Views

Understanding PostgreSQL views and materialized views is essential to fully grasp one of the most popular features in Timescale that will save you time and disk space: continuous aggregates.

AI Backend DataAnalytics DatabaseManagement PostgreSQL Timescale TimeSeries WebDevelopment
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.

CareerAdvice DeveloperTools Flexibility React Tools WebDevelopment
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.

AppSignal Backend ErrorTracking Logging Ruby on Rails RubyOnRails WebDevelopment
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 NPlusOne Preloading Rails Ruby Ruby on Rails WebDevelopment
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 EphemeralState Kredis Rails Ruby on Rails RubyOnRails WebDevelopment
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 ModularDesign Rails RailsEngine Ruby Ruby on Rails WebDevelopment
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.

Agile Consulting Innovation Retrospectives RubyOnRails TeamDynamics WebDevelopment
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 hash Immutability Rails Ruby Ruby on Rails
Added: 21 Feb 2023
Hotwire: Asynchronously loaded tooltips

Learn how to effectively render tooltips in Rails without writing any JavaScript.

CSS Frontend HOTWire LazyLoading PerformanceOptimization Ruby on Rails RubyOnRails Tooltips Turbo WebDevelopment
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

HTTPStatus Ruby on Rails RubyOnRails TemporaryRedirect Tools WebApplications WebDevelopment
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.

Agile Basecamp CardTable Consulting Frontend JetpackCompose Kanban MobileDevelopment Ruby on Rails UserExperience WebApplications
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.

ActiveRecord Backend CreateWith Rails Ruby on Rails RubyOnRails WebDevelopment Where
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 Documentation LegacyCode ModularArchitecture ProcessImprovement Soft Skills SoftwareDevelopment TeamEfficiency TechDebt
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!

Animations CSS CSSTips Debugging Frontend Selectors WebDevelopment
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.

BadgingAPI Frontend iOS iPadOS TechUpdate WebApps WebDevelopment WebPush
Added: 16 Feb 2023
A method's gravity

#small #methods #code #design #ruby

BestPractices Coding MethodGravity Ruby SoftwareDevelopment
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 CGI Ruby Ruby32 RubyOnRails URIEscaping WebDevelopment
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.

ActiveRecord AsyncQueries CTEs Rails7 Ruby on Rails RubyOnRails WebDevelopment
Added: 15 Feb 2023
Adding Sorbet to a Rails project

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

Backend Ruby on Rails RubyOnRails Sorbet StaticTyping Tapioca Tools TypeChecking WebDevelopment
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

ButtonElements FormAttributes Frontend HTML WebDevelopment
Added: 13 Feb 2023
Try not to loop through associations inside jobs

Your local data isn’t the same as in production

ActiveRecord Backend BackgroundJobs NPlusOneProblem PerformanceOptimization Ruby on Rails RubyOnRails WebDevelopment
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 Programming Ruby SoftwareDevelopment WebAssembly WebDevelopment
Added: 12 Feb 2023
ActiveRecord: finally understand transactions | Younes.codes

How to use ActiveRecord transactions, handle errors and avoid pitfalls.

ActiveRecord Backend DatabaseManagement Ruby on Rails RubyOnRails Transactions WebDevelopment
Added: 11 Feb 2023
Rails Concerns: To Concern Or Not To Concern | AppSignal Blog

Should you be concerned about Rails concerns?

Backend CodeQuality Concerns Rails Ruby on Rails RubyOnRails SoftwareDevelopment
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.

api Backend JSON Ruby on Rails RubyOnRails Serialization Serializers WebDevelopment
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.

ActiveRecord AutomatedDeployment MVC Programming Ruby on Rails RubyOnRails SoftwareTesting WebDevelopment
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 Rails Ruby on Rails RubyOnRails Sidekiq Slack WebDevelopment
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

HTTPStatusCodes Redirection RubyOnRails Soft Skills WebDevelopment
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

301Redirect Backend Cloudflare HTTPStatusCode Ruby on Rails SEO WebDevelopment
Added: 08 Feb 2023
Three attributes for better web forms

Better UX through better HTML: inputmode, enterkeyhint, and autocomplete.

Accessibility Frontend HTML InputForms UX WebDevelopment
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 FeatureFlags RSpec Ruby on Rails RubyOnRails SoftwareDevelopment 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.

DecreePattern DesignPatterns Rails Ruby Ruby on Rails WebDevelopment
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?

Cache Cookies Database Rails Ruby on Rails RubyOnRails SessionManagement Sessions WebDevelopment
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.

ActionText HOTWire Javascript Rails Ruby on Rails RubyOnRails Summarization Trix TurboFrames WebDevelopment
Added: 02 Feb 2023
How to bundle assets in a Rails engine

Load, parse, compile, and serve assets efficiently in a Rails Engine.

AssetBundling AvoCMS RailsEngines Ruby on Rails RubyOnRails WebDevelopment
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!

Blazer BusinessIntelligence DataAnalysis Packages Ruby on Rails RubyOnRails WebDevelopment
Added: 02 Feb 2023
Creating an AI email parser using Ruby and OpenAI (GPT-3)

You may frequently need to extract crucial information from emails in your role as a developer. This...

AI EmailParser GPT3 OpenAI Ruby WebDevelopment
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...

ActiveStorage ImageOptimization Performance Ruby on Rails RubyOnRails WebDevelopment
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.

BruteForce RailsSecurity Ransack Ruby on Rails RubyOnRails SecurityVulnerabilities WebDevelopment
Added: 02 Feb 2023
A Guide to Rails View Helpers | AppSignal Blog

Find out how you can keep your Rails views readable using helpers.

CleanCode Frontend Rails Ruby on Rails RubyOnRails ViewHelpers WebDevelopment
Added: 01 Feb 2023
Seven Shipping Principles

Core fundamentals that inform how we go about building — and shipping — great software at a sustainable pace.

37signals AgileMethodology Basecamp Consulting QualityAssurance RubyOnRails ShippingPrinciples SoftwareDevelopment
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...

BackendDevelopment Database Rails Ruby Ruby on Rails Tutorial WebDevelopment
Added: 01 Feb 2023
Building Custom RSpec Matchers with Regular Objects

RSpec custom matchers can be written using plain old objects.

CustomMatchers failure_message matches Rails RSpec Ruby Ruby on Rails Testing WebDevelopment
Added: 01 Feb 2023
Unlock the Potential of VS Code for Ruby Programming

A guide to a free Ruby development environment

HTTPStatus Redirects Ruby Ruby on Rails RubyOnRails WebDevelopment
Added: 01 Feb 2023
How Coda builds product

Lane Shackleton, CPO at Coda, shares his team’s actual templates, processes, and many lessons learned

Agile Coda Consulting OKRs ProductDevelopment TeamDynamics
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?

BestPractices Collaboration Consulting DesignDocs Documentation RFCs SoftwareEngineering
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…

AnyCable AWS DevOps Docker ECS Rails Ruby Ruby on Rails WebSockets
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...

ActiveRecord DatabaseViews ORM Rails Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
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 ...

development HabitSystem Motivation Productivity RubyOnRails Soft Skills WebDevelopment
Added: 24 Jan 2023
Only use locals in view partials

It helps keep your state manageable

BestPractices Rails Ruby Ruby on Rails ViewPartials WebDevelopment
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.

ActiveRecord Lambdas Procs Ruby WebDevelopment
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!

2022ToolRoundup CSS Design FrontendDevelopment Javascript SmashingMagazine WebDev WebDevelopmentTools
Added: 21 Jan 2023
Rails on Docker

Rails 7.1 will include a Dockerfile to help ease production deployments

DevOps Docker Flyio Rails Ruby on Rails RubyOnRails WebDevelopment
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

CodeQuality Rails Refactoring Ruby RubyOnRails SingleResponsibilityPrinciple SoftwareDevelopment
Added: 20 Jan 2023
Gemfile of dreams: the libraries we use to build Rails apps—Martian Chronicles, Evil Martians’ team blog

We unveil the toolbox of the Martian Rails engineer; we begin constructing a Gemfile from the universe of Martian gems that encapsulate our philosophy and soul.

Consulting EvilMartians Gemfile Programming RailsLibraries Ruby on Rails RubyOnRails WebApps WebDevelopment
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 DatabaseManagement DevOps JSONB PostgreSQL RubyOnRails WebDevelopment
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 Rails RubyOnRails security SSRF WebSecurity
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.

ActiveStorage FileStreaming Rails7 Ruby on Rails RubyOnRails send_blob_stream WebDevelopment
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.

ActionMailer Backend BestPractices Mailers Rails Ruby on Rails RubyOnRails WebDevelopment
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.

DataPersistence DevOps Docker Litestream LogPaste Serverless SQLite WebDevelopment
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.

ActiveRecord becomes Rails Ruby on Rails RubyOnRails WebDevelopment
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 InlineEditing Rails Ruby on Rails Turbo WebDevelopment
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.

DSL Parsing Rails Ruby Ruby on Rails RubyOnRails WebDevelopment
Added: 11 Jan 2023
Don't just do it

Understanding the need behind a change is important to build better software. Here’s why.

AgileDevelopment Communication Consulting RubyOnRails SoftwareDevelopment Thoughtbot
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.

Capybara IntegrationTesting Minitest Ruby on Rails RubyOnRails SoftwareTesting WebDevelopment
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.

APIVersioning RailsAPI Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
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.

Rails Ruby on Rails SelfSignedCerts ServiceWorkers SSL WebDevelopment
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...

CostEffective DevOps Hatchbox Ruby on Rails RubyOnRails Sidekiq SQLite VPS WebDevelopment
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

ActiveRecord disable_joins multi Rails7 Ruby on Rails RubyOnRails WebDevelopment
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

DataClass Initialization initialize Ruby SoftwareDesign WebDevelopment
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. …

Metaprogramming programmingtips Rails Ruby WebDevelopment
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

RSpec Ruby on Rails RubyOnRails TDD TestDrivenDevelopment WebDevelopment
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…

HTTPCodes Redirect Ruby RubyOnRails WebApplications WebDevelopment
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

CodingTips DynamicWeb EventHandling Interactivity Javascript WebDevelopment
Added: 31 Dec 2022
Time management for makers

As makers, software engineers should adopt these 7 essential habits.

Consulting Productivity RubyOnRails Soft Skills SoftwareEngineering TimeManagement WebDevelopment
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

DigitalStrategy SEO UX WebDesign WebDevelopment
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.

ActiveRecord ContextSpecificValidation Rails Ruby on Rails RubyOnRails SoftwareDevelopment Validation WebDevelopment
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.

ActiveStorage FilePond FileUploads Ruby on Rails RubyOnRails WebDevelopment
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.

Authentication Rails Ruby on Rails RubyOnRails SoftwareEngineering WebDevelopment
Added: 25 Dec 2022
Creating a career progression framework for engineers

How to build a clear and transparent process for supporting engineering career progression.

CareerProgression Consulting EmployeeRetention EngineeringManagement ProfessionalDevelopment TechCareers
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 InterviewQuestions UsabilityTesting UserExperience UserInterviews UXResearch
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.

ContinuousIntegration GitHubActions Packages Rails Ruby SoftwareDevelopment Testing WebDevelopment
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 ...

CodingPractices Consulting RubyOnRails SoftwareEngineering TechnicalDebt WebDevelopment
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...

Android iOS Navigation Rails Ruby on Rails Turbo WebDevelopment
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.

Devise HOTWire Programming Ruby on Rails RubyOnRails TurboStreams WebDevelopment
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.

HTTPStatus Redirects Ruby on Rails RubyOnRails WebDevelopment
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...

Beginner Generators Rails Ruby Ruby on Rails WebDevelopment
Added: 17 Dec 2022
Inside the mind of a frontend developer: Article layout - Ahmad Shadeed

An exploration of how a frontend developer thinks while building an article layout.

CSS FrontendDevelopment GridLayout ResponsiveDesign WebDesign WebDevelopment
Added: 16 Dec 2022
Agile Projects Have Become Waterfall Projects With Sprints

All the agility has been sucked out of agile projects

Consulting HTTP Redirect RubyOnRails WebApplications WebDevelopment
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!

AdvancedForms FormTechniques HTMLWithoutJavaScript RailsDevelopment Ruby on Rails WebAccessibility
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

ResourceModeling REST Ruby on Rails RubyOnRails StaticPages WebDevelopment
Added: 16 Dec 2022
Read This Post 'Unless' You're Not A Ruby Developer

Disclaimer: prepare for hair-splitting and nitpicking

CodeReadability JesseDuffield Programming Ruby WebDevelopment
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 EmpathyInLeadership EngineeringLeadership StaffPlus TeamCollaboration TeamProductivity
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 EngineeringManagement LeadershipStrategies RubyOnRails TeamAutonomy WebDevelopment
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

AccessibilityTesting DeveloperResources JAWS ManualTesting NVDA ScreenReaders VoiceOver WebDevelopment
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.

ErrorMessages InteractionDesign usability UserExperience WebDesign
Added: 13 Dec 2022
This week in #dev (Pilot)

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

dev DevTips RubyOnRails Thoughtbot WebDevelopment
Added: 13 Dec 2022
Rails’ safety mechanisms

A comprehensive overview of Rails’ many safety features that can help you prevent painful mistakes.

CredentialsManagement DevelopmentEmails NPlusOne RailsSafety Ruby on Rails RubyOnRails StrongParameters WebDevelopment
Added: 13 Dec 2022
Just Use Postgres for Everything

Startups use too much technology. My advice: Use Postgres for everything

BackendDevelopment Database DevOps PostgreSQL RubyOnRails Simplicity TechnicalDebt WebDevelopment
Added: 12 Dec 2022
Figma UI Starter Kit

New Figma resource, a lightweight UI design starter kit to save you time.

Design DesignKit Figma OpenSource Thoughtbot UI
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.

Animations HOTWire Javascript Ruby on Rails RubyOnRails TurboStreams WebDevelopment
Added: 12 Dec 2022
HTMHell Advent Calendar 2022 - HTMHell

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

Accessibility AdventCalendar HTMHell HTML Performance security UX WebDevelopment
Added: 12 Dec 2022

Week 2022-49

Scrum Has Failed the Developers

But there’s a way out of the misery

Agile DeveloperExperience Scrum SoftwareDevelopment WorkplaceEfficiency
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

Animation CSS ImageSlider Polaroid WebDevelopment
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...

DailyStandups Gitinerary Javascript RemoteWork RubyOnRails WebDevelopment
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.

ContinuousIntegration DevOps Ruby Ruby on Rails RubyOnRails SiteReliabilityEngineering SRE TechnicalDebt WebDevelopment
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...

InternetConnection Javascript NavigatorAPI UserExperience WebDevelopment
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.

ContinuousIntegration FlakyTests Rails Ruby Ruby on Rails RubyOnRails Testing TimeDependence WebDevelopment
Added: 07 Dec 2022
From Paperclip to Active Storage at scale

My experience of migrating from Paperclip to Active Storage on a production site.

ActiveStorage Cloudflare DevOps Migration Paperclip Ruby on Rails RubyOnRails WebDevelopment
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?

GPT3 ProgrammingAnalogies RubyOnRails SoftwareDevelopment SOLIDPrinciples
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.

301Redirect Cloudflare HTTPStatusCodes Ruby SEO WebDevelopment
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

ActiveRecord __callbacks Callbacks Debugging LegacyCode Ruby on Rails RubyOnRails WebDevelopment
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 ContainerOrchestration DevOps k8s Kubernetes Microservices WebDevelopment
Added: 03 Dec 2022
Ruby multithreaded crawler

A Ruby multithreaded crawler is a type of web crawler that is built using the Ruby programming...

Crawlers Multithreading Nokogiri Ractors Ruby Tutorial WebDevelopment
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.

DataVisualization DevOps eCommerce Golang RealTimeData ServerSentEvents Shopify WebDevelopment
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.

Authentication AuthenticationZero Devise Ruby on Rails RubyOnRails SecureCoding UserAuthentication WebDevelopment
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...

ActiveRecord BestPractices DRY QueryObject Ruby Ruby on Rails RubyOnRails SoftwareDesign WebDevelopment
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.

DeveloperSatisfaction EngineeringLeadership ScalingChallenges TechDebt WebDevelopment
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

Coding HandwritingCode programmingtips RubyOnRails WebDevelopment
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.

1on1 EmployeeEngagement Feedback Management WorkplaceCulture
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.

EmployeeRetention EngineeringCulture OrganizationalDevelopment SoftwareEngineering TeamEngagement
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

Accessibility CSS HTML RubyOnRails WebDevelopment
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.

CLI RSpec Ruby SoftwareTesting Testing Thor WebDevelopment
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

BusyLevels MentalHealth Productivity SelfAwareness WebDevelopment WorkLifeBalance
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.

Accessibility Dialogs Modality Popovers UIComponents WebDevelopment
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 ResponsiveDesign VisibilityProperty WebDevelopment
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 […]

CodingBestPractices Memoization PerformanceOptimization Ruby WebDevelopment
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.

BiometricAuthentication Javascript RubyOnRails security WebAuthn WebDevelopment
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.

301Redirect Consulting HTTPStatus RubyOnRails SEO WebDevelopment
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 ModernCSS ResponsiveDesign ViewportUnits WebDevelopment
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 RubyOnRails Summary WebDevelopment
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.

DomainDrivenDesign EventHandling RailsEventStore Ruby RubyOnRails Webhooks
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 DeveloperTips ProjectManagement RubyOnRails SoloDevelopment WebDevelopment
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.

Administrate ConfigurationManagement Ruby on Rails RubyOnRails SingletonPattern WebDevelopment
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.

AlexaSkill Consulting Localization Ruby RubyOnRails VoiceInteraction WebDevelopment
Added: 18 Nov 2022
Web Components Can Now Be Native Form Elements

Here’s the complete guide to customised form controls

HTTP Javascript Redirects RubyOnRails WebDevelopment
Added: 17 Nov 2022
Turbo Streams meets Action Cable

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

ActionCable HOTWire Rails Ruby on Rails Turbo WebSockets
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 LeanStartup MVP ProductManagement Railsware RubyOnRails WebDevelopment
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.

ActiveRecord AdvisoryLocks Concurrency hash Hashing PostgreSQL Ruby Ruby on Rails RubyOnRails SoftwareDevelopment
Added: 16 Nov 2022
For each loops with LATERAL Joins - Database Tip

A join can normally only link two static result sets together, but with LATERAL joins an efficient for-each loop with dependent subqueries can be used.

Database LATERALJoins RubyOnRails SQL WebDevelopment
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.

Animations CSS CubicBezier SmashingMagazine WebDevelopment
Added: 16 Nov 2022

Making a DNS query in Ruby from scratch

DNS Networking ProgrammingTutorials Ruby WebDevelopment
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.…

Accessibility ARIACodeSmell AssistiveTechnology RubyOnRails WebDevelopment
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…

a11y Accessibility AssistiveTechnology RubyOnRails usability WCAG WebDevelopment
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.

Automation Binstubs Deployment DevOps Git Ruby on Rails RubyOnRails WebDevelopment
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.

Deployment DevOps Docker Flyio PostgreSQL Rails Redis Ruby on Rails RubyOnRails Sidekiq WebDevelopment
Added: 14 Nov 2022

Week 2022-45

Ryan Bigg - A replacement for strong parameters

A replacement for strong parameters

DrySchema MaintainingRails Ruby on Rails RubyOnRails StrongParameters WebDevelopment
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

ActiveRecord Associations Extensions Rails Ruby on Rails RubyOnRails WebDevelopment
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.

CodingBestPractices RouteManagement Ruby on Rails RubyOnRails SoftwareEngineering WebDevelopment
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.

BiasReduction DiversityAndInclusion HiringProcess HiringStrategies InterviewRubric softskills TechnicalInterviews
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

LearningPath Ruby Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
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 Productivity Ruby on Rails RubyOnRails Soft Skills UserExperience WebDevelopment
Added: 10 Nov 2022
Unlearn programming to learn Ruby

Why the Ruby philosophy is the exact opposite of other programming languages?

DeveloperHappiness LearningRuby Programming Ruby RubyOnRails WebDevelopment
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?

BurnoutPrevention MentalHealth MinimumViableDay WorkplaceProductivity
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 CodeOptimization Consulting Programming RubyOnRails SoftwareDevelopment WebDevelopment
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.

Agile DeepWork DeveloperVelocity Productivity SoftwareDevelopment
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.

ActiveRecord Features Rails Ruby Ruby on Rails RubyOnRails security TokenAuthentication VersionUpdate WebDevelopment
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.

AMA Consulting EventRecap MVP ProductManagement ProductStrategy RemoteTeams StakeholderAlignment UserFeedback
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.

301Redirect CSS HTTPStatus Javascript OpenResty RubyOnRails WebDevelopment
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.

DatabaseTerminology Developers Postgres RubyOnRails WebDevelopment
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.

CSP Rails Ruby on Rails RubyOnRails security SecurityBestPractices WebDevelopment XSS
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

APIs CodeMaintainability IntegrationTesting Ruby Ruby on Rails RubyOnRails ServiceWrappers WebDevelopment
Added: 03 Nov 2022
Making changes safely at scale

Move fast but don’t break things.

AgileDevelopment Consulting DevOps FeatureFlags Observability RubyOnRails SoftwareTesting WebDevelopment
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...

DependentDropdowns HOTWire Javascript Ruby on Rails RubyOnRails TurboStreams WebDevelopment
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.

DatabaseUpgrades DataManagement OneSignal PostgreSQL Scaling SoftwareBloat
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

BestPractices CodeReadability Ruby WebDevelopment
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.

AWS Cloud66 Deployment DevOps Rails Ruby on Rails WebDevelopment
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.

BrowserAPI Javascript MachineLearning MotionControls WebApps WebDevelopment
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.

RSpec Ruby Ruby on Rails SoftwareEngineering Testing WebDevelopment
Added: 31 Oct 2022

Week 2022-43

The wasted potential of CSS attribute selectors

Developer and interaction designer.

Accessibility AttributeSelectors BEM CSS DeveloperExperience UX WebDevelopment
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 EmotionalLabor EngineeringManagement GoalSetting PerformanceReviews TeamAccountability
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.

Analytics ByteByteGo Consulting Database OLAP OLTP PostgreSQL TimeSeries WebDevelopment
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...

ActiveModel DateValidation Gem ORM Rails RubyOnRails WebDevelopment
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!

HTTPStatus Ruby on Rails RubyOnRails WebApplications WebDevelopment
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.

BurnoutPrevention MentalHealth ProfessionalDevelopment SelfCare WorkLifeBalance
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...

ActionText Emojis Javascript Ruby on Rails RubyOnRails Stimulus TributeJS Trix WebApps WebDevelopment
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.

ActionText Javascript Rails Ruby on Rails RubyOnRails Stimulus TableEditor Trix TurboFrames WebDevelopment
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

DomainRedirect RailsTips Ruby on Rails RubyOnRails SEO WebDevelopment
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

eCommerce Javascript PaymentRequestAPI WebDevelopment
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 HTML InteractiveDesign Javascript UIComponents WebDevelopment WebElements
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 […]

CodeClarity LooselyCoupledCode RailsDevelopment Ruby SoftwareEngineering
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…

BestPractices Migrations Rails Ruby on Rails RubyOnRails WebDevelopment
Added: 24 Oct 2022

Josh Clayton

ObjectInvariants PropertyTesting RSpec Ruby Ruby on Rails SoftwareQuality WebDevelopment
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.

AppServers Passenger Puma Rails Ruby Unicorn WebDevelopment
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

ColorScheme CSS DarkMode UserExperience WebDevelopment
Added: 23 Oct 2022
Time Ranges are Clearer When Querying Databases

Avoid text input to Active Record queries where you can

ActiveRecord DatabaseQueries RangeSyntax Ruby Ruby on Rails RubyOnRails WebDevelopment
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...

HTTPStatusCodes Redirects Ruby on Rails RubyOnRails WebDevelopment
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 […]

CodeOrganization programmingtips Rails Ruby Ruby on Rails RubyOnRails WebDevelopment
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.

AppSignal CodeQuality CodeSmells Ruby RubyCritic RubyOnRails WebDevelopment
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 MVP ProductDevelopment RubyOnRails SoftwareStrategy Validation
Added: 20 Oct 2022
Understanding Polymorphic Associations in Rails

The Ruby on Rails documentation defines polymorphic associations (PA) as: "A slightly more advanced...

PolymorphicAssociations Rails Ruby Ruby on Rails Tutorial WebDev
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

BigTech Consulting Europe JobMarket Salaries SoftwareEngineering TechCompensation
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...

Basecamp CloudComputing Decentralization DevOps Infrastructure WebDevelopment
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.

ChecklistDesign Design DesignResources UIDesign UXBestPractices WebDevelopment
Added: 19 Oct 2022
The Three Tech Projects You Meet in Hell

“One must imagine the senior engineer happy.”

Consulting ProjectManagement SoftwareDevelopment TeamDynamics TechManagement
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.

CodingTutorials Generators Rails Ruby Ruby on Rails RubyOnRails StimulusJS WebDevelopment
Added: 18 Oct 2022
Enumerating Musical Notes

This post utilizes a score of Array and Enumerable methods to model music notes.

guitar music Programming Ruby RubyConf
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.

BestPractices ComponentArchitecture FrontendBackendIntegration Ruby on Rails RubyOnRails ViewComponent WebDevelopment
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.

APIIntegration ClientClasses Ruby Ruby on Rails RubyOnRails SoftwareDesign Testing WebDevelopment
Added: 18 Oct 2022

Week 2022-41

Predict Wine Quality using MindsDB

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

MachineLearning MindsDB SQL Tutorial WineQuality
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.

AWS DevOps Lambda OCR Python TextExtraction Textract Tutorial WebDevelopment
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.

CareerGrowth Consulting Engineering GROWModel Mentorship ProfessionalDevelopment Soft Skills TechIndustry
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.

CodeQuality Git PullRequestDiscipline RubyOnRails SoftwareDevelopment
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 Microservices Ruby on Rails RubyOnRails ServiceOrientedArchitecture SoftwareDevelopment WebDevelopment
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

APIFetching BlockDevelopment RubyOnRails WebDevelopment WordPress
Added: 12 Oct 2022
Ruby on Rails 7 — High-performance frontend with Esbuild, Rollup & Vite

The title is a little misleading but not entirely. Keep reading; it will make sense.

Esbuild FrontendDevelopment Javascript Rollup Ruby on Rails RubyOnRails Vite WebDevelopment
Added: 12 Oct 2022
Rails: How I updated table with 26 million rows

If you ever wondering about updating a rails model with large records(magnitude of millions) this is for you.

HTTPStatus Ruby on Rails RubyOnRails TemporaryRedirect WebDevelopment
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 […]

AtomicCommits CodingBestPractices RubyOnRails SoftwareDevelopment VersionControl
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

EmojiDesign EmojiHacks RubyOnRails Unicode WebApplications WebDevelopment
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.

ActiveSupport CodingBestPractices DateComparison Ruby on Rails RubyOnRails SoftwareDevelopment
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!

CodingWorkshop Consulting Ruby Ruby on Rails RubyOnRails Teaching WebDevelopment
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

Notion URLRedirect WebDevelopment
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.

ContainerQueries CSS Flexbox Grid RachelAndrew WebDevelopment
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

CodeOptimization Dependencies Ruby RubyOnRails SoftwareDevelopment
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 Flyio PaaS Ruby on Rails RubyOnRails WebDevelopment
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.

COVID19 DevOps QueueingSystem Rails Redis Ruby on Rails Sidekiq SoftwareEngineering WebDevelopment
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.

AppDevelopment Bakery Confectionery Consulting DigitalTransformation FoodTech
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...

Accessibility HTML Programming WebDev
Added: 08 Oct 2022
Turbo 7.2: A guide to Custom Turbo Stream Actions

Marco Roth - marcoroth.dev

CustomActions Javascript Rails Ruby on Rails Turbo TurboPower WebDevelopment
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...

DataDefine ImmutableData Ruby RubyOnRails WebDevelopment
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.

Agile Consulting CrossFunctionalCollaboration EngineeringManagement ProductDevelopment Soft Skills TeamStructures TrifectaModel
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 ...

Debugging DevelopmentEnvironment PumaDev RailsDevelopment Ruby on Rails RubyOnRails WebDevelopment
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.

BestPractices CodingSecurity RailsSecurity Ruby on Rails RubyOnRails WebDevelopment
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.

HTTPArchive WebAlmanac2022 WebDevelopment WebProtocols WebTrends
Added: 06 Oct 2022
Dynamic forms with Turbo

Fetch fresh fields from your servers with Turbo Frames.

DynamicForms HOTWire Javascript ProgressiveEnhancement Ruby on Rails RubyOnRails Stimulus Turbo WebDevelopment
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...

CodeQuality Jekyll RSpec Ruby Testing WebDevelopment
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.

Accessibility ComplexDesign Design RubyOnRails UI WebDevelopment WebTables
Added: 05 Oct 2022
Prove Me Wrong (A Reminder to Myself)

Maybe the real treasure was the mistakes I made along the way.

Assumptions Consulting Debugging ProblemSolving RubyOnRails SoftwareDevelopment Testing
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.

Dagster DatabaseArchitecture Kafka MessageQueue Postgres SoftwareEngineering WebDevelopment
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?

DesignPatterns FactoryPattern OOP RubyOnRails SoftwareDevelopment UML
Added: 05 Oct 2022
Event Streaming in Rails with Kafka

Original post

EventStreaming Kafka Karafka Rails RealTimeData Ruby on Rails RubyOnRails SoftwareEngineering WebDevelopment
Added: 04 Oct 2022
Rendering Collections in Rails

Partials are a great way to break down complex view into more manageable...

CodingBestPractices Partials RenderCollections Ruby on Rails RubyOnRails WebDevelopment
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

InfiniteScroll Javascript Rails Ruby on Rails RubyOnRails Stimulus TurboStreams WebDevelopment
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.

Animations CSS Javascript RubyOnRails SharedElementTransitionsAPI UI WebDevelopment
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.

CleanCode PresenterPattern Ruby on Rails RubyOnRails SoftwareEngineering WebDevelopment
Added: 03 Oct 2022

Get your work recognized: write a brag document

BragDocument CareerGrowth Consulting PerformanceReview ProfessionalDevelopment SelfAdvocacy
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?”.

DependencyGraph let RSpec Ruby RubyOnRails Testing WebDevelopment
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.

ActiveSupport DateTimeCalculations Ruby RubyOnRails TimeExtensions WebDevelopment
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...

Beginners Programming Rails Ruby Ruby on Rails WebDevelopment
Added: 03 Oct 2022

Week 2022-39

Automate React Native App deployments

Use Fastlane and continuous integration to automate building React Native apps.

AppDeployment Automation CI DevOps Expo Fastlane MobileDevelopment ReactNative SoftwareDevelopment
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...

APIRetry ExponentialBackoff Gem Retriable RubyGem SoftwareEngineering WebDevelopment
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.

ActiveRecord ContinuousAggregates FinanceData PostgreSQL Ruby TimescaleDB WebDevelopment
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?

AnomalyDetection DataAnalytics PostgreSQL RubyOnRails UserBehavior WebDevelopment
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 HTTPStatusCodes RubyOnRails TemporaryRedirect WebDevelopment
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...

Agile DevDegree Mentorship PairProgramming Soft Skills SoftwareDevelopment TeamWork TechnicalEducation
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!

FrontendDevelopment Javascript TodoMVC vanillajs WebDevelopment
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...

ActiveModelSerializer APIs MVC Ruby on Rails RubyOnRails WebDevelopment
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

CustomActions Javascript ModalForms ModernWeb Rails7 Ruby on Rails RubyOnRails Stimulus TurboStreams WebDevelopment
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...

AgingProgrammer ContinuousLearning RubyOnRails Soft Skills TechnicalReflection WebDevelopment
Added: 25 Sep 2022
The Ultimate Ruby on Rails Cheatsheet

The Ultimate Ruby on Rails Cheat Sheet & Code Snippets General ...

404Error ErrorHandling Ruby on Rails UserExperience WebDevelopment
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 Error404 UserExperience WebDevelopment
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.

ActiveRecord BatchProcessing Rails71 Ruby on Rails RubyOnRails WebDevelopment
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 Holidays OpenSource Ruby RubyOnRails WebDevelopment
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…

HTTPStatusCodes Redirection RubyOnRails WebDevelopment
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.

AWS AWSFargate Deployment DevOps Docker Rails Ruby on Rails RubyOnRails WebDevelopment
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.

DevelopmentEnvironment Docker DockerCompose Ruby on Rails RubyOnRails WebDevelopment
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.

DatabaseManagement DataOptimization JuniorDevelopers PostgreSQL RubyOnRails SQL WebApplications WebDevelopment
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.

a11y Accessibility aria speechinput WCAG WebDevelopment
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.

Authentication EnterpriseIntegration RubyOnRails SaaS SingleSignOn SSO WebDevelopment WorkOS
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!

BestPractices CodingMistakes Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
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.

APIs FrontendDevelopment Internationalization Javascript Programming WebDevelopment
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.

ActionView MVC RailsGuides Ruby on Rails RubyOnRails WebDevelopment
Added: 18 Sep 2022

Easily write fluent integration tests.

Capybara IntegrationTests Ruby Ruby on Rails SoftwareDevelopment TestingTools
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.

CodeQuality Consulting IncrementalDevelopment Prototyping Ruby RubyOnRails SoftwareDevelopment TechnicalDebt Testing
Added: 17 Sep 2022
Working Iteratively

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

Agile ContinuousIntegration GitCommits IncrementalDelivery IterativeDevelopment RubyOnRails SoftwareDevelopment
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.

ActiveRecord Hypertables Ruby Ruby on Rails TimescaleDB TimeSeriesData WebDevelopment
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.

ContinuousLearning EngineeringManagement Leadership Productivity SelfReflection
Added: 15 Sep 2022
Designing APIs for humans: Error messages

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

api BestPractices DeveloperExperience ErrorMessages Programming Stripe WebDev
Added: 15 Sep 2022
Let's Not

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

CodeQuality RSpec Ruby Ruby on Rails Testing WebDevelopment
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.

ATS Devise HotwiredATS Ruby on Rails RubyOnRails Stimulus TurboFrames WebDevelopment
Added: 13 Sep 2022
Calendar component using ViewComponent and Hotwire

One possible way of rendering a simple calendar control

CalendarComponent HOTWire Javascript Ruby on Rails RubyOnRails Stimulus ViewComponent WebDevelopment
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.

Deployment DevOps Heroku RailsPreflightChecklist Ruby on Rails RubyOnRails SoftwareEngineering WebDevelopment
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.

Assets CSS ImportMaps Javascript PerformanceOptimization Propshaft Rails Ruby on Rails RubyOnRails Sprockets WebDevelopment
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 DevelopmentTips ImportMaps Javascript Rails7 Ruby on Rails RubyOnRails WebDevelopment
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

CaptureAttribute HTML MobileWeb UserExperience WebDevelopment
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.

HTTPStatusCodes Ruby SEO WebDevelopment WebRedirects
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...

BloomFilters DataStructures HashFunctions ProbabilisticDataStructures RubyOnRails WebDevelopment
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.

1Password CommitSigning Cybersecurity Git RubyOnRails SSH WebDevelopment
Added: 09 Sep 2022
🎓 Delegated Types

Delegated Types don’t work the way I thought they did

DelegatedTypes Rails Ruby on Rails RubyOnRails SingleTableInheritance WebDevelopment
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.

DelegatedTypes Polymorphism Rails Ruby on Rails RubyOnRails WebDevelopment
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...

Cheatsheet Debugging Ruby RubyOnRails SoftwareDevelopment WebDevelopment
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…

Accessibility CSS Forms HTML5 Javascript WebDevelopment WebUX
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.

Accessibility Forms HTML Javascript UX WebDevelopment
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.

BestPractices CleanCode CodeQuality Ruby on Rails RubyOnRails WebDevelopment
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,...

ActiveRecord CleanCode Refactoring Ruby Ruby on Rails RubyOnRails WebDevelopment
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.

Caching HOTWire Optimization RailsPerformance Ruby on Rails RubyOnRails StimulusJS WebDevelopment WebSockets
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 RubyOnRails Summary WebDevelopment
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 RubyOnRails Summary WebDevelopment
Added: 29 Aug 2022
Style Queries

Thoughts about front-end development and design. And probably other ramblings by Una Kravets.

CSS ResponsiveDesign RubyOnRails StyleQueries WebDevelopment
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 CSSGrid GridLayout ResponsiveDesign WebDevelopment
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

ActiveRecord Gem GitHub IDManagement Rails Ruby Sequenced WebDevelopment
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

301Redirect Cloudflare Ruby on Rails RubyOnRails SEO WebDevelopment
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.

DataQuerying Indexes Optimization PostgreSQL Rails Ruby on Rails WebDevelopment
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 RubyOnRails Summarization WebDevelopment
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.

CodeReading Consulting Debugging Productivity RubyOnRails SoftwareEngineering WebDevelopment
Added: 25 Aug 2022
Terms and Concepts by Technically - Airtable

Explore the "Terms and Concepts by Technically" view on Airtable.

Consulting RubyOnRails Summarization WebDevelopment
Added: 23 Aug 2022
addEventListener accepts functions and (!) objects

addEventListener accepts callback functions but also elements that implement the EventListener interface

EventListener Javascript programmingtips WebDevelopment
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.

Coding PatternMatching Ruby Ruby27 SoftwareDevelopment WebDevelopment
Added: 16 Aug 2022
Thinking in Hotwire: Progressive Enhancement

Your mental model for Hotwire should be progressive enhancement: start with the basics and layer on Turbo Frames, Streams, and Stimulus as you build more.

HOTWire HotwireTools ProgressiveEnhancement Ruby on Rails RubyOnRails Stimulus TurboDrive WebDevelopment
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...

CodeRefactoring Devise Pundit Ruby on Rails RubyOnRails SoftwareEngineering ViewComponents WebDevelopment
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.

ActiveListening Empathy Interviewing RubyOnRails Teaching WebDevelopment
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.

301Redirect HTTPStatus Ruby on Rails SEO UserExperience WebDevelopment
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

ActiveStorage Attachments download Rails71 Ruby on Rails RubyOnRails url variant WebDevelopment
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

ActionCable Callbacks Rails7 Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
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 EffectiveCommunication Mentoring RubyOnRails Soft Skills TeamManagement TechLeadership WebDevelopment
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...

BestPractices Metaprogramming NamingConventions Rails Ruby Ruby on Rails SoftwareDevelopment
Added: 11 Aug 2022

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

ConferenceProposal PublicSpeaking RubyOnRails SoftwareDevelopment
Added: 11 Aug 2022
Announcing Docusaurus 2.0 | Docusaurus

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

Documentation Docusaurus OpenSource StaticSiteGenerator WebDevelopment
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.

Agile CommunitiesOfPractice DevOps EngineeringCulture KnowledgeSharing SoftwareDevelopment
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

301Redirect Cloudflare HTTPStatus Ruby on Rails SEO WebDevelopment
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.

ActiveRecord I18N Internationalization Localization MultilingualApps Rails6 Ruby on Rails RubyOnRails WebDevelopment
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!

AWS CloudComputing DevOps Lambda MusicalParody Serverless WebDevelopment
Added: 05 Aug 2022
Action Policy

Authorization framework for Ruby/Rails application

ActionPolicy Authorization Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
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...

ApplicationServers Passenger PerformanceOptimization Puma Ruby on Rails RubyOnRails Unicorn WebDevelopment
Added: 04 Aug 2022

Week 2022-30

Using Notion to manage product development: Part 1

The flexibility of Notion is a blessing and a curse. Recently, a client migrated to Notion and together we explored what an ideal setup might look like to manage their company’s product development.

Consulting Database Notion ProductDevelopment ProductivityTools ProjectManagement WebDevelopment
Added: 31 Jul 2022
Sidekiq and Request-Specific Context | Mike Perham

Ruby, OSS and the Internet

CurrentAttributes MultiTenancy Ruby on Rails RubyOnRails Sidekiq WebDevelopment
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

AWS ContinuousIntegration DevOps EdTech Kubernetes WebDevelopment
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 DevelopmentTips Onboarding ProjectManagement RubyOnRails Soft Skills WebDevelopment
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

Documentation Programming Ruby RubyAPI RubyOnRails WebDevelopment
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...

Chatwoot CustomerSupport Gem OpenSource Ruby on Rails RubyOnRails WebDevelopment
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 RubyOnRails Summarization WebDevelopment
Added: 21 Jul 2022
Five management anti-patterns and why they happen

The five management styles everyone should avoid

Consulting LeadDev Leadership Management Soft Skills SoftwareDevelopment TeamDynamics
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...

Beginners Consulting DevCommunity TechnicalWriting WebDevelopment WritingTips
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!

Hanami RubyOnRails SoftwareTesting TestCoverage WebDevelopment
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?

1997 HistoryOfTheWeb SelfLearning WebDesign WebDevelopment
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?

CodingBestPractices ObjectOrientedProgramming Ruby Ruby on Rails RubyOnRails ValueObjects WebDevelopment
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!

RSpec Ruby Ruby on Rails SoftwareTesting TestDoubles WebDevelopment
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.

Collaboration Design DesignOps DesignSystems Figma Productivity ScalingTeams WebDevelopment
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.

CI CodeDeployment Consulting DevOps QualityAssurance SoftwareEngineering WebDevelopment
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 DeveloperSkills EffectiveCommunication Programming RubyOnRails TechnicalWriting WebDevelopment
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

Hotkeys Javascript KeyboardShortcuts Ruby on Rails RubyOnRails StimulusJS WebAccessibility WebDevelopment
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.

CodingTips LinkShortener RouteConstraints Ruby Ruby on Rails RubyOnRails WebDevelopment
Added: 10 Jul 2022
Get Started with Hotwire in Your Ruby on Rails App | AppSignal Blog

Learn the basics of Hotwire and how to use it in your Rails app.

HOTWire Ruby on Rails RubyOnRails Stimulus Turbo WebDevelopment
Added: 08 Jul 2022
Three ways to run inclusive meetings

How to build inclusion into your meetings

Consulting DiversityAndInclusion Facilitation IdeaWriting InclusiveMeetings PowerDynamics TeamCollaboration
Added: 07 Jul 2022
Designing for the autistic community

Product design principles that will improve usability for everyone.

Design HTTPStatusCodes RubyOnRails TemporaryRedirect WebDevelopment
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.

CareerGrowth ContinuousEducation Learning SoftwareDevelopment TheoryVsPractice ToolsOfTheTrade
Added: 06 Jul 2022
Learning TDD With RSpec

Checkout Kata

RSpec Ruby RubyOnRails SoftwareDevelopment TDD
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

HTTP Networking Redirects WebDevelopment
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

EffectiveLeadership InternalCommunication ManagementTips RubyOnRails TeamWork
Added: 02 Jul 2022
Three steps to successfully onboard junior engineers

Effectively onboarding new developers to your team

Consulting JuniorEngineers Mentorship Onboarding ProfessionalDevelopment TeamCulture
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.

301Redirect HTTPStatusCodes Ruby on Rails WebDevelopment
Added: 30 Jun 2022
Hotwire in the real world.

Building & scaling a Rails app built using Turbo/Hotwire, what did we learn?

DevelopmentInsights HOTWire Rails RealTime Ruby Ruby on Rails Stimulus Tailwind Turbo WebDev
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.

Accessibility ActionViewHelpers AssistiveTechnology Rails Ruby on Rails SemanticHTML WebDevelopment
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 HTTPStatus Redirects RubyOnRails SEO UserExperience WebDevelopment
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 DefensiveCSS Flexbox OverflowManagement ResponsiveDesign WebDevelopment
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.

CodingTips dom_id Helpers HOTWire Ruby on Rails RubyOnRails TurboFrames WebDevelopment
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.

CustomBuilder DevelopmentTips FormBuilders Ruby on Rails RubyOnRails WebDevelopment
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.

Elasticsearch FullTextSearch Rails Ruby on Rails RubyOnRails SearchOptimization WebDevelopment
Added: 28 Jun 2022

This article decomposes an interaction with an external dependency into its component parts.

Ruby software Testing web
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 Engineering Feedback Leadership NewManagers Soft Skills TeamDynamics TeamManagement
Added: 23 Jun 2022
How engineering, design, and product form the ‘software trinity’

A guide to effective cross-functional collaboration

AgileDevelopment Consulting ProductManagement Soft Skills SoftwareTrinity TeamCollaboration WebDevelopment
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

DateHandling Javascript MomentJS WebDevelopment
Added: 23 Jun 2022
State Machines in Ruby: An Introduction | AppSignal Blog

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

Ruby Ruby on Rails RubyOnRails SoftwareEngineering StateMachines WebDevelopment
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...

Configuration Gems Productivity Rails Ruby Ruby on Rails WebDevelopment
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.

CSV DataAnalysis SQLite SQLQueries WebDevelopment
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 MobileFirstCSS ResponsiveDesign RubyOnRails WebDevelopment
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.

301MovedPermanently DevOps HTTPStatusCodes Nginx Redirects Ruby on Rails WebDevelopment
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 InfrastructureManagement Shopify Terraform WebDevelopment
Added: 18 Jun 2022
How to estimate and communicate timelines when building software

Your guide to becoming a better estimator

Agile Consulting EngineeringBestPractices Estimation ProjectManagement Soft Skills SoftwareDevelopment
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 ...

BoldnessInCode DomainDrivenDesign JorgeManrubia RailsDesign SoftwareDevelopment
Added: 16 Jun 2022
Better scrolling through modern CSS

There's more to scrollbars than you might expect

CSS Design RubyOnRails Scrollbars UserExperience WebDevelopment
Added: 16 Jun 2022
The End of Localhost

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

CloudDevelopment DevTools FutureOfCoding Localhost WebDevelopment
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.

DigitalMinimalism MentalHealth Productivity RemoteWork WorkLifeBalance
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!

FrontendDevelopment HOTWire Javascript Ruby on Rails RubyOnRails StimulusJS UserExperience WebDevelopment
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

AARRR Consulting LeanStartup OKR OperationalExcellence ProductMarketFit RubyOnRails StartupFrameworks WebDevelopment
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().

ColorPalette CSS FrontendDevelopment RubyOnRails WebDesign
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.

352 Authorization DriftingRuby Ruby on Rails RubyOnRails UserRoles WebDevelopment
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

ActiveModel CodeReadability PatternMatching Ruby on Rails RubyOnRails WebDevelopment
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.

authenticate_by has_secure_password Rails7 Ruby on Rails RubyOnRails security timing_attacks WebDevelopment
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.

ActiveRecord DatabaseManagement PostgreSQL Ruby on Rails RubyOnRails WebDevelopment
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.

DeveloperInterview HiringProcess StructuredInterviews TechTalent WebDevelopment
Added: 02 Jun 2022
Five must-reads for Staff+ engineers

Our top articles for Staff+ readers

CodingBalance CommunityBuilding EngineeringLeadership InvisibleWork StaffPlus
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 JuniorEngineers LearningCulture Mentorship Onboarding Soft Skills SoftwareDevelopment TeamSuccess
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.

CustomActions Rails Ruby on Rails StimulusJS TurboStreams WebDevelopment
Added: 26 May 2022
reveal.js

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

BusinessLogic CodeOrganization Rails Ruby on Rails RubyOnRails ServiceLayer WebDevelopment
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.

AgileMethodologies Consulting DevelopmentPractices Ruby on Rails RubyOnRails ThoughtbotPlaybook WebDevelopment
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…

HTTPStatusCodes Javascript Redirects RubyOnRails WebDevelopment
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.

EventStreaming Kafka Karafka RealTimeData Ruby on Rails RubyOnRails WebDevelopment
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 FrontendDevelopment RubyOnRails SmashingMagazine WebDesign WebDevelopment
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.

CommandPalette GoRails Javascript NinjaKeys Ruby on Rails RubyOnRails WebDevelopment
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 […]

Programming Rails Ruby RubyBlocks SoftwareDevelopment WebDevelopment
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.

ReusableComponents Ruby on Rails RubyOnRails TestingComponents ViewComponent WebDevelopment
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.

Automation Programming Ruby WebDevelopment WebScraping
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 DesignSystem RubyOnRails UI UX WebDevelopment
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 FrontendDevelopment RubyOnRails StateOfCSS WebDevelopment
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?

EngineeringCommunity Leadership Mentorship Onboarding Soft Skills StaffPlus
Added: 20 May 2022
How to run a great retrospective

Accelerating your team with regular, productive retrospectives

Agile ContinuousLearning EngineeringCulture Retrospectives Soft Skills TeamImprovement
Added: 20 May 2022
How to Mock ActionMailer

Using RSpec custom matchers to make clean ActionMailer mocks

ActionMailer RSpec Ruby Ruby on Rails RubyOnRails Testing WebDevelopment
Added: 20 May 2022
How to feel engaged at work: a software engineer's guide | Jason Tu

On fighting the feeling of "blah".

CareerDevelopment JobEngagement Motivation RubyOnRails Soft Skills SoftwareEngineering
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.

DatabaseDesign DataIntegrity PostgreSQL Ruby on Rails RubyOnRails SoftDeletion WebDevelopment
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.

BestPractices BranchByAbstraction Refactoring Ruby on Rails RubyOnRails ScientistGem SoftwareEngineering WebDevelopment
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

Documentation Engineering RFC TeamScaling TechCulture
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...

ActiveRecord Backend CounterCache PerformanceOptimization Ruby on Rails RubyOnRails WebDevelopment
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.

PerformanceOptimization RailsApp Ruby on Rails RubyOnRails Scaling WebDevelopment
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.

Ansible Chef CloudComputing DevOps IaC InfrastructureAsCode Puppet SaltStack Terraform WebDevelopment
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.

CI DevOps Docker Ruby Ruby on Rails RubyOnRails Semaphore WebDevelopment
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?

ActiveRecord QueryObjects Rails Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
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.

CustomFonts FrontendDev Rails Ruby on Rails RubyOnRails WebDevelopment
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.

OpenSource Packages Ruby on Rails RubyOnRails SearchAnalytics Searchjoy WebDevelopment
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.

Devise OneTimePurchase PaymentIntegration Ruby on Rails RubyOnRails Stripe WebDevelopment Webhooks
Added: 13 May 2022
How to redesign your architecture to reduce technical debt

Building the system architecture your teams need

AgileDevelopment ConwaysLaw SoftwareArchitecture TeamStructure TechnicalDebt
Added: 13 May 2022
It's About Time (Zones)

An overview of time zones in Rails.

ActiveSupport BestPractices Ruby on Rails RubyOnRails TimeZones WebDevelopment
Added: 12 May 2022
4 Lesser-Known Emmet Tricks To Speed Up Your Coding

And why coding speed matters

HTTPStatusCodes Redirects SEO UserExperience WebDevelopment
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 DesignIntuition NoUIFramework UIDesign WebDevelopment
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 DynamicViewport ResponsiveDesign ViewportUnits WebDevelopment
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 […]

MVC ProgrammingConcepts RailsModels Ruby Ruby on Rails RubyOnRails SoftwareDevelopment
Added: 06 May 2022
How to gather helpful insight from your peers

Getting the feedback you need from colleagues and friends

Communication ContinuousLearning Leadership ManagerVoltron Mentoring PeerInsight 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 Microservices RubyOnRails Scalability SoftwareArchitecture Twitch WebDevelopment
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."

Cybersecurity GitHub Heroku OAuth SecurityBreach
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.

PusherChannels RealTimeApplications Ruby Ruby on Rails Sinatra WebDevelopment
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.

Empathy RubyOnRails Soft Skills SoftwareDocumentation UserExperience WebDevelopment
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...

ActiveRecord BatchProcessing CSV DataProcessing Packages Ruby RubyOnRails SmarterCSV WebDevelopment
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.

Jekyll RubyOnRails StaticSites TailwindCSS WebDevelopment
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.

CustomDevelopment Generators RailsTips Ruby on Rails RubyOnRails Templates WebDevelopment
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.

LeanStartup MVP ProductDevelopment RubyOnRails Startups WebDevelopment
Added: 04 May 2022
Integrating Stripe’s Product API Into Your Rails API

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

302Redirect HTTPStatus Ruby on Rails WebApplications WebDevelopment
Added: 04 May 2022
Steal this interview script

A boilerplate script for 1:1 remote user interviews.

InterviewScript ProductDesign UserInterviews UserResearch WebDevelopment
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.

AdvisoryLocking DataIntegrity OptimisticLocking PessimisticLocking RaceConditions Ruby on Rails RubyOnRails Sidekiq WebDevelopment
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.

ContentCreation DeveloperBlogs Soft Skills TechnicalWriting WebDevelopment WritingTips
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

Communication EngineeringLeadership Management RubyOnRails Soft Skills TeamExpectations
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 […]

RSpec Ruby on Rails RubyOnRails SoftwareDevelopment Testing WebDevelopment
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.

Capybara Rails Ruby on Rails RubyOnRails SystemTests Testing WebDevelopment
Added: 29 Apr 2022

Kevin Newton

Ruby RubyOnRails SyntaxTree WASI WebAssembly WebDevelopment
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.

Minitest Rails Ruby on Rails RubyOnRails SoftwareDevelopment TestFixtures WebDevelopment
Added: 28 Apr 2022
Tips for Using FactoryBot Without an ORM

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

FactoryBot PORO Rails Ruby Ruby on Rails Testing WebDevelopment
Added: 28 Apr 2022
deploy.yml

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

CI DevOps GitHubActions HerokuDeployment Ruby on Rails RubyOnRails WebDevelopment
Added: 27 Apr 2022
How to spot high-potential junior talent during interviews

Strategies for identifying top engineering talent

Consulting EngineeringManagement Hiring JuniorDevelopers TalentAcquisition WebDevelopment
Added: 25 Apr 2022
A naming convention for ActionMailer emails

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

ActionMailer comment_approved_notification NamingConvention Ruby on Rails RubyOnRails WebDevelopment
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.

BrandConsistency CSS Design DesignSystem DigitalDesign TeamCollaboration WebDevelopment
Added: 22 Apr 2022
The key to managing a global remote team

Building inclusivity and alignment in distributed teams

Communication DistributedTeams EngineeringLeadership Inclusion RemoteWork RubyOnRails Soft Skills TeamManagement WebDevelopment
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!

DesignPatterns FormObjects OOP Ruby on Rails RubyOnRails SoftwareEngineering WebDevelopment
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.

IOTables Maintainability Rails Readability Ruby Ruby on Rails Testing
Added: 21 Apr 2022
The Future of CSS: CSS Toggles

Late last week, I was very delighted to see that Chromium will start prototyping with CSS Toggles, a proposal currently only in Editor’s Draft, authored by Tab Atkins and Miriam Suzanne (who else?!). CSS toggles are a mechanism for associating toggleable state with a DOM element. This state can be defined and connected to activations … Continue reading "The Future of CSS: CSS Toggles"

Chromium CSS CSSToggles FrontendDevelopment WebDesign WebDevelopment
Added: 20 Apr 2022

Week 2022-15

Where do I put my business logic in Rails?

Using the Command Pattern to achieve slimmer controllers

BusinessLogic CleanCode CommandPattern Ruby on Rails RubyOnRails SoftwareEngineering WebDevelopment
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.

ContinuousIntegration DevOps GitHubActions RailsCI Ruby on Rails WebDevelopment
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 […]

Credentials Rails Ruby on Rails RubyOnRails SensitiveDataManagement WebDevelopment
Added: 16 Apr 2022
Custom Ranges in Ruby

How can we create ranges out of custom objects?

CustomRanges Programming Ruby RubyOnRails SoftwareDevelopment WebDevelopment
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...

Automation DevOps GitHub GitHubActions Heroku ReviewApps WebDevelopment
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.

AhmadShadeed CSS hasSelector ResponsiveDesign WebDevelopment
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.

Communication Framework NarrativeStructure SCQA Storytelling
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.

BulletTrain DatabaseSeeds Ruby on Rails RubyOnRails SeedManagement WebDevelopment
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

ActiveStorage ImageManagement Rails7 Ruby on Rails RubyOnRails WebDevelopment
Added: 11 Apr 2022
Personal Knowledge Graphs

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

HTTPStatusCodes Redirects RubyOnRails Soft Skills WebDevelopment
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…

RSpec Ruby Ruby on Rails RubyOnRails SoftwareEngineering Testing WebDevelopment
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.

FeatureFlags Rails Ruby on Rails RubyOnRails UIRedesign WebDevelopment
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.

HTTPStatus Ruby on Rails RubyOnRails SEO WebDevelopment
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 ModernWebTech RubyOnRails WebDesign WebDevelopment
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 […]

PageObjects Rails Ruby on Rails RubyOnRails SoftwareDevelopment Testing
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.

HOTWire Rails7 Ruby on Rails RubyOnRails Turbo WebDevelopment
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...

Kredis Ruby on Rails RubyOnRails TurboFrames UserExperience WebDevelopment
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

Noticed Rails Ruby on Rails RubyOnRails TurboStreams UserNotifications WebDevelopment
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.

DataIntegrity ErrorHandling Ruby on Rails RubyOnRails Transactions WebDevelopment
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

301Redirect Cloudflare Ruby on Rails RubyOnRails SEO WebDevelopment
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…

RubyOnRails Summarization WebDevelopment
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.

EngineeringInsights PersonalGrowth Shopify Soft Skills SoftwareDevelopment TechBooks
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 RubyOnRails Summary WebDevelopment
Added: 30 Mar 2022
Reducing Leaky Abstractions Introduced by ActiveRecord

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

ActiveRecord CodeMaintenance LeakyAbstractions Ruby on Rails RubyOnRails SoftwareDesign WebDevelopment
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...

DataObfuscation Gem Hashids Packages Rails RubyGem WebDevelopment
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 HybridApps iOSDevelopment OpenSource Packages TurboIOS WebDevelopment
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 NoticedGem Notifications OpenSource Packages RubyOnRails WebDevelopment
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.

CodeGenerator Hygen Javascript OpenSource Packages React RubyOnRails WebDevelopment
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 OpenSource Packages PaymentProcessing RubyOnRails SoftwareDevelopment WebDevelopment
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 FontHosting GoogleFonts Performance Privacy RubyOnRails WebDevelopment
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!

ContentCreation EditingTips Jcuts Lcuts Transitions VideoEditing
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.

301Redirect Cloudflare Ruby on Rails RubyOnRails SEO WebDevelopment
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.

Credentials DevOps Rails Ruby on Rails RubyOnRails security WebDevelopment
Added: 29 Mar 2022
Getting to Know the Broadcast Channel API in JavaScript

Communicate Across Browser Tabs in Realtime

HTTPStatusCodes Javascript RubyOnRails TemporaryRedirect WebDevelopment
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 CustomProperties DRY Sass Theming WebDevelopment
Added: 28 Mar 2022
Rails Server Side Analytics From Scratch

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

Backend DataPrivacy Rails Ruby on Rails RubyOnRails ServerSideAnalytics UserTracking WebDevelopment
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

Collaboration Consulting MVP Ruby on Rails RubyOnRails SoftwareDesign WebDevelopment
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...

DatabaseSafety Migrations online_migrations PostgreSQL Ruby on Rails RubyOnRails
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.

DevBlog PolicyObject Ruby on Rails RubyOnRails UserPermissions WebDevelopment
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.

Attributes HTML RubyOnRails WebDesign WebDevelopment
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.

Concurrency Debugging Ruby Ruby on Rails RubyOnRails ThreadSafety WebDevelopment
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.

Automation Docker ErrorHandling Python ShellScripts WebDevelopment
Added: 23 Mar 2022
User notifications with Rails, Noticed, and Hotwire

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

HOTWire Noticed NotificationSystem Rails Ruby Ruby on Rails Turbo Tutorial WebDevelopment
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.

BDD CI RSpec Ruby on Rails RubyOnRails Semaphore Testing
Added: 17 Mar 2022
5 JetBrains Plugins To Boost Your Productivity!

As you code, search, and collaborate

HTTPStatusCodes RubyOnRails TemporaryRedirect WebApplication WebDevelopment
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 RubyOnRails Summary WebDevelopment
Added: 14 Mar 2022
Distributed Systems with Rails

How to build distributed systems with Ruby on Rails

ActiveJob BackgroundProcessing DevOps DistributedSystems MonolithicArchitecture Redis Ruby on Rails RubyOnRails
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

301Redirect Cloudflare Ruby on Rails RubyOnRails WebApplications WebDevelopment
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.

Awareness HelpUkraine RubyCommunity Solidarity SupportUkraine
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 […]

Abstraction CodeQuality RailsBestPractices Ruby RubyOnRails SoftwareDevelopment
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.

CodeQuality DeveloperHabits InlineDocumentation Ruby RubyOnRails SoftwareDevelopment YARD
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.

Collaboration Design DesignJam ProductLeadership RemoteWork TeamBuilding
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…

HTTP Redirect RubyOnRails SEO WebDevelopment
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...

ES2022 Javascript news Programming WebDev
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 DEI ProductCon2022 ProductManagement UserResearch Wellbeing
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.

Accessibility CSS HTML OpenUI selectmenu WebDevelopment
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 DualScreen FoldableDevices Javascript ResponsiveDesign RubyOnRails WebDevelopment
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.

FrontendSearch Javascript Lunrjs PerformanceOptimization Ruby on Rails RubyOnRails WebDevelopment
Added: 03 Mar 2022
Ruby Fibers 101

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

Cloudflare HTTPStatus Redirection Ruby SEO WebDevelopment
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.

ImportMaps Javascript Rails7 Ruby on Rails RubyOnRails WebDevelopment
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

AssetsCompilation CDN Heroku Ruby on Rails RubyOnRails WebDevelopment
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.

Backlight Collaboration CSS DesignSystem UserExperience WebDevelopment
Added: 03 Mar 2022

A playlist of our blog posts about css.

CSS ProductDesign RubyOnRails ThoughtbotPlaybook WebDevelopment
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 RubyOnRails Summarization WebDevelopment
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 RubyOnRails Summarization WebDevelopment
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.

CareerTransition EngineeringManagement Leadership Productivity Soft Skills SoftwareDevelopment
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.

HTTPStatusCodes Nginx URLRedirection WebDevelopment
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...

301Redirect HTTPStatus WebDevelopment
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 FrontendDevelopment Selectors Tutorial WebDevelopment
Added: 25 Feb 2022
Introduction to Domain Events

What is a Domain Event? Introduction and definition.

DomainEvents EventSourcing Ruby on Rails RubyOnRails SoftwareDesign WebDevelopment
Added: 25 Feb 2022
The Economics of TDD - Semaphore

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

AgileDevelopment CI Consulting RubyOnRails SoftwareDevelopment TDD TestDrivenDevelopment
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 FreeCourses HashiCorp InfrastructureAutomation LearningIaC Terraform WebDevelopment
Added: 25 Feb 2022
The new GitHub Issues - February 23rd update | GitHub Changelog

The new GitHub Issues - February 23rd update

AI CodeScanning GitHub ProjectManagement WebDevelopment
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...

404Error UserExperience WebDevelopment
Added: 24 Feb 2022
The Stimulus Trigger Pattern

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

HOTWire Ruby on Rails RubyOnRails Stimulus TurboStreams WebDevelopment
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.

AppDevelopment CodePush MicrosoftAppCenter MobileUpdates ReactNative WebDevelopment
Added: 24 Feb 2022
What makes writing more readable?

Looking at how to make writing easier to read

Accessibility Communication Design PlainLanguage Readability WebDevelopment
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

301Redirect Cloudflare Ruby on Rails RubyOnRails SEO WebDevelopment
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 RubyOnRails SoftwareEngineering Testing ViewComponent WebDevelopment
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.

ActiveJob CronJobs Ruby on Rails RubyOnRails Sidekiq WebDevelopment
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.

Accessibility CSS Javascript TextEditor UserExperience WebDevelopment
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.

Capybara IntegrationTesting Ruby on Rails RubyOnRails SoftwareTesting WebDevelopment
Added: 23 Feb 2022
Hotrails - Learn modern Ruby on Rails with Hotwire

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

HOTWire Javascript Rails7 Ruby on Rails RubyOnRails SoftwareDevelopment Turbo WebDevelopment
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.

FrontendDevelopment HOTWire Markdown Rails7 Ruby on Rails RubyOnRails Stimulus Turbo WebApps WebDevelopment WYSIWYG
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...

Leadership RubyOnRails Soft Skills SoftwareDevelopment Vision WebDevelopment
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.

Agile DesignStaminaHypothesis Productivity SoftwareDesign TechnicalDebt
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...

DataMigration MaintenanceTasks Rails Ruby Ruby on Rails RubyOnRails WebDevelopment
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.

DeveloperProductivity ModularMonolith Ruby on Rails RubyOnRails SoftwareArchitecture WebDevelopment
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 Polymorphism Ruby on Rails RubyOnRails ShopifyDevelopment SoftwareDevelopment WebDevelopment
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...

RBS Ruby RubyOnRails TypeSystem WebDevelopment
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.

auxiliary development modular Ruby Ruby on Rails tech
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 …

AgileDevelopment RubyOnRails SoftwareEngineering TDD WebDevelopment
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.

DeveloperResources KnowledgePlaylists LearningTools RubyOnRails Thoughtbot WebDevelopment
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 DesignSystems RubyOnRails SpacingStrategy UserInterface WebDevelopment
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.

301Redirect DevOps HTTPStatus Nginx SEO WebDevelopment
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...

AssetPipeline Propshaft Ruby on Rails RubyOnRails Simplicity WebDevelopment
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...

Esbuild Javascript Rails Ruby on Rails WebDevelopment Webpack
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.

Containerization ModernTech RubyOnRails Serverless Wasm WebAssembly WebDevelopment
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.

AspectRatio CSS ResponsiveDesign WebDevelopment WebDevTips
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.

ActiveStorage AWS CDN CloudComputing Devise FileStorage Ruby on Rails RubyOnRails S3 WebDevelopment
Added: 08 Feb 2022
Hotwire: Turbo-Streaming ViewComponents

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

FrontendDevelopment HOTWire RealTimeUpdates Ruby on Rails RubyOnRails TurboStreams ViewComponents WebDevelopment
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...

InfiniteScrolling Pagination Rails Ruby Ruby on Rails Stimulus Turbo WebDevelopment
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.

DeveloperExperience Javascript React RubyOnRails WebDevelopment
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.

301Redirect HTTPStatusCodes RubyOnRails WebDevelopment WebUsability
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...

Javascript OpenSource Ruby WebAssembly WebDev
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...

have_attributes MatchArray RSpec Ruby RubyOnRails Testing WebDevelopment
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.

ContinuousImprovement EmployeeDevelopment InvestmentTime RubyOnRails WorkCulture
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.

Onboarding Productivity RubyOnRails Soft Skills SoftwareDevelopment WebDevelopment
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.

ActiveRecord APNs FCM PushNotifications Redis Rpush Ruby Ruby on Rails RubyOnRails WebDevelopment
Added: 28 Jan 2022
Using entropy for user-friendly strong passwords

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

Entropy PasswordSecurity RubyOnRails UserExperience WebDevelopment
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.

APIDevelopment GraphQL REST Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
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.

Debugger IRB Ruby Ruby319 WebDevelopment YJIT
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.

Commits development GitFlow PullRequests RubyOnRails SoftwareEngineering VersionControl WebDevelopment
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.

FeatureFlags Ruby on Rails RubyOnRails SoftwareEngineering WebDevelopment
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 …

RubyOnRails SoftwareDevelopment WebDevelopment
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.

Maintainability PageObjects Ruby on Rails RubyOnRails SystemTests TestFlow WebDevelopment
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.

AsynchronousDevelopment ErrorHandling Javascript ResultErrorPattern WebDevelopment
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.

2022 CascadeLayers ColorFunctions ContainerQueries CSS ViewportUnits WebDesign WebDevelopment
Added: 18 Jan 2022
Ruby Splat Operator 🌟

The Ruby splat operator is confusing and here is why…

Programming Ruby RubyOnRails SplatOperator WebDevelopment
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.

MigrationGuide PerformanceOptimization Ruby on Rails RubyOnRails Turbo WebDevelopment
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.

InPlaceEditing Rails Ruby on Rails RubyOnRails Turbo WebDevelopment
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

302MovedTemporarily HTTPStatus Javascript WebDevelopment
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.

ExpertPractices RubyOnRails Soft Skills SoftwareDesign UXDesign WebDevelopment
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?

EngineeringManagement RubyOnRails SoftwareDevelopment TechDebt TechWealth
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.

301Redirect Cloudflare DevOps HTTPStatusCodes SEO WebDevelopment
Added: 04 Jan 2022

Week 2021-51

Ruby is Still a Diamond

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

Concurrency Parallelism Ruby RubyOnRails SoftwareDevelopment
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.

DynamicTyping RBS Ruby Ruby3 RubyDevelopment StaticTyping TypeSafety
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.

Controllers MVC PatternsAndAntiPatterns QueryObjects Ruby on Rails RubyOnRails ServiceObjects SoftwareDevelopment ThinControllers WebDevelopment
Added: 23 Dec 2021

Week 2021-50

Thoughts and learnings on writing better software

generatedcolumns PostgreSQL Rails Ruby on Rails WebDevelopment
Added: 19 Dec 2021
Replacing Select2 with Tom Select + Stimulus · Cool Request

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

404NotFound ErrorHandling Javascript Nginx Ruby on Rails WebDevelopment
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

BestPractices CodeOptimization Routing Ruby on Rails RubyOnRails WebDevelopment
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…

ActionCable ChatApplication Javascript ReactHooks Ruby on Rails RubyOnRails WebDevelopment
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…

BrowserStandards HTMLSanitizerAPI Javascript WebDevelopment WebSecurity XSS
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 Microservices Monolith RubyOnRails SoftwareArchitecture WebDevelopment
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…

CodeEfficiency DRY Memoization Ruby Ruby on Rails RubyOnRails WebDevelopment
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.

ActiveRecord FullStackDevelopment Javascript Rails7 Ruby on Rails RubyOnRails security WebDevelopment
Added: 16 Dec 2021
Tailwind and the Femininity of CSS

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

CSS FeminismInTech FrontendDesign Tailwind WebDevelopment
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.

AWS CloudServices PlainEnglish RubyOnRails SoftwareDevelopment WebDevelopment
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.

ESModules Javascript Node PublishingModules Typescript WebDevelopment
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

CurrencyManagement MoneyGem programmingtips Ruby on Rails RubyOnRails WebDevelopment
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

DeveloperTools Kafka Karafka Ruby WaterDrop WebDevelopment
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.

Beginners Contributing OpenSource Ruby WebDevelopment
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.

DatabaseBackup Heroku Postgres RubyOnRails WebDevelopment
Added: 05 Dec 2021
Bearer | Why Hotwire in 2021

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

HOTWire Javascript Ruby on Rails RubyOnRails SoftwareArchitecture TechTransition WebDevelopment
Added: 05 Dec 2021
Rails

Imagine we have 2 models Area Lane

JoinTables NamingConvention Ruby on Rails RubyOnRails WebDevelopment
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

DataPrivacy GDPR Getaround RubyOnRails UserDataDeletion WebDevelopment
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.

EventDrivenArchitecture EventSourcing RailsEventStore Ruby on Rails RubyOnRails WebDevelopment
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…

CatchAndThrow ControlFlow Exceptions Ruby WebDevelopment
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.

ActiveRecord Ruby on Rails RubyOnRails SoftwareDesign ValueObjects WebDevelopment
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 …

ActiveModel CodingTutorial MultiStepForms Ruby on Rails RubyOnRails WebDevelopment
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…

Elixir PhoenixLiveView Programming Ruby SoftwareDevelopment
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 …

Closures Lambdas Proc Programming Ruby RubyOnRails WebDevelopment
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

AndroidDevelopment FragmentedPodcast HOTWire Ruby on Rails SaaS TurboNative WebIntegration
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.

Exercises Learning Ruby on Rails RubyOnRails Turbo WebDevelopment
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.

ActiveStorage FileUploader Frontend Markdown Ruby on Rails RubyOnRails Stimulus WebDevelopment
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.

AuditLogging AuditTrail CustomSolutions RailsGems Ruby on Rails RubyOnRails SoftwareEngineering WebDevelopment
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.

AWSLambda ErrorTracking Ruby Serverless WebDevelopment
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!

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

Ever wanted to use a technology that can identify specific objects contained in any given image? Well look no further as AWS Rekognition fulfils that need. AWS Rekognition is a tool that is part of…

AI AWS Rekognition Ruby on Rails RubyOnRails WebDevelopment
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?

ES6 Frameworks Javascript RubyOnRails TechTrends WebDevelopment
Added: 19 Nov 2021
Native CSS nesting: What you need to know - LogRocket Blog

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

CSS Frontend NativeCSS Nesting WebDevelopment
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.

CodeQuality Ruby on Rails RubyOnRails SoftwareDevelopment TechnicalDebt WebDevelopment
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.

Middleware Rack Ruby on Rails RubyOnRails SoftwareEngineering WebDevelopment
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…

DRYCode Metaprogramming Rails Ruby WebDevelopment
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 …

QualityAssurance Rails Ruby on Rails SoftwareDevelopment Testing WebDevelopment
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 PostgreSQL Ruby on Rails RubyOnRails TimescaleDB TimeSeriesData WebDevelopment
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.

Performance Programming Ruby RubyConf2021 RubyOnRails StaticTyping WebDevelopment
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 CSSScan ProductivityTools WebDesign WebDevelopment
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.

GovUK ProductDesign SharedSpace TrafficManagement UserCentricDesign
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.

AppDevelopment MobileDevelopment MVP ReactNative TechFrameworks WebDevelopment
Added: 17 Nov 2021
Meet Fiber, Thread's Cooperative Cousin

A brief introduction to Ruby’s lightweight concurrency primitive.

Async Concurrency Fiber Performance Ruby Threads WebDevelopment
Added: 16 Nov 2021

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

CSS CSSFramework LightweightDesign OpenSource SimpleCSS WebDevelopment
Added: 15 Nov 2021
Why T-shaped people?

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

Agile ProductDevelopment Soft Skills TeamEfficiency TShaped WebDevelopment
Added: 15 Nov 2021

Week 2021-45

How to change the database in a Rails application ?

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

Database Rails Ruby Ruby on Rails SoftwareDevelopment WebDevelopment
Added: 12 Nov 2021
Rails 7 adds ActiveRecord::QueryMethods#in_order_of

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

ActiveRecord in_order_of Rails7 Ruby Ruby on Rails WebDevelopment
Added: 12 Nov 2021
Rails 7 replaced byebug with ruby/debug

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

Byebug Rails7 RubyDebug Ruby on Rails RubyOnRails WebDevelopment
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 MultiTenancy Rails Ruby Ruby on Rails SaaS Tutorial WebDevelopment
Added: 10 Nov 2021
Lesser Known PostgreSQL Features

Features you already have but may not know about!

DatabaseFeatures PostgreSQL RubyOnRails SQL WebDevelopment
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.

Airbnb AWS DevOps OpenSource Ottr PKI Serverless WebDevelopment
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.

Checkboxland DOOM GameDev Javascript WebAssembly WebDevelopment
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…

AutomatedTesting RSpec Ruby on Rails RubyOnRails SoftwareDevelopment TestDoubles Testing
Added: 04 Nov 2021
10 things I add to every Rails app

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

DevTools ErrorMonitoring Productivity Rails Ruby on Rails RubyOnRails SEO TDD WebDev
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.

BreachAnalysis CybersecurityInsights LogManagement SyslogNG WebSecurity
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…

Autocomplete RubyOnRails UIUX UserExperience WebDevelopment
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?

Agile Cloudflare RubyOnRails SoftwareDelivery Waterfall WebDevelopment
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”. …

CodeQuality GoodCode RubyOnRails Soft Skills SoftwareDevelopment TechnicalDebt
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.

BBCOnline CloudArchitecture Scalability Serverless WebDevelopment
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 Frontend ResponsiveDesign RubyOnRails UIDesign WebDevelopment
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!

AsyncRuby Backend Concurrency DevOps Ruby Ruby3 RubyOnRails WebDevelopment
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.

AgileDevelopment CodeQuality SoftwareTesting TestStrategy UnitTesting
Added: 29 Oct 2021
Rails Turbo Broadcast Update to Partial

Send updates to a page using a specific partial.

404NotFound LiteSpeedWebServer Ruby on Rails WebError
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

APITesting DryRb Rails Ruby Ruby on Rails WebDevelopment
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.

JSON programmingtips Rails Ruby Ruby on Rails WebDevelopment
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...

DataPrivacy Encryption Rails Ruby on Rails SoftwareEngineering WebDevelopment
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.

CodingBestPractices Rails REST Ruby on Rails RubyOnRails WebDevelopment
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 DefinitionLists ModernDesign StickyElements WebDevelopment
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 […]

BestPractices CodeOrganization Rails Ruby on Rails RubyOnRails SoftwareDevelopment
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

CascadeLayers ContainerQueries CSS NativeNesting ScopedStyles WebDevelopment
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.

Programming Ruby SoftwareDevelopment Strings Symbols WebDevelopment
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.

Animation CSS Javascript MotionPreferences prefersReducedMotion UXDesign WebAccessibility
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.

Debugging GitBisect RubyOnRails SoftwareDevelopment WebDevelopment
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?

CommunityDevelopment FOSS OpenSource SoftwareTransparency SupportingDevelopers
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

JetBrains RBS Ruby RubyMine RubyOnRails VideoTutorials WebDevelopment
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...

programmingtips Rails Ruby WebDevelopment
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.

DesignPatterns OOP SoftwareDevelopment SOLIDPrinciples WebDevelopment
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

301Redirect Cloudflare HTTPStatus Ruby on Rails SEO Soft Skills WebDevelopment
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.

BusinessLogic CodeOrganization Ruby on Rails RubyOnRails SoftwareEngineering WebDevelopment
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

ActiveStorage ImageVariants Rails7 Ruby on Rails RubyOnRails WebDevelopment
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?

MemorySafety OpenSource Programming Rust SoftwareDevelopment TechTrends WebSafety
Added: 16 Oct 2021
Rails 7 introduces ActiveModel::API

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

ActiveModelAPI Rails7 Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
Added: 15 Oct 2021
Covariance and Contravariance in TypeScript

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

Contravariance Covariance SoftwareEngineering Typescript WebDevelopment
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.

301MovedPermanently Javascript Nginx SEO URLRedirection WebDevelopment
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...

Rails Rails7 Ruby on Rails RubyOnRails Upgrade WebDevelopment Zeitwerk
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…

AsyncCommunication Doist TechUpdate Twist WebDevelopment
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 FrontendDevelopment ModernCSS UserInterface WebDevelopment
Added: 15 Oct 2021
Why Women Don’t Apply for Jobs Unless They’re 100% Qualified

It’s not because they lack confidence.

CareerAdvice GenderGap JobApplications LeadershipDevelopment WomenInWork
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).

BestPractices CodingStandards OpenSource Rails Ruby on Rails RubyOnRails StyleGuide WebDevelopment
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.

CodeQuality Ruby RubyOnRails SafeNavigation WebDevelopment
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.

BusinessLogic ContextualDesign Rails Ruby on Rails RubyOnRails WebDevelopment
Added: 13 Oct 2021

Week 2021-40

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

DevelopmentTips Documentation FrontendDevelopment HOTWire Javascript Ruby on Rails RubyOnRails TurboFrames UIComponents WebDevelopment
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 FontSize ResponsiveDesign Typography WebDesign
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...

career Communication JuniorEngineers Mentorship WebDevelopment
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.

accentColor CSS FormStyling WebAccessibility WebDevelopment
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,...

ContentSummarization RubyOnRails WebDevelopment
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).

Enum I18N PORO Rails Ruby SoftwareDesign WebDevelopment
Added: 06 Oct 2021
Footnotes now supported in Markdown fields | GitHub Changelog

Footnotes now supported in Markdown fields

Accessibility Compliance Enterprise Footnotes GitHub Markdown
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

Agile ContinuousIntegration DevOps RubyOnRails TrunkBasedDevelopment WebDevelopment
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?

ActiveRecord Backend DatabaseOptimization NPlusOneQuery PreloadingAssociations Ruby on Rails RubyOnRails WebDevelopment
Added: 06 Oct 2021
Conditional Border Radius In CSS - Ahmad Shadeed

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

CSS ResponsiveDesign RubyOnRails WebDevelopment
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.

Antipatterns Factories FactoryBot Fixtures Rails RSpec RubyOnRails Testing
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. …

FactoryBot RailsTesting RSpec RubyOnRails WebDevelopment
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…

307status HTTP RubyOnRails TemporaryRedirect WebDevelopment
Added: 01 Oct 2021

I just write here

DateManipulation ElmerProject Metaprogramming RSpec Ruby RubyOnRails TDD WebDevelopment
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.

CascadeLayers CSS FrontendDevelopment Specificity WebDevelopment
Added: 01 Oct 2021
Disable-With Using StimulusJS

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

HOTWire Rails Ruby Stimulus WebDevelopment
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...

Devise MFA MultiFactorAuthentication Programming Ruby on Rails RubyOnRails security WebAuthn WebDevelopment
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

FetchAPI NodeJS RubyOnRails WebDevelopment WebStreams
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...

AWS DynamoDB Email Lambda OTP Serverless VueJS WebDevelopment
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.

Communication CurseOfKnowledge Empathy RubyOnRails UserExperience WebDevelopment
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.

301Redirect HTTPStatusCodes Nginx WebDevelopment
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...

FormHelpers Rails7 Ruby RubyOnRails WebDevelopment
Added: 24 Sep 2021
Stimulus 3

The third major release of Stimulus represents a big milestone for the Hotwire community. This is the first release where every substantial new feature came as a contribution from outside of Basecamp and HEY. We've got a new package, action parameters, default values, target lifecycle callbacks, debug mode, utility-CSS support, and Con...

HOTWire HTMLOverTheWire Javascript ModernWebApps RubyOnRails Stimulus3 WebDevelopment
Added: 24 Sep 2021
Your Program is a Special and Unique Snowflake

Simplify and clarify your code by carefully choosing abstractions.

Abstraction BestPractices Programming Ruby RubyOnRails SoftwareDevelopment
Added: 24 Sep 2021
Action Mailbox: The Missing Manual

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

ActionMailbox EmailProcessing Mailgun RubyOnRails WebDevelopment
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.

Accessibility Design DesignSystems Frontend ResponsiveDesign RubyOnRails WebComponents WebDevelopment
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.

Elixir LiveView PhoenixFramework RealTimeApplications WebDevelopment
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.

Asciidoctor Automation EbookPublishing HexaPDF Jekyll Ruby WebDevelopment
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.

301Redirect HTTPStatus SEO WebDevelopment
Added: 22 Sep 2021
How To Structure Your Git Branching Strategy — By A Data Engineer

Data pipelines require version control too!

307 HTTP Redirect RubyOnRails StatusCode WebApps WebDevelopment
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

CSSTricks Frontend Javascript Proxy WebDevelopment
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!

CSSFramework Minimalism PicoCSS ResponsiveDesign WebDevelopment
Added: 17 Sep 2021
Hotwire: Typeahead searching

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

CSS HOTWire Javascript Ruby on Rails RubyOnRails SearchFunctionality Stimulus Turbo Typeahead UX WebDevelopment
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...

Encoding Rails Ruby UUID WebDevelopment
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.

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

I will die on this hill.

CareerDevelopment DiversityInExperience Engineering ProfessionalGrowth
Added: 16 Sep 2021
Hotwire: Server-rendered live previews

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

HOTWire LivePreview RubyOnRails Stimulus Turbo WebDevelopment
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.

Agile ContinuousIntegration RubyOnRails ShipShowAsk WebDevelopment
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.

301MovedPermanently HTTP Nginx URLRedirection WebDevelopment
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...

Programming Rails Ruby Ruby3 ShorthandHashSyntax WebDevelopment
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.

RubyOnRails Summarization WebDevelopment
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.

FullTextSearch Optimization pg_search PostgreSQL Rails RubyOnRails WebDevelopment
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

CodeAssist JetBrains RBS Ruby RubyMine WebDevelopment
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

AnyCable k6 LoadTesting PerformanceTesting RubyOnRails SoftwareDevelopment WebSockets Yabeda
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.

CleanCode CodingCulture Collaboration Simplicity SoftwareDevelopment
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

CodeAssistance Rails RBS Ruby RubyMine WebDevelopment
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.

Bridgetown Jamstack OpenSource Roadmap Ruby WebDevelopment
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

CustomElements FrontendDevelopment HTML SafariCompatibility WebComponents WebDevelopment
Added: 04 Sep 2021
ECMAScript 2021 (ES12) new features

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

ecmascript2021 es12 Frontend Javascript WebDevelopment
Added: 04 Sep 2021
The new GitHub Issues - 09/03 update

The new GitHub Issues - 09/03 update

APIDeprecation GitHub IssuesUpdate SoftwareEngineering WebDevelopment
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.

BetterSpecs Developers RailsTesting RSpec TestingGuidelines
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 …

ControllerOrganization Rails Ruby on Rails RubyOnRails SoftwareDevelopment WebDevelopment
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.

DataVisualization GraphicDesign HandDrawn Infographics INSTADIO WebDevelopment
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.

CrossPlatform DesktopApps Innovation MobileDevelopment ReactNative VirtualReality
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.

ActiveRecord RailsTips RubyOnRails Subqueries WebDevelopment
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.

HTTPStatus RubyOnRails WebApplications WebDevelopment
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.

ActionCable HOTWire RubyOnRails ServerSideRendering Turbo WebDevelopment WebSockets
Added: 30 Aug 2021
Compress Your HTML Responses

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

HTMLCompression Optimization RackDeflater RubyOnRails WebPerformance
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.

crystalball Git lefthook Productivity Rails Tutorial
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.

BestPractices Monkeypatching Rails Ruby WebDevelopment
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.

CollaborativeEditing OperationalTransformation Rails RemoteWork RubyOnRails SoftwareDevelopment WebDevelopment
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!

AsynchronousCommunication RemoteWork TeamProductivity VirtualMeetingAlternatives ZoomFatigue
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.

ActiveRecord Rails7 RubyOnRails TechUpdate WebDevelopment
Added: 25 Aug 2021
Dealing With GitHub Password Authentication Deprecation

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

RubyOnRails Summarization WebDevelopment
Added: 24 Aug 2021

Week 2021-33

I just write here

CodeRefactoring Metaprogramming ObjectOrientedDesign RubyOnRails SoftwareDevelopment
Added: 20 Aug 2021
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

CareerDevelopment RemoteWork SoftwareEngineering TechnicalWriting Writing
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...

Accessibility HOTWire RubyOnRails Stimulus Turbo WebDevelopment
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!

CodeQuality Cohesion Coupling DRY SoftwareDevelopment
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

ActiveRecord Concurrency Database DataIntegrity RubyOnRails ThreadSafety Uniqueness
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.

Accessibility RubyOnRails StarRating SVG WebDevelopment
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.

LegacyCode Refactoring RubyOnRails Shopify SoftwareDevelopment StranglerFigPattern
Added: 18 Aug 2021
CSS accent-color

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

accentColor CSS RubyOnRails UserExperience WebDevelopment
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...

ActiveRecord ConcurrentIndexing Migrations PostgreSQL RubyOnRails WebDevelopment
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...

ES6 HTTP2 ImportMaps Javascript RubyOnRails WebDevelopment
Added: 16 Aug 2021

Week 2021-32

GitHub - gocardless/statesman: A statesmanlike state machine library.

A statesmanlike state machine library. Contribute to gocardless/statesman development by creating an account on GitHub.

Gem OpenSource RubyOnRails StateMachine Statesman WebDevelopment
Added: 12 Aug 2021

I just write here

ObjectOriented Refactoring RubyOnRails SoftwareDesign WebDevelopment
Added: 12 Aug 2021

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

Containerization ContinuousDelivery Cuber DevOps Docker Kubernetes Logging Monitoring RubyOnRails Scalability
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 …

APIDesign DeveloperExperience SlackEngineering WebDevelopment
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...

404Error RubyOnRails UserExperience WebApplications WebDevelopment
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.

Decentralization FutureOfTheWeb Gaming ImmersiveWeb ProgressiveWebApps TechTrends WebAssembly WebDevelopment
Added: 11 Aug 2021
Date-fns vs MomentJS: Choosing the Right Date Utility Library

Comparing popular JavaScript date libraries.

HTTPStatusCodes TemporaryRedirect WebDevelopment
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.

AppSignal Bullet Database Performance Rails Ruby WebDevelopment
Added: 11 Aug 2021
Don’t call a new version of something ”new” when refactoring

A opinionated naming subtlety

CodeClarity NamingConventions Refactoring RubyOnRails SoftwareDevelopment
Added: 11 Aug 2021
Gateway

An object that encapsulates access to an external system or resource

GatewayPattern Microservices Refactoring RubyOnRails SoftwareDesign Testing
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 […]

HTTPStatusCodes Nginx Redirection SEO ServerResponse WebDevelopment
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.

CodingBestPractices Typescript WebDevelopment
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...

Learning MicroSaaS Programming SaaS Startup WebDevelopment
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.

DynamicApps Javascript RubyOnRails Turbo WebDevelopment
Added: 09 Aug 2021

User experience bullshit for everyone!

CriticalThinking UserExperience UX WebDevelopment
Added: 09 Aug 2021
Design Vault

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

DesignResources DesignVault UIDesign UIPatterns WebInspiration
Added: 09 Aug 2021
Some lesser known TypeScript notation

Exclamation mark notation and casting as unknown

Formik Javascript Programming Typescript WebDevelopment
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…

RubyOnRails Summarization WebDevelopment
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…

ArticleDeleted ContentUnavailable Medium
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...

angular classes interfaces Javascript React Typescript WebDevelopment
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.

DynamicForms HOTWire RubyOnRails TurboStreams WebDevelopment
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...

Javascript NodeJS npm OpenSource Performance SoftwareDevelopment WebDevelopment Yarn
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

Compiler LLVM OpenSource PerformanceOptimization Ruby Sorbet WebDevelopment
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.

Globalize I18N Localization RubyOnRails WebDevelopment
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…

AppCenter CircleCI CodePush ContinuousIntegration Deployment Fastlane ReactNative WebDevelopment
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…

HTTPCodes TemporaryRedirect WebDevelopment
Added: 03 Aug 2021
GitHub - dcyoung-dev/hotwired_pages

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

ArchivedProjects GitHub OpenSource RubyOnRails WebDevelopment
Added: 03 Aug 2021
FIT: Failure Injection Testing

we enjoy deliberately breaking things to test our production systems

HTTPStatusCodes RubyOnRails TemporaryRedirect WebApplications WebDevelopment
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...

CSS FrontendDevelopment HTML Javascript React vanillajs WebDev
Added: 28 Jul 2021
ES2021 features list

ES2021 as approved by the Ecma General Assembly

ES2021 Javascript ProgrammingFeatures RubyOnRails WebDevelopment
Added: 28 Jul 2021
Using BLoC Pattern with React

Make Your Business Logic Independent From UI Components

HTTPStatusCodes RubyOnRails SEO TemporaryRedirect WebDevelopment
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

Accessibility CSS LogicalProperties ResponsiveDesign WebDevelopment
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

HTTP Redirect RubyOnRails WebDevelopment
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

DesktopApplications Redis Rust Svelte Tauri WebDevelopment
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...

Concurrency Fibers HTTPServer Ractors Ruby3 WebDevelopment
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:

301Redirect Cloudflare RubyOnRails SEO WebDevelopment
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

IDE RBS Ruby RubyMine SoftwareDevelopment WebDevelopment
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.

CodeQuality CSSRefactoring RubyOnRails WebDesign WebDevelopment
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.

HTTPStatusCode Nginx Redirects SEO WebDevelopment
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

ECMAScript Javascript JSONModules security WebDevelopment WebStandards
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.

Android Debugging Flipper iOS MobileDevelopment OpenSource ReactNative
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

ActiveRecord Encryption Rails7 RubyOnRails WebDevelopment
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.

DatabaseManagement DeveloperCommunity PrismaDay RubyOnRails WebDevelopment
Added: 20 Jul 2021
Routing the technical interview

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

CodingChallenges HiringPractices Kubernetes SoftwareDevelopment TechnicalInterviews YAML
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.

BestPractices DataMigrations RubyOnRails SoftwareDevelopment TemporaryRakeTasks WebDevelopment
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.

focus pair Productivity software team
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.

ActiveStorage Caching PerformanceOptimization RubyOnRails WebDevelopment
Added: 18 Jul 2021
Access Guide

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

301Redirect HTTPStatus RubyOnRails WebDevelopment
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.

Mentoring ProfessionalDevelopment RubyOnRails softskills WebDevelopment
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

Rails7 RubyOnRails RubyTools RubyWeekly SoftwareEngineering WebDevelopment
Added: 16 Jul 2021
ClosureTree/closure_tree

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

ActiveRecord ClosureTree HierarchicalData Ruby RubyOnRails STI TreeStructure WebDevelopment
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

301Redirect HTTPStatus Nginx RubyOnRails SEO WebDevelopment
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.

AI AIMusic Dynascore MachineLearning MusicComposition MusicTechnology VideoEditing VideoProduction WebDevelopment
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...

development Mentorship ProfessionalGrowth RubyOnRails TeamWork
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....

CleanCode CodingPrinciples development Maintenance RubyOnRails SoftwareDevelopment
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…

CodingTutorials Iframe Javascript React WebDevelopment
Added: 12 Jul 2021
Modern Web Applications with Hotwire

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

HOTWire RubyOnRails Stimulus Turbo WebDevelopment
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

HTTPStatusCodes Redirect RubyOnRails WebDevelopment
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...

CodeRefactoring Rails RubyOnRails ServiceObjects WebDevelopment
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 …

Productivity programmingtips RubyOnRails TestDrivenDevelopment WebDevelopment WorkEfficiency
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.

PaymentProcessing RubyOnRails security Stripe Webhooks
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.

DevOps HashiCorpVault security SSHAccess WebDevelopment
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...

CareerDevelopment Learning PomodoroTechnique Productivity TimeManagement
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...

Coding Creativity Learning Sketchbook WebDevelopment
Added: 08 Jul 2021
Improving Horizontal Scroll with CSS Scroll Snap

The pattern with horizontal scroll is frequently found in mobile versions of sites. For example, on...

CSS Frontend MobileDesign ScrollSnap WebApps WebDevelopment
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.

Hanami RubyOnRails SeparationOfConcerns Slices SoftwareArchitecture WebDevelopment
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...

Blogging Bridgetown Ruby StaticSiteGenerator Tutorial WebDevelopment
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.

BestPractices CleanCode CodingExercises RubyOnRails WebDevelopment
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.

CodingBestPractices RailsAntiPatterns RubyOnRails SoftwareEngineering WebDevelopment
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.

301Redirect HTTPStatus Nginx RubyOnRails WebDevelopment
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.

HTTP Redirection RubyOnRails WebDevelopment
Added: 07 Jul 2021
Under the hood of the includes method in Rails

Understand the way ActiveRecord is working

LongLiveRuby Redirect WebDevelopment
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

301Redirect Cloudflare RubyOnRails SEO WebDevelopment
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

CrossPlatform Ionic MobileDevelopment ReactNative WebFrameworks
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...

DistributedSystems Idempotency MessageQueue RubyOnRails TransactionalOutbox WebDevelopment
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.

CalligraphyFonts CreativeDesign DesignResources FreeFonts GraphicDesign Typography WebDesign
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…

BrandDevelopment Consultancy Design Joy ServiceDesign UserResearch
Added: 04 Jul 2021
Star-Rating Using A Single Input

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

Accessibility CSS HTML Javascript StarRating WebDev
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…

Rails RubyOnRails SoftwareDevelopment ValidationHelpers WebDevelopment
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!

Hanami Innovation Microservices Rails Ruby WebDevelopment
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...

AppDesign Javascript OfflineFirst React SyncingData WebDevelopment
Added: 02 Jul 2021
Configure anything with dry-configurable

Configuring projects and components is one of the most common features in programming in general. dry-configurable is a standalone gem providing you exactly this in Ruby! Read about how to use it.

ConfigurationManagement DryConfigurable Hanami RubyGems WebDevelopment
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.

APIs ProgressiveWebApps ProjectFugu PWA RubyOnRails WebApps WebDevelopment
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...

api Beginners codenewbie WebDev
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...

Git Merge Rebase SoftwareEngineering WebDevelopment
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…

HTTPStatusCodes Redirects RubyOnRails WebDevelopment
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.

301Redirect HTTPStatusCodes WebDevelopment
Added: 01 Jul 2021
Geri Reid - Forms best practice

My research insights and thinking on form design

Accessibility BestPractices FormDesign InclusiveDesign UIUX WCAG
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

AzureCommunicationServices CPaaS Microsoft VideoConferencing WebDevelopment WebRTC
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.

Automation CIPipeline GitHubActions RubyOnRails WebDevelopment
Added: 01 Jul 2021
stimulus-use/stimulus-use

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

Javascript OpenSource reactiveprogramming StimulusJS WebDevelopment
Added: 01 Jul 2021
Utility Classes I Have Known and Loved

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

CSS RubyOnRails Tailwind UtilityClasses WebDevelopment
Added: 01 Jul 2021
Embracing Perspectives with the Rails Router

One of my favorite parts of Rails is the router.

CodeOrganization ControllerManagement RailsRouter REST RubyOnRails WebDevelopment
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.

AssetManagement Rails Sprockets WebDevelopment Webpacker
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.

ERB RubyOnRails SVG UserAvatars WebDevelopment
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

ActiveStorage AudioAnalyzer FFmpeg Rails7 WebDevelopment
Added: 01 Jul 2021
thoughtbot/suspenders

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

RailsTemplate RubyOnRails Suspenders Thoughtbot WebDevelopment
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.

GitHubUniverse Innovation Networking SoftwareDevelopment WebDevelopment
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.

Cloudinary DigitalAssetManagement ImageTransformations RubyOnRails VideoOptimization WebDevelopment
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.

301Redirect Cloudflare RubyOnRails SEO WebDevelopment
Added: 01 Jul 2021
Use GitHub Actions for Rails CI with Postgres

Updated for 2021: So many commits to get here

ContinuousIntegration GitHubActions PostgreSQL RailsCI RubyOnRails WebDevelopment
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.

APIs Faraday HTTPClients Ruby RubyOnRails WebDevelopment
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

500Error Ruby on Rails RubyOnRails ServerIssues WebDevelopment
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.

AgileMethodologies PairProgramming SoftwareDevelopment TeamCollaboration
Added: 01 Jul 2021
rubycdp/vessel

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

DataMining OpenSource Ruby WebCrawling WebDevelopment
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!

HTTP Nginx SEO WebDevelopment
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.

ContinuousDelivery DevOps FeatureFlags GitHub SoftwareDevelopment
Added: 01 Jul 2021
Crystal

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

Concurrency CrystalProgramming OpenSource Ruby TypeSystem WebDevelopment
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.

Communication DigitalNorms HybridWork Management RemoteWork TeamCollaboration
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…

FrameworkDefaults Rails6 RubyOnRails SoftwareDevelopment WebDevelopment
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

APIIntegration Enumerable PaginatedData Ruby RubyOnRails Trello WebDevelopment
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.

AsyncProcessing DomainDrivenDesign EventSourcing RailsEventStore ReadModel RubyOnRails
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.

BestPractices FastRuby Rails610 RubyOnRails SoftwareDevelopment Upgrades WebDevelopment
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

Redirect Ruby WebDevelopment
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

Algorithm Backtracking ProgrammingChallenges Python Sudoku WebDevelopment
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.

PWA RubyOnRails URLHandlers UserExperience WebDevelopment
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

BarcodeScanning HardwareIntegration iOS Rails Swift TurboIOS WebDevelopment
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 […]

ActiveStorage Devise RubyOnRails security Tutorial WebDevelopment
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.

GitHub IssueTemplates OpenSource PullRequestTemplates WebDevelopment
Added: 01 Jul 2021
CSS Frosted glass effect (glass morphism) Tutorial

Ever wondered how to get that cool blurred glass effect with CSS only? Here is the tutorial step by step with a live demo.

CSS FrostedGlass Glassmorphism Tutorial WebDevelopment
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. 🤔

ForceMultiplier Productivity SeniorEngineers SoftwareDevelopment TimeManagement
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.

CodeOrganization Mixins Modules RubyOnRails WebDevelopment
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…

AccountScoping ActiveSupport Authorization RubyOnRails WebDevelopment
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...

GitHub GitHubActions Markdown ProfileREADME WebDev
Added: 01 Jul 2021
Building a sidenav component

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

FrontendDevelopment RubyOnRails SidenavComponent UserExperience WebDevelopment
Added: 01 Jul 2021
Home

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

Accessibility DesignSystem GovernmentServices GovUK RubyOnRails WebDevelopment
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...

HTML5 Javascript PWA WebApps WebDevelopment
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.

HTTPStatusCodes RubyOnRails WebDevelopment
Added: 01 Jul 2021
Handling Short And Long Content In CSS - Ahmad Shadeed

An in-depth article on how to handle short and long content in CSS.

CSS ResponsiveDesign TextManagement UIUX WebDevelopment
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

BorderStyles CSS Typography WebDesign WebDevelopment
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...

NestedForms Rails Ruby on Rails RubyOnRails StrongParameters UI WebDevelopment
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

EmotionalIntelligence RubyOnRails SoftwareEngineering TeamDynamics WebDevelopment WorryDrivenDevelopment
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...

Animation CSS HTML Javascript RippleEffect WebDev
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.

301Redirect Cloudflare HTTPStatusCode RubyOnRails SEO WebDevelopment
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

ActiveJob ErrorHandling JobEnqueue RubyOnRails WebDevelopment
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.

302Redirect HTTP StatusCode WebDevelopment
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

api JobManagement RubyOnRails Sidekiq WebDevelopment
Added: 01 Jul 2021
Rails with Webpacker, a full setup

Create a new Rails application without Webpacker

HTTPStatus Nginx Redirect SEO WebDevelopment
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.

Markdown OpenSource Redcarpet Ruby WebDevelopment
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...

BestPractices LiskovSubstitutionPrinciple RubyOnRails SoftwareDevelopment SOLID
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…

GitHubActions GitHubPages Jekyll RubyOnRails WebDevelopment
Added: 01 Jul 2021
maaslalani/slides

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

GitHub Markdown OpenSource RubyOnRails Slides TerminalPresentation
Added: 01 Jul 2021
MIDIBlocks/handsfree

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

FaceTracking Handsfree HandTracking OpenSource PoseTracking WebDevelopment
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.

ActiveRecord DatabaseDesign Rails SocialNetworking WebDevelopment
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.

Accessibility Automation RubyOnRails ScreenReaderTesting VoiceOver WebDevelopment
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.

Esbuild Frontend Typescript WebDevelopment Webpack
Added: 01 Jul 2021
Blocks, Procs, and Enumerable

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

any Blocks each Enumerable inject map Procs Programming Ruby to_proc WebDevelopment
Added: 01 Jul 2021
How to implement Rails API authentication with Devise and Doorkeeper

Ruby, Rails, Web dev articles

APIAuthentication Devise Doorkeeper OAuth RailsTutorial RubyOnRails WebDevelopment
Added: 01 Jul 2021