SKK 試しています

随分と長い間使っていた Google 日本語入力*1が信じられないほど厳しい変換(具体的な例としては「こういうかんじかな」→「こういう漢字仮名」だったり、「これがていばんなのか」→「これが定番菜乃花」「これが定番7日」)をするようになってきてしまったので、重い腰を上げて IME の見直しをすることにした。

その前に、自分のパソコンを使った文字入力スキルについて簡単にまとめておく(この文章は SKK の練習のために書かれているので蛇足が多いです)。いわゆるタイピングゲームで測定できる入力速度はだいたい 10keys/s 前後で、入力速度が遅くて困る、と思ったことはあまりない。プログラミングにおいては「実際にキーを叩いている時間よりも考えている時間のほうが長いので、タイピングスキルはそこそこで問題ない」とする言説をよく見るけれども、あれは完全に間違いだと思っている。タイピングで使っている指の本数は両手の人差し指と中指だけなので、これを増やすことができればもう少し上の領域に踏み込むことができるかな、と考えることはある。ぐらい。

で、本題。SKK を昨晩から使いはじめて、そこそこの速度で文章を入力できるようになってきた。今までパソコンで日本語を入力するにあたって、送りがなの位置など考えながら手を動かしていたことなどないので、ちょっとした脳トレ感がある。多少気持ちよくなってきた段階。しかし、まだ IME に意識を寄せないといけないので、長文を書ける域には至っていない。人間は脳トレしながら長文を書くことはできないのだ。

今のところ困っている (慣れで解決できない) 問題としては、Shift+英数字で一時的に半角英数モードに入れないこと (これは MS-IME スタイルの挙動だ) 。例えば「これはGoogleです」ならば koreha[Shift+G]oogle[Enter]desu で入力できていたが、SKK では Shift は漢字の開始にあたっているので、どうにもならない気がしている。困っています。今のところはいちいち英数字モードに切り替えていますが、例えばこの記事のテキストならば一度も日本語モードを出ることなく入力できていたので、地味にストレスだ。

*1:「れーるがん」で「超電磁砲」に変換できる、と話題になっていた頃からだ

自己紹介むずかしい

最近 DMM 英会話というやつの体験をやって、あまりにも難しく感じたことがある。

それは自己紹介。

講師「私の名前は〜。仕事は○○なんだけど、好きな映画は□□で、趣味は休日にサッカーをすることで、友達とロックバンドをやってるよ。他にも……(30秒ぐらい続く)」
ぼく「どうも osyoyu といいます、えーっと大学院でパソコンの勉強してます、うーんパソコンが好きです」
講師「Oh, sounds good. (おわり)」

という展開がつらい。どうして人の自己紹介は魅力的に聞こえるものなのだろう。

相手の属性が事前にある程度明らかになっていればもう少し話しようはある。例えば、相手がソフトウェアエンジニアであることが事前に分かっている場合は、最近気になっている技術要素などから話を展開していくことができるし、うーんそうですね、他に例はあまりないな。

髪を切りに行くときもなんとなく自己紹介的ななにかをすることがあるけれども、そういうシーンでも言えることがなにもないので、髪を切りに行くとき用の架空の人格に関する設定を話すことで切り抜けている事が多い。自分のことではないので、するする言葉が出てくる(別にそんなにたくさん話すわけじゃないので、そんなにたくさん設定を用意する必要があるわけではないが)。

(ここまで書いて思ったけれども、ただ単に自己紹介の機会が少なくて練習が足りていないだけという気がしてきた。DMM 英会話の講師は30分に一度自己紹介をしているわけだし、その過程でどんどんこなれていくわけで、そりゃ自己紹介で負けるわけだわ)

まあ、いずれにせよ、汎用的に使える自己紹介文を準備して、来たる自己紹介の刻に備えたい。自分でそれをできていればなんの苦労もないので、なんか僕が使えそうな汎用自己紹介パーツがあったらみなさん教えてください、ということを言いたかっただけの記事でした。

学んだことを記録する

普段の生活の中で、なんとなく気になって調べたりして、ちょっとのめり込んで少し詳しくなって、結局忘れてあとでまた気になって調べ直す、ということが非常に多い気がしている。

忘れてしまうこと自体が悪いことだとは別に感じていないんだけども、自分がどんなことを調べて生きていたのかを記録すると面白いのかもな、とふと思ったので、Scrapbox にでも残してみることにした。

ということで、会場です https://scrapbox.io/osyoyu/

Scrapbox を自分用のメモとして運用しつつ、ある事柄について理解が進んできたらブログなどに文章としてアウトプットできるとプロセスとして良いのではないかな、と今のところ思っている。また、この記事のような感情的な内容は Scrapbox に記録することではなくて、最初から文章として出しちゃえばいいかな、という感じです。


