秋元@サイボウズラボ・プログラマー・ブログ

 

Toodles – ソースコード内コメント中の ToDo を集めてやるべきTodoリストを一覧、更新できるwebツール

Toodles は、ソースコード中に書かれたコメントの ToDo を収集し、次やるべきことを可視化してくれるというオープンソースのwebアプリです。

ツール自身への入力として、Toodles 自体のソースコードを使いましたが、それとは別に適当なソースコードに ToDo コメントを仕込んで、一緒に読ませてみました。


var MAX_HEIGHT = 320;
var SQUARE_SIZE = 150;
var thumbnailBucket = process.env.DESTINATION_BUCKET_NAME;

// TODO (hoge|p=8|#js|#test|#newTag) - アレをナニしないといけない
exports.handler = function(event, context, callback) {
var originalBucket = event.Records[0].s3.bucket.name;
var key = event.Records[0].s3.object.key;

ソースコードとして指定したディレクトリ以下で、対応しているプログラミング言語(readme に一覧が載っていますが、主要なプログラミング言語やシェルスクリプト、yamlファイルなどをサポートしています)のファイルをすべて解析して、ToDo リストを更新してくれます。

また、Webアプリ側からもToDo を消したり、優先度やタグなどを更新したりでき、その結果は元のソースコード側にもちゃんと反映されます。

コメント内の ToDo の表記で、担当者、タグ、優先度などとコメントを書くことができ、webアプリ上ではそれらを使って ToDo を絞り込んだり、ソートしたりもできます。

Toodles は Haskell で書かれていて、GitHub でソースコードが公開されています。

# Haskell の環境が無かったので、Docker で動かしましたが、Stack でのアプリのインストールにかなりメモリが必要で、Docker が使えるメモリを2Gb→3Gbにしてやっと動きました。

巨大なプロジェクトの ToDo をこれで管理するのはさすがに難しいかと思いますが、個人レベルのちょっとしたのプロジェクトなんかだと、別管理することでむしろソースコードと issues の対応が取れなくなってしまうこともあるし、ソースコード内で ToDo 管理してしまうというこういうアプローチも、回る場合もあるのかもしれません。

via Hacker News

 

Datawrapper で、複数地点を俯瞰で紹介できる地図 Locator Map を作る

ジャーナリストやビジネスパーソン向けのグラフ/地図作成サービス Datawrapper で、地図上の複数地点を示す Locator Map というタイプの地図を作る機能が追加されています

東京日本橋500円(4ドル)ランチガイドのお店で作ってみました。

広い範囲のどこに当たるかを差し挟んだりもできるので、意味なく地球上での位置など入れてみたりしました。

地図の方角を変えたり、斜めから見たように角度をつけることも自由にできます。

上のサンプルは手で入力しましたが、店舗のリストなど、データをまとめて渡して地図を生成することもできます。地図のベースとして使われているのは OpenStreetMap ですね。

Datawrapper はフリーミアムのサービスで、無料でも限定された形で利用できますが、多数のチャートや地図を作ったり、それらの図をサイト上で何万回も表示したり、画像やpdfにして配布したりする場合には月額制の有料プランに入る必要があります。

見栄えのよいグラフや地図を作るのもスキルが必要ですが、データを与えるだけでデザインされたものが出たり、インタラクティブな仕組みを持たせたりできるのであれば、お金を払ってもいいというユーザーがいて、こういったサービスが存在できているのかもしれません。

via Maps Mania

 

Draw on this website – 世界中からみんなでお絵描きサービス

Draw on this websiteは、昨日公開された、ブラウザ上に用意された巨大な一枚の紙。閲覧者のみんなが自由に落書きできるというwebサービスです。

すでにカオス状態ですね。

当初は描いた後5分で消えてしまうという黒の無料インクが使えたのですが、アクセス急増したためか、無料インクは今使えない状態になっています。

$0.99(円) 払うと10000ピクセル描ける有料の「永遠インク (forever ink)」を買えば、まだお絵描きに参加できますが、さてどうなるか。見ていると有料のカラーインクで書いてる人はいますね。100円(0.89ドル)ぐらいなら、課金サービスに慣れた人が多い今、払って参加する人も結構いるということかもしれません。

今話題になっている間が稼ぎ時というか、もしサイトの人気が続くようでも、宣伝とか政治色の強いメッセージなどで埋まってしまうのではという気もしますが、どうなることでしょう。

via The Verge

 

メジャーリーガーが多用する英語表現は?

ワシントンポスト紙が、過去21年間、7000本ものプロ野球選手へのインタビュー記事を解析して、選手がインタビューで多用する表現は何かを調べた記事が面白いです。

Python製の自然言語解析ライブラリNLTKを使い、4・5単語以上のフレーズで7回以上登場したものから抽出した「インタビューで良く出てくるフレーズ」。

何百回も出てくるフレーズは、記事中で解説されています。たとえばこういったもの

  • ここに立てて幸せです (I’m just happy to be here)
  • 一日一日やるだけです (we gotta play ’em one day at a time)

実はこれらは、映画「さよならゲーム」で、ケビン・コスナー演じるベテランが、若手投手に教える「これさえ言っておけばなんとかなる」というインタビュー用フレーズなのです。しかし、実際のメジャーリーガー達もこれらを何百回と使ってしまっているという。

また、以下のようなフレーズは、日常ではあまりないが野球では多用されるということ。

  • バットをボールに当てに行く (put the bat on the ball)
  • ストライクゾーンをぶちぬく (pound the strike zone)
  • いいピッチングはいいヒッティングに勝る (good pitching beats good hitting)
  • なんとかやりぬく道を見つける (find a way to get it done)

記事の末尾には、メジャーリーガーが良く使うフレーズが、「よくあるフレーズ」「慣用句」「野球用語」の三つにわけて紹介されています。

フレーズの上にマウスを置くと、実際にそのフレーズを使った野球選手のインタビュー抜粋が表示されるので、どんな風に使われるのかもわかるようになっています。

「よくあるフレーズ」「慣用句」は、たぶんアメリカで話す時にも良く使われているのでしょう。良く使われているフレーズを勉強することは、生きた英語を身に着けることにつながりそうです。

また、「野球用語」のところもしっかり勉強すれば、野球選手の通訳がうまくできるようになるかもしれませんね。

 

太陽光でホストされる、低エネルギー消費サイト。時には止まる

ローテクマガジン(Low-tech Magazine)が、ソーラー発電だけで賄う、消費電力をできるだけ減らしたウェブサイトホスティングの様子をレポートしています。

ワンボードマイコン上のLinux + Nginx で動くこのウェブサーバは、太陽光発電パネル+バッテリーにつなげられ、電気がある間だけ動作します。

こちらが、通常版ローテクマガジンのウェブサイトで、

太陽光バージョンがこちら。

通常版に比べて、ページサイズが6分の1、リクエスト数は5分の1になったそうです。

ハードウェア・ソフトウェアの構成では、ページを軽く、読み込むファイルを少なくするために行われた作業が書かれています。このあたりは、静的サイトにするとか、画像を圧縮するとか、JavaScriptを使わなくするとか、いろいろな軽量化手法を取り入れてやっています。

Python製の静的サイトジェネレーターPelicanで動くソースコードも公開されています。

サイトのフッタには、最新の更新時におけるバッテリーの状況や、そこまで連続で何時間稼働し続けているかが表示されています。これは、サーバ機に使った Olimex のワンボードコンピュータから取れる情報だそうです。

太陽の状況によって、止まるのが予期されているサーバ

一番面白いのは、バルセロナに設置されたこのウェブサーバが、90%の稼働率を目指して設計されていることです。一年のうち35日間は、止まっているのが設計通りということ。

この稼働率を99%に上げるためには、太陽光発電のパネルを増やしたり、バッテリーをより大きいものに変えたり、地球上の別の場所にもサーバを置いたり、しないといけなくなるため、環境負荷が大きくなってしまう、と。だから1割は止まってよい、というのはよい割り切りだと思います。

まあ、このサイトについては重量版が別途存在しているので、止まったところでたいした影響はなく、コンセプトを提示するためのものではあります。ただ、ウェブサーバの用途によっては、9割方動いていればそれでも十分というものもあるでしょうね。実際の訪問者がいる時間だけ提供できればよい情報なんかは、太陽光発電が効く昼間だけ動けば十分、とかそういう感じで。

via Hacker News