今月の Software Design : 2013/03 (その4)

 「今月の Software Design 」の3月号の4回目の投稿です。

 今回は「SSD ストレージ爆発的普及の理由」、「社内 LAN 撲滅運動」、「IPv6 化の未知も一歩から」と「ハイパーバイザの作り方」の記事の要約と感想を書きます。

 フォーマットは各記事、以下の通りになります。

 

・記事のタイトル
( 1 行目 ) 記事の要約
( 2 行目以降 ) 感想

 

SSD ストレージ爆発的普及の理由

 SSD などフラッシュメモリを利用したストレージの費用や性能についての解説記事になります。まず、エンタープライズ HDD とコンシューマ SSD における GB の単位記憶容量当たりの値段が逆転した事とランダムライトのアクセス性能の比較から、今後 SSD の利用がますます高まってゆくと予測しています。また、SSD 以外のフラッシュメモリストレージとして、SSC (Solid State Card) と呼ばれる PCIe インターフェイスを通してアクセスされるフラッシュストレージや SSD Appliance と呼ばれる機器についての紹介と実測性能について示しています。

 記事で書かれている SSD の性能限界というのは、ATA プロトコルの変換処理を行うファームウェアによるボトルネックの事ですね。ATA プロトコルは、C/H/S (セクタ/ヘッダ/シリンダ) や LBA によって、HDD の各セクタに格納されているデータを読み書きするプロトコルですが、これは HDD に最適化されたプロトコルでフラッシュメモリの構造やアクセスには適していません。そのため、フラッシュメモリへのアクセスを変換する処理をデバイス側で変換しているのですが、高負荷時にはここがボトルネックになると言われています。

 こうした過去の互換なんか捨て去り、CPU から直接フラッシュメモリを触れるようにしたデバイス (RAW Flash) が注目されています。FusionIO に代表される SSC のほとんどは RAW Flash ストレージで、性能は既に折り紙つきです。また先々月の SD で紹介された F2FS など、RAW Flash ストレージに特化したファイルシステムなどシステムソフトウェアの面でも充実してきており、これらの利用は今後高まってくると思います。

 ただ高いです、とっても高いです。FusionIO などの SSC は桁が 1 個違います。SSD Appliance に至っては桁が更に 3 個上がってきます。個人で使って遊ぶにはまだ高いです。

 

 

・社内 LAN 撲滅運動

 社内のシステムのほぼ全てをクラウドサービスに移行して、それでいて ISMS 取ったよという記事。どういった業務システムをどのサービスを使ってクラウド化したかという事例の紹介と、コスト低減とエンジニアのヤル気を勃興させる策としての BYOD の取り組みについて紹介しています。

 中小 IT 企業の経営者が喜びそうな記事です。業務効率・士気・ヤル気を下げる象徴として名高い ISMS ですが、その実これが何なのかを把握している人は多くはないんじゃないでしょうか(私もよく知りません)。どうやら「社内セキュリティやらコンプライアンス云々とかに表向き力を入れてますよー」というアピールをしている組織に対して、お墨付きを与える 行政機関の認定証のこと みたいです。ISMS なんかよりも遥かに厳しい監査が入る上場企業において、次々と情報漏洩が起きる昨今において、営業トークに色を付けるためかどうか知りませんが、こんなくだらない認定を受ける企業の気が知れないぜ(( ゚д゚)、ペッ)。とか思っていましたが、サーバーワークスさんの BYOD 取り組みは、その点うまくフォローされているみたいです。

 これだけ読むとサーバーワークスという会社は良さそうな会社です。アリエル・ネットワーク CTO の井上さんから「洗脳されやすい」の称号をありがたく頂戴した私は、会社 HP と社長のブログをざっと見て、早くもこの会社に興味を持ちました。

 

 

IPv6 化の未知も一歩から

 IPv6 プロトコルと IPv6 関連の国内での最新動向についてまとめています。まず IPv6 のプロトコル策定の経緯と、プロトコルをより詳しく知るためのドキュメント等の紹介、そして IPv6 アドレスの管理運営体制についての紹介をしています。後半では IPv6 関連の最新動向として、昨年 11 月に開催された Internet Week 2012 について紹介しています。

 IP Meeting 行きたかった・・・。パスまで取得したのに、やむを得ない事情(研究室召喚)で行けませんでした。

 

 

・ハイパーバイザの作り方

 今回は BSD のハイパーバイザ BHyVe についての紹介をしています。BHyVe は現在 BSD コミュニティで開発されているハイパーバイザで、KVM と比較するとまだ実装が初期段階で機能的な面では制限が多いですが、初期段階ゆえに実装が非常にコンパクトで、コードの見通しが非常に良いというのが特徴みたいです。今回は BHyVe の紹介と、ソフトウェアアーキテクチャの概要、及び使い方について紹介しています。

 どういうわけか、最近の SD は随分と BSD を推します。記事では、BHyVe では X が使えなかったり、ATA や e1000 のデバイスドライバが無かったりと制限がある反面、コード量がコンパクトだと言っています。しかしソースコードをダウンロードしてみると、結構な量があります。C のソースコード (*.c) とヘッダーファイル (*.h) 、あとアセンブラファイル (*.s) の合計を計ってみると、なんと 1,200 万行以上あります。もちろんライブラリなんかも含まれちゃってますが、それにしてもデカイです。

 筑波大などが作ったハイパーバイザの実装 BitVisor では、現時点での最新版 (version 1.3) において、全て込みの同じ条件で検索しても 50 万行程度です。コア部分に至っては 4 万行程度と、コード行数だけで比較するとこっちの方がずっとシンプルです。

 

今月の Software Design : 2013/03 (その3)

 「今月の Software Design 」の3月号の3回目の投稿です。

 今回は第一特集「もっとクラウドを活用してみませんか?」の後半の章と、第二特集の「実践!ワイヤリングの教科書」の要約と感想になります。

 フォーマットは各記事、以下の通りになります。

 

・記事のタイトル
( 1 行目 ) 記事の要約
( 2 行目以降 ) 感想

 

