GitHub リポジトリのリリースをいち早く知る

f:id:superbrothers:20160521170621p:plain

開発しているアプリケーションやライブラリの依存ライブラリなど、使用しているソフトウェアで新しいバージョンがリリースされたら、いち早くそれを知って変更内容の確認などを行いたいはずです。もしかしたら脆弱性のあるバグが修正されているかもしれません。

GitHub にホストされているソフトウェアでかつリリースを使っていれば RSS フィードを吐いているので、それを購読することでリリースされたことを知ることができます。 Ruby on Rails であれば、https://github.com/rails/rails/releases.atom がフィードの URL になります。

ただ気になるソフトウェアがあるたびに RSS リーダを開いて購読してを繰り返すのは面倒なので購読までを自動化しています。

リポジトリにスターを付けたら Feedly でリリースを購読する

購読の手順を毎度行うのは面倒なので、GitHubリポジトリにスターを付けたらそのリポジトリのリリースのフィードを自動的に購読するようにしています。スターを付けるだけで勝手に購読されるので購読し忘れも防げます。 ただし Feedly で IFTTT と連携されるには、有料の Feedly Pro である必要があります。:money_with_wings:

f:id:superbrothers:20160521171904p:plain

Trigger は、Feed チャンネルの "New feed item matches" を使い、自分の GitHub アカウントのアクティビティフィードを使います。このフィードにはスターを付けたことも含まれるため、それをトリガーにします。アクティビティのフィードの URL は https://github.com/{username}.atom です。"Keyword or simple phrase" は、{username} starred とします。

Action は、Feedly チャンネルの "Add new source" を使います。 URL は、{{EntryUrl}}/releases.atom とします。

これで準備は完了です。GitHub でスターを付けると Feedly でリリースのフィードが自動的に購読されるようになります。

f:id:superbrothers:20160521173053p:plain

"Add new source" アクションでは、フィード名と追加するカテゴリを指定することができず、Uncategorized カテゴリに追加されます。自分は後から本当に購読したいリポジトリだけを後日このカテゴリから他のカテゴリに移動させて必要のないフィードは購読を解除しています。

まとめ

GitHubリポジトリのリリースでフィードを吐いているので、それを購読することでいち早く気になるソフトウェアのリリースを知ることができます。オススメです。 IFTTT を使った購読の自動化は、Feedly の場合、課金しなければいけないので、このためだけに課金したくないという方は、Feedly の API と使うことで自動化できそうです。やってみてください。

久しぶりにはてなブログで書いてみたけど、Emoji が使えなくてかなしい :weary:

参考

ソースコードをハイライトして Keynote に貼り付けられる highlight にはいろんなテーマが同梱されている

f:id:superbrothers:20151118225243p:plain

vimTOhtml して貼り付ける方法を使っていたけど、highlight コマンドを使うと簡単にソースコードをハイライトして貼り付けられてべんり。

OSX なら brew コマンドでインストールできる。

% brew install highlight

highlight コマンドにソースコードを喰わせて出力形式をリッチテキストフォーマットを指定してやると Keynote に貼り付けた時にいい感じになる。

% highlight -O rtf server.js | pbcopy

デフォルトのテーマも悪くないんだけど、--style -s オプションでテーマを指定することができる。テーマはデフォルトで相当数入っているので気に入るモノがひとつはあると思う。-w オプションで使えるテーマを確認できる。

% highlight -O rtf -s molokai server.js | pbcopy

現時点で同梱されている全てのテーマでハイライトしたファイルを置いておく。ここから気に入ったモノを選ぶとよいだろう。 https://cdn.rawgit.com/superbrothers/159573a12664ccbee44b/raw/831493f867c0119f6265fe1b9403a86cfce2ced0/highlight-themes.html

このファイルは以下のコマンドから生成した。新しいテーマが追加されているかもしれないので気になる人は手元で実行後にブラウザで http://localhost:5000/ を開くと確認できる。

% cat << EOS > test.js
var http = require('http');

http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1337, "127.0.0.1");

console.log('Server running at http://127.0.0.1:1337/');
EOS
% ls /usr/local/Cellar/highlight/3.22/share/highlight/themes | sed -e 's/.theme//g' | while read THEME; do highlight -s "$THEME" --inline-css --syntax js < <(echo "// theme: ${THEME}\n$(cat test.js | sed -e 's/\\/\\\\/g')"); done | nc -l 5000

// それにしても長いタイトルになってしまった

参考

Xperia mini ST15i をもらったので Lolipop を入れてみた

f:id:superbrothers:20151011183256j:plain 友人から Xperia mini ST15i をもらったので、LegacyXperia なるところが古い Xperia 端末用に提供してる Lolipop のイメージを入れてみた。さすがにもっさりはしてるけど使えなくはない感じで気に入った。それにしても Xperia mini は小さくてかわいい。

f:id:superbrothers:20151012115752p:plain

