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

動作しているスクリプト自身がExerbランタイム上で動いているか(exe化されているか)判別する方法とexeの場所を知る方法

オンラインのリファレンスが読んでもよくわからんかったのでソースをチラ見した スクリプト自身がExerbランタイムで実行されているか判別する Exerbのランタイムで動いている際、$Exerbグローバル変数がtrueになっているので、それで判別できる。 if $Exerb …

Exerbでexeを作成するときの手順メモ

元となるスクリプトが既に存在する状態から レシピファイルの作成 > mkexy <スクリプト名>または > ruby -r exerb/mkexy <スクリプト名>でスクリプトを実行することで、レシピファイルが作成される。 レシピファイルからexeを生成 > exerb <スクリプト名>でe…

Notify.ioからの通知をリアルタイムに受け取るクラアント作った(Windows版)

とりあえず、GitHubで公開してます。snaka's Niow at master - GitHub今回、テーマにしたのは RubyによるGUIアプリ開発GtkとかwxRubyとか試してみたんだけど、配布/セットアップがめんどくさそうな感じだったので、 VisualuRubyでやってみた。Notify.ioは対…

Githubで私的に公開している野良gemをgem installコマンドでインストールする方法

gitリポジトリにgemsディレクトリを作ってそこにビルド済みのxxx.gemファイルを格納しておけば、gem installでインストールできるようになる。たとえば、自分がforkしているgistyを例にすると、プロジェクトのルートの直下にgemsディレクトリを作成して、そ…

GAEではてブのお気に入りユーザーが今何をブクマしているのかリアルタイムに追跡するためのサービス作ってみた

はてブトラッカー http://hatetra.appspot.com/必要なもの Googleアカウント Pythonの実行環境 たぶんMacのみ(Notify.ioクライアントをどうにかしたら、Windowsでも動くはず) 諸事情により時間が無いので、とりあえず簡単な説明だけを殴り書き。 Notify.io…

VB6のイミディエイトウィンドウでループ処理書けた