・第一特集④:マルチクラウド管理ツール『Scaler』入門

 タイトル通り Scaler についての紹介をしています。まず、現在市中には様々な IaaS クラウドサービスがあり、また OpenStack や CloudStack なんかを使ってプライベートクラウドを簡単に構築できるので、こいつらを統一的に扱えるソフトウェアがあったら便利だよね、という背景説明から入り、Scaler 社が提供する Hosted Scaler を使って、Scaler の使い方と、Scaler が提供する各機能についての紹介をしています。記事では、Amazon EC2 と IDCF Cloud を使って Web サービスを提供する仮想環境の構築を行なっています。最後に、Scaler ユーザ会についての紹介を行なっています。

 複数のパブリッククラウドを跨ぐユースケースについてはよくわかりませんが、プライベートクラウドパブリッククラウドを統一的に扱えるのは非常におもしろいです。また Scaler が、OpenStack や CloudStack といった個々の IaaS クラウドソフトウェアが存在する場合にも成立しており、役割に的に非常にうまいポジションにあると思います。

 

 

・第一特集⑤:それでも Eucalyptus をお勧めした理由

 現在人気が下火(と記事にしている)の Eucalyptus についての非常に短い紹介記事です。Eucapyptus そのものについての紹介と、最近の開発コミュニティ事情についての紹介からはじめ、Eucalyptus のソフトウェアアーキテクチャの概要を解説しています。最後にマスコットキャラクターの紹介をし、みんな使ってねといったメッセージで締めくくっています。

 正直、それでも Eucalyptus を使う理由がよくわかりません。記事では Web UI が使えるとか、果ては可愛いイラストで女性に対して云々みたいな事が書かれていましたが、あんまり本質的じゃない気がします。

 同じような機能が提供されている OSS が複数ある環境で、どれを選択するかを決めるポイントとしては、導入事例、ユーザーコミュニティ・開発コミュニティの活発さ、その後に使いやすさや機能・ソフトウェアの設計といった順じゃないかと思っています。

 取り分けこうした低レイヤなソフトウェアに関しては信頼性が物を言うケースがあるので、導入事例や開発コミュニティが活発かどうかは非常に大切です。また、周りに使っている人間が誰も居ないモノを使うのには勇気が要ります。なので、ユーザコミュニティが活発かどうかというのも重要なポイントでしょう。

 こうしたテーマについてはエリック・レイモンドの著書でも触れられていましたが、実体験からも地道なコミュニティ活動がユーザを作ってゆくのではないかと思っています。

 

 

・第二特集①:ネットワーク高速化とワイヤリング技術解説

 ここではネットワークの物理ケーブルと物理配線について詳細に解説しています。まずザックリとした LAN ケーブルの規格の話から始まり、仮想化に伴う配線形態の変位について解説した後、データセンターなどの比較的大規模なシステム環境における配線を例に、何がどのように使われているのかを解説しています。そして、各物理回線の種類と使用上の注意点について詳細に解説し、最後に物理配線の接続形態について解説しています。

 非常に濃い内容です。私のようなヌルいソフトウェア屋には、あまりにレイヤが低すぎてついて行けません。LAN ケーブルの規格と、それぞの制約くらいの話には辛うじてついて行けますが、他の通信ケーブルやプロトコルの話題には調べながらでないとついていけません。ネットワーク屋さんの真髄を垣間見た気がします。

 

 

・第二特集②:奥が深い LAN ケーブルの構造と配線技術

 ここでは LAN ケーブルの構造と配線についての話になります。まず、LAN ケーブルの種類とそれぞれの回線構造、パルス特定について解説しています。LAN ケーブルの配線についての話では、LAN ケーブルを扱う上での注意事項及び、配線する上での注意事項についていくつか解説してくれています。最後に、LAN ケーブルの作り方と測定について簡単に解説しています。

 IT の中小企業のインフラ担当者必読の内容かもしれません。我らがアリエルでは引越しの度に過労気味のインフラ担当者がこれらの作業を数日かけて、およそ一人でこなします。

 またここでは、専門用語が容赦なくバシバシ登場します。「より」だの「成端」だのと未定義単語が頻出します。成端は熟語の形から端を作ることかと意味が類推できますが(実際はケーブルにコネクタを接続する事を意味するみたいです)、「より」とはなんぞや。と思ったら、私の国語力が弱かっただけみたいです。「よる」とは「撚る」と書いて、中尾彬の首元のくるくるしているマフラーの形を表します。

 

 

・第二特集③:プロに聞く、光ファイバーケーブルの知識と接続

 光ファイバーケーブルの構造・接続方式・接続手順についてのとってもマニアックな話になります。まず、光ファイバの物理構造や種類、そして伝送方式について解説しています。次に、光ファイバーケーブルがどのように接続されるのかといった接続方式について、そして最後に具体的な接続手順について、図解入りで紹介しています。

 話のレベルは物理レベルから、物理ケーブルの内部構造、そしてここではついにケーブルの材料についての話が入ります。正直やりすぎでしょう。ここまで来ると逆におもしろいです。実際の光ファイバーケーブルをほとんど触ったことが無い身としては、コネクタ接続以外の接続方式があるとは知りませんでした。とはいえ、実際の接続作業について図解までしなくてもと思います。他に「ソフトウェア」的な話は無かったのでしょうか。

今月の Software Design : 2013/03 (その2)

 「今月の Software Design 」の3月号の2回目の投稿です。

 今回は第一特集「もっとクラウドを活用してみませんか?」について書きます。

 フォーマットは、例によって各記事について以下の通り、要約と感想を書いてゆきます。

 

・記事のタイトル
( 1 行目 ) 記事の要約
( 2 行目以降 ) 感想

 

・第一特集①:OpenStack でクラウドサービスを始めるには

 OpenStack についての紹介を一通りしてくれています。OpenStack の歴史に始まり、各コンポーネントとその関連、devstack による環境の構築、そして OpenStack の事例と最後にコミュニティについての紹介をしています。

 個人的には、特に各コンポーネントとその関連の話と、devstack を用いた環境構築の話がとても勉強になりました。あと OpenStack のコミュニティについての紹介がありましたが、つい先日も OpenStack 勉強会があったりと、OpenStack のユーザコミュニティの充実ぶりには驚きます。実は、ちょっと前まで OpenNebula を使ってクラウド環境をつくってみようかと思い、勢い余って Opennebula 3 Cloud Computing を買ってしまい、OpenNebula について色々調べていたのですが、国内における圧倒的なユーザコミュニティの充実ぶりを目の当たりにし、OpenStack に日和って Openstack Cloud Computing Cookbook を買って読んでます。

 OpenStack を使ってテスト用のクライド環境を作りたいけどデスクトップ無いよ・・・と思っていたところ、Nested KVM を知りました。Nested KVM は、ホスト OS から起動した VM インスタンス上で、別の VM インスタンスを起動するためのカーネルモジュールの機能になります。CPU の仮想化機能をゲスト OS 側の仮想 CPU でも利用できるようにすることで、こうした事が実現できます。実際これはめちゃめちゃ便利です。

 今回の記事で紹介されている DevStack は、Ubuntu Server 10.04 か Fedora 16 が推奨環境となっており、それ以外の環境だとセットアップの段階でコケます(僕が使っている Debian Wheezy がそうでした)。しかし Nested KVM を使えば、Debian 上で Ubuntu Server 10.04 を動かし、そこで DevStack を使ってプライベートクラウドのテスト環境を作れます。

 Nested KVM の使い方は、こちら の irix_jp さんのブログエントリが詳しいです。あと、x86 環境で記事の通り VM インスタンスを起動しようとしても (登録済みイメージの CPU アーキテクチャが 64 bit なので) インスタンスは立ち上げりません。独自の VM イメージの作成方法については、openstack のドキュメントページ が参考になります。

 

 

