画像でふりかえる2015年

Qupzillaプラグインを作る@Linux Desktop Advent Calendar 2015

f:id:laiso:20151205004955p:plain

Linux Desktop Advent Calendar 2015 - Qiita の4日目です

(まったく需要がなさそうな話題ですが)QupZillaというGPLv3ライセンスのQtWebKitベースのウェブブラウザがあり。最近これを愛用しています。

http://www.qupzilla.com/

このブラウザを使う理由はChromeやFirefoxの都会暮しに疲れたからとかPhantomJSの気持ちになってデバッグする気分のぐらいの時しかないですが、それはそうとQupZillaには自分の好みの動作になるよう機能を拡張するプラグイン機構があり、今時のウェブブラウザらしくソースコードディレクトリ内へC++/Qtのコードを書いて放り込みいっしょにコンパイルします。

git clone https://github.com/QupZilla/qupzilla
cd qupzilla/src/plugins

にGreaseMonkey、マウスジェスチャなどの標準プラグインが入っています

git clone https://github.com/QupZilla/qupzilla-plugins

へサンプルプラグインがあり、これを組み込んで機能が追加できるのが確認できます PluginInterfaceのインターフェイスを実装してQtのAPIを呼んだりメニュー要素を差し込んだりします。

余談ですが、過去にKonquerorというKDEのブラウザを使っていたのですがこの度Chroniumベースの別のブラウザ実装に置き換わるようです、とArchiWikiに書いてあった https://wiki.archlinux.org/index.php/KDE#Konqueror_and_Rekonq

Evernoteの思い出

Evernoteアプリ付き冷蔵庫

japanese.engadget.com

冷蔵庫20年ぐらい使うもんだと思っていたので、家電の寿命とウェブサービスの寿命について考えさせられた。

Evernoter

「Evernoteを使いこなすことで有名なユーザーの某氏」のような人物を度々見かけて、「使い方無限大」というより「何の目的にも使えないツール」という印象を持っていた。 (えっ、じゃあvimやEmacsを使っているy【射殺】)

システムアーキテクチャ

流行っていた2010年当初はみんなMac版を使っていて、Windows版は動作が激重で評判が悪かった。 これはEvernote的にはWPFで作ったからでC++/Win32 APIでスクラッチしたというのが話題になっていて、ほんまかいなと思ったけどWindowsXP以下もサポートしてたしまあ妥当だったのかも。

Evernote 4 for Windows is here! - Evernote Blog

僕は当時Gentooのデスクトップ環境とか使っていたのでなんかOSSクローンのを使ったりしていた(すぐQFixHowmへ移行した)。

ウェブサーバーはJava系で動いていて、なぜかステージング環境が公開されている。

https://stage-corp.evernote.com/

RailsアプリケーションのCoffeeScriptのSource Map生成は誰がやるの問題

近況

これは CoffeeScript だけでなく rails-* とか *-rails 的な Asset Pipeline にのっかってJavaScriptのビルドをする各gemでも起きている問題かと思う。

解決策

  • Sprocketsの外でJavaScriptをビルドするレイヤーをもうけ、GulpやWebpackのプラグインで処理しよう
  • もしくは Source Map いらない言語や環境で JavaScript 書くか、ジャスト・イン・タイムで人間が変換して読めばいいんだけど。どのみち他の要因でJavaScriptビルドツールが必要な時期が来そうではある
  • 完全に脱Sprocketsしてバックエンドとフロントエンドでビルドを分離する方向にRailsユーザーも進むのだろうけど各プロジェクトがそれぞれのやり方で試しているような状況

Conclusion

  • 川に飛び込め

GitHubリポジトリ内のファイルのコミットをFeedlyで購読するためのブックマークレット

主にCHANGELOGをウォッチします

