Ubuntu has decided to disable PDF processing because ImageMagick and the underlying Ghostscript had several security issues. When your Ghostscript...

docs.ruby-lang.org

Percent Notation We already know that that we can create strings using the percent notation: %(<foo="bar's ton">) is...

developers.google.com

Mobile Chrome and Safari support the "web share API" which allow you to use the native share functionality of an...

Rubymine 2024.3 bundles Grazie Lite by default. You need to enabled "German" under Settings/Preferences | Editor | Natural Languages.

Geordi uses parallel_tests if available for running the test suite. To debug an application it is very unhandy to...

Font Awesome 5 is a comprehensive solution for vector icons on your website. Originally, Font Awesome came as an icon...

github.com

Phusion Passenger changed the way how it gets restarted several times. Through the project's history, these all were valid...

In this example we assume that not only the storage gem changes but also the file structure on disc.

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...

island94.org

Rails 5.2 soft-deprecated the storage of secrets in secrets.yml in favor of a new thing, credentials.yml.enc. Rails 7.1 deprecated...

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...

developer.mozilla.org

...HTML's accepts a single file. You can allow multiple files via . But sometimes, selecting multiple files is not enough...

web.archive.org

Restricting access to cookies is essential for security in many web apps. For example, the session ID, the secret token...

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

Migrating data from a legacy into a new system can be a surprisingly large undertaking. We have done this a...

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...

Haml lets you prefix a group of attributes by wrapping them in a hash. This is only possible with the...

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...

stackoverflow.com

Ruby has this handy block shortcut map(&:to_i) for map { |x| x.to_i }. However, it is limited to argument...

Whenever is a Ruby gem that provides a nicer syntax for writing and deploying cron jobs. Leading zeros are important...