この記事とは関係ありそうで関係のない最近の気持ちとしては、もっとこなれている英語の文章を書けるようになりたいという気持ちがあって、ある程度語彙のある技術的な内容については英語で書いてもよいのではないかな、ということがあります。ただ、無から文章を編み出すのは日本語でも結構難しいので、Scrapbox 的なのでネタを溜め込んでいけたら良いかな。関係ある追記になってしまいましたね。

ISUCON 8 出たそして負けた

ソレイユ (星宮いちご,霧矢あおい,紫吹蘭) (osyoyu, koba789, everysick) で ISUCON 8 に出た。

当日成果の出たアクションは霧矢あおいの中身である koba789 がまとめてくれているので、そっち参照。これは俺のエモ。 diary.hatenablog.jp

ソレイユ

この3人で出るのは4度目であり、今までの ISUCON の半分を戦ってきたことになる。ISUCON 5, 6 では散々なもので、誰もまともに SQL を書けず、グローバル変数$cache を置いてみたり(POST が来たら全消し)、終了15分前に「で、UbuntuRuby ってどうやってデプロイすんだっけ?」みたいな会話を交わしたりもした。

風向きが変わったのは昨年度の ISUCON 7 からで、突如チームとして機能するようになり、ペアプロをして事故なくコードを書き換えたり、アプリとインフラで作業を分担したりできるようになった。

これはなんとなく Git 使ってなんとなくマージ事故を起こして死ぬ、みたいなことをなくすようにしたのと、koba789 が退学就職し、業務で日々長大な分析 SQL を書くようになって、クエリのチューニングを一手に引き受けてくれるようになったことが大きいように感じている。

今回は osyoyu がインフラを引き受け、koba789 が SQL 書いて、everysick がバリバリ分析していく、という形だったと思う。コードは俺以外の2人がガンガン書いてて、俺は勝手に nginx や MySQL の設定をいじりながら、ペアプロと称して分かった顔をしながら眺める役をやっていた。3人で実装してもうまくマージできないことは既知の事実なので、これは結構良いやり方だと勝手に思っている。

27000

我々のスコアは結局 30000 の大台を超えられず、一番ハネた瞬間で 27000 前後止まりとなった。

今回は過去に参加した ISUCON と異なり、大きなやらかしがなかったという風に感じていて、そうなると何が足りないの? スピード以外なにもないよね、という話をした。実際今回は 17:35 頃になっても reservations 周りをロックフリーにするべく koba789 が奮闘していたが、間に合わず、終了10分後ぐらいに解を思いついていた様子だった。

この時間を稼ぎ出すことができればもっと上に行けると今は思っている。今年は必要なツールを全台に一発で Ansible で撒けるように用意しておいたが、まだ高速化の余地があったと(今年のインフラ担当としては)感じている。

(余談: apt 生まれ Ubuntu 育ちの我々としては、CentOS で ISUCON を戦うのは高地でサッカーをするようなもので、本番で消耗しないように Ansible Playbook を用意しておいたのだが、本番で時間を稼ぎ出すのに思い切り効いてしまったというのが実態。ちなみに Playbook を用意する過程で CentOS には慣れた)

Ruby, Go, MySQL 8

MariaDB の my.cnf でハマるのも避けたくて、今年も MySQL 8 を導入して今年も失敗した。昨年も 8.0 にチャレンジして無事環境を破壊したが、今年も無事 validate_password を踏み抜いて死亡した。結局 MySQL 5.7 に差し替えるまでの間、迷惑かけてみんなごめんな。

ところで、我々のチームは全員 Ruby のレベルはそれなりに高いはずで、小回りを効かせることもできるということで Ruby を選択し続けている(Go に浮気しかけた年も結局 Ruby に転向している)。しかし Go の初期実装のスコアの高さを見るとどうしても隣の芝が青く見えてくるのも事実で、スコアの団子を抜けるには Go 選んでもいいんじゃないかと思ったり思わなかったりもする。どうなんだろうね。全員 Go 書けるようになったわけだし。

総評

精進あるのみ

今すぐ Slack のスレッドを使うのをやめてほしい

オリジナル: http://text.osyoyu.com/articles/7

構造化されていないコミュニケーションである「口頭での会話」をテキスト化したものであるチャットに構造化の機能を持ち込むべきではない。

