水曜日, 12月 31, 2014

2014年とインターネット

2013年の5月から2014年の3月末まではゲーム会社にいて、一度インターネットから結構離脱してしまっていたので、何か決定的に以前と付き合い方が変わってしまった気がしている。なのであまり新しいサービスを使ったりした印象はないけど、よく見ていたものや、印象に残ったものを定点観測的に。

リベンジポルノやバイラルメディア、クソリプなどなどにより、好きだったインターネットは最早地獄と化していて、かつて掲示板で言い合った匿名の人達ですら仲間だったんじゃないかと思うくらいに断絶がある。

YouTuberとかVinerは本当に全然知らない土地を発見した感じだった。

ニュース

  • Zite 機械学習でニュースを配信。Flipboardに買収された。
  • Product Hunt アプリケーションとかサービスの紹介。
  • The Morning News これのフィードがテキストリンクのみで好み。

視覚芸術

  • Toru Izumida デスクトップとかインターネットをモチーフとして使いつつも、チープな感じにならず構成に驚きがあって印象に残った。
  • Instagram 主に海外デザイナーとアイドルと友達(の子供)を見ていた。海外デザイナーは沢山作ってるものやお洒落な場所を投稿している。食べ物はほとんどない。
  • Tumblr 今年も間違いなかった。ダッシュボード全体が切り替わるプロモーションなど、安易なバナーや無駄なページの挟み込みとは異なる発想で広告のあり方を実験している。グッズもいい感じ。
  • Trend List 今ってこんな感じなんだなという感じはする。

勉強

  • Safari Books Online 最高だった。書籍を横断して同じテーマを集中的に調べることができるのは本当に助かる。マニュアル通りに動かした程度の情報が溢れかえっている今、一歩踏み込んで体系的に技術を調べるには最適だと思う。Processing関連の本も結構ある。
  • tuts+ デザイン、イラストレーション、プログラミングからビジネスまで幅広く学べる。初めはアプリケーションの使いこなし方が主だったけど、コンピュータに限らない表現や基礎的な理論も増えてきている。
  • Khan Academy コンピュータサイエンスと数学の勉強に使ってる。ゲーミフィケーションがうまく1週間に1回は必ずやってる。
  • Udacity コンピュータサイエンス、デザイン思考の授業を取った。Unityとかゲームプログラミングのコースもある。
  • Lumosity 神経科学を元にした脳を鍛えるゲーム。睡眠時間が短いと明らかに成績が悪くなるのでやっぱり寝た方が良いということが分かった。ゲームは成績に影響するので楽しくやれるというよりかはストレスが溜まる。

音楽

  • 8tracks 人力と機械学習の組み合わせがいい感じ。知らなかった昔の名曲を知ることが多い。UIも好み。
  • Soundcloud 新しいものが聴きたくなったら。
  • Mixcloud UIが結構好みで、友達のmixを聴くのに重宝した。Tracklistの仕組みも素晴らしい。

月曜日, 10月 13, 2014

自撮り文化とアプリケーションについて

PHOTO SPOT PARTYのシステムを開発している時に気付いたのだけど、Instagramはフロントカメラで撮影した画像を正像にしない。

Camera.appとPhoto Boothは、撮影時はモニターに鏡のように反転した映像(鏡像)を表示しているのだが、シャッターを押して保存された画像は通常の「カメラから見た」像(正像)となっている。自撮り文化の元祖とも言われるプリント倶楽部もそうだ。

しかしInstagramでフロントカメラを使用して撮影すると、反転したままの画像を保存し、アップロードする。これにはかなり衝撃を受けた。

僕自身は自撮りをしないし周りの人もしないので全く知らなかったのだが、かつてフロントカメラの性能が低かった頃は、わざわざメインのカメラで鏡越しに映る自分を撮影していたらしい。そこには良い画質で自分を写したいという欲求もあるのだろうが、普段見慣れていて、自分が思う自分のイメージに近い像を撮影できるという利点もあるように思う。

実際Photo Boothで撮影した画像や、他人に撮影された自分の画像を見ると、「何か違う」印象を受ける。

Instagramのアプリケーションの設計者は「他人からどう見えるか」よりも、「自分からどう見えるか」に重きを置いた心理に気付き、自らの目線を一度通過した、いつも自分が見ている「鏡の中の自分」を撮影し、拡散できるようにしたのではないだろうか。

当然ながら鑑賞者が見る画像も、カメラではなく「撮影者(自分)から見た」像である。これはセルフポートレートとも違った視線の構造であり、写真論などでも考察に値する事柄ではないかと思う。何かそれっぽいのあったら教えてください。

木曜日, 10月 02, 2014

livedoorReaderが終了するらしいのでFastladderを入れた

(2015/02/08に動作手順を更新しています)

