ページ

2012年12月19日

最近は夕食は子供と一緒です

なぜか参加してしまっていた子育てエンジニア advent calendar 2012のエントリです。
とりあえず、スペックとしては長男(中1)、次男(小3)、長女(5歳)とネコ二匹です。アリエルという会社で働いていて、昔からいるのでそこそこ偉そうです。

ここ一年ぐらいと、それ以前では割と子供と接する時間が変わっています。1年以上前は、他の人に比べると帰る時間は早いのかも知れませんが、家に着くと9時とか10時です。普通の子供は寝ていたり、寝かしつけようと努力している時間ですね。そんな時間に帰ってもまともに子供と何かをする時間なんてとれません。まわりの知人達を見ていてもそれが普通だと思っていました。ちなみに、昔からかなり子育てはしている方です。

一年ぐらい前に何が起きたのか?と言うと、何も起きていません。会社の中に朝組と言う集団が自然発生的にできました。朝組は何をするかというと、とにかく朝早く来ることを目標にしています。どれくらい早いのかというと、最近は新橋駅(東京)に着くのが日の出前です。駅で10分ぐらいのんびりすれば、日の出が迎えられます。毎朝、お日様と今日するって素敵でしょ。

朝早くから会社に来るので、帰るのは早いです。最近は日が沈む前には会社を出ています。日が沈むのは大体17時ですね。子供を保育園に迎えに行って帰りにスーパーで買い物をしたりしても、帰るのは18時30分ぐらいです。

夕食は大体、嫁が作ってくれています。なので、家に帰れば子供に夕飯を食べさせればいいだけです。ご飯は長男が炊いてくれています。次男は何故か17時頃に勝手にお風呂に入っています。時々、ネコをつれてお風呂にいます。まあ、子供が家に二人以上いるときは騒々しいです。静かな時間が欲しくなるときもあります。

それから、時々、僕は自宅で働きます。もともとは手術してから定期的に通院しないといけなくなって、病院の日だけ自宅で働いていました。でも、子供が学校から帰って来たときに家にいると喜ぶので、以前よりは自宅勤務の日を増やしています。喜ぶと言っても、帰ってきたらすぐにどこかに遊びに行っちゃうんですけどね。

夕食を子供と一緒に食べたりして子供と過ごす時間を多くするのはいいものです。まあ、中学生ぐらいになってくると一緒にいても反抗されることもありますが…。それから、一緒に過ごしたいから早く会社に行くようになったのではなく、たまたま早く会社に行けば夜、一緒の時間が増えたので、一緒の時間が増えるとそういう時間もいいものだと認識しただけです。

一緒の時間を過ごすのがいいのか、一生懸命働く姿を見せる方がいいのか、分かりません。多分、子供にとってはどっちでもいいのでしょう。僕はしばらくは、一緒に夕食を食べる生活がしたいです。そして、ちょっとだけ朝早く会社に行けばそれができる環境です。ただ、それだけです。

2012年11月12日

Review Board使ってみた

僕の働いている会社はハイテクとローテクが渾然一体となった訳のわからない会社です。開発プロセスでもリポジトリにコミットする前にコードレビューをしたりします。すべてのチケットでコードレビューしているわけじゃなくって、チケットや人に応じてレビューしています。コミット前のプレレビューの方法ですが、隣の人などチームの他のメンバーに「おいおい、ちょっと暇? 暇じゃなくてもコミットしたいのでレビューしてくれませんか? 答えは聞いてないけどね。」と言って強引にその場でレビューしています。

これでもコードレビュー自体はプロセスの一部となって機能しているのですが、僕にとっての不満は、現場でどういうレビューが行われているか、後からチェックできないことです。コミットの内容を見ていてレビューが十分でないと感じても、それを新たなチケットにしたりチケットをオープンしただけ(かなり後になってのレビュー)ではレビューの質が変わらないんじゃないか、と。僕がやりたかったことをまとめると


  • 現場でどういうレビューが行われいるかトラッキングしたい
  • 他人のレビューを見て学習して、レビューの全体の質が向上するかも
  • 当事者以外がもう少しレビューできる体制にしたい
システムを別途入れることで、レビューに無理矢理時間が割かれるのをどうにかしたいとか、って言う人がいるかもしれませんが、僕にとってはそれは些細な問題です。ただ、隣で説明されてレビューしていると見落としてしまうようなものも、一人でじっくりコードと向き合うことでレビューの質が高まるという効果はあるかもしれません。

BTSのTracを使っているので最初はTracのプラグインを検討したんですが、コミット後のレビューがほとんどです。アリエルの開発スタイルからはプレコミットレビューがいいですが、少なくとも僕の要望ではプレでもポストでもどちらでもいいです。で、まとめてレビューを一覧したり、レビューごとにどのように実際のコードが変化するかとか終えないです。専用のシステムの方が細かく見られます。

と言うことで、Review Boardを導入しました。アリエルだとEclipse派とコマンドライン派がいます。Eclipse派はEclipseのプラグインeReviewBoardを使っています。ただ、このeReviewBoardはsubclipseを要求します。subversiveの方が便利なので悲しい決断です。でもほとんどの人にとってsubclipseでもsubversiveでも同じような気がするんですが・・・。
コマンドライン派がpost-reviewコマンドを使っています。そしてコマンドライン派はgit svnを使っているので、gitへのcommitで自動でReview Boardにポストさせています。

一週間使ってみてやりたかったことができそうだったので、とりあえずは満足です。大きな不満もおじさんになってしまったakayaman以外からは出ていないのでまあ、いいんでしょう。と言うか、数人からなる一つのチームだけで始めるつもりがみんな勝手に使っている・・・。

2012年10月11日

インドに行ってきた その2

 前回の続きです。インドでは翌日は日本時間の6時には目を覚ましました。その時間は現地時間の3時頃です。はい。4時ごろにネコたちの鳴き声が聞こえはじめ5時過ぎぐらいから鳥たちがざわめきだちます。隣がゴルフ場で、そこにはクジャクが歩いているらしいです。

ホテルの部屋には歯ブラシが置いていません。朝ご飯を食べた後に、ホテルの人に「歯ブラシないんだけど、どうすればいい?」って聞くと、「部屋に戻って待っとけ!」でした。しばらくするとお皿にのって歯ブラシが部屋にお届けされました。

最初の日は翌日のための準備です。親会社の人が一生懸命働いているのを尻目に、頼まれたことをちゃちゃっと済ませませす。これは、ホテルの作業場所からの眺めです。広大なゴルフ場があります。

ホテルの部屋はとにかく寒いです。しばらくすると体が冷えてしまいます。そとに散歩しにいくと、とっても素敵な場所があります。プールがあってその横はお昼寝スペースです。

ここに寝転んでトカゲのように体を温めていると、ホテルの人が凍ったブドウと水とサンオイル、キンキンに冷えたおしぼりを持ってきてくれます。

とても贅沢な空間です。

その後、夜からお仕事が始まります。
インド人の英語、わからね〜。聞き返してゆっくりいってもらっても、聞き取れない・・・。

ちなみにインド滞在中にtoktokにも乗ったんだけど、そのうんちゃんの英語は聞き取れましたとさ。うーん、英語、難しい。

2012年10月4日

インドに行ってきた その1

仕事をせずに遊んでばかりいるので、同じように仕事をせずに親会社に左遷させられてしまった井上さんに、インドに飛ばされてしまいました。行きたくないと言っても聞いてくれません。親会社でも仕事をしていないように見える小松さんと井上さんに密室に閉じ込められてインドに行くように 脅迫 説得されました。「英語しゃべれない」って言っても「大丈夫、しゃべれます」、「インド人の英語聞き取れません」と言っても「なんとかなるでしょう」、「辛いモノがダメです」と言っても「カレーおいしいよ」、「病気怖い」と言っても「高級ホテルなので外に出なければ大丈夫」。
うーん、と言うことで行ってきました。仕事の内容は言ってもいいのかだめなのか分からないので秘密です。

インドには9月27日お昼ごろに出発です。こんなに気が重い海外は初めてです。いつも海外に行く前はパスポートを持たずに成田に行って、飛行機にのれずに帰ってくる夢を見ますが、今回もそうでした。

さてさて、飛行機で9時間ぐらい掛かります。遠いですね。アベンジャーズとかプロメテウスとかやっています。見ようと思っていたんだけど、見ながらすぐに寝ちゃいました。帰りの飛行機までお預けです。

空港から出ると、さすがにインドです。暑いです。南の島の暑さとは違った暑さです。僕のイメージのインドはスーツケースから手を離すとすぐに盗まれるので、絶対に手を離してはいけません。
そこから車でホテルに移動です。道がすいていれば20分か30分ぐらいでつくそうです。空港からしばらくはまあ、普通です。でも市街地に近づくにつれて様子が変わってきます。どうみても道路は4車線しかありません。車線はちゃんと見えています。でも、どう考えても車は6列になってクラクションで激しく会話しながら走っています。しかも、アクセル踏んだりブレーキ踏んだり左右に揺られたりで、とても気持ち悪いです。車が停止すると、ジプシー達が物乞いにやって来ます。信号が変わると車は走り出しますが、4車線を6列になって走るので、ジプシー達はぶつかったりしないのでしょうか?道の横では子供とかが家族で生活しています。うーん。まあ、そんなこんなで、それで1時間かけてホテルに着いたときには8時を過ぎていました。

ホテルは高い塀に囲まれ、脱走できなくなっています。門のところは檻のようにガードされていて、ホテルに入るのは、車一台一台、トランクの中などを看守とおぼしき人たち値がチェックしています。門をくぐり抜けると、ホテルの前で車を降ります。空港のように建物の中に入るためにはすべての荷物と人が赤外線チェックされます。

そして、なんやかんやでホテルの部屋までたどり着いたときにはかなりお疲れでした。


でわでわ

2012年9月6日

あすなろブログのコンテンツの移動をやってみた

あすなろブログが閉鎖されて久しいです。年内は閲覧はできるようですが…。そこで書きためたもの(CSVのファイル?)をもらって、ここに移行しようと思って放置して、早数カ月。このままだと、忘れ去られると思って、インポートしました。「CSVファイル?」って書いているのは、csvって拡張子が付いているけど、フォーマットがcsvじゃないんです。まあ、なんでもいいんだけどね。

とりあえずは、ファイルでCATEGORYが101_XXXのように「数字_」で始まっていてキモいので、そこは cat my.csv | sed -e "s/CATEGORY: [0-9]*_/CATEGORY: /" > out.csv として置き換えます。ついでに「その他(ライフ)」とかっていうのもあるので、これらも「ライフ」みたいな感じで置き換えです。CATEGORYはbloggerではタグに置き換えられるようです。Movable Typeのタグは僕は使っていなかったので、それらがどうなるかは知りません。

カテゴリを置き換えたら、movabletype2bloggerで変換します。1Mバイトのファイルまでしか変換できないので、適当な大きさにファイルを分割してからです。変換をかけてから、bloggerにインポートします。「インポートしたものを公開」にチェックしているはずなのに、インポートしただけだと公開されなかったので、UIから公開させます。

これで終わり。


残り作業は写真とかの画像の付け替えです。コメントやトラックバックはあっさり捨て去ります。


