/var/log/hdk.log

2017 年 1 月下旬


20 (金)

%1 きんようび

将棋の加藤一二三九段、引退は決まったが今日は最年長勝利記録を達成したとのニュースが流れた。 相手の飯島栄治という人は七段だが B 級 1 組で決して弱い人では無いらしいものの、本人の tweet では今回は完敗だったと。 ひふみんも、こうして勝ってきたからここまで現役でいられたんだもんな。

すごいといえばテニスの全豪オープン、ジョコビッチという世界ランキング 1 位になっていたこともある強い人 (今は 2 位?) が、イストミンという世界ランキング 117 位の人に敗れたというニュースがあった。 そんなこともあるんだなぁと。

テレビでやってた映画『千と千尋の神隠し』。 ジブリ作品によくある、ちょっとした不気味さと不思議ワールド全開なのはさすがだが、さすがにストーリーが頭に残っているので初めて見た時のような新鮮みは無い。 そういえば、宮崎駿作品といえばパンチラなのに、この作品には無い。 先週の『風の谷のナウシカ』のようにめちゃめちゃしっかり者の主人公というわけでもない。

夜はアメリカ合衆国大統領の "inauguration" (就任) の様子が様々な媒体で生中継されている。 分散してしまっているからアレだけど全体の視聴率はすごい数字かもね。

2017/01/20 のコメントを読む・書く


21 (土)

%1 どようび

ネッツからヴィッツハイブリッドデビューでシチューセットプレゼントの案内が来ていたが、天気が良くて暖かかったので、バイクでネッツに行ってみたw 本当にいい天気だった。 シチューセットだかなんだかというのは野菜とルウのセットで、肉は付いてない。 まぁそれを頂いて、ついでにヴィッツを少し見る。 顔つきが若干アクアっぽくなり個人的には前のより好みだ。 ブレーキランプまわりはオーリスっぽい雰囲気になった。 まぁそれは良くて、ハイブリッドは排気量 1.5L だからアクアとほとんど同じようなものだろう。 アクアより後ろの高さが若干あるかなと言う感じで、サイズ感もあまり変わらないし、アクアの買い換え需要を狙っているっぽい。 アクアのモデルチェンジはまだだが、大きくなるかも知れないとか何とか、そうすると小さいのがいい人達は必然的にヴィッツハイブリッドに流れることになるのだろう。 まぁもともとアクアって何でヴィッツブランドじゃなかったのか不思議なところではあったし、それでいいのかも知れない。

それより、今回のハイブリッド追加でグレードが整理され、1.0L と 1.3L がハイブリッドじゃないモデル、1.5L がハイブリッドモデルとなり、RS が消滅するのとともにヴィッツから MT が完全に消滅したというのが驚きだ。2 代目以降は RS のみだったもののずっと MT は残っていたのに、ついに無くなってしまった。 より小さな iQ も終了しているから、軽自動車を除くトヨタの現行 MT 車で一番コンパクトなのはカローラか? タウンエーストラックのほうが小さいか? そういえばコンパクト FR 車が出るという話が前々からあるから、それが今後の MT 需要を満たすのかも知れないけどね。86 じゃあデカ過ぎるよ。 今買い換えることになればトヨタならもはやカローラしか選択肢は無く、トヨタ以外ならフィットデミオスイフトあたりは生きているが、それもそこまで小さくは無いんだよねぇ... 後は軽自動車なのかな。 まぁ現状では駐車場の問題により大きな (長い) 車に買い換えるわけに行かないので、のんびり様子見だな。

そういやトヨタの WRC 復帰はヴィッツだったよな。 復帰したばかりの今 RS を無くすとは実にタイミングが悪いね。 これは社長が何か言って復活するかもしれんな。

バイクのエンジンオイル交換をしてもらった。

よく寝た日。

2017/01/21 のコメントを読む・書く


22 (日)

%1 にちようび

