ノートPCを新調したりVPSを乗り換えたりした

なんか、最近、普段家で使ってるコンピューター周りを色々変えたのでそれについて書いてみる。

ノートPCを新調した

2014年頃のmacbook air 11inch から、色々悩んで2019年のmacbook pro 13inchのusb c端子が4つついてる方に乗り換えた。VMなどをそれなりに動かすことになるだろうと考え、メモリは16GB、SSDは512GBにした。
新調の一番の理由は、コタツを導入したのでコタツで色々できるようにしたかったけど、それには5年前のmacbook airでは主にメモリの量を中心に辛いと感じることが増えてきたこと。
新調にあたっては、現行の各種macbookはusb cしかついていないことが気に食わず、windows のノートPCにしようかなとも思ったのだけど、そうすると、ctrl + p,n,f,b あたりでのカーソルの移動ができない場面が増えてストレスを溜めるのだろうなぁと思ってしまったので、結局macにしてしまった。

usb cについては、実はあんまり外に何かを付けて使うということ自体がないけれど、もしもつけたとしても、電源やら画面やらを1本のケーブルにまとめられて、今はもう便利だとしか思わない。
昔は、usb cからいろんな端子に変換するための変換器みたいなのの種類が少なかったり値段が高かったりで大変だったみたいだけど、2019年だともうそんなでもないのかなと思った。

そんな感じで、家に帰ってきてもコンピューターいじるときは机と椅子に座ってガッツリと向き合うしかなかった状態が、こたつで緑茶でも飲みながらのんびりと色々する、みたいに変わった。

あと、結構前だけどテレビにkindle fire tv stickを刺した。なので、家族と一緒にスマホで撮った写真をみたり、webページを一緒に眺めたりといったときも、kindle fire tv stick に Air Playで接続してさっさとテレビに画面を表示できるようになった。これが想像以上に便利で、テレビは見るだけのものから、家族の間で情報を共有するための道具に変わってきたな、みたいな意識の変化があった。

windowsのノートPCを選んでいたら、Air Playではなくmiracastで画面を表示することになると思うんだけど、miracastについては使ったことがなく、どの程度使い勝手が良いものなのか知らない。実際のところどんな感じなんだろうか。

VPS乗り換えた

かれこれ7年くらい、sakuraのVPSを何度かインスタンスのタイプを乗り換えつつメインで使い続けてきたけど、支払いが月極なので、遊ぶ際にインスタンスを新しく作ったり破棄したりといったことがやりづらくて辛いという理由で、色々お試しするときののVPSについては別の海外のVPS業者の日本リージョンを併用している状況が1年ほど続いていた。
(sakuraにおいて、インスタンスを上げたり壊したりといった用途には、おそらくsakuraのVPSではなくsakuraのクラウドが想定されている。だから、自分がsakuraのVPSがターゲットとする客ではなくなってしまったので辛いという話であって、sakuraのVPSのサービス内容が良くないというわけではないと思う。)
海外VPSを1年使って、これと言ったトラブルも特になかったため、sakuraの方は引き上げ、海外VPSの方に一本化した。
もともとsakuraにメモリ2GBのインスタンスが1台、海外VPSの方にメモリ1GBのインスタンスが1台あったが、これを4GBメモリの海外VPSに1台にまとめた。
値段的にはsakuraのメモリ2GBと海外VPSのメモリ4GBが同じ価格だったので、月々の支払いは減ることになったし、管理対象も減ったし、いい感じだなーと思っている。

引っ越しにあたり、勉強も兼ねて、ホストOSの上にソフトを色々インストールするのは控え、全部dockerコンテナの中に入れた。全部のサービスをdocker-composeで管理するようにした。
結果として、自分がどういうサービスを立てているのかということが明確になって、覚えておかなきゃいけないことが減ったので良かったなぁと思った。

あ、なので、このblogも実はお引越ししたあとだったりします。なんとなくテーマも変えました。

