I had to modify the time for an application that I launch through Docker. Here is an approach that worked...

postgresql.org

There is no such thing as a "default order" of rows in database tables. For instance, when you paginate a...

makandra dev

While most Rails Apps are tied to at least one external REST API, machine-to-machine communication via GraphQL is...

When RubyMine reports Rubocop returning "exit code -1", upgrading Rubocop can be the fix: gem install rubocop "The logs" can...

Same requests are recorded only once in vcr. Replaying a test fails, if you trigger the same request multiple times...

morris-photographics.com

Some browsers render PNG images with color profiles and other shenanigans, some do not. The cleanest way to have consistent...

makandra dev
interfaces.rauno.me

A list of implementation details that make for a better / expected user experience. Have these in mind when implementing a web design. This document outlines a non-exhaustive list of...

mtlynch.io

...boring style violations. When you demonstrate an appreciation for constructive criticism, your reviewer provides better feedback . Make others better: Your code review techniques set an example for your colleagues. Effective...

makandra dev

This talk shows simple and advanced usages of the ruby/debug debugger. It goes through a step by step debugging workflow...

If you expect method calls in RSpec 3, be aware that the argument matchers use very liberal equality rules (more...

When your Cucumber feature needs to browse the page HTML, and you are not sure how to express your query...

We're always striving towards keeping our website's JavaScript as small as possible. If you're using webpack(er...

Web technology is a broad field and you cannot be an expert in all aspects. However, it is useful to...

makandra dev

This card is mainly an explanation how variable fonts work in CSS, not necessarily a recommendation to actually use them...

...the window's resize event, that might call your event listener many times. A better way is to subscribe to changes of the MediaQueryList object that is returned by matchMedia...

makandra dev

We structure our CSS using the BEM pattern. Our naming convention for blocks, elements and modifiers has evolved over the years. This card shows our current style and various alternative...

...not mix styles and be consistent within a given project. Current convention Our current BEM naming convention looks like this:

Note how the modifier just starts with a dash (-pro...

...update cucumber Make sure you have a recent version of geordi (it doesn't belong in your Gemfile!): gem install geordi Check if you're using Transforms Transform is no...

I frequently find myself needing a combination of group_by, count and sort for quick statistics. Here's a method...

...also in our library): Designing a Complex Form Designing a Dashboard Designing Content Designing Beautiful Shadows in CSS Pairing typefaces Then, take the quiz at cantunsee.space. Did you spot all...

...system's environment specifies. This is usually good enough. To test any timezone-dependent behavior in Chrome, you can change the time zone using the Chrome DevTools Protocol. Example

makandra dev

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

This guide shows how to create an AngularJS application that consumes more and more memory until, eventually, the browser process...

In long diffs, it can become impossible to spot small changes in larger blocks of moved code. This may be either a method that was moved from the top to...

...Capybara see the print stylesheet Capybara always requests as the screen medium. The step belows reloads the current page with a query param we will use in our layout to...