電子工作事始め

ブレッドボード上のUSB-シリアルコンバータ

電子工作はじめました、というか、かじりました。ブレッドボードの使い方を教えてもらいながら回路図の通りに差し込んだだけです。そして、これまた初めての C# でちょろっとコード書いたら、 Ad[es] で LED と USB 扇風機をコントロールするという非常に滑稽なガジェットができました。ドキュメント読まなくても、何となく、でコードが書けちゃう C# は異常。

日記、書きかけで間違って消しちゃったのでここまで。
風邪ひいた翌日に、午前2時出発で日帰り日光とか行ったりしてました。ひとまず元気です。

光がやってきた

ようやくBフレッツが開通。長かった…

ひとまず、ルータがないので滋賀に住んでた頃に立ててた自宅鯖を復旧。もともとルータを兼ねていたので、ちょこっと設定を書き直して無事接続完了。無事とはいっても、 HDD (Barracuda 7200.7 の 80 GB) がちょっと変になってたり、がんばってリカバリーしたのに色々間違って飛ばしちゃったり、散々だったけど。ヒューマンエラー怖い。関係ないけど、 HDD からデータを吸い上げるのに使った dd_rescue + dd_rhelp が素敵でした。

というわけで上りの速度をテストしようと、家鯖にある適当なファイルを会社から wget してみる。

% wget http://***/test.zip -O /dev/null
--17:56:54--  http://***/test.zip
           => `/dev/null'
*** をDNSに問いあわせています... ***
***|***|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 48,161,591 (46M) [application/zip]

100%[====================================>] 48,161,591    11.13M/s    ETA 00:00

17:56:58 (11.09 MB/s) - `/dev/null' を保存しました [48161591/48161591]

一発で 88 Mbps. 速いな…

しかし OCN なので上り 30GB/day まで、という制約が。でもまあ、しばらくはそんな予定もないから、大丈夫かな。

Windows Mobile におけるフォントキャッシュ

QwicTwit の動画を公開した後、ちまちまいじっていたら、特に変なことをした覚えもないのにスクロールが遅くなってしまって立ち往生。原因を探るべく、色々試してた。

  • プロファイリングしてみよう、と思ったら Windows Mobile な DLL プロジェクトに使えるよさげなプロファイラが見つからなくて断念。
  • 仕方がないので、描画周りで手動で GetTickCount() を埋め込みまくってログ吐かせてみるも、 DrawText() が遅いという何の参考にもならない予想通りの結論に。
  • でも文字描画周りは触ってないしなあ。
  • フォントキャッシュ周りの値を変更しても大差ないし…
  • あれ、前のバージョンに戻しても遅い… 環境がマズいかも!
  • と、フォーマットまでしたのにやっぱり遅い。
  • うーん、あの動きは幻覚だったのか…
  • でも動画という証拠が残っていて俺涙目

単純に BitBlt() でスクロールできてしまえば速いけど、背景画像があるからそうもいかない。じゃあ思い切って、オフスクリーンサーフェス + マスクでスプライト作戦か! とか思い立つも、夢のテクノロジー ClearType の前に打ちひしがれる。いや、さすがにここで RGBA のアルファブレンド書くのは違うだろー…とか考えつつ cairo のコードを眺めてみたりもした。さてどうしたものか。結局詰まってしまって何も進まない。

で、今日も今日とて色々試していたわけです。

HKLM\System\GDI\Glyphcache\limit の値をデフォルト (0x400) に戻して、やっぱりデフォルトは遅いんだなぁと実感した後、適当に 128KB とか 1MB とか変えてみたら、どういうわけかキャッシュの効果が頭打ちになる。といっても、キャッシュサイズが巨大すぎて逆に遅くなったりしている、というわけでもなさそう。あと、同じ文字が一画面に多数出てくるような状態だとやたら高速。あれれ、キャッシュの効き方が偏ってる? どんな実装だよ。とか思いつつ MSDN を漁りながらあることに気がついた。

フォントキャッシュは、 DeleteObject(HFONT) した時点で削除される。

毎回律儀にフォントの取得 & 解放してたのをやめたら一気に爆速になって愕然とした。うおー、そんなことどこにも書いてないじゃないか! EUDC (ユーザ定義文字) 周りのドキュメント にちょこっとそれらしいことが書いてるけど直接関係ないし。というか、如何に DrawText() を高速にするか、あるいは呼び出しを減らすか、という点ばかり注視してたので、そもそもフォントキャッシュが効いていなかったなんて予想もしなかった。フォントの取得や解放自体に時間が掛かるわけじゃないから、なおさら気づきにくい。

というわけで、この 3 週間くらい (気が向いた時だけ) 悩んでた問題が解決したので、ようやく前進できそうな感じ。でも結局、動画の時の速さの要因は謎のまま。もちろん動画よりも今の方が速いんだけど、あれは何だったんだろう。

実家

桜島フェリーから

つーわけで水曜日より実家に戻ってきております。
あと、ちゃーりーが一緒に遊びに来てました。

嘉例川駅、霧島神宮、城山、仙厳園、桜島、マグマ温泉、天文館(で白熊)、唐船峡(でそうめん流し)、砂蒸し温泉、などなど。それなりに満喫してったんじゃないかと思います。てか詰め込みまくりです。

城山の猫

あと 2 週間前に RICOH の GX200 を買っちゃったりしました。
まだうまいこと使いこなせてません。

