daylerees/colour-schemes · GitHub
Awesome color schemes for RubyMine, Sublime Text 2 and other editors.
To install the themes into your Rubymine, copy intellij-themes/*.xml
from the repository to your local ~/.RubyMine40/config/colors
. Then restart RubyMine.
Enjoy!
Error: "sylogd: /var/log/authlog : no such file or directory" but the file exists
If you get a message like this:
Jan 21 13:42:38 foobar syslogd: /var/log/authlog : no such file or directory
But you are sure the file exists and it have the correct permissions:
# example for Solaris 9
-rw-r--r-- 1 root sys 8,0K 21. Jan 13:51 /var/log/authlog
Then you perhaps have a trailing whitespace after /var/log/authlog
in the /etc/syslog.conf
.
Note: Use TAB to separate log components from log file names in Solaris. Because spaces do not work.
RVM: Get rid of your system Ruby
If you worked with a system Ruby before switching to RVM, this system Ruby will be in your way when you switch between projects with/without RVM.
It's hard to get rid of your system Ruby entirely, but you can tell RVM to just use a given Ruby by default, e.g.:
rvm --default use 1.8.7
You need to re-open existing terminals for the changes to take effect.
Note that this will not actually remove the ruby
package from your system, it just isn't used anymore.
Geordi: run a capistrano task on all stages
Geordi now has a script that runs capistrano with all known deploy targets (i.e. staging, production...).
Use with
geordi capistrano deploy:migrations
or
geordi capistrano deploy
The abbrevation geordi cap ...
works as well.
Using Apache Benchmark (ab) on sites with authentication
Apache HTTP server benchmarking tool (ab
) is a nice tool to test performance on sites delivered by HTTP. If the site you're about to test is placed behind a login, follow these steps to successfully use ab
on it.
- Open the site to test in the browser of your choice. Do not login yet.
- Use developer tools to show all cookies used by the site. (Chrome: Ctrl+Shift+i, open the 'Resources' tab and click on the site below 'Cookies' on the left. Firefox: Right-click on the site, open 'We...
Detect effective horizontal pixel width on a mobile device with Javascript
So you want to find out how many horizontal pixels you have available on a mobile device. This is super difficult because:
- Modern mobile devices have high-density displays where 1px in your CSS e.g. corresponds to 2.25, 4, ... physical pixels on the screen hardware.
- Difficult APIs
- Inconsistent APIs
- Screen orientation can change when the user rotates h...
Git: How to stash with a custom message
If you say git stash
, your stashed changes will be identified with an automatically generated message:
$ git stash
Saved working directory and index state WIP on master: 77af0df Merge branch 'production'
While this is okay to temporarily stash away stuff, you may want a better identifier for your changes so you can find them more easily if you stash often.
Of course, there is a way to do it with git:
$ git stash save doing crazy things
Saved working directory and index state On master: doing crazy things
Note that you n...
Ruby: How to ensure a Tempfile's extension
If you use Tempfile
and pass your own filename containing an extension, it will just be consumed by the Tempfile's filename:
>> Tempfile.new('foobar.xlsx').path
=> "/tmp/foobar.xlsx20130115-19153-4ykpwm-0"
If you want to keep the file extension, pass filename and extension as an array:
>> Tempfile.new([ 'foobar', '.xlsx' ]).path
=> "/tmp/foobar20130115-19153-1xhbncb-0.xlsx"
How to get the hostname of the current machine in Rails or a Ruby script
Use Socket.gethostname
. So for a machine whose hostname is "happycat", it will look like this:
>> Socket.gethostname
=> "happycat"
That should work right away for your Rails application. For plain Ruby, you first need to do:
require 'socket'
If you don't want to use Socket
for some reason, you can still just use the hostname
command, at least on non-Windows machines. Keep in mind that you need to remove trailing white space from the result of the system call.
>> `hostname`
=> "happycat\n"
>> `hostname`.stri...
Consul 0.5.0 is faster for admins, allows to define multiple powers at once
When calling a scope like current_power.user?(user)
, Consul will no longer trigger a query if the users
power selects all records (SELECT * from users
). This should make such checks much faster for users who can access many records, like admins.
You can now define multiple powers at once:
power :users, :updatable_users, :creatable_users do
...
end
Customize tokenization of the MySQL FULLTEXT parser
The way MySQL's FULLTEXT tokenizer splits text into word tokens might not always be what you need. E.g. it splits a word at period characters.
Since the tokenizer has near-zero configuration options (minimum word length and stopwords list), you need to hack it. There are three options available.
Option 1: If you like pain
Write a Full-Text parser plugin in C.
Option 2: Make the problem go away
Normaliz...
Fix error: undefined method `desc' for #<Foo::Rake::Taskx1234>
Upgrade the offending gem. If you cannot or don't want to upgrade, lock rake
to 0.8.7
.
Fix warning: No secret option provided to Rack::Session::Cookie
You will get this when you are using the latest version of Rails with a recent version of Rack:
SECURITY WARNING: No secret option provided to Rack::Session::Cookie.
This poses a security threat. It is strongly recommended that you
provide a secret to prevent exploits that may be possible from crafted
cookies. This will not be supported in future versions of Rack, and
future versions will even invalidate your existing user cookies.
The warning is caused by Rails calling Rack incorrectly. [It is unclear](https://github.c...
Mac: Turn applications to Full Screen mode from bash
I needed a way to make my apps full screen from bash scripts. There is no super-easy way, but it's not too hard either.
Put the attached script into e.g. /usr/local/bin
and make it executable. Now you can call
fullscreen Safari
and Safari will go full screen.
Notes
- This script needs activated access for assisting devices. Turn it on with
osascript -e 'tell application "System Events" to set UI elements enabled to true'
. - The capitalization of the application name is important, i.e. it's
TextMate
and nottextmate
. - ...
CSS Explain - A tool which calculates CSS selector specificity
Example input:
li.active a:link
Example output (specificity):
| 0 | 2 | 2 |
See also: https://www.codecaptain.io/tools/css-specificity-calculator
will_paginate can paginate plain Ruby arrays
While you are probably using will_paginate to paginate ActiveRecord scopes, it can actually paginate plain Ruby arrays. The resulting arrayish object will have the same methods as a paginated scope, e.g. #total_entries
. This means you can render pagination controls with the same code that works with paginated scopes.
To enable this, add an initializer config/initializers/array_paginate.rb
:
require 'will_paginate/array'
You can now say:
> numbers = (1..1000).to_a
> page = numbers....
Font Awesome 3.0 has been released
40 new icons, spinner-style rotation with CSS animations, smaller file size, possibility to sub-set the font to only include the icons you need.
Get Your App Ready for Rails 4
Let’s take a look at what you need to do to get your app ready for Rails 4.
WORDOID - Creative Naming Service
A cozy place to pick a short and catchy name for your product, company or domain.
Rails 4 Countdown to 2013 | The Remarkable Labs Blog
With the impending release of Ruby on Rails 4, it looks like a lot of developers will be updating their web applications in the coming new year.
To help with this transition, over the next 31 days, we are going to be releasing a series of blog posts going over everything you will need to know about Rails 4 for an effortless upgrade.
Compare two jQuery objects for equality
Every time you call $(...)
jQuery will create a new object. Because of this, comparing two jQuery collections with ==
will never return true, even when they are wrapping the same native DOM elements:
$('body') == $('body') // false
In order to test if two jQuery objects refer to the same native DOM elements, use is
:
var $a = $('body');
var $b = $('body');
$a.is($b); // true
Jasmine equality matcher for jQuery
See [here](/makandra/34925-jasmine-testing-complex-types-for-e...
5 Design Tips Every Developer Should Know
If you wear a lot of hats in a small team, or if you feel like your projects could be more successful if they looked better, this is for you. Here are five traditional elements and principles of art and design that will cure the ugly (or at least disguise it).
The Shapes of CSS
Examples how to create dozens of shapes using pure CSS and a single HTML element.