カテゴリー
技術

css-only-chat CSSだけで動くブラウザチャット

ケビン・クッチャさん(Kevin Kuchta)のkkuchta/css-only-chat は、JavaScript を使わない非同期ウェブチャットサーバーです。

二つ(以上)のブラウザからこのサーバに接続し、アルファベットをクリックしてメッセージを作り送信すると、同じサーバに接続した他のブラウザでも即時表示される、いわゆるブラウザチャットです。しかし面白いのは、このページで JavaScript は使われていないというところ。

送信側

CSS の :active 疑似クラスを使うことで、ある領域をクリックした際に、はじめて画像ファイルを読み込ませることができます。つまり、ボタンが押されたタイミングを画像ファイルの読み込みでサーバ側から検知できるということ。

「同じボタンが2度目押された時は(画像はもうブラウザ側にロード済なので)サーバはわからないのでは?」となりますが、たとえば “a””a” と押した時は、接続しっぱなしの状態で、元のボタンを隠し、新たに「”a”を押した」という情報を持った別の画像ファイル名を持つボタンを表示しているようです。これをすべてのボタンに対して行うことで、ボタンが持つ画像ファイルのパスが、過去のすべてのタイプ内容を保持することになります。

受信側

表示はどうやって更新してるのか、も解説されています。接続しっぱなしの状態で、これまで送った html が不要になったら、style タグを送って過去の要素を display:none で隠し、新たにページ内容を追記します。

これを、自身か他のブラウザから新たなデータが届くまで待機しながら繰り返しているということ。じゃあソースコードはとても長くなるのでは、と思って Chrome でソースを表示しようとしましたが、何も表示されません。Firefox では何千桁もある一行のソースコードを確認できました。

今のところデモサイトは用意されていないので、試すには自分で動かす必要があります。

via Hacker News

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

Gamedetect.io – ゲーム画面の画像からゲーム名を当てるサービス

GameDetect.io のフォームにビデオゲームの画面写真を与えると、JSON でそれがどのゲームに似ているかを返してくれます。

適当な画像をアップロードすると、以下のような形でゲームタイトルとそのゲームである確からしさを戻してきます。


{
"filename":"dragonquest5.jpg",
"predictions":[
{
"label":"stardew valley",
"probability":0.568226
},
{
"label":"the legend of zelda a link to the past",
"probability":0.15813187
},
{
"label":"super mario maker",
"probability":0.031073814
},
{
"label":"factorio",
"probability":0.027034273
},
{
"label":"don t starve together",
"probability":0.020903632
}
],
"speed_ms":1113
}

Tensorflow と Golang によって実装されており、学習データとしてはTwitch のゲーム配信画面をスクレイプしたものを使っています。ゲーム実況にはゲームのタイトル情報とゲーム画面があるので、これを正答として学習させ、モデルを作っているのですね。

そのような作りなので、回答で出てくる候補のゲームはTwitch で今最も多く中継されているゲームトップ100 からだけとなっています。(冒頭で試したドラクエ5 の画面では、Stardew Valley やゼルダなど画面の似ているものが出てしまっていますね。)

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

ブラウザで動くWindows 95風マインスイーパー

ブラウザで動くマインスイーパーですが、単にマインスイーパーをブラウザ上に実装するのではなく、なぜか Windows 95 を再現しそこでマインスイーパーを動かすというもの。

並んだアイコンから Minesweeper をダブルクリックしないとゲームが始まりません。

ソースコードもGitHubで公開されていて、今後はスタートメニューやウィンドウの移動、他のアプリケーションの追加など、Windows 95の再現度を上げる方向で頑張るそうです。

Windows 10 にはもうマインスイーパーは入ってないんですね。アプリとして”Microsoft Minesweeper”を無料で追加することは可能ですが、こちらはいろいろと今風に改良されたもののようです。

ブラウザを開けばあの懐かしいマインスイーパーが、Windows 95風のランチャーつきで楽しめる、ということで、ノスタルジックな需要があるのかもしれません。

via Hacker News