歩いたら休め

なんでこんな模様をしているのですか?

【本】『日本航空の破綻と再生』を読みました

この間、稲盛和夫さんを批判している本を読んだので、今度は支持している立場の本を読みました。

日本航空の破綻と再生 (稲盛アカデミー叢書 1)

日本航空の破綻と再生 (稲盛アカデミー叢書 1)

www.minervashobo.co.jp

2010年に破綻した日本航空(JAL)。同社はなぜ破綻したのか。そして稲盛和夫氏はこれをいかに再生したのか。モノ(機材・路線)、カネ(有利子負債・キャッシュフロー)、ヒト(人件費・年金問題)に関する、8年を超える広範な調査・分析を踏まえ、歪んだ経営哲学がJALの凋落にいかなる影響を及ぼしたのか、稲盛氏がJAL再生で果たした最大の貢献とは何だったのかを明らかにする。

本の内容は、こちらの記事にあるような内容を説明しているようなものです。

www.travelvision.jp

再建にあたってJLでは、破綻に至った原因が「採算性の度外視」「大型機の大量保有」「人件費などコストが高い構造」「永続的な経済成長を前提とした経営」などであったとし、それらが「拡大主義」「イベントリスクに対する耐性の欠如」などにつながったと分析。また、「(JLの)元々の出自、政府出資の国際航空会社としての設立から我々が至ったところは、財務的規律の統制がはかれず、組織も硬直」したものであったという。

大西氏は、これらの課題に対して、組織的な構造改革と従業員の意識改革に取り組んだと説明。事業構造改革では、「イベントリスクに恒常的にさらされる」ことを前提とした「リスク耐性の強い筋肉質な財務基盤を作る」ため、赤字路線からの撤退などによる事業規模の縮小、保有機材の最適化、人員規模の削減、人件費単価の削減、年金制度の見直しを実行した。

ただ、どちらかというと西松遙さんの功労をたたえている内容で、最後の「経営者のあるべき姿」も、それまでの実証的な文体から逸れてちょっときれいにまとめようとしすぎている感じがしました。

【本】マインドフルネスの本を読みました

最近、集中力が続かなくて困っていたのでこちらのマインドフルネスの本を読んでいました。本を読んでばっかりに見えますが、ちゃんとプログラムも書いてます!

ハーバード・ビジネス・レビュー[EIシリーズ] マインドフルネス (ハーバード・ビジネス・レビュー EIシリーズ)

ハーバード・ビジネス・レビュー[EIシリーズ] マインドフルネス (ハーバード・ビジネス・レビュー EIシリーズ)

けっこう科学的で、また自分自身の責任を果たさずに「自分自身の問題に向き合わずに、マインドフルネスの手法でストレスから逃げる」ようなことも批判されています。

ただ、具体的な方法にはあまり書かれていなかったので、マインドフルネス提唱者のジョン・カバット・ジンの本も読んでいます。

マインドフルネスストレス低減法

マインドフルネスストレス低減法

こちらもいい本なのですが、最後のほうの「心の持ち方と健康」は「え?これって実証されてんの?」って思うようなことも多少ある気がします。

【本】組み込み系のプログラミングの本を読みました

ゲームボーイプログラミングのため、ついつい組み込み系プログラミングの本を読んでしまいます。個人的には「ウォッチドッグタイマ」の概念が面白く感じました。

days-of-programming.blogspot.com

また、ハードウェア(自作カセット)も気になっているのですが、他にもっとやるべきことあるし…。まあ、暇があるときに続きをやろうと思います。

標準テキスト 組込みプログラミング 《ハードウェア基礎》

標準テキスト 組込みプログラミング 《ハードウェア基礎》

制御技術者のための組込みシステム入門

制御技術者のための組込みシステム入門

www.ishikihikui-kei.com

nagayasu-shinya.com

bombkun.com

【本】『不安な経済/漂流する個人』を読みました

最近、先輩から「短期的なところだけでなんとかするだけじゃなくて、もう少し長期的な視野も手に入れるべき」というアドバイスを貰っています。エンジニアは一歩引いた視点でも物事を考え、全体最適になるように行動すべきだということです。

そういうこともあって、以前読んだ本で紹介されていて気になっていた本を読んでみました。安直ですが、以下のようなことは「新しい技術に次々に適合しなければいけない」プログラマーは特に感じていると思います。

