「技術」カテゴリーアーカイブ

RegexOne – 正規表現を段階的に学べるインタラクティブ・チュートリアル

RegexOneは、クイズ形式で合致する正規表現を見つけると次に進める、という形のオンラインのチュートリアルサイトです。

regexone-problem

いくつかのマッチさせるべき(MATCH)、あるいはマッチさせるべきでない(SKIP)テキストと、抜き出さないといけないテキストが提示され、それを満たすような正規表現をフィールドに書いていくと、その場でマッチした箇所が変化していきます。

regexone-finish

少しずつ違う正規表現を覚えられるように出題されていくレッスンと、それを終えた人のためのさらなる練習問題があります。

regexone-problem-1

その場の問題をしのぐために検索した正規表現を使ってそのまま、という仕事のやり方だといつか痛い目に遭うので、段階的に正規表現の基礎を身に着けたい人にはいいかもしれません。

via Hacker News

composerize – dockerコマンドラインをdocker-composeの書式に変換してくれるツール

Composerizeは、コマンドラインオプションを持ったDockerコマンドを、Docker Composeの定義ファイルの形式へ変換してくれる、というサービスです。

composerize-screenshot

Dockerコマンドのオプションを列挙してるのが docker-compose.yml なので、コマンドラインパラメーターとymlに掛かれてるものは機能的には一対一に対応してはいるんです。しかし、名前が微妙に違っているパラメーターがあって、コマンドラインで動作確認したものをComposeに移行しようとした際にエラーが出てしまい、両方のマニュアルを開きながら調べて修正、など僕も苦労してました。

Githubで公開されているソースの(コンバート部分を見れば、パラメーターの名前が微妙に違うものが多いのに気づきます)

デバッグ時には反対向きの変換ツールもあるといいかも。

via reddit

CG無しでの「バーガー落ち」の撮影が成功

「ハンバーガー落ち(Burger Drop)」という言葉があるんですね。ハンバーガーのバンズや具が空中を跳ね、おいしそうなハンバーガーが出来上がるという動きを指す言葉のようで、多くのハンバーガーチェーンのCMでこのような絵面の表現が使われてきたということ。そう言われればそんなCM、確かに見たことがあります。

落ちていく具がそんなうまくハンバーガーの形になるはずもなく、この手の映像は通常ならCGを駆使して作られるもののようです。しかし、テクノロジーを活用してCG編集無しでのハンバーガー落ち撮影を実現したのが、マイアミのキューバ系写真家のスティーブ・ジラルトさん(Steve Giralt)

彼がハンバーガー落ちを撮影するためだけに構築したシステムは、

burger-drop-ketchup-and-mustard-machine

ケチャップとマスタードを空中で美しく衝突させるための、3Dプリンタで作った発射機。

burger-drop-hanging-ingredients

バンズと具は、専用の仕掛けで重ねる順番に吊るされます。この仕掛けが横に跳ねて開き、食材を載せている紐が一瞬で横に抜き取られ、落下します。

burger-drop-robot

カメラマンは産業用のアームロボット。高速で何度でも同じ動きをできるロボットが、ジャンプする食材が一番美しくフレームに入るように動くようにプログラムされています。

burger-drop-arduino-controller

そしてそれらすべてをミリ秒レベルで制御するのが、Arduinoで作られたこのコントローラーユニット。

完成したハンバーガー落ちの動画と、そのメイキングはこちら。

仕事の合間を縫って撮影に一か月掛かったということです。CM撮影の業界については良くわかりませんが、動画のコメント欄ではさっそく「仕事の話をしたい」とコメントする人もいて、技術力があってこういう撮影ができるカメラマンには需要があるのでしょうね。

via Bored Panda

FreeSense – 部屋に居るのが誰か、無線LAN信号で特定する技術

WiFi信号の変化を使って複数の既知の人物から誰が部屋にいるのかを推測する、という技術FreeSense が発表されています。

家庭用の無線LANルーターでも、パソコンなどの無線LANクライアントとアクセスポイントがやりとりする際に、電波の通りやすさがチャネル状態情報(Channel State Information = CSI)として算出され、壁や障害物の現状に合わせてより良い通信方法が選択される(こともある)ということなのですが、このCSIを使って、人によって違う体形や部屋の中での動きのパターンを見分けることで、人物特定につなげているということです。