・第一特集②:CloudStack を試して見ませんか?

 こちらも CloudStack について、機能の概要から構築手法まで一通り解説してくれています。環境の構築では DevCloud を利用し、VM インスタンスの起動及び起動した VM インスタンスへのアクセス方法について解説しています。

 CloudStack については、クラスタだのポットだのゾーンだのと、非常にややこしそうな印象を持っていましたが、やっぱりややこしいです。記事では GUI 環境が充実している事を売りにしていますが、個人的にはそんなの要りません(裏側で何やってるかわかんない上に、処理でコケた際に何がいけないのかが解りづらいので GUI 大嫌いです)。

 感想が CloudStack に対する激しい dis になってしまいましたが、別に CloudStack を意図的に攻撃しようなんてつもりは全然ありません。

 

 

・第一特集③:Cloud Foundry の簡単デプロイがお勧め!

 PaaS クラウドの構築・運用・管理を支援するオープンソースプロジェクトの CloudFoundry について、概要とインストール方法について紹介し、Sinatra を提供する環境を実際に構築する手順について示しています。最後に、Cloud Foundry の機能の各機能についての概要を説明しています。

 クラウド事業者からすると、IaaS よりレイヤの高い PaaS の方が責任範囲が広がるのでエンジニアリングの腕の見せ所で面白そうな反面、どういったプラットフォームを提供するのが良いのかというビジネス的な難しさがあるように思えます。

 ただ記事で述べられているように、PaaS サービスの裏側の仕組みについては、文字通り表に出てくる事はほとんと無いことですし、また記事の最後で「Cloud Foundry のソフトウェアアーキテクチャが洗練されている」という事なので、PaaS の仕組みについて知る意味で Cloud Foundry について調べる価値はあるかもしれません。

 

ウォレン・ベニス (著)「リーダーになる」を読みました

 以前のブログエントリ で、元リクルートの人に勧められた行動経営科学に関する本を読むというところまでを書きました。本のタイトルを書きませんでしたが、ウォレン・ベニスの「リーダーになる」という本になります。

 

リーダーになる[増補改訂版]

リーダーになる[増補改訂版]

 

 本書は、リーダーとはどんな存在で、どのような資質を備えているかについて具体的に書きながら、それでいてそれぞれの事柄についてある種の普遍性があるように思える良いほんだと思います。

 ただ普遍性を持たせすぎたためか、観念的になりすぎている件が多々ありました。自分の経験に照らし合わせて共感できる内容については十分に理解できるのですが、そうでない内容についてはあまり伝わってきません。

 例えば [第八章:人を味方につける] の人の信頼を勝ち取るリーダーの振る舞いや、部下や周りの人間をヤル気にさせる期待をさせるといった話には、身近や過去に出会った人間を頭に思い描くことで、そこで論じられている内容を十分に理解することができました。

 一方で 四章、五章、そして七章で出てくるような話がイマイチよく理解できません。例えば [第六章:自分を広げる] で書かれている真実の話や、若さの話、天才の話など、今の僕には理解することはおろか、そこで言われている事が現実に当てはまるのかどうかすら判断出来ません。これは志や情熱についてなど、更に別の話についても同様です。

 

 (真実の話・・・物事には二つの真実がある。大きな真実と小さな真実である。小さな真実は虚偽の反対であり、大きな真実はもう一つの真実の反対。)

 (若さの話・・・若さは齢を重ねることで獲得する。人は若い頃の方が古臭く愚かなものだ。対してパブロ・ピカソなどは 80 年かけて若さを手に入れた。)

 (天才の話・・・天才は全てを与え、出し惜しみしない。天才が天才であるゆえんは、この『寛大さ』にある。)

 

 そういう意味で、これらを理解するには、自分は人生経験が足りないのかもしれません。

 10年後くらいに読み返すのもいいかもしれません。

 

 本書を知らないけれども、忙しくて読むのがめんどくさい読者のために、以下に本書の要約(メモ)を載せます。

 

・[第一章] 現状を打破する
 - 会社ぐるみの不正や、国家元首のスキャンダルが取りただされる昨今、リーダーの存在が重要視される。リーダーが重要視される理由は、組織が正しく機能するように責任を持つのがリーダーであり、組織が成功するかどうかは、トップに立つ人間の器量で決まる。

 - 世の中を客観視する件 (ただ世の中を見ていると・・・)
  - 合衆国の建国の父達は、合衆国憲法の基礎に「公共の美徳」を据えた。しかし今では、公共の美徳より特定の集団の利益が優先されるようになり、最近では個人の関心事が最重要事項になることも多い。

・[第二章] 基本を知る
 - リーダーとはどういう存在なのか?ということ

 - リーダーが備えている基本資質について
  - 指針となるビジョン:「リーダーは公私において、自分がなにをしたいのかをはっきりと理解している。また難局に直面した時や失敗した時でさえ、自分のしたいことを貫く強さを持っている。」
  - 情熱:「リーダーは自分のしていることに愛情を持ち、楽しんでいる。自分情熱を伝えることのできるリーダーは他者に希望を与え奮起させる。」
  - 誠実さ:誠実さを構成する3要素
   - 自分を知ること
   - 率直であること
   - 成熟していること
  - 信頼:「誠実なリーダーは信頼される。信頼は他者から与えられるもので、信頼を得られないリーダーにリーダーの役割は果たせない」
  - 好奇心と勇気:「リーダーはあらゆるものに興味を持ち、貪欲に学ぶ」

 - リーダーの特性につて議論している。
  
 - リーダーシップとは何か?
  - 自分で自分をつくり上げること。自分が生まれながらにして持っているエネルギーや願望を発見し、それに沿って行動するための自分らしい方法を見つけ出すこと。

