Skip to content

Instantly share code, notes, and snippets.

View yuanying's full-sized avatar
🌴
On vacation

O. Yuanying yuanying

🌴
On vacation
View GitHub Profile
#!/usr/bin/env ruby -wKU
require 'osx/cocoa'
OSX.require_framework 'AddressBook'
def check_email from
#http://developer.apple.com/mac/library/DOCUMENTATION/UserExperience/Reference/AddressBook/Miscellaneous/AddressBook_Constants/Reference/reference.html
book = OSX::ABAddressBook.sharedAddressBook
me = book.me
OSX::ABAddressBook.sharedAddressBook.people.each do |person|
#!/usr/bin/env ruby -wKU
# PDF to Zip file (including jpg files) script.
# sudo port install rb-cocoa
# sudo gem install zipruby
require 'osx/cocoa'
require 'rubygems'
require 'fileutils'
require 'zipruby'
// create toc from contents to target.
// # dependency
// - jquery
// # how to use
// <script>
// $(function() { createToc('#contents', '#toc'); });
// </script>
// <div id='toc'></div>
// <div id='contents> <h1>...</h1></h2>...</h2>...</div>
var createToc = function(contents_selector, target_selector){
@yuanying
yuanying / mail-ruby-mojibake-patch.rb
Created December 15, 2010 07:24
ちゃんとエンコード情報を利用してデコードしてやるように修正。
module Mail
require 'iconv'
class Ruby18
def Ruby18.b_value_decode(str)
match = str.match(/\=\?(.+)?\?[Bb]\?(.+)?\?\=/m)
if match
encoding = match[1]
str = Ruby18.decode_base64(match[2])
str = Ruby18.force_encode_to_default str, encoding
@yuanying
yuanying / sync-nikeplus-with-garmin-connect.rb
Created March 25, 2011 08:01
ガーミンコネクトのデータを Nike+ と同期するスクリプト。
#!/usr/bin/env ruby -wKU
require 'rubygems'
require 'rss/1.0'
require 'rss/2.0'
require 'rss/dublincore'
require 'open-uri'
require 'uri'
require 'cgi'
require 'optparse'
@yuanying
yuanying / deploy-unicorn.rb
Created August 9, 2011 08:26
CapistranoでUnicornの起動と停止と再起動
namespace :deploy do
unicorn_start_script = "cd #{current_path} && BUNDLE_GEMFILE=#{current_path}/Gemfile bundle exec unicorn_rails -c #{current_path}/config/unicorn.rb -E production -D"
task :start, :roles => :app, :except => { :no_release => true } do
run "#{unicorn_start_script}"
end
task :stop, :roles => :app, :except => { :no_release => true } do
run "kill -KILL -s QUIT `cat #{shared_path}/pids/unicorn.pid`"
end
@yuanying
yuanying / check-email-from-addressbook.rb
Created October 17, 2011 01:54
Check email from AddressBook with MacRuby
#!/usr/bin/env ruby -wKU
framework 'AddressBook'
def check_email from
#http://developer.apple.com/mac/library/DOCUMENTATION/UserExperience/Reference/AddressBook/Miscellaneous/AddressBook_Constants/Reference/reference.html
book = ABAddressBook.sharedAddressBook
me = book.me
book.people.each do |person|
if person == me
@yuanying
yuanying / openstack-compute-keypairs.rb
Created February 27, 2012 05:04
openstack-compute で keypairs を取得する。
require 'openstack/compute'
class OpenStack::Compute::Connection
def list_keypairs(options = {})
anti_cache_param="cacheid=#{Time.now.to_i}"
path = OpenStack::Compute.paginate(options).empty? ? "#{svrmgmtpath}/os-keypairs?#{anti_cache_param}" : "#{svrmgmtpath}/os-keypairs?#{OpenStack::Compute.paginate(options)}&#{anti_cache_param}"
response = csreq("GET",svrmgmthost,path,svrmgmtport,svrmgmtscheme)
OpenStack::Compute::Exception.raise_exception(response) unless response.code.match(/^20.$/)
OpenStack::Compute.symbolize_keys(JSON.parse(response.body)["keypairs"])
@yuanying
yuanying / sync-garmin-connect-to-runkeeper.rb
Created May 7, 2012 07:33
Syncronize from Garmin Connect activity to Runkeeper
#!/usr/bin/env ruby -wKU
# Syncronize from Garmin Connect to Runkeeper
require 'rubygems'
require 'runkeeper'
require 'rss/1.0'
require 'rss/2.0'
require 'rss/dublincore'
require 'open-uri'
require 'uri'
require 'cgi'
---
name: cfos
director_uuid: XXXX-XXXX-XXXX-XXXX # CHANGE
release:
name: appcloud
version: 128
compilation:
workers: 3