3 年近く前に書いたコードが、カーネルのバージョンアップによりいつの間にか動かなくなっていたので、なおしたついでに、bzImage をロードできるようにしてみた。 それはそんなに難しい話ではなく、先頭の bsetup? とか何とかいう部分までを下位アドレスに、残りを上位アドレスに読み込み、適当に設定を仕込んで実行すれば OK だ。BIOS を用意していないので、下位アドレスにロードしたプログラムの実行はできない。 そこで、32bit にしていきなり上位アドレスに実行を移す。 セグメントがなにやら 0x10 がコードセグメントで 0x18 がデータセグメントの必要があるらしくて、そこだけ注意が必要だった。QEMU の -kernel オプションなどを使用した時に実際に実行を行うコードが edk2 に入っているので少し参考になる。

で、さらに AMD64 もいけるかな、と思ってちょいちょいと試したところ、KVM_SET_CPUID の使い方間違ってたんだなーとw ちゃんと function 0 から指定しないといけなかったし、function 1 のレジスターに入れる値も間違ってたし、なんかいろいろとアレだったw しかし、CPUID をそれっぽくすれば、EFER MSR なんかは勝手に KVM 側で何とかしてくれるっぽくて、特にユーザーランドですることは何もなく、案外簡単であった。

車のアイドリング回転数が送風ファンのスイッチのオンオフで変わることがあるってのを先週書いたが、あの後、その挙動が再現できていない。 確かに、あの後は気温が高く 5 度前後はあって、それが関係あるのかな。 こういう説明書にも無いような挙動は AT/CVT 車だと駐車場等で変に急発進になるみたいな嫌な思いをすることになりそうだよなぁ。

さっそくシチューを作った。 もらった具材のタマネギがすげぇ大きなやつだった。 圧力鍋でちゃっちゃと。 意外とおいしい。

2017/01/22 のコメントを読む・書く


23 (月)

%1 液晶保護フィルム

スマートフォン ZenFone Max に貼っていた、貼るのに失敗しまくった液晶フィルムだが、数日前に幸か不幸か効果を発揮し、フィルムの一部にボコッと穴が開いたようになってそこだけ空気が入った形になっていた。 何かとがったものでつついてしまった風。 さすがに見苦しいので買い直そうと思った。 でもなんか高いのを買うのがしゃくなので、ダイソーに行ってみた。 さすがに 5.5 型用の汎用品は無かったのだが、画面サイズが同じくらいの iPhone 6 Plus 用の液晶保護フィルムがあったので買ってきた。

さて、実物に合わせてみると若干幅が小さいことがわかった。iPhone 6 Plus ってこんなに小さいのかと。 うーん、と思ったけど、まぁいいや、端っこが多少傷ついても使用に影響無いだろう、ってなわけで、おおよそ真ん中に合わせて、貼った。 画面の表示部分はほぼカバーできている。108 円の安物だし適当でいいや、と貼ると、妙にきれいに貼れるという、何とかの法則。ZenFone シリーズにはサイズが合わないのでおすすめしないが、iPhone ユーザーの人にはこれお勧めかも。 どうせ失敗したってまた買えば良いと思える価格だし、何なら何枚かまとめて買っておいても良いのでは。

%2 9P2000

Plan 9 由来のプロトコル 9P2000 について軽く調べた。 大変シンプルで良さそうなプロトコルだ。

試しにいつ入れてみたんだったか忘れた 9vx 環境で aux/listen1 -tv tcp!*!9999 /bin/exportfs -R -r / をたたき、Linux の 9p でマウントしてみたら普通にマウントできた。Linux では普通は diod コマンドなどで 9P2000.L という拡張プロトコルが使われるみたいだが、元の 9P2000 もいけるということだ。 へぇー。

2017/01/23 のコメントを読む・書く


24 (火)

%1 9P2000 の通信内容を観察しよう

というわけで、Plan 9 が実際にやりとりをする様子を観察する方法。 まず、plan9.iso.bz2 を入手して展開し、それを QEMU/KVM に食わせて起動する。2 台ぶんを同じネットワークにつないだ状態で起動するとよい。 例えば以下のような感じで。

