ページ

2013年12月20日

Mint Linux 16 petryをインストールしてやったこと

僕はUbuntuのデスクトップの雰囲気が好きになれなくて、でもubuntuのように簡単に色々やりたいのでmint linux使っています。もうすぐ、親会社で働くことになったので、そこのPCにMint Linuxの最新版を入れました。アリエルだと一つ古いバージョンを使い続けています。基本的にubuntuの13.10と同じです。日本語remixは使っていません。

Mint Linuxをインストール後、次のコマンドでフォルダ名を日本語から英語に。ターミナルで操作するときに日本語だとめんどいから。全部、英語でもいいんだけど、そこは気分です。

$ LANG=C xdg-user-dirs-gtk-update

それから、設定の言語設定から、よくわからないものが勝手にセットアップします。
次にmazcのセットアップ。
$ sudo apt-get install ibus-mozc mozc-utils-gui ibus-gtk ibus-gtk3

mozc-utils-guiを明示的に入れないと、mozcの設定画面が開きません。ibus-gtkとibus-gtk3を入れてあげないと、変換ウィンドウが変な位置に表示されます。必要なヒトはibus-qt4も入れてください。設定の入力メソッドを起動すると、ibusを使うように設定されるらしい。その後、ibus-setupを起動して、好きなように設定。

あとはフォントでrictyを追加で入れています。

あんまりこった使い方はしないので、このぐらいで十分かな。

2013年11月22日

Fuelband SEがやってきた

アリエルにも健康ブームがやって来ています。まあ、人間、やることがないと健康とか美容にはしるのかも知れません。そんなこんなで、今話題のNike+ Fuelband SEがやって来ました。いや〜、買おうと思ったときは在庫切れで12月まで手に入らないんじゃないかと思っていましたが、割と潤沢。

 佐川急便が運んできました。えー、色は黄色いやつです。サイズはM/Lです。僕にはぴったしのサイズでした。手首は細いので・・・。

箱、小さいです。
あけると、こんな感じ。
まあ、シンプルです。説明書はいろんな言語で書いてあって、すぐに日本語が見当たりません。まあ、セットアップが終わって充電を始めてから日本語のページを発見。
最初から充電しておいてくれればいいのに・・・。セットアップはすぐに終わりますが、充電は長い・・・。

セットアップが終わらんとか、iPhoneのアプリと連携できないとか、きな臭い噂がありましたが、別段、不具合にあうこともなく、ちゃんと使えているっぽい。

Nike+ Moveの人とは闘えないっぽいので、それは残念です。もし、Fuelband盛っている人がいたら友達になってほしい今日この頃。

2013年9月16日

websocket-client 0.12.0がリリースされている

放置して何もしないでおこうと思っているのに、バグ報告は来るし、websocketのフラグメンテーションはサポートしていないのはどういうこっちゃ!、って外人におこられるし。フラグメンテーションは放置していたらテストコードだけ送られてくるし、僕は欲しいのは実装の方なのに…。で、気になって調べたら、フラグメンテーションは僕が昔スペックを読んだときのものと変わっているし…。

ということで、いろいろ直した0.12.0がリリースされました。pypiからいんすとーるできますです。
まあ、ほとんどがバグフィックスです。ちょっと大きめな変更は、timeoutはWebSocketTimeoutExceptionを投げるようにしました。2系のPythonでSSLを使っているとssl.SSLErrorがtimeoutの時に投げられるんですが、これがいろんなエラーとごっちゃになっていて、messageでtimeoutかどうか判別しないといけない。で、ssl使わないとsocket.timeoutが飛んできて残念な気持ちになるらしいということでした。Python3は3.2ぐらいからすべてのsocket.timeoutに統一されているので、あんまり気にしなくてもいいらしい。互換性のために2系には入れないって書いてあった気がする。

あとは最初にあったフラグメンテーションをサポートしました。opcodeがTEXTとかBINARYとかCLOSEとかPING/PONGとかにCONTが追加されていた。ということです。

それ以外の大きなところでは、timeoutしたときにその後はcloseしないとオブジェクトの状態が変になっていたのですが、timeoutしてもそのままrecvとかすれば処理を継続できるようになりました。

あとは、python3でのバグフィックスがいくつか。ぼくはまだ、ほとんどpython3使っていないです。

そんな感じ。

2013年5月23日

websocket-clientの0.11.0がリリースされた

と言うことです。先日来たVに「いつまであんなもん、メンテナンスしてるんだ?暇人め」と言われたような気もしますが、気にしません。そう言えば、雑談ばかりでやつは何しに来たんだ? と言うことはいいとして、Pythonのwebsocket-clientの0.11.0(python2.7, python3.3)をリリースしました。この人は、もともとはWebsocketのプロトコルの勉強のために作ったので、メンテナンスするつもりはありませんでした。なので、メンテナンスした人にはプレゼントします。spdyも何かやろうかとドキュメントを少し読んだのですが、control frameあたりで飽きちゃいました。

