Skip to main content

Projects

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.



Comments

Popular posts from this blog

Tölvatech Tips for Living #1

Dealing with Plastic Bags Thin plastic bags such as produce bags or office wastebasket liners are often difficult to separate.  This is a necessary step after removing bags from a roll and before lining a wastebasket or inserting produce.  To open the bag by separating the sides of the lip, first locate the open end of the bag.  Then gently breathe moist air onto both outer surfaces of the plastic.  It will help to open your mouth wide and exhale slowly yet deeply onto the plastic.  Now use your fingers to slide the two plastic layers apart with a shearing motion.   Why does this work so well?  There are two factors.  One is that humid conditions encourage static charge to dissipate.  A second, more significant factor, is that human skin rapidly softens as humidity rises.  Your fingertips will quickly, seemingly instantly absorb moisture from the surface of the plastic.  They soften and conform to the plastic sheet, rais...

Tölvatech Tips for Living #2

Reading in the Shower Though many smartphones and tablets have some degree of water resistance, I prefer not to expose my electronics to splashes, soaps, and salty water.  For learning in the shower, I've found three successful methods: Phone in a self-sealing plastic bag. Cassette player or speaker in a disposable shopping bag. Laser-printed pages adhered to the shower walls. For (1), the touchscreen is mostly usable even with some water droplets outside the plastic bag.  For (2) I find that the thinner the bag the better for sound quality - including enough air that the bag is partially limp, partially inflated will also improve the sound.  For (3), it's essential that the pages be printed with toner, not ink.  Gently wet the pages with shower spray and then place them against a wet section of the shower wall.  They will stay attached for up to a week (for fiberglass and tile).