2006-06-01
● [酒] つばめKITCHEN (丸の内)
たまには弟とメシでも、ということで丸の内へ繰り出す。なんとなくオアゾで落ち着いてしまった。
肉が食いたいという弟の意見でつばめKITCHENへ入る。まぁそんなに目新しくもないし、そこまでお洒落じゃない。でも落ち着いてビールをぐいぐい飲むにはいいかもしれない。ビールのジョッキが陶器で出てきます。ハンバーグステーキとパンとビールで小一時間、二人で5400円ほど。あぁ、大ジョッキの生ビール1155円もしたのね。
2006-06-02
● [酒] 銀座ファゼンダ (銀座)
課で社長表彰二つと次長表彰一つあわせて三つの表彰を頂いたので、その祝賀パーティ。まぁ入社した4月にはその仕事が一通り終わっていたということもあり、表彰を受けるような仕事自体には何も参加していませんが、この勢いはぜひお借りして頑張りたいものです。
それにしても、あぁいうパーティスペースじゃないと100人弱の課全体が入らないのはわかるけど、1人あたり5000円はちょっと高いなぁ。ビールと軽い食事くらいしかなかったのに。財布が痛い。
入社時の面接官だった別の課の課長と同席して、面接時の素直な感想とかを頂く。この場でフィードバックされるとは思わなくてちょっと動揺した。ネットでフリーウェアがどうこう、とかいう話があったのでそのあとこのサイトもチェックされたらしい。よくそれで採用する気になったな。あと、部長がわりと気さくな人で安心。
2006-06-03
● [雑記] 英文表記
ふと名刺の裏を見て、「情報通信課」という部署名を "Information and Technology Division" と誤植していたことが判明。正しくは "Information and Telecommunication Division" ですね。発注し直すか…。
でも費用は自分持ちでもいいから、会社側で一括した名刺のデザインとレイアウトがあって、名前だけ業者に伝えれば一週間後くらいに届くっていう普通の名刺システムになってくれないかなぁ*1。人によって名刺の出来具合がさっぱり違うんですけど。それはロゴの管理とかそういった観点からも望ましくはあるまい。
*1 一応肩書き付の課長以上くらいの方々は勝手に名刺を作ってもらえるみたいですが
2006-06-04
● [tDiary] CVS update
こちらをCVSに追従させてみました。
いろいろ設定変わってるので、もしかすると所々エラーになってるかもしれません。教えていただければ幸いです(これは一応更新のテスト投稿)。
なんだか、makerss.rb プラグイン周りの実装がずいぶんしっかりしててびっくり。これに早く気が付いていれば、今ごろ mixi で日記を書いてなかったかも知れないが、mixi は mixi で楽しくやってるのでまぁよし。
アップデートに伴うエラー発生などでずいぶん時間がかかってしまい、気が付いたらもうこんな時間。さて寝るべきか起きておくべきか…。夜が大変になるから寝ておくか。
2006-06-05
● [ネット] フリーフォントとフリーウェア
http://fonts.web.fc2.com/m/01.htm より:
- フォントを作るにはお金と時間、そして大変な手間と労力がかかる
- そのため、本来購入して使うものである
- 無料なのが異常と考えるべき
- それを無料で配布されているのは、個人作者の場合は好意に他ならない
- フォント会社の場合は、宣伝や試用といった意味合いも含まれる
フォントの場合は「フリー」という言葉は即ち「無料」という意味に成り下がってしまうのでしょうか?
プログラム・アプリケーションなどのソフトウェアでこのような話をされると多少の違和感を感じるのに、フォントだとそれらしく聞こえてしまいますね。個人が好意で作ったからフリー(無料)なんでしょうか。そして他ならないんでしょうか。まぁもっとも、今はフリーウェアなんて言い方をせずにオープンソースとかオープンウェアといったほうがピンと来るのですが。
どうも一世代前に議論され終わったような話のような気がするのですが、とあるフォント系のメールマガジンで上記サイトが紹介されてて「え、今さら?」という感じがしたもので。当時流行った議論として「ディープリンクの可否」というのがありましたが、そちらは認めつつも「フリーウェア=個人の好意」としているあたりのギャップに違和感があるんでしょうか。
(追記)
たぶん違和感の根本的な原因は、根拠を精神論に求めていて、恩着せがましいところにあるんでしょう。そもそも「フォントは有料なのが当たり前」というのには賛同しかねる。堂々と「こちとらフォントが生業なんでい」と言われれば「あぁそうなんだ」と思うのに、「フォント作るのには金かかるのにそれをタダで恵んでやっている」という恩着せのようなものを感じるからなんでしょうかね。
翻って、オープンソースなどが今のところうまく機能しているようにみえるのは、様々な開発のバックグラウンドはあれ、妥協点として「フリーはフリー。好きなように使え」としか言っていないことなんだろう。GNUライセンスなどの唯一の強制は「フリーはフリーとして使え、オープンソースなものを使ったらその派生プロダクトもオープンソースにしろ」っていうことだけであって、オープンソースとは関係のない金銭面での強要をしていないからなんだろう。
(追記部分は思ったままに書いてるので日本語が変なのはご了承下さい)
2006-06-07
● [ネット] プログラマ的エレガンス
例題1. 時計の長針と短針は、12時にちょうどピッタリと重なります。次にピッタリと重なるのは何時でしょう。
[「Life is beautiful: できるかぎりエレガントな解法を見つけて「うっかりミス」を減らす」よりより引用]
まぁ12時間に11回…というのは発見的手法による部分が大きいような気がするので、ここは順当に。
- n時m分 (0≦n<12, 0≦m<60) の短針の位置…30n+0.5m (度)
- n時m分 の長針の位置…6m (度)
というわけで、30n+0.5m = 6m から、m = 6n/1.1 となるような時刻に、長針と短針は重なる、ということになる。たとえば、n=1 として、m=5.4545... なので、12時の次は1時5分27秒2727...に長針と短針が重なるらしい。
算数的には上の式でOKなんでしょうが、実際の時計を考えてみると、27秒2727...という循環小数で表現されるような時刻が表現されることはありません。スムーズ秒針タイプではない従来の時計であれば秒単位でチクタクと動くので、5分27秒から5分28秒に切り替わる瞬間に一瞬で追い越すことになります。従って、この手の問題では秒未満の単位を切り上げて1時5分28秒、数式で表すとガウス記号なんかも使ってn 時[6n/1.1]分[(6n/1.1-[6n/1.1])*60+1-δ]秒と答えるべきかもしれません。もしくは、毎秒に長針と短針が一瞬で位置を変えるとしたら、12時の次に長針と短針が重なるのは24時(≒0時)ということになります。さてはて。
引用元の「エレガントな解法」にはこういう考察までを含めても良いでしょう。単にパズル的に考えれば12時間に11回重なるから…という「一見エレガントっぽい解法」を思いつきますが、「12時間に11回重なる」という仮定がそもそも正しいかどうか検証しないまま計算を始めて、結局解法がキレイすぎるのに満足してしまう人が多いから「実際には重ならないじゃん」というバグにぶつかるかもしれません。あとは、「12時間に12回重なるんじゃないの?」とか疑問を持ち始めると困るねぇ、とか。こういう問題は、愚直な方法かもしれませんが、いったんシンプルな方法で考えたほうが、いろいろ可能性を考えられるような気がします。
余談ですが、書いててアキレスと亀を思い出した。実は長針と短針って永遠に重ならないんじゃ…?
(追記)
要するに、あとから簡単に検証できるような(=説明が容易な)思考のプロセスを日頃から心がけないとデバッグが大変になるし、与えられた条件にぴったりな無駄のない解法を追い求めすぎると「ちょっとした変更」に耐えきれないロジックになりやすいと思います。
ソース中のコメントを読んでも頭をひねらないと理解できないようなパズルのようなプログラムをたまに見かけますが、それはやっぱり自分の趣味で作るものならともかく、仕事やオープンソースなど複数人で仕事をする上では避けるべきでしょう。多少の動作効率の悪さを犠牲にしてでも簡素さによる開発効率の向上をとったほうが良いと思うのです。
(追記2)
調子に乗って問題2も同じアプローチをやってみる。
例題2. サイコロを2個、順番に投げることにします。1つ目のサイコロの目の方が2つ目のサイコロの目より大きい確率を求めてください。
[「Life is beautiful: できるかぎりエレガントな解法を見つけて「うっかりミス」を減らす」よりより引用]
これは言葉で説明するのは面倒なので、実際にCっぽく。
#include <stdio.h> #include <stdlib.h> int main(void) { int i, j, ans=0, total=0; for (i=1; i<=6; i++) { for (j=1; j<=6; j++) { if (i>j) ans++; total++; } } printf("%02d percent.\n", ans * 100 / total); return EXIT_SUCCESS; }
これも基本は愚直に。確かに単純な計算より効率は悪い。その代わり、絶対に漏れがない。確率計算を正しく理解してなくても、これなら間違いようがない。こういうのがプログラマ的エレガンスだと思うんですがね。せめて (1+2+3+4+5)/36 とかかな。
ちなみにプログラマ的テクニックであれば、賽子オブジェクトを作ったりとか、モンテカルロ的手法とか、Mathematicaみたいなのを一から作ってみるとかまぁいろいろ思いつくのですが、今回求められているのはエレガンスですからね。
2006-06-15
● [酒] アジアンダイニング 東風家(八重洲店)
会社の若手飲み。19時から始まって21時までだったけど、自分は仕事が(というより打ち合わせ)が続いたりした関係で20時頃到着。1時間だとほとんど何も食えず飲めず。ビールをグラス3杯、肉を一切れ、愛玉子一杯だけだった。昼ご飯食べてなかったので相当物足りないが、しかし味そのものは悪くなかった。出されたばかりのビールが冷えてないってのがちょっとマイナスかもしれない。
味は良い店だし、東京駅徒歩3分というロケーションも悪くないと思うので、あとはその独特な雰囲気をいかに楽しめるかどうかなんでしょうね。1時間じゃ短すぎたと。
2006-06-18
● [ネット] 「WebブラウザにWinnyプロトコルハンドラを」の件
Winny可視化のため、WebブラウザにWinnyプロトコルハンドラを(高木浩光@自宅の日記)より:
街で見かけただけのピーポくんのムービーが1.25GBもある件。
2006-06-25
● [旅] 日光男体山
日光男体山に登ってきました。
あいにくの天気でしたが、特に雨にも降られず、ほどほどに涼しい天気でまぁ山歩き日和といえばそんなもんかも。でも、中禅寺湖や日光白根山が見えなかったのは残念。また紅葉の時期にでも出かけてみたいものです。(でも混雑するしなぁ…)
写真は別途アップしておきました。
■ ぷらっそ [>入社時の面接官だった別の課の課長と同席して、面接時の素直な感想とかを頂く。この場でフィードバックされるとは思わなく..]
■ wassy [そういうときは断固拒否ですよ。 職場が一気に涼しくなることうけあい。]