websocketとspdyだと、どちらかがあればいいように感じて、spdyの方が明るい未来を提供しているような気がします。いや、そんな話はこのタイトルで書いちゃいけない・・・。
Websocketはすばらしいので、このwebsocket-clientも使ってください。使い慣れた同期通信でコードが書けるのはちょっとしたものを作るときには楽だって偉い人が言っていました。一応、Python2.7と3.3では動作確認していますです。他はしりません。

変更点は、


  • close処理したときのログ出力が変わったこと
  • originヘッダーが不正になるケースの修正
  • filenoのサポート
filenoは僕はなぜ欲しいのか、よく分かりません。そんな感じです。

でわでわ



2013年4月17日

iMacが壊れて直ったでござる

先週の金曜日にiMacが壊れました。悲しいです。スリープから復帰しようとしたら、起きてくれません。再起動すると、起動してくれません。リンゴが出現してくるくるが動きます。そのあと、プログレスバーみたいなのがでて途中で電源が落ちます。

僕のiMacは2010年の夏のモデルです。このモデル、ハードディスクがリコール対象なんですね。かなり前から知っていました。でも、めんどくさいし、iMacの次のモデルがでたら買い替えてたくて、そのための正当な理由はハードが壊れることです。それに、リコール対象とはいってもそんなに壊れることはないだろうと思っていました。もしくは、あと半年ぐらいは大丈夫だろうと。でも、でも、でも、ハードディスク壊れちゃいました。

まあ、数ヶ月前ぐらいからスリープの後、うまく復帰できないことがたびたびあったんですが、ひょっとしたらそれが前兆だったのかもしれません。ちなみに、リコール対象ということもあって、ちゃんとTimeCapsuleにバックアップはとってありましたとも。

ということで、初めてAppleのサポートに電話しました。いやいや、Webから申し込むと、向こうから電話がかかってきました。最初は男の人からかかってきたのですが、僕の操作ミスで電話をきっちゃいました。もう一度申し込むと、今度はおねーさんが電話をかけてきました。よかったよかった。
で、シリアル番号を教えてくれ、っていわれたんですが、そんなもの、起動できないのでわからない、って答えると、iMacの底に書いてあるって。iMacを裏返すと、シリアル番号が書いていました。しかし、小さい。読むのが大変。こんな見えないところに書いてあるんだから、もっと大きく書けばいいのに。このこだわりはわかりません。ちなみに、iMacは片手で持てます。モバイルマシンです。iMacのキャリーケースも売られているぐらい、モバイルです。

で、いろいろお話ししてとりあえず、ハードディスクは交換しようということになりました。翌日の土曜日の夜、黒猫さんが専用の箱を持ってきてとりにきてくれました。いつも来る黒猫さんの人で、重いですね、壊れちゃったんですよ、わはは、とお話しながら梱包されて運ばれていきました。
戻ってくるまで4、5日かかるって言われていたので、次はまたiMacを買うかMacBook Proでならどのスペックで買うかって妄想しながら待っていたら、月曜の夜に戻ってきちゃいました。48時間ぐらいですね。はやっ。妄想モードは終わらされてしまいました。

戻ってきたiMacはホコリもなくきれいでした。液晶もきれいに拭かれていていました。ハードディスクにはクリーンなMountain Lionのインストール直後の状態でした。

ということで、バックアップデータからの復旧とか、アプリのインストールとかが始まるのでした。

まあ、直ってよかった。まだまだ、現役で使えそうでちょっと悲しいかもです。

2013年3月30日

狭い世界でPython3

Python3って、自分の周りでどれくらい使われているんだろう? と言うことで、細々とメンテナンスしているWebsocketのライブラリをPython3でも動くようにパッケージングしてpypiにのせています。ちなみに、一つのパッケージでsetup.pyでパッチをあてて動くようにしようと思っていたんですが、結局パッケージを分けてしまいました。ちなみに、会社のPythonはまだ2.7で、さらに悲しいことに古くて腐ったOSでも標準の状態で動くように2.4で動作確認しています。

さて、pypiにあげたパッケージのダウンロード数ですが、公開して一週間ぐらいで2.x用のパッケージが276です。さて、3.3用のパッケージですが、こちらは、ダウンロード数が92です。2.x用の方が3.3より3倍多く使われていますね。3.xを使わなくてももうしばらくは安心していられます。良かった良かった。

ちなみに、Websocketの仕様書、差分をみるのがめんどくさくって最近読んでいませんが、どうなっているんだろう?

