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

1年半ちょっと前にノマド・フリーランサーとなったビッキー・ライさん(Vicky Lai, @hivickylai)が公開したのは、過去のつぶやきがひたすら溜まっていくツイッターを、最近書いたことだけが共有される場所に作り替えるスクリプト ephemeral 。しかも、AWS Lambda の無料枠で動いてしまいます。 ephemeralは「束の間、短期間の」といった意味の単語で、発信した内容が後で消えてしまうようなサービスを形容するのにもつかわれますね。共有した写真が消える Snapchat もそうですし、つい先日発表されたGmail の「自動消滅メール」機能なんかもエフェメラルと言えそうです。 ライ氏はブログ記事Why I'm automatically deleting my

Salieo – レスポンシブ・いい感じに画像を切り出し表示してくれるサービス

Salieo は、Javascript で画像ファイルから写真の重要そうなところを切り出して表示してくれるというサービスです。サイトのキャッチはinstantly, intelligently, responsive(即座に、賢く、レスポンシブに)となっています。 ユーザー登録してAPIキーをもらってみました。同じ一つの写真がこんな風に自動でクロップされて表示されます。 比較のため、スクリプトをオフにすると以下のようになります。横長でも縦長でも、元の画像がそのまま縮むので、車の形がゆがみますね。 # 物があるところをうまく切り出してくれる、ということなのですが、この写真はちょっと例には良くなかったかな。 ユーザー登録した上で、申請したドメインやURLパターンに合致した画像だけが変換の対象となります。変換できる画像の数や変換の回数によって料金が変わりますが、一番下の無料枠でも10画像、月25,000回までの呼び出しができるようです。 先行の類似サービスとして、imaggaやImageKit.ioが見つかりましたが、どちらも無料枠は無いようです。Salieo の無料枠もお試し用という感じの枠ではありますが、実際に試せるのはやはりいいかと。 これらのサービスを使えば、切り出しについて特に考えずに元の画像一つをアップロードしておけば、サイトで表示した時にその時の縦横比にあわせて動的にクロップされるわけです。あとは写真から重要そうな場所を切り出す判定部分の精度が良ければ、画像が表示される際の縦横比を固定しにくいサービス運営者からは、有料でも嬉しいサービスとなるかもしれません。 via Hacker

IDEA – イケアのマニュアル風にアルゴリズムを説明

IKEA の組み立て家具の説明書のような形式で、言葉を使わずにコンピューターの各種アルゴリズムを説明しようというサイト IDEA です。 もともとサンドル・フェケトさん(Sándor P. Fekete)が作っていたものに、セバスチャン・ムーアさん(Sebastian Morr)とセバスチャン・スティラーさん(Sebastian Stiller)が参加し、教師や学生、その他興味のある人が使えるように公開するようになったということです。 マージソート、クイックソート、ボゴソート、二分探索、平衡二分木、公開鍵暗号、一筆書き、グラフ探索、の8種類が、言葉を使わずに絵だけで説明されています。 元のアルゴリズムについて一度は学んでいないと、図だけで何のことかわからない、というものもあるとは思いますが、なんとか簡単に図でおさめようと努力された工夫が見て取れ、面白いものとなっています。 これらの図は、クリエイティブ・コモンズ4.0 by-nc-sa の条件の下で、改変したり配ったりして大丈夫だそうです。 via

Smash – サイズ無制限を謳うファイル転送Webサービス

Smash は、ブラウザベースの巨大ファイル転送サービスです。日本でいうところの GigaFile とか宅ふぁいる便みたいなサービス。 今風のデザインで、ファイルをドラッグするだけでアップロードできます。 個人は無料で、追加サービスやチーム利用でお金を取るビジネスモデルのようです。無料でも広告なしで、ファイルサイズの制限もなし、と良いことづくめのようですが、ファイルを扱うサービスでは当初Unlimitedと売り出しても後日軌道変更を余儀なくされる事例が多いので、さてどうなるか、というところ。 こんな感じでメール等でURLを送って相手に大きなファイルを送ることができます。 # 上のテストは7日で消えるはずです。 via

ゼロ幅文字にエンコードした隠し情報で、文書をリークしたメンバーを特定

