classics.

2012/03/07 Wedflickr

今日の日記など

賞味期限切れそうになったり切れたりすると冷凍庫にぶち込んでしまうので、冷凍庫整理を始めた。食合せが悪くて少し気持ち悪くなった。また、来客時以外は食事や作業は机でいいやと思ったので、先日までこたつモードだったテーブルを部屋の端に立てかけた。あと押し入れの中の使わないカーバッテリーとか諸々整理したい。そんなこんなで我が家のフリースペースが6畳くらいになった。身辺整理ブームっぽいのに深い意味は無いです。

2012/03/05 Monflickr

日曜日の日記

image

特に理由もなく午前から街中に繰り出してやろうと思っていたのだけれど、午後に起きた。その後風呂入ったり一般人的な生活をしていたらポリスおじさんが定期訪問チェックですみたいな感じで来て、清廉潔白な身ではあるものの内心ビビりながら受け答えした。その後、雨降ってて外歩くのめんどうだけど社会的な生活を送っているアピールとして一応出かけておくかと思い、バス停で待っていたら乗用車に水たまりの水を思い切りはねられて、人生で初めて上半身にまでやられた。その乗用車はすぐ目の前て停まったので反省して土下座でもしてくれるのかと思ったら路駐してコンビニに入っていったので一般的な関西人ならば自動車を凹ますくらいのことはするのだろうけれど、最終的にポリス沙汰になって1時間くらいは消費しそうな気がしたのでさっさと帰宅して着替えて再出発した。水かけられるタイミングで飲酒イベントみたいのにお誘いいただいたので四条に行ってみたら、morygonzalez氏夫妻を囲む会みたいになっていたのでMEGAUPLOADステッカーなどを配布したりしつつ歓談した。知り合い度高かったので比較的よく喋った方だと思います。19時くらいに2件目に移動し、引き続きワインとかビールとかキメつつ21時頃までなんか話してた気がするけど概ね忘れました。帰りにうどん食べた気もするけど気のせいかもしれない。

2012/03/03 Satflickr

最近の作業日記

Bootstrap 使ってみた

http://twitter.github.com/bootstrap/
オレオレ Gyazo 管理ページとかオレオレ Twitter 検索とか自宅オーディオプレイヤー Web インターフェースの CSS を少しいじってみた。アイコンとボタン周り以外はもう既に満足していたので、0からコーディングするのとは違ってあまり使いまくりみたいにはならなかったけれど、勝手に角丸になったりしてそんなもんかという感じだった。

不要なスタイルシートを読み込んでるのはそんな遅くなるわけでもないのでいいのだけれど、Opera Dragonfly とか立ち上げてデバッグすると異常に CSS エラーが出てて重くなるのはめんどい。

Logpi IRC Gateway 作ってみた

キモトさんのGistみて、やりやすそうだったのでそれっぽく RSS パースしたりした。 pubDate のフォーマットが invalid だったので pubDate = Time.parse(pubDate).rfc2822 みたいなことやった以外は特に投稿機能とか付けてないので公開はせず。

自宅オーディオプレイヤー Web インターフェースからカバーアートをセットできるようにした

ID3タグにカバーアートの画像がなかったら再生中ファイルのあるディレクトリの ([fF]older|cover)\.jpg を探して、それでもなかったら Amazon で検索して商品画像を取得して folder.jpg に保存して、アルバムアートとして返すようにしたのと、画像の URL 投げたら取得して再生中の曲のあるディレクトリの folder.jpg に保存する API を追加した。これで再生中にカバーアートがセットされてなかったらサクっと Web からセットできる感じになった。Google Music だとカバーアートはローカルから参照して上げないといけないのが結構めんどい。

2012/03/02 Friflickr

HP dm1-4000 の Bluetooth 直った

bluetooth devices

よくわからないけれどデバイス削除したりペアリングしたりマウスの Bluetooth ボタン長押ししたりしてたら直った。危うく血迷ってまた MacBook Air 貯金でもはじめるところだったのでよかった。

追記

また前と同じ症状になった。また様子見。

2012/02/26 Sunflickr

Growl for Windows の履歴地獄を回避する

Growl for Windows 履歴地獄回避

Growl for Windows の 設定フォルダ内の History フォルダへの書き込み権限を自分から奪うと幸福実現できた。growlnotify 叩いてる分には特に問題は起きていない。便利。

追記

全く問題ないというわけでも無いですね( exit code とか違うかも)。

growlnotify

2012/02/26 Sunflickr

LimChat で Growl for Windows 再検討

やっぱマルチディスプレイにしていない状態での Windows で LimeChat のメッセージが強制的に視界に入らないのが不便なので、Growl for Windows 再検討した。問題としては、

  • growlnotify.exe を叩きまくると Growl for Windows がすぐ死ぬ
  • Growl for Windows に通知しすぎると Growl for Windows の履歴が多すぎて設定を開くのに時間がかかりまくる

