Web Site: http://jscamp.asia/ Twitter: http://twitter.com/jscamp_asia
Ping me @cheeaun on Twitter if you found some awesome stuff for #jscamp. This gist will be updated whenever there's new stuff.
set :max_asset_age, 2 ## Set asset age in minutes to test modified date against. | |
after "deploy:finalize_update", "deploy:assets:determine_modified_assets", "deploy:assets:conditionally_precompile" | |
namespace :deploy do | |
namespace :assets do | |
desc "Figure out modified assets." | |
task :determine_modified_assets, :roles => assets_role, :except => { :no_release => true } do | |
set :updated_assets, capture("find #{latest_release}/app/assets -type d -name .git -prune -o -mmin -#{max_asset_age} -type f -print", :except => { :no_release => true }).split |
Web Site: http://jscamp.asia/ Twitter: http://twitter.com/jscamp_asia
Ping me @cheeaun on Twitter if you found some awesome stuff for #jscamp. This gist will be updated whenever there's new stuff.
A slightly updated version of this doc is here on my website.
I visited with PagerDuty yesterday for a little Friday beer and pizza. While there I got started talking about Go. I was asked by Alex, their CEO, why I liked it. Several other people have asked me the same question recently, so I figured it was worth posting.
The first 1/2 of Go's concurrency story. Lightweight, concurrent function execution. You can spawn tons of these if needed and the Go runtime multiplexes them onto the configured number of CPUs/Threads as needed. They start with a super small stack that can grow (and shrink) via dynamic allocation (and freeing). They are as simple as go f(x)
, where f()
is a function.
// String utils | |
// | |
// resources: | |
// -- mout, https://github.com/mout/mout/tree/master/src/string | |
/** | |
* "Safer" String.toLowerCase() | |
*/ | |
function lowerCase(str) { | |
return str.toLowerCase(); |
Step 1: | |
Go to: C:\Windows\System32\Drivers\etc\hosts | |
And add this to the bottom of the file: | |
============= | |
127.0.0.1 your.domain.com | |
============= | |
Step 2: | |
Go to [your XAMPP directory]/apache/conf/httpd-xampp.conf |
h = { | |
'a' => :a_value, | |
'b' => nil, | |
'c' => false | |
} | |
h.fetch('a', :default_value) #=> :a_value | |
h.fetch('b', :default_value) #=> nil | |
h.fetch('c', :default_value) #=> false | |
h.fetch('d', :default_value) #=> :default_value |
Each of these commands will run an ad hoc http static server in your current (or specified) directory, available at http://localhost:8000. Use this power wisely.
$ python -m SimpleHTTPServer 8000
June 7-8, 2013
Web site: http://reddotrubyconf.com/ Twitter: http://twitter.com/reddotrubyconf
Ping me @cheeaun on Twitter if you found some awesome stuff for #rdrc. This gist will be updated whenever there's new stuff.
Previously, on RedDotRubyConf 2012
require "active_record" | |
namespace :db do | |
db_config = YAML::load(File.open('config/database.yml')) | |
db_config_admin = db_config.merge({'database' => 'postgres', 'schema_search_path' => 'public'}) | |
desc "Create the database" | |
task :create do | |
ActiveRecord::Base.establish_connection(db_config_admin) |