このような変化についていくことができる人は少ない。社会学者のリチャード・セネットは、「現代の個人は常にみずからの人生の物語を即興でつむぎだすか、あるいは、一貫した自己感覚ぬきの状態に甘んじなければならなくなり、傷を負わされている」(『不安な経済/漂流する個人』森田典正訳、大月書店、二〇〇八年)と嘆く。われわれのほとんどは、短期的なものに順応させられ、過去の経験をすすんで放棄する人間ではなく、人生の持続的な物語を必要とし、特殊なことに秀でていることを誇りに思い、自らのとおってきた経験を大切にする存在なのだ。

不安な経済/漂流する個人―新しい資本主義の労働・消費文化

不安な経済/漂流する個人―新しい資本主義の労働・消費文化

前半はいろいろな観点から「短期的なメリットを追い求めることの弊害」が描かれています。特にシリコンバレーのエンジニアも例として挙げられていたのは面白かったです。ただ、私が興味あるのは「こういった状況をどう解決していくか」みたいな話なのですが、キーワードとして「物語性」「有用性」「職人性」が挙げられている程度でした。

NPO法人 働き方ASU−NET - 第97回 書評⑥ リチャード・セネット『不安な経済/漂流する個人』大月書店

その結果、組織へのロイヤルティーの低下、労働者間の相互信頼の消滅、組織についての知識の減少という3つの社会的損失が生ずる。

では活路はどこにあるか。セネットは最後に物語性、有用性、職人性という3つの「文化的な錨」を対置する。物語性とは人々が長期的展望を持って生きていくこと、有用性とは労働において自己が社会にとって有用と感じられること、職人性とは、それ自体を目的として何事かを行い、経験を積み上げていくことである。

セネットは、これらの錨を社会に打ち込む手掛かりについても論じているが、議論は文化や価値に重きが置かれ、総じて具体性に乏しいという不満が残る。とはいえ、表題さながらに不安な経済のなかで個人が漂流させられている日本でこそ、本書は読まれなければならない。

【本】『つながりの作法』を読みました

ちょっと変わった友達のMくんから『つながりの作法』という本を薦められ、アスペルガー症候群や、脳性まひの方が書いた『当事者研究』の本です。

つながりの作法 同じでもなく 違うでもなく (生活人新書)

つながりの作法 同じでもなく 違うでもなく (生活人新書)

Amazonのレビューを引用します。

同じ著者たちによる『発達障害当事者研究』に較べると,新書版で短いせいもあるだろうが,著者たちが「当事者研究」でめざすところをより意識的に明快に記述していて,読みやすかった。最近,高機能自閉症アスペルガー症候群の当事者の人やその家族からお話を聞かせていただく機会があったのだが,その内の何人かは,同じアスペルガーと言っても一人一人ものすごく違うので,単純にひとくくりに考えないで理解をして欲しいと強調されていたことを思い出す。著者の一人,綾屋さんの記述と重なるものである。

当事者研究の可能性を論じているところで,マジョリティとマイノリティの関係を三つの世代に分けつつ,「治療の論理」(多数者である健常者に囲まれたマイノリティ第一世代)でもなく「運動の論理」(マイノリティで集まった第二世代)でもない「研究の論理」(マイノリティの中でも多様性を認め合う第三世代)を導入することで,本当の意味で「わたし」を立ち上げられる可能性ができてくるという議論は,なかなか説得力があるように感じた。

特に上のレビューにもある「三つの世代」の話が印象に残っています。

  • 第一世代ー過剰適応する時期
  • 第二世代ー仲間と出会い連帯する時期
  • 第三世代ー多様性を認めながら連帯する時期

綾屋さん自身の体験(感覚が飽和する感覚)には自分自身の体験の中には共通していなかったのですが、この世代(というか個人の中の時期)の話はもっと普遍的なものじゃないかと思います。私自身は趣味や仕事のコミュニティで近いものを感じていた気がしていて、運良くプライベートで「第三世代」的なパラダイムの考え方の人と出会えていたと思っています。

また、最近、ソフトウェアエンジニアリングの組織でもさかんに叫ばれるようになった『心理的安全性』や『多様性』にも共通する話も多いように思います。

更に内容が気になった方はいろいろな方のレビューを読んでみてください。

rokujo.org