でわでわ

2012年9月3日

semaphoreのコスト

気になることがあって、semaphoreのコストがどれくらいあるのか、調べて見ました。サンプルコードは、githubにあります。やっていることはjava.util.concurrent.Semaphoreでacquire/releaseをループでぐるぐる回しているだけです。Semaphoreは順序付き実行と順序なしで実行しています。めんどかったので、計測は秒で、/usr/bin/timeコマンドで測った結果なので、プロセスの起動とかのオーバーヘッドはありますが、気にしないでください。結果は次のとおり。


回数 semaphoreあり/順序付き semaphoreあり/順序なし semaphoreなし     
1 0.05 0.05 0.05
10 0.05 0.05 0.04
100 0.07 0.06 0.04
1000 0.08 0.07 0.06
10000 0.25 0.20 0.07
100000 53.69 1.58 0.06

という結果になりました。semaphoreなしの方は、単なる参考までに。順序なしのほうは、順序ありにくらべて10000回ぐらいまでは誤差の範囲内でパフォーマンスはほとんど変わらないです。10000回ぐらいから順序の有無にかかわらず急激に悪化しますが、順序付きのほうが顕著に悪化します。当たり前か。

で、気になっていたことですが、semaphore を入れるとパフォーマンスがかなり落ちたんですが、上の結果からすると semaphore を激しく使わなければsemaphoreのオーバーヘッドはほとんどなさそうということです。で、実際のコードはそんなに激しくsemaphoreを使っているわけじゃないので、謎は謎のままです。
 

2012年8月2日

Sublime Text 2を使う

会社のid:kawanoshinobu に「おおたにさん、まだ、Emacsなんか使っているんですか?(遠い目)。ナウでヤングな若者はSublime Text 2を使ってますよ(プッ)」と罵倒されました。と言うことで、Sublime Text 2を入れたメモです。環境はMacです。