k8s のクラスタを組んでその上に全部移すということも考えたけれど、自分が動かしっぱなしにしておきたいアプリケーションの総量に対して、k8s 自体の主にメモリに対するオーバヘッドが大きすぎてなんかもったいない気がしたというのと、スケールアウトしなきゃいけないほど上で動くアプリケーションが増えたり減ったりするわけでもなく、コンテナ冗長化をかっこよく行う必要も特にないなーと思ったので、シンプルにdockerとdocker-composeで全部済ませてしまうことに今回はした。
k8s がこなれてきて、オーバヘッドがあんま気にならないくらい小さくなってくるというか、オーバーヘッドが小さい構成も手軽に組めるように状況が整ってきて、自分自身がそれを使いこなすノウハウがこの先数年で溜まったら、k8sベースにすることもあるのかもしれない。と思う。

なんかまぁ、そんな感じです。
全部コンテナに入って取り回しが良くなったので、調子よく色々やっていきたいなー。

複数マシン間で、atomで取ったメモを同期するための環境を整えた

自分は、いろんな作業をするときに、人に報告したり、twitterに書いたりするほどでもないことを、atomを使ってmarkdown形式でメモをとりながら進めています。
1台のマシンでメモを取るだけなら、シンプルでいいんですが、VMを含め、複数台のマシンを行ったり来たりしながら作業するとなると、これらの間でどうやってメモを同期するか、という点が悩ましくなってきます。
今回のエントリは、どうやってatomを用いて、複数のマシンでどうやってメモを同期させるか考えたっていう、そんなお話。

TL;DR

  • atomのsync-on-saveはとても良い
  • WindowsとLinuxだとパッチ当てないと動かない(2017年10月12日時点)

gitでメモの同期をとりたい。でもコマンド打つの、面倒だな。

ファイル単位で同期を取る仕組みというのは、atomには色々あって、たとえばRemote-FTPというパッケージで実現することができます。
最初はこれを使っていたんですが、同期の粒度がファイルだと、複数のマシンで同じファイルを変更したときに、どちらかがどちらかをうっかり上書きして、せっかく書いたメモを失う、なんてことになりそうだなと思いました。
実際に上書きをしてしまったことはなかったものの、そういうことが起こりうるということを意識しなければならないのがなんとなくストレスでした。

だから、ファイルよりも小さい単位で同期を取りたい。
そうだ!僕達には、gitがある!gitを使おう!と考えました。

でも、gitも、コミットメッセージを書いたり、共有のためにpushしたりと、やらなければいけないことが多くてちょっと面倒です。

sync-on-save というパッケージに面倒事を引き受けてもらう

どうせ、自分が適当に見るメモなんだから、コミットメッセージなんて適当に自動でつけてくれればいいし、pushも勝手にやってくれればいいのに。
そんなパッケージないかなー?と探してみたところ sync-on-saveというパッケージがありました。

このパッケージを使って救われました。本当に欲しいものそのものでした。
コマンドパレットからEnable Syncすると、ファイルを保存したタイミングでgit commitとgit pushを自動でしてくれます。
あとなんか他の場所で同じファイル編集してたらmergeもしてくれる。

本当に便利だ。素敵だなぁ。

LinuxとWindows向けにバグがあって動かなかった→なおした

バグを見つけたので直しました!バージョン0.1.5からは何も考えずにATOMのパッケージをインストールすれば使えるようになりました!
みんな使ってみてね。

2017年10月12日時点でダウンロード可能な、バージョン0.1.4にはちょっとしたバグあり、WindowsとLinuxでは動きません。
直したのでプルリク投げてみるつもりです。

差分は1行なので、これ読んで今すぐ使ってみたい!って思った人は、sync-on-saveをインストールした上で、コードを直接いじるのが楽そうです。
コミットの情報はここにおいときますので参考にしていじってみてね。

https://github.com/sirrow/sync-on-save/commit/7df50d7094156b9fd030ab698a6ff69a680177af
おしまい。

本文に書ききれなかったけど書きたかった事

sync-on-saveを作った人について

sync-on-saveを作った人すごいなぁ、ありがたいなぁ。プルリクも投げなきゃいけないし、どんな人なんだろう?って思ったので調べてみたら、 Hajime Morita さんでした。
そういえば、rebuild.fm 聞いたことないし、今度聞いてみよう。

