Too many parallel test processes may amplify flaky tests
By default parallel_tests will spawn as many test processes as you have CPUs. If you have issues with flaky...
Linux: How to make a terminal window title reflect the current path
By default, your terminal emulator (Gnome Terminal, Terminator, etc.) sets some kind of window title to reflect the shell type...
How to test inside iframes with cucumber / capybara
When testing with Cucumber / Caypbara, iframes are ignored, so you can't interact with them. To interact with your iframe...
What's so hard about PDF text extraction?
There is a common view that extracting text from a PDF document should not be too difficult. After all, the...
Carrierwave: How to migrate to another folder structure
A flat folder structure can be cool if you have only a few folders but can be painful for huge...
How to check if a file is a human readable text file
Ruby's File class has a handy method binary? which checks whether a file is a binary file. This method...
Error handling in DOM event listeners
When an event listener on a DOM element throws an error, that error will be silenced and not interrupt your...
The JavaScript Object Model: A deep dive into prototypes and properties
Speaker today is Henning Koch, Head of Development at makandra. This talk will be in German with English slides.
Bash: How to use colors in your tail output
Sometimes it's nice to have some coloring in your logs for better readability. You can output your logs via...
Geordi 2.7.0 released
Fixed #68: The "cucumber" command now fails early when @solo features fail. Added: The "setup" command now prints the db...
Linux, Arial and Helvetica: Different font rendering in Firefox and Chrome
When text renders differently in Firefox and Chrome, it may be caused by a font alias that both browsers handle...
How to enable Chromedriver logging
When using Chrome for Selenium tests, the chromedriver binary will be used to control Chrome. To debug problems that stem...
Joining PDFs with Linux command line
There are several ways to merge two (or more) PDF files to a single file using the Linux command line...
Capybara: Testing file downloads
Download buttons can be difficult to test, especially with Selenium. Depending on browser, user settings and response headers, one of...
ActionMailer: Previewing mails directly in your email client
In Rails, we usually have a mailer setup like this: class MyMailer < ActionMailer::Base def newsletter mail to: 'receiver@host.tld',
Cucumber: How to find unused step definitions
Cucumber has an output format that prints step definitions only. You can use this to find unused ones: Temporarily add...
ActiveJob Inline can break the autoloading in development
We figured out, that ActiveJob Inline might lead to autoloading problems in development. The result was an exception when running...
Fixing "identify: not authorized"
Ubuntu has decided to disable PDF processing because ImageMagick and the underlying Ghostscript had several security issues. When your Ghostscript...
An incomplete guide to migrate a Rails application from paperclip to carrierwave
In this example we assume that not only the storage gem changes but also the file structure on disc.
Rails: How to check if a certain validation failed
If validations failed for a record, and you want to find out if a specific validation failed, you can leverage...
Printing background color of elements
Browsers' printing methods usually don't print background colors. In most cases this is the desired behavior, because you don...
Understanding IRB warning "can't alias ... from ..."
Sometimes, the IRB prints a warning during boot: irb: warn: can't alias source from irb_source. Explanation
How to resize your boot partition when there is an encrypted partition after it
Boot partitions from installations prior to the 16.04 era are terribly small. When you install updates and encounter errors due...
Writing strings as Carrierwave uploads
When you have string contents (e.g. a generated binary stream, or data from a remote source) that you want to...