2015年12月1日〜25日の間、プログラミング知識共有サイトQiitaにて、力武健次技術士事務所 所長 力武 健次が、C言語に関するアドベントカレンダーとFreeBSDに関するアドベントカレンダーを開設しました。どちらのカレンダーも多くの参加者と投稿者に恵まれ、有意義な情報が集まって意義あるものになったかと思います。
なお、力武はこの他のアドベントカレンダーにも参加し、期間中22の記事をQiitaに投稿しました。
2015年12月1日〜25日の間、プログラミング知識共有サイトQiitaにて、力武健次技術士事務所 所長 力武 健次が、C言語に関するアドベントカレンダーとFreeBSDに関するアドベントカレンダーを開設しました。どちらのカレンダーも多くの参加者と投稿者に恵まれ、有意義な情報が集まって意義あるものになったかと思います。
なお、力武はこの他のアドベントカレンダーにも参加し、期間中22の記事をQiitaに投稿しました。
(Signature: by Fréd Hébert at Erlang Factory SF Bay Area 2014) (Text by Fréd: "À Kenji, l'une des personnes que j'ai le plus hâte de revoir à chaque conference" - "To Kenji: one of the people I most look forward to seeing at each conference" - 「どのカンファレンスでも一番会いたいと思う人々の一人,Kenjiへ」)
このたび,Learn You Some Erlang for Great Good!の日本語版がオーム社より「すごいErlangゆかいに学ぼう!」(リンクは日本のアマゾン,アフィリエイトはありません)として刊行される.かなり大変なプロジェクトだったと思うが,著者のFréd(敬称略),翻訳者の山口さん,編集者の方々,レビュアーの方々に深く敬意を表したい(私も微力ながらレビュアーとして参加させていただいた).
この本はとにかく内容が盛りだくさんで,原著者の情熱が伝わってくる文体になっている.教科書らしくはないが,Erlangについて必要なことは一通り網羅してある恐ろしい本である.情熱を量と質で証明するのは容易なことではないが,この本ではそれができている.若くて元気な人達が本を書いたり訳したりすると,ここまで元気になるのかという良い例である.その意味で,Armstrong御大のProgramming Erlang(第2版)とは,まったく別のアプローチの本ということができるだろう.(こちらの翻訳もオーム社より「プログラミングErlang」(第1版の翻訳)として出ている(第2版の翻訳を期待したい).)
これを機に日本でもErlang/OTPに触れる人達がますます増えることを願う.
プログラマといえるほどプログラミングをしていないし,できてもいない.その焦燥感が,プログラミングを止めていない最大の理由だろうか.
ともあれ,以下の記事に触発されたので,ちょっとだけ書いてみよう.
プログラミングは本当に精神力を使う.頭の中に非常に多くの事柄を記憶しておく必要があり,間断なく襲ってくる外部からの割り込みに耐えないといけない.記録と記憶の外部化については前述の記事群に述べられているので細かくは書かないが,実際に頭が良く回るようにするには,体力を使わないといけない.年齢が上になればなるほど,これは厳しくなってくる.だから,
というのは基本だと思う.
プログラミングも所詮は人間の行動の一部でしかない.毎日やるには,理由が必要だ.どんなことでもいいからやるべきことを持っておく.それが今日の生活の糧のためであってもよし,あるいは近未来の夢の実現のためでもよし.その課題を解決するために,プログラミングに取り組む.そういうことを実現できていれば,続くんじゃないだろうか.
人間は本当に「ええかっこしい」な生き物だ.できなかったことの言い訳をすることが嫌な人にとっては,コミットの件数が目に見える形で出てくる,GitHubのContributionsリストなんかは最高の理由付けになるだろう.毎日1件でいいからコミットするか,新規issueを上げるだけで済むのは,簡単といえば簡単だが,これをpublic repositoryだけに絞ると,結構大変かもしれない.
それでも,コーディングができなくても,新規issueを上げる,あるいは課題を明確にして記録するのは,プログラミングの一部であると考えて良いだろうと思う.
以前はGitHubはUS Pacific Timeで動いていたので,1日が切り替わる時刻(日本だと午後4時か午後5時)になると,プログラミングのことを考えるようになっていた.最近はローカルタイムで記録してくれるようになったので,寝る前,そして起きた後の誰にも邪魔されないであろう時間を,プログラミングにあてている.ちょっと時間を取るだけでyak shavingはできるし,そうでなくとも取り組むべき課題さえ整理できていればいろいろなことができるだろう.毎日やるというのは本当に大事だと思う.
MacBook Airを使うようになってから,ローカルにコーディング環境を持てるようになったので,どこでもある程度のプロトタイピングはできるようになった.別にOS Xでなくてもいいのだが,プロトタイピングの環境はすぐに使えるようにしておいたほうがいいだろう.それに,出先でちょっと時間が余りそうな時は,いつでも何かできるように,環境を持ち歩く習慣をつけることは大事だと思う.そのためには,環境整備を日頃から怠らないのが大事.
このたび2014年4月21日に,日本技術士会に技術士登録変更届出書を提出し,「力武健次技術士事務所」を個人事業として営む旨届け出ました.これに伴い,2014年4月24日に,豊能税務署と大阪府豊能府税事務所に,個人事業の開業届他関連書類を提出しました.この開業届の提出をもって,法的に正式に個人事業主としてのスタートを切りました.
開業といっても,やることは今までの技術者と研究者としての活動の延長であることには変わりありません.昨年2013年10月より6ヶ月強の間各種求職活動を行って来ましたが,諸事情勘案の結果,自分ができること,やりたいことをする上で,被雇用者ではない形を取るのが最善の道であろうという判断をしました.その上で,まずは個人としてスタートしようということで,自分の持つ技術士(情報工学部門)のライセンスを活かした形で始めることにしました.
もっとも,世間を賑わせている米国西海岸のスタートアップとは違い,開業に伴う華々しい話は一切ありません.当面の目標としては,まずは借金なしの経営をしつつ,社会に対して微力ながら自分の能力を役立てればと考えています.これは大変難しいことですが,始めた以上は覚悟をもって挑む所存です.
業務内容は情報工学全般,特に過去経験してきた情報セキュリティ,ネットワーク,Erlang/OTP,FreeBSD,モバイルの無線技術関連を主としつつ,これらにこだわることなく何でもやるつもりです.何かお役に立てること,お困りのことがありましたら,遠慮なくご相談ください.連絡の方法については以下のURLを参考にしていただければ幸いです.
力武健次技術士事務所のページ URL:http://rikitake.jp/ (2014年12月にURLを更新)
ふと思い立って,自分の2007年の年頭所感を読み返してみた.面白かったので再掲する.
6年3ヶ月経過して実現できたのは
…ぐらいでしかない.
人間というのは,恐ろしいほど変わらないものだということを,実感する.そして,今は2007年よりも,世界の状況はさらに悪化していることに,驚くばかりである.
(以下,2007年01月03日 10:44JST の mixi 日記より引用.「今年」という表現は,2007年のことであることに注意されたい.)
2004年に親父を亡くして以来,人生後半なのだというのを強く意識するようになった.簡単にいえば,年寄りになったということである.つまり,糾弾する側から糾弾される側に,高齢化社会にとってはリソースを食いまくる迷惑な存在になったということだ.
そろそろ人生のいろいろな活動から撤退して死ぬための準備をしなければならなくなったことを痛切に感じる.
この20年は
に明け暮れたような気がする.
もっとも,1.については
1.1 政府と役人自身があらゆる分野で責任を放棄するというもっとも凶悪な戦略を実行しているので,いったい誰が悪いのかということが見えなくなってしまった
1.2 私も含め「教師は憎むべき対象」「年寄りは害毒」という考え方が一定世代以下の人たちには十分に行き渡ったせいか,その無謬性を前提にした犯罪が増えてしまった
1.3 本当の悪は政府の裏についている国民全体(もちろん自分も含む)と,政府を裏で動かしているマフィア(圧力団体ともいう)達であることが次第に明らかになりつつある
という問題が見えてきてしまったので,昔ほど単純に主張できなくなってきている.また,自分がかつて敵対していた組織から,禄を食むことを余儀なくされているからかもしれない.好き嫌いや良し悪しだけでは仕事は選べないし,どんな組織の中にもうまくやっていける人間はいるので,簡単に敵味方の論理では語れなくなってきた.
2.については,日本は核攻撃されても国境を開かなかったのだから,私の生きている間には徹底開国は実現しないだろうと思う.もっとも,そうなる前に労働力不足で 移民の導入は必須だろうけど.そうなったらなったで生きていく覚悟はあるが,大半のdomesticatedされた(domesticでないことに注意)日本人にはつらかろうと思う.まあ,彼らがどうなろうと,私は私でやっていくしかないが.
3.については,率直な話コンテンツ産業にかかわればかかわるほど,空しくなってやる気が失せていくのが現実だろう.多くの創作行為が違法とされている中で,本当に面白いものは不法行為の中にしか残らないのではないかと思う.ならばその不法行為を合法化すればいいのだが,どうもコンテンツ産業のお化けたちは死ぬまで吸血鬼でいたいらしい.
一言で言えば,この20年間,無駄な戦いをやっていたなと思う.ヘタに正面切って戦うよりは,食うためのゲリラ戦に徹したほうがずっと良さそうだということに気がついた.原点に返ったともいえるのだが.
今年はとりあえず
ぐらいのことはしたい.
…これだけ書けば,new year resolutionとしては十分だろう.
(以上で引用終わり)
2013年2月1日より,Bashoジャパン株式会社にて,シニアソフトウェアエンジニアとして働くことになりました. 関係者の皆様には,私の就職にあたり,多大なるご協力とご支援をいただきました.厚く御礼申し上げます. 今後は,自分のソフトウェア開発技術の基礎から叩き直す覚悟で精進致します.どうぞ今後ともご支援のほど,よろしくお願い致します.
Basho TechnologiesにはErlangにおいても分散データベースにおいても世界第一線級のエンジニアたちが集まっており,日々新しいことを吸収していかなければ,自分がついていくことさえ難しいのですが,その分自分が今まで培ってきたものを最大限活用できる可能性のある場所でもあります.その意味で,大変ではありますが,充実した日々を過ごしています.現時点では,少なくとも1990年から2年間外資系企業で働いたことは間違いなく役立っています.
今後,どのような仕事を自分がしていくのかは,まだ予想がつきません.Bashoの分散データベースRiakはすでに各社の最前線で活用されており,多くの機能要求も出ています.これらの要求に対して,迅速な開発と高い品質の維持を持って応えることに貢献しなければならないことは言うまでもありません.そこに自分のネットワーク技術者,OSプログラマ,そしてシステム管理者としての経験がどれだけ活かせるか.そこが勝負です.
複数の実行中のプログラム(プロセス)が関わる処理では,必ず排他制御が問題になる. 複数のプロセスがあらかじめ許容された同時アクセス数を越えて共有資源を使おうとすれば, どのプロセスにアクセスを許し,どれに許さないかを,決めなくてはならない. これを 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に関する紹介ページ にインスパイアされて(笑)書いてみました.)