Android 端末はこれまで Nexus7 を弄らず使ってきただけで知らなかったけど、この界隈は root 取得したり、カスタムイメージ入れたりで面白そうだ。昔の Windows Mobile はこんな感じだった記憶がある。

バッテリの充電用にと壊れているらしい Xperia mini をもう一台もらっていて、調べてみるとよくある連打病というものらしい。ファームを更新すると治るらしいのでこれも弄ってみる。

今回弄るにあたって Windows での手順が多かったので、押入れから ThinkPad X60 を取り出し、持っていた Windows Vista をインストールして作業を行った。X60 は名機だと思うんだけど、唯一熱暴走の問題があって当時アレコレいじった記憶がある。触っていてこの世代の ThinkPad が欲しくなってきたので、X61 か X20X を買って Linux でも入れて遊びたい。

crouton startxfce4 から起動した chroot を正しく終了するにはログアウトするといいっぽい

startxfce4 から起動した chroot の終了の仕方がドキュメントをみてもよくわからなかったから crosh から実行するときも -b オプションを利用せずに foreground で起動していたけどそろそろ background で起動させたいのでいろいろやってみると、どうやら chroot 側でログアウト処理を実行すると crouton integration で使われる WebSocket サーバも含めて正しく終了されるっぽいことがわかった。これでいいのかはよくわかってない。

XWindow をあまり利用してこなかったから知らなかったけどターミナルで logout コマンドを実行すると「not login shell」と怒られる。そりゃそうか。軽く調べてみると killall -u $USER でいいって出てくるけど chroot でこれやると終了はできるけど Chromebook 側のユーザのプロセスも合わせて落とされるのでやめたほうがいい。

結局よくわかってないけど素直に GUI のログアウトから実行すればいい。crosh shell から終了できるように crouton にそれ用のコマンドがあってもいい気はする。

GUI のログアウトボタンから何が実行されているかは調べてみてもいいかもしれない。もしくは誰か教えてください。

腕時計の修理は量販店に持っていくのがいいっぽい

f:id:superbrothers:20150523143824j:plain

9年目のカシオの G-Shock GW-56CJ が全く充電されなくなったので修理に出して返ってきた。ソーラー充電に対応しているからこれまで電池の交換もなく過ごしてきたけどさすがに充電池がへばったみたい。

修理には「修理品ご送付受付窓口」にゆうぱっくのこわれものとして送付した。

修理部品は二次電池のみで「機能検査・点検料金」が 3000 円、「代引き手数料・発送料」で 800 円、合わせて消費税込み 4104 円かかった。これに最初の送料を合わせるとそこそこのお値段になってしまった。

全く同時期に同じくカシオの時計が故障した友人は量販店に修理をお願いしたらカシオ修理サービス行きで 3240 円で済んだ模様。修理内容が同じかはわからないけど、腕時計が故障したらまず最初に量販店に持ち込むのがよさそうだ。

crouton を使って ChromeOS で Ubuntu を使う

f:id:superbrothers:20150520205935p:plain

ChromeOS で他の GNU/Linux ディストロ を使う手段はいくつかあるが、crouton を利用するのが一番手軽だと思う。

crouton は ChromeOS で chroot を使い他のディストロを使うようにできるソフトウェア。デュアルブートと違い ChromeOS の上で動作させるため、ChromeOS の利点を活かしながら他のディストロを使うことができ、下準備として必要なのは ChromeOS を開発者モードで起動させておくだけなのでとても簡単に使い始められる。またデフォルトではフルスクリーンでディストロと ChromeOS を行き来することになるが、crouton-integration を使うことでディストロを小窓で使うことができるようになる。VirtualBox などを使っているのと似たような感覚で便利だ。

インストールの仕方は README に全て書いてあるのでそちらを見てもらうとして、crouton-integration を使う場合はインストール時の target オプションに xiwi を追加する必要がある。またデフォルトでは apt のリポジトリにミラーが使われず非常に遅いので mirror オプションに日本のリポジトリミラーを指定しておくとインストールが早く終わる。あと必要に応じて e オプションを利用して chroot を暗号化しておくことができる。USB メモリなどにインストールする場合紛失すると怖いので暗号化しておくと良いと思う。

$ sudo sh crouton -r trusty -t xfce,audio,keyboard,extension,xiwi -m http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ -e

crosh で日本語さえ入力できればそもそもディストロを使うことなく開発環境を整えらそうだったけど、修正される見込みはなさそう。ともあれ今後は Ubuntu をいじっていくことになった。

アクセスポイントを 11ac 対応のモノに新調した

元々調子が悪かったのと新しく購入した Chromebook が 11ac に対応していることもあって、アクセスポイントを 11ac 対応のものに新調した。特にこだわりはないので Buffaro でそれなりの価格のものを適当に選択した。iPhone 6 も 11ac に対応していたと思うので恩恵が得られるだろう。

以前のものは暑くなったり転送量が増えるとつながらなくなったりしていたので今後はそんなことがなくなるといいなあ。