@kyanny's blog

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

Oddmuse を設置した

Wiki が欲しいなと思ったので EmacsWiki の Wiki エンジンとして使われている Oddmuse を設置してみた。

Trac の Wiki に慣れているのでそれを使いたかったのだけど、 Wiki のためだけに Trac を入れるのも大げさだし、運用が面倒くさそうだなと躊躇していた。どの Wiki エンジンにするかでしばらく迷っていたのだけど、偶然 Oddmuse の存在を知って悪くなさそうだったのでこれを使うことにした。

Wiki を設置するにあたってこれは外せないと思った機能は、

  • Emacs から編集したい (Trac における trac-wiki.el のようなものが欲しい)
  • 編集履歴と差分をみる機能が欲しい (これも Trac の Wiki のように)
  • スパム対策などに手間をかけたくないので特定のユーザーのみ編集可能にしたい
  • できれば Trac の Wiki 記法互換がいい

こんなところ。記法はちょっと違ってしまったけどそれ以外は満たせたので、どうせ自分しか読み書きしないので細かいことには目をつぶることにした。 (URL が /wiki/wiki.cgi とかなってしまってちょっとださい、とか。いろいろ調整してみたけどうまくいかなかった)

参考 URL:

自分の設定などは GitHub に置いた。

Learn Code The Hard Way

Zed Shaw が Learn Code The Hard Way というサイトでプログラミング初学者向けの ebook を公開・販売している。 Learn Python The Hard WayLearn Ruby The Hard Wayepub 版をそれぞれ $2.99 で購入した。 PDF 版も同額で用意されており、セットだと $5.00 にディスカウントされる。

いずれも HTML 版なら無料で読めるので、 Webiblo の習作にレシピを書いてみようかとも思ったが、思い直してレシピを書くのは別の機会にとっておくことにした。無料で、しかもひと手間かければ自分が望むフォーマットで読めるものをわざわざ買おうと思った理由は三つある。

  1. 読者として: 実はこのシリーズを読んでみたいと思った一番の動機は現在執筆中の Learn C The Hard Way (ALPHA) に惹かれたからだった。この本の完成を待ち望むいち読者として貢献できることといったら既刊を買うことだろう、という応援のつもりで購入した。もちろんあの Zed Shaw が書いたのだから内容も一読する価値があるだろうとも踏んでいる。
  2. 消費者として: Kindle の愛用者として、電子書籍にはもっと広く流通して欲しいし、できれば PDF ではなく epub や mobi などの柔軟なフォーマットが普及して欲しい。また、価値があるのは紙の本ではなくコンテンツそのものであるという意思表明の意味も込めて、いいと思ったものにはちゃんと (ほんのわずかであれ) お金を落とす姿勢をとりたかった。
  3. 業界人として: 僕の勤める会社も電子書籍販売プラットフォームを運営している。直接関わってはいないとはいえ、立ち上がったばかりの電子書籍業界を盛り上げていく立場の側に属するものの一人として、たとえ自社プラットフォームが儲からないにせよマーケットでお金が動く輪のなかに居たい、という若干の当事者意識くらいは持ちあわせている。

易しそうな C の入門書に何度も挫折してきた身としては、 Learn C The Hard Way (ALPHA) には期待している。 The Hard Way Is Easier といわれると「今度こそ」という気にさせられる。それに取り組む準備として、先に LPTHW と LRTHW を読んでおきたい。

resque の哲学

resque の README と Introducing Resque - GitHub を読んだ。後者は GibHub における非同期処理の歴史を紐解いたうえで「なぜ resque なのか」に触れられていて、読み応えがあった。

彼らが必要とした非同期処理システムの要件はいろいろ挙げられているが、その背景に「管理・運用を楽にしたい」という思惑を感じた。キューの「タグづけ」や優先度はシステムの全容を把握しやすくするためだろうし、処理の統計を見るために専用のウェブアプリケーションを内包するほどだし、「刺さった」ワーカーを kill -9 できたり、失敗するジョブを繰り返さないことや失敗したジョブを破棄しないことは不具合が発生したときリカバリ・調査する手間を減らすための実際的な要求からきたものだろう。

上記のような要件定義をした上で、それを満たせる既存のミドルウェアとして Redis を採用した、というくだりは非常に説得力があり、「単に流行りの NoSQL を採用したかっただけじゃないの?」とばかり思い込んでいた自分の無知が恥ずかしくなった (いや、実際には、単に使ってみたかった部分も多少はあるのだろうけど)

最も印象深かったのは、このフレーズだった。

I highly recommend DelayedJob to anyone whose site is not 50% background work.

But GitHub is 50% background work.

GitHub は自分たちのサイトに何が必要なのかを見極め、それを作った。ちゃんと見極めること、技術を使い、技術に使われないこと、それが技術的な成功をおさめる秘訣なのかな、と思った。

キーボードの掃除には専用のキートップ引抜工具がおすすめ

数年間使っている Happy Hacking Keyboard Professional2 (墨) を掃除しました。

