2012-03-17(Sat.)
Ubuntu 10.10でmikutter 0.1を動かしたい
今までmikutterは0.3系の古いやつを使っていたのだけど,しょっちゅう落ちるし固まるし,せっかくだから新しいmikutterを入れてみよう!と思った.
http://mikutter.blogspot.jp/2011/02/ubuntu-1004mikutterruby191.html
http://ubuntumemo-tora.blogspot.jp/2010/10/ubuntu-1010-ruby-gnome2.html
このあたりの記事を参考にした.
やったこと
- aptitude install checkinstall ruby1.9.1
- aptitude build-dep ruby-gnome2
- gem1.9.1 install ruby-hmac
- gem1.9.1 install pkg-config
- ruby-gtk2-1.1.2.tar.gzをダウンロードして展開 -> ruby1.9.1 extconf.rb -> make -> checkinstall
- rcairo1.10.0.tar.gzをダウンロードして展(ry
- mikutter.0.1.0.710.tar.gzをダウンロードして展開
- ruby1.9.1 mikutter.rb
結果
動かねぇ…
/home/avocado/mikutter010/core/plugin/gui.rb:15:in `<top (required)>': Plugin is not a class (TypeError) (以下,呼び出し元?の列挙)
当該ファイル(gui.rb)の15行目にPluginというクラスが定義されている.
適当にググってみたところ,この手のエラーは定義の衝突が原因らしいが…よく分かりませぬ。。。
3/18追記
rubyをソースコードからコンパイルして入れてやってみたけどやっぱりダメ…
↓
試しに開発版を入れてみる
↓
動いた!!!
はははわろす
2011-12-18(Sun.)
ニコニコ動画 マイリストの全件選択・解除
ニコ厨の妹が「マイリストの項目全部チェックするボタンないの?めんどくさい」と言っていたので作ってみた。
全件選択
javascript:void(function(){var%20c=document.getElementsByName('checkbox');for(var%20i=0;i<c.length;i++){c[i].checked=true;}})();
全件選択解除
javascript:void(function(){var%20c=document.getElementsByName('checkbox');for(var%20i=0;i<c.length;i++){c[i].checked=false;}})();
需要はあるのか?
2011-07-16(Sat.)
一方さんブックマークレット
思いつきで作ってみた.
アドレスバーにコピペしてEnterすると一方さんっぽい感じの文章になります.たぶん.
だいぶ改良の余地あり.
javascript:void(function(){document.body.innerHTML=document.body.innerHTML.replace(/ん/g,"ン").replace(/ない/g,"ねェ").replace(/%28[かさたなはまら]%29%28あ%7cー%7c%29%28[、。,.!?]%29/g,"$1ァ$3").replace(/%28ろ%7cよ%29う/g,"$1ォ").replace(/ので/g,"ンで").replace(/%28す%7cれ%29るの/g,"$1ンの");})();
ググったらすでにやってる人いたけど気にしない.
2011-03-28(Mon.)
GoogleChromeでTwitterの背景画像取得
GoogleChromeだとFirefoxみたいに背景画像を開くオプションがないので、書いてみた。
javascript:void(function(){s=document.styleSheets;r=s[s.length-1].cssRules[0].style['background-image'];u=r.slice(4,r.length-1);window.open(u);})();
汎用性まるでなし。
背景画像の指定がCSSでユーザごとにクラス分けされてるので、document.body.style.backgroundImageで取得できない。
何でクラス分けされたスタイルをDOMで取得出来ないのかなーって思ったけど、ページ作る側からしたら別に利点無いよね。
2011-02-15(Tue.)
PythonのSimpleHTTPServer
ちょっと用があってPythonのSimpleHTTPServerを使ってみた。
普通に使うときは、
python -m SimpleHTTPServer
とか、
>>> import SimpleHTTPServer
>>> SimpleHTTPServer.test()
でいいんだけど、今回はMIMEタイプの設定を追加する必要があった。で、ドキュメントを読んだりググったりしたんだけど、なんだかわけわかめ。
いろいろあたってみて、ようやく書き方がわかった。
# -*- coding: utf-8 -*- import SimpleHTTPServer import BaseHTTPServer handler = SimpleHTTPServer.SimpleHTTPRequestHandler handler.extensions_map['.hoge'] = 'fuga/piyo' server_addr = ('', 8000) httpd = BaseHTTPServer.HTTPServer(server_addr, handler) httpd.serve_forever()
ここで、handlerに入ってるのはクラス(クラスオブジェクト?)ってことなんだよね。最初handlerって名前の変数にクラスを代入するって発想が無かったから、BaseHTTPServer.HTTPServer()の第2引数の名前にClassなんてサフィックスがついてて変だなーと思ったり、SimpleHTTPRequestHander()とか書いてエラー吐かれたりしてた。
変数名をrqHandlerClassとでもすればいいのかしら。
あとクラスの変数に直接代入するっていうのもどうもなじめない。
Python難しいなー。まだまだだな
>変数名をrqHandlerClassとでもすればいいのかしら。
"handler"がタイプ数少ないし最適に思えます。
またPythonでキャメルケースを使う場面はClassの宣言の際なのかなと思います。
なので変数名をご希望なら_(アンダースコア)で"rq_handler_class"がよいのではないでしょうか。
あくまで参考程度ですが、"Google Python スタイルガイド" 有志翻訳版。
http://works.surgo.jp/translation/pyguide.html
ネーミング
http://works.surgo.jp/translation/pyguide.html#id84
>"handler"がタイプ数少ないし最適に思えます。
改めて考えてみたら、"handler"にクラスを入れるのは何ら不思議ではないですね。素直に"handler"を使うことにします。
>またPythonでキャメルケースを使う場面はClassの宣言の際なのかなと思います。
Javaをかじって以来、何でもかんでもキャメルケースで命名したがる癖がついてしまっています。やはり使う言語に合わせた書き方は大事なんですね。