レガシーとは?の金言

最近、社内でのキーマンに対してインタビューを行って廻る機会が一度となくありました。それぞれ10名から20名ぐらいへ、あるときは人事制度のこと、またある時は社内のDevOps環境について。さらに最新では中期経営計画を作るにあたっての情報交換。毎度インタビュイーは違うしテーマも違うのに、聞き手が同じだから収斂してしまうのか、繰り返し似たような真理というか金言めいたものを聞くことができました。今日はそのうちの一つところを。

システムを書いた言語や利用するミドルウェアといった開発技術自体が古くなったとしても所謂レガシーにはならない。自分のところのドキュメントレスとテストレスから属人化が始まり、そこにレガシーの沼が生まれる。

そだねー

じゃあどうすっかという点では、まず皆が触れること可能なリポジトリへきちんとメンテナンスして公開することだと思う。アウトプットがサイロ化された奥のところに保存されてるとヘドロ化する。もっと直接的にドキュメント書けばいいしテスト書けばいいのだけど、シマウマちゃん達には何度書けって言ったところで書けるものではないから。人目に触れないとこに置くと、(未来の自分を含めた)他人に伝えるためのドキュメントは書かなくなるものだよね、真理として。

まあ、私も目には触れさせるけど何も書かず、口伝って時も多いけどね。自省。

denoの開発は進む

GitHub - denoland/deno: A secure TypeScript runtime on V8

f:id:masataka_k:20181003075946p:plain

今のdenoの魚拓です。動くリリースが出てから今日も元気に開発が進んでます。基本的なOS操作はdeno.writeFileSyncなど名前空間"deno"で一通り揃ってきました。 CIも貼られてモダンにリポジトリ内が整ってきてますが、しかしまだプロダクトリリース前。それにも関わらずにこのwatch-star-forkの数!

ブートストラップから一連のdeno本体はRustで、libdenoと名付けられたV8と密着したところはC++、deno名前空間に置かれたユーザーAPIはTypeScriptで初期コードが書き直されて、前より見違えて綺麗になってきてます。/jsフォルダには数個のぞいてほとんど全てが.tsに書き直されてました。

ば、バ...バイナリリリース!

Releases · denoland/deno · GitHub

久しぶりにdenolandを見に行ったら、超驚いたことにバイナリリリースが出てた。早速触ってみます。

macOS環境なので、deno_mac_x64.gzをダウンロードしunzipしたらdeno_mac_x64が一つだけ出てきました。実行可能ファイルが一つだけ。それをchmod u+xして準備完了。リポジトリのtestフォルダにテスト用のスクリプトがあるので、大体できることを把握して書いてみました。あんまりTypeScriptっぽくないが、async/awaitがあったほうがよかろう。

// ~/async.ts に保存
async function fn(arg: string) {
  await new Promise((resolve, reject) => {
    console.log("2");
    setTimeout(resolve, 3000);
  });
  console.log(arg);
}

console.log("1");
setTimeout(() => fn("3"), 3000);

これで、./deno_mac_x64 async.ts と実行する。。。おお、ちゃんと動いた!ゆっくり3秒あけなから1、2、3と出る。

まさにTypeScriptネイティブな環境で、これこそ流行らせたい。

オレオレサマータイム

なんか80年代Jポップのタイトルみたいだけど。

f:id:masataka_k:20180810044745j:plain

私はオレオレサマータイム実行中。妻子が帰省で、私と犬だけで留守番しているため、朝晩の散歩がある。猛暑の中で毛皮脱げずに着てる者の身になると不憫で、朝は早く晩は遅くに外に出ます。午前中でもすぐ30度超えの様子なので、なんとか5時前には家を出たい。よって4時すぎには起きます。いつもは7時すぎに起きてるから3時間弱早まる。これがオレオレサマータイムサマータイムって1時間しか早くならない(米国ではそうでした)から、オレオレというよりスーパーサマータイムなんじゃね?当然腹も減るので昼食も早く夕食も早く、勢い、就寝も早まる。

オリンピックのマラソンは、朝5時出発で7時すぎにはゴールってやれば十分熱中症対策にもなります。その時間帯の暑さはまだなんとかなる。毎日その時間帯に歩き回ってる経験から言ってるので間違いない。

今後システム作るときには消費税率が変わることを予期して組んできたように、サマータイム施行がくる時があるやもと想定して設計しておけばいいですな。2020対策では見送られても10年以内ぐらいにやるかもしれない。間に合わずに施行されちゃったら特需ってことで。

うがった見方をすると、例えばNTTグループが再編でカネが必要になって、ロビー活動したんじゃないかなと。社名変えるのも社屋整理するのも大変ですからね。NTTじゃなければFかHかはたまたNなのか。

denoland

github.com

denolandなるプロジェクトにgithub内移動していました。ヘビみたいな何かの絵がアバターになってる。

LinuxWindowsでCIステータスも表示されるようになっていた。そろそろ?と期待して、書いてある通りをなぞってビルドしてみたらエラー出た。エラーメッセージ読むと私のMACの中にXcode.appが無いってことだけみたい。しかしそれはサイズがデカいので入れたく無いなー。勢いrustcは入れてしまったが、まあ、またしばらく様子みよう。MacのCIステータスが表示されていないのがまだ待てってことかもしれないし。

