blog.8-p.info

r7kamura さんのこのサイトの実装 2020年版に倣って、このブログの実装を書いてみる。

「サイト」じゃないのは、8-p.info は仕組みなどが似ていながらも別れているからで、それでいうと blog.8-p.info のトップにある目次ページも、別のシステムで動いている。今回は /ja//en/ 以下の話です。

ホスティング

S3 + CloudFront で静的ファイルを配信している。

Jekyll をはじめて使ったのは2011年だけど、当時の Makefile を確認すると、どこかの VPS の Nginx に rsync していた。S3 を使い出したのは Amazon に転職したあとの2013年なので、我ながらドッグフード1精神がある。

以前はS3 の静的サイトホスティングだけを使っていて、数年前に HTTPS 対応するべく、CloudFront を追加した。

ドメイン

Namecheap を使っている。前はムームードメインで、さらに昔はバリュードメインだったはず。

ドメインをとったのは大学に入って自分のクレジットカードをもった年のはずで、昔はメールアドレスも 8-p.info にしていた。メールサーバーを立てたりはせずに、バックエンドは Gmail に、と思っていたけれど、Gmail の歴史を確認するとつじつまがあわないので、最初はプロバイダのメールアドレスに転送していたのかもしれない。

当時に自分が所属していた、という意識があったコミュニティは Linux 界隈で、ここは自分のドメインをもっている人が多かった記憶がある。

ビルド

GitHub Actions を使って、kzys/blog にコミットしたら、自動的に前述の S3 にファイルをアップロードして、さらに CloudFront のキャッシュを消すようにしてある。

静的サイトジェネレータは Hugo を使っている。

私は2008年から2016年にかけて、毎年別のブログを作るという奇行2をしていたことがあって、セコンさんのリンク集でも、

シアトルのエンジニア kzys。毎年ブログを式年遷宮してる。

と紹介されている。

当初はこれで、色々なブログエンジンをデータの移行を気にせずに試せる! と思っていて、実際に Catalyst 自作 -> WordPress -> Tokyo Promenade -> Jekyll -> Play 自作 -> Jekyll -> Rails 自作 -> Hakyll -> Hugo と色々使った。

ただ、段々と静的サイトジェネレータに落ち着きがちになってきたこと、前述の HTTPS 化にともなう設定項目の増加、子供が生まれてだんだん忙しくなってきたし、というので blog.8-p.info に戻ってきたという経緯がある。

Hugo の設定としては /ja//en/ は完全に別のインスタンスで、テーマだけシンボリックリンクをはって共有している。

デザイン

シンプル。たまに Google Fonts にあるような変わったフォントを使いたくなるし、実際に使ったこともあるけれど、結局なんとなく落ち着かなくて Helvetica Neue あたりに戻りがち。

仕事で HTML や CSS を書くことはなくなってしまったけど、いまだに自分で簡単なものを書くのは好きで、人が作ったテーマに身を任せられないでいる。

あと、Edward Tufte っぽく、横に脚注をつけれるようになっているけれど、あまり使ってはいない。

記事の書き方

Markdown を使っている。

実は nb2hugo を使って Jupyter Notebook を Markdown に変換する仕組みもついているんだけど、Jupyter を使うようなものを最近書いていない。


  1. 少し前の Rebuild に “fishfooding” という話があったけれど、うちの社内には “drink your own champagne” という派閥の人々がいる。おしゃれ。 ↩︎
  2. 江渡浩一郎さんが、毎年メールアドレスを変えていて、それにも影響された。 ↩︎

コロナウィルス定点観測です。

本当は8月の末に書いて「あまり変化がないなあ」と思っていたんだけど、ここ数週間は色々と変化があった。ひとつは学校がはじまったことで、これは良かった。もうひとつは山火事で、これは悪い。カリフォルニアの人々が山火事のはなしをしていたころは、同情しながらも他人事だったのだけど、いまになって慌てて空気清浄機を買ったりしている。

仕事

相変わらず自宅で働いている。買い足したものは特に無し。

買い物

前回とあまり変わらず。米は、たまに品切れになるけど、かなり安定して買えるようになっていてありがたい。一方で、二酸化炭素とか自転車とか、思わぬものが品切れになっていたりもする。

学校

アメリカの新学期は9月はじまり。子供のプレスクールは色々とコロナウィルス対策をいれつつも、再開されることになった。上の子を送り出して、下の子が眠ると、完全に子供から解放されるので、だいぶ気持ちに余裕ができた。

まわりを見ると、コロナウィルス以前は行くつもりだったけど、今回はやめる、という家族もいるみたい。

ニュース

New York Times の Coronavirus Briefing を読むのは、多分7月のどこかで止めて、コロナウィルスについて定期的に読むニュースというのはなくなってしまった。

政治

CHOP / CHAZ は行ってみる前になくなってしまった。デモやプロテストはずっとやっている。

政治といえば大統領選もはじまるけれど、アメリカ市民ではない私に投票権は無いので、これはあまり深追いしないようにしたい。

懐古と復興

Sep 4, 2020

セコンさんの心のざわめきを無くして日記を書くということ / secon.dev への移転が良くて、なにか書こうかと思っていたら、森井さんに先を越されてしまった。

過去のインターネットを懐かしむ話と、いやいや、いまだって大丈夫だよ、というのはここ最近よく見かける話題で、

