2011-01-01から1年間の記事一覧

flvからmp4への変換

exiftoolで見てこういうファイルなら File Type : FLV MIME Type : video/x-flv Video Encoding : H.264 Audio Encoding : AAC これで再圧縮無しでmp4にできた。わずか数秒。 ffmpeg -i input.flv -vcodec copy -acodec copy out.mp4

crontabでrvmのrubyを使う

rvm

ふだんrvm使っていて、cronだとsystem gemを見に行ってしまうのでcrontab -e */10 * * * * /bin/zsh /home/sho/bin/10min.sh~/bin/10min.sh #!/bin/zsh rvm_path=/home/sho/.rvm source /home/sho/.rvm/scripts/rvm rvm use 1.8.7 ruby /home/sho/src/ruby/t…

更新テスト3

3333333

githubが復活したら起こして

くれるスクリプトを書いたので昼寝する #!/usr/bin/env ruby # -*- coding: utf-8 -*- require 'net/http' require 'uri' uri = URI.parse('https://github.com/') loop do puts "watch ... #{Time.now}" res = nil begin Net::HTTP.start(uri.host, uri.por…

更新テスト

てーすーとー

daemontoolsで起動させてるmongodb

再起動した時repairしないといかん mongodbは自分のユーザで起動してる sudo svc -d /service/mongod/ sudo rm /var/mongod/mongod.lock mongod --repair --config /usr/local/share/mongod/mongod.conf sudo svc -u /service/mongod/

nokogiriインストール

libxmlとlibxsltが必要なのよく忘れる sudo apt-get install libxslt1-dev libxml2-dev gem install nokogiri

更新テスト2

test

MacのAVRマイコン開発環境

あらかじめxcodeはインストールしておく方がいいけど、なくても良い xcode 3.2.6 https://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/getSoftware?bundleID=20792 CrossPack for AVRの最新版をダウンロードしてきてインストールする。 http://…

Google Document List APIを使う

これ使いたい http://code.google.com/intl/ja/apis/documents/ google docsの中身のテキストを取得したい。 gem install gdocs4ruby http://cookingandcoding.com/docs/gdocs4ruby/ http://cookingandcoding.com/gdocs4ruby/ DocList API2.0を使うらしい"あ…

階乗を求める