・[第三章] 自分を知る
 - 自分自身によって自分を作り替えるという話
   - いくつかの事例を紹介
 - 自分は何者か? 何をしたい or 何をすべきか?
 - 自分を知り、自分をコントロールする人間が有形無形の報酬を得る(と言っている)
  - 自分自身になる方法、自分が人生の主人になる方法、自分を表現する方法。これを実現するための4つの基本テクニックの話
   - 1. 自分の最高の教師は自分自信の件 (学習する動機づけが行われている)
    - 学習の基本的な動機は2つある。1つは「知らなければならない」という欲望や乾きや飢えを満たしたいという人間の根源的な思い。もう1つが「役割意識」、「あるべき自分と今の自分の乖離」を自覚することで生じる思い。
   - 2. 責任を引き受ける(上手く立ちまわる。誠実に取り組み相手の理解を得る。)
   - 3. 貪欲に学ぶ(今までやった事がない事をやる事を楽しむ)
    - 本書によると、これは気質の問題だという。怖いもの知らずであること、楽天的であること、自信家であること、そして失敗を恐れないこと
   - 4. 経験を吟味して真の理解に達する(反省し総括する事。物事(過去の出来事や未来の予定)を客観的かつ構造的に見つめ、分解したり評価したり組み立てたりすること。)
   

 * 気になる内容
  - ヴァージニア大学ギブ・エイキン助教授の管理職の学習経験に関する研究報告「組織の力学」の一節について
   「学習は人を成長させる。人は学ぶことによって知識を得るのではなく新しい人間になる(中略)学ぶというのは、何かを得るのではなく何かになるということなのだ」

 - 内部思考型の人間と他者思考型の人間の話

 * 疑問
  - 誰もがリーダーになる必要があるか?
   - ヒント : p124
  - 誰もがリーダーとなる社会は存続しうるか?
   - ヒント : p118
    - 「集団は多様性に寛容であるべきで、個性を抑圧しなくても結束は可能である」

・[第四章] 世界を知る
 - イノベイティブ学習:リーダーの学習スタイル
  - 未来を見通す
   - 周りがこう言う or そうするからするのではなく、自分がこうしたいからするという姿勢

  - 他人の意見を聞く
   - 素直になりましょうという話。盲目的な考えに囚われたり、頑固な姿勢では柔軟性が無くなり、時に物事を見誤る。

  - 参加する
   - 物事の結果を享受する側ではなく、結果を生み出す原因の側になる。

  - リーダーになるための具体的な方法論
  - 本を読め(古典を学べ)!
   - 自分の肥しを作る
   - ( 資格や学位よりもリベラルアーツが重要 )

  - 自分の直感を信じろ!やりたい事をやれ!

  - 旅に出ろ!
   - 旅に出ることで自分の能力を総動員させることができ、能力の発掘ができる。また、環境が変化することで自分の長所や短所を認識できる。
    - ユダヤ人の例 : 流浪の民ゆえ卓越した能力を持つ
    - トマス・ジェファーソンベンジャミン・フランクリンが旅人だった話

  - 自分と対話しろ!
   - 一日最低一時間は一人で考える時間を作り、自分の可能性について考える
    - 「ごっこ遊び」をいつしかしなくなった話

  (友人と師)
  - 「どの時代にも師がいないリーダーは居なかった」
  - よき師とは・・・
   - 本人も気づいていないような資質を見出す教師
   - あるべき姿を示してくれ、自分の可能性を広げてくれる人物

  - よき友人とは・・・
   - 真実を語ってくれる人物(そこから多くの事を学べる)
   - その人物を支える個人または集団 (学生時代の仲間、戦友、同僚)
    - e.g. フランクリン・ルーズベルトのブレーントラスト, JFK のアイルランド系マフィア, アイゼンハワーの参謀幕僚

  - 間違いをおかせ!
   - リスクを恐れず決断することが重要。もし間違をおかしたら、間違いを反省し、二度と同じ間違いをしないようにする。
   - 最悪なのは、間違いを無かったことにすること。
    - これらについていくつかの例を用いて説明している

・[第五章] 直感に従う

 - 物事を単純に考えようよ。という話

 - 直感とは
  - 絶対にすべき事を一瞬のうちに映し出すビジョン。そしてそれは誰しもが持っているが、リーダーは自らの直感を信頼する。

 - 何かに対して手当たりしだいに挑戦し、本能的な勘を信じる。

 - 幸運について
  - 幸運と心構えの関係の話
   - 自分にとって最も真実だと思える事を守りぬく、ただ運もそれに関わってくるが、運は大胆な人間を好む。
     ( 大胆な人間=心構えができている人間 )
   - 大胆な人間には幸運が宿る。

 - 真のリーダーと偽のリーダーの話
  - アイデアが浮かんだらたとえルールに反するものでも信じなければならない、それができたらあとは自信と勇気。アイデアの実現に必要なものはこれだけ。それが無いのは偽のリーダー。