昔はssh + screen + emacsでメモを取ってた

自分は一昔前は、VPS上でscreenを動かして、その上で動かしたemacs -nwに、色んなマシンからsshでログインした上でattachしてメモを取ってました。
これはこれで悪い方法じゃなかった気がします。手軽だしね。ただ、ネットワークから切断されるとつらいんだこれ。
gitなら手元にコピーあるからネットワークなくても編集できるしね。そんなところが素敵。

Macbook Airを買ったよ traktorの環境もwindowsからmacに移行したよ

なんか、6月11日に、よーしおにいちゃんアニゲのん!いっちゃうぞー!電車の中で毒にも薬にもならない文章がんばって書くぞーとか思ってたんです。
で、電車の中でもちゃんとすわれたし、よーしいいぞと思ってノートPC開いたんです。
そしたらなんか、

壊れたthinkpad e220s

壊れてた。。

ノートPCって大切ですよね。ないと生きていけませんよね。
というか、近々DJもあるし、ここ1年くらいはPCDJどっぷりだし、PCに壊れられるのは非常に困る訳です。つーか割と本当に参った。

半年くらい前からノートPC新調しようかどうかずーっと悩んでいたので、そのタイミングで新調してしまわなかったことをちょっと後悔しつつ、でもぼさっとしていると本当に人前に立ってDJできなくなってしまうので、以前から購入を考えていたMacbookを買ってみました。

Macbook Airの11インチ、SSDは256GBのモデルです。11万円くらい。

触りはじめの第一印象は、キーボードのストロークが狭くて気になるということと、滑り止めがなくて、机の上で滑るということでした。
でも2日使っていたら、それもだんだん慣れてきて、むしろLinuxで日常的に使ってるコマンドラインが使えることが心地よくなってきているこのごろです。

ちなみに壊れていたのはモニタ部分だけだったようで、HDMIで外付けモニタをつないだところ普通に表示されたので、データの救出は容易にできました。。よかった。。

で、肝心のPCDJ環境(traktor)なのですが、思いのほか簡単に移行できました。
まだ全部のデータが確認できた訳ではないので、おかしな部分があるかも知れませんが、おおよそ大丈夫っぽい。

traktorはバージョンごとに設定ファイルを格納しているディレクトリがあるので、そのディレクトリをコピーして、曲のデータも一通りコピー。でも、設定ファイル内に格納されている曲データのパスがかわってしまうので、そこの部分だけtraktorのtrack collectionの曲名を右クリックして出てくるrelocateボタンを押してやれば勝手に見つけてくれます。見つからないものに関しては、もともとのファイルパスも示してくれるので、元のPCの中にちりぢりになってしまっていた曲データも簡単に見つけることができて、ほんとに思いのほか簡単に移行できました。よかったよかった。

macbook_traktor

HHKBは矢印キーがなくて使い辛いわけでもemacsやviで使うことを想定していて硬派ってわけでもないと思う。

HHKBが好きで、googleでHHKBと検索しては、HHKBを扱っているblogなんかをニヤニヤと眺める日々を送っております。
そういったレビューを見ていると、

  • 矢印キーがなくて使い辛い
  • emacsやviで使うことを想定していて硬派

みたいなことが書いてあるわけです。

で、
やっぱり矢印キーがあるRealForceにしました! とか
矢印キーあるが日本語のHHKB Pro 2 にしました! とか
HHKB Lite 2 にしました! とか

書いてあるわけです。。

僕は、それって違うと思うんですよ!

むしろ、HHKB(英字)のFnキー押しながら使うあの矢印キーは、
これはこれで超使いやすい
って思ってます。

これが、HHKB Pro 2 のキーマップです。

ぱっと見、Fnキーも、同時押しで使う矢印キーも変な場所にあるなぁという気分になると思います。
だけど違う!そこが間違っている!

右手の小指でFnキーを押すと矢印キーがちょうど人差し指と中指の場所に来ます。