実験では、6メートルx5メートルの部屋に、ラップトップPCとインテルの市販のルーターを置き、9人の被験者のそれぞれにその中で過ごしてもらい、動きに対するCSIのパターンを集めたそうです。

freesense-room

その後、部屋に一人で入って同じように過ごしてもらい、集めたパターンとの類似をもってそれが誰かを判定させたところ、6人から1人を当てる場合で88.9%、2人のどちらかを当てる場合では94.5%という高い正答率が得られたということ

複数の人が同時に部屋に入ったり、既知の人ではない誰かが入ったりした際はまだまだ特定できないのだろうとは思いますが、研究が進めばもっと精度が高くなるかもしれないですね。また、市販の機器だけでここまでできるのですから、最初からこの目的で作ったセンサーや機器でも、もっと難しい条件で当てられるかもしれません。

良いことにも悪いことにも使われそうな技術ではあります。

via Motherboard

Dreambit – キーワードで写真のヘアスタイルを着せ替えできる実験サービス

Dreambitは、顔写真を加工してくれるサービス。「インド」や「1930」などといったキーワードを与えると、写真に写っている人物の髪型を「インド風」にしたり「1930年代風」に変換してくれます。

(credit: ワシントン大)
(credit: ワシントン大)

ベータアクセスは申請式ということで、とりあえず申請しましたがまだ自分で使えてはいません。髪型やファッションスタイルを表す言葉「以外」の言葉を入れてどんな髪型が出てくるか、試せると面白そうですね。

dreambit-examples

ピカード船長!

デモの動画はこちら。

同じ助教のチームは、2014年に「写真の人が歳を取ったらどんな顔になるか」という画像処理研究を発表しています。

(credit: ワシントン大)
(credit: ワシントン大)

本人の特徴さえ残っていれば、証明写真や記念写真の中の髪型や服装は、後で好きに変更できる、というような時代が来るのかもしれませんね。

さらに研究が進めば、動画の中の人の髪型なども自由に変更できるようになったりするかもしれません。古い映画を現代のファッションで自動リメイクする、といったことも起こるかも。

via Futurity

PDFで作られたブロック崩し

pdfファイルといえば様々な環境でなるべく同じに見えるようにレイアウトを固定した文書を配る時のフォーマットだと思いますが、そのpdf形式で作られたブロック崩しゲームが公開されました。

breakout.pdf
(Chromeブラウザでのみ動作)

画面下の青い部分でマウスを動かすと、自機を左右に動かすことができます。

pdf-breakout

Omar Rizwanさんによるソースコードおよび解説によると、PDFは仕様上はFlashやら音声やら動画やらJavaScriptやら、いろんなものを内蔵できるようになっているのだそうです。

ただ、ほとんどのPDFビューワーでは、そういった本流でない部分の仕様は実装していません。しかし、Chromeブラウザ内蔵のpdfビューワーでは、pdfがサポートしているJavaScriptの仕様のうちのいくつかが実装されているそうです。pdfからJavaScriptを呼び出せるというブログを見たRizwanさんは、使えるAPIだけを使って、ブロック崩しゲームを実装してしまった、というわけです。

このChrome pdfビューワの実装においても、データベースに接続するとか、接続されたモニターを検出するとか、外部リソースにアクセスするとか、そういったほとんどの機能は「サポートしない」となっていて、pdfの内部で計算をすることはできても、外部とのやりとりをする手段の多くは使えないのだとか。

この限定されたAPIから、テキストの背景色を動的に変えることはできないけれど、その枠の大きさと枠のスタイルは変えられる、ということで、ブロックの表示・非表示を制御したそうです。

また、マウスの正確な位置を検出する手段はないけれど、PDF作成時に配置したフィールドへのマウスカーソルの出入りは検出できるということで、これを使ってマウスの場所を取得しているそうです。

フィールドも後で追加することはできず、PDFに最初から持たせておく必要があるそうで、自機、ブロック、ボール、得点、残機のそれぞれを、大量のフィールドとしてPDF上に配置するスクリプトを書き、それでゲーム画面のPDFを生成させているということ。

Chromeブラウザ上のpdfビューワは、もともとGoogleがFoxitから買い取ったpdfビューワーを基にしたものらしいということで、Foxitの時代にその顧客がこの小さなJavaScriptセットを使っていたのではないか、とRizwanさんは推測しています。

via TheNextWeb