We're usually running Ubuntu LTS versions. Sometimes newer hardware requires packages from more recent Ubuntu releases that only come...

Checking if a JavaScript value is of a given type can be very confusing: There are two operators typeof and...

makandra dev

An end-to-end test (E2E test) is a script that remote-controls a web browser with tools like Selenium...

When your public-facing application has a longer downtime for server maintenance or long migrations, it's nice to setup...

Browsers support different types of redirects. Be very careful with these status codes: 301 Moved Permanently 308 Permanent Redirect

Slides for Henning's talk on Sep 21st 2017. Understanding sync vs. async control flow Talking to synchronous (or "blocking...

If you are using PDFKit / wkhtmltopdf, you might as well want to use custom fonts in your stylesheets. Usually this...

depfu.com

TL;DR: Bundler 2.0 will rename Gemfile to gems.rb and Gemfile.lock to gems.locked (sic). The old filenames will be supported...

askubuntu.com

While the hardware mute button of my Lenovo x230 worked on Ubuntu 14.04 out of the box, it does not...

github.com

FactoryBot allows a :class option to its factory definitions, to set the class to construct. However, this option is not...

After loading a staging dump into development, you might get an ActiveRecord::EnvironmentMismatchError when trying to replace the database (like...

When localizing model attributes via I18n you may run into errors like this: I18n::InvalidPluralizationData: translation data {...

...} can not be...

If another session is accessing your database you are trying to reset or drop you might have seen the following...

gist.github.com

Here is some JavaScript code that allows you to click the screen and get the clicked element's text contents...

docs.ruby-lang.org

Use return to return from a method. return accepts a value that will be the return value of the...

blog.patricktriest.com

Sometimes modern Javascript projects get out of hand. A major culprit in this can be the messy handling of asynchronous...

before(:all) runs the block once before all of the examples. before(:each) runs the block once before each...

There are many approaches out there how you can import data from a legacy application to a new application. Here...

You can use local copies of gems in your Gemfile like this: gem 'spreewald', path: '~/gems/spreewald' As soon as you...

github.com

Use Traim to build a RESTful API for your ActiveRecord models with very little code. Traim assumes your API resources...

ImageMagick can automatically crop surrounding transparent pixels from an image: convert input.png -trim +repage output.png

ActiveRecord::RecordNotFound errors provide quite meaningful error messages that can provide some insight on application details. Consider the following:

wiki.snom.com

If your Snom 300 always keeps the same volume for headset and ringtone (as soon as you change one you...

Webpack is the future. We're using it in our latest Rails applications. For tests, we want to compile assets...