残念ながらlivedoorReaderが12/25で終了となってしまった。livedoorReaderがいかに素晴らしかったかはこちらの記事に詳しいが、それまで厳選したフィードを読んで満足していた自分に「不必要なくらい沢山のフィードを登録してみる」という真逆の体験を可能にし、世界を広げてくれたツールとして、思い出深いサービスだった。当時ユーザーインターフェースについて論文を書いたりしていたが、レスポンスの速さが使い勝手や発想を大きく変えてくれることもあるのだなあと衝撃を受けた。同時期にTumblrのカスタマイズなど、スクリプトでの拡張が盛んに行われていたのもプログラミングやエンジニア文化に興味を持つきっかけとなった(後で知ったことだがlivedoorReaderの大半のユーザーはあの便利なキーボードショートカットではなくマウスを使っていたとのこと)。

近年ではソーシャルグラフや人工知能、キュレーションメディアのおかげで大抵のニュースはカバーできるようになってはいる。しかしどうしてもそこからこぼれ落ちるものはあり、さらにそのこぼれ落ちるものこそを見たいというのがインターネットを使う理由だったりするので、やはりRSSリーダーは使おうと思い、以前UIの調査用に作っておいたFeedlyにデータをimportしようとした。が、エラーが出てスムーズに移行出来そうになかったのでオープンソースのFastladderを使ってみることにした。

公式サイトでホストされているものはRubyのバージョンが古かったりしてあんまり動かしたくない感じだったので、githubにforkされているものにした。
https://github.com/fastladder/fastladder

まず、config/database.ymlを作る必要がある。これはconfig/database.yml.mysqlかconfig/database.yml.sqlite3のいずれかをコピーしてconfig/database.ymlにすればよい。僕はsqlite3にした。

cp config/database.yml.sqlite3 config/database.yml

それからBundlerで依存するgemをインストールする。

bundle install

データベースを作成してマイグレートする。

bundle exec rake db:create db:migrate

セットアップファイルを作成する。

bundle exec rake setup

クローラーとWebを起動する。

foreman start

localhost:5000にアクセスし、アカウントを作成。SettingsからImportをクリックしてOPMLをアップロードすればlivedoorReaderで購読していたフィードを移行できる。

livedoorReaderの開発者の皆様、長い間ありがとうございました。Live Dwango Readerの開発者の皆様、よろしくお願いします。

日曜日, 9月 21, 2014

Processingでアプリケーションを作る際に知っておくと便利なコード

ホームディレクトリのパスを取得

Processingでアプリケーションとして書き出す際に、リソースを後で差し替えたかったり、dataフォルダ以外に置きたい場合があります。ProcessingというよりはJavaのAPIですが、
System.getProperty("user.home")
でユーザのホームディレクトリの絶対パスが取得できます。例えば、
import java.io.*;
File movieFolder = new File(System.getProperty("user.home") + "/movies");
File[] movieFiles = movieFolder.listFiles(getFileExtensionFilter(".mp4"));

とすると、ホームディレクトリ以下に置いたmoviesフォルダ内にある.mp4ファイルを取得できます。.mp4を他の拡張子に変えれば他の拡張子も取得可能です。

スライドショー機能で使った画像のフェードイン・アウトのサンプルコード

地味にProcessingで画像がフェードイン・アウトする処理を書いたのは初めてでした。tint()を使うとできます。
fadeInOut.pde

これらは現在『六甲ミーツ・アート 芸術散歩』で展示中のNadegata Instant Partyの作品の自動撮影システムに活かされています。撮影された画像は自動でTumblrにアップロードされるのですが、開発の期間が限られていたため、IFTTTのDropbox連携を使いました。
PHOTO SPOT PARTY

土曜日, 9月 20, 2014

Varying Vagrant VagrantsでWordpressのテーマ開発

Varying Vagrant VagrantsはWordpress開発に焦点を当てたVagrantの設定とのこと。Vagrantというのは仮想マシン上で開発環境を構築するツール。 https://github.com/Varying-Vagrant-Vagrants/VVV

  1. VirtualBox入れる
  2. Vagrant入れる。プラグインも入れておく。
  3. Varying Vagrant Vagrantsをvagrant-localというフォルダにcloneする。
  4. Vagrantfileに
    config.vm.synced_folder "テーマフォルダのパス","/srv/www/wordpress-default/wp-content/themes/テーマフォルダ名"
    を追加する。これでテーマはホストOS側でバージョン管理しつつゲストOS上で動かせる。

タイミング悪くvagrant upしてもwordpress_defaultにデータが落ちてこなかったので手動で置いた。今は直っているみたいだけど、そういうこともある。

vagrant up
と入力するだけでUbuntu上にWordpressとかMySQLとかphpMyAdminとかその他色々入れて起動してくれるので、ブラウザからhttp://vvv.dev/にアクセスすると開発環境が確認できる。

Vagrantについてはドットインストールの講義が分かりやすかった。