]
トップ 最新 追記

Yukiharu YABUKI の tDiary



このtDiaryを検索します。

2013-01-08 [長年日記]

_ 新年あけましておめでとう。

本年もよろしくお願いします。去年は入院したりと多難な年でしたので、本年は良き年にしたいです。ただ、悪い部分については、体重を減らすことで改善することがわかったので、あとは「やる」だけなのです。他にも課題が山積していますが、これもやれば目処が付くはずなのです。黙々と宿題を片付ければ、(今年は苦しくても)良き年になるはず。

お正月は、「学問のススメ」を読みました。まだ、読んでいる途中ですが。元気をもらえる文章でした。今となっては文章が硬いので苦労しますが、でも3が日に読むには良い本だと思いました。まだ未読の方がいらしたらオススメしておきます。青空文庫など電子書籍でも読むことができます。


2013-01-09 [長年日記]

_ Nexus7 から gitolite を利用する

この文章は、Nexus 7(Android)で、玄箱で動いている Debian GNU/Linux の gitolite にアクセスして、git cloneまでを行う時に自分が困ったことを記述したものです。2013/01/10追記。agitをさわっているが、agitはソースコードを参照できても、commitする機能はなさそうなのである。これは、結構参った。Nexus 7は参照だけでメモって後からPCで追記や変更をする必要がある。あと、下でbareオプションのことを書いているが。agitでcloneしたbareリポジトリをbareオプションなしでcloneしたら個々のファイルをtextエディターで編集できる。

環境は、私が実施したもので、各自の環境に応じて内容は読み替えるのが良いでしょう。私の方法が参考になれば幸いです。

利用したもの

  • Nexus 7
  • Connectbot with ssh-agent (connectbotにssh-agentパッチがあたっているソフトウェアです)
  • agit --- 有償ですが、google playで使えそうなのがこれだったので。(GUIでなくCUIのgitでもいいのだけど判らなかった)

  • gitoliteをインストールしているサーバ(私の場合は玄箱)

大まかな手順

