...require 'mathn' 2 / 3 => Rational(2,3) 2 / 3 * 3 => 2 While this might sometimes be quite neat, it's a nightmare if this gets required by some gem that...

...suddenly redefines integer division across your whole project. Known culprits are the otherwise excellent distribution and GetText gems (the later only when working with mo-files). To fix this, you...

...the kind of query). It may help to understand youtube's domain model before starting. It's best to just try out your requests in the browser to see what...

...key in order to make this request work): https://www.googleapis.com/youtube/v3/playlistItems?playlistId= &key= A&part=snippet&fields=nextPageToken,items(snippet(publishedAt,resourceId(videoId))) There are more examples and explanations in the...

To read the Rails session from a Rack middleware, use env['rack.session']. It's an ActionDispatch::Request::Session object. class MyMiddlware def initialize(app) @app = app end def call(env...

...status, headers, body = @app.call(env) session = env['rack.session'] Rails.logger.info("Value of session['foo'] is: " + session['foo'].inspect) [status, headers, body] end end You may not be able to write to...

makandra dev
github.com

The debugger gem does not seem to be properly working on Ruby 2. Use byebug instead! Byebug is a simple to use, feature rich debugger for Ruby 2. It uses...

...new TracePoint API for execution control and the new Debug Inspector API for call stack navigation, so it doesn't depend on internal core sources. It's developed as a...

When using jQueryUI's Sortable plugin (either directly or via Angular's ui.sortable), you might struggle testing your nice drag&drop GUI since Selenium webdriver does not support native dragging...

But jQueryUI uses jquery.simulate for their testing, so why shouldn't you? There is even an extension to it that makes testing drag & drop quite easy.

It's generally not trivial to change a datetime's seconds, minutes, etc in SQL. Here is how it works when speaking PostgreSQL. Consider you have a timestamp column whose...

...seconds you want to zero: SELECT born_at FROM users; born_at --------------------- 2015-05-01 13:37:42 You can the TO_CHAR function to convert date or time values...

pivotallabs.com

...workflow is knowing when assets are delivered from the designer and keeping them in sync with our application as they change. We used to use e-mail, Skype or sticky...

...notes. The trouble is that the designer's file naming and directory structure were never quite the same as the application's /public/images directory, so direct comparisons were impossible and...

In Thunderbird, you can set custom font faces and sizes for reading plain-text e-mails. However, Thunderbird sometimes "randomly" does not respect your choices. This is actually not a...

...some Western (ISO 8859-1), and some maybe yet another encoding. The advanced font settings dialog by default just opens on "Western". Choose a different encoding from the "Fonts for...

Consider this Sass: .comment width: 320px; height: 240px; Any textarea with the comment class will be sized 320 by 240 pixels. In WebKit browsers (Chrome, Safari, ...) or Firefox, this is...

...only the initial size -- users can resize textareas to become bigger. This is helpful to the user, but may be breaking your application layout in some cases.

Variables are colored in the console output You don't need to stringify arguments so the + operator doesn't explode If the variable is a structured object like...

...inside the console and look at its contents Another concise way to write the statement is this: console.log({ foo, bar }); This uses Javascript's new destructuring syntax and is actually...

makandra dev

...exciting" case of auto-loading classes inside a thread which caused the application to stop responding. Rails 4.x ActiveSupport::Dependencies includes logging support. It is easy to use:

...Dependencies.logger = Rails.logger Rails 5+ Logging support was removed for Rails 5. You need to manually patch yourself into the module's code. Here is a dirty solution that works.

makandra dev
phrogz.net

...some non-default behavior that you know from other tags. Do not try to style html or body for positioning, width/heigth, or similar. Every browser has its own caveats and...

...you can not test them all. Generally speaking: Use the html tag to define your page's default background color (because on short pages or large screens, your body may...

sslscan is a nice tool to show details about TLS/SSL connections: ~> sslscan some-host-at.makandra.de Testing SSL server some-host-at.makandra.de on port 443 Supported Server Cipher(s): Failed SSLv3 256 bits ECDHE-RSA...