とある会員制掲示板からの文書の流出に困った運営者が、ユニコードの見えない文字「ゼロ幅文字(Zero-Width characters)」を使って流出させたユーザーを特定した、という話が出ていました。 数年前の話、Tom さんが所属していた競技ビデオゲームのチームでは、ログインが必要なプライベートの掲示板を使って連絡していました。その掲示板に書かれた秘密情報や戦術に関する重大アナウンスなどがしばしば掲示板外のウェブにコピペされ、チームにとって大きな問題となっていたそうです。 外部ユーザーの攻撃で中身が漏れたというよりは、メンバーの誰かがコピーしているのでは、と考えた Tom さんは、当時気になっていたユニコードのゼロ幅文字を使ったトリックを仕掛けたそうです。 ユーザーを特定する情報を、見えない文字に変換して埋め込む ログイン中のログインユーザーのユーザーIDを、一定のルールによってゼロ幅文字の並びに変換します。そして、この文字列が、掲示板のコメントを表示する際に文章の間に埋め込まれるようにします。 コピー&ペーストされた外部の掲示板等を見ると、目には見えませんがそちらにもこのゼロ幅文字を組み合わせた文字列が含まれているので、そこから逆への変換を適用することで、コピーをしたユーザーのIDがわかる、というわけです。 GitHub 上で公開されたデモコードがこちら。動くデモがこちらです。 1 で入れたユーザー名が入っていないように見える2 のテキストをコピーすると、コピー先の 3 から、元のユーザー名が取り出せていますね。 データ列をASCII文字64個でエンコードすれば Base64 ですが、このデモでは 4種類のゼロ幅文字を使った ZeroWidth4 とでもいうべきエンコーディングですね。 元ブログ記事では、この手法を掲示板に組み込んで新しい情報を流したところ、数時間でコピーされた文章からユーザー名を回復し、流出者を特定できた、と語っています。 この場合はうまくいきましたが、この仕掛けを知った上で無実の他人のユーザーIDに書き換える、といった反撃も考えられるので、ユーザー名をそのまま組み込むとかではなく、改竄があればわかるような形にするのがより良いだろう、とも述べられていました。 自衛ツールの登場など この記事が広く読まれたので、Chrome拡張が早速登場。ゼロ幅文字を絵文字に変換して表示する拡張で、こういうのを入れておくと何かが埋め込まれているな、というのを見つけられますね。急いで作られたせいか、ユーザーが能動的にクリックしないと絵文字表示されないなど、実用するには今一つですが。 それと、英語のテキストでやってる分には問題ないですが、そもそも役割があって文章中にゼロ幅文字が含まれている言語もあるので、一律に除去したり警告したりするようなツールでは不十分だと言えそうですね。 情報を守る立場からすれば、このような追跡手法をいくつも持って仕掛けておくことは有用でしょう。 逆に、内部告発など悪事を暴く活動として秘密情報をコピーする立場から見れば、このような仕掛けがないかを確認したり、同定されないよう過剰と思われる情報を切り落とすツール等を使うなど、ある程度のリテラシーが必要となってきそうですね。 via

悪のUIデザイン、ダークパターンの実例を見せる動画

ダークパターンについては2010年、概念が提唱された際にこのブログでも紹介しました

ユーザー体験を向上させるのではなく、ウェブサイト運営側の都合でものを買わせたり、ユーザー登録させたりするウェブサイト構築上のトリックを分類して名前をつけよう、というのがダークパターンです。

先週、そのようなダークパターンを解説する動画が公開され、注目を集めています。

とにかく退会したいんだ!

動画の最初はアマゾン。「アマゾンを退会しようとした人はどうなる?」で、一回入ったらそこから出ることは難しい Roach Motel (ゴキブリホイホイ)ダークパターンの実例を見せています。(00:15)

アマゾンを止めようと思ったことがないので知りませんでしたが、日本語でも止めるための手順を説明するブログ記事がいくつもあり、なかなか止め方が難しいのですね。動画と同じように日本のアマゾンでも退会ページを目指してみたのですが、退会に関してはアメリカ版と同じサイト構造になっているようです。

直観的にまず開くであろう、上部ナビゲーションバーの「アカウント&リスト」からは、様々なリンクが表示されるものの、そのどこからも退会ページに辿り着くことはできないそうです。