2013年3月13日

炎のKindleがやってきた

先日、と言うか、月曜日に注文した炎のKindleがやって来ました。やって来たのは火曜ですが…。本当は8.9インチのほうが欲しかったのですが、おもちゃに2万5千円は高すぎます。そもそも、Androidとか嫌いだし…。

と言うことで、パッケージはシンプルで小さいです。真っ黒の箱でAppleとは違って暗黒世界をイメージします。
箱から出てきたKindle Fire HD。真っ黒です。サイズは大体想像通りだったのですが、思ったより重いです。

炎のKindleは画面がきれいらしいし、左右にスピーカーがあってそこそこの音がでるらしいです。なので、安価なマルチメディア端末としていいかも。

多分、僕はKindleで本は買わない…
とりあえず、火を入れます。電源ボタンの位置が分からずちょっと右往左往しました。
iPad miniたんと並べてみると、一回り小さいです。まあ、僕はiPad miniたんのほうが好きですが…。

使ってみると、Androidっぽくないです。慣れれば使いやすいのかも知れませんが、iPadでもAndroidでもないUIはちょっと戸惑います。うーん、Kindleの延長線上みたいな感じ。


前評判通りPlayストアは使えません。Amazonのストアは…。Huluがない…。この端末、Huluを見るのが理由の一つです。でも、悲しいことにAmazonのストアにはHuluはいません。Twonky Beamはいるので将来の利用用途には大丈夫ですが、当面Huluがいないのは残念ですね。

と言うことで、Huluをインストールしました。ESファイルエクスプローラとHuluを別のAndroid端末に入れて、ESファイルエクスプローラでHuluのアプリをapkとしてバックアップします。バックアップしたものをメールで送ってKindle Fire HDにインストール。めでたしめでたし。って、これじゃ自動でアップデートしてくれないのでめんどいじゃないですか! Amazonのストアに早くHuluが来てください。

2013年2月27日

Sencha Touchパーフェクトガイドの「はじめに」の正誤表

HTML5モバイルアプリケーションフレームワーク Sencha Touchパーフェクトガイド 」(タイトル長!)が今日から発売ですね。今の時点ではまだ、Amazonのページに表紙の画像がありません。悲しいですね。(<= 表紙表示されるようになりました。いいですね)本の中身の紹介は他の人がやってくれているので、「はじめに」のところの正誤をこっそりと…。

「はじめに」は川野さんが書いていますが、記憶は美化されるものです。そして、彼の書いた「Sencha Touchとの出会い」はウソです。これが「本当のSencha Touchとの出会い」です。

まず、自社製品でSencha Touchの採用を決めた背景ですが、当時はモバイルWebアプリを開発するときのフレームワークは、実質、jQuery MobileとjQTouchの後継のSencha Touchしかありませんでした。自分たちでフレームワークを作るつもりはなかったので、実質この二択です。jQuery Mobileはちょっと方向性が違う、って考えていて、すでにあるものをモバイルに対応させようと思ったらjQuery Mobileを採用していたと思います。でも、今回はスクラッチから開発するのでSencha Touchという理由です。それ以外の理由は後付けです。Sencha Touchを採用すると決めたときから、本を書くことは視野に入っていました。

ブログを彼が書くきっかけですが、本の中では自発的に書いていることになっています。これ、ウソです。当時は、かれは別の部署だったのですが、ブログを定期的に書くことを条件にSencha Touchでの開発に加わります。で、定期的に書くという条件をかれは、2回か3回書けばいい、と自分の中で勝手に解釈してしまいます。2回か3回書いたあたりから更新がありません。「とてもよく書けているから」とか、「毎週書くって約束だったでしょ」とか、いろいろ言うのは疲れました。それから、「とてもよく書けているから」って言うのは、実は僕はあまりちゃんと読んでいませんでした。ごめんなさい。
それから、「本を出せるから」って冗談で言ったことはありません。すべて計画のうちです。

執筆状況の話とか、もっと面白いのですが、それは秘密です。

最後に、Amazonで買うときは、「この商品を買った人はこんな商品も買っています」にある腹筋コロコロも一緒に買うといいですよ。みんな一緒に買っています。

2013年2月22日

websocket-cleintがPython3.3で動く

パーフェクトPython」の執筆者の一人がPython3を日常的に触っていないのはいかがなものか、と言うおしかりを受けて、webscoket-clientがPython3.3で動くようになりました。現状はまだ、ブランチを直接チェックアウトして動かす必要があります。

作業時間は、大体、数時間程度です。2to3で変換をかけた後にちまちま直していきました。

Cで育った世代としては、文字列はバイト列で十分じゃね?と思ってしまいますが、時代はウニコードなので、仕方ないですね。と言うことで、ネットワークでやりとりするのがすべてバイト列になって必要に応じて文字列に変換するのは、以外とめんどいですね。