また、「あとがきにかえて」にある「近年自閉症と診断される人が増えている背景には、流動化によって不確実性を高めた社会のためじゃないか」「その社会では『自分と異なる他者はいてもいいが、まざってこられては困る』という、分断された『第二世代』が乱立する社会なのではないか」というような話も興味深かったです。

このような変化についていくことができる人は少ない。社会学者のリチャード・セネットは、「現代の個人は常にみずからの人生の物語を即興でつむぎだすか、あるいは、一貫した自己感覚ぬきの状態に甘んじなければならなくなり、傷を負わされている」(『不安な経済/漂流する個人』森田典正訳、大月書店、二〇〇八年)と嘆く。われわれのほとんどは、短期的なものに順応させられ、過去の経験をすすんで放棄する人間ではなく、人生の持続的な物語を必要とし、特殊なことに秀でていることを誇りに思い、自らのとおってきた経験を大切にする存在なのだ。

社会の流動化によって現代人が抱える生きにくさは、「身体内外からの刺激や情報を細かく大量に拾いすぎてしまうため、意味や行動の全体パターンをまとめあげるのがゆっくり」(綾屋)という自閉症者のいきにくさと、おそらく地続きだろう。

ちなみに、著者の一人が以前紹介した『ソーシャル・マジョリティ研究』という本と共通しています。綾屋さんの書く文章は、自分の認識している世界をできるだけ客観的に、苦心して自分の言葉で表現しようとしていて、迫力があります。

kiito.hatenablog.com

【node.js】文字コードを推定してurlからタイトルを取得する

最近、以前Pythonで実装したクローラーをnode.jsに移行しようとしています。将来的にpuppeteerを使ったスクレイピングが必要になったときにnode.jsで詰まりたくないのと、Promiseasync/awaitを使ったプログラミングのサンプルとして遊んでみたかったのがその理由です。

ただ、文字コードの判定と変換の実装で多少詰まってしまったのでメモ書きしておきます。

const rp = require('request-promise');
const cheerio = require('cheerio');
const jschardet = require('jschardet');
const iconv = require('iconv-lite');


const sampleFetch = async (url) => {
    return await rp.get({
        "uri": url,
        "followAllRedirects": true,
        // encodingにnullを指定することで文字列ではなくBufferとして読み込む
        "encoding": null,
        "transform": (body, response, _) => {
            // jschardetで文字コードを推定し、iconvで変換する
            const encoding = jschardet.detect(body).encoding;
            const decoded = iconv.decode(body, enc);

            // cheerioでタイトルを取得する
            const $ = cheerio.load(decoded);
            return $('title').text().trim();
        },
        "headers": {
            'User-Agent': 'Sample-Crawler'
        }
    });
}

これらのページを参考にしました。

qiita.com

qiita.com

テストしてみましょう。

また、個人的に使い慣れているRubyRSpecに近い使い勝手の、jasmineというライブラリを利用しています。itのコールバックにdoneが入り、それを非同期処理のテストも簡単に書けるようです。

rewireというライブラリを使うことで、exportしていないメソッドもテストできます。

const rewire = require('rewire');
const samplecode = rewire('./samplecode');


describe("sampleFetchのテスト", () => {
    const sampleFetch = samplecode.__get__("sampleFetch");

    it("UTF-8のページのとき", (done) => {
        sampleFetch("https://kiito.hatenablog.com/").then(response => {
            expect(response).toEqual("歩いたら休め");
            done();
        });
    });

    it("SHIFT_JISのページの時", (done) => {
        sampleFetch("https://monoist.atmarkit.co.jp/mn/articles/1806/12/news057.html").then(response => {
            expect(response).toEqual("日立は「カンパニー」から「ビジネスユニット」へ、成長のエンジンは「Lumada」 - MONOist(モノイスト)");
            done();
        });
    });
});

【本】『ご冗談でしょう、ファインマンさん』を読みました

親戚の結婚式で長時間移動するときに、ちょうどいいのでずっと読んでました。

R.P.ファインマンは1965年にJ.S.シュウィンガー、朝永振一郎とともにノーベル物理学賞を授賞した天才的な物理学者である。こう書くと「理数系が苦手」な人は逃げ出したくなるかもしれないが、そんな人にこそ本書を手にとっていただきたい。

本書は20世紀を代表する天才物理学者の自伝ではない。R.P.ファインマンという人生を楽しむ天才から我々への贈りものである。