動画が教えてくれる手順は、

  • ページ最下部のリンクから「ヘルプ」をクリック
  • 「問題が解決しない場合は」から「カスタマーサービスに連絡」
  • 1の「プライム、その他」タブを選んで
  • 2のプルダウンから「アカウントの確認、変更、閉鎖」 (アメリカ版ではここが”Login & Security”だそうで、さらにわかりにくいですね)
  • もう一つ出てくるプルダウンから「アカウントの閉鎖」
  • 「チャット」「電話」「eメール」のいずれかを選び、先方からの連絡を待つ

なるほどこれは大変ですね。多くの人は途中で諦めてしまいそうです。

メルマガ退会を難しく

次はニュースレター/メールマガジンの購読停止(02:15)。メールの末尾に購読中止のためのリンクがあり、それを開けばその相手からのメールはもう来なくなる、という仕組みは良くあります。

日本のメルマガでは手動で依頼しないといけなかったりするのがまだまだ多いので、これでも助かる方かと思いますが、動画作者はここにもダークパターンがある、と喝破しています。

購読中止のリンクが地のテキストと見分けにくい色や太さになっていたり、ガチャガチャと関係のない情報が列挙されて非常に探しにくくなっていることが多い、と言います。

言われてみれば、たしかにこういうのよく見ます。

流れで購入ボタン

3つめのスマートフォンゲームアプリでの事例(02:30)は、「ゲームを始める」「次の面へ行く」などのボタンを全部グリーンの角丸ボタンで続けた上で、ゲーム内課金のダイアログで「購入」の方を同じデザインのボタンで描画する、というパターン。

動画では他に、やたらと「こちらは先ほど売り切れました!」「あとn時間で無くなります!」といった警告を散りばめるホテル予約サイトや、友人のメールアドレス情報を(サービスに招待する目的で)預けることをわかりにくいボタンで8回も押す機会があるような登録フォームをデザインして訴訟を受け負けたリンクトインの裁判、などの事例を紹介しています。

AutoMute – ブラウザの音声再生を全部デフォルトオフにできるChrome拡張

AutoMute は、Chrome ブラウザからとにかく音が出ないようにできるブラウザ拡張です。

インストール直後の設定は、あらゆるサイトでの音声がオフになっています。すべてのタブにミュートのマークが表示され、マークをクリックしたり、拡張アイコンのメニューから選択したりすることで、個別に再生を許可することもできます。

YouTube など、サイト側で用意しているミュート機能とは別のレイヤで止まっているため、場合によっては拡張でアンミュートして、動画側でのアンミュートして、としないと聴こえないこともあります。

音楽等が突然再生されたりすると非常に困る、といった職場で働いているような人たちは、保険のために入れるといいのかもしれませんね。絶対にどんな音も鳴らなくていい、ということなら、OSのドライバを止めるとかイヤホンジャックを埋めるとかもありですが、この拡張であれば、音がしても大丈夫なサイトだけ許可したり、どうしても音を聴かなければいけない時だけ設定を変えて聴いたりすることができます。

via LifeHacker via TheNextWeb

アメリカが滞在ビザ発行に個人のSNSアカウントを要求する動き

TheNextWeb のレポートによると、アメリカの官報で非移民向け査証の発行にあたって収集する情報を追加しようとする公告本日掲載されたそうです。

アメリカ国務省領事局のこの提案では、移民ではない滞在者ビザの申請フォームで、「過去5年間に利用していたソーシャルメディアのアカウント名」を記入させようとしています。その利用目的は「本人確認」や「事前調査」のためということ。

他に、過去5年間の電話番号、メールアドレス、海外渡航歴、どこかの国から退去させられたことがあるか、親戚にテロリストがいるか、なども訊ねるということ。親戚にテロリストがいる人が申請書にそう書くかなあ。

公告はこれから60日間の提案期間に入り、その間パブリックコメントを募集するということです。

しかし、Facebook や Twitter のアカウント、誰も強制されているわけではないので、「持ってません」「使ってません」と言えばそれで終わりのような気もします。アメリカで Facebook の登録率がたいへん高いのは知っていますが。