というのがあった。前者は、Twitter のアイコンを毎回自分用のアイコンキャッシュサーバーにHTTPリクエストを投げて取得しているのが要因の一つと思ったので、キーワード通知以外の場合は LimeChat を Growl for Windows に登録して、アイコンは設定せずに通知するようにした。後者は、設定ファイル( Windows 7 だと C:\Users\{USERNAME}\AppData\Local\Growl\2.0.0.0\user.config あたり)の HistoryDaysToSave とか HistoryDays を 1 とかに設定しておくことで被害を最小に食い止めるようにしてみた。
(追記: 便利設定書いた http://oquno.com/log/eid2493.html )

LimeChatのマクロはこんな感じ( コマンドラインオプション )

"C:\Program Files (x86)\Growl for Windows\growlnotify.exe" /a:LimeChat /n:Default /t:"%n@%c" /cu:"http://{オレオレTwitter検索}/?q=from:%n+%m" /i:"http://{オレオレアイコンAPI}%n.png" "%m"

/i のアイコンオプションはキーワード通知の場合のみで、 /cu のコールバック URL オプションは URL エンコードしてないのでハッシュタグとかスラッシュが入るとまともに機能しないけれど、それなりに使える。直接 growlnotify を叩かずに何らかのスクリプトに投げてアイコンキャッシュ諸々の処理をさせるのもいいけれど、低スペックマシンへの負荷等を考慮してやめておいた。

2012/02/26 Sunflickr

こたつを片付けた

早朝思い立ってこたつ片付けたのだけれどこたつ布団干しておこうと思ったら雨降ってきてはめられた感じだった。テーブル形態よりもこたつ形態の方が6倍くらいの面積だったので、片付けると大分部屋がすっきりした。床掃除も楽になったので、汚かったわけでもないけどフローリングワイパーかけまくった。

2012/02/26 Sunflickr

インターホンが押されたのを音以外で notify したいメモ

ということでチャットとかしつつ検討した。ちなみにうちはマイクとかカメラとかなくて押したら音が鳴るだけのタイプです。

ヘッドホンしている状況では大体PC立ち上げているので、IRC か Growl で通知すればいい。インターホン押されたか程度の情報ならば Twitter に流しても自分は問題ないので、Twitter に投稿すれば IRC に流すのも Growl に通知するのもできる。Notify My Android にだけ通知するのは、秒単位で完全にリアルタイムに通知されるわけでもないのでよくない。

実装方法としては、

  1. どこでもドアホンを買って設置
  2. インターホンを改造
    1. インターホンのボタンの方を改造
    2. スピーカー側を改造
    3. スピーカー側に音量センサーとか組み合わせる

どこでもドアホン使うのはこんな感じで携帯電話にメール送信できるらしいので、携帯電話側で転送設定して、Gmail の XMPP とかでリアルタイムに通知できる。けど携帯電話まで含めると4万円くらいはかかる。ボタン側改造するのは、ボタンが押されたらXBeeとかで家の中の受信端末に通知するようなのが出来ればうまく行きそう。ただ、ボタン側は家の外なので、あまり見た目を変えたりするのはよくないので制限が大きい。スピーカー側を改造するのは、スピーカー側鳴らすための配線はどうせ単純だし簡単にハックできるだろうという予想で、Arduino あたりを組み合わせたり。スピーカー側に音量センサーとか組み合わせるのは、スピーカーの側に Arduino あたりで作った音量センサーを設置するというもの。もうちょっとプログラマブルなインターホンが出てくれるとうれしいですね。

2012/02/23 Thuflickr

たぽろだと Gumroad、どうして差がついたのか…慢心、環境の違い

みたいなことを書こうと思ったけど長くなりそうだったのでまじめに書くのをやめた。まとめると、Gumroad にはアイテム一覧が(表向きには)ないから使うのにどういうサービスなのか(違法なことに使われてるとか)判断できないのと、たぽろだのデザインが手抜きだったのと、仮想通貨が使われればいいのでスクリプトを配布したため中途半端にアップローダーが拡散したとかそんな感じですかね。モリタポか現金かというのは他ほど大きな要因ではないと思う。あとは Twitter とかで情報が拡散しやすい時代でどうこうとかもあるんでしょうかね。PANアップローダーβから7年後にあれではしゃぐのはないと思うけど。

2012/02/19 Sunflickr

Google Latitude の公開バッヂは JSON の隠し API があった

GOOGLE CODE , TIPS TRICKS and Hacks: Easier way to use Google Latitude API : Google Badge API

どうせ普通にスクレイピングしてるんだろと思って色々見てたら、JSONで取ってた。 type パラメータを json にするだけで取れたし、バッヂからスクレイピングした場合みたいなアイコン表示用の中心位置のズレがないっぽい。夜ピクでも使ってましたね。自分の場合だと http://www.google.com/latitude/apps/badge/api?user=4601680445375420648&type=json を GET すると

{
    "type": "FeatureCollection",
    "features":
    [
        {
            "type": "Feature",
            "geometry": {"type": "Point", "coordinates": [135.769316, 35.0294089]},
            "properties":
            {
                "id": "4601680445375420648",
                "accuracyInMeters": 849,
                "timeStamp": 1329661996,
                "reverseGeocode": "日本, 京都府京都市上京区",
                "photoUrl": "http://www.google.com/latitude/apps/badge/api?type=photo&photo=JB8WljUBAAA.4tZKCmm1Cd_CFPt0FEHt7A.joksABPdFATpX1-RYvIBSQ",
                "photoWidth": 96,
                "photoHeight": 96,
                "placardUrl": "http://www.google.com/latitude/apps/badge/api?type=photo_placard&photo=JB8WljUBAAA.4tZKCmm1Cd_CFPt0FEHt7A.joksABPdFATpX1-RYvIBSQ&moving=false&stale=true&lod=1&format=png",
                "placardWidth": 56,
                "placardHeight": 59
            }
        }
    ]
}

こんな感じの JSON が取れる。色々ツール書きなおすようにする。