無料のホスティングを提供する Neocities から、href.coolOMGLOAD といったリンク集、webring.xxiivv.com のようなウェブリングまで、少しの揺り戻しは来ているように思う。

これらがメインストリームになるとは主張しないけど、過去のインターネットにあって一度は廃れてしまった色々について、いま良さを再発見している人々は存在する。個人的には、退行ではなく復興運動だと思っている。

また、私はここ最近、100 Days To Offload という、一年間に100記事ブログを書いてみようという活動に参加している。ここに参加している人々は、自分の読んでいるブログを Blogroll にまとめてみたり、お互いに Webmention というトラックバックみたいなものを送りあったり、ちょっと懐かしいブログスフィアの雰囲気を感じてしまう。

一方で、プラットフォームの外でブログを書く人というのは、書き手の入れ替わりはありつつも、今も昔も常に一定はいるようにも思う。

例えば、プログラミング言語の Rust のコミュニティでは、毎年の終わりになると A call for blogs という呼びかけに応じて、人々がブログやオンラインフォーラムに、来年の Rust に望むことを書く、という風習がある。書かれたものは Read Rust にまとめられていて、ここを見ると、自分の個人のドメインにブログを書いている人というのは、今もそれなりにいるんだなあと気づかされる。

「日本人プログラマに優秀な人はいますか?」と聞かれたら、それはもちろんいるでしょうと思うのだけど、これが「日本人プログラマは優秀ですか?」となると、それは難しい質問だなあと思う。

主語の大きさ

一つは、主語の大きさだ。「日本人プログラマ」には、メルカリや任天堂から、ホンダや自治体まで、あらゆるところで働いている人がふくまれている。これ全体をみて、さらに他の外国についても、同等の大きな集合について比較するのは難しい。少なくとも私は、そこまで日本人プログラマ全体に関して詳しくない。

公教育について各国を比較する、というのは研究している人はいるはずで、そこから各国のプログラマについて傾向を見出すことは出来るかもしれない。一方で、プログラマというのは若い人だけの職種ではないので、30歳くらいになれば、公教育からくる思考のクセみたいなものも抜けてきませんか、とも思う。

政治的正しさ

もう一つは、「日本人プログラマは優秀です」の近くには「それと比較すると、あの国のプログラマはあまり優秀じゃありません」があって、それは差別的な話になってしまうという難しさだ。私は「やっぱり日本人プログラマは優秀ですね」と言われたことはないし、反対に「ここの国のプログラマは優秀ですね」というのも、少なくともここ数年は、言ったことがないと思う。国籍については、日々の仕事でなにかの判断の材料にはできないし、容姿や性別と同じように、職場ではふれないほうが良い話題のうちの一つである、という意識がある。

こういうのを「けっ」と思う人もいるかもしれない。ただ、アメリカで働く日本人である私からすると「日本人は細かな改善は得意だけれど、オリジナリティのある大胆な発想には欠ける」みたいな意見でもって、人々が私に割り当てる仕事の種類を変えたりするようになったりすると、それはもっと困る。国籍ではなくて個人を見てほしい。

こういう政治的正しさは、不利益を被る人がちゃんといるので、あまり無視しないほうがいいと思う。

まとめ

「日本人プログラマは優秀ですか?」に答えるのは、主語の大きさと、政治的な正しさの両面から、難しいですよ、という話でした。

こういう質問をする人は、血液型でわかる今週の運勢! みたいなノリで、あまり根拠なく背中をおしてもらいたいだけなのかもしれないけれど。

Bryan Cantrill のスタンフォード大学での講演を YouTube でみた。

Bryan Cantrill は Sun で DTrace などを手がけた後に1、Joyent の VP of Engineering と CTO を歴任した人で、最近では Rust 推しなことでも知られている。私は The Summer of Rust を見てからずっと氏の講演のファンで、YouTube におすすめされるとつい見てしまう。

Oxide Computer Company は Bryan Cantrill が Joyent を辞めたあとに起業した会社で、ホームページでは

Hyperscaler infrastructure for the rest of us

をうたっている。

Oxide Computer Company の問題意識は、

  • オンプレミスのサーバーは無くならない。規制や経済上の理由で、クラウドに計算資源をおくのが得策でない状況というのは存在する。
  • 現在のサーバー向けハードウェアは、ラックマウントな形をしていても、結局のところ IBM PC の延長でしかない。
  • Google や Facebook といった “hyperscaler” はその問題に気づいている。Open Compute Project のサーバーは良い。
  • 現在のサーバー向けハードウェアは、hyperscaler だけがもっているサーバー向けに設計されたものと、その他の我々が使える IBM PC の延長でしかないものに二極化している。

というもので、これを解決するために、ハードウェア、ソフトウェア、そしてファームウェアまでを統合して設計されたサーバーを作ることを目指している。

ファームウェアについては、Oxide Computer Company の共同創業者の一人でもある Jessie Frazelle が ACM Queue に書いていた Securing the Boot Process もあわせて読むと理解が進むと思う。

Oxide Computer Company には The Rust Programming Language の著者でもある Steve Klabnik も入社している。製品が出るのは2022年くらいらしいけれど、ファンとしては成功してほしいなあと思う。


  1. 実際には Sun と Joyent の間に、Sun の買収にともなって Oracle に所属していた期間がある。Bryan Cantrill は常に Oracle には手厳しく、この講演の中でも “Sun was invaded sadly” と言及している。 ↩︎