Rubotyでくじびきをする
Ruboty pluginを書いたので簡単に紹介しておきます。
使い方
GitHubにも書いてありますが ruboty kujibiki
の後にカンマ区切りの文字列を渡すと、そのうちの1つをランダムに選んで出力します。
> ruboty kujibiki 1,2,3,4,5 5 > ruboty kujibiki 1,2,3,4,5 2
実装には Array#sample
を使っています。
きっかけ
職場で「誰がご飯炊く?」となったときに、今まではirbを起動して Array#sample
を実行した上でスクリーンショットをSlackに貼って担当者を決めていました。
ただ、この方法だと抽選が個人のPCで実行されるため公平性が担保されていませんでした(実行した人が当たった場合に引き直しが行われている可能性が排除できない)。
そこで、Slack上ででくじびきできれば良いということでさくっと書きました。
書いているときに思ったこと
Array#sample
には乱数生成器を渡せます。
そこで SecureRandom
を渡そうとしたのですが、渡す乱数生成器はrand
メソッドを実装している必要があるのに対して、SecureRandom
はrand
を実装していないことが判明しました。
あと、Random
クラスはメルセンヌ・ツイスタを使っているのでそれなりに良い擬似乱数を返すはずですが、今回のユースケースに本当に適しているのか自信がありません。
プログラマの最も重要な仕事道具は紙と4色ボールペン
日頃、メモを取るときや設計するときなどに4色ボールペンを使って仕事をしています。4色ボールペン使いのひとりとして、どのように使っているかをメモしておきます。ゼブラのクリップオンを気に入って使っています。
黒
多くの人が最もよく使う色である黒ですが、僕はほとんど使いません。 黒をメインにすると、紙面が真面目っぽくなるというか、アタマが硬直する感じがするからです。
そんな黒ですが、表の罫線や図を書くときの枠線など注目したい情報以外を書くときには積極的に使います。
青
個人的なデフォルトカラーなので、一般的に黒を使うところで使われます。そのため、消費量も4色の中で最も多いです。
デフォルトカラーとして青を使うことには上で書いた「紙面から創造性が失われる気がする」という点以外にも「他の色を使うための心理的ハードルが下がる」というメリットがあります。
黒をメインに使うと他の色を使うときに無彩色から有彩色へのジャンプが必要で、色を使うことに対して心理的な距離を感じてしまいます。 そこで、有彩色である青をデフォルトカラーにして黒以外の色を積極的に使っていくようにしています。
また、一節によると青い文字で書いたことは忘れにくいとか……?
赤
重要なことを示すために使います。 これは一般的な使い方だと思われるので、特に言うことはありません。
緑
補助的なことを示すために使います。 青で書いた仕様に対して緑で但し書きをつけたり、青で書いてしまうと話の本筋を邪魔してしまいそうな情報などを緑で補足したりすることが多いです。
さいごに
紙と4色ボールペンがないと仕事ができない人間として自分の4色ボールペンの使い方を書いてみました。
「プログラマの最も重要な仕事道具は紙とペン」などと言われることが多いですが、この「ペン」として4色ボールペンを使うことによってより効果的に情報を整理したり自由に発想することができるようになると考えています。
Happy 4色ボールペンライフ!
エアロバイク読書のススメ
最近、意識的に読書をしています。基本的に1時間/日(下限値)くらい。
また、運動も意識的に始めました。こっちは運動の種類によりますが、1回につき20分から1時間くらい。
これらを別々にやると1.5-2時間くらい消し飛ぶので、運動と読書を同時にやってみようと思い「エアロバイク読書」を始めてみました。すると、思いのほか捗って良いと感じたので、エアロバイク読書について書いてみます。
エアロバイク読書とは
説明するほどのことでもないのですが、エアロバイク読書とは以下の様な行為を指しています。
- エアロバイクを漕ぎながら
- 読書をする
僕は家の近くにある24時間ジムを契約しているので、そこでキコキコやっています。
エアロバイク読書のメリット・デメリット
メリット:別々にやるより時間が少なくて済む
そもそも、エアロバイク読書を始めようと思ったきっかけです。時間を節約できるということは、その分の時間を他のことに使ったり読書量を増やしたりできます。
メリット:眠くならない
本を読んでいると眠くなってしまうことがありますが、エアロバイクを漕いでいるとそれがありません。ベッドで本を読んでいて寝落ちしがちな僕としては大きなメリットです。
メリット:運動を習慣化できる
エアロバイク読書に慣れてくると「本読みにジム行くか……」みたいな感じになってきます。「運動するぞ!」と意気込まなくてもジムに行けるようになるのは非常に良いです。
デメリット:運動の種類が限られる
なぜジム読書ではなくエアロバイク読書なのかというと、ジムにある多くのマシンは読書しながら使うのに適していません。筋トレ系のマシンは当然として、走る/歩く系のマシンも揺れが大きいため読書には向いていません。
デメリット:高度な集中は難しい
個人や経験値にもよると思いますが、非常に難解な本を読むときにはエアロバイク読書は向いていないと思います。逆に、それほど難しくない本であればエアロバイクを漕ぎながらでも読むことができます。
エアロバイク読書を支える便利グッズ
長袖のコンプレッションウェア
エアロバイクを漕いでいると想像以上の汗をかきます。運動の強度によりますが、僕の場合は肘から汗が滴って困りました。
そこで、汗の滴りを防止するために僕は UNDER ARMOURのHEATGEAR(コンプレッション、長袖) を着ています。非常に気に入っています。
ヘッドバンド
腕の汗より深刻なのが額の汗です。額の汗をそのままにしておくと、垂れてきて目に入るのでそれを阻止するためのヘッドバンドがあると便利です。
僕は Haloのヘッドバンド を使っています。
イヤホン
ジムは他の人がマシンを動かしている音やウェイトを落とす音などで意外とうるさいので、音楽を聴ける環境があると良いと思います。
どんなイヤホンを使うかはお好みでどうぞという感じですが、汗をかくのでヘッドホンは避けたほうが良いです。
電子書籍
エアロバイク読書に紙の本を持っていくのはちょっと気を使ってしまいます。汗が本に直接滴ることはあまりないのですが、汗を拭った手で触れてしまうケースなどがあるので、できれば電子書籍の方が良いと思います。
さいごに
「本を読む」「運動もする」
「両方」やらなくっちゃあならないってのが「ヘルシープログラマ」のつらいところだな
覚悟はいいか? オレはできてる