100の階乗を求める puts (1..100).to_a.inject{|a,b|a*b} puts 1.upto(100).inject{|a,b|a*b} puts (1..100).map{|i|i}.inject{|a,b|a*b} arr = (1..100).to_a func = lambda{|i,arr| return i if arr.empty?; i*func.call(arr.shift, arr)} puts func.call(…

学校のチャイムを鳴らす

Mac

macはafplay、linuxはmpg321でmp3を再生できるので crontab -eで登録 25 9 * * * /usr/bin/afplay /Users/sho/Dropbox/tmp/chime.mp3 > /dev/null 2>&1 55 10 * * * /usr/bin/afplay /Users/sho/Dropbox/tmp/chime.mp3 > /dev/null 2>&1 10 11 * * * /usr/bi…

viewにある全てのボタンを操作する

画面上にあるボタンを全て取得して、全部onClickListenerに登録したい。refrectionを使って、R.id.の中身のstatic fieldsを全て取得して、一つずつfindViewByIdした。 import java.lang.reflect.*; なおthisがimplements OnClickListenerされている。 public…

daemontoolsでrvmを使う

#!/bin/sh exec 2>&1 exec setuidgid sho bash -c ' rvm_path=/Users/sho/.rvm source /Users/sho/.rvm/scripts/rvm rvm use 1.8.7 ruby /Users/sho/src/ruby/img-server/img-server.rb ' http://blog.monoweb.info/archives/936

加速度センサーを使う

参考:http://www.adakoda.com/android/000182.html AndroidManifest.xmlにpermissionを書く必要は無い SDK9向けに書いた package org.shokai; import java.util.List; import android.app.Activity; import android.hardware.Sensor; import android.hardwa…

TCP Socketサーバーとクライアント

両方EventMachine::Connectionで書く serverとclientどちらが先に起動しても良い clientはserverから切断されたら自動再接続する unbindイベント内でreconnectしたらできた clientは適当な文字列を送信して、1秒sleepする。 serverはclientから受信した文字…

Nexus SのNFCでFelicaのIDを読む

http://code.google.com/p/guava-libraries/ から guava-r09.jar を手に入れて、Androidプロジェクトにlibsディレクトリを作ってその中に入れる。 プロジェクトのbuild pathにguava-r09.jarを追加する。 AndroidManifest.xmlにpermissionを書いておく <uses-permission android:name="android.permission.NFC" /> </uses-permission>

debug certificate expired

というエラーが、EclipseでAndroidプロジェクトをビルドしたら出た。 参考 Signing Your Applications | Android Developersのsigning in debug modeのところ visible true : Debug certificate expired on 〜〜 Android Packaging Problemが出た 古いの削除…

rssの生成

ruby1.8の標準ライブラリのrss/makerでいける require 'rss/maker' rss = RSS::Maker.make("2.0") do |rss| rss.channel.about = 'http://shokai.org/rss.xml' rss.channel.title = "橋本商会" rss.channel.description = "橋本商会のrssです" rss.channel.l…

crontabでrvmのrubyを使う

こっちが正しい http://d.hatena.ne.jp/shokai/20110603/1307052038 crontabの一番上の行に SHELL=/bin/zshこれを書いておく。よく忘れてはまる。.zshrcにrvmを使う設定が書いてあるので、それを読み込むため。これ書くと、~/.zshrcを読み込んでくれる。 そ…

今日のめんま

ランダム再生し続けるbookmarklethttp://www.anohana.jp/menma/index.html javascript:setInterval(function(){if(start)return;as=$('.dd_calendar a');eval(as[Math.floor(Math.random()*as.length)].href)},100);

ubuntuのjrubyの起動を倍ぐらい速くする

と思ったらcacaoあんまり更新されてないから微妙 http://en.wikipedia.org/wiki/CACAOubuntu10.04のaptで入れたjava1.6に、rvmで入れたjruby1.6で試す。こうしておく export 'JRUBY_OPTS=-X-C' export 'JAVA_OPTS=-cacao' -X-Cはありで、-cacaoか-serverのど…

daemontoolsでmongodb起動する設定

mongod.confを作っておくといい/usr/local/share/mongod/mongod.conf dbpath = /var/mongod bind_ip = 127.0.0.1 /service/mongod/run #!/bin/sh exec 2>&1 exec setuidgid sho mongod --config /usr/local/share/mongod/mongod.conf

Rack::Session::Cookieを使う

set :session, true の代わりに use Rack::Session::Cookie, :key => 'rack.session', :domain => 'shokai.org', :path => '/', :expire_after => 60*60*24*14, # 2 weeks :secret => 'kazusuke_ha_umaiyo' して、いままで通りsessionのhashに出し入れすれば…

Sinatra1.2.1とthin1.2.10を同時に使うと死ぬ

なんか問答無用でhttpアクセスした瞬間に落ちる (eval):2:in `method_missing': undefined method `associate_callback_target' for #<Thin::Connection:0x102753d40> (NoMethodError) from /Users/sho/.rvm/gems/ruby-1.8.7-p334/gems/eventmachine-0.12.10/lib/em/connection.rb:39:in `n</thin::connection:0x102753d40>…

newgemのエラー

newgem(1.5.3)コマンド使うと /Users/sho/.rvm/gems/ruby-1.8.7-p334/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:55: uninitialized constant ActiveSupport::Dependencies::Mutex (NameError)エラーでる。 適当に2.3系で新しいactivesup…

websocketを接続しなおす

websocketサーバーの方を修正した時にブラウザをリロードするのが面倒なので定期的にwebsocketのreadyStateを見てつなぎ直す var ws = null; var ws_connect_timer = setInterval(function(){ if(ws == null || ws.readyState != 1){ ws = new WebSocket("ws…

壊れた画像を探して削除する

いちどjrubyで画像として読み込んでwidthやheightが取れていれば破損していないとみなす delete_broken_imgs.rb #!/usr/bin/env jruby # -*- coding: utf-8 -*- require 'java' import 'java.lang.System' import 'javax.imageio.ImageIO' import 'java.awt.…

sinatraに登録されたパスの一覧を取得する

なるべく短くてかっこいいURLでれすとふるにデータにアクセスできるようにしたいけど、既にアプリ内で登録されているパスとぶつかったら嫌じゃないですか。具体的にはlogoutとかhotentryみたいなユーザ名を作らせない、という処理を作りたい。 というわけで…

nailgunを使う

nailgunは一度起動したJVMを毎回使い回すことでJRubyの起動速度の遅さをなんとかするものらしい。 http://blog.headius.com/2009/05/jruby-nailgun-support-in-130.html JRUBY_OPTSに-X-Cがあるとnailgunが起動できないので一旦消してサーバー起動 export 'J…