qemu-system-i386 -enable-kvm -m 512 -cdrom plan9.iso \
 -net socket,mcast=230.0.0.1:1234 -net nic,macaddr=52:54:00:12:34:56 &
qemu-system-i386 -enable-kvm -m 512 -cdrom plan9.iso \
 -net socket,mcast=230.0.0.1:1234 -net nic,macaddr=52:54:00:12:34:57 &

何かメッセージが出てくるので CD から起動のほうを選んで後は質問に適当に Enter キーを押して答えておくと GUI になる。 両方起動させたらマウスの右ボタンでメニューを出して New を選び端末を起動して、ネットワークの設定。 それぞれに別々の IP アドレスを振る。

ip/ipconfig ether /net/ether0 10.1 255.0
ip/ipconfig ether /net/ether0 10.2 255.0

疎通確認。

ip/ping 10.2

確認できたら DEL キーで終了させる。 次にサーバー起動。

aux/listen1 -tv tcp!*!9999 /bin/exportfs -r /

クライアント側からマウントしたらこれも DEL キーでとめてよい。 クライアント側でのマウント。

srv tcp!10.1!9999 server /n/server

これで /n/server に 10.1 の / が見えている。 試しにファイルを作って確認する。

echo test > /n/server/tmp/foo

ファイルが作れるのが /tmp くらいみたい? なのでそこに作ってみた。 サーバー側でファイルができていることを確認できる。

パケットキャプチャーは snoopy というコマンドで Plan 9 上で行える。 データ部分が dump() のところにダンプされるのでそこそこ見やすいかな?

データは長さが little endian で 4 バイトに続いてコマンドが 1 バイトでタグが 2 バイトで、と続くが、コマンドで知っておかなければならないのは以下のものくらいか。

%2 バス

久々に緑色なシートのバスが来た。 年式を見忘れたけどたぶん古いやつだ。 エンジン始動時のクランキング時間が短いのも古い証拠 (?) だ。 なぜかは知らないが短いのだ。 もう小田急バスからは三菱ふそうのバスは無くなってしまったと思うが、いすゞエルガもこの古いやつはアイドリングストップに適しているのでは。 みたいな。

しかし発進の時に結構エンジンを回す運転手さんで、アイドリングストップによる燃費改善効果は発進時の空ぶかしで失われていたのでは (笑)。 まぁ燃費改善が主目的では無いんだろうけど。

2017/01/24 のコメントを読む・書く


25 (水)

%1 スイッチ

話題のニンテンドースイッチ。 外部映像出力が HDMI 端子なので PS4 同様手を出すわけにはいかないのかなと思っていたけど、ディスプレイ内蔵なので外部映像出力使わなくても支障はない説が有力で、まぁー確かにディスプレイ抱えてるんだし、今時のスマートフォンと同じように、電源端子も付いているのだから、初期設定に外部映像出力が必要というのも考えにくいかもね。 ドックにのってたら外部出力で、のってなかったら内蔵ディスプレイで、初期設定も可能と考えるのが自然か。

っていうか、仮に初期設定に HDMI 対応ディスプレイが必要だったとしても、HDMI ディスプレイのあるネットカフェにでも持ち込めば解決するのではないか。 とすると、いや、待てよ? それが可能なら、PS4 だってネットカフェに持ち込んで、PSVR の初期設定をすませれば、後は HDMI 対応ディスプレイ無しでいろいろ使えるということに...? っていうかアレテレビ無しで初期設定も可能ってことなんだっけ? 入手困難ということもあってすっかり忘れてしまった。

なお、スイッチのキラーコンテンツはやはりバーチャルコンソールではないか説が有力であり、NINTENDO64 やマスターシステムやアーケードゲームなどをモバイルで遊べると思うと胸が熱くなるな! という話のようである。 ゲームキューブソフトも出てくるのではないかという話もあり、確かに Wii の時はゲームキューブはメディア互換だったけど (CPU や GPU は同一メーカーの後継品みたいなものだったから性能調整で何とかしていたのかな?)、ずいぶん世代が進んだからゲームキューブ世代もエミュレートできるようになったのかも知れない。