ファインマンと聞いたとたんに思い出してもらいたいのは、ノーベル賞をもらったことでもなければ、理論物理学者であったことでもなく、ボンゴドラムでもマンハッタン計画でもない。僕が好奇心でいっぱいの人間であったということ、それだけだ」といつも言っていた(下巻訳者あとがきより)。

ご冗談でしょう、ファインマンさん〈上〉 (岩波現代文庫)

ご冗談でしょう、ファインマンさん〈上〉 (岩波現代文庫)

ご冗談でしょう、ファインマンさん〈下〉 (岩波現代文庫)

ご冗談でしょう、ファインマンさん〈下〉 (岩波現代文庫)

プログラマー的に面白かったのは以下のエピソード。

カード・カルト・サイエンス

この文化は物理学者リチャード・P・ファインマンカリフォルニア工科大学での卒業式式辞で言及され、また彼の著書『ご冗談でしょう、ファインマンさん』に収録されたことでも知られる。この式辞でファインマンは、カーゴ・カルトの信者は外見上は正しく空港やヘッドセット、竹の「アンテナ」を作るが、飛行機は来ないと指摘した。ファインマンは、科学者もしばしばその愚に陥るが、そのような科学の形だけを真似ただけの、正直さに欠ける行為は「カーゴ・カルト・サイエンス」であり、尊敬にも支援にも値しないものだと主張した。

カーゴ・カルト - Wikipedia

www.cscd.osaka-u.ac.jp

プログラマーが好きそうな概念(ポール・グレアムのエッセイとかにありそう)だなと思ったら、実際に「カーゴ・カルト・プログラミング」「カーゴ・カルトソフトウェア工学」のような概念があるそうです。

agnozingdays.hatenablog.com

二人の金庫破り

また内容よりもその機密性にばかり気を使う上司が気に入らず、ある日重要機密書類の入ったキャビネットを趣味の金庫開けの技術で破ってみせた。その上司がキャビネットを新しいものに変えるとすぐさままた金庫破りを繰り返し、機密への固執に対する無意味さを逆手に取ってその上司をからかった。他にも無意味に時間をかける施設の入り口の検問に嫌気がさし、地元の労働者が出入りに使っていた金網の穴から短時間の間に何度も入っては同じ検問を内側から何度も出て警備の無意味さをからかったが、結局警備員に捕まってお説教をされている[6]。

リチャード・P・ファインマン - Wikipedia

こういうエピソードは『ハッカーズ』にも書いてました。MITの校風なのかもしれません。

ペンキを混ぜる

僕が好きなのはペンキの話である。ペンキ塗りと話をしていると、黄色を作るのには赤色と白色のペンキを混ぜればいい教えられる。光についても詳しいファインマンは、その場合はピンクができるはずだと主張したけれど、ペンキ塗りは主張を曲げない。近くの雑貨屋でペンキを買ってきたら見せてやるという。レストランの壁をどうぬれば客が入り、また清潔感を出せるかという話を聞き、ペンキ屋を「本物の男」とすっかり感心していたファインマンはペンキを買ってきて、混ぜられるのを見守っている。起るべき結果は分かっていると考えながらも、どこかで大きな「それでも何か未知のことがおこる可能性がある。」と期待に胸を膨らませながら。

ペンキはもちろん黄色にはならなかったのだが、ファインマンはこうした経験を経ても、なお同様の好奇心を持ち続けることができた男だったのだと思う。

ご冗談でしょう、ファインマンさん | 考えることばかり

下から見たロスアラモス

「コンピュータをいじったものなら誰でも知っている、いわゆるコンピュータ病」にハマったフランケル氏が出てきます。

rna.hatenadiary.jp

三角関数表の計算にハマったのはプロジェクトリーダーのスタンレー・フランケルという男で、原爆開発のための計算をほったらかしにしたためリーダーを降ろされたようです*1。その後任がファインマンだったのでした。ファインマンによるとフランケルこそが「コンピュータ病患者第一号」だとか。

また、原爆の威力を目の当たりにして、「どうせ無駄になるのに、世間の工夫はどうして新しい橋を作っているんだ」のようにシニカルになっている様子も描かれています。

だが、ありがたいことに無駄になると思ってから、もう四〇年近くたつ。だから橋などを造るのが無駄だと思った僕は、まちがっていた。そしてあのように他の人たちが、どんどん前向きに建設していく分別があってよかったと、僕は喜んでいる。

書評ブログみたいになっているけどテックの話も書こうと思います。