ちょっと右手を移動させて小指でFnキーを押すだけで、人差し指と中指で矢印キーが操作可能になるのです!

なるほど!と 思いませんか?!
これは楽だ! 思いませんか?!

思いますよね!

vi派やemacs派、コマンドラインで日常生活を過ごす人にとって矢印キーなど不要で、それを取っ払ったHHKBはかっこいい。確かにそうかもしれません。
しかし、矢印キーが必要なアプリケーションを使用する場合にも、まったく困らない。
いやむしろ矢印キーは押しやすい場所にあるんだと、あなたももう気づいたはずです!

さあ!みんなでHHKB Pro 2(英字)を買いにいこう!

AppleさんとMicrosoftさんについてちょっと落ち着いて考える。

ここ数年の話で言えば、Macは、一般消費者向けのPCで、中央集権的なソフトウエア及びコンテンツのレポジトリを作るというプラットフォームの囲い込みにより、成功を収めました。WindowsもWindows 8 で似たようなプラットフォームを作りました。

エンドユーザコンピューティングにおけるMacの地位はまず安泰だし、これからもシェアが伸びていくだろうなーと思っていました。

ただ、なんか最近様子が替わってきたように思います。
Microsoftは実はWindows 8 ですごく頑張ってるんじゃないか?と。
思うわけです。

PCにARMをMacに先んじて採用したWindows RT

世の中ではスマートフォンやタブレットPCが流行したことで、ARMが表舞台へと出てきました。近い将来、IntelのCPUが乗っているPCは、だんだん少なくなり、だんだんARMが搭載されたPCが増えてくるだろう、ということに関しては、一般的に知られるところであると思います。

僕は、最初にそれを実現するのはMac (具体的にはMac miniかMacbook Air)だと思っていました。
Macは、アプリケーションの開発環境を用意しており、同じソースコードを別のコンパイルオプションでコンパイルするだけで、Intel用の実行ファイルとARM用の実行ファイルを作り分けることができる仕組みを提供しています。また、iOS用の開発環境ではIntel用の実行ファイルを実行し、実機で用いる際にはARM用の実行ファイルを作るというつくりになっており、一つのソースコードから異なるCPU用の実行ファイルを作る仕組みがあるという実績が既にあります。さらに、Appleは、Power PCからIntelへのCPU変更を行ったという過去もあり、このようなCPUの変更にはノウハウがあるため、まず最初にやるのはMacであろうという思い込みがありました。

しかし、IntelからARMへの乗り換えを示唆する製品を先に出したのは、Microsoftでした。
Windows RTがこれにあたると考えています。
Windows RTないしWindows 8では同じ実行ファイルが動きます。.NetFramework用の中間言語にコンパイルされた実行ファイルであるという制限はつきますけれどね。(というか、Windows Phoneでも.NetFramework上に記述されたアプリケーションであれば理論上動くから実は今に始まった話ではなかった。。)

Microsoft Surfaceを僕はまだ触ったことがないけれど、一刻も早く触ってみたいと考えています。
また、MicrosoftがDellの株を大量に所有し、ハードウェアレイヤとの垂直統合を果たそうとしている点も見逃せないと思います。ハードウェアからコンテンツまでの垂直統合モデルは、もはやAppleだけのものではなくなりつつあるといっていいでしょう。

そして、実際に発売された製品という観点で見れば、Microsoftが一歩ぬきんでてしまっています。

これが、いまここにある現実だ。と思うわけです。

この先数年はどうなるのか。

まず、Appleはcoolだという意識を取り除き、冷静になりたいと思います。
僕はiOSの乗っているiPhoneやiPadのユーザだし、これらを結構気に入って使っていますし、家にはMac miniもMacbook Pro(17インチ)もあります。
そんな感じで、Apple製品は結構好きです。

でもApple製品だからと言って手放しで良いなんて言いきれるほどの盲目的な信者では僕はないし、そうなってしまってはいけないと思うわけで。

今後のApple製品のラインナップとMicrosoft製品のラインナップを冷静に評価し、自分のこれからをゆだねるプラットフォームについて冷静に考え、豊かに暮らせればと、思うのです。