水底

ScalaとかC#とかk8sとか

Docker native(Windows)を2週間程使ってみた所感

最近メイン環境をMacからWinへ移行したがやはりテスト・開発・実行環境として*nix系が使いたい. ちょうどDocker nativeのβ版が来ていたため試用することにした. closed-βのため, invitation codeが必要だったが申請して数時間で発行された.

降ってきたインストーラを実行し言われるがままにインストール. 結果, Hyper-V上にMobyLinuxVMというAlpineのVMが立ち上がりその上でコンテナが走る環境が作成された. その後, 例えばPowerShell上で適当にdocker run -it -p 8080:80 --rm nginxとすることで問題なくコンテナの立ち上げに成功した. docker-composeも問題なく利用できた. また, Settings -> Manage shared drivesからチェックを入れることでhost(win) <-> MobyLinuxVM(alpine)間でボリュームが共有され, host(win) <-> containerでのボリューム共有が可能になった.

ただし, 問題が全く無いわけではない. 問題の一つとして, スリープ時の挙動が挙げられる. 明確な再現性はないが, 2, 3回に1回程度と比較的高い確率でdocker daemonがスリープからの復帰に失敗し, dockerが正常に利用できなくなる. dockerを再起動することで復活するが数分かかるため非常に手間である. もう一つの問題としてサードパーティ製品が未対応であることが多いことが挙げられる. β版なので当然といえば当然だがやはり面倒. 例えばIntellijプラグインが部分的に利用できない. 具体的にはwindowsのパス文字列に含まれる:が使えず, ボリュームの接続ができない(一応docker-compose経由にすることで回避できるが, デバッグ接続を別途する必要があったりそもそもコマンドからでいいのではという). 正式リリースされて対応するのが待ち遠しい.

FYI

ちなみにMac版は少し設定を弄ることでIntellijプラグインが使えるようだ. 以下のサイト参照.

blog.dekstroza.io

まとめ

タスクトレイに常駐するクジラがかわいい

SSH-CA認証でサーバ証明書内のホスト名に大文字が含まれると嵌まる

known_hosts@cert-authorityで登録したホスト名からホスト認証を行う際に全て小文字でチェックしているらしく, サーバ証明書内のホスト名に大文字が含まれるとコケる. /bin/hostname等を使う場合は注意が必要. 調整が必要なのはサーバ証明書内のホスト名だけで, known_hosts等は気にしなくていいようだ.

環境

ito@ito-VirtualBox:~$ ssh -V
OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.6, OpenSSL 1.0.1f 6 Jan 2014

実行してみる

NG

ito@ito-VirtualBox:~$ sudo ssh-keygen -s ca/ca.key -I ca-test-server -h -n ito-VirtualBox /etc/ssh/ssh_host_rsa_key.pub 
Signed host key /etc/ssh/ssh_host_rsa_key-cert.pub: id "ca-test-server" serial 0 for ito-VirtualBox valid forever
ito@ito-VirtualBox:~$ ssh-keygen -L -f /etc/ssh/ssh_host_rsa_key-cert.pub 
/etc/ssh/ssh_host_rsa_key-cert.pub:
        Type: ssh-rsa-cert-v01@openssh.com host certificate
        Public key: RSA-CERT 8f:3e:82:c9:1f:5e:90:bd:46:09:0d:1d:7c:36:f5:73
        Signing CA: RSA 2f:4b:d1:af:a9:f7:94:67:9f:b2:a1:88:d2:b0:85:55
        Key ID: "ca-test-server"
        Serial: 0
        Valid: forever
        Principals: 
                ito-VirtualBox
        Critical Options: (none)
        Extensions: (none)
ito@ito-VirtualBox:~$ ssh -i client/client.key client@ito-VirtualBox
Certificate invalid: name is not a listed principal
The authenticity of host 'ito-virtualbox (127.0.1.1)' can't be established.
RSA key fingerprint is 8f:3e:82:c9:1f:5e:90:bd:46:09:0d:1d:7c:36:f5:73.
Are you sure you want to continue connecting (yes/no)? no
Host key verification failed.

OK

ito@ito-VirtualBox:~$ sudo ssh-keygen -s ca/ca.key -I ca-test-server -h -n ito-virtualbox /etc/ssh/ssh_host_rsa_key.pub 
Signed host key /etc/ssh/ssh_host_rsa_key-cert.pub: id "ca-test-server" serial 0 for ito-virtualbox valid forever
ito@ito-VirtualBox:~$ ssh-keygen -L -f /etc/ssh/ssh_host_rsa_key-cert.pub 
/etc/ssh/ssh_host_rsa_key-cert.pub:
        Type: ssh-rsa-cert-v01@openssh.com host certificate
        Public key: RSA-CERT 8f:3e:82:c9:1f:5e:90:bd:46:09:0d:1d:7c:36:f5:73
        Signing CA: RSA 2f:4b:d1:af:a9:f7:94:67:9f:b2:a1:88:d2:b0:85:55
        Key ID: "ca-test-server"
        Serial: 0
        Valid: forever
        Principals: 
                ito-virtualbox
        Critical Options: (none)
        Extensions: (none)
ito@ito-VirtualBox:~$ ssh -i client/client.key client@ito-VirtualBox
Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.13.0-24-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

Last login: Tue May 10 15:25:35 2016 from localhost
client@ito-VirtualBox:~$

公開鍵認証の初回接続で出てくるような「ホストを信頼してknown_hostsに追加しますか?」が出ずに, また, 新たにknown_hostsに追加されるようなことなく接続できればホスト認証成功.

MSフォント…駆逐してやる! このPCから…一文字残らず!

