歩いたら休め

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

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

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

そのため、あえて稲盛さんを批判している本を探して、逆の意見も読んでみることにしました。その中で虚飾の経営者 稲盛和夫という本のレビューで以下の文章を見かけ、こちらの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アプリケーションを作って公開するところまでは趣味でもやりたいです。何を作ろうかな。

【NES】C言語でファミコンソフトをコンパイルして通す

ゲームボーイとりあえずキャラクターを動かす程度の実装はできるようになったのですが、ファミコンのほうが面白いんじゃないかと思って調べてみました。将来的には自作のファミコンプログラムでVJやるとかできたらかっこいいです。

こちらの記事によると、cc65というコンパイラ(?)を使えばC言語でソフトを作れるそうです。

blog.akiym.com

というわけで、↑の引用元であるこちらのサイトを参考にしつつ、とりあえずコンパイルを通してみます。

OSXへのコンパイラのインストールは brew install cc65 で済んでしまいました。

www34.atwiki.jp

#include <conio.h>


int main(void) {
    clrscr();
    cprintf("hello cc65");
    while(1);
    return 0;
}

Makefileはこんな風に記述しています。あまり記述方法わかっていない…。

main:
  cc65 -t nes main.c
  ca65 -t nes main.s
  ld65 -t nes main.o nes.lib atmos.lib -o main.nes

clean:
  rm main.o main.nes main.s

エミュレータで動かしてみます。

今回のプログラムです。

github.com

【Rust】簡単なcliを作る

少しずつRustの勉強も進めていきたいです。

以前数値計算のシミュレーションを実装しようとしていたのですが、ハミルトニアンの復習のほうが自分にとって難しくなって来てしまったので止まってしまっています。

そちらは今後気が向いたときに進めることにして、せっかくなので日常的に使えるものを作りたいと考え、GB USB SMART CARDにMacからゲームボーイソフトを書き込む際に利用するems-flasherを再現することを目標にしてみました。

github.com

というわけで「コマンドライン引数をパースする」「ファイルを読み込む」「USBの接続先に書き込む」という機能が必要そうです。

Rustのコマンドラインパーサーには clapというライブラリを使いました。

github.com

若干文字列周りで詰まりました。文字列は「サイズが固定されていない」というのはその通りで、ゲームボーイソフトのC言語プログラミングをしていた際は、「ユーザーからの文字列入力を行う必要がない」ので意図的に入門書も読み飛ばしていましたが、少しは気張らないといけませんね。

qiita.com

doc.rust-jp.rs

他にも画像処理のコードをRustで書くことにもチャレンジしたいのですが、opencvのインストールに手こずったのでこれまた後回しにしています。

【Django】GAEでとりあえずアプリケーションを立ち上げる その2

docs.djangoproject.com

私はpipenvを利用したいので、GAEのPython3.7のサンプルアプリケーションにある .gcloudignore を参考にしつつ、PipfilePipfile.lock などを追記します。

# This file specifies files that are *not* uploaded to Google Cloud Platform
# using gcloud. It follows the same syntax as .gitignore, with the addition of
# "#!include" directives (which insert the entries of the given .gitignore-style
# file at that point).
#
# For more information, run:
#   $ gcloud topic gcloudignore
#
.gcloudignore
# If you would like to upload your .git directory, .gitignore file or files
# from your .gitignore file, remove the corresponding line
# below:
.git
.gitignore
Pipfile
Pipfile.lock

# Python pycache:
__pycache__/

また、 mysite/settigs.py に ALLOWED_HOSTSを追記しました。今のところ公開するつもりの無いアプリケーションなので DEBUG=True などを指定して適当にやってしまっていますが、セキュリティ関連もちゃんと設定しなきゃいけないですね。

# See https://docs.djangoproject.com/en/2.1/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'qr1q-b3u&hogehoge'

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

【Django】GAEでとりあえずアプリケーションを立ち上げる

久しぶりに会社でWEBアプリケーションを書くことになりそうです。レポーティング用アプリケーションで凝ったシステムは必要ない(はず)なので、分析担当のメンバーも理解しやすいPythonDjango)を選ぼうと思っています。

ひとまず、こちらのチュートリアルをやってみました。コードの内容は全く理解していないものの、GAEでとりあえずアプリケーションを立ち上げるところまで完了しました。

cloud.google.com

あとはDjango公式サイトを見つつシンプルなものを作るのと、JSのフレームワークの簡単なやつを試そうと思っています。

ちょっと意外だったのが、仮想環境としてpipenvを利用していたことで Pipfile is not supported と出てきたことです。Pipfileを無視してrequirements.txtを読んでほしいんですけどね…。

あと、これをGithubにpushしたところ、いくつかのセキュリティアラートが出ました。

f:id:takeshi0406:20190426200452p:plain

どうやらライブラリのバージョンが古いかなにかで脆弱性を自動で検知してくれたようです。便利ですねこれ。

f:id:takeshi0406:20190426200510p:plain