...to facilitate website testing in multiple versions of IE, regardless of the host operating system. Unfortunately, setting these virtual machines up without Microsoft's VirtualPC can be extremely difficult. These...
...scripts aim to facilitate that process using VirtualBox on Linux or OS X. With a single command, you can have IE6, IE7, IE8 and IE9 running in separate virtual machines...
...open files with "full" (100%) zoom and not try to fit them to your screen? Tough luck -- there is no setting for this. But, after opening the file, you can...
...any TTF or OTF font (license permitting), by bringing in font glyphs as vector shapes, providing a completely overhauled font generated to the user's specification with alternative metrics options...
...alternative hinting types, kerning and spacing options and the facility to make any average free font look great. Examples are here
...mark up links that should use Wiselinks It can refresh content in a given selector only (think framesets), whereas Turbolinks always refreshes the whole body It can submit forms without...
...or if none given, by it's number: When /^(.*?) inside the (.*?). iframe$/ do |nested_step, frame_number| page.within_frame(frame_number.to_i) do step nested_step end end When /^(.*?) inside the...
...iframe:$/ do |nested_step, frame_number, table_or_string| page.within_frame(frame_number.to_i) do step("#{nested_step}:", table_or_string) end end Use it like this: Then the radio button...
...new background worker gem. It's compatible with ActiveJob. We're huge fans of Sidekiq for its stability and features. One advantage of GoodJob over Sidekiq is that GoodJob doesn...
When you are working with jQuery selectors and collections, many times you want to know if the collection actually contains the elements you wanted to select. Here's a tiny...
Service that you can integrate for user feedback. Super-simple integration: Add a...
Testing with real live production data does come with at least one catch. All those real live users in your...
...Gemfile.lock in your working directory that you cannot remove by either checkout, reset [--hard], stash, probably Rails' Spring is the culprit and not Bundler itself. Fix spring stop
...of the linked Stackoverflow post supposes Spring re-writes the Gemfile.lock on change to ensure all Spring processes are using the same gem versions. Meh...
Lightweight Angular JS directive to upload files Includes polyfills for old IEs. Unfortunately, their auto-loading mechanism may not work...
Splitting a long method into sub methods is easier in instances since it is in classes. Since you must not save state in a class, you need...
...a long chain of parameters again and again. If your public API has a single entry point, you can still have a class-level method that takes care of constructing...
...is a method Hash#to_query that will turn a Hash into a query string: >> {:a => "a", :b => ["c", "d", "e"]}.to_query => "a=a&b%5B%5D=c&b...
...a=a&b[]=c&b[]=d&b[]=e" If you're on the browser side, you can serialize nestd objects to query strings using jQuery's $.param...
Quick introduction to git internals for people who are not scared by words like Directed Acyclic Graph. The linked page offers a simple yet concise explanation of how git is...
...a directed acyclic graph with post-it notes'). Each feature is illustrated by a simple diagram, so you get a sound understanding of how each command affects git's structure...
A lot of the advice involves less separations of concerns in your code ("don't use $watch", "don't use isolated scopes"), but it's a nice summary of what...
...the purpose of this article "large" mostly mean "large number of watchers/bindings on a single screen". Angular doesn't automatically become large just because you have a lot of screens...
...definitive reference for what work is triggered by changing various CSS properties. It's something I get asked about often enough by developers, and while we can do tests with...
...DevTools, I have both the time and inclination to shortcut that for everyone. I'm nice like that. —Paul Lewis
...write this instead: expect(value).to eq(true) expect(value).to eq(false) See also RSpec claims nil to be false
...are times when you have a chunk of text that you want to do something with, e.g. replace something on it, or quickly edit it. While you can open your...
...favorite non-RubyMine editor for this, there is also a plugin: Scratch. It allows RubyMine to open temporary files (actually they are saved, but somewhere inside the plugin's directory...
The linked article compares two approaches for writing CSS: A component library (like BEM) Utility classes (like Tailwind)
The linked article has a great explanation how to to deal with string encodings in Ruby. Furthermore you can check out some of our cards about encoding: Ruby's default...
...encodings can be unexpected How to fix invalid byte sequence in UTF-8 error
Bundler 2 introduced various incompatibilites und confusing behavior. To add to the confusion, Bundler's behavior changed after the release...
...should be familiar with coordinates. Most JavaScript methods deal with one of two coordinate systems: Relative to the window(or another viewport) top/left. Relative to the document top/left.
The rack-contrib gem brings a JSONP middleware that just works™. Whenever a JSON request has a callback parameter, it...
Good article about what "gamma correction" means for color processing, and what "sRGB" actually means. You probably do not need to know this for web development, but it's an...