...AES256-GCM-SHA384 Failed SSLv3 256 bits ECDHE-ECDSA-AES256-GCM-SHA384 Failed SSLv3 256 bits ECDHE-RSA-AES256-SHA384 Failed SSLv3 256 bits ECDHE-ECDSA-AES256-SHA384 Rejected SSLv3...

...When your tests involve a Rails test application, your tool's Bundler environment will shadow that of the test application. To fix this, just call unset_bundler_env_vars in...

...a Cucumber Before block. Previously suggested solution Put the snippet below into your tool's features/support/env.rb -- now any command run through Aruba (e.g. via #run_simple) will have a clean...

...Rails 2 applications that use RSpec, so don't upgrade if that is your setup. The rspec-rails gem has a fatal bug that was only fixed for rspec-rails...

...x, which only supports Rails 3. There is no fix for the rspec-rails-1.3.x series of the gem which supports Rails 2. Anyway, here are upgrade instructions if...

makandra dev

...fully integrate your Dropbox account(s) into nautilus (Gnome's file manager) with automatic synchronization. Get the .deb file for your system architecture (32 or 64 bit) from the Linux...

...Install the downloaded package using either the Gnome integration (double-click it) or the shell, e.g.: dpkg -i nautilus-dropbox_?.?.?_amd64.deb Follow the graphical installer (use the custom installation for...

...Sometimes you have search entries in the autocomplete of the address bar, which are higher weighted than your bookmarks. Pressing SHIFT + DEL while searching removes them from the history immediately...

...Sometimes you have search entries in the autocomplete of the address bar, which are all higher weighted than your recently visited sites. Add a search for your history, so you...

...we noticed your project(s) has not accessed or used the YouTube Data API Service in the past 60 days. For reference, your inactive project number is ... While projects do...

...only tell you its (generated) number. But if you use the API Console's search, you won't get any results for project numbers. Also, project numbers are not visible...

makandra dev
developer.chrome.com

In the DevTools settings, there's a "Shortcuts" section. Found these keyboard shortcuts there: General ESC Toggle drawer CTRL + ~ or CTRL + ` Show console in drawer Styles SHIFT + up/down

...debugging page repaint times) CTRL + hover above element in the DOM list Don't show the yellow dimensions tooltip (useful when the tooltip covers just the area you need to...

Deadlocks only occur if two transactions in separate threads compete for the same rows in the database. They usually (but not necessarily) only happen when trying to update or otherwise...

...lock several rows in different order. Solving deadlocks is potentially complicated, so here are a few pointers: MySQL should always detect the deadlock right when it happens, and will throw...

stackoverflow.com

I had some problems with Git and the file spec/fixtures/ČeskýÁČĎÉĚÍŇÓŘŠŤÚŮÝŽáčďéěíňóřšťúůýž. After pulling the latest commits, it would show that file as untracked, but adding and committing it would throw...

...unicode fixture file once again' did not match any file(s) known to git. Solution Install Git version > 1.8.2 using homebrew and set git config --global core.precomposeunicode true Done.

developer.mozilla.org

When building a form with a file select field, you may want to offer your users a live preview before they upload the file to the server. HTML5 via jQuery...

...Luckily, HTML5 has simple support for this. Just create an object URL and set it on an tag's src attribute: $('img').attr('src', URL.createObjectURL(this.files[0])) Unpoly Compiler

...that happens on your local machine Manually remove the offending's gem files and specifications. The paths will be something like /usr/lib/ruby/gems/1.8/gems/your-broken-gem and /usr/lib/ruby/gems/1.8/specifications/your-broken-gem Update Rubygems or Slimgems by running...

...gem update --system Run bundler on your project to reinstall the offending gem. If this happens to your during deployment Ask your operations team to do it. After the update...

Current webkit browsers like Chrome and Safari have a special variable in their consoles that refers to the selected DOM node in the elements panel. This lets us easily inspect...

...Angular scopes. Right click in the page and click "Inspect" to open the Dev Tools Select the element you're interested in from the elements panel Focus the console (in...