「ネタ」タグアーカイブ

ASCII TV – テキストアニメーション映画(スターウォーズep4とか)を再生するwebサーバ

オープンソースで公開された ASCII TV は、ASCII文字で構成された「映画」をターミナル上で再生できる Golang 製の http サーバです。

サンプルとして、スターウォーズ・エピソード4 (のASCII映画)をターミナルから以下のコマンドで再生できます。

$ curl https://asciitv.fr

ここで再生される19分弱のASCII版スターウォーズは、2012年に telnet で再生する ascii-telnet-server が公開された際にもデモ用に使われていたものです。もともとは、http://www.asciimation.co.nz/としてサイモン・ヤンセンさんが制作したもの。

telnet版の呼び出しは以下

$ telnet towel.blinkenlights.nl

再生の様子はこんな感じになります。

ASCII TV はスターウォーズのテキストファイルを呼び出すようになっていますが、データさえ用意して差し替えれば、他のASCII映画やアニメーションをターミナルから再生することができます。

ASCII版スターウォーズほど気合の入ったものは、ちょっと見つかりませんでしたが。

via Hacker News

ニュージーランドがない世界地図

blocks で公開されたスニペットMaps with New Zealand(ニュージーランドのある地図)は、ページの右下に常にニュージーランドを表示するというJavaScriptコードです。でもなんのために?

ニュージーランドのない地図(Maps without New Zealand on them) という名前の reddit 掲示板があり、ここではニュージーランドを描き忘れている世界地図の事例を、様々な人が報告しています。

「日本で見た」というのもいろいろと出てきます。

日本だって端っこの島国なので、仲良く両方ないケースも。

毎日のように投稿があるのがすごいですね。毎日世界のどこかで、ニュージーランドを忘れた世界地図が見つかっている。それぐらい忘れられている(笑)。

この reddit グループについてはBBCニュースも過去に取り上げています。このreddit掲示板を元ネタに、イギリスの街頭で人々に「この世界地図に欠けている国があります。さあどこでしょう?」というクイズを出す様子を伝えているのですが、とてもイギリスっぽい企画。

さらには、ニュージーランド政府自身のサイトで、存在しないページを表示しようとすると、エラーページとしてこんなのが表示されます。

「申し訳ありません。何かが足りないようです…」 一緒に表示されるのは、ニュージーランドのない世界地図…

忘れられることが多すぎるから慣れちゃっているのか、忘れられてしまうような遠くて小さな存在であることを逆に特徴として楽しんでいるのか。やたらに怒ったり抗議したりするのとは一味違う対応ですね。

via Maps Mania

人が見ていると恥ずかしがってちゃんと動かないソート関数

Lynnさん(@chordbug)がツイッターで公開したデモがこちら。

https://twitter.com/chordbug/status/1005701513719754752

「見てる時だけちゃんと動くソート関数を書いてみた」

JavaScript で書かれた sort() という関数に配列を与えて呼び出しています。

カメラに正面から顔が映っている状態では正しくソートされた結果が返ってくるのに対して、横を向いたリ顔を隠したりした状態で呼んだ時には、結果は毎回異なる適当な順番になっています。

もう一つの動画もあって、こちらは逆に「見ていると緊張して正しくソートできない」関数のデモ

https://twitter.com/chordbug/status/1005703638323429377

リプライでの質問に対して、Lynnさんはこのウェブページのソースコードを公開してくれています。

tracking.jsという人の顔を認識するライブラリのサンプルをベースに、顔が認識されている時のフラグを用意して、フラグがオンの時だけ正しくソートし、そうでない時はランダムに並べていることがわかります。

ブラウザのカメラ入力を許可し、JavaScriptコンソールで同じように sort() を呼び出すと、手元でも動かすことができました。

手近にあった顔の映った写真を使いました。仕組み上は視線の向きは関係ないので…