そして、こんな情報を集めて、本当に Facebook の履歴などを調べるつもりなんでしょうかね?

bödysöf-WASH – 石鹸をインジェクトしてくれるシャワー

bödysöf は、既存のシャワーの水流に対してボディソープを混ぜ込んでくれるというガジェットです。

シャワーを浴びながら体を洗えるので、シャワー時間は短縮されますね。海外だと「頭も体も洗える液体石鹸」を売ってるところもあるので、シャンプーがどう、とかは気にならない派もいるでしょう。

「石鹸をお湯に混ぜ込むことで、水道の中の病原体を除去できる」とか、「最初から混ざっていることによって極端な pH の洗剤が体に着くことがない」とか、時間短縮以外にもいろんな効能をうたっています。水道水にそんな病原体がいるのか、とか突っ込みたくなりますが。

レバーを動かすことで、水流に含まれる洗剤の量を0にもできるので、洗い上がる時はこれで水だけのシャワーに戻すわけです。

Kickstarterで寄付を募っており、現在は$98 で一基入手できるようです。クラウドファンディングなので、もちろん「成立して」ちゃんと「物が作られて」「本当に発送されれば」ですけど。

混ぜられる液体を2種類に切り替えて、シャワーしながら「洗う」「保湿する」の両方をできる新型も作るのだとか。

ずぼらな人、効率を求める人にはいいアイテムかもしれないですね。現時点では、洗浄剤を混ぜられるケルヒャーとかを連想してしまいますが。

via Trend Hunter

AWSの日本サーバのIPアドレスのリストを得る

ツールのインストールなしで。

EC2サーバーなどのIPアドレスの範囲については、AWS公式がJSON形式で最新の情報を公開しています。

AWSのサーバ「からのアクセスを禁止したい」とか「からだけアクセスを許可したい」という時は、ここから対象となるサーバのリストを抽出することになります。

公式ドキュメントでは jq を使ってフィルタするといいよ、と言っています

jq をオンラインで実行できるサービス jq playがあるので、これをブラウザで開き、JSON のところに先ほどの公式のJSON の中身を貼りつけます。

フィルタとして、たとえば、「東京と大阪リージョンのEC2のアドレスを絞りこむ」だと、以下を入れます。

.prefixes[] | select(.region=="ap-northeast-1" or .region=="ap-northeast-3") | select(.service=="EC2") | .ip_prefix

ダブルクオートが不要であれば、Raw Output にチェックを入れましょう。

[訂正] はてブでご指摘いただきました。大阪は ap-northeast-3 ですね。ごめんなさい

jq play の結果は、permalink 化して共有できます。右上の”Share snippet” から。

今日の時点でのIPアドレスの範囲は、こんな風にでました。

# 今回は、公開されているデータを絞り込んだだけなので問題ないと思います。社外に漏れたら困るようなJSONを、こういったサイトに突っ込むのはやめましょう。念のため

eBayアプリの出品機能に「ARで梱包段ボールのサイズを計る」機能が登場

米オークションサイトの eBay が、Android アプリにAR(拡張現実)技術を使った新機能を投入しました。

梱包して発送したい商品に対して、適切な大きさの箱を選ぶのを、現実世界の上に仮想の箱を重ねて表示することでおこなわせるというものです。

対象を撮影しながらスマートフォンを動かすと、まず置いてある場所(テーブル)の表面を認識します。

USPS(アメリカの郵便局)で売っている段ボールのリストから一つ選ぶと、その段ボールのサイズがリアルの上に重ねて表示されるので、荷物がその箱に収まるかどうかがわかる、ということ。

オークションサービスで、出品の手間が減るほどユーザーやユーザーの出品数が増えるだろうことは想像に難くありません。梱包箱選び一つをとっても、こんな風に直観的に支援してくれる機能があることで eBay へのロイヤリティが高まるのかもしれないですね。

アプリはeBayが開催した昨夏の Hack Week でのアイデアを、Google の ARCore SDK を使って実装したということです。

実際に試してみようと手元のAndroid機にアプリを入れてみたのですが、Shipping のメニューに出てきません。なんでだろうとアプリの説明文を見に行ったところ、現在このAR機能が使えるのは米国内のみ、ということでした。

via release via VentureBeat

akky's work blog