・[第六章] 自分を広げる
 ( - マズローの5段階欲求モデル )

 - 物事を吟味する話 (1)
  - 過去を振り返り、何故そのような事態になったのかを分析すること。
  - 一般的に失敗した時に行われることが多いが、成功した時にこそやるべき。
  - 過去を振り返り、何故そのような事態になったのかを分析すること。
  - 人間は経験を吟味することで感情を整理し、理解し、問題を解決し、前に進めるようになる。
  - 経験に振り回されるのではなく、経験を活用する。

 - 真実についての話
  - 物事には二つの真実がある。大きな真実と小さな真実。
   - 小さな真実:虚偽の反対
   - 大きな真実:ひとつの真実の反対

 - エリク・エリクソンの人間の書く成長段階における様々な葛藤の話
  - 経験を吟味し、内なる葛藤を解決できた時、人は独自の観点を持つようになる。

 - 独自の観点の話
  - 観点とはものごとをどう見るかであり、その人に備わっている固有の視座(見解)にほかならない。
  - 自分が何を考え何を求めているかがわかっている人(独自の見解を持つ人)は、きわめて有利な立場に立つことができる。

 - 人生の目標設定についての話
  - ハーバードロースクールのデレク・ベル教授曰く、具体的な野心や欲望は持たないほうが大事である。むしろどんな人生を歩みたいかを考える方がもっと重要だ。それさえ決まれば残りはおのずと明らかになる。

 - 自分自身というもの(自分が何者なのかということ)を表現すること
  - 3つのテストの話

 - 志の話
  - 志は誰にも教えられることができない、しかし自分で目覚めさせることができる
  - 人生の可能性に対する情熱が人を高みにも持ってゆくが、単純な欲望に変わることもできる。
  - 志と欲望の違いの話
   - 自分を表現することと、自分を誇示することの違い

 - 情熱の話
  - 情熱は周囲に伝染する。自分の意志や信念を堂々と伝えれば、人は自然と集まってくる。
 
 - リーダーには高い能力が求められるという話
  - リーダーは業務に精通し、熟達していなければならない。自分の役割や職務を実行するだけでなく、それぞ完全に自分のものにしている。
  - その道の達人と呼ばれる人は、自分の仕事を天職とみなし、脇目もふらずにその仕事にのめり込んでいる。またどのようなチャンスをもつかみ、愚行と思われるようなことにも挑戦する。遊ぶように学ぶこと、それこそ最強の学習だ。
 
 - 天才の話
  - 天才は全てを与え、出し惜しみしない。天才が天才であるゆえんは、この『寛大さ』にある。
 
 - 戦略的に考える話
  - どのような複雑なものでも、それを細かく分解し、核となる部分を抜き出せばそこから普遍化してゆくことができる。どのような立場で何をするにしても、最初に行う事は終着点を明らかにすることだ(登山家は目的地を定めたら、そこから逆算してスタート地点を決めるという)。

 - ありふれた人間と勇士の違い
  - ありふれた人間はすべてを幸福か災厄と受け止めるが、勇士はすべてを試練と受け止める

 - 小説家カルロス・フェンテス曰く
  - 若さは齢を重ねることで獲得する。人は若い頃の方が古臭く愚かなものだ。対してパブロ・ピカソなどは 80 年かけて若さを手に入れた。
 
 - 創造の話
  - 創造とは個人の領域に属するものであって、集団の領域に属するものではない(友人や家族、あるいは組織といった集団に埋没した青春時代に創造性は発揮されにくいという話)。

 - 成長の話
  - 知性や情緒の成長は年齢とともに減速するものではない。リーダーはその他大勢とは違い、何かを知りたい、経験したいという欲求をいつまでも失わない。

 - リーダーシップとマネジメントの違い
  - 人に何かをさせるのがマネジメント、人が何かをしたくなるように仕向けるのがリーダーシップ。
  - リーダーとして成功するかどうかは、他人をどれだけ惹きつけ、やる気にさせることが出来るかどうかにかかっている。

・[第七章] 混乱をくぐり抜ける

 - 正しい判断力は経験によって培われる。経験を吟味し理解し活用する。様々な場面がリーダーの実践の場所となり学びの場となる。リーダーは想定外の出来事から学びを得る。
 - リーダーシップを学ぶということは、変化に対処する方法を学ぶことでもある。

 - リーダーは実践しながら学ぶ。問題がリーダーを作り上げる
  - (プログラマと同じじゃね?)

 - やっかいな上司の話
  - 悪い上司、やっかいな上司でさえ学びを得る
  - ラッキーストアの元 CEO ドン・リッチー曰く「そういう上司に出会うと自分の信念が試される。自分は何をやりたくないのか、何に賛同できないのかがよくわかる」
 
 - リーダーは経験を知恵に変え、組織の文化を変える。

・[第八章] 人を味方につける
 - 人に何かをさせる話
  - 相手の恐怖心を利用したり脅迫したりすることで、ある程度相手に何かをさせることはできるが、その行動には限界があり、また恨みを買う。
  - 人に何かを無理強いすることは出来ないことをリーダーは肝に銘じておくべき。また相手にとらせる行動は、常に自発的でなければならない。リーダーが尊敬でき、また社会に対してなんらかのビジョンを持っていることがわかったなら、部下や社員は自ずと自発的な行動を取る。

 - 人を味方につける条件
  - 信頼を生み、それを維持するリーダーには次の要素が備わっている。これを備えたリーダーは人を味方につけることができる。
   - 一貫性 :リーダーは常に首尾一貫しており、初志貫徹をモットーとする。
   - 言動一致:真のリーダーは、自分が支持する理論の通りに生きている。
   - 頼りがい:リーダーは重要なときにいるべき場所にいる。個々ぞという時にはいつでも仲間を支援する準備がある。
   - 誠実さ :リーダーは、過去に誓ったことや約束した事を必ず守る。
 
 - 優れたリーダーは能力とビジョンと美徳をほぼ完璧なバランスで備えている。ビジョンと美徳を伴わない能力や知識は官僚を生み出す。ビジョンと知識を伴わない美徳は空想家を生む。そして、美徳と知識を伴わないビジョンは扇動家を生み出す。

 - ビジネスの問題点の一つは、リーダーのやり方に相手の人間があわせてしまい、組織全体がそれに染まってしまうこと。このようなやり方は縦割り組織を生むだけで効率的とは言えない。社員それぞれのやり方で仕事を進めた方が効率的だ。
 - 従来のリーダーは変化の重要性を認識していた。リーダーは変化を進化や進歩と同じものとみなしている。

 - 変化に対応することの必然性について
  - 時代が変われば価値観も変わる、これまで傍流と思われていたものが主流になったりする。そんな中、組織や人がそれまでとずっと同じで居られるわけがない。
  - 変化に抵抗する事は天候に抵抗することと同じように無駄である。リーダーは変化を嫌うのではなく、変化を楽しむ。組織の変化だけではなく、自分自身の変化さえも。

・[第九章] リーダーを助ける組織、くじく組織

 - 変化について
  - 変化を敵視することはない。変化は人を成長させ、組織を救うものだ。組織は変化することで活力を取り戻し、物事の核心に迫ることができる。
 
 - 企業の "リーダー育成" とかって嘘でしょ? っていう話

・[第十章] 未来をつくる
 - これまでの話のまとめ
  - ⑦ の話が興味深い

 

