@kyanny's blog

My thoughts, my life. Views/opinions are my own.

Emacs で scratch バッファに表示されるデフォルトメッセージを変更する

How do I change the scratch message in Emacs? - Stack Overflow

(setq initial-scratch-message "blah blah blah")

とかでできる。デフォルトで入っているやつに追記したかったので、 M-x customize から initial-scratch-message を探してやると編集しやすくて便利。

blog.kyanny.me

↑この記事を Emacs 再起動するたびに探してコピペしていて面倒くさかった。たまにしか使わないしどうせ scratch で実行するのだから、最初から scratch バッファに書いておくことにした。関数を定義してもどうせ関数名を忘れる(キーバインドも忘れる)

最近読んだもの

Scaling Wix to 60M Users - From Monolith to Microservices | StackShare
いろいろスケールがでかくてびびる。

  • 400人の開発者
  • は?40人では?と思ったが Java だとそういうもんなのかもしれない。てっきり PHP とかで作ってるものかと思ってたから意外だった
  • Monolith だったアプリをユーザーの作ったサイトを配信する機能とそれ以外の二つに分割するのに4,5年を要した
  • は?4,5ヶ月では?と思ったが Java だと(ry
  • いまは100を超える microservices から成り立つ。ほとんどは Scala で書かれている
  • は?10の間違いでは?と(ry
  • Microservices はそれぞれ自分自身のみが書き込む専用のデータベースを持つ
  • は?てことは100のマイクロサービスと100のデータベースがあるの?正気か?と戦慄を覚えた
  • GitHub に 400 を超えるリポジトリがある
  • これは驚かなかった。Quipper ですら 100 以上ある(いまは使ってないのも多いが)
総じて、おまえら Amazon にでもなったつもりか、と思った。

今日見た夢

父が500万円くらいのベンツを所有しているという設定で、田舎のコンビニの駐車場くらい広いアスファルトの上に停車しているベンツに業務用のめっちゃ明るいライトで光を当てたらベンツが輝きながら燃え溶けてしまい、その光景を見ながら「どう謝ればいいんだろう」と考えはじめたところで目が覚めた。

Twitter を見過ぎないためのユーザースタイルシート

SNS との距離感を再考している。ほぼシャットアウトしていたが、お酒と同じで適量なら良いのではないか、と思い始めた(俺は酒飲まないけど)

問題は「適量」を守るのが難しい、ということだ。自分は性格的に周囲からの評価評判がとても気になってしまうので、制限を設けず見放題にしてしまったらまた精神を軽く病むまで見続けてしまうだろう。

ということで twitter.com にアクセスしたとき見れる tweet の数を少なく保てばいいんじゃないかと思ってユーザースタイルシートを書いた。 Google Chrome の Stylish 拡張で使っている。

li.js-stream-item:nth-child(n+20){
    display: none;
}

https://userstyles.org/

とはいえこういう ad hoc なものに頼りすぎるとすぐ抜け道を探して中毒が再発してしまうので、「あんまり見ない・書かない」という姿勢は維持していきたい。

vagrant package コマンドの --vagrantfile オプションで指定した packaged な Vagrantfile がある場所

~/.vagrant.d/boxes/BOX_NAME 以下にある。

$ tree ~/.vagrant.d/boxes/package.box
/Users/kyanny/.vagrant.d/boxes/package.box
└── 0
    └── virtualbox
        ├── Vagrantfile
        ├── box-disk1.vmdk
        ├── box.ovf
        ├── include
        │   └── _Vagrantfile
        ├── metadata.json
        └── vagrant_private_key
  • package.box はこの場合 box 名
  • この box を使って vagrant up すると Vagrantfile load order に従って ~/.vagrant.d/boxes/package.box/0/virtualbox/Vagrantfile が読み込まれる
  • その Vagrantfile の中でさらに include/_Vagrantfile も読み込まれる
  • この _Vagrantfilevagrant package --vagrantfile オプションで指定した Vagrantfile そのもの

vagrant package - Command-Line Interface - Vagrant Documentation


じゃあなんでそもそも package.box を作るときに --vagrantfile オプションで指定した Vagrantfile も含めることができるのかというと、 box ファイルは Gzipped TAR アーカイブでその中に入っているから。 box ファイルを展開すると ~/.vagrant.d/boxes` にあるのと同じファイル群が出てくる。

$ tar xzvf package.box
x ./box-disk1.vmdk
x ./box.ovf
x ./include/
x ./include/_Vagrantfile
x ./vagrant_private_key
x ./Vagrantfile

$ tree .
.
├── Vagrantfile
├── box-disk1.vmdk
├── box.ovf
├── include
│   └── _Vagrantfile
├── package.box
└── vagrant_private_key