Marc Dougherty

⚒ ⚙ ⛵

Blog Posts

Building Debian packages for my own use.


I’ve been a debian/ubuntu user for years, but had always been intimidated by the packaging process (because i tried to read the New Maintainer’s Guide). I decided to give it a shot recently, because I was building experimental software for the raspberry pi, and grew tired for scp and rsync.

Vim and Arduino


TL;DR - I made a vim compiler plugin for arduino that parses errors into the quickfix list, and learned a bunch about the quickfix list and compiler plugins.

Bluetooth Part 1


I’ve recently become interested in bluetooth, specifically web-bluetooth, which is newly enabled in most chrome/firefox/opera browsers. It allows a web app (javascript) to interact with bluetooth devices near the web browser. Combine this with eddystone beacons and the bluetooth device is advertising a URL that links a user directly to an app to interact with the device.

Thermal Receipt printer experiments


I did not really need a thermal receipt printer, but i bought one anyway. Then i tried to make it useful.

Internet Volume Control


The Internet can be a very distracting place sometimes. There are so many sites (particularly social media) that demand our attention, and let us mindlessly scroll through photos and status updates, when we really want to be doing something else.



Inspired by the Amazon Dash-style esp8266 IoT button, I built a button my distant family could use to request a refill of my home-made jam (though it could be used for anything). To keep with the theme, i built the whole thing to fit in a standard 8oz jam jar.

Muni Displays


San Francisco’s Muni trains are not well known for their ability to be on time. Recent sfmta data shows a ~60% on-time rate (where “on-time” includes arriving anywhere between 1 minute before to 4 minutes after the intended time). Fortunately, they provide real-time arrival estimates with the Next Bus service. While the QuickMuni app does a great job of displaying this on my phone, I wanted to build a more “ambient” display, to help me decide when to leave in the morning.