1.  何はともあれ、インストール
と言うことで、ダウンロードサイト(http://www.sublimetext.com/2)からインストールします。でも、このURL、悲しいですね。

2.  パッケージマネージャのインストール
起動して最初にすべきことは、パッケージマネージャSublime Package Controlのインストールらしいです。Sublime Textはプラグインで拡張できるらしく、それをネットから自動でダウンロード・インストールしてくれる素敵な代物らしいです。
ここのページのconsoleにあるPythonのワンライナーをコピーして、Sublime TextでCtrl-Shift-@で出現するテキストフィールドに先ほどコピーした文字列をペーストして、エンターを押せば完了です。

3. プラグイン達のインストール
Cmd-Shift-Pで利用できるコマンドがでてきます。ここからPackage Control: Install Packageを選ぶと、インストールできるパッケージが一覧されるので、そこから好きなものを選んでインストールします。
僕は次のものをインストールさせられました。


  • AllAutoComplete
  • DocBlockr
  • Git
  • HTML5
  • PythonTidy
  • Restructured Text (RST) Snippet
  • SideBarEnhancements
  • SideBarGit
  • SublimeCodeIntel
  • SublimeLinter
  • Tag
  • Theme - Soda
4. コマンドラインから起動しやすくする
もともとEmacsを使っている時もaliasを作っていたのでその流れ。

alias subl="'/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl'"

5. 設定をするぞ
EmacsはEmacs Lispで拡張しますが、Sublimeも同様にテキストファイルを直接いじります。GUIからやるなんて軟弱な手段は用意されていません。男だぜ。
設定はLispのように()だらけになるんじゃなくって、今時のjsonらしいです。という事で、僕の設定内容です。[Preference] > [Settings - User]で設定ファイルを開きます。

{
 "color_scheme": "Packages/Color Scheme - Default/Dawn.tmTheme",
 "theme": "Soda Light.sublime-theme",
 "soda_classic_tabs": true,
 "font_face":"Ricty",
 "font_size": 14,
 "line_padding_top": 4,
        "tab_size": 4,
 "translate_tabs_to_spaces": true,
        "trim_trailing_white_space_on_save": true
}

です。僕はバックグランドが黒いのはあまり好きじゃないので、こういうのになっています。ちなみに、フォントはRicty使っています。

6. キーボードショートカットとか
「Emacs, Vim, Sublime Text 2 徹底比較」がわかりやすい。

7. Cmd-Pが便利
EmacsのAnythingみたいなもんらしいです。プロジェクト内のファイルを簡単に開けます。そこまではいいのですが、先頭に@をつけると、ファイル内のシンボル(コードならクラスとか関数)が一覧されます。:をつけて数字を入れるとgoto lineになります。
一つの窓でいろいろ出来るの、好き。

8. 最後に
59ドルはちょっと高いよね。簡単には出せないので、一月ほど使ってみてから決めます。

2012年7月26日

Mountain Lionをインストールした後にやったこと

Mountain Lionが出たのでインストールしました。その後にHomebrewが使えないとかgccがいないとあるので、XCodeをApp Storeからアップデート。最初にXCodeを起動するとインストールするか聞かれるので、インストールする。

XCodeを起動後に、[XCode] - [Preferences] - [Download]をメニューから選択してCommand Line Toolsをインストールする。

必要であればHomebrewのパッケージをインストールしなおす。

2012年4月25日

アリエルの新卒の研修

ネタとしてこんな反応を期待しているのに、期待に全く応えてくれないアリエルの新卒達です。ステレオタイプなゆとり世代の反応を見せてくれないので、つまらないですね。

さて、そんなどうでもいいことはほっといて、今、彼らはどんなことをやっているんでしょう?あんまり何をやっているか把握していないんだけどね。

入社して最初の2週間ぐらいは一般的な研修(名刺の渡し方とか電話の出方とか)と、何か調べ物をして怖そうな面々の前でプレゼンをしたりしていました。何か、じゃ分からん?えーと、新製品を企画してそのプレゼンと、アリエルの会社組織がどうなっているかのプレゼンです。どちらもいい感じでした。と言うか、プレゼン、上手です。今時の学生は侮れません。

その後、二人一組のチームに分かれて会社のすべての部署に2週間づつ配属されて、こわーい社員からみっちりしごかれるらしいです。僕は以前から、新人にはすべての部署を体験させるべきだと思っていました。開発として採用した人が一人いるのですが、体験させるべき、って言っておきながら、研修なんて途中で打ち切らせて開発にさっさと配属させちゃえ、って思う自分もいます。まあ、微妙なところです。

一番いいのは、アリエルCTOのように、「研修つまんないです。開発したいです」って傲慢に言ってくれることです。まあ、そんな大物は中々いないですね。 



2012年4月18日

嫁とiCloudのカレンダーを使い始めた

Google Calendarでもいいんだけど、MacとiPhoneを使っていると一番お手軽なスケジュールアプリと言うか、連携先はiCloudのCalendarなのでそれを使っています。自分自身は会社のスケジュールは、会社のグループウェアからGoogle Calendarに自動的に同期がとれるようになっていて、それを見ています。個人のスケジュールはiCloundを通して連携されています。スケジュールのソフトはMacとかiPhoneで標準で持っているモノです。

さて、うちの嫁はずっとカレンダーに書き込んでいました。まあ、それはそれで便利だったのです。でも、数ヶ月前にiPhoneを取得しました。で、スケジュールってiPhoneだとどこでも見えるので便利ですよね〜、と。で、去年の夏ぐらいからMacユーザになっています。で、スケジュールがよく分からない仕組みでiPhoneでもMacでも同じようにすぐに見えます。なので、物理的なカレンダーじゃなくって、MacとかiPhoneの方が便利かも、となりました。

でも、入力、めんどーだよねー、と。で、僕が予定を作って嫁を招待すれば入力の手間いらずで、簡単。と言うことで、子供の学校の予定もろもろはiCloudで共有されるようになりました。

もっとも、学校が予定を直接共有してくれるのがいいんですが、無理でしょうね。 



2012年4月16日

問題が起きたときにどうするかだと思うんだが・・・

基本的にすべてのことは人がやることなので、全く問題がないように完璧にはできないです。なので、程度の問題はありますが、何かをやって問題があってもそれ自体は仕方のないことです。問題が発生したら、次に同じことをやらないように何かを修正するとか、完璧を目指す努力は必要です。でも、どんなに頑張ったところで、やっぱり完璧にはできないです。

仕事は、ちゃんとこなすことは大事です。僕はあまり完璧を求めないので、完璧を目指しすぎる人を見ると、もっと妥協すべきだと思っちゃいます。どんなに完璧を目指しても問題が発生する余地は十分にあります。なので、それと同時に問題は発生するモノとして、問題が発生したときにどうするのか、って言うことを考えないともったいないというか、意味がないというか・・・。前日にインフラをいじったら翌朝、何かあるかもしれないとか・・・。

アリエルの場合、問題を起こすこと自体は、誰もせめないです。小言は言われますが・・・。まあ、そんなことをつらつら考えた月曜の朝でした。 



2012年4月13日

アリエルには新卒の新入社員がいるらしいという噂


アリエルは、創業間もないころに一部の人の反対を押し切って当時の社長が新卒採用をしたことがあります。それはいいことだったのか、悪いことだったのかはわかりません。それから10年ぐらいたって、アリエルも新卒採用するお年ごろになりました。こんなのです。このページ自体はどうでもいいのですが、その中に人事ブログなんていうのがあるじゃないですか!ということで、さっそくのぞいてみました。

で、わけもわからず、このページを開きます。な、な、なんと、新入社員の写真がさらされているではないですか!男性二人女性4人という構成です。かなしいことは、頑張っているんですが、なかなか名前を覚えられません。ちなみに、左上の男性はニックネームが「うどん」さんです。

10年ほど前に採用したときは、ライオンの子として育てるべく、谷から突き落としてそのままにしていましたが、今回は10年の反省を経て新人研修をいろいろやっているようです。ういういしい姿を見ながら、6人が固まっているのでなかなか話しにくいです。僕は奥手なのです。

新人の初々しさは期間限定かもしれないので、気になる開発者の人は見に来てください。ただ、悲しいことに、もう、スーツはあまり来ていないようです。残念です。

 

でわでわ




2012年4月11日

ありえるえりあミニ勉強会、やります

ありえるえりあミニ勉強会」、やります。えっ?タイトル変わったんじゃないかって?そこに気づいたあなたは、十分ありえるファンです。今回からしばらくは、月1ぐらいのペースで同じテーマにそって勉強会をします。ありえるえりあ勉強会と違って、時間的にも少し軽めになるはずです。しばらく続くテーマは、スマートデバイスに関してSencha Touchです。ついでに、Sencha Touchのベースになっているext.jsについてもおりまぜながら…。

募集人数が30人なんですが、残念ながらもう、埋まっています。ミニ勉強会は募集人数を増やす予定がないというか、会場もないというか・・・。

さて、 なぜ、今回から「ミニ」がつくようになったのか?ありえるえりあ勉強会はそこそこ大きな会場を使っていて、大きな会場で少ない人しかいないと、寂しく感じられちゃいます。そのせいでそこそこの人数を集めようと言うことになります。たくさん来て盛り上がったりするのもいいのですが、人が増えるに従って、僕が最初に目指していたものとは違うと感じ始めました。それ以外にも、100人ぐらい人を集めるのはいろいろ運営上の負担も大きく大変だったってのもあります。

ということで、しばらくは「ミニ」でやっていこうということになりました。まあ、決めているのは僕なので、なったというより、そうしただけですが・・・。

で、規模が小さくなるだけなら悲しすぎるので、3ヶ月から半年に一回、「ミニ」がつかいない従来のありえるえりあ勉強会をやります。ミニの勉強会の集大成的なものにするか、全く別のモノにするかはまだ、決めていませんが…。

 

でわでわ



2012年3月30日

Huluがテレ東と提携したのか・・・

Huluがテレ東と提携したらしいですね。ますます楽しくなってきました。と言っても、Huluは英語の勉強と自分に言い聞かせて海外ドラマを見るために使っているので、日本のコンテンツが増えても見かけ上はうれしくありません。でも、子供が日本のアニメをiPadで見てくれれば、親たちはテレビでニュースを心穏やかに見られるので、メリットもありますね。Apple TVでHuluが利用できればもっといいんですが・・・。

さて、Appleとテレビと言えばiTVとか噂が絶えません。テレビが売れていないからスマートテレビとか言う噂も聞きますね。オタクとしては、そんなものには全く興味がわかないです。

僕のテレビの買い換え期間って、基本的には壊れそうになるまで使うので5年とか10年です。画像が映って音が出ればいいのです。スマートフォンと呼ばれているものなどから、スマートなんとか関係は僕にとっては買い換えは、一年から3年ぐらいです。多分、3年を過ぎるとスピードとか機能とかでストレスがたまります。

製品寿命が違うモノが一緒になると短い方に合わせますが、スマートなんちゃらが1万円とか2万円じゃない限り、欲しいと思わないです。スマートなんちゃらはApple TVとかセットトップボックスとか、別デバイスのほうがいいです。普通のテレビとスマートなテレビで値段が全く同じならスマートなものを選択するかもしれませんが、少しでも差があれば迷わず普通のテレビを選択します。

まあ、一万から3万円ぐらいで40インチぐらいでスマートなテレビがあれば買うかもね。

タイトルと全く関係ないですが、でわでわ 



2012年3月29日

もし、有給休暇がなかったら・・・

有給休暇は当然の権利です」を読んでいて思ったんですが、有給休暇がなくってその分を給料に上乗せして払ってくれたらどうなんだろう?僕は去年は手術とかあって、合計20日以上休んだりもしたので特別な年だったんですが、ほとんどの年は有給を全部使い切らずに消えていきます。いろいろな話を聞くと、多くの日本人がそうらしいですが、統計データを見ていないので一部の世界のお話しかもしれません。

有給休暇は権利なので権利を行使しないで消えていくわけですが、 そもそも有給休暇はいらないので、その分のお金をくれ、休んだ分はその分のお金から引いてくれ、っていうのはどうなんだろう?そうすれば権利の消失はないし・・・。

まあ、もらえるお金が明らかに減るって分かれば、休みを取りにくくなるので、それはそれで嫌かもね。

一番いいのは、消失する有給休暇分を買い取ってもらえるか、使い切るかなんでしょうね。 使い切るのはそれはそれで大変ですね。ちなみに僕は毎年使い切ろうと努力はしています。

 

でわでわ 



イベントに申し込んだら電話が掛かってきた

僕は電話が嫌いです。なるべく、電話で話したくはないです。

さて、先日、「クラウドコンピューティングExpo」なるイベントに申し込みました。申し込んだ後に、よくよく考えたら申し込まなくても会社からチケットが手に入るので申し込まなくても良かったんじゃないか?って気づいてしまいました。何を考えて申し込んだんだろう?疲れていたのかな? 

さて、申し込んだことはすっかり忘れていたら、会社に電話が掛かってきました。今回から事前アポイントシステムというのを始めたので、登録してくれって言うことでした。商談はしないので、そんなの必要ないとこたえて電話は切りました。

これ、参加申し込みした人、全員に確認しているんでしょうか?かなりの工数になると思うんだけど・・・。工数に見合っただけのメリットが出展者にあるだろうってことなんだと思うんだけど。きっと、参加者はこうやってお金に結びつきそうな人とそうでない人にグレード分けされるんだ。

いずれにせよ、全く想定してない電話に意表を突かれてしまいました。

 

でわでわ 



2012年3月28日

IT関連の仕事に向いていないかも・・・

あなたはIT関連の仕事に向いていないかも?--IT業界への不適応度チェック10項目」と言う記事があります。こういうチェック項目は何となくやってしまう暇人です。ごめんなさい。

まず、順番に見ていきましょう

> #1:根気がない

ごめんなさい。僕は根気がないかもしれません。と言うか、説明を読んでいるうちに、IT関連の仕事って言ってもいろいろあって、何を指しているのか分からなくなるトラップです。

> #2:新たなことを学び続けたいとは思わない

こういうのってIT関連を特別視しすぎている気がします。すべての頭を使う職種には共通して必要なものなんじゃないかな?

> #3:勤務時間外の仕事はお断りだ

ある意味正しく、 別の意味で間違っています。プログラマに限って言えば、勤務時間ってある程度の決まり事はあるにしても、基本は時間給って言う時点でおかしいです。で、これもITを特別視していて、おそらく知的労働に共通の概念だと思うんです。なので、設問自体がおかしい。で、自分の仕事をきっちりこなしていれば、勤務時間外の仕事は断っていいと思っています。

> #4:人が好きではない

これは、その会社の文化的なところに依存したりもするので、何とも・・・。でも、仕事であれば何らかの意思疎通は必要なのは確かですね。

> #5:簡単にあきらめる

程度の問題だと思うんです。絶対に何とかしないといけないモノもあるんだけど、さっさとあきらめるのも必要だったりします。簡単にあきらめることよりも、あきらめるべきモノかどうかの見極めが大事なんじゃなかろうか?

> #6:イライラしやすい

うーん、IT関連はみんな鬱になる、みたいなバイアスでも掛かっているんだろうか?

> #7:複数の作業を同時に行うのが苦手である

意味不明。僕は同時に作業を行わないので、IT関係に向いていないかも。

> #8:出世したいという野心がある

まあ、社長になりたいとか、って言うのなら難しいかも。でも、技術職以外のヒトでも社長になりたいって思っているヒトってどれくらいいるんでしょう?で、ほとんどのヒトの出世のゴールは社長などの経営層ではないと思う。 現実的なところだと、部長とかそういうレベルで、それぐらいの野心(?)はほとんどのヒトが持っているんじゃなかろうか?

> #9:テクノロジ嫌いである

テクノロジ好きなので、嫌いな人の気持ちが分からん。

> #10:勤務時間が終わると携帯電話の電源を切る

電話は嫌いなので、なくても困らないけど、この作者、どういう生活しているんだ?自分のストレスを記事にしているだけのような気がする。 



2012年3月27日

「過保護の反対 | ありえるえりあ」を読んでみて・・・

過保護の反対」はとっても面白いです。何が過保護か?とか、新卒の教育などをどうするか?って言う話はここでは置いておきます。

読んで最初に思ったのは、設定手順書に何が書かれるんだろう?って言うことです。一昔前のThunderbirdなりのメーラーなら、smtpサーバやPOP,IMAPサーバを指定していました。でも、今のThunderbirdは表示名とメールアドレス、サーバに接続するためのパスワードを入力したら残りは全部、自動でやってくれます。サーバ名なんて気にする必要がありません。まあ、たまに失敗する環境もありますが、社内の環境に関しては大丈夫です。

まあ、この程度ならA4の紙一枚で事足りるので、あってもなくてもいいですね。

次に思ったのが、記事の書き手が設定方法が10年前と変わっていないと思っていることです。こうしたソフトがシステム的に類推できるような設定は自動化する、もしくは、隠蔽するのは正しい流れだと思います。Emacsでちまちま手で設定するのも否定はしませんが・・・。 

 結局、新卒で入ってくる人たちには仲良く、社内のサーバをクラッキングして欲しいと思う今日この頃です。

 

でわでわ 



2012年3月26日

Siriは未来を感じるモノなのか?


金曜に家に帰ると、小学2年の子供が「iPhone貸して!」と頼んできます。理由を聞くと、ニュースで音声認識をやっていて、かなり興味を持ったみたいです。ニュースを見るまでは、あまり使い方が分からなかったようです。まあ、Siriに向かって「好きです」って言うのを連発するぐらいしかしていなかったので、ある意味、仕方ないことです。

iPhoneを貸してSiriの起動方法とか、音声認識のさせ方を10秒ぐらいで説明すると、必死に天気予報を表示させたりしていました。子供にとっては、機械的な音声がテレビにでてきそうな感じがして、好きなようです。音声認識に失敗する場合も、それはそれで楽しんでいます。

今となっては、もう普通の出来事のような気になっちゃうし、音声認識自体はかなり古いモノだし、AI的なものも昔からあったりして、ありえる現実のような気がしちゃいますが、自分が学生のころを思い出すと、すごいモノが普通の人の手に届くようになったんだと思ったりします。

それから短い文であれば、音声認識で入力したほうが楽ですね。 

でわでわ 




2012年3月23日

wireでの接続はだんだん煩わしくなってくる

昔々、無線LANが使われ始めた頃、有線より遅いし盗聴の危険はあるし、何であんなものを使うんだろう?って思っていました。本当のところは、その当時は僕はLinuxさんを使っていて、Intelの無線LANを使うのはわりかし大変な作業だったのです。でも、その作業を終えるとwireのない快適さからは戻れなくなってしまいました。

iMacを買ってからワイヤレスキーボードとトラックパッドを使っています。それらを使う前は、電池の消耗なんて気にしながら使うなんてどうかしている!って思っていました。ちょっとぐらいの線があったって、そんなに移動するものでもないし、良いんじゃないかって?でも、使わないときは引き出しにしまえたり、線が絡まったりしなくって、便利ですね。

携帯電話は・・・。僕はほとんど電話をしないのでよく分かりません。めんどくさい電話が掛かってきたときは、電波のせいにして切っちゃえるので、便利と言えば便利ですね。

携帯からiPhoneに変わって数年がたちました。iPhoneをMacにつなげて同期するって、とっても煩わしいです。しかも、Macに変なケーブルをつなげるって、全くオシャレじゃないです。そもそも、最近ネコを飼い始めたのですが、太いケーブルはかじらないのですが、細いケーブルはかじられちゃいます。なので、その辺にケーブルをむき出しで置いておくことは御法度です。でも、iOS5(?)になってほとんどの場合、Macと接続しなくてもよくなって、これ、地味に後戻りできません。

iCloundのおかげでiPhoneで撮った写真もいつの間にかMacに取り込まれています。一眼レフも持っているのですが、一眼レフはSDカードでデータをMacに移動させないといけません。これ、とてもめんどうなのです。特に、カメラと写真を使いたいと思っているMacとが物理的にそこそこ離れたところにあるときとか。
なので、きれいにとれる一眼レフより、iPhoneのカメラをつかっちゃうことになります。 それもこれも、ネコブログのせいです。wireのない快適さの生活になれると、後戻りできなくなります。 

あとは、ノートPCの電源ケーブルがワイヤレスにならないかな? 



2012年3月21日

小学校の卒業式

春分の日の前日は、小学校の卒業式でした。僕が20代のころは自分に子供ができて、その子が小学校を卒業することなんて想像もできませんでした。そもそも、小学校の卒業どころか、小学校への入学自体、遙か先の未来のことでした。けれども、時間が立つのは早く、もう、小学校を卒業していまいました。子供ができてから時間感覚が変わったのかもしれません。変化が目に見えるから、っていうのもあるのかも。

さて、卒業式。大阪の方のニュースを見ていると、君が代の時に先生が立たないんじゃないかってドキドキしていました。でも、卒業式にいた先生はみんな立っていました。中学校の入学式はどうなんでしょう? でも、襟の形がどうのとか、靴下の色をみんなで話し合ったとか、暇なことをしている先生達なので、そんなことには関心がないかもしれません。

それから、卒業証書の授与。きらきらネームの子がいないか、耳を澄ませていましたが、そんな子はいませんでした。こっちも残念。

前日に被災地の卒業式の様子がニュースに流れていました。男の子は襟詰めの学生服を着ていて、女の子は袴をはいていました。えっ、卒業式にそんな格好?今時の小学生はそうなの? それとも東北が特別?って。

子供の卒業式ではさすがに襟詰めの学生服の子は一人もいませんでした。これは、東北が特別なんでしょう。ちなみに、別のニュースでは紋付き袴の子もいました。

さて、女の子ですが、何人かは袴を履いている子もいます。僕の子供のころはそんな子は一人も いなかったような気がします。時代は変わるものです。ちょっとしたカルチャーショックでした。それから、精一杯おしゃれしているんだとは思うんだけど、メイドのコスプレにしか見えない子もいました。オシャレだよね? メイドじゃないよね?

 



2012年3月13日

Windows/ApacheでNTLM認証

前回の「Linux/ApacheでNTLM認証」の続きです。前回はLinuxの話でしたが、今回はWindowsとApacheでのNTLM認証です。WindowsならIISが楽ですが、人間、楽ばかりしていてはいけません。

まず、Apacheを動かすWindowsサーバをADのドメインに参加させます。僕は、ドメインに参加済みのマシンをもらったので、どうやって参加させるか知りません。きっとWindowsなので簡単なんだと信じています。

モジュールのインストール

Linuxではmod_auth_ntlm_winbindを使いましたが、Windowsではmod_auth_sspiを使います。これ、Apache2.2用のモジュールでそれ以外のバージョンだと、自前でビルドしないといけないかも。最新版をダウンロードして展開します。

展開したファイルのINSTALLを読めばわかりますが、binディレクトリにあるファイルをApacheをインストールしたディレクトリのmodulesにコピーします。

Apacheの設定ファイル

次にApacheの設定ファイルを変更します。今回もバックエンドのTomcatに接続することを前提にします。まずは、モジュールをロードします。

LoadModule sspi_auth_module modules/mod_auth_sspi.so

そして、/hogeへのアクセスで認証されるようにします。


<Location /hoge >
  ProxyPass ajp://localhost:8009/hoge status=I
  ProxyPassReverse ajp://localhost:8009/hoge
  AuthName "Windows NTLM Authentication Test"
  AuthType SSPI
  SSPIAuth On
  SSPIAuthoritative On
  SSPIOmitDomain On
  require valid-user
</Location>


SSPIOmitDomainをOnにすると、Tomcatからはrequest.getRemoteUser()でユーザIDだけが取得できます。Off(デフォルト)だと、ドメイン名\\ユーザIDの形式でTomcatから認証ユーザの情報が取得できます。Linuxのmod_auth_ntlm_winbindと合わせるためにSSPIOmitDomainをOnにしています。

Tomcatの設定


Linuxと同じようにTomcatのserver.xmlのコネクターの設定でtomcatAuthenticationをfalseに設定します。
<connector port="8009" protocol="AJP/1.3" redirectport="8443" tomcatAuthentication="false">
これで、Tomcatからはrequest.getRemoteUser()でApacheが認証したユーザの情報が取得できます。

終わりに

Linuxと違ってWindowsは簡単ですね。ちなみに、mod_auth_sspiの設定の中にはSSPIMSIE3Hackとかあって、IE3って…。


2012年3月9日

管理職リーダーシップ研修というのに行った

管理職リーダーシップ研修というのに行ってきました。会社から行かされたのじゃなく、自分で行くと言って行ってきました。ほとんどの人がスーツで割とお年を召した人が多かったです。感想は、多分、このような研修はしばらくは行かないと思います。僕はそれなりにひねくれているので、それを差し引いて読んでください。

最初は、上司に必要なものは?って言うことで、3時間ぐらいお話しとか4人一組でのワークショップとかでした。上司に必要なものは人望で、人望を磨くためには仁義礼智信の上にいろいろなスキル(有料のものなので、具体的に書きません)を身につけましょう、というものです。まあ、もっともな話ではあるんですが、僕はこのタイプのセミナーが大嫌いです。

例えば、必要なスキルの一つにプラス思考ってありました。 それ単独で見たら悪いことじゃないんですが、僕の過去の経験からすると、かなり大変なこともあるので、ネガティブでいたらそもそも自分がつぶれちゃいます。でも、こんなのは人望とは違うでしょ。とかとかとか。

その後に、部下の話を聞く、しかる、ほめるっていうことでした。このあたりは、新人マネージャ研修でもやっている内容らしいです。会社の人の話を聞いた限りだと、新人マネージャ研修だけで十分なような気がします。この辺のお話しは、当たり障りがなくて、悪くはないです。

さて、しかるとほめるの割合はどれくらいがいいかってことを話し合いさせられました。そもそも、自分のパーソナリティにも依存するので最初から意味のある話し合いって感じがしませんでした。と言うこともあって、自分たちのグループはしかる:ほめるの割合は10:0がいいって言う結論になりました。こんな数字が出てきたのは初めてらしいです。最終的な結論は、ちゃんと相手を評価すれば割合はさほど重要でない、と言うことなんですが、あえて言うなら1:4とか2:3ぐらいがいいとか。 

それから、終わりがけに、ちょっとだけロジカルシンキングのことを講師の人がしゃべっていました。なぜを追求していってロジカルに考えましょう、と言うものらしいです。ワークショップのチームの一人の具体的な問題について具体的にどう考えていくのか?って言うことを聞きました。でも、その具体的な問題の考え方、突っ込みどころ満載で使えないと思うんですけど・・・。と言うか、そもそもの前提を崩されたらどうするんだろう?

 



2012年3月6日

Linux/ApacheでNTLM認証


NTLM認証っていうのはWindowsのドメイン認証情報をつかっていろんなシステムにシングルサインオンする仕組みです。設定によってはWindowsにログインすれば、社内のシステムに個別にログインせずにアクセスできるっていうシロモノですね。ブラウザはIEしか対応していないって思っていたのですが、FirefoxやChromeでも動きました。今回はクライアントはブラウザからアクセスして、Webアプリケーションにシングルサインオンするまでのお話です。

このNTLM認証ですが、WebサーバがWindowsで動いていればIISでやるのが楽です。でも、ここは茨の道なのでWebサーバはApacheで、OSはLinuxです。というかUbuntuです。Windowsの話は、そのうちするかも。

Linux + ApacheでNTLM認証を行うために mod_auth_ntlm_winbind を使います。モジュールの名前から想像できるようにwinbindのコマンドを利用して認証を行います。とりあえず、必要なソフトをインストールします。

# apt-get install samba winbind libapache2-mod-auth-ntlm-winbind

まずはsambaの設定です。ドメインに参加させます。ドメインは今回は、domain.example.comにします。/etc/samba/smb.confでglobalセクションに次のように設定します。大文字小文字が区別されるような気がするので、気をつけたほうがいいかも。

workgroup = DOMAIN
security = ads
realm = DOMAIN.EXAMPLE.COM
password server = domain.example.com
winbind use default domain = yes

次に/etc/nsswitch.confを次のように書き換えます。

passwd:         files winbind
group:          files winbind
shadow:         files winbind

/etc/kbr5.confでそれぞれのセクションに次のように追加。ケースセンシティブです。

[libdefaults]
   default_realm = DOMAIN.EXAMPLE.COM

[realms]
  DOMAIN.EXAMPLE.COM = {
       kdc = domain.example.com
       admin_server = domain.example.com
  }
[domain_realm]
  .domain.example.com = DOMAIN.EXAMPLE.COM
  domain.example.com = DOMAIN.EXAMPLE.COM

それから、あとでよくわかないエラーがでることがあるので、自分のサーバ名がmywebserver.example.comなら次のように/etc/hostsに設定します。IついでにADのサーバ名が解決できない時があったので、それも書いておきます。

xxx.xxx.xxx.xxx  mywebserver.example.com

/etc/resolv.confも書き換えたほうがいいって言う情報もありましたが、僕は設定せずに動いたので、きっと大丈夫でしょう。

これで/etc/init.d/winbind restartします。winbindさえ動いていればsamba自体は動いていなくても大丈夫です。これでwbinfo -tして動いていることを確認します。wbinfo -uでADの中のユーザが表示されれば、大体大丈夫らしい。


では、apacheの設定です。mod_auth_ntlm_winbidをまず、有効にします。今回は、バックエンドにtomcatがいてmod_proxy_ajpで接続しています。tomcatへのリクエストだけ、ntlm認証の対象にします。

ProxyRequests Off
ProxyPass /aqua ajp://localhost:8009/hoge
<location /hoge>
    NTLMAuth  on
    NegotiateAuth off
    NTLMBasicAuth off

    NTLMBasicAuthoritative off
    NTLMBasicRealm "REALM"
 
    NTLMAuthHelper "/usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp"
    AuthType NTLM
    require valid-user
</location>

それから、実際に動かすと/var/run/samba/winbindd_privilegedへのアクセス権限が不十分だってエラーがでます。なので、起動のたびにchgrp www-data /var/run/samba/winbindd_privilegedってしてあげないと動かないです。

tomcatはserver.xmlのコネクタの設定を次のようにして、tomcatで認証のハンドリングを行わないようにします。

<connector port="8009" protocol="AJP/1.3" redirectport="8443" tomcatauthentication="false">

これで、TomcatのServlet上からは、request.getRemoteUser()でApacheが認証したユーザ情報が取得できます。

ブラウザからhttp://localhost/hogeにアクセスすると、認証画面がでたり、環境によってはすでに認証済みだったり。

めでたしめでたし。

2012年3月5日

嫁にiPhone4sを買いました

うちの嫁はずっと、古いガラケーと呼ばれている携帯を使っていました。でも、時代の流れに乗りたいらしく、iPhone4sを買いました。正確には買ってあげました。ケースに入れたいらしく、家電量販店で買ってついたポイントでケースを買いました。

キャリアはSoftbankですが、Softbankに思い入れがあるわけじゃないです。料金の説明を受けていると、ソフトバンクの人はいろいろオプションを勧めてきます。僕としては料金の説明はすっ飛ばしたかったのですが、おとなしく聞いています。で、オプションは「全部いらないです」というと、「安心保証パックは・・・」って。ソフトバンクの人、がんばっています。

でも、「僕のiPhoneは壊れなかったし、壊れたら新しいのを買って自分のにして、僕のお下がりをあげるので大丈夫です」って言ったら、それ以上は何も勧めてこなくなりました。

一通り契約が終わるとフレッツのソフトバンクのきれーなおねーさんがやってきて、説明しようとします。嫁が一緒でなければ聞いていたかもしれません。ソフトバンク、なかなかやります。でも、嫁が一緒だったので、「いらないです」って言うと「せめてパンフレットだけでも・・・」。でも、ゴミが増えるのがいやなので、「パンフレットもいらないです」って言うと苦笑いして去って行きました。

ネットの情報と違ってソフトバンクの悪そうな人にはあったことがないです。 まあ、そんなものです。変なプロファイルも入れられていなかったし・・・。

と言うことで、iPhoneはすべて含めて4台目ですね。 

 



2012年3月2日

pythonのwebsocket-client 0.6のリリース

あんまり大きな変更はないけど、一応リリースしました。
変更点としては、
  • WebSocketAppクラスでmaskキーのgenerationをカスタマイズできるようになった
  • コマンドラインツール、wsdump.pyがついた。
wsdump.pyはサンプルアプリ的でもあり、テスト・デバッグ用でもあったりします。サーバに接続してテキストベースのデータのやりとりを行えます。詳しくはWebページかREADME.rstを見るとして、こんな感じに使います。
$ wsdump.py ws://echo.websocket.org/
Press Ctrl+C to quit
> Hello, WebSocket
< Hello, WebSocket
> How are you?
< How are you?

echo.websocket.orgにつないでる例です。どんなデータがやりとりできるか見えます。-vをつけるとテキストデータ以外のデータも見えるようになるかもしれません。-vvをつけると、ネットワーク上に流れる生データが見えます。
それから、Windowsでは動かしていないので、動くかどうか知りません。

$ wsdump.py ws://echo.websocket.org -vv
Press Ctrl+C to quit
> hello
send: '\x81\x85I\xb9\xba\x0b!\xdc\xd6g&'
> recv: '\x81\x05hello'
< text: hello
> 

でわでわ

2012年2月29日

最近見ている海外ドラマ

僕も真似をして最近見ている海外ドラマを紹介してみます。最初はワーナーオンデマンドで見ていたのですが、最近はHuluで見ています。Huluだけでも見切れないほどあるので、安心ですね。はまっちゃう人は廃人なるかもしれないので、危険かもしれません。

海外ドラマは去年ぐらいから見ています。今のところ、僕が見ている海外ドラマにはほぼすべてにshape shifterが出てきます。

最初はFringeです。Wikipediaによると


マサチューセッツ州ボストンを拠点に国土安全保障省の下で活動するFBIのFringeチームを描く。

世界中で発生する説明不能なおぞましい一連の事件「パターン」の捜査の為、チームは「fringe science」と呼ばれる型破りな手法を用いる。

という感じです。平行世界とか、そういうお話が好きな人にはいいかもです。

その後、「Lost」と「Heros」を見ました。Lostは無人島に行って不思議なことが起こる話です。やっぱりShape Shifterが出てきます。Herosは超能力を持った若者のお話です。超能力と言えば変身できるのは当たり前ですね。

その次に、「Star Trek Enterprise」を見ています。これ、Shape Shifterなんて出てこない、って安心して見ていたらやっぱり出てきてしまいました。海外はShape Shifterばかりです。

それから、テレビでは「テラノバ」を見ています。これだけはまだ、Shape Shifterが出てきません。過去に行っただけのお話しなので、きっと、今後も出てこないでしょう。スピルバーグっていうのもありますが、やっぱり、恐竜大好きの僕には面白いドラマです。アバターもテレビでやったときにそうだったのですが、二カ国語放送じゃないんですね。吹き替えしなくてもいいから、字幕で放送して欲しいです。それがテラノバの唯一の不満です。 

 



2012年2月28日

新卒の人への推薦図書は何?

4月になればアリエルにも新卒の人が入ってきます。約10年ぶりの快挙です。それで、新卒の人向けへの推薦図書は何?って社内の掲示板に質問がありました。一応、新卒の人全員を対象としているので、開発だけの話ではないです。

僕のときは、入社式の数カ月前にC言語の入門書と、Windowsプログラミングの本が送られてきました。 タイトルは正確には覚えていません。Windowsプログラミングの本の翻訳者の一人は、同期で入社した人でした。

さて、推薦図書の募集で、なぜかネコの本をすすめる人がいます。何かを完全に勘違いしています。 それはおいておいて、他に上がった本です。

1. ザ・ゴール

いい本なんですが、新卒にいきなりはどうなんでしょう? 一年したら読むほうがいいと思ったりもします。

2. イノベーションのジレンマ

また、難しい本ですね。上2冊は、今読んでから更に一年後にもう一度読むといいかも。ちなみに、ザ・ゴールはシリーズ物ですが、最初の一冊だけ読めばいいです。

3. 文章力の基本

この本は僕は読んだことはないですが、文章の書き方の本は読んでおいたほうがいいかもしれません。でも、今だにちゃんとした文章をかけないので、難しいですね。

文章じゃないけど、ジョブズのようにプレゼンする人が入ったら面白いかも。

 

どうでもいいところとしては、就職先はブラック企業
ブラック会社に勤めてるんだが、もう俺は限界かもしれない
をすすめる人もいました。新卒に社会人の厳しさをガツンと叩き込むんだと言っていました。ガクブル。

うーん、僕が最初に就職したロータスは仕事は楽しむものだ!っていう文化でした。そのせいで、今でもそう思っています。そう思っていると、大変なこともありますが、仕事は楽しいです。



2012年2月27日

NEXとSkylinerに乗った

週末にわけあって京成スカイライナーとNEXに乗りました。

京成スカイライナーは初めて乗りました。 乗ったのは上野から成田空港の第2ターミナルまでです。ホームページをみると36分で着くって書いています。よく見ると、日暮里と第2ターミナルまでです。上野からだと40分かかります。騙された気分です。でも、40分ぐらいでつくのはやっぱり速くて便利ですね。

スカイライナーにのると、座席の足元の当たりにコンセントがついています。これは便利ですね。40分ぐらいの距離ですが、退屈しないかもしれません。でも、電車内では無線LANは使えいないです。走っている区間はWiMAXの電波が来なかったり、弱かったりするところもあります。Softbankの電波もいないところがあります。40分の距離でそこそこ安い(2400円)のは魅力的ですが、ネットをしながら成田空港を行き来するのには向かないですね。

行きはスカイライナーでしたが、帰りはNEXです。NEXの魅力はなんと行っても大船まで走っていることです。湘南の方に住んでいる田舎者には、これはとても便利です。その分、若干お高くなってしまいますが、許容範囲です。NEXは第2ターミナルと東京間が1時間弱ぐらいだったような気がします。でも、NEXの魅力は無線LANとかWiMAXとか使えることでしょうか?多少時間がかかっても、ネットをしていれば不満をかんじることはないです。それから、よーく見ると肘掛けのところにコンセントがついていました。最初はずーっと気づきませんでした。電池の心配もする必要はないですね。

ということで、僕にとってはNEXのほうが便利そうです。

 

でわでわ 



2012年2月23日

新卒の入社式に親が出席って…

あと一週間ほどで2月も終わってしまいます。きっとすぐに4月になって新卒の人の入社式があります。アリエルも今年から新卒の人が4月に入ってきます。新卒の人は初々しくっていいですね。

さて、去年か一昨年ぐらいに大学の卒業式だか入学式に親が出席するってニュースでやっていました。それで「最近の若者は・・・」とか「最近の親は・・・」って話を聞いた気がします。でも、卒業式とか入学式に親が出席するのは可愛い物なんじゃないかな?

僕の知り合いのところの話で直接聞いた話です。二次情報じゃないです。それは、親が会社の入社式について来ちゃったらしいです。子供の方はちゃんとしたスーツで入社式にでたらしいですが、そのおかあさんは着物を来て付き添ったそうです。お菓子のおみやげ付きで…。ついでに、「子供をよろしくお願いします」って上司(?)になる人に挨拶して帰ってきたそうです。ここまで来たら、笑っちゃいますね。これ、ウソのような本当の話です。

ひょっとしたら、こういう笑うに笑えない話って実は沢山あったりするのかな? あったら教えてください。 

上の話は、若者というより親のほうが悪いと思いますが、子供の方はなんて思っていたのでしょうね?「最近の○○は…」ですね。まあ、ほんの20年前の話ですが・・・。入社式の季節が近づくたびに、これを思い出して笑ってしまいます。 

 



2012年2月21日

Mountain LionってPumaのことなのか?

僕はヒョウ好きです。模様が大好きです。さて、ネコ科動物のコードネームで知られるりんごの会社の次のOSはMountain Lionということらしいです。Mountain Lionって、聞いたことあるような、ないような・・・。調べてみると、Pumaのことらしいです。 ライオンよりパワーダウンしていないか?でも、単語数は増えているのでいいのか?などと、心配の種はつきません。こんな感じであれば、当分、名前の在庫は尽きないかもですね。安心しました。

以前書いたかもしれませんが、Lionはとっても中途半端なOSだったような印象があります。最後の作り込みが甘いというか・・・。全画面表示は閲覧する分にはいいけど、メールで何かを作成しようとかすると、悲しいことになります。特に添付ファイルとか・・・。Mission Controlはいいけど、LaunchPadって本当に使いやすいんですか?って。 

でも、今回はMountainがついた程度なので、しかも、本物のLionじゃないし…、ということで、ちゃんと作りこまれていれば嬉しいな。

さて、Ubuntuでも感じたのですが、タブレットやスマートフォンなどの登場で今がUIの過渡期なんじゃないかと思っています。Windows8は、以前のプレビューを見ただけだと、いまいち位置づけがわかりません。でも、OS全体として何か変わりつつあるような気がします。なので、Macにしろ、Ubuntuにしろ、使いにくいとか文句をたれつつ、とってもわくわくします。きっと、わくわくしなくなったらおじさんになってしまった証拠なのでしょう。

 

でわでわ 



2012年2月20日

デブサミ2012に行きました

17日金曜日にデブサミに行ってきました。いつもは木曜に行くのですが、今年は木曜日は病院の定期検診の日だったので金曜日でした。早いもので、デブサミももう10年らしいですね。

聞いたもの、全部をまとめようかと思ったのですが、印象に残った一点だけ。午前中にhtml5とスマートフォンのお話がありました。ガラケーと言われているものはどんどん生息地を奪われているらしいです。僕は中途半端なガラケーはさっさとなくなって欲しいと思っているのですが、13年か14年にはスマフォって呼ばれているものが主流になりそうだとか。うれしい限りです。どこぞの携帯は、gatewayで勝手にクッキーが落ちたりして、しばらくすれば直ったりおかしな挙動をしたりするので、IEと一緒に消えて欲しいです。

で、タブレットは日本では90%がiPadらしいです。なるほど。以前、「全社的にiPad導入したけど使い道がわからないので、何か作ってくれ」って言われたことがあるので、iPadは使われているところでは使われているのかもね。

スマフォも企業で使われているのは日本だと8割ぐらいはiOSらしいです。本当かな?僕の身近なところでは、半々ぐらいという印象です。ユーザ数ベースで言えば違うかもしれません。

うーん、全然技術的な話じゃないですね。でも、携帯は衰退傾向にあってスマフォは予想より早くメジャーになって、PCも駆逐、もしくは棲み分けするっていうのは、正直驚きでした。



開発でプレスリリース発表会をした

半年か1年ぐらい前に、開発チームで製品カタログかプレスリリースを作ると製品全体の方向性とかがわかっていいよ、っていう記事をどこかで読みました。ソースが見つけられなかったので、ごめんなさい。確かに、日々の作業をやっていると、自分の行っていることの全体的な位置づけとかわからなくなるので、いいアイデアかもしれません。と言うことで、アリエルでも一週間ほど前に次期バージョンのプレスリリース的なものを開発で作って見ました。

とりあえず、一日割り当てて各個人に作ってもらいました。大きな方向性とか、大きな機能はある程度は事前に僕とかが書いたりしていていました。 なので、大きく外すはずもないのに、たぶん、僕の書いたものを読んでいないのかも、って思うものもありました。

今回の目標は大きなビジョンを共有することが第一目的でした。なので、発表内容はそれを大きく外すものなく、いい意味で想定の範囲内でした。まあ、表現が稚拙すぎる、とかありますが、それは開発者なので仕方ないかも。

で、今回はプレスリリースという位置づけの発表でした。なので、読む人はこれから顧客になるかもしれない人たちです。ですが、発表される内容はどちらかと言えば既存の顧客に向けた内容、表現になっていました。開発者は顧客の方向を向いていて開発しているから、そうなったのでしょう。 ある意味で、決して悪いことではないです。別の意味では、また別の機会に。

たぶん、今回は初めてだったので、あと何回かは続けてみたいと思っています。 



2012年2月8日

どきどきPython3

今年からPython3をちゃんと始めると決めていたのに、一ヶ月以上、何もしていないへたれです。去年のAdvent Calendarに参加しておきながら、このていたらくありません。と言うことで、これが日本人のPython3のコードです。

まずは、手始めです。このぐらいの簡単なサンプルから始めないといけません。
出力する = print
__なまえ__ = __name__

def それをする(それ):
    それ()

def なんか():
    出力する("日本語まんせ〜")

if __なまえ__ == "__main__":
    それをする(なんか)

さすがPython3です。日本人には大変読みやすい記述になっています。Python2.xのようにprintとか、よくわからない英語がとても減っていて、中学生にも優しいです。

これだとあんまり実感がわかないかもしれません。フィボナッチ数列で見てみましょう
import sys as システムの
システムの.引数 = システムの.argv

出力する = print
__なまえ__ = __name__
整数 = int
範囲 = range

def ふぃぼなっち(回数):
    結果 = 0
    値1 = 1
    値2 = 1

    for _ in 範囲(回数):
        結果 = 値1 + 値2
        値2 = 値1
        値1 = 結果

    return 結果


if __なまえ__ == "__main__":
    出力する(ふぃぼなっち(整数(システムの.引数[1])))


圧倒的に読みやすいですね。"ふぃぼなっち"関数の中の変数でresultとかなじみのない英語じゃなく、結果って言う日本人ならみんながわかる変数名のメリットは計り知れません。

これからは、こんなかんじでかいていきたいとおもいます。みんなも、こんなふうにかいたらいいとおもうよ。これをExcelでかいたらかんぺきです。

でわでわ

2012年2月6日

恐怖の健康診断

先週の金曜日は恐怖の健康診断でした。僕は注射が大嫌いで、そのために健康診断は恐怖そのものです。でも、会社が健康診断で血を吸い取られることを強制しているので、逃れることはできません。

金曜の健康診断は午後からでした。15時開始です。バリウムなど、体に悪そうなものを飲まないといけないので、8時間前から断食です。6時ぐらいに軽く朝食を済ませましたが、お昼ぐらいになると、頭が糖分を要求してきます。それから、水は250mlまでって書いています。2時間前からは飲んではいけないらしいです。まさに苦痛です。

さらに、節分の日と言うことで、部下たちが僕に無理矢理鬼の面をかぶらせてまめを投げつけます。さらに、投げ終わったら、ご飯を食べれない僕の目の前でおいしそうにまめを食べています。怖い会社です。 

15時にミッドタウンのクリニックに行きました。こんなところで健康診断って・・・。受付を済ませると、「午後からの健康診断はサービスで4つの中から好きな検査を受けられます」って言われて4つのオプションを示されました。ピロリ菌と甲状腺の検査は覚えていますが、残りは忘れてしまいました。甲状腺は去年の手術前に検査しているので、ピロリ菌を選択しました。

検査が始まりました。いきなり血を吸い取られました。これさえクリアしちゃえばあとは怖いものはありません。それから、血液検査でピロリ菌もわかるって言っていました。血液検査と内視鏡で組織を採取して調べる方法と、もう一つ何か言っていました。今回は血液検査で抗体のあるなしを検査するらしいです。ピロリ菌がいて直っても、抗体は残り続けることがあるのでその場合は血液検査はできないと言うことでした。息を吐いて検査する方法をやりたかったのですが、それはまだ、やっていないそうです。残念。

それから、去年腫瘍を見つけてしまったエコーをやりました。二人体制です。僕は何かしてしまったのか?と思いましたが、一人は新人っぽいおばさんでした。 ゆっくりとエコーを見て、最後にベテランらしきおばさんがもう一度チェックしていました。なにも見つからなくってよかったです。まあ、3ヶ月目にCTをしているので、問題ないことはだいたいわかっているんですが・・・。

途中をスキップして、最後のほうに問診がありました。「去年、手術したんですか。大変でしたね」って言いながらおなかを見せます。先生が「ここが手術の跡ですか?」というので、「いいえ、違います。こっちです」と答えます。手術のあとは明らかに体の左にあるのですが、その手術の跡を見ながら、「どっちの副腎を取ったんですか?」って。僕の不安はマックスです。この先生は大丈夫なんでしょうか?

おおむね健康で、コレステロールがちょっと高いって言われました。うーん、野菜いっぱい食べているはずなんだが・・・。まあ、とっても高いわけじゃないので、ちょっとだけ気をつけてくださいって。 500円ランチのせいでしょうか?

 最後におきまりのバリウムを飲んで終わりです。僕は胃カメラをやってみたいのですが、普通の健康診断じゃやってもらえないのかな?残念です。

 

でわでわ 



2012年2月3日

マネージャ研修のセミナーを予約してもらった

アリエルでは4月から新卒の人が入ってきます。新卒の人が入ってくるのは、実に10年ぶりぐらいです。アリエルは社員が100人程度なので、新卒の人たちの研修は外部に委託します。ついでに、役職的には何に相当するのかよくわかりませんが、たぶん、他の会社だと課長ぐらいに相当する人たちが去年ぐらいにできました。うーん、課長に相当する役職が去年、できました。そこで、新卒も入ってくることだし、課長さんたちもマネージャ研修みたいなものに参加しようと言うことになりました。

さてさて、僕はそういう研修とかセミナーには参加したことがありません。どちらかというと、割と否定的な見方をしています。研修時間を聞いてみると2時間ぐらいって言われました。2時間ぐらいだと、そんなに業務に支障が出るわけでもありません。課長さんたちだけ研修ってずるい、と思ったわけです。どんなことをどんな風にやるのか、っていうのも興味があったので、僕も課長さんたちに混じって参加してみようと思いました。

しかし、ふたを開けたら2時間じゃなくって丸一日あります。ずっと課長さんたちに混じって研修を受けるのはちょっといやだなもったいないな〜、と。なので、ぼくはその研修を受けるのはやめました。わがままですね。でも、やっぱり、どんなところか気になる・・・。と言うことで、研修の項目を見ていてもよくわかんなくなってきます。一緒に見ていた人から、「さっさと決めろ!この管理職何なんちゃらでいいじゃん」 と心の声が聞こえてきました。まあ、よくわからないので、それにしました。

テーマを見ると、ほめる、しかるとか、説得と承認とか、うーん、どうなんでしょう?まあ、心配なのは周りがおじさんばかりだったらどうしよう・・・。 

将来的には、自分のやりたいテーマを決めて受講できるようにするそうです。僕は昔はこういうものに全く興味を示さなかったのですが、年の功でしょうか?

 

でわでわ 

 



2012年2月1日

開発はゲームである

「すべてはエンターテイメントに昇華する」と誰かが言ったかもしれないし、誰もいわなわかったかもしれません。僕の中ではこれが基本的な考えになっていて、そのことを意識し始めたのが学生の頃の猿(ボノボ)の生態につていの本を読んでいたときだったと思います。その後、何回かこんな感じのことを見かけた気がします。

さて、時は流れて昨日、会社にバイトできていた@t2yが去って行きました。僕がさそったのでかなり寂しいですね。たぶん、あと2年ぐらいアリエルにいれば中心的な人になっていたはずです。今後のやりたいことを聞くと、去って行くのが正しい気がしました。それはいいのですが、 昨日は最後の日と言うことで、アリエルについて感じたことを発表してもらいました。多少、誤解しているところもあったりはしましたが、なかなか素敵な発表でした。

発表で、統計的なデータをもっとみんなに提示した方がいいのではないか? と。akayamanと言う怖い人は統計的なものを毛嫌いしているので最初から否定的に見てしまっています。確かに以前のテストリーダーだった人のように統計データをだすことが目的化してしまうと、それは意味がないものになります。そうしたものを毛嫌いするのは十分わかります。

でも、統計データってそれだけなんでしょうか?
統計データを見ること自体、もしくは分析すること自体、おもしろかったり、有意義なケースもあります。でも、@t2yが本当に言いたかったことはそんなことじゃないはずなんです。普通の人は強い人ばかりじゃないのでモチベーションを維持する仕組みが必要で、それの一つとして統計データを使えないか? って言うのが彼の言いたかったことだと思います。(違ってたらごめんね)

たとえば、チケットに締め切りがあるとして、その締め切りからの遅れの累積をグラフにして、全員が見えるようにするとかね。それだと、面白くないから、子供がやっているゲームみたいにライフのような石をあらかじめ配って、締め切りから一日遅れるごとにライフが消えていくとか・・・。足りなくなったら余っている人からもらうとか・・・。まあ、余っている人からもらうのはやり過ぎかもしれませんが、もう少しいろいろなものを見えるようにしてゲーム性をだすと、モチベーションの維持につながるんじゃないか、と。

 以前、アリエルのテストチームができる直前の、テストチームっぽいところでゲーム性をちょっとだけやったことがあります。アリエルはひねくれ者の集まりなので、「くだらないと思ったけど、悔しいけど乗せられた」と表現している人もいましたが、まあ、わりと悪いアイデアはありません。

まあアリエルのエンジニアは優秀だし、モチベーションも高いのですが、なんでもスマートにやり過ぎようとしている気がします。

@t2yの資料はきっとそのうち、どこかで見えるようになるはず。



2012年1月31日

今日のTracのTicket

アリエルでは、様々な仕事をTrac(バグ管理システム)に登録して管理しています。すべての問題はTracのチケットを通してやりとりされます。バグ管理だけじゃなく、コミュニケーションツールの一つになっています。

今日は、アリエル史上もっとも大きな出来事の一つがありました。しかし、実際には金曜日に本人のいないところで盛り上がって、今日は食傷気味でした。もう、このままでいいと大勢が思っていた中で、 アリエルのCTOの社内婚約発表会がありました。そのときの内容はまた、別の機会に・・・。

その社内発表会と時を同じくして、結婚式を挙げるというチケットが登録されました。チケットのオーナーはもちろんアリエルCTOです。CTOは結婚式を挙げたくないって言っています。CTOはすかさず「再現手順がないので」という意味不明な理由でwontfixで閉じようとします。 

しかし、そんなむなしい努力もアリエルのチケットキーパーの目を逃れることはできません。すかさず、「バグじゃないので再現手順は不要です」と言ってチケットはreopenされます。priorityもurgentに変わっています。Sevirityもmajorです。これは、全社員が注目すべきであると、意味します。

実際に結婚式が達成されたかどうかを判定するテスターもアサインされて、「結婚式をするかどうかは、新郎の意思は関係ないです。新婦とその両親の意向があるだけです」とコメントされます。

さらに、本当にテストが十分かどうか、と言うレビューが行われることになりました。横から、「おそらく、結婚式を挙げないともっと素敵なことが待っている。ふふふ」と、脅しともとれるコメントが追記されています。

さらに、「簡潔にわかりやすく、かつ詳しくリリースノートをお願いします」と、リリースノートと言うか、プレスリリースと言うか、そういうものをまとめることが必須になりました。

 

たぶん、もうみんな飽きちゃったので、あとはこのチケットを生暖かく見守るだけです。

CTOの結婚について質問があれば、広報担当を自認する僕が適当に尾ひれをつけて、ないことないこと、答えるよ。

 

でわでわ 



2012年1月29日

MacBook AirでOSの再インストール

僕はオタクではないので基本的にOSの再インストールなんてしません。人にPCをあげたり売ったりするときぐらいです。Windowsで一年に一回OSをインストールし直す人がいるっていう都市伝説を聞いたことがありますが、信じられません。

そんな一般人の僕ですが、MacBook AirのOSを再インストールしました。去年の夏、持っていたMacBook Airを嫁に奪われました。MacBookを使おうと思ったのですが、重い・・・。と言うことで、MacBook Airを買ったのですが、時間がなかったのでTimeMachineから復元しました。でも、その時から何となく、調子がいまいち。でも、それほど気になるほどじゃなかったのです。でも、最近、頻繁にOSがフリーズします。一週間に一度ぐらいから、二日か三日に一度ぐらいフリーズします。ちょっとストレスがたまりますよね。

なので、今回はTimeMachineから復元はせずに、OSを再インストールしてから手でデータを移動しました。まあ、データ自体、それほどないし、設定も割と素の状態で使っているので、一日あればなんとかなるものです。

こういうときじゃないと、アップデートとか設定の見直しをしないので、その辺もちょこっと。と言ってもEmacs関係のもろもろぐらいなんですが・・・。

世間ではvimが流行っているらしいですが、やっぱり僕にとっては設定ファイルエディタと時々コミットログエディタでしかないです。

気分的には動作が速くなった気がします。きっと気分だけの問題だと思います。 

 

 でわでわ。 



2012年1月27日

あなたはどの言語のヒト?

先日、会社のヒトとランチをしていたとき、「おおたにさんって、PythonとJavaのヒトですよね」って言われました。数カ月前に会社の製品のバグを直していたら、別のヒトに「おおたにさんってJavaScriptもかけたんですか?」 って言われた時はショックでした。でも、今回はちょっと違います。

ちなみに僕がプログラミングを始めた頃は、僕の記憶が間違い無ければJavaはまだこの地球上にプログラミング言語としては存在していなかったと思います。ショックじゃなかったというのは、その程度に僕は若いって思われていたんだと言う意味です。CTOはおじさんまるだしで「C言語ラブ」とか言ってますが、きっとCTOと僕では世代が違うのでしょう。

Basicをやっていた頃は暗黒期として忘れ去るとして、学生のころはCとかC++で遊んでいました。そのあと、社会人になってからJavaをこっそり始めました。いや、卒業間近にjavaの0.9なんとかがでて、そのへんから触り始めたかも。多分、25才ぐらいのころかも。アリエルになってからは、最初はCとかC++でコードを書いていました。なので、アリエルに大昔から入る人は、Java屋さんじゃなくってC/C++屋さんです。

まあ、僕はCはシンプルなのでいいですが、昔の僕が知っていた頃のC++と今のC++は全くの別物になってしまったので、もう、書くことはできないでしょう。というか、よくわからん。必要ないので勉強しようとしないし…。

最近の僕の知っている若者は、Javaとかスクリプト系の言語をやっとけばいいのに、CとかC++とかを勉強したがるような感じがします。しかも、そのような奇特な人は、言語の上っ面だけじゃなくって、かなりちゃんと勉強しています。すごすぎます。 

まあ、一時期、C/C++は一部の特殊な用途に限定されていくって思っていた時期もありましたが、今後はどうなっていくんでしょう?なんにせよ、言語自体はそれほど重要じゃないので、いろんな言語ができたほうがいいですね。

でわでわ 




2012年1月26日

六本木500円ランチ

最近、アリエルの朝組に英語名ができました。Early Bird Mafiaとして正式な(?)組織として認定されました。朝組は朝が早いのでお腹が空くのも早いです。そのため、朝組は11時30分ぐらいに昼食を食べに行きます。

そして、先週ぐらいから500円ランチが朝組のブームになり始めました。アリエルは六本木にありますが、六本木で500円ランチ?数は少ないですが、六本木でも500円ランチはあります。

ちなみに500円ランチの定義は550円までのランチという独自の定義を使用しています。この定義になったのは、駄菓子屋という天丼やさんの天丼の値段が税込み525円だからです。550円までOKというのは、もし、消費税がまかり間違って10%になったとしても、ルールの変更をする必要がないからです。

駄菓子屋以外にも、六本木の交差点を東京タワーに向かって少し行ったところにトルコ料理屋が3軒並んでいます。そのどの店でも500円のケパブ丼が食べられます。真ん中の店が一番オイシいですが、ケパブ丼の量は一番少ないです。と言うか、少なすぎます。

昨日は、串かつ男というところの味噌カツ丼でした。衣はさくさくしてオイシかったです。その1.6倍の値段を出せば、800円の定食があります。IMG_0272.jpg

六本木は安い店の数が少ないので大変です。しかし、赤坂まで足を伸ばせば沢山500円ランチがあることを発見してしまいました。CTOはもう、お年なので遠くまで歩けないそうですが、朝組のメンバーであれば、赤坂まではランチ圏内です。

まあ、まだ、六本木500円ランチを制覇しきれていないので、赤坂遠征はも少し先になりそうです。 



2012年1月24日

第8回ありえるえりあ勉強会、終わった

僕の気分次第で開催されるありえるえりあ勉強会の第8回が終わりました。まとめは多分、ここ。今回のお題は「pypyのキホンの気」です。アンケートを見ると、基本だと思ったら途中からついて行けなくなった、と言う、僕の想定通りの展開になって、うれしい限りです。8回の勉強会の中で、scalaとpypyが置いてけぼり感がだせて良かったと思っています。

アンケートの中にPythonのもっと基本的なこととかWebアプリケーションの作り方についてもやって欲しい、ってありましたが、残念ながらありえるえりあ勉強会ではやりません。他の心優しい勉強会を主催しているヒトに御願いしてください。簡単に言っちゃえば、僕がよく知っていることは勉強会では取り上げないんですね。ごめんなさい。

今回の勉強会で、まず、JITについて。これ、面白かったです。まあ、当日僕は休んだのustで見ただけですが・・・。pypyのJITの仕組み、ずっと僕は誤解していました。実際に速くなっているからそうなんだろうけど、やっぱりそれで本当に速くなるの?って感じが・・・。よく分かっていない証拠ですね。

静的解析について。ust見るまで何をやるか、本当に知らなかったのですが、うーん、僕は静的解析、あまり興味がないことが分かった。と言うか、境界線上には型の情報があったほうがいいと思っているので、その辺はぼくのPythonの嫌いなところなので、興味がない理由の一つかもしれません。

やっぱりpypyなので、50人ちょっとしか集まりませんでした。いや、あの寒い中50人以上も集まった言うべきか・・・。僕は集まった人数は全然気にしないのですが、pypyだけでもこんなに集まったことには驚きです。 

次回は4月終わりか5月頃です。 

でわでわ 



2012年1月23日

増殖するMac

僕の家では、嫁は、僕のお古のLets Noteが壊れてから、ネットブックと呼ばれていたEeePCを使っていましたが、半年ほど前に調子が悪くなってから、MacBook Airを使うようになりました。それも僕のお古なんですが・・・。最初はCtrlキーの位置が違うとか、日本語と英語の切り替えはどうするんだ?って不満を漏らしていましたが、いつのまにか気に入ったようです。トラックバッドも複数の指での操作をマスターしたようです。慣れればなんとかなるもんなんですね。そんなこんなで、我が家ではWindowsは僕のiMacのVM上にだけ存在しています。

増殖しているのは僕の家の話ではありません。先日、会社の女の子と、会社を辞めた女の子とランチしました。そのとき、「おーたにさん、PCが壊れてMacを買ったんですよ。買ってて来て、家で10分もしないうちにネットワークにつながっていいですね。起動も速いし・・・。コンピュータってこんなに速かったんですね。」って。うーん、Linuxは大昔、カーネルのコンパイルとかから始めていたので、Windowsですら僕にとってはネットワークにつながるのは早いんですが・・・。ついでに、WindowsもMacも設定で困った経験がないので・・・。起動スピードはよく分かりません。ずっとスリープさせているし・・・。

そしたら、別の女の子が「うちもMac買ったんですよ。MacBook Proですが・・・」ってうれしそうに言ってきます。 

僕もMacでiTunesでごにょごにょしたり、写真の管理をしたりしていますが、メインの使い方は苦労しないUnixでしかないんですよね。ターミナルとEmacsとブラウザがあれば良くって、それ以外は少しごにょごにょ程度です。そう言えば、 嫁がMSのOfficeなぜ入っていないんだ?買ってくれ?って言われたりしますが・・・。

と言うことで、オープンソースの開発者は圧倒的にMac比率が高くなって久しいですが、普通の家庭もMac比率が高くなっているんでしょうか?それとも、単に僕の周りだけなんでしょうか? 



2012年1月19日

東大が秋入学?

夜ご飯を作りながらNHKを見ていると、東大が秋入学にするかも、って流れてました。メリットとかいろいろ言っていましたが、もう大学を卒業して久しいので、秋だろうと春だろうとどうでもいいです。で、NHKの人が、秋入学になると、高校を卒業してから入学までの半年のギャップと卒業してから会社への入社までの半年のギャップがあるので、大学側がなんとかプランを用意してあげないといけない、そうしないと、学生は何もしないまま半年を過ごしてしまう、って言ってました。なんとも素敵な意見ですね。

高校卒業から入学までの間のことはともかく、大学卒業から入社まで大学が面倒見るって、なんともお年寄りの発想です。たぶん、今はなきロータスには帰国子女ように秋にも新卒の人が来ていたような気がします。企業も10月から新卒の人に働いてもらえばいいだけです。東大だけで人が少なすぎるなら、新卒の人に4月採用か10月採用かを選ばせればいいだけのような・・・。新卒は4月からだけってのがおかしいのです。

で、22歳を超えた大人に半年間の過ごし方が分からなくって、何もできないって、お節介もいいところです。何もしないなら何もしないで、そういう時期があってもいいし、自分で判断できるんだから何かやってみるのもいいんじゃないのかな?大学がそんなところまで面倒見る必要ってないでしょう。

僕の学生の頃は、農学部から脱走したニワトリを捕まえて夕飯にしたり、海で密漁(?)して8年間(大学院じゃなくって普通の学部生ね)の学生生活を送った人がいます。どこに就職していったかは覚えてませんが・・・。大学ってそんな変なところだと思います。

でわでわ 



2012年1月18日

websocket client 0.5のリリース

ちまちま作っていたwebsocketのpythonのクライアントライブラリをアップデートしました。バージョンは0.5ですね。以前サポートしてたプロトコルのバージョンは、echo.websocket.orgで使えなくなってしまっていたので、古いプロトコルのコードはごっそり消しました。今回はRFC6455になったhybi13だけをサポートしています。いや、サポートしているつもり。

日本人が使っているって聞いたことないので、日本語でかいても無意味なような気もしますが・・・

テキスト転送だけじゃなく、バイナリデータの転送もできます。一つのデータを複数のフレームが分割して送受信できるみたいですが、それはまだ、対応していません。


リュックに逆戻り

昔はずっとリュックを愛用していました。でも、いい年してリュックばかりも・・・、と思って、メッセンジャーバッグを使い始めたのが、多分2,3年前です。デザインもとても気に入っていたのですが、基本的にノートPCと言うか、MacBook Airを持ち歩くので片方の肩に負荷がかかって、とてもバランスが悪いです。まあ、簡単に言えば肩がこります。MacBook Airもたかだか1kgぐらいなんですけどね。

去年の末ぐらいから、段々耐えられなくなったというか、リュックが恋しくなってきました。一応、以前使っていたリュックもあるのですが、海用になっています。海が家の近くなので、夏は毎週海水浴です。つまり、カバンの中に砂とか潮とか一杯なのです。潮は洗ったので大丈夫ですが、細かな砂は取れきれません。それに、取れたとしても海に持って行くカバンはいずれにしても必要なのです。

と言うことで、新しいカバンを買いました。ターガス・ジャパン Dashバックパック(ブラック) TSB111AP って言う奴です。もう、作っていないので、在庫限りです。PCを入れるための場所がちゃんと確保されているがポイントです。15インチ強のサイズまで入ります。11インチのAirなら横向きで入ります。下の方に重心が来て、いい感じかもです。ポケットも一杯あって、雨が降ったときもカバンを覆うカッパみたいなのがあってPCを保護できます。カバンの中にiPodとかiPhoneをおいて、肩のあたりからイヤホンのジャックが出ていてそこにイヤホンをつなげればすっきりする、みたいになっていますが、これは、ちょっとどうなんだろう?

買ったのはちょっと前のモデルなんですが、最新のモデルはPCを入れるところだけじゃなく、タブレットを入れるところもあります。なんと、時代を反映しているんだ!どんなにちゃんと保護されようと重さは変わらないので、体を鍛えるにはいいかもしれません。僕はiPadは家の外には出さないので関係ないですね。 

メッセンジャーバッグからリュックに戻って、左右のバランスが取れていい感じです。本当はもう少し小さなリュックが欲しかったのですが、それさえ除けば気に入っています。 それから、全体の大きさの割にモノが入る量が少ないような気もするので、いろんなおもちゃを持ち歩くヒトは気を付けた方がいいかも。


でわでわ 



2012年1月17日

OB訪問って何?

僕が社会人になった頃は、今ほど就職が大変じゃなかった頃ですが、バブルははじけていていました。そのころも就職氷河期とか言われていたような気がします。でも、まあ、それなりにいい加減な就職活動で就職できたので、今よりは言い時代だったのかもしれません。

さて、これを読んでいてなおさら思ったのですが、OB訪問って何なんでしょう?そんなことやったことないので、分かりません。All Aboutの記事をざっと見ると、うーん、何のために必要なのか、さっぱり分かりません。一応、目的が

・やりたいことを捜す
・内定をとる
・人脈を広げる 

仕事の実際の内容を聞けるのはいいかもしれませんが、昔ならともかく、今はネットもあるし、もっと手軽に情報が手に入るような気がします。IT系のエンジニア志望なら、どこかの勉強会に行けば大量に情報が手に入ります。 

人脈をつくるって意味不明です。 内定をとるって、内定を出すための意思決定者とほど遠いところで何かをやってどうにかなるもんなんでしょうか?

まあ、 僕はたまたま最初に受けた会社に何となく通っちゃって、その次に受けた会社は面接でつまらなそうだったのでその場で断ったような感じなので、社会の"常識"とかけ離れているのかもしれません。

でわでわ



2012年1月13日

rfcになったwebsocketのデータ転送の部分

前回の続きです。前回はハンドシェークまでだったので、今回はデータ転送の部分です。大昔のプロトコルはテキストの転送は0x00で始まって0xffで終わるって言う単純なモノだったので楽でした。その後、データの転送にABNFでframeをつかってヘッダー領域とデータ領域に分けられ、面倒になりました。と言うことで、今回はこのデータの転送のお話。

データ転送はframeでヘッダー部分とデータ部分に大別されます。
ヘッダー部分は最初の一バイト目にいろんなフラグとデータのタイプを設定します。
2バイト目がデータをマスクするのか?と言う情報とデータの長さの情報を設定します。データは最大64bitのintの長さまで設定できます。データの長さに応じて、2バイト目から最大4バイト消費されます。
その次のバイトからがデータになります。2バイト目でマスクを使用するように設定されていれば、マスクで使用する情報が4バイト分設定されて、その次のバイトからマスクされたデータがセットされます。マスクしない場合は、データ部に入るとすぐに実データがセットされます。

マスクって言うのは、データの各バイトをxorしているだけです。ハンドシェークのkeyとacceptは、途中におかしなプロキシがいた場合の単純な解決法だと好意的に解釈できんですが、このマスクはさらに意味不明です。ハンドシェークのときにマスクで使用するバイトを交換するなら分かるんですが、各データ転送フレームごとにマスクのキーを送るって意味不明です。例えるなら、共通鍵で暗号化したデータを共通鍵と一緒におくるようなもんです。解読すれば一瞬でデータが復元できます。何を守りたいのか分かりません。base64を暗号化って言っているようなモノです。

それぞれのバイトの各bitの説明をしようかと思ったけど、めんどいので今日はここまで。と言うか、最初のバイトの2バイト目から4バイト目までの意味もまだよく知らないんですが・・・

2012年1月6日

RFCになったwebsocketのハンドシェイクの部分

@t2y に「You've been writing only about cat, recently. I feel you are over.」っていわれちゃいました。そんなことではいけないと思い、それから最新のwebsocketに対応してくれ、ってリクエストが来ているwebscoketのpython clientもバージョンアップすべく、RFCになったほうを読んでいます。大きな処理の流れは、昔のwebsocketと大きくは違わないので割愛します。

まず、サーバに接続してリクエストを投げます。クライアントからのリクエストはこんな感じです。今回はecho.websocket.orgに対してリクエストを投げています。

GET / HTTP/1.1
Host: echo.websocket.org
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: c6b8hTg4EeGb2gQMztV1/g==
Origin: http://echo.websocket.org
Sec-WebSocket-Protocol: chat, superchat
Sec-WebSocket-Version: 13

websocketのサーバに接続するとき、Sec-WebSocket-KeyとHost, Origin以外のヘッダーはほぼ固定ですね。Sec-WebSocket-Keyだけがリクエストごと変更されます。まあ、同じでも問題ないんだけど。

Sec-WebSocket-Keyはuuidの16bitのバイト列をbase64エンコードしたもの、っていうことになっています。でも、サーバの実装は長さのチェックとかしていなさそうなので、何でもいいかも。

このリクエストに対してサーバは、
HTTP/1.1 101 Web Socket Protocol Handshake
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: Kxep+hNu9n51529fGidYu7a3wO0=
Server: Kaazing Gateway
Date: Fri, 06 Jan 2012 07:39:19 GMT

となります。echo.websocket.orgってKaazing Gateway使っているんですね。で、Sec-WebSocket-Acceptでちゃんとしたサーバかをチェックしていますが、以前にも書きましたが、これで何がセキュアになるのか、さっぱり分かりません。

Sec-WebSocket-Acceptは、Sec-WebSocket-Keyで送った文字列に258EAFA5-E914-47DA-95CA-C5AB0DC85B11をconcatして、shaでdigestしたもののbase64エンコードした値です。えっ?何言ってんだって?コードだと

s = sec_websocket_key + "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"
digest = sha.sha(s).digest()
print base64.encodestring(digest).lower()

と言うことです。これでサーバからのレスポンスのSec-WebSocket-Acceptと、クライアントで計算した値が同じであればハンドシェークは成功です。まあ、厳密いえばUpgradeヘッダーとかその辺の値のバリデーションも必要なんですが・・・。

でも、大昔よりは幾分シンプルになりましたね。

次回は実際のデータ転送について。


2012年1月5日

第8回ありえるえりあ勉強会のお知らせ


あけましておめでとうございます。年もあけて、みなさん、新年の抱負を胸に抱きつつ、日夜技術への探求を続けていると思います。そんなエンジニアのためかどうかは知りませんが、1月20日にありえるえりあ勉強会を行います。今回で8回目となりました。やっと8回目・・・。回数が少ないのは僕のせいが半分、会場の確保が大変なのが半分です。

さて、今回の勉強会のタイトルは、実行委員長が暴走して「初めてさわる! おっ!? pypy ( ゚∀゚)o彡」になりました(タイトルは「pypyのキホンの気」に変更になりました)。タイトル、ふざけてますね。でも、内容は、pypyの紹介に始まります。pypyって、pythonで書かれたpythonの処理系です。pypyの紹介ではそんなことは当たり前として、pypyを使って自前の言語「おっXX言語」の実装方法について説明があるかもしれません。

その後に、どう言う内容になるかよく分かっていないんですが、静的解析について話が続きます。これは、もうちょっと概要が分からないと説明できないです。ごめんなさい。

それからJITについてです。誰かが「今時の言語でJITがついていないモノって、ふっ」って笑っていましたが、そのJITの一般的なお話とpypyのJITの仕組みについてのお話です。

多分、Pythonに限らず、言語の処理系のお話などに興味のある方であれば楽しめると思います。Pythonに期待しすぎると、つまらないかもしれません。タイトルはふざけていますが、中身はものすごいです。 見かけに騙されちゃいけません。

 

それでは、興味のあるひとはどうぞ。