ビフォー

アフター

徹底的に掃除するならキートップを外したいですよね。マイナスドライバーを差し込んで外すこともできるみたいだけど、僕は不器用だからキーボードを壊してしまいそうなので、不安のない専用の引き抜き工具を買ってみました。これがとても良かった。僕はヨドバシ.com でこれを買いました。

ヨドバシ.com で買うとたった 200 円でも送料無料、なおかつ深夜に注文しても翌日のお届けで、これも無料。ネット通販は送料が気になるのでもっぱら Amazon でまとめ買いをしていたけど、ヨドバシ.com は Amazon プライムいらずで便利でした。さすがにこれだけ注文するのも気が引けたのでついでにエアダスターとかクリーナーもまとめ買いしたから結局あんまり差がなかったけど。

外したキートップは台所用洗剤で洗ってからしばらくぬるま湯につけて、洗濯ネットに入れてすすいだあとタオルの上に置いて干しました。一個ずつ洗うとうっかり落として排水口に流してしまいそうだったので洗濯ネットに入れてみたら、じゃぶじゃぶ洗えてとても楽ちんだったのでこれもおすすめです。

2011年を振り返る

2011年ももう終わるので、この一年を振り返ってみる。2010年の総括とも比べてみる。

仕事

今年も引き続き 30days Album の開発に携わった。サイトは一年で順調に成長した。これを書いてる時点でアップロードされた写真ののべ枚数は 91,907,412 枚と、 2010年末と比べると増加ペースがぐっとあがった。登録ユーザー数も 10 万人を超えた。社外の方と会って自己紹介すると「使ってます!」と言ってもらえることもしばしばあった。検索エンジンでも上位になってきたし、一年前よりも広く使われるようになった。しかし人気が出てきた反面、サーバ・インフラのコストがかさんだり、過負荷をさばききれず障害が長期化してしまった時期もあった。来年は安定稼働と、いろんな意味で速度の改善を目標に引き続き頑張りたい。

生活

年明け早々結婚した。これ以上のイベントは人生でもそうそうないので、それだけでメモリアルな一年だといえる。秋には結婚式も挙げた。夫婦仲は円満で、幸せです。体調面では、持病の症状はおさえられていて大崩れすることなく過ごせたが、年末近くになってちょっと検査結果が悪くなりだしてしまった。来年はしばらく病院通いが多くなりそうだし、気を引き締めて節制につとめたい。

勉強

去年以上に本を買わなかった。そのかわり Kindle を活用する機会が増えた。でかい本は買っても読まないということをようやく自覚したので、もうサイン入りだから捨てられないとか特殊な事情がある本をのぞいて、来年からはばんばん処分してしまおうと思っている。読書は Kindle で読める範囲内だけでやりくりしても十分だと思う。もともと読書家でもないし。社外の勉強会にはそれなりに参加したけど、自分のなかで「勉強会」というラベルがつく集まりに魅力を感じなくなってきたこともあり、ゆるやかな距離感とペースに移行した感じがある。社内では JavaScript ライブラリのソースコードリーディングなどを有志で行う会を半年ほど主催した。その流れで、スマートフォンでいろいろなソースコードを読む機会が増えたのは良かった。来年も Kindle で技術書を読み、ソースコードを読んでいきたい。あと、英会話は張り切って始めたものの、継続できなかった。来年どうするかは改めて考えたい。

イベント

二年連続で http://d.hatena.ne.jp/a666666/20111014/1318607048:title=YAPC::Asia で発表した。今年は自力でやりきった手応えがあり、そのおかげでようやくここ数年来の憑き物が落ちたようなすっきりした気持ちになれた。ただし発表内容やプレゼンテーションは反省点も多く、来年以降また機会があったらもっとうまくやろうと思う。 RubyKaigi にも参加することができた。春に #shibuyarblunch をはじめて、ずっと継続することができたし、いろいろなひとと知り合えた。一緒にやってくれている皆さんに感謝したい。社内では、さっきも書いたけど JS リーディングという JavaScript ライブラリのソースコードリーディングをする会を継続できた。こちらも一緒にやってくれている皆さんに感謝したい。どちらも来年も続けていきたい。

その他

去年以上に、いろいろへんなこだわりがなくなり、物欲みたいなものも薄くなり、嫉妬心とか負のオーラをまとうことも少なくなったように思う。要するに一年ではっきり自覚できるくらい精神的に老いた気がする。そう悪いことでもないと思っているので、ほどほどのペースを維持しながら来年も老いていきたい。あと、謙虚で悪いことは何もないので、来年はまた改めて謙虚を念頭において行動していきたい。運動は今年も例年以上にできていなかったし、来年もダメだと思うけど、気が向いたら朝ランニングなども試してみたい。あと、来年は家族が増える予定なので(ペットです)、生き物の命を預かるという自覚をしっかり持とうと思う。

総括

2011年は結婚に始まり結婚に終わった。いろいろあって大変な一年だったけど、来年は落ち着いて生活をしっかりさせたい。