今後数年間の最重要課題は、ズバリ
一人で食えるようになることだと考えている。
(Living standalone on my feet)
年明けの目標を決めるのに、今年は例年になく苦労したが、 それは長期的目標が重くのしかかっているからだと気がついた。
あえてこの目標の細かい意味は書かない。 おそらくこの目標自身も細分化しなければならないだろう。 それだけ難しい課題である。
今後数年間の最重要課題は、ズバリ
一人で食えるようになることだと考えている。
(Living standalone on my feet)
年明けの目標を決めるのに、今年は例年になく苦労したが、 それは長期的目標が重くのしかかっているからだと気がついた。
あえてこの目標の細かい意味は書かない。 おそらくこの目標自身も細分化しなければならないだろう。 それだけ難しい課題である。
2012年になって3日目だが,いまだに今年の年頭計画すら立てられずにいる.
気がつかない間に,随分と自分の精神は,傷んでいたようだ.精神の疲れは,主に身体の疲れが原因ではないかと思うのだけど.
昨年2011年は,3月の地震で5月あたりまでおかしくて,その後喝を入れてもらって9月ごろまで走ったらオーバーヒート気味になってしまった.今はペースダウンしているが,そう簡単に回復するものではないようだ.
他人の批判をしながら,自分は仕事が進まないと嘆くのは,かなり精神の傷んでいる状況,らしい.ずっとこの知人のツイートが気になっている.
他人に文句ばかり言いながら、自分の仕事のことになると「うまく進められない」と手がつかない状態というのは、自分が考えている以上に、精神的に傷んでいる可能性があるので、気づいたら本格的にメンテナンスした方がいいと思うよ。
https://api.twitter.com/#!/tekusuke/status/150718917751480320
精神が傷むと真っ先に創造性を失ってしまう.創造性というのは,血のにじむような試行錯誤なしには得られないことは,よくわかっているつもりだ.今一番問題なのは,その試行錯誤の気力が,ないこと.何らかの型に自分をはめこんで,無理矢理やるしか,根本的解決法はないのかもしれない.
2011年9月23日に開かれたErlang Workshop 2011は,登録者37人,プレゼン10名,ポスター発表3名という 盛況のうちに終えることができました.参加してくださった皆様に,感謝申し上げます.
私は9月21日に台風15号と共に東京に入り,よりによって暴風雨の一番ひどかった夕方にICFP 2011の受付を済ませました. その後に渋谷のジェミナイ・モバイルにて開かれたQuickCheck Loungeに向かったのですが,かろうじて半蔵門線は 神保町-渋谷間で動いていたものの,渋谷では大変な風雨で駅で足止めに遭い,どうなることかと思いました(苦笑). まあ,結果としては,John Hughes, Joe Norton, Thomas Artsというそうそうたる面々からproperty-based testingに 関する話を直々に聞くことができ,非常に充実したミーティングでしたが…. :-)
Workshop当日は,発表者が1人遅れて私が代役で発表したり,ポスターを入れる枠がきつめになっていてドライバーで分解して 入れるのを手伝ったりと,いろいろハプニングはありました.それでも,PCとプロジェクターの相性にまつわるトラブルはまったくなく, ICFP 2011の会場運営をしていただいた方々のご協力もあり,大変順調に進行することができました. 発表者の1人Kostis Sagonasからは直々に感謝の言葉をいただき,ひたすら恐縮の限りでありました.
来年のICFP 2012はデンマークのコペンハーゲンにて開催される予定です.Erlang Workshop 2012も同地で開催することになります. コペンハーゲンはロンドンやストックホルムには近いので,おそらく多数のErlangユーザーやハッカーが集まるでしょう.
Workshopの後には急遽ErlLoungeという形で(日本語でいうところの)懇親会をやりました.事前準備が足らなかったにもかかわらず, Voluntas 中居さんに幹事としてサポートしていただき,こちらも大変盛況でした.ただただ,感謝,感謝です.
以上,とり急ぎご報告まで
複数の実行中のプログラム(プロセス)が関わる処理では,必ず排他制御が問題になる. 複数のプロセスがあらかじめ許容された同時アクセス数を越えて共有資源を使おうとすれば, どのプロセスにアクセスを許し,どれに許さないかを,決めなくてはならない. これを mutual exclusion problem 日本語では相互排除問題という.
この相互排除問題について,最近岩波書店より 「相互排除問題」(以下「本書」とする) というそのものズバリの本が先月2011年4月に出版された. 著者は土居範久先生.日本におけるこの分野の第一人者である.
本書の参考文献リストを見ると,ほとんどの文献が 1990年以前に書かれている.しかし,内容はいささかも古いものではなく, 現在のマルチコア環境,あるいは分散ネットワーク環境において課題となっている 同期と相互排除に関する問題のほとんどを網羅している. 言い換えれば,現時点の課題の大多数は,20年前に解かれていると 言い切れるかもしれない. (もちろん,アルゴリズムの効率化や,実行環境の速度等に合わせた最適化は 現在も引き続き行われているが.)
本書では,アルゴリズムの説明にPascalに似た疑似コードを使っている. しかし,本書の本文中では逐次処理にとどまらず,HoareのCSPや分散プロセス, メッセージ通信など現在の並行処理や分散処理の基本となる概念が くまなく網羅されており,疑似コードも書籍を読み進めるに従って, 内容が拡張されていく仕組みになっている.そういう意味では,読んでいて楽しい. もっとも,例示されているそれぞれの疑似コードを咀嚼して理解するには, かなりのプログラミングの経験が必要だが.
本書のページ数は256と少ないものの,気軽に片手間で読める本ではない. 本書のテーマである「際どい部分」(critical section)や 「際どい資源」(critical resource)の扱いは, 一歩間違えれば,大変な事故を引き起こしかねないものだからだ. 別の言い方をすれば,この本を一通り理解できるようになったら, ソフトウェアエンジニアとしては一人前と言えるかもしれない. 日本語で並行処理を理解する上で,本書は必読といえるだろう.
関数型言語の国際会議 ICFP の今年の開催地は東京です.ICFP のアジアでの開催は初めてですね.HaskellもGHCがGitHubに移ったり,OCaml,Scala,F#と,関数型言語も随分増えてきました.そんな訳で関数型言語界隈はこのごろ活気付いて います.
2011年は日本における関数型言語ブレイクの年になるか? なると嬉しいなあ…という方にお知らせです.
ICFP 2011 に併設して Erlang Workshop 2011 が開かれます.Erlang Workshop にはどなたでも参加できます.発表内容の議事録を見ると,コンパイルや形式変換などのプログラミング言語理論だけでなく,テストやライブラリの話など,Erlang/OTP 関連技術の実践応用に至る幅広い論文発表がなされています.
「Erlang,良さそうなんだけど,本当に関数型言語として使えるの?」「Erlang/OTPの上に乗っているCouchDBやRabbitMQは使っているけど,他にどんな使い方があるんだろう?」…そんな疑問を持っている方は是非 Erlang Workshop に参加してください.世界中のErlang経験者が一堂に会して,Erlang/OTPの奥深い技術について聞けるのは,Erlang Workshopだけです.
さて,Erlang Workshopは聞くだけではなく,発表をする場でもあります.特に今年は日本での開催ですので,是非是非日本の皆さんのErlang/OTPによる取り組みをご紹介していただければ,主催者達も大変喜ぶかと思います.
発表の形式は以下の3つです.
論文投稿の方法の詳細については Call For Papers (http://www.erlang.org/workshop/2011/) を参照してください.
締切等についてですが
実は,私はこのワークショップの実行委員長です.会場でお会いできるのを楽しみにしております.Erlang Workshop 2011へのご支援,ぜひよろしくお願いします.
(CUFP 2011 Tokyoに関する紹介ページ にインスパイアされて(笑)書いてみました.)