2017/01/25 のコメントを読む・書く


26 (木)

%1 もくようび

そういえば最近シダックスのメンズデーに行ってない。 と思って、夜、何となく吉祥寺に行った。 ら、吉祥寺のシダックスは去年の 12 月 30 日で閉店していたらしい。 アチャー。

そういえば、去年「X'mas限定カラオケ50%OFF★お待たせしました!/吉祥寺本町クラブ【シダックス】」というサブジェクトの電子メールが届いていたな。 いかにも込みそうな時期に 50% 引きとかやるなぁと思っていたけど、きっと閉店セールみたいなものだったんだな。

そんなわけで、せっかく街に来たので、吉祥寺ヨドバシでちょっとゲームの売り場をうろちょろして、その上のレストラン街で飯食って帰った。

シダックス、調布はやってるみたいだけど、場所的に微妙に行きづらいんだよな。 まぁ原付かバスで行けばいいんだろうけど... あとはシダックス昭島中神町クラブは... あれ? カラオケバンバンに化けてる!!

2017/01/26 のコメントを読む・書く


27 (金)

%1 きんようび

テレビでやってた映画『耳をすませば』。 見るのは 2013 年以来、2 回目。 確か聖蹟桜ヶ丘あたりが舞台だったな、多摩センターが云々、いやいやそれは『平成狸合戦ぽんぽこ』だ。 これは確か聖蹟桜ヶ丘のいろは坂か何か、あの辺が出てくるやつだ。 そのいろは坂は一度バイクで行こうとしたが、二輪車通行禁止の時間帯にあたって通れなかったところだ。

誰かが言ってたけど、よく、何かと理由をつけて、だからこれは買えないんだという場合がある。 例えば、置き場所が無いからデスクトップ PC は買えない、ゲーム機は買えない、といったパターン。 あるいは、置き場所が無いから、お金がもったいないから、などの理由で車が買えない、バイクが買えないというのもあるかも。 自分が書いている、HDMI 入力のあるディスプレイが無いから PS4 やニンテンドークラシックミニファミコンは買えないというのもこのパターンだ。 すべて、あたかももっともらしい理由がついているのだが、たいていの場合、実は本質的な理由では無いわけだ。 簡単に言えば、そこまでの情熱を持っていないということだ。 買えないんじゃなくて、買わないのであって、でもほしくないといったら嘘になるという感じの時に、こじつけの理由が登場するわけである。 ゲーム機であれば、ゲームしたいという欲求より、置き場所を確保して配線してという準備作業の面倒くささが上回っている状態である。 たぶん。 買い物に限らないかも知れない。 中学生あたりを想像してみると、家族が新型ゲーム機を買ってきたなら、片づけを迅速にすませて置き場所を作り、配線も一気にやって設置してしまうに違いない。 あるいは、高校生・大学生で、バイクに乗りたいがためにアルバイトに精を出すなんて人もいそうだ。 そのような情熱があれば、HDMI 入力のあるディスプレイを買ってきて、配線をやり直し、古いディスプレイを廃棄するなんて、簡単で些細なことなのだ。 まぁ、駐車場なんかは日常の利便性とコストのかねあいもあり、場合によっては引っ越しなど大変な作業を伴うこともあるので、一概には言えないのだが、それに比べればデスクトップ PC 1 台の置き場所なんてのは、ずっと簡単に何とかなるはずのたぐいのものである。

2017/01/27 のコメントを読む・書く


28 (土)

%1 どようび

近所の戸建て物件、5 千万近い価格帯になればこの辺では大変に条件のいいものがあるのだが、3 千万台だとなかなかビミョーなところが多いのは確かである。