いまさらVB6なんで、誰得って感じですが、、 デバッグなどに重宝するイミディエイトウィンドウですが、最近知ったんですがループ処理を書くこともできます。 for i = 0 to 10: debug.print i : nextという感じで、通常のプログラムでは改行となる箇所を:(コ…

ejabberdの管理コマンド(ejabberdctl)の基本機能のクイックリファレンス

ejabberdサーバー起動 ejabberdctl start ejabberdサーバの停止 sbin/ejabberdctl stop ユーザの登録 ejabberdctl register <user> <host> <password> ユーザの登録解除 ejabberdctl unregister <user> 登録されている全ユーザの表示 ejabberdctl registered_users <host> helpの表示 ejabberdc</host></user></password></host></user>…

crontabで変数を使用するときの注意

コマンドラインで crontab -e すると、エディタが起動して自分のcrontabファイルを編集することができる。crontabの中では、以下のようにコマンド実行時の環境変数を定義してあげることができる。 # コマンド実行時のベースとなるPath BASE_PATH=/home/snaka…

任意のRubyスクリプトを実行するとき開始/終了時のタイムスタンプを出力する方法

やりたいこと cronとかで、自動的にスクリプトを実行したときに、その実行開始/終了のタイミングで開始時刻/終了時刻を標準出力に出力したい。 そこで 汎用的に使えるちょっとしたスクリプトを組んでみた以下のスクリプトを、timestamp.rb という名前で作…

Rubyでマルチバイト文字を指定バイトで切り出す

文字コード関係は苦手 もっといい方法があるかもしれない... class String def jleft(len) result = "" total_len = 0 self.split(//).each do |c| break if (c.size + total_len) > len result << c total_len += c.size end result end end (1..18).each {…

Mechanizeでformをsubmitしたときに' can't convert nil into String (TypeError)'と言われた場合の対応

自分の場合 Googleアカウントの認証を Mechanizeで通そうとしたときのこのエラーに遭遇した。 /opt/local/lib/ruby/gems/1.8/gems/mechanize-0.9.3/lib/www/mechanize/util.rb:40:in `iconv': can't convert nil into String (TypeError) from /opt/local/li…

Excel仕様のCSVを読んで{カラム名=>値}のHashを作るコード

以下を参考に書いてみた。 codeなにがし::RubyでExcel仕様のCSVファイルの読み込みと表示 require 'csv' source = <

livedoorReaderでフィードをスペースバーだけで読むためのグリモン

書いた http://userscripts.org/scripts/show/64075 参考 以下のスクリプトが参考になった Source for "ldR: Go prev/next feed with wheel" – Userscripts.org

VBScriptからCOM経由でGrowlするコード

Brianが対応してくれたのでCOM経由でGrowl for Windows の.NETアセンブリが利用可能になった。 以下のスレに投稿されているdllを落として、regasm.exeコマンドでアセンブリを登録しておく。Does GfW supports COM? - growl for windows | Google グループ以…

”他のプロセスが使用中”と出たときにそのプロセスを探す方法

openfilesというコマンドで探せる $openfiles /? OPENFILES /parameter [引数] 説明: システム上の開いているファイルとフォルダを管理者が 切断できるようにします。 パラメータの一覧: /Disconnect 1 つ以上の開いているファイルを切断します。 /Query ロ…

Pythonで任意の文字コードからUnicode文字列に変換する(超手抜き版)

以下のサイトを参考にした。 Python Tips def try_decode(text): encodings = [ "utf-8", "shift_jis", "euc_jp", "iso-2022-jp" ] for enc in encodings: try: return unicode(text, enc) except: pass return text iso-2022-jp以外はとりあえず確認できた…

GAEでTada-listsへ簡単にTodoを追加するための勝手API作った

仕様 End point http(s)://tadalists-api-delegate.appspot.com Todo項目の追加 パス /post にPOSTメソッドで、以下のパラメタをBODYデータとして渡します。 username : ユーザ名 password : パスワード list: 登録先のリストid content: 登録する内容 例 cu…

IEの右クリックメニューをスクリプトで拡張する方法

仕事柄いやでもIEを使わなければいけない場面が多々ある。 FirefoxのようにIEも手軽にカスタマイズする方法が無いか探していたところ、Firefoxほどじゃないけど右クリックメニューから独自のスクリプトを呼び出す方法が紹介されていたのでやってみた。元ネタ…

PythonではてブのXML-RPC APIを叩いてみる

xmlrpclibつかったらとても簡単だった。 Python++ >>> import xmlrpclib >>> server = xmlrpclib.ServerProxy("http://b.hatena.ne.jp/xmlrpc") >>> server.bookmark.getTotalCount("http://d.hatena.ne.jp/snaka72") 918 こんだけでXML-RPC使えるってスゴい…

IEでfirst-letter疑似要素の挙動がヘンだったので調べた

ie

このダイアリーのタイトルはcssのfirst-letter疑似要素を使ってスタイルを適用している。 FirefoxやSafariなどのモダンなブラウザでは表示は問題なかったけど、IEだとスタイルが適用されない問題があってずっと放置してたんだけど、そのままじゃやっぱりかっ…

Sinatra(Rack)アプリをデーモンとして稼動する

テンプレートディレクトリ等は明に設定してあげる必要がある?(なんかちゃんとしたやりかたがありそうな気がする...) 自分はconfig.ruの中で以下のように設定した。 require 'server' set :views, '/var/www/sinatra/extool/views' run Sinatra::Applicati…

Erlang入門してejabberdでプライベートなJabberサーバ立ち上げたメモ

環境は Mac OS X 10.5.8 Erlang入門 以下の日本語PDFがわかり易くて良かった。 Thinking in Erlang (Japanese version)「ふつうのhaskell」やってて関数型言語のイメージが既にできてたのでだいたい理解できた。 だいたい16時間くらい。 erlangのインストー…

ejabberdでPandionからchatメッセージをpostするとコネクションが切断されてしまう件のとりあえずの対処

exmpp_stanza:get_sender()の戻り値がbinary()なので以下のように変更してみたら、とりあえずコネクションは切れなくなった... Index: ejabberd_c2s.erl =================================================================== --- ejabberd_c2s.erl (リビジ…

ejabberdのプロセスが落ちる原因を調べる(CRASH REPORTの読み方を調べた)

なんかしらんが、Pandionからチャットメッセージを投稿するとejabberdのプロセスが落ちて接続が切れてしまう。サーバのログを見るとejabberd.logにReason for termination ってのが出てたので解析してみる。 ** Reason for termination = ** {{case_clause,<…

jottitでjavascriptや独自stylesheetが使える

はなっから使えないだろうと思い込んでいたので、使えることに驚いた。Right now there's no way to add custom css for the whole site. It's only possible on a per-page basis (by adding the css directly to the page content). Also notice that for …

3連休のうちにオンラインヘルプを日本語化してコントリビュートしよう

と思い立って、Wiki立てた。http://jottit.com/yej7n/用事を済ませたら、本格的に着手するつもり...気が向いたひとが手伝ってくれたら嬉しい...と言う期待を抱きつつリンクをはっておく。

Growl for Windowsの日本語オンラインヘルプ

とりあえず、日本語がヘンな所もあるけど公開してみた。 http://jottit.com/yej7n/ wikiなんで間違いとかあれば訂正してもらいたい... stylesheetを有効にするためパスワード掛けた。何かあればコメントで...

HookHubでそんなに時間かかってないはずの url fetch に"Too long to respond" と言われる

Notify.ioでいろいろやりたくてHookHubで試そうとしているんだけど、うまくいかない。 なぜだろう?以下のコードがHookhubで実行できない。 // NOT WORKED YET : why? var hash = stash.config.notify_user; var api_key = stash.config.notify_api_key; htt…

Pandionで受け取った通知をGrowl for Windowsで表示するプラグイン

作ってみた。まだアルファ版。上記を growl.pdn などの名前で保存して、ダブルクリックでインストールできるはず。あ、デバッグ用のログ出してるから、先日の ロギング用プラグイン も必要だ...

WIndowsでプロセスの一覧を表示するコマンドとexe名(イメージ名)でプロセスをkillする方法

プロセスの一覧表示 > tasklist exe名(イメージ名)でプロセスをkillする方法 growlnotify.exeをkillしたい場合は... > taskkill /f /im growlnotify.exe詳細は taskkill /?で