たまに18歳未満の人や心臓の弱い人にはお勧めできない情報が含まれることもあるかもしれない、甘くなくて酸っぱくてしょっぱいチラシの裏。RSSによる簡単な更新情報を利用したりすると、ハッピーになるかも知れませんしそうでないかも知れません。
の動向はもえじら組ブログで。
宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能!
組長が書いている本に僕も書いてます、っていうかやっと今日書き上がりました。ここのところ全然寝れてなかったけど、これでやっとゆっくり寝れる。
僕の担当パートは例によってアドオンがらみで、FUELとPlacesとJavaScriptコードモジュールとMcCoyあたりについて出せる物をすべて出し尽くしました。というか出せる物以上を書かないといけなかったのでFirefox 3のコードを追いかけて調べながら書きました。ATOK X3買ったのもこれのため。最終的に書いた物はサンプルのソースコードも含めてテキストファイルで360KBくらい? UTF-8だから何文字とかちょっとわかんない……
書いた内容はどれもまあソースコードを順番に読んでいけば分かる事っちゃ分かる事ばかりなんですが、まとめのようなものという事でどうか許してください。オライリーから8月発売予定です。
会社のサイトのコンテンツが一新され、コンテンツにブログが加わりました。何をやってる会社なのか(何ができるのか)分からんと言われがちなようなので、みんながちまちまやってる内容をここに書いていって、「当社ではこういうことができます」的な宣伝材料にする、というのが一応の目的のようです。
で、自分もアドオン開発者向けの自動テストツールであるUxUの使い方の解説なんかを書いてみました。ツールの使い方というよりは、「はじめての自動テスト」みたいな感じになってしまってますが。自分自身がまだ自動テストのことをよく分かってなくて須藤さんとかにしょっちゅう「何考えてんだ(全然分かってねえな)……」的な指摘を受けてばかりなので、自分の理解レベルに合わせるとこんな感じになってしまいました。技術力とか実績とかのアピールの場のはずなのに、こんな低レベルな記事を載せてしまうと却って会社の印象に泥を塗ってしまうんじゃなかろうか、ということをamachangのエントリとか見て思いもしましたが、もう後の祭りです。
UxUのマニュアルのつもりで、またそのうちXUL/Migemoのテストでの利用例の解説の続きを書くかもしれません。
あと、サービス→Mozillaサポート 実績紹介→Thunderbird用アドオンと辿ったページでThunderbird用の地味なパッチもいくつか公開しています。中にはもしかしたら同種のアドオンがすでに世の中にある車輪の再発明な物もあるのかもしれませんが、探すより作った方が早かったんで……
ペイントツールSAIの解説本に4ページだけコラム書きましたので宣伝しておきます。5月30日発売。Amazonではタイトルがぶっ壊れてる(「SAIですぐできる!スーパーペ」)んですが、正式なタイトルを僕も聞いてないんでとりあえずこのままで(ぉぃ)。セブンアンドワイでは「SAIですぐデキる!スーパーペイントテク」とあるので、多分そういう名前。
内容としては、紙のマニュアルが無いSAIにとってのオフィシャル説明書的な立ち位置だそーです。台割を見た感じでは、ヘビーな使い方をしてる人のためのTips集というよりは、多分それ以前の、乗り換えたばかりとか2DCGを始めたばかりとかそういう人向けの、ツールの基本的な使い方の解説が多いんじゃないかと思います。
SAIコミュニティとあまり関わりがなくてしかも絵描き業でもない僕なんかが参加してるということで、内容に不安を持たれる人もいるかとは思いますが、僕以外の人は普通にちゃんとしたプロの絵描きの人達なのでその点は心配ないですハイ。
29日追記。画像は付いたのに書名が「SAIですぐできる!スーパーペ」のまま……これはもはや「スーパーペ」までで正式名と考えざるを得ませんね!(ぇー)
29日再追記。「SAIですぐできる!スーパーペイントテクニック」になってましたのでこれが正式名称ということでFA。
regression(後退バグ。修正のために加えた変更が原因で新たな問題が発生すること)のせいで体力・精神力を消耗する事が重なり、自動テストドリブンな開発の重要さを身に染みて感じた。プレゼンでも言ったけど、「やってりゃ良かった」と後悔してばかりだ。まさかこんなに手こずる羽目になるとは当初は思っていなかったから。
自動テストはregressionの発生を防ぐ(正確には、regressionを残したままでいることを防ぐ)素晴らしいメソッドだ。と今になって改めて思う。
でも、どんなコードでも機械的に自動テストにかけられるわけではない。機械的に自動テストを実施するには、自動テストを実行しやすい設計になっていなければならない。自動テストを実行しやすい設計とは、粒度が小さい=オブジェクトやらメソッドやらが可能な限り細かい単位で分割されている設計のこと。テスト対象となる部品自体が可能な限り自己完結していて、外部的な要素は必要に応じてすべてパラメータとして与えるようになっていること。横着して一つの関数内からグローバル変数やら何やらを参照しまくっていると、その関数のロジックそのものをテストすることができない。
そういうわけで、自動テストドリブンな開発には気を遣わなければならない。気を遣わないといけないから気力を消耗する。だから、せずに済むのなら、しないままでいたい。でも、そう考えているうちに「自動テストを作成する&テストを実施しやすい設計にするコスト」と「やっつけで作って、その都度メンテナンスするコスト」の関係が、「前者>後者」だったのがいつの間にか「前者<後者」に逆転してしまうようになっていて、メチャメチャ後悔することになる。
今まで自分のやってきたことは9割方、自動テスト無しでもどうにかやってこれていたし、そもそも、自動テストの重要性とそのための設計の指針が分かった今改めて見返してみても、自動テスト化することが困難な物が多かった、と思う。だから、自動テストを前提にしてコードを書くという習慣が身についていない。自動テストが最初から不可能な事が多かったから、自動テストのできない設計にするしかなかったから、自動テストのできない設計にすることが当たり前になってしまっている。
でもいい加減、その悪習を断ち切らなければならない。25歳ももうすぐ終わりの、四捨五入すれば三十路の、今更も今更で手遅れ感がとても強いけれども、やらなければいけない。今まで自分がやってきた方法は通用しないということを自覚しないといけない。できて当たり前の事が今まで全くできていなかったという事、本当はこの面子の中で飛び抜けて一番遅れているという事、それなのに対等であるように勘違いして思い上がっているという事、今まで他人事だと思ってた「ダメな人の典型」に自分がまったく当てはまっているという事、全部認めないといけない。
そういうわけでとりあえずUxUはマジオススメ。
見積もりって自分にとってはとてもストレスのかかる仕事の一つだ。必ず求められるし、でも要件もまだまとまってないうちから「どのくらいの時間がかかるか」なんて聞かれたって答えられないし、それでも答えなきゃいけないし、あまり時間を食いすぎる見積もりをすると「うわ、こんなにかかるの? どんだけ無能なんだこいつ」って思われそうだし、そう思われてしまったら肝心の仕事が取れないから収入ゼロになってしまうし。もちろん見積もりに比べて実際の作業が長くなれば自分で自分を「ああ何でこんなに時間かかってるんだ、これじゃ客にも会社にも損害を与えるばっかりじゃないか」とか責めるようになるし。
でも自分が発注する側になったらきっとやっぱりとにかく見積もりをしてくれって言いたくなるだろうなとも思う。百円とか千円とかならいいけど、額が大きくなればなるほど、丸々無駄になった時のダメージは大きいし。慎重にならずにはいられない。初めて仕事を頼む相手であればなおのこと。
仕事用マシンにしてたLet's note W2のHDDがハードウェア的にいかれてしまったらしい、ということで新マシンを買ってもらえました。Let's note W7です。Windows Vistaがプリインストールされてるんだけど、例によってLinux環境が必要なのでUbuntu 7.10 Gutsy Gibbonを入れました。
以下、詰まったところと設定。
Section "Module" Load "xgl" Load "dri" EndSection
#!/bin/sh
minimum=5
display='-display :0.0'
arg=`echo $1 | sed -r -e 's/([+-])([^ ])/\1 \2/'`
echo 'from' `xbacklight -get $display`
current=`xbacklight -get $display | sed -r -e 's/..+$//'`
new=`expr $current $arg`
if [ `expr $new \< $minimum` = '1' ]; then new=$minimum; fi
xbacklight -set $new $display
echo 'to' `xbacklight -get $display`
大体こんなところだろうか? あとは今まで使ってたソフトの類が全部入れ直しなので、設定がどうしようもなくめんどいです……
あと、これを機にThunderbirdをメインのメールソフトとして使い始めてみたんだけど、メールからフィルタを自動作成できないとか、フィルタを設定する時に移動先フォルダを先に作っておかないと選択できない(移動先フォルダをその場で新規作成できない)とか、いちいち細かいところで痒いところに手が届かなくてムキーとなる。Sylpheedはその辺よかったんだけどなぁ……って、自分でガンガン要望を挙げてそうしてもらったから当たり前なんだけど。あとスレッド表示を有効にすると他のカラムでソートできなくなるというのは致命的。アドオンでどうにかなるんだろうか?
普通に仕事で取引先に打ち合わせに行ったのですが、先方に「もえじら組買いにいきます」と言われてしまいました。
ちょwwwwwwwwwwwwwwwwwwwww
緑のgoo版Firefoxが今日公開されました。緑のgooは収益の15%が環境保護団体に寄付されるという検索サービスで、緑のFirefoxを使うと普通に検索してるだけで環境保護に貢献できるYO、という物です。
詳しくは配布ページなりITmediaやCNET JapanやINTERNET Watchの記事なりに書いてありますが、要するに、デフォルトの検索エンジンが緑のgooになってて、緑のgooで検索した回数がツールバー上の「gooの木」ボタンに(gooの木の本数換算(検索100回=gooの木一本)で)出て、おまけに緑のgooっぽいテーマが適用されてる、というFirefoxです。導入済みのFirefoxに全く同じ機能を追加するアドオンも同時に公開されてます。
まあぶっちゃけ、タブが使いやすくなるとかそういう系の実用的なメリットは特に無いっちゃあ無いんですが、損したり面倒な手間をかけたりしないでも普通に検索するだけで環境保護にチョコっと貢献できる、社会的なメリットがあるアドオンというのは珍しいんではないでしょうか。緑のgooのWeb検索のバックエンドはGoogleなので普段ググりまくりの人にも特にデメリットは無いし。ということで僕も今のところデフォルトの検索エンジンは緑のgooにしてます。
なお、他の検索エンジンと併用するためにセカンドサーチも入れておくとより一層便利でしょう(宣伝)。
デスクトップ百景 第四十五景:カスタマイズしなきゃ気がすまない? 超・自分本位のデスクトップ……ということでBBWatchでデスクトップ晒してます。ハテナオヤ氏とか 碇シンジでおなじみの緒方恵美さんとかのビッグネームが並んでる中にぽつんとただのヲタが紛れ込んでて「だれやねん」という感じですが、石は投げないでください。
なお、LR-Menuのスクリーンショットでフォルダのショートカットがメニューにたくさん表示されていますが、これは、特定のフォルダをルートにしてエクスプローラを起動するようにしたショートカット群です。explorer.exeへのショートカットを作成して explorer.exe /e,/root,"C:\Documents and Settings\username\Application Data\Mozilla\Firefox\Profiles"
のようにリンク先を指定するだけで作れます。オプションの詳しい解説はMSのナレッジベースを参照してください。
Firefoxのオートコンプリートでブックマークの内容を表示するコンポーネントの実装を見て、僕が一日に書けるコードはちょうどこのくらいです
と書いてあるのを見て軽く目眩がした。こんなに書けねぇー。やっぱり僕はどこまでいっても所詮は日曜大工プログラマに過ぎないんだなあ、本職の人には敵わんのだなあ、ということを痛感した。
でも今度から新しく開発案件に関わる予定なんだよね……「就職」してから3年目にして、ひょっとしたらこれが初めてか。「使えねえ新人」よりタチの悪い「使えねえ老害」になりそうで怖い。……いや、その心配はないな。なぜなら、僕より後に入ってきた人がいないから(ぉぃ)