興味持って追っかけてるけど、日々様子が変わるので、私みたいなTypeScript書きたいだけの利用者はまだ手出しすべき時じゃ無いかと。

で、さらっとRustねぇ。denoがJavaScriptのランタイムであるV8の操作を行う中で、ガベージコレクトのあるGo言語だと難しいことになった、ということからガベージコレクトの無い新言語でRustを選んだという。。。ここは普通にC++で諦めた方が面倒が少なかったかなあと思いますが、天才Ryan Dahlはそこに行かなかったか!その後にRustのドキュメントをちらっと眺めただけですが、老いたのかそこにGo言語を見たときの萌えはなかった。やっぱり老いてるんだろうなあ。

今日のdeno

deno/src at master · ry/deno · GitHub

今日みたら、deno2への移行が一段落したみたいでdeno2フォルダがそのままsrcフォルダになり、ルートフォルダに並んでたソースが整理されていました。 ビルドのプロセスもまさに今日ガラッと変わったので手順追って見たら。。。gnを使う段でエラー。ウォッチャーは手をだすところではなかった。

量的にはシンプル化しましたが、なんかC++ありRustあり、TypeScriptありJavaSctiprありPythonあり、で質的にはまだまだ混迷している。

denoでサポートするimportの機能はそのままGolangの仕組みのようなものにしたいのかな。package.jsonなし&npmは使わず、と言いながら今はyarnでnpmリポジトリからビルドのためとはいえpackage.jsonに定義したライブラリ群を持ってきてます。この辺が整理されたあたりからdenoの目指す姿が見えてくるように想像します。

日本帰国

https://i.sios.com/ir/news/20180615jinji.pdf

米国に来て丸4年が経過しましたが、この度、7月1日付でサイオステクノロジー株式会社 常務執行役員を拝命いたしましたので日本に帰国します。サイオスグループは最近になってホールディングス制に移行していて、そのため私が2009年から一時期執行役員を兼任していたことのあるサイオステクノロジー株式会社はホールディングス持株会社たるサイオス株式会社となり、今回着任するのはそこから全事業を分割移譲した新しい会社なのですが、内外の実質はその昔テンアートニーという社名から始まった社歴を継承するそのものです。

  • サイオステクノロジーは事業部が3つあり、そのうちRedhat Linuxがあるライセンスディストリビューション事業、LifeKeeperがある事業継続ソリューション事業、MFP向け自社パッケージ事業、AWS向けクラウドSaaS事業で構成される第1事業部の副事業部長です。グループ内最大単位の製品開発&販売組織に、技術寄りな立ち位置から経営参画することになると思います。取締役ではないので登記はありません。
  • 1999年に私が設立して2008年にサイオスに買収されたグルージェントからは既に過年度に登記から離れていて、今回帰国で改めて属することはありません。グルージェントは私がいなくなったのちにGoogle向けSaaS事業が爆発成長してグループ内でも有力なキャッシュジェネレーターになってます。鈴木都木丸すごい。
  • 2015年よりプレナスと合弁で作ってたレストランPOS開発事業のBayPOS Inc.も既に過年度に退任しています。BayPOSも私の退任が材料だったかのようにその後に本格的な世界展開がはじまり、事業規模の成長が急加速しています。既に日本への逆輸入?も遂げました。新井正広すごい。
  • 2014年以来の米国SIOS Technology Corp.取締役には留任しますが、私の拠点が日本に移るという時空間的問題から、おそらくより領域を絞った関与にならざるを得ないと思っています。この米国取締役が唯一登記として残ります。私がいずれもし外れることがあれば、ジンクス的には急かつ爆発的な成長を始めちゃったりして。。。

この後数週間で引っ越しなので、家具や車や諸契約やらの整理に追われております。特にウチは大型犬(ゴールデンレトリバー オス2歳半、体重40kg)が居るので、その手続きは妻に任せっきりですが、結構大変なことになっています。先に6/22に妻と娘と犬を帰国させてから後日6/25に引越荷物の搬出を行い、6/27の朝に家の鍵を大家さんに返す&空港で例のAudi SQ5を買取業者さん(日本にもあるあのガリバー)に引き渡すというスケジュールで、何かミスると正午発の飛行機に乗り遅れるかもしれないので、今からドキドキです。

f:id:masataka_k:20170706091220j:plain

でかいでしょ?

日本の新居は既に5月末にAWS Summit登壇の用事で日本へ出張した時、ついでに探して決めていました。私の通勤と長女の通学の便利が目黒線沿線になるのを大型犬飼育可能条件で絞ると物件は希少だったのですが、お値打ちで質も良いものに巡り会う幸運があり、奥沢に住みます。白金高輪サイオスビルまで所要時間が電車&徒歩でも車でもドアtoドア30分ぐらいなので良かった。中学高校時代に体育が多摩川河川敷のグラウンドであったり、友人がちらほら住んでたりで、目蒲線と呼ばれてた時代に乗ったことがあっただけのところが、30年ぐらい前はカエルみたいに緑で丸っこい路面電車風の記憶で、それぞれ駅は都心近くなのにローカル線のような雰囲気だったんだけれども、今は綺麗で大きな駅になってたり編成車両数増えて列車が長くなってたりして驚きました。