タグ

ブックマーク / shokai.org (14)

  • 橋本商会 » 赤外線学習リモコンIRKitのrubygemを作った

    IRKitはよく「iOSから操作できる赤外線リモコン」と説明されるけど、そのAPIはHTTPなのでiOS以外からももちろん使えます。 というわけでRubyから使いやすいようにした。 ソースコードはgithubにある。不具合等はissueかtwitterにお願いします。 irkitコマンドという便利ツールも入れておいた。 bonjourでLAN内のIRKitを発見する機能や、赤外線データのgetとpost(と保存)、家のLANの外からIRKitを操作するInternet API関連が実装されているので プログラムを書かなくてもirkit gemをインストールすればすぐIRKitが使える。 なんでこういうツールが付いているかというと、デバイス系はコマンド一発で全部実行できるテストコードが書きにくい部分がかなりあって、しょうがないから各機能をテストしやすい実行可能コマンドを作るぐらいしかない。

    橋本商会 » 赤外線学習リモコンIRKitのrubygemを作った
    pycol
    pycol 2014/03/18
  • 橋本商会 » node-webkitでNHK Newsを連続自動再生するアプリ作った

    あまりにも世情にうといので作った。 NHKRSSを定期的にチェックして、新着ニュースの動画を連続自動再生する。 とてもテレビっぽい。おかげで4日後にオリンピックが開催されるという事を知れた。 ソースコード https://github.com/shokai/nhk-news-app zipでダウンロード https://github.com/shokai/nhk-news-app/releases node-webkitはネイティブアプリ作成のためにwebkitが改造されたwebブラウザで、HTML/JavaScript/CSSが実行できるだけでなくnode.jsのAPIもそのまま呼び出せる。 つまりjQueryでDOM操作すると同時にnodeのライブラリを使うような処理が、同じプログラムファイルにまとめて書ける。変にブリッジを書く事なくいつものnodeのように require(‘モジュ

    橋本商会 » node-webkitでNHK Newsを連続自動再生するアプリ作った
    pycol
    pycol 2014/02/06
  • 橋本商会 » Macの「次のウィンドウを操作対象にする」をなぜ設定しないのか

    わからない。 自分以外、だれも使っているのを見たこと無いし、自分が使っているとよくナニソレって聞かれるので書いておく [システム環境設定]→[キーボード]→[キーボードショートカット] 「次のウィンドウを操作対象にする」に適当にさわりやすい所ショートカットキーを設定する。command+spaceにしている。 command+spaceはデフォルトではIMEを順に切り替えるのに割り当てられているが、英数・かなキーがあるのでいらない。USキーボードはおっさんが使えばいい。 どうなるかというと 左上のウィンドウでコード書いている時に、もうひとつのウィンドウに行きたい場合 command+spaceを押すと入れ替わる。 blog書くために複数ブラウザ開いている時なんかにも便利。keynoteやイラレで複数のドキュメント開いている時も便利。chromeと開発パネルを交互に見比べる時も便利。 こんな

    橋本商会 » Macの「次のウィンドウを操作対象にする」をなぜ設定しないのか
    pycol
    pycol 2013/07/22
  • 橋本商会 » 世界一柔軟で好意的に解釈してくれるプログラム言語BabaScriptを作りました

    rubygemsでインストールできます % gem install babascript ソースコードはこちら https://github.com/masuilab/babascript BabaScriptとは コンピュータが得意なことはコンピュータに、人間が得意なことは@takumibabaが処理するプログラム言語です 使用方法 ワンライナー % baba -e "アイス買ってきて" 馬場スクリプトはRuby風に書ける言語で、日語で書いた部分は馬場くんが実行してくれます test1.bb #!/usr/bin/env baba if 0 < Time.now.hour and Time.now.hour < 5 もう寝ろ!! else 意識を高めてコードを書こう! end 実行 % baba test1.bb 0時から5時の間は寝ろ、という指令が送れます。 Rubyの中に馬場スクリ

    橋本商会 » 世界一柔軟で好意的に解釈してくれるプログラム言語BabaScriptを作りました
  • 橋本商会 » Skype API Rubyラッパーのgem作った

    今日は早起きしたのでさくっと作った。 rb-skypemacがRuby1.8でしか動かなかったり、Ruby4Skypeがソースを修正しないと動かなかったり、どのskype gemもリポジトリが公開されてなくてパッチ送れなかったので1から作りなおした。 https://github.com/shokai/skype-ruby https://rubygems.org/gems/skype linuxだとruby-dbus、macだとrb-appscriptを使うんだけどOS毎に別のgemをdependencyに入れるのどうすればいいんだろう・・ gemspecの中でRUBY_PLATFORMを見てspec.add_dependencyしたらローカルでbundle installすると大丈夫だけど、rubygems.org経由でgem installするとlinuxなのにrb-appscrip

  • 橋本商会 » 信用出来ないRubyスクリプトを安全にevalしたかった

    たぶん大丈夫だと思うんだけどヤバかったら教えて下さい。 (皆様からの温かいトマホーク(2)(3)によるとやっぱダメなようです) 要件 – ブラウザでRubyのコード書かせて、サーバーに保存してサーバーで実行したい – 危険な事はされたくない。ファイルへのアクセスやコマンドの実行、やたら時間のかかる処理など – 安全に実行できたらコードの返り値を取得したい。コードが危険だったらエラーを取得したい。 – 危険な事されても、コード実行しているプロセスは終了しないでエラーをブラウザに返したい。 – コードはWebサーバーと同じプロセスで実行したい 調査 ということで調べていたらsafelevelを使えばいいらしい – Programming Ruby: The Pragmatic Programmer's Guide – Rubyのセーフレベル4環境とその使い方 – ¬¬日常日記 $SAFEに0〜

  • 橋本商会 » 別ドメインのiframeの中身をフレーム外からスクロール

    諸事情あって、iframeの中身をフレーム外側のページからJavaScriptでスクロールできるのを作った。 ふつうは別ドメインのページをiframeに読み込むとスクロールできないんだけど、(marginに負の値を入れたりして)iframeごと上下左右に動かしたり、iframeの外側にbox要素2つ付けてはみだした部分を表示しないようにcssでなんか色々やったりしたらそれらしい物ができた。 デモ XFrame.js shokai/xframe.js · GitHub 使い方は簡単である js読み込んで <script src="xframe.js"></script> XFrameを出したい箱を作って <div id="tv"></div> 読み込む var xframe = new XFrame("div#tv"); xframe.load("http://shokai.org"); あ

  • 橋本商会 » Sinatra RocketIOというプラグイン作った、これでWebSocketとCometが使える

    nodeのSocket.ioっぽい物のRuby版を作った。 https://github.com/shokai/sinatra-rocketio 依存 EventMachineが有効なWebサーバー(thinとか)と、jQueryが必要。 Rubyは1.8.7〜2.0.0まで動く。 Sinatraで使う インストール gem install sinatra-rocketio ブラウザとか回線に応じてWebSocketとCometの使える方が自動的に選ばれる。 切断されても定期的に再接続を試みるようになってる。 sinatraに読みこむだけで使える。sinatraのプロセス内にwebsocketサーバーも組み込まれる。 require 'sinatra' require 'sinatra/rocketio' modular styleではclass内でregisterすればok class

  • 橋本商会 » crontabでRVMのRubyを使う

    ruby の代わりに、 $HOME/.rvm/bin/ruby-1.9.2-p320 などを使えばいいらしい。 rvmそれぞれの環境でインストールしたrubygemsにもパスが通って使えるようになる。 このファイルは中身を見るとシェルスクリプトで、rvm use 1.9.2-p320しながら引数をrubyに渡す感じになってる。 俺普段Ruby1.9か2.0使ってるんだけど、今までなんか面倒くさくてRuby1.8でも動くようにプログラム書いてsystem rubyにも同じgemインストールして動かしてた。 前に書いた自動日記をtwitterに流すようにしたってやつも、こうしたらRuby1.9で毎日1時にtweetするようになった。 0 1 * * * cd $HOME/src/ruby/autodiary && $HOME/.rvm/bin/ruby-1.9.2-p320 autodiary

  • 橋本商会 » ターミナルで使うtwitterクライアント作った

    1年以上前に作ってずっと使ってた奴を、少し直してrubygemにした。 くわしい使い方はhttp://shokai.github.com/twに書いた。 何か要望あればtwittergithubのissueかblogのコメントでください。 ※活用方法をTwのレシピに書きました インストール 特別なライブラリは使っていないのでMacならすぐインストールできるはず gem install tw tw --help 機能 すぐ使えるように名前が短い、インストール・セットアップが楽 表示がカラフル 複数のユーザやリストをマージして表示できる DM読み書き public timelineの検索 user stream、filter stream読める。なんかよく切断されるので自動再接続するようにしといた 複数アカウント使える UNIX pipeからもtweetできる 作った経緯 フルスクリーンのタ

    橋本商会 » ターミナルで使うtwitterクライアント作った
  • 橋本商会 » みなとみらいのバイクシェアリングBayBikeの出来が良い

    6月ごろからたまに使ってる。 良いサービスなのに、ネット上に感想が無さすぎてもったいないので感想を書いておく。 baybikeは横浜市とdocomoが行なっている社会実験で、みなとみらいに20箇所以上設置された無人自転車スタンドから自転車を借りられる。 借りた自転車はどの自転車スタンドに返しても良く、主要な駅や施設の周りに十分な数があるので、電車と併用して使いやすい。 申し込んでから4日ぐらいでカードキーが届いた。おサイフケータイなら申し込んで即使えると思う。 AndroidアプリとGoogleMap自転車の空き状況がチェックできるので、行ってみたら乗れないという事もない。 良いところ 安い。 最初の1時間が105円で、それから30分超過毎に105円かかる。 自転車を取り出すのにはおサイフケータイか会員登録したカードキーが必要。俺はカードキーを使ってる。 自転車スタンドのカードリーダーに

    橋本商会 » みなとみらいのバイクシェアリングBayBikeの出来が良い
  • 橋本商会 » 料理をはじめて1年経った

    ちょうど料理し始めて1年経過したので、今までに考えた事・良かったことを書きなぐっておく。 基的に研究したり新しいプログラム言語を勉強したりするのと同じ方法でやってた。 (画像はイメージです) 最初に作りたいものを書き出す 自分がべたいものを書き出す。 最初に作りたい料理を30個ぐらい、現時点で作れそうにない物も書きだした。 レシピを並べてみたら共通の部分があったので、なるべく簡単かつ発展性がありそうな所から攻める事にした。 俺の場合、主にこの2つから行く事になった。 1. ペペロンチーノがおいしく作れれば、そこからトマトパスタとか色々派生できる。具は少し手を加えればパスタ以外にも使える。 2. 肉じゃが・カレー・ポトフ・シチューあたりは途中までの工程が似てる。 このへんから攻めた。まず最初はべたいものを書きだして効率良さそうな所を見つけると良いと思う。 あとは和の醤油味の煮物系で、

    橋本商会 » 料理をはじめて1年経った
  • 橋本商会 » プログラムの写経

    プログラミング初心者が写経する時に気をつけると良い事を4つ説明します。 画像はイメージです プログラムを勉強する時に、写経しろ(すでに完成しているプログラムをから書き写せ)とか言われるが、ちょっと意識するとだいぶ違うと思う 1. 外から書け 例えば、1からnまでの数字を全部表示するプログラムがあるとする。 def run(max) 1.upto(max).each do |i| puts i end end run(10) これを写経する時、上から下に1行目から順に書くのではなくて、まず def run(max) end いちばん外側を書いて def run(max) 1.upto(max).each do |i| end end 中を書いて def run(max) 1.upto(max).each do |i| puts i end end こうなる。 上から書かないのが重要。プログ

    橋本商会 » プログラムの写経
  • 橋本商会 » emobileが月1100円安くなってPocketWifiがもらえるプランに契約するとインターネットが半分使えなくなる

    (この記事の続きはここに書きました) sshが使えなくなって困っています。WWW以外をたくさん使う人は契約しない方が良い。 5月半ば、イーモバイルから電話がかかってきた。 橋さんは月4980円のプランで契約しているけど、通信料が多くないので3880円のプランに変更しませんか おまけにPocketWifiを1円であげる という内容。 何かデメリットは無いのか聞いたところ、 あと残り3ヶ月だった2年縛りは、2011年6月から24ヶ月にリセットされる イーモバイル解約時の違約金は、残りの月数×900円 とのこと。 まあ損は無さそうなので契約した。 5月末にPocketWifiが届き、6月から3880円のプランになった。するとgithubにpush/pullできなくなっている。 3880円のプランはデータプランBという物で、試してみたらたくさん制限があった。 pingが通らない ほとんどのpor

  • 1