Bluetooth端末で動作する。(CC0 License)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>A10 Cyclone SA easy controller</title> </head> <body> <span id="status">initializing...</span> <script> let status = document.querySelector('span#status'); let device, characteristic; const connect = async _ => { try { device = await navigator.bluetooth.requestDevice({ filters: [{ services: ['40ee1111-63ec-4b7f-8ce7-712efd55b90e'] }], }); status.textContent = 'connecting...'; let server = await device.gatt.connect(); let service = await server.getPrimaryService('40ee1111-63ec-4b7f-8ce7-712efd55b90e'); characteristic = await service.getCharacteristic('40ee2222-63ec-4b7f-8ce7-712efd55b90e'); } catch (e) { status.textContent = `failed to connect: ${e.message}`; return; } document.addEventListener('pointermove', evt => { evt.preventDefault(); let y = evt.y / innerHeight * 2 - 1; let data = Math.abs(y) * 0x7f | (y < 0 ? 0x80 : 0x00); characteristic.writeValue(new Int8Array([0x01, 0x01, data])); }); status.textContent = 'swipe up and down to move'; document.removeEventListener('click', connect); } document.addEventListener('click', connect); status.textContent = 'tap screen to connect'; </script> </body> </html>
未だにネットにある情報っていうのは体系化されていないと感じる。だから、何かについて本格的に知りたいと思ったら大学に行って教授に聞くか、本を読むかになる。ただ、本を読めばそれなりの知識を得られるけれど、周りに同様の興味を持っている人間がいなければ、それについて議論できない。
知識を得る場としてはまだ発展途上のネットなわけだけど、議論する場としては有用だと思う。それは地理的にも社会的にも離れた人と出会える可能性があるから。だから、荒れない程度に礼儀をわきまえて議論をできるサービスがあれば、色々な人と知識を共有できて、学会で発表するような緊張感をネットで味わえるようになるんだと思う。
意見を表明して議論をできるサービスはいくつかある。mixiとか2chとか普通のblogとか。mixiは基本的に馴れ合いだし、本人を特定されやすいので言いたいことを言いづらい。2chは建設的な議論をする場としては殺伐としすぎてるから、ちょっと使いづらい。blogで考えたことを書くことはできるけど、検索に引っかかって読んでもらったとしてもなかなかコメントはつかない。さすがに、教えてgooとかに書くほど困ってはいない。
そんな感じで、匿名性を保ってネット上で建設的な議論を促進できるサービスはないかな、などと考えた。その点、はてな匿名ダイアリーはどんな感じなんでしょう。