カテゴリー
バグ

Apple製品でだけ違う表示にできる PNG ファイル

PNG Parser Differential では、Apple のデバイスでだけ異なって表示される不思議な PNG ファイルが公開されています。

Windows + Chrome で見た同ページ

iPad + Safari で見た全く同じページ (Chrome でも同じ)

PNG の表示結果がまったく違い、”Hello World” が “Hello Apple” になっています。不思議ですね。

デビット・ブキャナン氏(David Buchanan)は、マルチスレッド対応のPNGデコーダを自作しようとしている時に、自分が作りこんだバグに気づいたということ。それは、一つのPNGファイルを分割してそれぞれを個別にzlibでデコードしたものを単純に結合しても、必ずしも元の画像に戻らないことに起因するバグだでした。リンク先には PoC のコードがあります。

もし分割の前半部分が非圧縮ブロックの途中であった場合に、単純結合では本来の画像が復元されないという問題が起こるそうなのですが、そうすると PNG を小分けにしてデコードしようとしない限りこのバグを作りこむことはなさそうです。

そして、この問題をさらに調べたブキャナン氏は Apple のデコーダーにも同じバグがあるらしいと気づいたわけですね。Apple のデコーダはマルチスレッドで PNG データを分割デコードしているようです。おそらくパフォーマンスを稼ぐため。そこには iDOT というApple 独自のチャンクタイプも絡んでくるらしいのですが、とにかく、前記のような条件を満たす PNG を人工的に作ることで、Apple デバイス上のレンダリングでは違う解釈をさせることができるというのが、冒頭の不思議な PNG ファイルというわけです。

そのうち修正されるのだろうとは思いますが、これまでもバグを指摘していた人たちはいるようです。このバグをわざと使って何かする人とかでてきますかね。

via Hacker News

カテゴリー
ネットのサービス

このスニーカーは存在しない – 機械学習で自動生成されたスニーカー画像

This sneaker does not exist(このスニーカーは存在しない) は、機械学習で生成された実在しないスニーカーの画像を大量に作ってくれるwebサービスです。

実在しない人物の顔写真を作るThisPersonDoesNotExist.com や存在しないアニメ女性キャラクター(俺の嫁)を合成するwww.ThisWaifuDoesNotExist.netなど、敵対的生成ネットワーク(GAN)を利用した同種のサービスの一つで、このサイトでは5000種類の生成したスニーカーを並べていて、今後も元となるスタイルを増やすことでさらに多くのスニーカーデザインを追加する予定だそうです。

生成されたスニーカーを選び、”futuristic(革新的)”、”creativity(創造的要素)”、色の明暗のスライダーをいじることで、さらに多少のカスタマイズを行うこともできます。

新しいスニーカーをデザインする人がインスピレーションを得るために使えるか、ここで生成されたデザインをそのまま実際に作って販売する商売を立ち上げるか(といっても、ベースとなるスニーカー画像を参考にしてるので結果的に盗作になるケースは避けないと)、などの用途が考えられるでしょうか。

via Hacker News

カテゴリー
ネットのサービス

PhotoChrome – 言葉からカラーパレットを作ってくれるサービス

単語を入れると、単語に関連した色からカラーパレットを作るというサービスが PhotoChrome です。

入力した単語から Unsplash の API で単語に関連した無料利用可能な画像を検索します。

写真の中から抽出した色を取り出して5色のパレットを作る、これだけでもまあいいかと思いますが、サービスは単語に関連する多数の画像をごちゃごちゃに混ぜ合わせ(smash)、混ぜた画像から5色を取り、明度を明るい物から暗いものまで調整してカラーパレットを出してくれます。

混ぜたほうがぼんやりしたパレットになることも多いように思えますが。

色の選択に行き詰って、新しいヒントが欲しいときに使うといいかもしれません。

via FlowingData