If the project team consists of at least 2 members, do a daily standup. It should not take much longer...
We organize our daily work with issues in our Linear workspace. Issue format A good issue needs to be precise...
When starting a project we always make a good estimate of all known requirements, and plan budgets and available developers...
Ruby has Enumerable.find(&block), which returns the first item in the collection for which the block evaluates to true.
On Ruby 1.9+, standard ruby character classes like \w, \d will only match 7-Bit ASCII characters: "foo" =~ /\w+/ # matches...
tig is a command line explorer for Git that is just awesome. Install via apt-get or brew. Handy commands...
Several Rails migration methods accept index: true as an option to create an index. In some cases (like #add_column...
# Given the following models class Image < ActiveRecord::Base has_many :album_images has_many :albums, through: :album_images
When ending a Selenium test Capybara resets the browser state by closing the tab, clearing cookies, localStorage, etc.
You know that ActiveRecord caches associations so they are not loaded twice for the same object. You also know that...
Web applications can be used by multiple users at the same time. A typical application server like Passenger has multiple...
This guide shows how to create an AngularJS application that consumes more and more memory until, eventually, the browser process...
The CSS property z-index is not as global as you might think. Actually, it is scoped to a so...
Here is a Javascript function reloadUsers() that fetches a HTML snippet from the server using AJAX and replaces the current...
One of the many useful features of TextMate is autocompletion of words. If I were in TextMate right now, I...
Rails migrations allow you to use a change method whose calls are automatically inverted for the down path. However, if...
For our production servers we use Passenger as a Ruby application server. While it is possible to use Passenger for...
In a JavaScript console, type this: > 9112347935156469760 9112347935156470000 Ooops. And that's not a float! This occurs because JavaScript uses...
Cookies without an expiration timestamp are called "session cookies". [1] They should only be kept until the end of the...
Capybara will fail to find tags that are missing an href attribute. This will probably happen to you every now...
Due to network or hardware failures, it can happen that one of your cronjobs will not run at the time...
Safari on iOS accepts an apple-touch-icon favicon that is used for stuff like desktop bookmarks. Always define a...
When you have a string containing umlauts which don't behave as expected (are not matched with a regexp, can...
Your development machine is usually on a very good network connection. To test how your application behaves on a slow...