前提として、gitoliteがもう運用してあると考えている。あとgitolite関係のドキュメントは、オンラインだと(http://www.atmarkit.co.jp/fjava/rensai4/devtool26/devtool26_1.html)がよいかと、ProGitのgitoliteへのドキュメントへのリンクもあります。あと、この動画も見ておくと良い。

  • connectbot with ssh-agent で、公開鍵と秘密鍵のペアを作る
  • gitolite-admin.git を clone している場所で、keydirにNexus7で作った公開鍵を登録する
  • git add と commit をして公開鍵を gitolite へ送り込む
  • connectbot with ssh-agent から gitolite@サーバー名 でリポジトリ一覧がでるか確認する。でないなら、gitoliteサーバの /var/lib/gitolite/.ssh の中身を確認する。

  • 上記がokなら、agitを立ち上げて、cloneする。私がハマった点は、リポジトリがbareか?はcloneする元のリポジトリのことであり、手元のリポジトリの話でない点に気がつくまでちょっと考えた
  • 最初はリポジトリがでかいと時間がかかりますが、無事 clone できました!

connectbotでescやctrl

ついでに、connectbotを使っている時に、Nexus 7で ESC を入力できなくて悶絶してました。ハードウェアキーボードを接続してても、これにはちょいとはまりました。

ESCやCTRLを使いたい時は、Connectbotが動いている画面をタップして、ESCおよびCTRLキーを表示させましょう。そのあとZZとかでviを終了させるのです。


2013-01-10 [長年日記]

_ [Debian] python-bottle package

2013.01.04 Pythonを始めるなら、1ファイルの軽量Webフレームワーク「Bottle」がおすすめ(http://mojix.org/2013/01/04/python-bottle) という文章を読みました。

上記の文章で、言及している bottle というフレームワークは、Debian ではどのようになっているのか、ちょっと書いておきます。

Debian のリポジトリへの収納状況

2013/01/10現在、Debianのstableは、squeeze で、次期リリース予定は wheezy というリリースコードネームを使っています。

2013/01/10現在の安定版である、squeeze に bottle は存在して、apt-getやaptutideなどでインストールすると使えるようです。バージョンの新旧による機能の差は、bottle本家(http://bottlepy.org/docs/dev/)からgithubなどへ飛んで、gitで差分を取らないと、changelogはなさそうな感じ。本家のchanglogがあったのを見落としていました。(http://bottlepy.org/docs/dev/changelog.html)どうしても新しいバージョンが知りたいなら、Debianの次期安定版のwheezyを試して使うことも考慮してくれると嬉しいです。

パッケージの構成

python-bottleパッケージは、本体と-docパッケージの2つになっています。それぞれのパッケージ内容は後述します。

パッケージのインストール

パッケージのインストールは、私の場合はsudo aptitude install python-bottle-doc python-bottleで行いました。wheezy 環境なら apt-get の方がいいかもしれません。

yabuki@yelona:~$ sudo aptitude install python-bottle-doc python-bottle
[sudo] password for yabuki: 
以下の新規パッケージがインストールされます:
  python-bottle python-bottle-doc 
更新: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
428 kB のアーカイブを取得する必要があります。展開後に 1,102 kB のディスク領域が新たに消費されます。
取得:1 http://cdn.debian.or.jp/debian/ squeeze/main python-bottle all 0.8.4-1 [25.1 kB]
取得:2 http://cdn.debian.or.jp/debian/ squeeze/main python-bottle-doc all 0.8.4-1 [403 kB]
428 kB を 1秒 秒でダウンロードしました (327 kB/s)
未選択パッケージ python-bottle を選択しています。
(データベースを読み込んでいます ... 現在 359384 個のファイルとディレクトリがインストールされています。)
(.../python-bottle_0.8.4-1_all.deb から) python-bottle を展開しています...
未選択パッケージ python-bottle-doc を選択しています。
(.../python-bottle-doc_0.8.4-1_all.deb から) python-bottle-doc を展開しています...
doc-base のトリガを処理しています ...
Processing 1 added doc-base file(s)...
Registering documents with scrollkeeper...
python-bottle (0.8.4-1) を設定しています ...
python-bottle-doc (0.8.4-1) を設定しています ...
python-support のトリガを処理しています ...
 
yabuki@yelona:~$ 
 
パッケージの内容

下記がそれぞれのパッケージの内容です。これらの構成を見るだけでも、どこを見ればいいのか? どう使うのか? 何となく見えてきます。

python-bottle パッケージ

/.
/usr
/usr/share
/usr/share/python-support
/usr/share/python-support/python-bottle.public
/usr/share/doc
/usr/share/doc/python-bottle
/usr/share/doc/python-bottle/changelog.Debian.gz
/usr/share/doc/python-bottle/copyright
/usr/share/pyshared
/usr/share/pyshared/bottle-0.8.4.egg-info
/usr/share/pyshared/bottle.py
  

python-bottle-doc パッケージ

/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/python-bottle-doc
/usr/share/doc/python-bottle-doc/changelog.Debian.gz
/usr/share/doc/python-bottle-doc/copyright
/usr/share/doc/python-bottle-doc/api
/usr/share/doc/python-bottle-doc/api/modindex
/usr/share/doc/python-bottle-doc/api/modindex/index.html
/usr/share/doc/python-bottle-doc/api/search
/usr/share/doc/python-bottle-doc/api/search/index.html
/usr/share/doc/python-bottle-doc/api/_static
/usr/share/doc/python-bottle-doc/api/_static/file.png
/usr/share/doc/python-bottle-doc/api/_static/plus.png
/usr/share/doc/python-bottle-doc/api/_static/myface_small.png
/usr/share/doc/python-bottle-doc/api/_static/favicon.ico
/usr/share/doc/python-bottle-doc/api/_static/pygments.css
/usr/share/doc/python-bottle-doc/api/_static/logo_nav.png
/usr/share/doc/python-bottle-doc/api/_static/basic.css
/usr/share/doc/python-bottle-doc/api/_static/searchtools.js
/usr/share/doc/python-bottle-doc/api/_static/bottle.css
/usr/share/doc/python-bottle-doc/api/_static/minus.png
/usr/share/doc/python-bottle-doc/api/_static/doctools.js
/usr/share/doc/python-bottle-doc/api/_static/myface.png
/usr/share/doc/python-bottle-doc/api/_static/logo_bg.png
/usr/share/doc/python-bottle-doc/api/_static/default.css
/usr/share/doc/python-bottle-doc/api/_sources
/usr/share/doc/python-bottle-doc/api/_sources/tutorial.txt
/usr/share/doc/python-bottle-doc/api/_sources/api.txt
/usr/share/doc/python-bottle-doc/api/_sources/contact.txt
/usr/share/doc/python-bottle-doc/api/_sources/faq.txt
/usr/share/doc/python-bottle-doc/api/_sources/changelog.txt
/usr/share/doc/python-bottle-doc/api/_sources/index.txt
/usr/share/doc/python-bottle-doc/api/_sources/stpl.txt
/usr/share/doc/python-bottle-doc/api/_sources/tutorial_app.txt
/usr/share/doc/python-bottle-doc/api/_sources/development.txt
/usr/share/doc/python-bottle-doc/api/_sources/recipes.txt
/usr/share/doc/python-bottle-doc/api/development
/usr/share/doc/python-bottle-doc/api/development/index.html
/usr/share/doc/python-bottle-doc/api/index.html
/usr/share/doc/python-bottle-doc/api/searchindex.js
/usr/share/doc/python-bottle-doc/api/faq
/usr/share/doc/python-bottle-doc/api/faq/index.html
/usr/share/doc/python-bottle-doc/api/tutorial_app
/usr/share/doc/python-bottle-doc/api/tutorial_app/index.html
/usr/share/doc/python-bottle-doc/api/stpl
/usr/share/doc/python-bottle-doc/api/stpl/index.html
/usr/share/doc/python-bottle-doc/api/changelog
/usr/share/doc/python-bottle-doc/api/changelog/index.html
/usr/share/doc/python-bottle-doc/api/objects.inv
/usr/share/doc/python-bottle-doc/api/.buildinfo
/usr/share/doc/python-bottle-doc/api/api
/usr/share/doc/python-bottle-doc/api/api/index.html
/usr/share/doc/python-bottle-doc/api/contact
/usr/share/doc/python-bottle-doc/api/contact/index.html
/usr/share/doc/python-bottle-doc/api/tutorial
/usr/share/doc/python-bottle-doc/api/tutorial/index.html
/usr/share/doc/python-bottle-doc/api/recipes
/usr/share/doc/python-bottle-doc/api/recipes/index.html
/usr/share/doc/python-bottle-doc/api/genindex
/usr/share/doc/python-bottle-doc/api/genindex/index.html
/usr/share/doc-base
/usr/share/doc-base/python-bottle
/usr/share/doc/python-bottle-doc/api/_static/jquery.js
  
Hello Worldを実行してみる

Debian Squeezeのpython-bottleの場合、バージョンのためか、blogで書いてあるhello worldプログラムを一部変更する必要があります。ってか、付属のドキュメント(英文)を読めば、このバージョンでの動かし方が書いてある。ググるのではなく、付属のドキュメント読みましょう。

- run(host='localhost', port=8080, debug=True)
+ run(host='localhost', port=8080)
  

ポートは、あなたの環境に応じて変更してください。例えば、私は8080を使っていたので、使用ポートを8082にして実験しました。Eclipseから実行して http://localhost:8082/hello アクセスすると

Bottle server starting up (using WSGIRefServer())...
Listening on http://localhost:8082/
Use Ctrl-C to quit.
 
localhost.localdomain - - [10/Jan/2013 19:39:08] "GET /hello HTTP/1.1" 200 12
localhost.localdomain - - [10/Jan/2013 19:39:08] "GET /favicon.ico HTTP/1.1" 404 682
  

と、起動メッセージのあとにログがコンソールに表示されます。webブラウザーの画面でも結果を確認してください。Wheezy のバージョンならたぶん、debug=Trueがいるのかなあ。試してないから憶測ですが。


2013-01-11 [長年日記]

_ [Linux] tty printk driver

主に、組み込みの環境で役立つドライバーです。twitter見た発言(https://twitter.com/tosihisa/status/283583225358602241) で Raspberry Piをさわっている時に利用されているようです。

echoコマンドで/dev/ttyprintkに書き込むとメッセージがでると、嬉しい場面もありますね。画面がないならシリアルコンソールなどでデバッグすることになりますから。

add ttyprintk driver(http://lkml.indiana.edu/hypermail/linux/kernel/1009.0/00333.html)というメールを見ると、Kconfigの中に追加されており、EMBEDDEDに依存しているなど判る

_ はてな blog の RSS

RSS Aggregator (RSS reader)を使って記事を読む習慣があると、なんにでも RSS がついてないと不便を感じるものだ。最近、はてな blog へ引っ越しする人がいて、RSS の フィードを見つけることができなかったのだが、はてなブログのRSS(http://kanose.hateblo.jp/entry/2012/04/12/124626)を記事を読んで、はてなblogのurlに"/feed"を付ければ良いことに気がついて、何人かのblogを RSS Aggregator に追加したのだった。

_ flyspell に覚えて欲しい英単語を指示する

flyspellは、恥ずかしいスペルミスをしないために、Emacsを使っているのなら使った方が良いプログラムだ。でも、汎用的な英語の辞書なので、新しいコンピューター用語や、業界特集の単語には弱い。そこで一時的に、自分で正しいと判っている単語を flyspellに教えることで、「本当に間違えた部分」に集中することができる

操作方法は簡単だ。XでEmacsを使っているなら、下線が引いてある部分にポインターを持って行って、真ん中のボタンを押してメニューを表示させればいい


2013-01-12 [長年日記]

_ [Debian] ソースコードを印刷する

前回 bottle.py を紹介したが、だいたい2000行ぐらいのソースコードなので、印刷をして手元でパラパラをめくってみようと、HP Officejet K8600DN で python のソースコードを印刷しようとしたので、その顛末を書いておこうと思う。これから書く内容は、Debian Squeeze と HP Officejet K8600DN の話であり、将来ソフトウェア環境が変更になったり、違う機種ならば当てはまらない場合もある。参考にしてもらう場合があったら、結果だけじゃなくて過程をチェックしてほしい

とはいえ、印刷をしている時に、本当はこうなって欲しいのだが、なんでならないのかなあ。という場面はあった。私の理解がおいついていないからだろうと思うので、ツッコミ欄やメールなどでご指導ご鞭撻を頂けると幸いです。

承前

単純にソースコードを「小冊子風」に印刷したかった。のだが、自分がどんくさいのか手間が掛かったので、記録に残して次回同じようなことをするときに時間の節約を行う。

最初のイメージは、A3を小冊子印刷でA4風味にして、1ページに入る情報量を見やすい範囲で詰め込んで、ページ枚数を減らそうと思っていた

MS-DOSの時代、レーザプリンターなどにソースコードを印刷するときに、行番号を付けたり用紙によってフォーマット、ヘッダー/フッターなど自由に付加したりできるソフトウェアがあった。vectorの印刷用ユーティティというジャンルに行けば、判るだろうか。PRTというソフトウェアを周りの人が使っていたのを覚えている。あんな風にソースコードを印刷して手元でみたいというのは、最近は流行らないのかもね

で、気がついたのですが、コメントを含めて英語なら、UTF-8なエンコードを指定せずになんだろうが、印刷できるなあと

利用したソフトウェア

  • 使ったソフトウェア
    • a2ps 上記のように日本語がないソースコードならこれが便利かな。cat -n で行番号を付けてから整形する(つまり標準入力経由)と、ファイルを指定してps出力すると明らかに印字のフォーマッティングが異なります。ソース読んでませんが、ファイルの拡張子で、強調すべき所を把握しているのでしょうね。
  • 試行錯誤の中で、最初のイメージそぐわないと判断したソフトウェア
    • gnome-u2ps --- utf8 を扱うならコレかなあと思って、一番最初に使った。a2psからの派生だが、a2psほどのオプションは制御できないので、今回はパス。ソースコードが英文だけなので、utf8を絶対使う必要がないので、がんばれなかった。
      余談ですが、オプションをソースコードで確認しようと、ソースを見たら フォント名にkochi gothicとか直に書いてあって、フォントを扱う人は実体がどうであても、kochi gothicのフォント名が別のgotichフォントを指すようにしておかないと、こういう時に困るんだろうなあと重いながらソースを見てました。
  • 思い出せなかったソフトウェア。--- gotom さんが印刷の時に便利に使っていたコマンドの記事を読んだ記憶があるのだが、どうしても思い出せなくて、Google先生にお伺いをたてても、検索キーワードが悪くて引っかからない。prnとかいう名前だったような気がするなあ。
  • 取り上げてなかったソフトウェア --- pr そういえば pr というコマンドもありましたね。比較的使い慣れた a2ps に飛びついてしまい使ってないなあ。ほかにも私が知らないだけで良い印刷用フォーマッターソフトウェアがあるんだろうなあ。多分。
PDFの作成方法
  1. 最初に、a2psで、psファイルに変換
    $ export LANG=C; a2ps /usr/share/pyshared/bottle.py -1  -o /tmp/bottle.ps
    [/usr/share/pyshared/bottle.py (Python): 30 pages on 30 sheets]
    [Total: 30 pages on 30 sheets] saved into the file `/tmp/bottle.ps'
    [27 lines wrapped]
  2. 小冊子用にページを並び替え
    $ psbook bottle.ps > bottle-book.ps
    [*] [1] [2] [*] [30] [3] [4] [29] [28] [5] [6] [27] [26] [7] [8] [25] [24] [9] [10] [23] [22] [11] [12] [21] [20] [13] [14] [19] [18] [15] [16] [17] 
    Wrote 32 pages, 132307 bytes
  3. psからpdfへ変換
    ps2pdf bottle-book.ps
  4. evinceや場合応じて、windowsのacrobatなどで内容を確認する。
印刷の設定

印刷時には、下記のチェックリストを確認しながら印刷に備えること

a2psはA4を意識しているのか、A4を2つ並べて、A3の両面印刷をしようとすると、なぜか上手く行かない。仕方ないのでA4を半分にすることで今回は問題を解決した。

  • 用紙のサイズは適切か? --- 用紙のサイズの中に、両面印刷可能かどうか決定する要素があるので間違えないように
  • 1枚の紙に2つのページを印刷する。 --- 紙の短い方の辺で折り返す指定をする。長い方の辺で折り返すと天地が表と裏で逆になる
  • 印刷一回毎に既定値に戻る場合があるので、印刷前には再度確認せよ。
最後に

とりあえず、これだけ書いておけば、次回はもうちょっと楽に印刷できるはず。何枚紙を無駄にしたか。

_ 歯ブラシ大量購入

自分好みの歯ブラシで言及していた、サンスター/バトラー歯科用 #211 12本 ふつうコンパクトヘッド6色 一般用(3列フラット) [ヘルスケア&ケア用品] サンスター/バトラー歯科用 #211 12本 ふつうコンパクトヘッド6色 一般用(3列フラット) [ヘルスケア&ケア用品]だが、楽天でEメールマーケティングを受けないように無事購入した。が、Amazonが送料無料で、買った所より安かった。ちょっと凹んだが、注文を取り消すほどではない。国内の景気の浮揚に少し貢献したと思っておくか。あんまり頑張っても時給分損だよね。(負け惜しみ(苦笑))


2013-01-13 [長年日記]

_ Debian で見開きのpdfを読む

自炊を開始して、実感したことの一つに、小説などの字が続くタイプの本は、Nexus 7などのタブレットでも快適に読むことができる。しかし、技術書などで見開きに渡って表や図があると、PDFを読むのが辛い。だから增井さん(@masuidrive)さんは、DisplayでPDFを読んでいるのか。と今頃pdfで本を読む時のTIPSの意味を体感する。

增井さんは、MacでPDFを読んでいる用だが、私の場合は Debian で快適に見開きのPDFを読みたい。ということで、DebianでPDF閲覧につかっている evince を使って見開きができるか、やってみた。

Evinceでの方法

Adobe 社の Adobe Reader だと、

あたりの記事を参照するのでしょうが、今のところ、Evinceなら、メニューから「表示(V)」-「見開きページ(D)」を選択し、チェックを付けると良い。ページの並びがおかしいときは、いちど終了して再度pdfを読み直すと私の場合は上手く行っている。

見開きの場合は、連続ページの設定はoff担っていた方が便利かも。

終わりに

X201sで細かいPDFを読むのは目がしんどいので、WXUGAクラスのモニターでPDFを読みたい。ノートやNexus 7で快適に読書ができるのは、文庫や新書で見開きの要求が少ない本かなあ。


2013-01-14 [長年日記]

_ PyDev と Pylint

Eclipseの上でPythonを開発するのに、pylintを使ってプログラムの静的チェックを行える。という所はわかった。が、どのようなタイミングで pylint が走って、Pydev と連携しているのかは、私は理解できていない。そもそも理解する必要があるのか?や、pylintをコマンドラインで走らせて、思う結果が得られればいいじゃないか?という主張も自分の中にある。

_ PEP8,文書とプログラム

プログラム経験者、とりわけ比較的大きな規模の開発をした経験がある人なら、Pythonを始めるに当たって PEP8 の存在は良いガイドになる。

PEP8は、文書だけでなく、プログラムも存在して、apt-get install pep8でインストールして、あなたのpythonプログラムがpep8に沿っているか検査をしてくれる。pylintと似ている。pythonに慣れるまでは、このpep8を使ってプログラムの添削をしてもらおうかと思う。それなりのベストプラクティスがpep8に入っているのだろうから。


2013-01-15 [長年日記]

_ クレジットカード更新に伴う、ちょっとしたどたばた

世の中には、クレジットカードという便利なものがある。便利すぎて有効期限があるぐらいに。有効期限があるので何年か一度、クレジットカードの更新が行われる。

で、カードの更新が成功しても、そのクレジットカードに紐づけているサービス契約毎に、クレジットカードが更新になったので、手続きが必要か?という問い合わせを行い、必要に応じて手続きを行うのである。

が、これがまたクレジットカードの利便性が高いだけに大変なのだ。オンラインショッピング系のサイトにクレジットカード情報を預けている場合ももれなく更新して行かねばならない。電気、水道、ガスなどの公共料金は紐づけていないが、携帯電話やプロバイダーなど定期的に利用しているサービスには順番に対応していく必要がある。

多数のサービスを利用していると、頭の中に覚えているだけでは、クレジットカード更新情報の通知を忘れてしまうサービスもでてくるので、クレジットカードの利用明細を見ながらチェックするか、それでも請求までにラグタイムがあるので、完璧じゃないのでなかなか大変なのである。

あるサービス業者で

サービス業者も上記のクレジットカードの更新がユーザにめんどくさいとおもっていることは知っていて、有効期限だけならなにもしなくていい場合もある。が、毎回ルーティンワークをさせるサービス業者もある。

また、窓口に問い合わせても、クレジットカードのユーザであっても利用条件によっては、再度クレジットカード情報を取得する必要が(内部の規約で?)決まっているらしく、なんどか窓口から誤った指示をされることもあった。

誤った指示をカスタマーセンターにされて、双方が気まずい雰囲気になる(双方の時間を浪費する)のは、もったいないので、インターネットからプログラムを通して更新するのが良いのではないか?と思った今日だった。

あとめんどくさくても利用サービス一覧は日記にでも書いておくか、パーソナルwikiにでも書いておくのがいいな。こうやって文章を書いている時にも連絡してないサービスを思い出した。


2013-01-17 [長年日記]

_ py.test

pytest で pep8 テストを実行する(http://dev.ariel-networks.com/wp/archives/2491)という記事に出てくる、 py.test は、 Debian だと python-py というパッケージに入っている。apt-fileで調べると下記のような結果が得られる。

python-py: /usr/bin/py.test
python-py: /usr/share/man/man1/py.test.1.gz
Debian GNU/Linux Squeeze で、py.test をインストールする。

ということで、インストールすると、下記のような表示が現れる。(Debian GNU/Linux Squeeze環境です)

yabuki@yelona:~$ sudo aptitude install python-py
[sudo] password for yabuki: 
以下の新規パッケージがインストールされます:
python-py 
更新: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
159 kB のアーカイブを取得する必要があります。展開後に 893 kB のディスク領域が新たに消費されます。
取得:1 http://cdn.debian.or.jp/debian/ squeeze/main python-py all 1.3.3-2 [159 kB]
159 kB を 0秒 秒でダウンロードしました (853 kB/s)
未選択パッケージ python-py を選択しています。
(データベースを読み込んでいます ... 現在 359786 個のファイルとディレクトリがインストールされています。)
(.../python-py_1.3.3-2_all.deb から) python-py を展開しています...
man-db のトリガを処理しています ...
python-py (1.3.3-2) を設定しています ...
python-support のトリガを処理しています ...
試しに動かしてみる。

Pythonのメタプログラミング (メタクラス) を理解したい人のための短いコード片と禅問答(http://coreblog.org/ats/lerning-metaclass-by-reading-javascript-like-prototype-in-python)を手本に、hoge.pyという名前でファイルを作り、py.test -pep8 hoge.pyを実行すると下記のような、表示がでる。オプションは、-が2つじゃなくて1つなので、よろしくね。

 
$ py.test -pep8 hoge.py 
============================================================================== test session starts ==============================================================================
platform linux2 -- Python 2.6.6 -- pytest-1.3.3
test path 1: hoge.py
  
===============================================================================  in 0.02 seconds ================================================================================

2013-01-18 [長年日記]

_ 六本木ヒルズで昼食

もう5,6年ほど会っていない知人を訪ねて、久しぶりに六本木ヒルズへ。そこで昼食をご一緒して、料理だけでなく眺望も堪能しました。東京タワー、奥多摩、日本アルプスが言われてかすかに、富士山、スカイツリー、お台場のTV局(順不同)などなど、ぐるりと。

インストールして全然活躍させてないIngressを見ると、六本木ヒルズの回りでいくつかポータルがあるので、大阪でなく東京で初めて具体的な操作をして、こういうものなのか?と体験をしてみた。


2013-01-19 [長年日記]

_ Suicaの再発行

前回東京に来た時に、Suica を使って、紛失しており。記名式の Suica は再発行が可能なのですが、Suica の再発行には、現時点では1000円の手数料がかかります。そのため駅員さんから下記のような提案を受けました。

紛失した Suica の残高が1000円以上だ

  • Yes:再発行をしましょう。駅に申し出て手続きを行い、「翌日」に緑の窓口で受け取れます。
  • No:金銭面だけ見たら2000円で新しく Suica を発行するのが良い。

困ったことに申し込み時点では、自分が紛失した Suica の残高はわかりません。最後に使った残高をかなりかかって思い出して、別の Suica を購入しました。なお、再発行の手続きについては、(http://www.jreast.co.jp/suica/procedure/reissue.html)に掲示がありますので必要に応じて参照してください。


2013-01-20 [長年日記]

_ Clear Code さんへ

イベントがあったので、初めて clear codeさんの事務所にいってきた。行きは「本郷3丁目駅」

_ 帰りはお茶の水

帰りは、運動不足をちょっと解消できるように歩いてお茶の水へ。私は呑まずに、近況報告などして楽しい時間を過ごした。


2013-01-21 [長年日記]

_ Hadoop Conference Japan 2013 Winter

所用があり、参加してきた。思いの外、久しぶりに会う友人たちがいっぱいいた。Hadoop からは活発を感じました。

_ 品川プリンス

初めて所用で訪れた。JR品川駅から向かったが、ホテルは見えるがマクドナルドの横をすり抜ける気分でないと迷うかも。すこしうろうろしたが、急いで何とか時間厳守できた。


2013-01-22 [長年日記]

_ 帰阪

東京出張から新幹線で、東京駅から新大阪駅へ。八重洲口近くの格安チケット屋さんにいくと、多分JRの近距離運賃の切れ目毎に回数券を繋げて、経路をつくり、あと新幹線特急券を指定させるタイプのチケットを売っていた。これ大阪では見たことがない気がする。

新幹線の中では、前日の疲れもありぐっすり。名古屋で目を覚まし、広島まで乗っていくことはなかった。

_ 説明会

荷物をいったん置いて、説明会に参加。2013/02/08(金)が締め切り。


2013-01-23 [長年日記]

_ Microsoft Wedge Mobile Keyboard

Nexus 7を活用するにあたって、キーボードが欲しいのだが、なかなかピタッと来るモノがなかった。このBlue Toothキーボードは友人が購入したので、少しの間借りて、モノを実際に検証してから購入を決意していたのだが、東京出張が終わってようやく配達された。マイクロソフト Wedge Mobile Keyboard for Business Bluetooth U7R-00022 マイクロソフト Wedge Mobile Keyboard for Business Bluetooth U7R-00022

  1. 必要があれば膝の上でタッチタイプが可能な形状だった
  2. キータッチが許容範囲だった
  3. Nexus7とペアリングして、自分の入力スピードでキーの取りこぼしがないか確認できた。
  4. 単4電池で駆動する。
  5. キーボードにカバーをかけるとpower offになる
  6. キーボードが日本語レイアウトで、Google 日本語入力を使っていると、キートップと入力の文字が一致していた。(しかし、コンソールアプリケーションではusレイアウトにマッピングされ困ったことになる(例 vim, Development IDEなど)
  7. Microsoftのデザイナーは当たり前だけどほとんどの工業デザイナーが考えられていない、電池が飛び出したり、キーボードに傾斜を付けて打ちやすいように配慮がされていた
  8. 質感が良いと感じた。

これで、Nexus7でgitやエディターが使いやすくなる予感。

see also

_ [Android] Development IDE

agitは読み専なので、Nexus7からpushしたいと思ったら、Development IDEを使ってみようかと試行錯誤。Development IDEではUTF8であっても日本語が通らない。かつ、Development IDEの中は他のアプリケーションから参照できないので、UTF8が通るエディターを使って編集するには、いちど sdcard 領域に書き出さないとダメみたい

自分でgitのレポジトリをSDcardの領域(マウントしている)にcloneすると、git statusすると一部のファイルが欠けているのが確認できる。再現もする。結局 Development IDE内部の領域にcloneしたら、git statusすると消え去ったファイルがないので、とりあえず個々のファイルをコピーして更新するしかないのか。

Development IDEは、gitの他に、vimやssh(drop bear)を使ってみた。はまったのは、Dropbearを使っていると認識していなくて、RSA鍵の秘密鍵と公開鍵のペアを作って読み込ませようとして時間を無駄にしたこと


2013-01-24 [長年日記]

_ Pipe Viewer(PY)とrsync

Pipe Viewer(以下、PVと略)を使うと、様々な処理にプログレスバーを表示させることが可能になる。これは作業時間の見積もりをしてどれぐらい見続けておかないといけないかが、直感的に見えてうれしい。

ところが、自分なりに調べていくと rsync と PV を連動させるよりは、新しいめの rsync のオプションに --info=progress2 を使った方がよさそうなのだった。使い分けをしていくしかないなあ。


2013-01-25 [長年日記]

_ 安楽椅子アウトドア

アメリカのヨセミテ国立公園を、いわゆるストリートビューで楽しめるサイトです。下記のサイトで仮想現実を楽しんだら、本物を楽しみたくなるだろうな。

(http://www.trailmeup.com/)

_ ASUS Zenbook

名前が「エイスース」に変わったのが記憶に新しい ASUS ですが、ASUS ZENBOOK に13型フルHD + タッチのUX31A、Core i7 と8GB RAM搭載(http://japanese.engadget.com/2013/01/23/asus-zenbook-13-hd-ux31a-core-i7-8gb-ram/) を発表したようで、知人から教えてもらいました。


2013-01-26 [長年日記]

_ [Android] Development IDE(Cont'd)

Development IDEでは、容量の関係なのか? mergeコマンドがない。git pullすると失敗するわけだが、そういう時は慌てずに、git fetchしてからrebaseをすればいいのだった

_ [Linux] rsync で、kvmのqcow2のイメージを転送していたら

Uncaught RangeError: Maximum call stack size exceededというメッセージが出て、プロセスがDになっていた。スタックを食いつぶしたのはわかったが、htopやiotopで rysnc がまだ動いているプロセスの確認とデータの転送しているのが確認できたので、このままやらせて、あとで、md5sumあたりでつきあわせるか

最悪の可能性を考えると、ここで止めてコマンドを再投入なのかもしれず。


2013-01-27 [長年日記]

_ FST-01とGnuk

自由なソフトウェアとハードウェアの組み合わせ FST-01でGnukを使う(http://no-passwd.net/fst-01-gnuk-handbook/) そのうち購入しようかと思っている。


2013-01-28 [長年日記]

_ 体重計をメーカーへ修理依頼

失せ物見つかる。OMRON 体重体組成計 カラダスキャン HBF-354IT で言及している、omronの体重計+体脂肪計ですが、だんだんとコードがボロボロになってきて、液晶の数字部分が読み取れないようになってきて、修理することにしました。

カールコードが経年変化でボロボロになり、数字を表す7セグ相当の部分で3カ所以上、読み取れなくなっており、流石に心の目を持ってしても、PCにデータを移さない限りすぐに数値を読み取ることはできませんでした。

omronさんの修理受付(http://www.healthcare.omron.co.jp/repair/)に電話をして、症状と修理費の見積もりを行ってもらう旨のお話しをして、受け取りの手続きをしてもらいました。インターネットでも可能でしたが、一度修理依頼をしたことがあり、前回のデータを参照してもえると、有難いこともあって電話にしました。

時間を問わないのは、インターネットなので、ケースバイケースかな。明日(01/29)に引き取りに来てくれるそうです。


2013-01-29 [長年日記]

_ もはや Windows にハイパーターミナルはない。

Debianばっかり使っていて、さっぱり知らなかったのだが、Serial Console やモデムへATコマンドを送り込むなどの用途につかっていた、Windows のハイパーターミナルはなくなっていた。ハイパーターミナルについて(http://windows.microsoft.com/ja-JP/windows-vista/What-happened-to-HyperTerminal)ということで、リンク先に、いくつか代替の機能の提案がなされている。


2013-01-31 [長年日記]

_ デザイナー氏の思考方法

年長のグラフィックデザイナーの方と親しくお話しする機会を得た。そこで、いくつか質問をさせていただいた。

その方はご自分では、PC(たぶんmac)を使わない。理由としては、自分のPCスキルが表現の上限になるから。とのこと

となると、次に質問した内容は、自分の中に出てきた「作品」をどのように指示するのか? でしたが、こちらの想定していた答えとは、異なるモノでした。

曰く、未来にはできあがっている表現物が「見えている」ので、それを「思い出して、形にすればいい」とのこと。最終形が見えている状態で、最終形を「定着」させるのが仕事だそうです

じゃ、私のような素人が良く聞く、「コンセプト」というのは、補助輪にしか過ぎず。他人と共有する場面(例えば、お金を出す人へのプレゼンテーションなど)では使いますが、デザインしているときにはそれほど重視しないのだそうです。

あと後進を育てる時にもコンセプトを使いますが、いっぱしのデザイナーであれば、コンセプトも大事だが、未来の最終形を作り出す力があるのだと。それがないならデザイナーは勤まらないが、たいていは身につくらしいのです。

コンセプトだけ突っ込んむのと、最終形をイメージする力には彼我の差があるかと思いますが、いっぱいのインプットとアウトプットが最終形を頭の中に描かせるなにかなのでしょうね。

なお、上記の言葉で本当に年長のグラフィックデザイナーの方がイメージした内容かどうかは、脳の中身を移してきたわけではないので、わかりません。私なりに考えて、私なりの語彙で表現しただけで、別の方には別の語彙や表現方法があるのでしょう。とはいえ、そんなに遠くない場所を突いている気はしているのですが。

本日のツッコミ(全2件) [ツッコミを入れる]

_ ss [私の知り合いのデザイナーの方も似たことおっしゃってました。 PCとか完成品のイメージとか。]

_ yabuki [なるほど、ほかのデザイナーの方もおっしゃってらっしゃいましたか。そのような思考方法されているのですね。]