今月の Software Design : 2013/03 (その1)

 「今月の Software Design 」の3月号の最初の投稿です。

 早いものでこの活動も今回でもう3ヶ月目に突入しました(上場企業ならば四半期報告書を書いているところです)。

 ところで、とあるイベントに参加した際に会ったエンジニアの人から『(このブログ)知ってるよ。いつ終わるか楽しみにしながら毎月読んでるよ』という大変有難いお言葉をいただきました。こんなことを言われちゃあ是が非でも今年一年やりぬくしかありあせん。

 それでは今回も、以下のフォーマットで各記事の要約と感想を書いてゆきます。

 

・記事のタイトル
( 1 行目 ) 記事の要約
( 2 行目以降 ) 感想

 

・弾小飼のコードなエッセイ

 スティーブ・ジョブスの名言 "Stay hungry, Stay foolish." の "Stay foolish" に対する小飼さんのツッコミの話。はみ出し者には辛い世の中だけど、上手く機転を利かせてバカになろうというお話(たぶん)。前半部分では「天才による(良くも悪くも)挑戦的な行為に対して、社会は不寛容であるり、そしてそれが完全に是正されることは無い」という事をゲーデル不完全性定理のうち停止性問題を解いたチューリングの理論を用いて述べています。そして後半では、それでも何とかやってけるよ、という希望的な言葉で締めています。

 この記事の本筋とはあまり関係無い話ですが、小飼さんはチューリングが解いた停止性問題を理解したところ、仮に天国があってもそこが天国だと証明できない事に絶望して1週間飯が喉を通らなかったと書いています。残念ながら僕はこの話題について明るくないのですが、最近『コンピュータ科学史』に興味があるという人と知り合う機会がありました。はて、コンピュータ科学史とは一体いつからの事だろうかと思い尋ねると、ゲーデルゲーデルが唱えた不完全性定理、そしてそれらを解いたチューリングヒルベルトについて小一時間ほど語ってくれました。

 よくコンピュータの歴史は ENIAC が作られた 1946 年から数えて 50 年とか 60 年とか言われていますが、実際にはもうちょっと長いんですね。ただ個人的にはコンピュータというよりも、ソフトウェアの近現代史が非常に気になります。特に Unix とそこから派生した世界、フリーソフトウェア、そしてコミュニティの歴史と形態について知りたいのですが、体系化された本がなかなか無いです。なので、GNU の八田さんや楽天の吉岡さんらに是非これについて書いてもらいたいです。

 

 

・最新 Web トレンド

 前半では Amazon, Google, Apple そして Facebook の概況について解説しています。ここでは MySpace 没落に見る SNS 事業の脆さとスパム対策について取り上げています。後半では TechCranch の歴史について、誕生から AOL による買収、そしてマイケル・アリントンの退職までを解説しています。

 記事の前半に登場した Amazon CEO のジェフ・ベゾスの言葉が非常に印象的です。曰く「10 年後に世界がどう変わっているかという事をよく聞かれるが、10 年後でも変わらないものは何かという事を考える方が重要」だとか。確かに「何がどう変わるか」を予測することは多い(というかほとんど)ですが、「何が変わらないか」の予測はあまりなされていないかもしれません。

 

 

・はんだづけカフェなう

 Raspberry Pi を使っていろいろ遊ぶ話。今回は PythonPython で記述できる CV (Computer Vision) 処理 (入力画像や動画に対して行う輪郭抽出、動作検出、動作解析など) アプリ開発用フレームワーク SimpleCV を使って遊んでいます。記事では SimpleCV を使って取得した画像を twython なるライブラリを使って Twitter にアップロードする処理を紹介しています。

 SD があまりにも Raspberry Pi を面白そうに書くもんだから、すっかり欲しくなり、ついに買っちゃいました。秋葉原の千石通商なんかでも買えるみたいですが、僕は日本での代理店の アールエスコンポーネンツなる会社のページ から買いました。購入方法を紹介しているブログ記事 なんかもあります。商品が届くのが楽しみです。お値段は本体とケースでおよそ 4,500 円になります(昨年の 11 月頃に買っておけば 4,000 円弱で買えたのですが・・・)。

 何に使うかって?そんなもの遊んでみてから考えます。

 

 

・ギークハウスなう

 これまでの3年間の連載の振り返りについての話。前半では、ブログや Twitter などの Web の記事と雑誌などの紙媒体での記事の特性の違いについて考察しており、後半ではこれまで3年間で紹介したサービスやツールを振り返りながら、この3年を振り返っています。

 pha さんはギークハウスプロジェクトを運営したり、本を書いたりと随分と忙しそうですが、肩書きは相変わらず「ニート」です。もはやこの人が世間一般で言うところのニートであるとは誰も思っていないと思いますが、彼もまた今月号の小飼さんの記事で言うところの foolish なのでしょうか。

今月の Software Design : 2013/02 (その6)

 「今月の Software Design 」の2月号の投稿第6回目です。

 今回の投稿で(ようやく)今月号の全ての記事を網羅しました。今月もギリギリになってしまいました。

 それでは今回も、以下のフォーマットで各記事の要約と感想を書いてゆきます。

 

・記事のタイトル
( 1 行目 ) 記事の要約
( 2 行目以降 ) 感想

 

Ubuntu Monthly Report

 リモートデスクトップ機能を提供する(プロプライエタリなモノをを含む)いくつかのソフトウェアについて紹介しています。また Ubuntu プロジェクトが推している(らしい) x2go の設定について簡単に解説しています。

 僕がコマンドライン推進派である事を抜きにしても、リモートデスクトップの存在意義についてはかなり懐疑的です。かつて MIT が X Window System を開発した頃は、クライアントマシンが X を動かせるほどのスペックを持っていなかったがために、リモートデスクトップというものが注目されたのだと理解していますが、デスクトップはサービスというよりも所詮は各種ユーティリティに触るためのインターフェイスに過ぎないので、クライアントマシンのスペックが潤沢な現在においては、そんなの要らないんじゃないの?という意見です。

 ただ記事の冒頭にもあるように、タブレットやスマフォ端末等からのアクセスというように考えると、その必要性はわからなくもないです。しかしスマートフォンもマルチコアになったり、搭載 RAM の容量が 1GB を超えていたりと、一昔前のノート PC 並にハイスペックなので、やはり同じ結論に到達します。

 

 

