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

ユーザが期待するページデザイン (クリックされやすいネット広告 ^^;)

Examining User Expectations of the Location of Web Objects では、304 人への聞き取りを基に、ウェブページのどこに何があると期待されているか、を調べている。

ウェブサイトに置かれる(コンテンツ自身以外の)5つの要素は以下、

  1. サイト内へのリンク
  2. 他サイトへのリンク
  3. ホーム(トップ)に戻る
  4. サイト内検索
  5. 広告スペース

それぞれについて、サイト内へのリンクは左端にあると思われていることが多い、といった結果を、賛同者が多いと色が濃くなるグラフで表している。(各グラフはリンク先の記事を参照)

ページの最後には、すべての調査をまとめたグラフがあり、どこにどの要素を配置すれば、「よりユーザが意表をつかれない」デザインにできるかを考える参考にできる。これはウェブサイトを設計する際の重要な知見の一つと言えると思う。

トップへ戻るリンクが左上、というのは、わざわざ言われなくても今ではほとんどのサイトがそうしているだろう。ただ、ページ最下部の中央にも、同じくらい、トップへ戻るリンクを期待している人がいる、などといったこともわかる。

僕は、まったく別々に作られた様々なアプリが、一つ使えれば他も見よう見まねで使える、というのがブラウザベースのアプリケーションの大きな利点だと思っている。なので、こういった配置情報も、ユーザがウェブアプリを操作する際の違和感を軽減するための重要な要素だろう。

何か新しいウェブサービスを開始する際には、こういった典型例から外れないデザインが重要だと思う。

blog_20051104_ad.gif

一つ面白いのは、(5) の広告配置(Figure 5)。ユーザは、「このあたりには広告がよく置かれる」と思うエリアがあるわけで、そういう場所に置かれた広告は、より簡単に無視されやすい。広告があると思いにくい場所、そういう「意表をついた場所」に広告を置くことで、思わず広告を読ませたり、クリックさせたりできるのではないか、みたいな話も書かれていた。上がその図。白いあたりが「まさか広告だとは思わなかったよエリア」、ということに。ココ重要。

この記事は移転前の古いURLで公開された時のものです

  • ブックマークが新旧で分散している場合があります。
  • 移転前は現在とは文体が違い「である」調です。(参考)
  • 記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません

日経コンピュータ2005/10/31号にて取材を受けた

日経コンピュータ 2005/10/31号、p.22 にて、サイボウズ・ラボの成果第一弾であるオープンソースライブラリCBL Partial Updater をご紹介いただいた。取材は、新技術用語である Ajax についてご説明させていただいたもの。

# 本文では「データベース検索用」となっているが、データベースは無関係で、PHP 用の Ajax 開発ライブラリだ。

この記事は移転前の古いURLで公開された時のものです

  • ブックマークが新旧で分散している場合があります。
  • 移転前は現在とは文体が違い「である」調です。(参考)
  • 記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません

「オープンソースソフトウェアの作り方」がオンライン公開されている

Producing Open Source Software

副題: How to Run a Successful Free Software Project

名前の決め方からはじまり、ライセンスの選定、仕様の決め方、バージョン管理、ユーザからの意見の集め方、お金の集め方、メンバー間のコミュニケーションやプロジェクトの運営方法などを一通りまとめている。

この記事は移転前の古いURLで公開された時のものです

  • ブックマークが新旧で分散している場合があります。
  • 移転前は現在とは文体が違い「である」調です。(参考)
  • 記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません

JavaOne Tokyo 行くよ!

JavaOne Tokyo 2005

もう4年間も仕事では Java 書いてないけど、サイボウズ・ラボの Java 擁護派としてもフル参加でいくよ。よろしく。

偶然、友人がスピーカーとして来日することもわかった。Sun の Roberto Chinnici (こんな人)で、有料セッション“JTSJ004-02 Next-Generation Web Services in the Java Platform” にて JAX-WS 2.0 の解説をするようなのでこれも聴講(直接セッション概要へのリンクが張れない。SEO 的には問題ありなサイトだなあ)。楽しみだ。

この記事は移転前の古いURLで公開された時のものです

  • ブックマークが新旧で分散している場合があります。
  • 移転前は現在とは文体が違い「である」調です。(参考)
  • 記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません

Ajax や Ruby on Rails の発音

DigitalLife TV Episode 10 で、zVent のCTO 、Tyler Kovacs が Ajax と Ruby on Rails の関係を素人(でもないか)のおっさんに説明していた。(zvents についてはこちら)

梅田さんも書いてるが、全方位的に英語ができなくても、自分の専門の英単語だけ知ってれば英語圏でも仕事はできるようにはなる。「Ajax とか Prototype.js 、Scriptaculous、Dojo 」とか、個々の用語を知ってると、けっこう早口だけどもそれなりに話を追うことができる。また、それらの単語の「より本場らしい発音」も知ることができる。

これが料理の話とかテレビの話題、小粋なアメリカンジョークとかだったら、なんちゃって英会話の僕ではたぶんちゃんと理解することができないだろう。

やはり、自分の興味があること、概念を知っていることについてのリソースを探して、それを繰り返し観たり聴いたりするのが、仕事の英語を身につけるにはいいんじゃないかな。おすすめ。IT Conversation もとてもいいんだが、画像があるとリスニングが追いつかないところを画像が助けてくれることもあるので。(逆に言うと、画像を見てわかった気になってしまう危険ともいう)

また、そういう「狭いドメインの mp3 や動画」を、ウェブから簡単に探したり視聴したりできるようになっているのは、以前に比べて大きな進歩だと思う。

肝心のコーナーは、全体の 20% ぐらいから 35% ぐらいまで。(QuickTime PlugIn では時間情報が見えなかったので、大雑把で申し訳ない)

# zVent の発音はズを小さく「ズベント」らしい。快傑…

この記事は移転前の古いURLで公開された時のものです

  • ブックマークが新旧で分散している場合があります。
  • 移転前は現在とは文体が違い「である」調です。(参考)
  • 記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません

Google が OpenOffice に開発リソースを投入

via cnet

Google が、OpenOffice のための技術者を雇う予定を明らかにした。

Sun と Google の提携が発表されて一ヶ月になる。OpenOffice は Microsoft Office のオープンソース対抗であり、Google と提携した Sun は OpenOffice をベースとした StarOffice という製品を売っている。

Google は、元々、オープンソースに対してそれなりに支援をしているため、技術者を数人貼り付けてオープンソースプロジェクトに投入すること自体は目新しい動きではない。IBM をはじめどこでもやっていることだ。

OpenOffice への関与が、Ajax Office、ブラウザで動くオフィススイートを目指しているとは僕は思っていない(OpenOffice のインストーラは 80MB あり、そのロジックをウェブベースアプリケーションに持ち込むことは非常に難しいと見る)が、cnet news でも指摘されているように、OpenOffice で採用されている OpenDocument 仕様をサポートしたウェブアプリを検討している可能性はある。

その何かは、Ajax Office そのものではなく、Google の強み、インターネットによる共有や検索、を生かしたものになるのではないか。

一太郎の Open Document 対応予定も発表されたことだし、今後、Open Document という規格を軸に、ネット上のサービスとクライアント側のオフィススイートの距離が縮まっていく動きが見られるのでは。

この記事は移転前の古いURLで公開された時のものです

  • ブックマークが新旧で分散している場合があります。
  • 移転前は現在とは文体が違い「である」調です。(参考)
  • 記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません

akky's work blog