MSのデフォルトフォント…個人的に大っ嫌いです. 特にMSゴシック. 置き換えとして出てきたメイリオはやたら横長で汎用的を失い, YUゴシックは下手に細くて可視性が迷子. 見出し用フォントでもあるまいに…

というわけでWindowsから徹底的にこいつらを消す方法をまとめ. とりあえずの殴り書きなのでそのうち更新していくかも(?)

置き換え先のフォント

置き換え先のフォントとして個人的なおすすめフリーフォント 【フリーフォント】源暎ゴシック - 御琥祢屋

DTPでも即戦力になるくらいのポテンシャルはあると思う. 好き. 個人的に 源暎ゴシックP Regular をベースに設定しています.

システムフォント

Meiryo UIも大っきらい!! を利用してごっそり置き換えます.

インストール → 置き換え先フォントを指定するだけ.

Google Chrome のフォント

大体の箇所は上記の設定で終わるのですが, Chromeに関しては一手間必要. なお, 設定反映がかなり不安定なので, 突然設定が反映されたり, 再起動で反映されたりとまちまちの模様.

1. 設定

まず chrome://flags を開いて, DirectWrite を無効にする.

後は, 設定タブ → 詳細設定を表示 → フォントをカスタマイズ で置き換え先フォントを指定.

2. フォントの詳細設定

上記の フォントをカスタマイズ 画面の右下にある フォントの詳細設定 で更に設定します. 初回は拡張機能のインストールを求められるはずなので大人しく従う.

インストールできたら同様に置き換え先フォントを設定.

3. 更にフォントを置き換える

世の中にはわざわざCSSで "MS Pゴシック" などとふざけた設定をしているサイトがゴマンと有ります. その対策.

まず以下の拡張機能をインストール.

chrome.google.com

そして新たなStyleとして以下のように設定を追加.

(源暎ゴシックP Regularでの例)

@font-face {
font-family: "MS Pゴシック";
src: local("源暎ゴシックP");
}
@font-face {
font-family: "MS ゴシック";
src: local("源暎ゴシックP");
}
@font-face {
font-family: "メイリオ";
src: local("源暎ゴシックP");
}
@font-face {
font-family: "Meiryo";
src: local("源暎ゴシックP");
}
@font-face {
font-family: "Arial";
src: local("源暎ゴシックP");
}
@font-face {
font-family: "arial";
src: local("源暎ゴシックP");
}
@font-face {
font-family: "Helvetica";
src: local("源暎ゴシックP");
}
@font-face {
font-family: "sans-serif";
src: local("源暎ゴシックP");
}
@font-face {
font-family: "MS PGothic";
src: local("源暎ゴシックP");
}
@font-face {
font-family: "sans-serif";
src: local("源暎ゴシックP");
}

All site にチェックを入れてSave.

ここまで設定することで大抵のサイトから醜いフォントを駆逐できたはずです, というメモ書き.

既知の問題点

システムフォントを変えると Intellij IDEA がすごいことになる. どうすごいことになるか気になる人はやってみるといいと思います.

多数回計測した実験結果をいい感じに集計したかった

のでちょこっとスクリプト書いた. shell系慣れない…

指定したコマンドを指定した回数実行して, 指定した出力ファイルから指定した正規表現で特定の結果を抜き出して, 指定した数だけ最大最小値を外れ値として除いた残りの平均を計算する. それだけ(それだけ)

気が向いたら並列実行に対応させたり汎用性を上げたりしたい.

calculate avg without outliers(arg1: command, arg2 ...

今年やる

一年の計はなんとやらに乗り遅れ気味だが, とりあえず公開しておくことで自分をやらざるを得ない状況に追い込もうという魂胆.

  • 論文
    さっさと終わらせる
  • サーバ仮想化
    管理楽にしたいよね
  • メディアサーバ作成
    さっさと完成させて録画ファイルの視聴を賢くしたい. ある程度できたら公開する予定.
  • オレオレMarkdownエディタ(or atom拡張?)の作成
    メモ/論文/スライド を楽にしたい. これもそのうち公開したい.
  • セスペ
    DBに続けてNWもなぜか拾えてしまったので, 大してコスト掛からないしついでにこれも取っておこう的な
  • Win+Fedora 環境への乗り換え
    Macはハードに縛られて辛くなってきたので乗り換えたい. vaioはよ.
  • Scala初中級者
    サクサク読み書きできるようになる
  • お絵かき
    人様に見られても恥ずかしくない程度に描けるようになる
  • 積み本
    めっちゃ積まれてるので消化する. 主にFPやDataStructureがいっぱい.
  • 機械学習
    みーはーなので音声合成や画像識別系に手を出したい

TEX yoda を買ってしまった

f:id:x17e:20151227224134j:plain

タイトル通りです. 知ってる人は知っている, MassDropとかで売ってたりするアレです.

欲しいなぁと思っていた矢先, TEX社の FaceBook で, ThinkPad ブランドの TEX yoda が販売され始めたという話を聞いた際に, 「直接メールすれば TEX yoda すぐ買えるよ」という情報も頂いてしまったのでこれは買うしかないなと. 折角なので ThinkPad のやつにしようかと思ったのですが, どうも青軸しかなく, 中国国内からしか買えないらしく断念. メールして買うことに.

メールをするとすぐさま 「Paypal で 291USD 払ってくれ. HAHAHA(意訳)」(ビックリマークいっぱいでちょーラフなメール)と言われ, 言われるがままに支払ったものの数日音沙汰なし. まさか…やられたか…と思っていたら台湾から届きました(ここまで僅か4日)

MassDropとは違い, 完成品でした. ちなみに軸とケース色が選べます.

使ってみて今のところの感想『キーボードってこんなに重かったっけ』