TLDR: Ruby class variables (@@foo) are dangerous in many ways. You should avoid them at all cost. See bottom of...
When creating an ActiveRecord with .new, .create or create!, you cannot set the ID attribute (note: When using Machinist's...
You probably know that you can use CSS selectors to match against elements and their attributes, such as:
You can use the content CSS attribute to set an element's content -- which is especially useful for the :before...
Since I'm a software architect and a web developer, I get often approached by people with their new ideas...
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...
Microsoft provides virtual machines for different Internet Explorer versions. The images are available for various virtualization solutions, including VirtualBox...
When you accept a table in your Cucumber step definition, that table object will have the cryptic type Cucumber::Ast...
January has been a very bad month for Ruby on Rails developers, with two high-severity security bugs permitting remote...
Consul 0.6.1+ gives your Power class a number of static methods that behave neutrally in case Power.current is nil. This...
Consul 0.6.1+ gives you a way to dynamically access and query powers for a given name, model class or record...
We recently had a problem on a Memcache cluster, where one of the servers showed a significantly worse cache hit...
validates_uniqueness_of is not sufficient to ensure the uniqueness of a value. The reason for this is that in...
The attached article outlines considerations when choosing client-side vs. server-side implementations of the Google Geocoding APIs (geocoder, directions...
Mobile browser's ignore the autoplay attribute on and elements. Stupid reasons include saving mobile bandwidth on behalf of the...
Calling bundle update GEMNAME will update a lot more gems than you think. E.g. when you do this...
The Out-of-Band Work feature allows one to perform arbitrary long-running work outside the request/response cycle without blocking...
If you worked with a system Ruby before switching to RVM, this system Ruby will be in your way when...
Apache HTTP server benchmarking tool (ab) is a nice tool to test performance on sites delivered by HTTP. If the...
If you say git stash, your stashed changes will be identified with an automatically generated message: $ git stash
Use Socket.gethostname. So for a machine whose hostname is "happycat", it will look like this: >> Socket.gethostname => "happycat" That should work...
The way MySQL's FULLTEXT tokenizer splits text into word tokens might not always be what you need. E.g. it...
You will get this when you are using the latest version of Rails with a recent version of Rack: