help.github.com

Please don't simply copy line number links from Github. The URL usually contains a branch name like master which...

If you're on Ruby 2.3+ there's a <<~ operator to automatically unindent HEREDOCs: str = <<~MESSAGE Hello Universe!

railscasts.com

See this Railscast. Basically you can simply write views like index.xlsx.erb: ID Name Release Date Price <% @products.each do |product| %> <%= product.id...

When you want to look up a class for a given factory, do it like this: >> FactoryBot.factories.find('admin').build_class...

patrickmarabeas.github.io

Webfonts are not always available when your JavaScript runs on first page load. Since fonts may affect element sizes, you...

makandra dev
stackoverflow.com

When a CSS3 animation makes the animated element flicker, it may well be due to pixel fragments being handled differently...

Be careful when using buttons without a type attribute, since browsers will consider them the default submit button of a...

tech.bellycard.com

The debate between using mixins or extends in Sass has been heating up recently. From the surface it appears they...

robots.thoughtbot.com

Redis comes with a really easy to use Pub/Sub mechanism.

If you want to sort values from an enumerable into two arrays based on whether they match a certain criteria...

To achieve this goal you have to setup the session store like the following example: MyApp::Application.config.session_store( :cookie_store...

robots.thoughtbot.com

Good article about window functions. Also note how they use a postgres feature called common table expressions.

jQuery doesn't store information about event listeners and data values with the element itself. This information is instead stored...

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

makandra dev

Obviously, you only can do this for your own sites. You need to authenticate a domain you want to remove...

When uploading images, adding more than one process to a version can cause MiniMagick to run multiple commands. In order...

xaprb.com

The linked article explains how to get a database-wide lock without creating table rows: This article explains how I...

nandovieira.com

Postgres 9.4 introduces a new column type: jsonb. json and jsonb columns store data differently, so just compare the two...

When you are using the #selector_for helper in Cucumber steps, as e.g. Spreewald does, the following snippet will save...

Array#flatten by default flattens an array recursively. To only flatten the array for e.g. one level, it takes an...

makandra dev
github.com

Gem to show failing specs instantly. Unlike the --fail-fast option it doesn't abort abort on the first failure...

guides.rubyonrails.org

When running migrations with rake db:migrate, there's the STEP and VERSION parameters that you can pass to nearly...

makandra dev

It's like a GUI for the famous git add [-p]. Select files with the up/down-keys and hit

The easiest way to detect touch-capable browsers is to check for the presence of touch events. It is no...