QuicTwit

頻繁に見る情報は、待ち受け画面に置きたいですよね。
というわけで、 Twitter のクライアントを書いてたりします。

つくりかけのものでも動画で公開できるって、いい時代だなぁ。
(でも作ってるものは、 DrawText や BitBlt なんてレガシーな Win32 コードの嵐です。まあ仕方ないか・・・。)

BGMは、流行の DS-10 ででっち上げました。っても DS 持ってないので、借り物です。

自分の部屋を整理できるのは自分だけ

あれよあれよという間に、もう 8 月も中盤。

ちょっとゆっくりしすぎた。
手を動かさないと。

NOW UPDATING…

というわけで、先週の土曜日は、会社の先輩と NOW UPDATING… を見に銀座に行ったりしてました。見たことあったのも多かったけどステキでした。ただ機材が若干トラブってたりして、ちょっと残念。一方で、ああこう動かしてるんだろうなぁ、とか勘ぐったりできたので、それはそれで。

QuicToday #5

http://wiki.nothing.sh/1405.html

UI ちょこっと改善、程度のしょうもない更新ですが、とりあえず output.
見えないところで細々と変わってたりします。

むしろ、 PukiWiki の添付ファイルを IE Mobile でも正しくダウンロードできるように地味にスクリプトとか書いたり、説明ページの文言書いたりにそこそこ時間掛かってる気がしなくもない。

近況

先週は、京都→大阪→兵庫→滋賀に行ったりしました。主にラーメン食べたり変な写真とか撮って満足。何をやってるんだ。

最近、職場で先輩から HHK Lite2 (英語配列, 黒) を戴いたので、使ってみてるんですが、なかなか慣れませぬ。英語配列覚えてないわけじゃないですけど、頭の中で一瞬ラグってしまうのでなかなか速度が出ない。慣れたら強くなれるかしら。

あと最近、携帯の目覚まし設定ぐらいなら目をつぶったままでもできることに気づいた。ユーザインタフェースとは斯くあるべきものなのだろうか。うーむ・・・。

あ、土曜日は 勘違い系CDJ 39th @ Triangle, OSAKA がありまする。今回(も)私は出ないんですけども、近くて暇な人は遊びに来てくだされ。ちなみに、まだ行けるかどうかも未定な感じです。

Traktor 3.4 public beta

Traktor 3.4 public beta

http://www.native-instruments.com/forum_de/showthread.php?t=50970

(やっと) Unicode サポートきたこれ!ちゃんと日本語も表示できる!タグ壊れない!

—-

追記

Beta 2 までの public beta は 7/15 に期限切れになっています。 (Test period expired! と表示されて起動しなくなります。)
本当は 15 日までに正式リリース予定のはずだったみたいなんですが、延びているようで、現在機能修正と試用期間が 8/15 まで延長されたbeta 3 が公開されています

iPhone

7/11に発売なのはいいんですが
SDK が Mac 上でしか動かないという事実に
今更途方に暮れております。

で、最近ひょんなことから海外版 iPhone を借りたので、いろいろ試してました。
以下メモから抜粋。

・基本的には操作体系が統一されていて素敵

・予想通り片手での操作は全然考慮されてない
 - 満員電車でブラウズとか、運転中に選曲とか全然できない
 - なんだかんだでスクロールが面倒
 - 前の画面に戻るためのボタンは、常に画面の左上にあるので指が届かない
 - あと地味に寝転がって操作するのも難易度高い
 - ポケットの中に入れたまま操作ができないのは(音楽プレーヤとして)地味に辛い
・というかいろんな面で割り切られてる
 - 複数タスクを並列するような用途(Web調べながらメモ書く、とか)も切られてる
  - そもそも Copy & Paste とかもない
  - ただし URL をメールで送信する機能はある
・横画面でのキー入力は、慣れればそれなりに高速にできるかも(画面狭いけど・・・)
 - でもやっぱりタッチパネルなので、連打は辛すぎる
  (1回入力するごとに確実に指を離さなきゃいけない)

・基本的に無意味な画面がない(能動的な操作が前提)
 - 携帯でいう待受画面とか、 OSX の Dashboard 的なものがない
 - Wallpaper にあまり意味がない (iPod 再生中 はカバー画像になるし)

・サイレントモード切替が物理的なスイッチなのはいい感じ
 - カメラも無音に! でもさすがに日本じゃ変更されるだろうけど…
 - サイレントにしても iPod の曲は鳴っちゃう…

・それなりに細かい気配り
 - サイドのボリュームキーの割り当てが動的に変わったり
 - 画面消えてる状態でのボタンダブルクリックで、再生中の曲操作ができたり
 - 再生中のダブルクリックはデフォルトをオーバーライドして iPod にできたり

・ネットワーク接続処理を透過的に処理している
 - 操作なしに自動で無線デバイスが on/off され、 AP を見つけて接続。切り替えも高速。

新しいデバイスとして触れるならいいと思うけど、
メールや電車通勤中のブラウズが主な「ケータイ」ユーザには全然向かない

・電話機能もモジュール化されてる印象
・そうか、海外の携帯はふつー Email は無いのか(MMS は?)
・スピーカ内蔵 iPod は素敵
 - イヤホン抜けたまま再生始めちゃうと慌てちゃうけど

・いくら見た目をよくしても Safari の檻の中じゃ限界