Authentication is hard: there are many edge cases, and most users (including yourself) usually only go the "happy path" once...

github.com

When using the json gem, you might run into this error when using JSON.parse: >> json = 'foo'.to_json >> JSON.parse(json...

makandra dev
github.com

jQuery plugin to fire events when user's cursor aims at particular dropdown menu items. For making responsive mega dropdowns...

Note: This technique is confusing and slows down your test suite. Copy the attached code to features/support. This gets you...

stackoverflow.com

Usually, the logrotate service takes care of renaming log files each night or so to avoid logs becoming huge. That...

stackoverflow.com

TL;DR: Variables not declared using var are stored outside the current scope, most likely in the global scope (which...

blog.codeclimate.com

Rails’ reputation as a relatively secure Web framework is well deserved. Out-of-the-box, there is protection against many...

Spreewald's patiently repeats the given block again and again until it either passes or times out.

When a controller action redirects to an external URL (like http://somehost.com/some/path) you will find that this is hard...

opensoul.org

Great presentation about writing Javascript like you write everything else: Well-structured and tested. JavaScript is no longer a toy...

singlepageappbook.com

Great look at the tradeoffs between progressive enhancement with jQuery or similiar, vs. client-side views.

chartjs.org

Chart.js seems to be a good alternative to Google's Chart API and other commercial chart drawing libraries.

Do not pass times to date attributes. Always convert times to dates when your application uses time zones. Background

JavaScript has no built-in functions to compare two objects or arrays for equality of their contained values.

If you open a pop-up window [1] in your Selenium tests and you want to close it, you can...

JavaScripts and CSS should be minified for production use. In Rails 3.1+ the asset pipeline will take care of this...

If you need to capture signatures on an IPad or similar device, you can use Thomas J Bradley's excellent...

This works well in the simplified case, when your link disappears after it was clicked. Let link_to_remote behave...

kushagragour.in

A tooltip library that does not use Javascript. Works in IE9+. This library (or the technique used by it) could...

Ruby has two different ways to match the start and the end of a text: ^ (Start of line) and $ (End...

Spreewald now comes with a step that tests if a form field is visible: Then the "Due date" field should...

validates_uniqueness_of is not sufficient to ensure the uniqueness of a value. The reason for this is that in...

developers.google.com

The attached article outlines considerations when choosing client-side vs. server-side implementations of the Google Geocoding APIs (geocoder, directions...

Apache HTTP server benchmarking tool (ab) is a nice tool to test performance on sites delivered by HTTP. If the...