谢伊·埃里森的博客 - 程序员想要流畅。编程时,灯变红

  • Posted Date: 2024-12-12
  • FlowLight Construction: Built based on reading Reducing Interruptions at Work: A Large-Scale Field Study of FlowLight. Aim is to detect if a programmer is in flow by seeing if they're typing in their editor.
  • Emacs and MagTag: Use Emacs and a MagTag board from AdaFruit with its built-in NeoPixel Strip. Track activity through keypresses and mouse clicks (initially) or entirely inside Emacs. Idle timers wait 10 seconds and append (now,seconds-of-idle-time) to a list. Another timer runs every 60 seconds to calculate status and remove old elements.
  • LEDs and CircuitPython: MagTag runs CircuitPython and can run an HTTP server. Hooked a webserver endpoint to LED colors and e-ink text. Added support for multicast DNS. Core code includes endpoints for BUSY or FREE status with corresponding LED and text changes.
  • Improvements: Consider hooking into every keypress instead of using timers. Wanted a sparkline but no suitable board. Wanted to use Matrix Portal S3 but it's out of stock. Ignored per-minute buckets and smoothing from the original paper.
  • Credits: Got emacs timer stuff from discussions with Reed Mullanix and Kragen Sitaker. Chris Corley told about the FlowLight paper.
  • Notes: Started with AdaFruit's FunHouse Board but had issues. MagTag has a case with an attached battery and magnet feet. Suggested Memento camera or AdaFruit Feather boards for running the code.
阅读 0
0 条评论