歩いたら休め

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

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

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

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

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

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

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

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

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。その後任がファインマンだったのでした。ファインマンによるとフランケルこそが「コンピュータ病患者第一号」だとか。

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

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

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

【本】『京セラ・血塗られたバランスシート』など読みました

会社の偉い方から稲盛和夫さんの本を薦めて頂いて、「これはたしかにカリスマ性ありそうだな」という箇所もあれば、違和感ある箇所もある(根性論的すぎない?)感じです。

そのため、あえて稲盛さんを批判している本を探して、逆の意見も読んでみることにしました。その中で虚飾の経営者 稲盛和夫という本のレビューで以下の文章を見かけ、こちらの2冊を読んでみることにしました。

稲盛和夫礼賛本が氾濫する中で、本書の存在に一定の意義はあるとは思う。しかし、その批判の踏み込み方がイマイチ甘い。「京セラ悪の経営術」(滝本忠夫)や、「京セラ・血塗られたバランスシート―稲盛和夫の凄絶経営」(伊部四郎)ほどのインパクトもない。

京セラ悪の経営術

京セラ悪の経営術―急成長企業に知られざる秘密

京セラ悪の経営術―急成長企業に知られざる秘密

「ソーラーカー研究部門のマネージャの退職エントリ」といった内容の本。けっこう黒い話も出てきます。

ただ、こちらの本についてはたしかにレビューにあるように次のような印象も受けます。

しかし、ここに著された事がそれほどの悪なのかと言われるとそうは思えない。情けない事にこういった事は他の企業でもかなり悪質に行われている事例であるからであり、悪質度が更に高かったりする。一企業というよりも資本主義社会全体での問題であるという風に感じた。

筆者の言わんとする事は尤もな事で理解できるが、著者はあまりにも職人肌で潔癖症に過ぎる方であるように感じた。日産系(かつては労働組合が強く負け組みの象徴であった)の企業から京セラへ転職された事もカルチャーショックとなって現れて恨み節となってしまったのではないだろうか。

京セラ・血塗られたバランスシート―稲盛和夫の凄絶経営

80年代の古い本ですが、こちらはけっこう面白い内容でした。

特に『「技術の京セラ」の実態』は「労働集約的なシステムになってしまっていて新しい技術が導入できない」という話で、分野が違うものの私も技術者として身を立てようとしているので、自分も思うところはあります。

ただ、「他社がすでにやっている人工宝石をブランドとして成立させてしまった(値決めは経営である)」ような話は、(技術面は判断できませんが)むしろマーケティングやブランド戦略として見るとしたたかで優れてるんじゃないかという印象もありました。近くで見ていただけあって、当時もある種のカリスマ性のある方だったことが伺えます。

まとめ

次はJALの再建の本も読んでバランス取ってみます。できるだけフラットな視点のものが無いものか。

【本】スティーブン・レヴィのGoogle本を読みました

ちょっと古い本ですが『グーグル ネット覇者の真実』を読みました。気になった箇所をメモしていきます。

グーグル ネット覇者の真実 追われる立場から追う立場へ

グーグル ネット覇者の真実 追われる立場から追う立場へ

また、以前読んだハッカーズ』と同じ著者で、この本ではリチャード・ストールマンを最後のハッカーとして紹介して「ハッカー倫理は生き残るのか」というような締め方だったので、同じ著者のその後(WEBの時代)を扱った本を読めるのは面白いです。

ハッカーズ

ハッカーズ

あと、個人的には徹底した秘密主義とハッカーらしい情報公開を使い分けるのも面白く、ラリー・ペイジの「モンテッソーリ教育」と「ニコラ・テスラの伝記」にも興味が湧いてきました。こちらのHMVにあるレビューを引用します。

naimon さん

読了日:2012/07/26

Google創業からわずか10年の分厚い歴史書。数学・統計学を重んじるデータ主義、壊れる事を前提としたマシン構成に、拡大する事を前提としたシステム構造。壮大な目的に、天才が天才を呼び、拡大が拡大を呼ぶ。徹底したユーザ主義で質の改善を行い、行き過ぎたユーザ主義で危惧を持たれはじめたGoogleモンテッソーリ教育で育ち、ニコラ・テスラの生涯に思いを馳せ、徹底した隠蔽と公開を使い分けるGoogle。壮大で迫力のあるノンフィクション。良本。

あと、最初期は「マネジメント層を撤廃する」方針だったけど導入していった話とか面白かったです。個人的な話なのですが、最近、ようやく現場を見れるリーダー的なジョインしてもらって、それまで「とりあえず目の前にあることがんばってやるぞ!」という雰囲気で突っ走るしか無かったので。また、個人目標にOKR置いていて、100%達成の場合はむしろ「元々の目標が低すぎるんじゃないか」と評価されるという話も印象的でした。

本の中で度々Googleの社風が「大学っぽい自主的な雰囲気」という風に紹介されており、ちょっとティール組織っぽい発想も感じました。

ティール組織――マネジメントの常識を覆す次世代型組織の出現

ティール組織――マネジメントの常識を覆す次世代型組織の出現

OKR(オーケーアール) シリコンバレー式で大胆な目標を達成する方法

OKR(オーケーアール) シリコンバレー式で大胆な目標を達成する方法

【Django】『現場で使える Django の教科書』を読んでいきます

PythonのWEBフレームワーク、Djangoのチュートリアルはひととおり通したものの、実際にプロダクトを作るには不安な状態で、これからどう学ぶべきか悩んでいました。

そんな中、『現場で使える Django の教科書』という本がなかなか良さそうだったのでこれを参考にしつつ勉強を進めていこうと思います。

現場で使える Django の教科書《基礎編》

現場で使える Django の教科書《基礎編》

Djangoが主張しているMTVってMVCとどう違うの?(実際にはViewの役割がTとVに分かれただけ)」とか「それぞれのモジュールでどういう処理を書いていけばいいの?」みたいなことがわかりやすく図解されているので、チュートリアルで学んだことの整理に役立ちそうです。

気になった方は、詳しい内容は著者のブログで!

akiyoko.hatenablog.jp

akiyoko.hatenablog.jp

とりあえずGAEでWEBアプリケーションを作って公開するところまでは趣味でもやりたいです。何を作ろうかな。