// Tracking cursor position in real-time without JavaScript // Demo: https://twitter.com/davywtf/status/1124146339259002881 package main import ( "fmt" "net/http" "strings" ) const W = 50 const H = 50 var ch chan string const head = `
` func main() { ch = make(chan string) http.HandleFunc("/", handler) http.ListenAndServe(":8080", nil) } func handler(w http.ResponseWriter, r *http.Request) { p := r.URL.Path if p == "/" { index(w, r) return } else if p == "/watch" { watch(w, r) return } else { if strings.HasPrefix(p, "/c") && strings.HasSuffix(p, ".png") { ch <- p[1 : len(p)-4] } } } func index(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "text/html; charset=utf-8") flusher, ok := w.(http.Flusher) if !ok { return } w.Write([]byte(head)) flusher.Flush() // Sendgrid w.Write([]byte("
\n")) for i := 0; i < H; i++ { w.Write([]byte("grid w.Write([]byte("
\n")) for i := 0; i < H; i++ { w.Write([]byte("