テレビでやってた映画『RED リターンズ』(原題: Red 2)。2013 年のアメリカ映画。 なんか見たことがあるような気がするのは、前作 RED なのか? どたばたしながらフランスやらイギリスやらロシアやらイランやら、いろんなところに移動しまくる。 アメリカ英語もイギリス英語もコリアン英語 (?) もごちゃまぜである。

久々に WebGL を触って、ちょっとテクスチャーを貼ってみようかなと思ったわけである。 前に作った WebGL Clock を改造し、透明だった背景にテクスチャーを貼ってやろうという試みである。 以下のようになった。

WebGL Clock

まず画像の読み込みがポイントで、Image() のオブジェクトを使うが onload で処理を行う必要がある。 やることは gl.createTexture() で作ったテクスチャーをバインドしてから gl.texImage2D() とやらで画像をテクスチャーに変換し、gl.texParameteri でいくつかパラメーターを設定して、gl.generateMipmap() で縮小用のミップマップとやらを生成 (でも今回は使用しない)、ここまでが準備。 あとは表示の時に、gl.activeTexture() でテクスチャー 0 を選び、バインドしたら sampler2D 型の uniform に 0 を渡すとフラグメントシェーダーで読み取れるってことのようだ。 この時点で読み込みが終わっていないと真っ黒 (vec4 (0.0, 0.0, 0.0, 1.0) 相当?) のデータになる。 画像を data URI scheme で渡していても同様だった。 フラグメントシェーダーでは texture2D() に sampler2D 型の uniform と vec2 で座標を渡せば OK。 各座標は 0.0〜1.0 が範囲だというのだが、それを超えると繰り返しになるみたいなので、あまり難しく考えることはない。 この時計プログラムでは円の描画をフラグメントシェーダーで行っており、中心が 0, 0 でプラスマイナス 1.0 の範囲を使う座標を持っているので、それをそのまま使えば 4 つ現れることになる。 それを元にちょろっと計算式を書いたらうまくいった。

最近 Debian に fonts-mmcedar というフォントパッケージが入っていることを知って、使ってみている。 これは、「モトヤ L シーダ」という、Android のバージョン 4.0 から 5.x の時代までのソースコードに入っていたモトヤのフォントと、M+ フォントを組み合わせたものである。 ちょっと独特な雰囲気になるが、M+ の部分を除けば、以前の Android 端末で見慣れていたはずである...? いや、普通はシーダではなくてマルベリのほうが使われていたらしい。 で、正直なところ、Android 6.0 で採用された Noto Sans CJK より良い感じがする。 いやまぁ、Android 端末で見る限りはそれぞれちゃんと表示されていると思うんだけど、こうして PC 環境に適当に入れて見るとなんか変な感じになっちゃうんだよな、Noto Sans CJK って。 しかしこれマルベリとの組み合わせは無いんかな。 ソースパッケージに作るスクリプトが入っているから自分で作ればいいのか。 なお、元のモトヤフォントは以下のところにある。

platform_frameworks_base/data/fonts at marshmallow-release - android/platform_frameworks_base - GitHub

と思って作ってみたけど高さがおかしなフォントができあがってしまった。 うーん。

2017/01/28 のコメントを読む・書く


29 (日)

%1 にちようび

よく寝た日。

チック・コリアのスペインという曲がラジオで流れて、途中のリズムに何かどうも聞き覚えがあったのだが、CM かと思ったけど違って、平原綾香のカバーか。

ThinkPad X201 で Debian GNU/Linux 8 を使っていると、よく音がグリッと変な風に鳴ることがあって、なんか buffer underrun を起こしている風なんだけど、アプリケーション側の不具合では無いらしいというところまでわかってはいた。 デバイスドライバーがクソなのかと思って今日何となく WWW 検索してみたら Arch Linux の Wiki に情報があった。

PulseAudio/トラブルシューティング - ArchWiki