・ハイパーバイザーの作り方

 各種割り込み (内部割り込み・外部割り込み・メッセージシグナル割り込み) の一連の処理の流れについて解説し、ハイパーバイザー側でこれらの処理のうちどの処理を仮想化させてやるかという話について詳細に解説しています。

 先月の内容が割り込みの基本的な話に終始していたので油断していましたが、今回の内容は濃すぎます。VT-x が提供する諸所の機能について理解していないと、ここで書かれている内容には恐らくついていけないと思います。CPU の仮想化技術について知るいい機会なので、次回までにこの連載のバックナンバーをひと通りひと通り読み、それを踏まえて次回以降の記事を読み進めます。

 

 

・Monthly News from jus

 関西オープンソースフォーラム 2012 (KOF 2012) のレポートと KOF 2012 で行った jus 研究会の報告記事です。jus 研究会では、どうやら Mac を始めとする Apple 製品をひたすらに賞賛する内容の講演が大阪電気通信大学の魚井先生によって行われたようです。

 普段ブログでイベントのレポート記事を書いている僕が言うのも何ですが、こうしたイベントのレポート記事はうけるのでしょうか(見開き2ページで伝わる情報はいかほどかと)。jus ほどの歴史と権威を有する組織と言えど「俺達は毎月こうして社会的な活動をやっているんだぞ」と言わんばかりのアピールしないといけない事情でもあるんでしょうか。個人的には、過去に開催されたイベントについて紹介する記事よりも、当月ないしは翌月といった未来に開催されるイベントについて紹介された記事の方が読んでみたくなります。

 

 

・Hack For Japan

 地方エンジニアコミュニティ「エフスタ」についての紹介記事。地方特有のイベントの集客不足の問題に対してエフスタは、足を使って営業活動をし、地元の IT に興味のある人間達を集めるということをしているみたいです。おかげでエフスタコミュニティが開催するイベントには、地方開催にも関わらず多くの参加者が来るとか。

 勉強会というより、これはもはやこれは慈善活動でしょう。活動自体にも共感できるんですが、実際にやってのけちゃうところが凄いです。

 

 

・Software Designer

 就職してから退職するまで、生涯ソフトウェアエンジニアとして過ごした Chris Timossi という人のインタビュー記事です。氏の学生時代の話(コンピュータは DEC 製、プログラムは FORTRAN、そして入力はカードかテープ)から始まり、どうやってソフトウェアエンジニアとして生きてきたかといった話、そして若いプログラマに対してどのように生きたらいいかといった話について書いています。

 IT 業界は若い業界であると知られていますが、歴史的に(無事に)定年を迎えた IT 業界関係者が存在している事にちょっとだけ驚きです。しかし考えてみれば、IBM が System/360 を販売したのが 1964 年なので、当時 20 歳だったエンジニアも現在は 69 歳になる計算です。実は結構昔から、今のソフトウェアエンジニア的な人は居たんですね。

 それにしても「今後どのように生きるべきか」というテーマについては先月の SD の特集然り、皆さん「いろんな事に興味を持て、そしてやれ」という内容で見事に一致しています。これについて真っ向から否定するつもりはないですが、これだけで話を終わらせるのはちょっと乱暴です。

 Timossi さんも言及しているように、現在のソフトウェアエンジニアリングの世界は専門性がどんどん高くなっています。従って、一個人が有限の時間でカバー出来るフィールドは必然的に限られてきます。しかし専門性の高いフィールドに突っ走った結果、その分野の技術が陳腐化したり、他の分野の技術によって淘汰された際に困ってしまいます。なので、自分の専門性にある方向性を示しながらも幅を持たせるようにバランスを取るのがいいんじゃないかと思ったりしています。

 

 

・Inside Viewer

 現在行われている様々な広告配信の形態についての紹介と、マイクロアド社の取り組みについて紹介しています。記事では、広告配信の形態のうち RTB(Real Time Bidding)(Bid:入札)という形態と、これを実現するための即応性の高いシステムの構築手法について、ハードウェアとソフトウェアの両面について解説しています。最後に、マイクロアド社が現場のエンジニアを信頼する組織であるという紹介をしています。

 記事では FusionIO の ioDrive をかなり推しています(一瞬ステマかと思いました)。しかし、先月号で紹介された F2FS など RAW Frash ドライブ用のファイルシステムも整備されているわけで、ioDrive を商用で使うのは面白いです(決して個人では手が出ませんが)。更に KVS でパフォーマンスを出す取り組みとか胸熱です。

 記事の最後で触れられていた組織論についての話が気になります。現場を信頼するのがいい組織かどうかはわかりませんし、逆にトップダウンだからダメというのも変な話です。更に組織について議論すると必ず出てくるのが、大企業がダメでベンチャーが良いという話です。ある大学教授曰く、健全な組織であれば、何か間違っている or おかしい事象があったとき、それがどう間違っているかを論理的に説明でき、且つそれを合理的に解決する手法が提案された際には、その声が上まで届き、その案が実行するに値すると判断された際には最終的にその提案は実行される、そうした「パス」があるといいます。

 これに従うと、例え大企業だろうと現場の意見が係長→課長→部長→本部長→次長→専務→社長と登ってゆくパスが存在し、それがキチンと機能している組織は健全だと言えます。逆にベンチャーでも何か危なっかしいプロジェクトがあって、それについて何がどう危ないかをキチンと説明出来るのに、(手続き的に)誰にどうやって説明したらいいかわからないような組織は健全ではない事になります。一般的に、ベンチャーの方が上役に気軽に意見を言いやすい環境にあると思われるため、そうした大企業ダメ論が出てきたのだと思いますが、ベンチャーと言えど現場の意見が上に全く届かない不健全な会社もきっとあるんじゃないかと思います。最近、某検索サービス大手で IT の人材派遣所と揶揄されている某大企業のエンジニアと、今や飛ぶ鳥を落とす勢いの某ベンチャーのエンジニアと飲む事があり、この説の適例とも言える面白い話が聞けました。3年後に両社がどうなっているのか楽しみです。

今月の Software Design : 2013/02 (その5)

 「今月の Software Design 」の2月号の投稿第5回目です。

 早くしないと次号が発刊されてしまうので、さっさと書いてゆきます。

 ということで、今月も以下のフォーマットで各記事の要約と感想を書いてゆきます。

 

・記事のタイトル
( 1 行目 ) 記事の要約
( 2 行目以降 ) 感想

 

