2017年
2017年の振り返りなど。
イベント
広島でRubyKaigiがあった。松江から近いので今まで行ったことなかった人も参加できたみたいで良かった。
夏頃から自作キーボードに興味を持って、松江ローカルのgroup buyを立ち上げたりした。パーツはもう購入済みで、来月組み立て会をやる予定。
2017年の振り返りなど。
広島でRubyKaigiがあった。松江から近いので今まで行ったことなかった人も参加できたみたいで良かった。
夏頃から自作キーボードに興味を持って、松江ローカルのgroup buyを立ち上げたりした。パーツはもう購入済みで、来月組み立て会をやる予定。
git stashは便利なコマンドだけど、stashして、stashして、編集して、コミットして、popしてpopして…みたいなことをしてると、stashした時点とコードが変わっててpopできない、みたいなことがたまにある。
こういうとき、git stashのマニュアルを見ると、「手でconflictを解決してからstash popすること」と書いてある。けど、時にはとりあえずなんでもいいから無理やりpopしてほしい、という場合もある。
このようなときは以下の手順でgit stash pop --force的なことができる。
# 手元の変更をいったんcommitする(このコミットはあとで破棄するのでログは適当でよい)
$ git commit -a -m 'tmp'
前のブログは技術的な話が主だったが、このブログではそれ以外のことも書いていきたいと思っている。書きたいことの一つに、脳とか身体の話がある。
身体について興味をもつようになったきっかけは「ぎっくり腰」だった。朝、会社の駐輪場で自転車に鍵をしようと思って屈んだところ、腰に激痛が走り、なんとかオフィスまではたどりついたものの、立っていられなくて病院まで車で連れて行ってもらうことになった。幸い、数日間安静にしていたら治ったのではあるが、20代後半にしてぎっくり腰をやるというのはさすがにペースが早すぎるという気がして、チャレンジしてみたのが整体だった。
整体とマッサージの違いは何だろうか。整体にはいろいろ流派があるけど、実は「整体師」という資格はないらしい。そのため整体という名前が付いていても、どのような施術を行うのかは店舗によって違うのである。そういうわけでどうも人に勧めにくいのだけど、ともかく僕が行っていたところは野口整体系だった。
野口整体というのは野口晴哉という人が作ったもので、整体、という言葉も同時期にできたものらしい。野口晴哉のエピソードで一番面白かったやつは、幼い息子が大腿骨を骨折したときの話だ。
(p.234) 身体全体との関係を探っていくうちに、不思議なことに目と大腿骨のつながりがわかってきたんです。 それは天才と謳われた野口晴哉先生の凄まじい感覚を通してわかったことだと思うんですが、目に手を当てると激しい痙攣が起きて、グーッと大腿骨がつながってきたといいます。
これはWebAssembly Advent Calendar 2017の1日目の記事です。明日はyamachuさんによるElectronでWebAssemblyを使う話だそうです。楽しみですね。
アドカレ初日記事なので、WebAssemblyとは何か?という話を簡単にしておきます。WebAssemblyはWebのための新しいコンパイルターゲットで、Chrome/Firefox/Safari/Edgeでの動作が既にサポートされています。
Webのためのコンパイルターゲット、とは何でしょうか。WebAssembly以前は、JavaScript以外の言語をブラウザ上で動かそうと思ったらまずJavaScriptに変換してやる必要がありました。近年だとScala.js(Scala→JavaScript)やGopherJS(Golang→JavaScript)というプロジェクトがあり、古くはC/C++のコードをJavaScriptにするEmscriptenがあります。しかし例えばEmscriptenでC言語で書かれたゲームをまるごとJavaScriptにしたりすると、出力結果の.jsファイルが巨大になり、ダウンロードや読み込みに時間がかかってしまうという問題がありました。
これを解決するのがWebAssemblyです。.wasmファイルはバイナリフォーマットなので.jsよりずっと小さくでき、またパース処理も単純なのでロードも速くなります。WebAssemblyの登場により、JavaScript以外の言語をブラウザで動かすことがずっとやりやすくなったと言えるでしょう。
魔剤、というネットスラングがある。初期は「マジ?」の意味で使われていたが、その字面からエナジードリンク(特にモンスターエナジー)を指す用法もある。
上記Wikiには
また、魔剤を摂取するとスコアが良くなるという都市伝説めいたジンクスが広まったことから、音ゲー界隈でも使われることの多い用語である。
という記述があるが、筆者が観測した限りでは、「魔剤」はそもそも音ゲークラスタから流れてきた言葉であった。参考として以下のような情報がある。
来年1月のレツプリ組み立てに備えてergodox ezのキーマップをレツプリに寄せてるんだけど、[
がベースレイヤーでなくなった関係で、tmuxのコピーモードに入る手順(^z [
)が Ctrl z RAISE k
みたいな4キーになって結構厳しかったので、qmk_firmwareの設定で「それ用のキー」を作ってみた。
当該コミットはこれ。
やり方は簡単で、keymap.cの下の方にあるaction_get_macro関数を編集し、キー配置欄にM(0)
とか書くだけ。今回はRAISE + ,
でCtrl z [
を入力したいので、以下のようになる。
SEND_STRING(SS_LCTRL("z")"[");
SEND_STRINGの使い方は以下を参考にした。
Kailh Speed Copperのスペックが40gと書いてあるサイトと50gと書いてあるサイトが混在してて混乱してる。
qmk_firmwareの話。
最近はLOWER+Qで「!」を入力とかやってるんだけど、LOWER押してからQを押すまでが速すぎるとqが入力されてしまってちょっと困っていた。
どうもTAPPING_TERMという値を設定すると改善するようだ。
いろいろ試した結果、75だとまだ困る場面がありそうだったので思い切って5にしてみた。これでだいぶ良くなった。
アプデが来た。https://support.nintendo.co.jp/app/answers/detail/a_id/34680
エリアS+2 ヤグラA+ ホコS+1みたいなおかしなことになってる。ヤグラがむしろ一番やりやすいと思ってるのだが疲れてるときにうっかりS割ってから戻すのに苦労してる。まあちゃんと一試合ごとに休憩入れる感じでやればいいんだけど…、やりたいようにやるのが一番かなと思って雑にやってる。
S+とA+だとゲームスピードがだいぶ違うので注意が要る。さあ前線上げるぞ!って前出ていったら誰もついてきてなかったりとか。
以下最近よく使うブキとか。
このブログのソースコードを更新して、バージョン1.0.0にした。あんまり長いこと0.xを続けると1.0にするタイミングを失いがちなので、とりあえず実用はできてるという意味で1.0にした。別に他の人に使わせるわけじゃないのでどうでもいいんだけど(READMEにも書いてありますがこれをそのまま使うよりは、これを参考にして自分が欲しい機能を作り込むのが良いと思います)。
1.0ではDBのスキーマをいじって、http://yhara.jp/LetsSplit のようにWikiっぽいURLでアクセスできる記事と、通常のブログ記事が別のAR modelになるようにした(今まではPostクラスが両方を兼ねていた)。