Slack のDM / グループDM / プライベートチャンネルは真に隠す必要がある情報を扱う場合以外で使うべきではない、という理解のもとで

  • 一覧性に欠ける
    • チャットを眺めているだけでは "N replies" と書いてある四角が見えるだけでどうにもならん
  • 目の前で発生したスレッド以外発見できない
    • ずっと Slack に張り付いていても、たまたま画面上に出ている範囲外で始まったスレッドを見つけられないのは異常
    • この画面をスクロールせずに上の方にスレッドがあるのを発見できますか? 俺はできない
      • この画像の場合は本当は上にスレッドなぞないが、ないことを確認するためにもスクロールしないといけないんですよ
  • スレッド表示を閉じた後、発言が追加されたことを発見できない
    • 一度発言していれば必ず通知が来るようになっているが、そうではないスレッドで唐突に重要な会話が発生していることを認知する方法はない
      • 一度発言したスレッドで未来永劫通知が来るのもけっこう鬱陶しい
  • 発言の主のみに届けば良いという見方もあるかもしれないが、それは結局 DM と同じではないか
  • Emoji reaction も全く同じ性質を持っているが、重要度が全く違うので問題だとは思わない

どうすればよいか

  • 口頭での会話と同じように、「そういえばさっきの話だけど……」と断りを入れれば良い
    • 言及先(返信したい)発言の permalink を自分の発言の最後にペッと貼り付けてあげれば Slack がいい感じに展開してくれるので、それで十分だと思う
    • 古典的だが、 "僕はこう思います > (言及先の話題)" 的なやつでもいい
  • 話題が同時並行となってしまうことはあるが、2並行ぐらいならばさほど混乱せずに追える人が多いと思う
    • スレッドが生みだす弊害よりと比べると、多少の混乱のほうがよほど受け入れられる

XXX is typing... for a long time

オリジナル: http://text.osyoyu.com/articles/6

チャットにおいて意思決定を行うことはままあることだ。そんなとき、タイピングが遅い人が全体の律速になっている、と感じたことはないだろうか?

Slack を始めとする多くのチャットツールには、発言フィールドの下に XXX is typing... と、今誰かが何らかを入力していることを示す機能がある。なんらかの意見がまとまりかかっているとき、結論を出す前に、入力中の人が発言を完了するのを待つのはよくあることだ。口頭での会話で、今まさに話している人を遮って結論を出してしまうことはしないのと同じことだ。

ところが、その XXX is typing... がなかなか消えないこともよくある。あるいは、タイピングの手を止めて消えたと思ったらまたすぐに点灯しなおす…… なんてこともあるだろう。入力している当の本人以外は今か今かとずっとチャットの画面を眺めているわけだが、なかなか発言は登場しない。飯どこ行きますか、みたいな話題でこれが起きると、重要性が低く即時性が高い話題であるだけに少しイライラしてしまう。

投下されるのが長大なメッセージ (*1) でなければ、これは単純にタイピングスピードが遅いことが原因であることが多く、正直どうにも根本的な解決が図りづらい。「速くタイピングしてくれ」と言えば速くなるわけでもないし、そもそも「あなたが遅くてみんな待たされてるよ」を遠回しにでも意味することはなかなか言いづらいわけだ。

まぁ、だからこそチャットツールの側でなんらかの解決を図ってほしい気持ちがあって、たとえば入力中のメッセージの文字数が出るだけでだいぶ「待たされてる感」は緩和される気がする。読み込み速度の向上に一切寄与しないプログレスバーがあるだけで心理的な安心感が得られるのと同じ理屈だ。

欲を言えば入力中の未送信メッセージもリアルタイムでチャットログに出てほしいところだが、そうなるとタイピングが遅い人が入力中のメッセージの一部を見て速い人が先回りする、という現象が起きることは想像に難くないので、なかなか導入するのは難しいだろう。実験的には面白いと思うけど。

どうなんですかねー


*1: 「私も駅前の大戸屋でいいと思います。ミーティングが終わった後に行くので、みなさんで先に行っていてください」というぐらいでも僕は長く感じるのだけれど、それは別の話だ

コンパウンドとガラコ

オリジナル: http://text.osyoyu.com/articles/5

ブーブーのワイパーをブレードごと交換し、フロントガラスにコンパウンドをかけ、ガラコを塗ってあげた。

ワイパーゴムは最後の交換が2016/5/4とほぼ2年前で、動かすたびにゴッ…… ゴッ…… と音を立てており、またフロントガラスも全く水を弾かなくなっていたため、小雨でも劣化したワイパーをコンスタントに動かし続けなければならない悲しい状況だったが、今回まとめてなんとかした。

ワイパーはなんとほぼ無音になり、洗車機に入れても乾燥後には拭けるほどの水滴も残らない良い感じになった。今すぐ雨の中でドライブしたい。

今回使った製品はこれ

このブログに写真を上げる機能を実装していないので写真はありません。