makandra dev

Cross-Site Request Forgery (CSRF) is an attack pattern for websites. A CSRF attack is usually relevant in a...

A JavaScript error in an E2E test with Selenium will not cause your test to fail. This may cause you...

Geordi provides a pretty neat way to generate beautiful commit messages according to your stories in Linear: geordi commit

Geordi's cucumber command has a --rerun option that reruns failing tests the given number of times. Usage: geordi cucumber...

Most forms have a single submit button that will save the record when pressed. Sometimes a form needs additional submit...

In a project team for a bigger project people have several roles: Developer: at makandra Project lead: at makandra

At makandra, we've built a few gems over the years. Some of these are quite popular: spreewald (> 1M downloads...

When you receive a ZIP file from a Windows user, umlauts and other non-latin1 characters in filenames may look...

As a web developer, you know Google Analytics (GA). Probably you've dropped the GA snippet into more than one...

Why secure-only cookies used to be necessary Cookies have an optional secure flag. It tells the browser to not...

makandra dev

For webpages to load fast it's recommended to optimize images. Ideally an image's file size should be as...

Background information about session storage in Rails Rails has a default mechanism to store the session in the CookieStore. This...

If you want to fill in textareas with multiple lines of text (containing line breaks / new lines) you can use...

To make a local copy of an S3 bucket, I use the s3cmd command line tool. Configure access keys:

makandra dev
litmus.com

The 90s are calling: they want their tables back. Unfortunately, you need them all for laying out your HTML emails...

makandracards.com

In medium-sized to large Rails applications, asset compilation can take several minutes. In order to speed up deployment, asset...

When your application is running on a multi-server setup, application logs are stored per server (unless you choose a...

By default, Capistrano truncates server responses and places an ellipsis at the end of lines that are longer than your...

When your JavaScript bundle is so massive that you cannot load it all up front, I would recommend to load...

For outputting a given String in HTML, you mostly want to replace line breaks with or tags.

Webpacker uses Babel and Webpack to transpile modern JavaScript down to EcmaScript 5. Depending on what browser a project needs...

jsfiddle.net

When you need test images, instead of using services like lorempixel or placehold.it you may generate test images yourself.

Boot partitions from installations prior to the 16.04 era are terribly small. When you install updates and encounter errors due...

When you find yourself constantly ignoring a RubyMine warning, you can simple disable that warning and de-clutter your editor...