スピリチュアルエンジニアリング入門

先日 hack05 というイベントで LT をしたので、そのときの資料をまとめておきます。

スピリチュアル エンジニアリングとは

システム開発・運用にスピリチュアル要素を取り入れることでシステム安定化を目指します。
皆さんご存知の通り、人間の技術力には限界があり、予測不能な事故(バグ)はまさに、神の領域といえます。
そこで「ジンクス」「縁起かつぎ」「妖精さん」などの力を借りることで、人間の手ではどうしようもない事態を回避するというのがこのスピリチュアルエンジニアリングです。

スピリチュアルエンジニアリングの基本原理

f:id:mirakui:20100302014159p:image
スピリチュアルエンジニアリングの基本は「祈り」にあります。「絶対に動く」という祈りの強さがよりよいコードをもたらします。

スピリチュアルはすべてのエンジニアの身近に!

以下に当てはまる人がいたら、あなたも立派なスピリチュアルエンジニア!

  • コーディング中に神が降りてきたと思う瞬間がある
  • 徹夜すればなんとかなると思っている
  • ここで寝てしまっても妖精さん(小人さん)が何とかしてくれる
  • 「今日の占いカウントダウンHyper」は欠かさず観る

スピリチュアルプログラミング

スピリチュアルプログラミング - komagata より

スピリチュアルプログラミングとは

オカルトによってコードの持つ本来の力を高める方法論である。追い詰められたプログラマーならば誰しも感じたことのある「小人」や「妖精」の存在もコードに宿る八百万の神の一部である。

コード力が高まる行為
  • 祈る
    • もっとも基本的な行為。一心不乱に祈ることでバグ発生率を抑える。 (ぬるぽの神、セグフォの神、OOM Killerの神などに祈る)
  • 強い信念
    • バグは作っていない。というか今までバグを書いたことが無いというぐらいの気骨が重要です。
  • 徹夜する
    • 徹夜をすると絶対動くんだ。むしろ動かないと俺が死ぬ!という強い思いがコードに注入されます。一行入魂。
コード力が低下する行為
  • ブランチを切る
    • ブランチを切ることでコードに集まるパワー(バグ出るなという想い)が分散してしまいます。
  • テストをする
    • テストは唯一無二のコードの動作に対する疑いにつながります。絶対に動くという強い意思を持ちましょう。
  • コードをジェネレートする
    • コードをコンピューターごときに書かせてはいけません。手書きにこそ強い念が篭るのです。

スピリチュアルプログラミングはポッと出のTDD/BDDなどに比べて数千年の歴史があります。
みなさんも、スピリチュアルプログラミングにチャレンジしてみるか、もしくは反面教師としてはいかがでしょうか。

リリース日の選定技術

今日はツイてない! そんな経験ありませんか?

  • テスト環境が故障して丸一日無駄にした
  • 同じ日に複数の重大事故が起こる
  • 他部署の事故に巻き込まれたのに何故かウチが悪いみたいな感じでニュースに載る 
  • 天文学的確率で起こるバグがよりによって微妙な関係のクライアントに発見される

カレンダーを見てみましょう。その日はもしかして仏滅ではありませんか?

仏滅
  • 仏も滅するような大凶日
  • 六曜の中で最も凶の日とされる
  • 結婚式場は割引になる

大規模リリースで仏滅を避けるのは基本中の基本!

f:id:mirakui:20100302021354p:image
http://twitter.com/negipo/status/9803674214
f:id:mirakui:20100302021345p:image
http://twitter.com/shin1ohno/status/9804078685

六曜いえるかな
  • 先勝:まあまあ良い、急ぐほど良い
  • 友引:まあまあ悪い、葬式避ける
  • 先負:まあまあ良い、勝負事は避ける
  • 仏滅:超悪い、何やっても駄目
  • 大安:超良い、何やっても最高
  • 赤口:わりと悪い、火の元に注意

スピリチュアルエンジニアリング応用編1: サーバからの伝言

水からの伝言 (世界初水の氷結結晶写真集)

水からの伝言 (世界初水の氷結結晶写真集)


水からの伝言

  • 水に『ありがとう』などの良い言葉を見せる
    • →きれいな結晶!
  • 『ばかやろう』などの悪い言葉を見せる
    • →きたない結晶!!

TVで取り上げられ(色んな意味で)話題に

5秒でできるサーバ稼働率向上
$ echo 'ありがとう'
よくある失敗例

crontabで定期的に「ありがとう」

$ crontab -l
0 0 * * * /bin/echo 'ありがとう' 2»&1 /dev/null

感謝の気持ちを大切に! 手で打ち込んでこそ念がこもります!!

スピリチュアルエンジニアリング応用編2: ホメオパシーの導入

ホメオパシー
  • 中世ヨーロッパから続く医療技術
  • 難病を治したい
    • →その難病と似た症状を起こす毒をすごーく薄めて患者に投与
    • →なんだか早く治った気がする!!

近年マスコミで取り上げられ(色んな意味で)話題に

ホメオパシープログラミング

すごーく小さな事故を混入させることで大事故を回避。

まとめ

スピリチュアルエンジニアリングとは

  • 「絶対に事故らない」「リリースしないと俺が死ぬ」などの強い念を込めてシステムの徳を高め、品質や稼働率を向上する
  • 気合、根性、運、祈り、感謝、妖精さん