iPhone OS アプリ開発者の知恵袋

 iPad mini についてと、iOS アプリの市場の話、そして昨年 9 月から日本で始まったボリューム購入プログラム (Volume Purchase Program) の話。iPad mini については、本体サイズと解像度の違い、そしてそれに伴うアプリデザインの注意点について 4 ページにわかって解説しています。またボリューム購入プログラムの登場によって、これまでコンシューマ向けのアプリ主流だったのが、toB 向けのアプリが登場しビジネスユース市場が育ってゆくと予想しています。

 先月の内容がマーケティングの話で、今月の内容がデザインと新ライセンス、そして市場のお話です。これが 「iPhone OS アプリ開発者の知恵袋」なのだとすると、iOS アプリ開発者というのはスーツを着てモノを売り歩く人間なのではないかと思えてきます。

 それの良し悪しはこの際置いておいて、だとすると "iOS アプリ開発者" という存在もまた、これまでと同じようなギーク的なエンジニアなのだろういう考えは、大きく改めるべきなのだろうと思いました。

 また iOS アプリ市場の話で、Apple が開発者にこれまで支払った額が 2012 年 10 月時点で 65 億ドルに達したと記事で報じています。売上における Apple のショバ代が 30% なので、アプリの総売上は約 93 億ドル になる計算です。この数字がいつの時点からのものなのかは書かれていませんが、累計だとするとその程度かと思ってしまいます。

 国内のモバイル事業最大手の D 社と G 社の昨年の売上はそれぞれ 1460 億円と 1580 億円で合わせて約 3000 億円になります。また両者の売上に占めるモバイル事業の割合はそれぞれ 89.5% と 91.7% でその大部分を占めます。このうち iOS アプリの売上がどの程度かは公開情報からは不明ですが、iOS 市場の多くを両企業が持っていると推測できます。

 ただボリューム購入ライセンスでビジネス向けアプリの市場が開けるという話はおもしろいです。どんあリスクがあるかは不明ですが、もしかするとアリエルみたいなお堅い企業が iPhone アプリを本気で作っちゃう日が来るかもしれません。

 

 

Android エンジニアからの招待状

 Android, iOS そして WindowsMobile アプリのフレームワーク Rhodes の紹介記事です。Rhodes は UI を HTML と JavaScript で記述し、ロジック処理を Ruby で記述できるフレームワークで、最終的にこれらの記述を各端末のネイティブコードに変換します。記事では、Eclipse プラグイン Rhodes 開発環境の RhoStudio で Android サンプルアプリの開発を解説しています。

 Sencha Touch や jQuery Mobile などといった web アプリ開発用フレームワークだけでなく、ネイティブの開発フレームワークにおいても今やクロスプラットフォームが当たり前になってきました。Rhodes の他にも PhoneGap や Titanium Mobile なんかが有名ですね。クロスプラットフォームの開発環境について議論する際、Android SDK なんかのネイティブのフレームワークの方が機能を最大限に利用できるという話がよく出てきます。確かに、各プラットフォームでの機能的な差異を吸収しなければならないという課題もありますが、Rhodes などのクロスプラットフォームフレームワークの開発が進むことでいづれその問題も克服出来るんじゃなかろうかと楽観的に見ています。

 かつて Android SDKAndroid アプリを 1 年半ほど作っていたせいで、すっかり Java に慣れちゃいましたが、現在のようなフレームワーク環境が整備された中で開発していたら、当時もっと楽しめたんじゃないかと思えてなりません(Java での開発もそれなりに楽しかったですが)。

 

 

・レッドハットなにわ通信(地方エンジニアあるある)

 大阪が一体どんなところかの紹介にはじまり、地方エンジニアはこんな感じで辛いんだという話に続き、渋ちんの地方会社の下で検証環境を用意するというくだりで、KVM のゲスト OS 上で別のゲスト OS を起動する Nested KVM についての紹介をしています。

 別の記事でも「地方(=東京以外)」について扱っていますが、この記事にしても地方は "人が少ない", "金がない", "不安定" といったネガティブな言葉で語られています。真偽のほどは定かではありませんが、こうして記事に書かれるくらいに多くの人がこうした印象を持ち、またそうした実情を感じている人が居るというのは確かなようです。

 ホントに、東京一極集中は何とかして欲しいです。個人的にそう思っているというのもそうですが、東南海地震や(まかり間違って)首都直下型地震が起きたらどうすんだろうかということは、誰もが想像することだと思います。全国津々浦々を高速鉄道網で繋いで、首都機能を分散させようという構想があるようですが、仮に東京ー大阪を 2 時間 1000 円で結ぶ交通手段(リニアとか)が出来たら、岐阜県辺りに家を建てようと密かに思っています。

 

 

・システムに必要なことは全て UNIX から学んだ

 シリアル通信の歴史的変遷と現在の通信機器等で使われている通信インターフェイスについてのお話です。最後に Mechanize について紹介しています。

 ルータなどのネットワーク機器における Web インターフェイス (I/F) は確かに面倒で、その点シリアルコンソールがある機器の操作は楽です。でも、インポートとエクスポート機能をサポートしてくれていれば、個人的には Web I/F でもシリアルコンソールでもどっちでもいいんじゃないかと思っています。

 Mechanize とか、正直これは bot を作る用途以外に使ったことはありません。こんな後ろ向きなツールを使わないとコマンドライン操作が行えない機器など滅んでしまってもいいんじゃないかと思っています。

 

 

Linux カーネル観光ガイド

 前半は、カーネルのメモリ管理システムにおけるページフレームの回収のお話。カーネルがアクティブリストと非アクティブリストを使って、ページキャッシュと無名ページを回収する仕組みについて解説しています。また、cgroup を通したユーザプログラムのメモリ状況について eventfd を使って取得する方法について紹介しています。後半の VFS Hot Data Tracking では、アクセス頻度を元にホットなファイル (i-node) とブロックを記録し、それらをユーザプログラムから取得する方法について解説しています。

 前半の最後で紹介されている cgroup (Control Group) を通したユーザプログラムからメモリ状況を取得する方法や、後半の VFS Hot Data Tracking の情報をユーザランドから取得する手法については初めて知りました。

 カーネルレイヤの中身についてだけ書いているわけではなく、その中身の仕組みをユーザプログラムから取得したりチューニングしたりといったことも絡めて書いてあるので、読んで面白いだけでなく、知って嬉しい内容になっており、非常によかったです。

 メモリ周りの内容については、ファイルシステムのキャッシュ周りともともかなり密接に関わっているので、その辺りの仕組みとチューニングのための sysfs などを介したインターフェイスについて解説してくれている記事なんかが読んでみたいです。