makandra Curriculum

makandra offers an 8 month paid trainee program 🇩🇪 for junior developers that are looking to start a professional career in...

I use the Gemini web chat interface quite extensively. One thing that is tedious is giving it all the context...

Knapsack allows you to rerun a specific job locally. This is helpful to run specs in the exactly same order...

If your rubocop run fails with a stack like rubocop-1.61.0/lib/rubocop/server/socket_reader.rb:36:in `ensure in read!': undefined method `string...

Event listeners are called in the order of their registration: button.addEventListener('click', () => console.log("I run first")) button.addEventListener('click', () => console.log("I...

I have a form with a dynamic number of fields. Submitting it worked fine until I tried out a very...

makandracards.com

Added a section about remote debugging.

makandra dev

Most of our CI pipelines don't use the --retry flag for Cucumber and instead build their own retry via...

Short reference on how to quickly debug the vanilla Rails job adapters. Queue Adapters by Environment Environment Adapter

I recently had to update a few selective npm libraries in a project that uses pnpm to apply a CVE...

It's not possible to use variables in media queries with plain CSS. @media (max-width: var(--some-pixel-size...

When you query the browser for DOM elements, there are some footguns you should know about. Some lists are synchronized...

makandra dev
maketintsandshades.com

A simple web tool for generating lighter (tints) and darker (shades) versions of any HEX color value. Tip

Finding changes When you're looking for a specific change in Git, there are multiple axes you can choose:

When you replace parts of the DOM with new HTML, using .innerHTML = newHtml is usually the simplest and fastest option...

Compatibility: Angular 20+ with Jasmine 5.x and Karma 6.x As a default Angular CLI auto-generates test bootstrap...

You want to prevent input to a form field, but all the solutions have side effects: The [readonly] attribute is...

developer.chrome.com

The File System Access API is a new capability of modern browsers that allows us to iterate over selected folders...

makandra dev

Enable local logging for Sentry when: Debugging Sentry event capture locally Testing error handling without polluting production metrics Developing background...

Full-text search can reach its limits in terms of flexibility and performance. In such cases, trigram indexes (pg_trgm...

unpoly.com

Quick reference for passing data from Rails to JavaScript via Unpoly compilers. Haml Attribute Syntax # Ising hash rockets and string...

unpoly.com

Quick guide for frequently used compiler selector patterns of Unpoly. 1. BEM Component Pattern When: Reusable UI components with multiple...

Performing COUNT(*) on large tables is slow. Sometimes you don’t need the exact number once results exceed a certain...

makandra dev

When RSpec sets out to print any given object to the console, it will never print more than 200 characters...