The ActiveSupport::BroadcastLogger allows you to log to multiple sinks. You know this behavior from from the rails server command...
I recently stumbled upon the Rails feature composed_of. One of our applications dealt with a lot of addresses and...
Rails' default logger prefixes each log entry with timestamp and tags (like request ID). For multi-line entries, only the...
Rails credentials are a way to store secrets in an encrypted YAML file. Usage is simple: each key in the...
The Visual Viewport API enables developers to access the actually visible area of the page. This differs from the normal...
I was recently asked to optimize the response time of a notoriously slow JSON API endpoint that was backed by...
While most Rails Apps are tied to at least one external REST API, machine-to-machine communication via GraphQL is...
Modern JavaScript includes Intl.NumberFormat to format numbers in different formats and locales. In this card, we describe a wrapper for...
This cards describes an example with a Github Client on how to keep your Rails application more maintainable by extracting...
I used two lab days to read the The framework field guide - Fundamentals, the first of a three part series...
Why do we migrate? Due to a change in licensing, we cannot provide Elasticsearch versions >= 8.0. Version 7.17.x will...
It's 2024 and we have tools like ffmpeg, imagemagick and GPT readily available. With them, it's easy to...
The Web Animations API has great browser support, and you should be using it to animate DOM elements from JavaScript...
I recently noticed a new kind of flaky tests on the slow free tier GitHub Action runners: Integration tests were...
Any form fields where users enter numbers should be an . Numeric inputs have several benefits over : On mobile or tablet...
Today I learned that you can animate HTML elements using the Web Animation API's method .animate(keyframes, options) (which...
Version 3.7.0 broke some things in complex forms. Sorry for that. Concurrent user input is hard. 3.7.1 This change fixes...
OpenAI is currently limiting the Audio generating API endpoint to text bodies with a maximum of 4096 characters.
In my career, I have consumed hundreds of REST APIs and produced dozens. Since I often see the same mistakes...
The sprintf method has a reference by name format option: sprintf("% d : % f", { :foo => 1, :bar => 2 }) # => 1 : 2.000000
Apply Test Driven Development(TDD) to the process of building container images by defining test before writing code and automate...
Every modern Rails app should have a Content Security Policy enabled. Very compatible default The following "default" is a minimal...
All direct child directories of app are automatically added to the eager- and autoload paths. They do NOT create a...
We regularly have tasks that need to be performed around a deploy. Be it to notify operations about changed application...