2010 07 16
■はてな退職しました
7/16 が最終出社日*1となり、はてなを退職しました。はてなブックマークでのチュートリアル機能がはてなでの最後の仕事となりました。
はてなに入ってからを振り返ってみると2006年1月にはてなに15番目の社員として入社し、4年7ヶ月はてなのメンバーと一緒に働いてきました。当時はまだ誰も辞めていなかったため、過去はてなで働いた人すべて一緒に仕事をしてきたことになります。入社時はまだオフィスが東京にあり、毎日全員が朝会でディスカッション、時には数時間も熱く語るというエキサイティングな職場だったのがとても印象的でした。
当時は本当に自由な環境でいろいろな事を試行錯誤していた日々でした。入社約2ヶ月で、会社のフレームワークに DI の概念を実装したころで Perl もう無理と投げ出して Perl を書かない仕事ばっかりやっていたのも今となっては良い(?)思い出です。今だったらあり得ないですねほんとスイマセン…。
そんな中で主に東京オフィス時代では、subversion を取り入れ switchtower でデプロイなどの開発環境の整備や、社員が好きなサービスを出せるはてラボを
id:wanpark と作り上げたり、Rails + dRuby ではてなスクリーンショットを作ったり、はてなハイクのお絵かきツールなど各種UIを AS3 や JS で実装したり、社内向けサービスの実装を行ったりと小規模な仕事をいろいろ行ってきました。
現在の京都オフィスには2008年春に移転しました。当時先発移転組約5人でだだっ広いオフィスで仕事していたのを良く覚えています。
2008年夏頃、はてなブックマークリニューアルプロジェクトが立ち上がり、
id:naoya ディレクターの元
id:nagayama,
id:nanolia,
id:suzak とともにリニューアルに向けがーっとはてなブックマークを作り込んで行きました。約2年半のブランクを経て Perl を書きまくり、JS を書きまくりの日々でした。この時のリニューアル公開直前の2ヶ月は、朝10時に出社し夜は24:00を回ってから帰り、大体土日も出勤してコードを書きまくっていて、人生でいままで一番コードを書いた時期でもありました。ただつらいということは全くなく、明確な目的が見え、自分がコードを書けば書くほど完成のクオリティが上がっていくため毎日がプログラマーズ・ハイな状態で非常に楽しかったです。
そしてちょうど一年前の夏に、
id:naoya からはてなブックマークチームを受け継ぎ、ディレクター・チームマネージャーとしてはてなブックマーク全般を担当してきました。サービスを伸ばすためユーザー数やPVなど明確な目標を決め機能を作っていき、チームリーダとしてよりよいチーム作りといった今まではできなかった経験をいろいろさせて貰いました。また収益目標を立て収益責任も負い『どうやって Web サービスを収益化するのか』という一エンジニアではなかなかできなかった仕事も
id:mitsuki と協力し行ってきました。昨年度末あたりからはスマートフォン向けのビューやアプリ、はてなモノリスといったサービスの作成などのディレクションも担当し、新しい経験をすることができました。
しかしながら仕事のほとんどがディレクション中心になり、コードを自ら書くことが特に今年に入ってからはほとんど無くなりました。そんな中ここ半年ほど、本当にディレクションが今やりたいことなのかと考えてました。僕は今28で、今年中に29になります。もう来年には三十路です。人生は一度で終わり。やはりまだまだコードを書きたい、エンジニアリングがしたい。エンジニアで少なくともあと何年かはやりたい。そうエンジニアの道を選択しました。
エンジニアとしてやっていくとして、はてなに残り 1エンジニアに戻る道ももちろんありました。ただ、自分にとってはてなはあまりにも居心地の良い場所になりすぎてしまっていました。それに自分も慣れすぎて、どうしても他人に甘え仕事に妥協が生まれたり、『会社にとって評価されやすい仕事』を気をつけていてもやってしまう自分がいました。また、長年会社にいるとその会社に役立つスキルを使って仕事をしがちで、より技術面で前へ進むには新しい場所で新しい空気を吸って行こうと思い、退職を決意しました。
はてなで働いた4年と7ヶ月、
id:jkondo を始めとした会社のメンバー全員には良い環境で一緒に仕事をさせてもらい、普通の会社ではできないようないろいろな経験をすることができ本当に感謝しています。また、一緒に同じチームで仕事をしてきた
id:nagayama,
id:nanolia,
id:r_kurain,
id:cho45,
id:nanto_vi には未熟なチームリーダをサポートして貰いました。この場を借りてお礼を。本当に一緒に仕事ができて楽しかったです。
7月下旬には京都から東京へ引っ越し、8月からは東京でエンジニアとしてまた新しい一歩を歩んでいきます。みなさん今後ともよろしくお願いいたします。
*1:7月末まで有給で休むため、7/16が最終出社です
2010 05 29
■ Chrome to Phone を Greasemonkey と Vimperator で利用できるようにする
先日の公開された Android 2.2 ですが、この 2.2 で API から Google 経由で簡単に Push Notification Service を利用することができるようになりました。
アプリ開発者はこの API を使えば簡単に Web やその他 Android 以外のデバイスから起こしたアクションを Android に通知することができます。感覚としては5秒後にはもうすでにAndroid端末にpushされてる感じです。
で、この API を作った Chrome to Phone という Google Chrome で見ているページをワンクリックで Android に通知して Android ブラウザで開いたり、GoogleMapでみれたり、電話をかけれたり*1するデモアプリが公開されてます。
- chrometophone - Project Hosting on Google Code
- Chrome-To-Androidエクステンション:これはスゴイ (TechCrunch の紹介記事)
デモアプリだと思って甘く見てたんですが、かんたんに PC ブラウザ -> Android 連動が可能なため使い始めてみたら超絶便利でした。
しかしながら現在のメインブラウザは Firefox なため、Firefox からも Chrome to Phone を使いたい!というか vimp から使いたい!と思ったので GreaseMonkey と Vimperator Plugin を作ってみました。
- ユーザースクリプト
- Vimperator Plugin
グリモンの方は入れるとユーザースクリプトコマンドに "Firefox to Phone" という項目が出るのでそれをクリックして送れます。vimp plugin のほうは :sp コマンドで引数なしだと見てるページの URL を、また引数に URL を入れるとその URL を Android に送れます。 もちろん Froyo な端末が必要なのと、Android に chrometophone-android.apk 入れないと動かないですよ。
というわけで Firefox & Android 2.2 ユーザーの人は使ってみるといいんじゃないかなー、と思いました。
2010 05 19
■ ブラウザにローカルファイルを Drag & Drop でフォトライフにアップロードする Greasemonkey Script
HTML5 File API つかうとローカルファイルをブラウザに Drag したファイルをハンドリングして binary やら data スキームとして扱うことができ、Firefox 3.6 や Chrome 5 ですでに使えるというのを今さらながら知った*1ので、はてなフォトライフにローカルファイルをブラウザにドラッグするだけでアップロードできる UserScript を作ってみまんた。
WinXP + Firefox 3.6.3 で確認してますが OSX や Chrome5 などの環境で動くかは試してないので解りません。動作デモは以下の swf 動画を見てください。
なんかすごい便利な…!今まで右クリック拡張でパスを取得していちいちフォームに入れてたのが、ドラッグするだけでいけて直感的に。
また Flash は一切使わずにアップロードしてます。フォトライフ側のAPIを無理矢理使った感じなので、png/jpeg しかアップロードできず、また Exif のカメラ機種名などは無視される制限があります。
参考にしたドキュメントですが、以下の MDC のを読めば十分な感じです。
一応 progress イベントもとれるんですが、Flash のアップロードに比べていまいちイベントが発生しづらい感じはします。また POST + アップロードは xhr を生で触るとすごいやりにくいんですが、この辺はライブラリがたぶん解決してくれるようになるでしょう。File API 使った複数ファイルのアップローダライブラリとか出てきそうですね。
またすごい直感的に扱えるAPIなので、dropbox などのファイルクラウドサービスの Web インターフェイスにもどんどん適用されていきそうで楽しみです。なお Gmail ではすでに対応しており、添付ファイルをかんたんに追加できてびっくりしました。
*1:http://gihyo.jp/dev/column/01/browser/chrome5 で知りました。なおこの記事すごいまとまっていてとても参考になりました。