window.open('http://feedly.com/i/subscription/feed/'+document.URL.replace(/\/blob\//, '/commits/')+'.atom');

オライリーブックスの概要をTOKIOのメンバーがしゃべるブックマークレットを作った

とくに意味はない

f:id:laiso:20150312204619p:plain

var members = ["長瀬", "松岡", "城島", "山口", "国分"];
var textList = $("#detail p").text().split("。");
textList.pop(); // remove
var newText = textList.reduce(function(a, t, i){
  return a+members[i % members.length]+"「"+t+"」<br />";
}, "");
$("#detail p").html(newText);

http://let.hatelabo.jp/laiso/let/hJmfgdzokMhO

undefinedのスクリーンショットはおもしろかったので残しただけで上記コードだと長瀬が二回しゃべる

Wantedly Author デビューした

先日会社の求人情報の文書を書く機会があって。そもそもやる人が居ないのと、好き放題書いてもいいというので引き受けた。以下がそれ。

ユビレジのiOSアプリを開発するエンジニアを募集 - 株式会社ユビレジの求人 - Wantedly

Wantedly Author という言葉は別にないけど CPAN Author みたいなものとして使っている。

*

個人的にIT業界入りしてからここ数年ずっとITベンチャーの求人フィード(今の主戦場はFind Job ! からWantedlyに移っている)をチェックし続けていたので*1書き手の側になるのは感慨深かった。

僕と同じようにWantedlyの求人の文書を書くことになってしまった人のために知見を伝授すると、モバイルアプリでAppleやGoogleのUIを参考にするように、迷ったらWantedly, Inc. の人たちの募集の真似をすると良い。

https://www.wantedly.com/companies/wantedly/projects

彼らはかなり頻度でドッグフーディングしているように見えるし、プラットフォーマーの強みで内部的なKPIも設定しやすいのだろうし、実際バリバリ採用もしていっているいるから間違いないと思う。

*

僕自身においてはここ数年のウォッチ体験を通じた結構なこだわりがあったので、それを好きなようにぶつけた。

まず「必須条件」「優遇条件」みたいなものは書かない。Wantedlyでこれらが書いてある募集は比較的少いけど、基本的にダイレクトに採用する場所ではないので、必須条件でフィルタリングする必要がないし。応募者すべてにリアクションする必要もないし、選考コストも全然ないので(というのはよくできている)ので窓口を狭める必要は全くないからである。あと「Faceboookのソーシャルグラフ1,2HOPまで」のような制限も加えられるが同じ理由で全解放を推奨したい。

会社が応募者に求めるものをつらつらと書くのではなく、応募者が求めていることを書いて選んでもらうというのが望ましい。

あとこれはWantedly特有の空気感なんだけど、誰と何をやるか? にフォーカスしているあまり文面からやりがいを感じはするものの、給与の話が全然出てこない。というのをずっと思っていたので勝手に給与の記述を入れた。Wantedlyに何か書くならこれは外せなかった。

*

ということでこぞってご応募ください。また「応援」をして募集記事の可視性を上げると、それは採用につながり、社内における私の発言力が増すのでおすすめします。FaceboookとTwitterのチェックボッスをオフにして応援すると、ステルス応援できるので(Wantedly上には残る)勝手に投稿されたくない僕はいつもそうしています

iOSの人向けにことわっておくと、岸川さんはもはやユビレジへの出社義務ないので*2 オフィスに居ないんだけど、予定が合う時にお願いすれば会えるかもしれない(国外に居るかもしれないけど)。ぐらいの感覚です。

*

あとついでにとても重要なことを思い出したんだけど、岸川さんの最終出社日に例によって東亜飯店面白ハラスメントの話題をしていたんだけど*3。ふと岸川さんから「それは何がおもしろいんですか?」という言葉が出て私は反省の滝に打たれたような衝撃を受けた。

そう、東亜飯店。「それは何がおもしろいんですか」。みなさんもよくこの言葉を噛み締めて欲しい。こんなものは2014年までで終りにしよう、というのを次世代に語り継ぐしかない。

そんな使命感を感じた。