カテゴリー
情報共有ツール

Aileen – 周囲のWiFiデバイスをカウントしてその場の人数を記録するツール

Aileen は、WiFi の電波から周囲にあるスマートフォンなどのデバイスを数え、記録するためのツールです。

WiFi がオンになっているデバイスのMACアドレスを使って、周囲にあるデバイスの数を記録し、時系列データなどをダッシュボードでまとめて表示します。(MACアドレスはハッシュ値のみ保存されます)

Aileen は、利用者として NGO による人道的な活動を想定しているということ。たとえば、難民キャンプでの人の出入りや活動を見守る、といった使い方です。キャンプの中にいる難民の数の変化をより正確に計ることで、サービス提供側の人員計画などを立てやすくすることができるのだとか。

先月にはコードがオープンソースで公開されており、WiFi 情報を収集して利用するというセンシティブな目的に対し、正体不明の第三者のツールに頼らずに済むのが利点だということです。

また、難民キャンプなどでは常に安定したインターネット接続が使えるとは限りません。そのような利用シーンを考え、Aileen を動かすPC自体はインターネット接続が無くても動けるようになっています。複数台を設置してデータ収集している場合は、ネットに接続した時点で情報を送信するそうです。(ハッシュ化された個々のMACアドレスを送信するのではなく、集計した結果のみを送るそうです)

今月には、ギリシアのレスボス島にある実際の難民キャンプで、2セットが試験運用を開始しているそう。

難民といえども、今は普通にスマートフォンを持っているのだろうと思います。むしろ情報収集等のために無いと困るぐらいかもしれません。デバイスを持たない人もいますが、スマートフォンの存在から人数を計るというのは、人手を掛けずにすむ効率的な方法なのかもしれないですね。

日本に今難民キャンプはありませんが、プライバシーへの配慮がされていることや、オープンソースとして動作の仕組みが公開されていることから、NGO などで他の人道的な運営に転用したりすることもできるかもしれません。

カテゴリー
情報共有ツール

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

カテゴリー
情報共有ツール

ephemeral – AWS Lambdaで古いツイートを自動削除

1年半ちょっと前にノマド・フリーランサーとなったビッキー・ライさん(Vicky Lai, @hivickylai)が公開したのは、過去のつぶやきがひたすら溜まっていくツイッターを、最近書いたことだけが共有される場所に作り替えるスクリプト ephemeral 。しかも、AWS Lambda の無料枠で動いてしまいます。

“ephemeral”は「束の間、短期間の」といった意味の単語で、発信した内容が後で消えてしまうようなサービスを形容するのにもつかわれますね。共有した写真が消える Snapchat もそうですし、つい先日発表されたGmail の「自動消滅メール」機能なんかもエフェメラルと言えそうです。

ライ氏はブログ記事”Why I’m automatically deleting my old tweets using AWS Lambda”(古いツイートをAWS Lambdaで自動削除する理由)の中で、家具や過剰な衣服や書籍、子供の頃のおもちゃや書いた絵などを捨て、カバン一つで好きなところに行けるミニマリスト的な生活に移行する中で、何年も前のある時点で思い付きでつぶやいたことを一字一句違えずに復元できることは重要ではないのでは、と思い至ったそう。

(ライ氏にとってのtwitterは)今を友達と共有するためのツールであり、であれば、一定期間より前のツイートは残らない方がいいのでは、と、今回のようなツールを開発し、実際に使うようになったということのようです。ライ氏のツイッターアカウントを見ると、今は15個のツイートだけが残って見えます。

セットアップ

使い方は、golang のソースコード中に Twitter API のキー等を埋め込み、提供されている シェルスクリプトでビルド&デプロイするだけ。Anaconda という golang のtwitter APIハンドリングライブラリのおかげか、コードはとても簡潔に見えます。

エフェメラルなソーシャルメディアの利用

長いことツイッターを使っていると、昔と今では考え方が違うこともあるし、今なら賛成できないようなことをつぶやいているのを見つけたり見つけられたりしてしまうかもしれません。いつか何かで炎上した時に、過去に遡って言ったことを発掘されたりするであろうことも、実際のネット炎上を見れば想像できてしまいます。昔のツイートを残すことによる不利益はたくさんありそうです。

実際、頻繁にアカウントを捨て、新しいアカウントを作ることで過去との連続性を消してしまうユーザーもいます。ライ氏のように割り切って「今だけを今の友人に伝える」ツールとしてツイッターを使うのが合う人もいるでしょうね。

ツイッターに限らず、ソーシャルメディアで過去にした発言やイイネ等が解析され、嗜好の分析や確度の高い広告表示等に使われている状況では、あえて自分が公開したコンテンツを一時的なものに留めることの利点もあるでしょう。広告で食べているソーシャルメディアの運営側からすれば面白くはないアイデアでしょうけれど。