それ以外は特に困ったこともなかったはずです。

さて、動くようにしたのはいいけど、この後どうすればいいんでしょう? PyPIにあげるときにwebsocket-client-py3みたいにもう一個、別個に作るのがいいのか、同じ名前のままsetup.pyでpythonのバージョンをみて、コードにパッチを当ててインストールさせるのがいいのか? うーん、どうしよう。

2013年2月19日

websocket-client 0.9.0

会社も虎ノ門に引っ越したことだし、立て続けにパッチが二つ来たので、websocket-clientの0.9.0をリリースしました。普通にpip install websocket-client でインストールできるはずです。

変更点は

  • originを変更できるようになった
  • WebsocketApp.sendでopcodeを設定できるようになった
このうち、sendメソッドで何故opcodeを指定出来るようにしておかなかったかはよく分かりません。なんか、忘れていたんだと思います。

それはそれとして、パーフェクトPython がもうすぐ出るので、そろそろwebsocket-clientもPython3に対応する頃です。著者の一人が自分の作ったものをPython3にまだ対応していないなんて、詐欺みたいなものじゃないですか。

一つだけいいわけすると、Python3に対応させようと思ったら、HTML5モバイルアプリケーションフレームワーク Sencha Touchパーフェクトガイド がちょっと大変なことになりそうだったので、そっちの方に時間をとられちゃったんです。全部、Senchaが悪いんです。なので、パーフェクトPythonを買う人はSenchaのパーフェクトガイドも買ってください。同じようにパーフェクトってついているのは、きっと偶然です。

2013年1月31日

Sublime Text3 Betaを入れてみた

Sublime Text 3 Betaが出たらしいので、インストールしてみました。Sublime Text2のライセンスキーがないと、インストールしてもおさわりさせまへん、と言うことで、ライセンスキーを入れさせられます。ちょっと残念ですね。Sublime Text 2をベータのまま使い続けている人が多いんでしょうか?

Sublime Text3はバージョンアップにもお金を取るらしいです。30ドルってことで、今だと2700円ぐらいでしょうか? 円高に戻って欲しいです。と言うか、そもそも、高!

Package Controlはすでに3に対応しているらしいです。これはちょっと心強いですね。でも、実際に入れたいパッケージが対応していないと意味がありません。その辺はどうなっているんでしょうね。きっと、正式リリースまでには対応しているんでしょう。

さて、何が変わったのかよく分からないですが、Gotoなんとかは先ほどのブログでも言っているように強化されているっぽいです。プロジェクト内の全てのファイルからシンボルを抽出してジャンプできると言うことで、使ってみると、一番上の階層のシンボルは一覧されますが、その下のシンボルはダメです。ちょっと悲しいですね。たとえば、Hogeってクラスは一覧の中に出てきますが、Hogeクラスのfugaメソッドは一覧されません。ちょっと残念ですね。
Goto Definitionって言ってメソッドなどの定義位置にジャンプする機能も追加されています。意外と使えそうです。

あと、buildと言うのが追加されています。AntとかPythonのビルドシステムと連携できるらしいです。よく分からないですが、Pythonのプロジェクトでビルドするとテストコードが実行されました。antとかだと、ちゃんとビルドしてくれそうな気もしますが、オプションは設定できるんでしょうか?ビルドもオプション違いで複数実行できるといいんですけどね。まあ、今まで通り、横にターミナルを開いてそこでごにょごにょやってそうな気もしますが。

2013年1月23日

アリエル公認体重計

アリエルは今、健康診断の季節です。この季節になると不健康な足の引っ張り合いがかつての井上CTOによって引き起こされていました。今年はそんな足の引っ張り合いはないはず…。そして、何故かプチ健康ブームが発生しています。

まずは、アリエルの公認体重計。井上さんもオススメです。まあ、僕が説明して「いいですね」と言わせただけなんですが…。それがこれ。

まず、これ、体重とか体脂肪だけじゃなくって骨格筋の量も量ってくれます。PCにデータを転送できるものもありますが、これはそれがありません。それが唯一の弱点ですが、僕はそこまで管理しないのでいいです。
体重計でのるだけで体脂肪率や骨格筋を測れるものもありますが、これは腕に持って腕と足で計るやつです。めんどいけど、こっちの方が正確そうなので…

とりあえず、体脂肪率は標準の値を示しました。骨格筋の量は、ちょっと低いらしいです。で、部位別にそれらの値が出るんですが、足の骨格筋の量が低めらしい。うーん、足を鍛えろと言うことか?子供を背負ってスクワットしているんだけどな…

ちなみにこの体重計によると、体年齢は31才らしい