@kyanny's blog

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

github.com/kyanny/presentations

過去に自分が技術系勉強会やカンファレンスで発表したときの資料などのリンク集ページを作った。

https://github.com/kyanny/presentations

remark.js を使うと markdown で手軽にプレゼンスライドが作れて、 GitHub Pages で公開するのも簡単だが、 PDF 化が難しいので SlideShare や Speaker Deck にアップロードできないのが困りどころだった。自分でもスライドをどの URL で公開したか忘れて見失いそうだと思ったので、リンク集の README.md だけ置いてある「まとめ」を作った。

README.md だけで十分見やすいので満足していたが、リストを作っているうちになんとなく特定の月や季節に偏りがあるような気がしたので GitHub のパンチカード風にビジュアライズしてみた。検索して最初は D3.js を使った実装が多く見つかったが、 Highcharts.js を使った実装のほうが見栄えがよいグラフが作れるしコードもわかりやすくてカスタマイズしやすいのでそっちを使った。 Highcharts.js のビルトイン機能で画像ファイルとしてエクスポートできるのもよい。

f:id:a666666:20150828030912p:plain

http://kyanny.github.io/presentations/

技術系カンファレンスや技術系イベントは秋に開催されることが多いから秋は多そうだなと思っていたが、初夏の頃もぽつぽつとやっていたのは自覚がなくておもしろかった。


プレゼン資料ごとに新しいリポジトリを作る必要はないと気づいたので、今後はこのリポジトリに出来上がった資料一式をアップロードするだけでよさそう。

Highcharts.js のグラフが見られるページも GitHub Pages で公開されている。せっかくなので Jekyll を使いたいところだったが、 README.md を index.html にする処理はできなさそうだったのであきらめて Rakefile でごにょごにょやって手作業で変換処理とコミット・プッシュをした。

BUNKER RING Essentials の外し方

バンカーリングを買ったので iPhone6 につけていた透明のプラスチックケースを外して裸の iPhone6 につけてみたが、やはり本体裸では手から滑りすぎて落としそうで危なかったのでケースの上から取り付けることにした、のだがまず iPhone6 から取り外すときに苦労して焦ったので編み出した方法をメモ。

※この記事の内容にはリスクがあります。本文をよく読んだ上で、自己責任でご利用ください。

f:id:a666666:20150828013701j:plain

  1. プラスチック製のポイントカードなどの角をバンカーリング本体とスマートフォン本体の間の空間に差し込む
  2. カードの角をスマートフォン本体に密着させながらさらに差し込み、バンカーリングの粘着パッドとスマートフォン本体の間にねじ込む
  3. 粘着パッドの一部がスマートフォン本体から剥がれるとバンカーリング本体の四隅の一角が少し浮くので指の先端など太いものを差し込んでテコの原理で隙間を広げる
  4. 一旦剥がれはじめたらあとは徐々に隙間を広げていくにつれて剥がれていくので、ゆっくりと数秒から数十秒かけてバンカーリング本体をスマートフォンから引き剥がしていく

ここでもTポイントカードが大活躍。最初に一角が剥がれ始めるまでは指の爪では無理なので、硬くて薄いものを差し込んで浮かせるのがよい。ただしスマートフォン本体に擦り傷のようなものが残る可能性があるし、バンカーリングの粘着パッド部分には相応のダメージがあるので何度もやっていると痛めて使えなくなるかもしれない(粘着力が減るとかではなく、パッドの角の部分を押し込む形になるので縮れてしまう)

Mac OSX でブラウザのスムーズスクロールを切る(スペースキーの場合)

Disable smooth scrolling in Mountain Lion - Mac OS X Hints

defaults write -g NSScrollAnimationEnabled -bool NO

毎回やり方を忘れて「システム環境設定」を探し回るはめになっているのでメモ。「慣性スクロール」とかで検索してもトラックパッドの設定のやり方ばかり出てくるので注意。次こそはググったときにこの記事が引っかかってほしい。

YAPC ノベルティに入っていた Kaizen Platform のシーザー暗号クイズ

クイズというほど難しいものでもないが。

irb> Caeser.encode(3, ________)
=> "zh zdqw brx"

穴埋め問題になっていて、シーザー暗号を復号するとメッセージが読めるよ、というもの。シーザー暗号が何か知っていればプログラム書くまでもなく復号できるけどせっかくなので一応コードで解いた。といっても真面目に実装するのは面倒なので雑に済ませた。

gistc386468c23a65627fc99

これが採用面接のコード試験だったとして「一文字復号失敗してるけどメッセージは十分読めました」とか言ってのけたら確実に落とされると思う。 String#succ の逆が欲しい。


追記: やっぱりなんとなく気持ち悪いのでちゃんと実装した。

kyanny/caeser.rb · GitHub

Fitbit ChargeHR

YAPC で esa.io の人が「睡眠不足でイライラしたり体調不良になったりするのはよくないので、リストバンド型の活動量計を装着してトラッキングしている」という話をしていて、良さそうと思ったので奥さん用に Fitbit ChargeHR を買った。小さいサイズ、色は紫。自分より奥さんの健康のほうが気になる。睡眠の自動記録が決定打になって Jawbone は選ばなかった。去年くらいからずっと活動量計を買ってみたかったのできっかけと理由ができたおかげで思い切って買えて満足。