ISUCON7 予選2日目にチーム「学生気分」で参加した

f:id:tomo_ari:20171023004637p:plain

ISUCON7予選2日目に参加した。メンバーは昨年、一昨年と同じく @osyoyu, @KOBA789, @everysick とチーム「学生気分」で出たが、実は大学を中退して学生ではなくなったメンバーが1名いるので一般枠です。

最終スコアは 80770点 (ベストスコアは 87598点) で、惜しくもなく予選落ちしてしまった。が、仮に学生枠で出場していれば3位で予選通過だった点数は取れたので、実力は伸びてるっぽい(?)。

最終的な構成

  • Server 1, 2
    • puma (1 worker, 16 threads)
  • Server 3
    • puma (1 worker, 16 threads)
    • MySQL

所感

チームを組んで3年目、ようやく ISUCON を戦える分業体制が敷けた。全体として時間の浪費を減らし、問題そのものにきちんと取り組めたが、その分だけ点数を伸ばしきれなかった悔しさがある。けれども、初めて*1まっとうに戦えたので、その点はちょっと嬉しい。

自分は下回りと DB を整え続ける役回りをやりつつ、アプリを正攻法で殴っている KOBA789 をペアプロ的な感じで手伝っていた(と思う)。コードを触る人をとにかく減らしたことで現状に対するメンバーそれぞれの認識が分散しなかったことと、単純にコードが分散してしまって最新が行方不明になる類の事故が完全に防止できたことで効率よくボトルネック潰しに取り組めた。everysick は Redis とかやってたと思う。

同じ部屋に集まり、何をしているかを声に出すことで作業内容を共有し続けたことで、手がついていない事項も共有され、途中から自然と分担が進んで効率が高まっていった。

Server 1 に適用したコードや設定の更新をほかの2台に配布・適用するだけの超雑なスクリプト (mamiya.sh と名付けた (失礼)) を書いて運用していたが、非常に便利だったので、この手のツールを面倒臭がらずに作るのは大事ですね。

所感2

経験というか、このチーム固有の便利なことなんだけれど、KOBA789 と everysick がほとんど同じ Emacs の設定を使っていて、自分だけ Vim なので、設定のコンフリクトが起きなくて楽。とはいえ zshrc は 2vs1 でかなりカチ合うわけだけど、それはもう分かりきっていることなので PROMPT などを書き換えるスクリプトをササッと書いてログインするたびに叩いてた。後者は経験か。

上にも書いたけど、コードに触る人を減らしてしまうことでマージ・デプロイの煩わしさを減らせたのは良かった。この辺は普通の感覚ならば UNIX ユーザーをそれぞれ作ったり、それぞれの作業用インスタンスを作ったりしたくなったりして(実際今まではそうしていた)大変なことになっていたと思うので、これも ISUCON 経験なんですかね。

あとは床に寝そべらず、椅子に座ったのが良かったのかも。

所感3

スロークエリや分かりやすいボトルネックなどを潰しきり、終盤はやるべきことが分からなくなってしまったが、上位陣とは背中も見えないほどの点数の開きがあったので、彼らは本当に強いんですね……。

やったこと・やれなかったこ

この項を忘れないうちに書いてしまいたいのだけれど、手元にメモがないのでまたあとで

*1:昨年・一昨年はほぼ0点に近いスコア

キーボード(音が出るほう)を買った

キーが少ないほうね。文章が書けないほう。どう言えば明確に区別できるんだ。

先日、急に楽器が弾きたくなり、衝動のおもむくままに近所の WonderREX (茨城にあるハードオフみたいなやつ)に駆け込んだところ、種々の電子ピアノやキーボードが異常に安い値段で投げ売りされていたので YAMAHA DSR-500 という機種をつい買ってしまった。

こういう感じ。

f:id:tomo_ari:20170817030257j:plain

とりあえずカレンダーガールの初心者向けピアノ動画を0.3倍速で見つつひたすら練習していたところ、右手だけなんとか押せるようになってきた。好きな曲の音が出せるだけでけっこう楽しい。