あぁ、たぶんこれだ。PulseAudio が何かやらかしているのか。tsched=0 を付ければいいらしい。 これでも完全に解消はしていないような気がするが、ポツッと鳴る程度であからさまにひどいのは解消された気がする。 拙作エミュレーターにおいても、ちゃんと buffer underflow メッセージが出るようになって、前のような不自然な挙動はなくなった。

メカニカルカウンター、って日本語で何て言うのかな。

Mechanical counter - Wikipedia

これ。 カセットテープレコーダーなどでくるくる回るのを子供の頃はよく見ていた気がするんだけど、オドメーターや電気使用量メーターでまだ使われているものの、カセットテープは廃れちゃったので、早送りのようにくるくると元気よく回るところを目にする機会はなくなった。 こういうタイプの表示器で時間の情報 (時刻とかストップウォッチとか) を表示する装置って無いのかな、どう作るのかな、と思った。 確か構造としては、数字が 9 から 0 に進む時に隣のドラムが同じだけ回るみたいな簡単な機械仕掛けによるもので、しかし時間の情報では 60 秒や 60 分で次の位を進めなければならないわけで、そうすると一部の位は 0〜5 になる? そうするとそこだけドラムが小さくなっちゃうから、桁上がりの仕掛けはどうなるんだろう。 荒技としては 6 と 10 の最小公倍数 30 でドラムを作っちゃえば 6 も 10 も同じサイズにできるけど。

2017/01/29 のコメントを読む・書く


30 (月)

%1 今日は暖かいというので

あったかムートンブーツでなくてフツーの運動靴で出勤し、帰りは歩くことにした。 そしたら、確かに昼間は暖かかったんだが (最高気温 17.9 度、気象庁アメダスより、東京都府中市の情報)、北風で、夜になるとそこまで暖かいという感じではなかった。 まぁでも凍り付くような寒さでもない。 手袋無しでも大丈夫な程度だ。 そもそも最近歩きでは手袋使ってないというのはおいといて。

徒歩帰宅は 10 月以来、3 か月ぶりだ。 普段よりハイペースで (たぶん一般的には標準的なスピードで) 歩いていたらだいたい 90 分で帰り着いた。Google Maps が出す時間とほぼ同じだ。 やはり 1 時間ほど歩いた頃、公園のあたりにいる時か、あるいはもうちょっと前か、ちょっと足が痛い時があったが、今回はそれだけだった。 運動靴なのが良かったのかも知れない。

ポケモン GO による電池の減り具合は 10 月の時と変わらない。 って、10 月は途中で晩ご飯を食べているから、2 時間くらい掛けて帰ったはずだ。 そのときより 30 分も短いのに電池の減り具合が変わらないとは、電池の劣化というやつか。

%2 シチュー

株主優待のシチューのルウもあったのでまたきのうシチューを作って今日に掛けて消費した。 シチューのルウってやつは固形タイプと顆粒タイプがあるみたいだ。 カレーもカレー粉ってのがあるけど、記憶ではカレー粉はとろみを別途つけなければならないというような、作り方が違うように記憶している。 しかし、シチューの場合、固形でも顆粒でも作り方はほとんど同じである。 どういうことなのか?

ちょっと WWW 検索してみたけど本当のところはよくわからない。 予想が付くのは顆粒では微調整がしやすいというところで、確かに一皿分何グラムなどの表記もあったし、好みに応じて量の調整をするなら、加減がしやすいのは顆粒だろう。 それ以外に、とけやすいというのもわかる気がする。 あとは、固形の場合は油分で固めているみたいで、顆粒のほうが油が少ないという話があるようだ。

実際食った感じでは、この前ネッツでもらったのが固形で今回作ったのが顆粒だったんだけど、油分については違いはあまりわからなかった。 それより、顆粒のほうがちょっととろみがつきにくいというか、あまりとろみがつかない感じはした。 あと、顆粒のほうが一箱分の分量がちょっと多いみたいで、一人暮らし的には分量の少ない固形のほうがいいか? いや、一度で全部使い切らないのなら顆粒のほうがいいかな? でも保存の時に吸湿しづらいのは固形のほうかな?

