Projects past present and future.
Back in grad school I was kind of photophobic and wanted very low, controlled light levels in my bedroom. I had 6 channels of independent light control, all coming from a serial port controlled power strip (from Hive76, from some nameless datacenter). I wrote a small daemon to accept commands over 0mq and write them out to the serial port. To control the lights, I generated 0mq messages from, initially, three sources, with plans to extend this.
The first two sources were at and cron jobs which would run Python scripts. They interspersed blocking and nonblocking commands to play music and turn on lights in gentle sequence.
The third source was F1-F4 on the keyboard of a small laptop placed on my way upstairs. The laptop ran a hacked version of the OLPC Moon Activity which would describe the state of lights in my room independently from the key input processing which used either TriggerHappyDaemon or keylaunch.
In 2018 I wrote a web application for printing labels. It offers the user hundreds of web fonts for label composition and can optionally print a 2D barcode on the label using the 'Barcode Writer in Pure Postscript' library translated into JavaScript. There are some features that would be nice to add. Support for a visible print queue, multiple printers, and parsing the web fonts to extract true font metric tables would all be nice to have. It might also be cool to have persistent user preferences or label history.
Maybe it would be a fun exercise to do a system design for the label printer and try to clean up the code to fit the design I come up with.
Back in grad school I was kind of photophobic and wanted very low, controlled light levels in my bedroom. I had 6 channels of independent light control, all coming from a serial port controlled power strip (from Hive76, from some nameless datacenter). I wrote a small daemon to accept commands over 0mq and write them out to the serial port. To control the lights, I generated 0mq messages from, initially, three sources, with plans to extend this.
The first two sources were at and cron jobs which would run Python scripts. They interspersed blocking and nonblocking commands to play music and turn on lights in gentle sequence.
The third source was F1-F4 on the keyboard of a small laptop placed on my way upstairs. The laptop ran a hacked version of the OLPC Moon Activity which would describe the state of lights in my room independently from the key input processing which used either TriggerHappyDaemon or keylaunch.
In 2018 I wrote a web application for printing labels. It offers the user hundreds of web fonts for label composition and can optionally print a 2D barcode on the label using the 'Barcode Writer in Pure Postscript' library translated into JavaScript. There are some features that would be nice to add. Support for a visible print queue, multiple printers, and parsing the web fonts to extract true font metric tables would all be nice to have. It might also be cool to have persistent user preferences or label history.
Maybe it would be a fun exercise to do a system design for the label printer and try to clean up the code to fit the design I come up with.
Comments
Post a Comment