www.youtube.com

ピアノの類は一切未経験・五線譜は全く読めないので、はじめは調号の存在に気づかずに(譜面通り B を押してるのに明らかに違う音だぞ……? 動画の下のピアノではなぜか A#押してるし……)と思ったりしてた。知ってる曲だと違う音を出しちゃったときにすぐに分かって便利。

途中からこういうカンペを作って見ながらやってる。一時記号とかナチュラルとかが出てこなければまぁまぁ分かるようになってきた気がする。ナチュラルの記号がわからなくて [楽譜 記号 互] でググったのはここだけの秘密な(♮って 互 に似てるじゃん?)。

f:id:tomo_ari:20170817030421j:plain

自分としてはカレンダーガールっぽい音が出せるようになってきただけでかなりエンジョイできてて、間違えまくってはいる*1もののめちゃめちゃ面白く感じている。それっぽく弾けるようなるまで頑張りたい。

ところで今日は 8/17

なので僕の誕生日です!!!!!! 祝ってくれ!!!!!!!! プレゼントは http://amzn.to/osyoyu でお盆も受け付けています!!!!!!!

*1:10秒ちょっとのイントロを間違えずに録音できるまで10分かかった

PushCrew を使ってブラウザ通知を出すのをやめてほしい && ユーザーの設定を尊重してほしい

ブンブンハローユーチューブ、ユーザーの設定は尊重しましょう

pushcrew.com

f:id:tomo_ari:20170705184704p:plain

↑ 記事の本文に丸かぶりするダイアログの様子

ブラウザ通知そのものの是非はさておき、PushCrew はブラウザの通知に関する設定を全く尊重せず、あらゆる通知をブロックする設定にしていてもこのダサいダイアログを画面の真ん中に出してくる。

ド迫力で通知を許可するように求める Facebook だって

f:id:tomo_ari:20170705185808p:plain

ブラウザーの設定で通知をブロックしていれば (Notification.permission === "denied" であれば)こんな画面を見ることはない。

ちなみに全ブロック状態で PushCrew のダイアログで [受け取る] を押すと、こういうレイアウトが壊れたウィンドウが出てより悪い。

f:id:tomo_ari:20170705190035p:plain

というわけで、自分のブログなどに PushCrew 設定している各位は ユーザーの意志の表明を無視してまで 通知を押し付ける必要があるのか今一度考え直していただきたいです、こちらからは以上

丸い Twitter を四角くするブックマークレット

Twitterを丸くする

↑ これをブックマークバーにドラッグして、twitter.com で押せ

Before

f:id:tomo_ari:20170616011034p:plain

After

f:id:tomo_ari:20170616011007p:plain

広告

blog.osyoyu.com アーカイブス

長らくDNSレコードさえ当たっていなかった blog.osyoyu.com の遺骸たる wp-content と MySQL のデータを集め、それらを新しく立てた WordPress に放り込んだ。更新はしない。卒アルみたいなものです。

「まだ半分残ってる (2012)」、「しょーゆ日誌 (2012)」、「しょーゆ日誌 (2013)」、「しょーゆ日誌 (2014)」からお届けします。これ以前にWordPressでブログを書いていたかは覚えていない。

http://blog.osyoyu.com/

移行した記事

まだ半分残ってる @ WordPress 3.4.1

しょーゆ日誌 (2012)

これはオリジナルのデータはなかったので、Internet Archive から手動でコピペした。

しょーゆ日誌 (2013) @ WordPress 3.8.1

しょーゆ日誌 (2014) @ WordPress 3.9.2

出土した下書きをそのまま公開状態に変えた記事

どちらかというと後悔

しょーゆ日誌 (2014)

存在していたことは確認できるが、本文のデータが見つからなかった記事

関連記事

osyoyu.hatenablog.com

Slack for Windows + US配列 で IME を切り替えると左上にメニューが出てきて鬱陶しい

これ

f:id:tomo_ari:20170605173929p:plain

背景

  1. US 配列で Windows を使ってると Alt + ~ (チルダ) が IME 切り替えのキーになる。お前らは面倒だと言うかもしれないが、慣れればどうでもいいし今回の問題はそこではない。
  2. Slack for Windows (Electron) は左上にハンバーガーメニュー*1があって、Alt キーを押すと開ける。普通にツールバーがある Windows アプリケーションで Alt を押すとツールバーにフォーカスが当たるのは至って普通の挙動なので、それはまあいい。

問題

Slack for Windows でメッセージ入力欄にフォーカスがあたっているときに Alt + ~ を押すと、上の画像のように IME が切り替わってからハンバーガーメニューが開く。じゃま。

Workaround (beatmania が上手い人向け)

  1. Alt を押す
  2. ~ を押す
  3. ~ を離す(先に Alt を離したくなる気持ちはぐっと抑える)
  4. Alt を離す

Workaround (beatmania がそんなに上手くない人向け)

fshianasan.hateblo.jp

*1:役に立つ中身はない

就活ここがクソ2017

前のエントリーを書き殴ってからいろいろ思い出したので、追記というか別記事。

自分は別に就活エコシステム全体に対する負の感情は特にない(そこに参入しなかったから、という見方はある)ので、社会に怒れる就活生みたいな文章は書かないでおこうと思う。この記事は純粋に個人レベルのしょぼい話です。

マイナビ2018

3Dドラえもんがマジで怖い。AdSenseの広告で無限回見たし、つくばエクスプレスにも山手線にもいる。逃げ場がない。

「ひらけ、キミが光る未来。」って言うならまずはグレースケールをやめてくれ。それとも「お前はまだ光ってない」みたいな意味合いなのか? f:id:tomo_ari:20170601144937j:plain

マイナビリクナビも登録はしていない。

snar.jp

新卒・中途採用をする企業向けに販売されている、採用管理と応募者への連絡プラットフォームを提供するパッケージ。競合製品もたくさんある、「マイページ」と呼ばれてたりするアレ。

こっちは登録せざるを得ない。

SONAR という名称なのに、提供されている SaaSドメインが snar なのはそれでいいのか?

www.igniteeye.com

Google で “site:snar.jp” で検索すると、わりと多くの企業で使われていることがわかる。

で、まあ、採用される側の視点では、こいつはあんまり仲良くなれないやつで、

  • エントリー画面で長文を書いてから submit 押すとだいたいセッションがタイムアウトしていて、せっかくの長文が虚空へと消える
  • 「マイページにログインして内容を確認せよ」というメールしか来ないと思いきや、メールでしか来ない連絡もあって、一貫性がない*1。前者しかないと思って油断していたら、後者を見逃しそうになって危なかった。
  • 届いたメッセージに返信する際、ある操作をしてから送信ボタンを押すと文章の末尾に javascript:void(0); という文字列が挿入される

といったことがあったりする*2 。Web で食ってる企業ならこんなのを使わないでほしい(これは id:koba789 の受け売りです)。

交通費

これはちょっとありふれた話題だが、説明会+面接3回なので計算すると1万円以上かかったんじゃないかと思う。1社だけでこれなので、たくさん受けると明らかに大変そう。

そういえばオファー面談は “実費支給” ということで2,000円もらったのですが、つくば-恵比寿は最安ルートで往復2,532円かかるんですよ!

まとめ

つらつらとしょうもないことを書き連ねたが、逆に言うとこの程度しか言うことがないということでもあり、全体の中で見ると非常に楽な就活、だったのかな。みんながこれぐらいの感じでシュッと決まると良いんだけどね。

*1:これは運用でカバーした結果なのか、運用でカバーできない問題が露呈しているのか分からない

*2:細々したことを言うと、一度エントリーしてしまうと、(人格を増やして新しいアカウントを作らない限り)すでに募集が締め切られているか確認できないのも不便