などなど、結局どっちでもいいのではという感じなのだが、いずれにしても、クリームシチューはカレーに比べるとあっさりとした料理で、朝食のスープ代わりにもなるのがいいところだ。 カレーもまぁ作ると結局朝晩食べることになるんだけど、カレーは一箱分作って 3 食で食べきるのはきつい気がするのに対して、シチューは 3 食で何とかなる。

2017/01/30 のコメントを読む・書く


31 (火)

%1 Docker

時代は Docker (?) ということで、GUI のほうじゃなくて Linux container のほう。 ちょっと触ってみたところでは run は create じゃねーのと言いたくなる以外はなにやらおもしろそうな感じである。Ctrl-P が一発で反応しないうざさが半端無いが設定で変えられるらしい。GNU screen の Ctrl-A といい、これらの開発者は bash や zsh のような履歴行編集機能付きシェルを使っていないのか、それとも、set -o vi で使っているのか。

おもしろいと思わせる理由は、ぺちっとコマンドをたたくとメジャーどころのディストリビューションの環境がぽこっと作られて chroot/jail っぽくされてシェルが立ち上がるところだ。chroot 環境をこしらえたことがある人ならわかると思うが、Debian 系で debootstrap を使うにしても、/dev をマウントしたり /proc をマウントしたりして結構手間だ。 それを全部自動でやってくれる上、ネットワークやプロセスの名前空間もわけてくれるというのだから楽ちんだ。 いや、作るだけでなく、シェルを exit すれば後かたづけをしてくれるんだから至れり尽くせりである。

で、run は images をもとに新しいインスタンス (container) を作って開始するというもので、images の一覧は docker images で確認でき、インスタンスの一覧は、docker ps で動作中のもの、docker ps -a で停止中のものを含めたすべての一覧が見られるという具合。 停止中のものを起動するには start、動作中のものにつなぐには attach。 停止しているいらないインスタンスは rm で消せる。save/load で別マシンにインスタンスのお引っ越しが可能なのかな。

A new image を作る時は build だっけ。Dockerfile とやらを書いて build をたたくと image ができる。 あるいは、インスタンスを commit としてもできるんだっけな。 なんかそんな感じ。 ファイルシステムでの工夫で、同じ image をたくさん開始してもディスクの消費量は抑えられている模様。 でも ZFS のアレみたいに同じ内容のファイルを勝手に見つけるみたいな仕組みではなさそうで、同じ image のインスタンスを作る時にうまいこと処理されるのではないかな。

使われ方としてサーバーを立ち上げて云々という向きもあるようだが、気軽にぽこぽこと立ち上げてしまうと、その後セキュリティアップデートの適用で結構つらいものがありそうな気がする。 でも同じ環境を頻繁にばしばし増やしたり減らしたりするなら向いているのかな。 開発用としては明らかに手頃で、まっさらに近い状態のディストリビューションの環境をサクッと手に入れ、そこに必要最小限のパッケージ等をインストールした上でビルドする、みたいな作業にはとても向いていそう。 他人とビルド環境を統一したいということはあるので、そういうのには良さそう。 実際、前に試した Mozc for Android はビルド用に Dockerfile が配られていて簡単だった。

技術的には Linux container であり jail の発展版のようなものでもあり、それに unionfs の発展版的なものを組み合わせたもので、目新しさは無いけど、こういうのは使い勝手の変化で大きく化けるもの。13 年くらい前に SoftEther という VPN が出てきた時もそうだったし、iPhone だってそうだった。 どういう技術が使われているか、想像は付くし、作れと言われれば作れそうなものでもあるけど、ここまで使いやすくまとめるというのは簡単じゃないし、こうしたら使いやすくなるだろうというアイディアもまたすばらしい。

2017/01/31 のコメントを読む・書く


Powered by Tomsoft Diary System 1.7.4

/var/log/hdk.log コメント一覧

トップ / 日記索引 / 日記 (2017 年 1 月下旬)

Hideki EIRAKU