ブラウザ上のカメラ入力からの顔認識、こんなに手軽に使えるようになっているんですね。今回の「顔が映ってたら画面を見てることにする」というアイデアだけでなく、これまで無かったページ上のギミックが考えられそうです。

ソースコードコメント – 引継ぎ者への警告


// Dear maintainer:
//
// When I wrote this code, only god and
// I knew how it worked.
// Now, only god knows it!
//
// Once you are done trying to 'optimize' this routine,
// and have realized what a terrible mistake that was,
// please increment the following counter as a warning
// to the next guy:
//
// total_hours_wasted_here = 25


// 引き継いだ人へ:
//
// これを書いたとき、なぜこれが動くのか理解してるのは神と自分だけだった。
// そして今、知っているのは神だけだ!
//
// このコードを「最適化」 しようとし、それがどんなに愚かな間違いだったか
// 気づいたときは、下のカウンタを増やして次の担当者への警告とすること
//
// ここで_無駄にした_時間 = 25

こんなコメントの入ったコードが回ってきたら嫌だなあ。

GitHub に、このtotal_hours_wasted_here が含まれるソースコードが結構あって、書かれてる時間も1から200超までいろいろとあるようです。

via QDB and reddit

Words of Heart – 同じパスワードを使う相手を探せる出会い系サービス

Words of Heartは、新しいデート相手探しのサービスですが、一般的な同種のサービスと大きく違う点が一つあります。このサービスは、あなたと同じパスワードを使う運命の相手をピックアップして紹介してくれるのです。

「あなたの内面を表すのに、パスワードほど本質に近いものはないと信じます」と書かれていますね。たしかにパスワードはその人を表す、かもしれません???

サイトを作成したクリストフ・ザハックさん(Krzysztof Zając)は Motherboard の問い合わせに対して「冗談として思いついたけど実装したら面白いだろうと思った」と回答しています。つまりこのサービスは実際に機能し、同じパスワードを持つ相手を探してくれるわけです。

サービスはツイッターで反響を、それも予想以上の反響を呼んだため、サイトトップには「本当のパスワードは使わないでね」という注意書きが増えたそうです。

一番セキュアなプログラムは、書かないことだ

書かなければバグも出ない、は真理で、コードの量で生産性を測ることが間違ってることの何よりの証拠ですね。GitHub で公開されて大人気となっている nocodeは、そんな最高の手段を表現したソフトウェアです。

当初公開されたファイルは、以下の3つ

  • README.md
  • LICENSE (Apacheライセンス)
  • CONTRIBUTING.md (コードを含まない限り、あらゆる変更を歓迎)

ソースコードはありませんね。

その後、README にあった使い方

echo "" > /dev/null

は「Windows対応」で削除されたようです。また、Docker 対応で

"FROM scratch"

だけの Dockerfile が追加されましたが、「Docker の脆弱性の可能性を考えるとこれは追加すべきではない」という意見も出ています。

Issues がすごい

Issues に、現時点で300を超える要望が上がっています。プロジェクトへの期待の多さを感じますね。

一番人気はこれ。タイトルは「」。コメントも「」が多いです。議論が空白なことがセキュリティにつながるかわかりませんが。

他にも、「#2 PCの電源を入れないといけない (Kindle や ニンテンドーSwitch など既に多彩なプラットフォームに対応しているのでは)」「#137 MITライセンスにするべきでは? (から各種ライセンスの提案)」「#179 nocode はテストするのが非常に困難では」「#195 何もしてないのに動きません! (他にも、Ubuntuで動かない、Commodore64で動かない、IEで動かないなどのissuesも)」「#8 .gitignore でコードが混入しないようにすべき (指定は **/**)」「#80 ドキュメントが必要では? それも多言語で (トルコ語「」とブルガリア語「」が既に提案されています。日本語で書くなら「」といったあたりでしょうか)」といった多くの Issues が上がってきており、活発な議論が繰り広げられています。

via Hacker News