Programmer since childhood and advocate of learning machine language as the phonics of higher level languages. One-time dial-up MUD wizard using ed, now equally disenchanted with both vi and emacs. Did my stint as a Web developer in the 90s, now do my own things. Favorite languages: Elixir/Erlang, Lua, PostScript, LPC. Perl is my old standby, but Python is growing on me.
Co-host a monthly community crafts event for my housing co-op. Full of ideas, and love a good brainstorming session. Enjoy sharing a space where creative folk are doing creative things.
Collapsed by default.
- 1 TOC
- 2 Projects
- 3 Nesting
- 3.1 Makerspace Improvements
- 3.2 Roommate Tech Consult
- 3.3 Paperwork Backlog
- 3.4 DIY
- 3.5 Technology
- 3.6 Audio Computing
- 3.7 Miscellaneous
- 4 Writing
- 4.1 Makerspace Dashboard
- 4.2 Media Library Consolidation
- 4.3 Tellurium Toolchain
- 4.4 Marketing/Program Development
- 4.5 Mashup RPG Sourcebook
- 4.6 Programming
- 4.7 Development
- 4.8 Aspirational
- 5 Fabricating
Working on projects in three different general categories, described below, with projects listed roughly in order or priority within each category.
Various DIY/smarthome and other projects about (or related to) the domicile.
In addition to continuing work on the dashboard (see next column), I may also be, just possibly, recording some voice clips for Hack Manhattan's telephony project, previously seen at the Figment festival and soon to appear at the upcoming Maker Faire.
Roommate Tech Consult
Working with roommate on some time-sensitive tasks. Finished:
Have been sorely derelict on a heap of household and client bookkeeping and filing, while immersed in other recent making projects. This includes scheduling of long-overdue appointments and restocking our household pantry. Hoping to power through this stack in
This also includes working with my roommate on several longer-term projects: charitable giving analysis, organizing teaching materials filing system, substitute teaching go pack strategy, and prepping unique favor packs for next Halloween.
Dashboard Door Buzzer Integration
Wanting to wire a single-board device in to the building intercom system to detect the door buzzer. This will allow us to use the dashboard real-estate for other displays than the door camera, while still switching back to the camera swiftly when someone is buzzing for entry.
Various small and large projects have been waiting in the wings, including: repair of a glitchy flat-screen monitor, darning/patching bedsheets, retouching nylon on dishwasher racks, repairing vinyl floor in kitchen, securing a shoe holder mount, and arranging for replacement of our bathroom sink faucet.
The last of these is a dependency for the storage tower installation discussed below. Also on this list is refurbishing an old hammer drill — the chuck no longer holds bits reliably, but seems reticent to be removed, suggesting that the drill will need disassembly and cleaning before it is back in serviceable working order.
Once repairs are out of the way, a number of household storage projects are on the agenda, including: a corner bar for hanging clothes, custom-fitting a storage tower in our bathroom, hanging rack shelving in our kitchen, and [when a certain neighborhood retailer holds their annual shelving sale] erecting shelving for crafts storage. (Donations to our monthly co-op crafts event have left us sorely in need of a place to keep all the materials.)
The bathroom storage tower project is going to involve cutting and reinforcing an existing piece of furniture to accommodate some rather inconveniently positioned hot and cold water-control valves protruding from the wall. In anticipation of this, I've also planned out a system for erecting a quick-assembly dust tent in our hallway.
Custom Craft Material Dollies
Our community crafts group has accumulated more donations than could every easily fit in our existing carts. We've resorted to lugging surplus around in oversize retail shopping bags. Moreover, the carts we do have aren't for outdoors use. They're fine for moving materials from our apartment to the community room the same building, but if we want (or need) to set up for an event in another building, the casters are not equipped for even well-maintained sidewalks, and we tend to see drawers slide open or and containers slide off shelves and topple to the ground as we trundle along on sloped grades. Finally, we've got some craft materials, namely yarn, fabrics and collage materials, that really need to be in larger containers that display their contents in an inviting way without having to unpack and repack those materials for each session.
Thus, there are three goals. First, to design a pair of dollies with custom, quick-assemble cage frameworks. The idea is that our existing craft carts could be lifted onto the dollies, providing heavy duty casters to get around outdoors, and then hemmed in by bars or slats that would keep drawers and shelf contents secure pending arrival at a destination. Providing for cover against rain or other weather would be a bonus. Second, to design a similar dolly for stacking larger containers than we currently aren't using, but would serve for bulk craft materials. Third, to design containers for bulk craft materials that quickly deploy as inviting displays of those same materials on site.
Data Processing Tower
The Tellurium project is proving very CPU-intensive. Generating a batch of 99 one-of-a-kind bespoke handbills easily takes six hours for my current computer to generate, plus another hour of post-processing, and then two hours of printer time. Further, the new toolchain (once gdp spelunking resolves current segfaults) will rely heavily on NLP processing, where parsing for word counts is already proving computation intensive.
Going to explore building out a custom box to handle chugging through these processes. In addition to building the toolchain to leverage multi-threading and multi-process techniques, as appropriate, am also considering the possibility of pushing some computations to GPU. The actual assembly of each word cloud (placing objects on a two-dimensional field) seems especially suited to GPU-based computation. This, of course, would require learning something about GPU-based solutions and figuring out what libraries exist or could be rewritten for GPU before specing out the new machine build.
The various electronic components on the table-level of my IKEA-built standing desk have become an unmanageable tangle. The plan is to build a pair of LackRack component mounts under the standing desk and transfer various Ethernet and power connected devices thereto. As part of this process, will build out a heat ducting system to channel air from below the desk to the intake vent of the convector a few feet away — taking advantage of the chiller cooled pipes that feed the convector in the summer.
Also want to run Ethernet to the back of our apartment, rather than rely on spotty performance of EoP extender currently in use. This will support the development of audio notification relays planned throughout the apartment for telephony and other applications listed below. Also, gonna set up a Pi as a wifi router for our wifi-only printer, as it has become a nuisance rebooting the main router every time the printer loses connectivity with the network.
Intending to replace current lighting fixtures with programmable smart bulbs and a custom driver that will adjust the level of blue light throughout the day, in accordance with my 2nd/graveyard-shift work cycle. This includes the appliance bulb in the refrigerator, so that one isn't treated to a blast of bright white light when scrounging a "midnight" snack. Also part of this project will be running motion-detector activated red LEDs along the hallways, to allow my roommate to get around early morning without disturbing my sleep by flipping on room lighting.
The first step will be to set up a dedicated console-cable managed wifi router and management hub that will allow for control of smart bulbs without exposing those devices to the Internet.
Various writing projects: prose, copyediting and programming — together with related technical tasks.
On the back wall of our space is a large-screen monitor hooked up to a Chromecast. When not displaying video content, the Chromecast is usually rigged to display an HTML page providing various useful information for our community. This includes a camera feed of the building front door, a listing of upcoming events on our Meetup page, and a feed of recent posts to one of our Slack channels. A similar dashboard appears over the intercom by the machine shop.
That said, the source files hacked up in the past few days are just that, hacks. They're ugly and experimental and will hurt the eyes and brains of anyone accustomed to the regimented, framework-heavy best practices of contemporary Web design. Hic sunt dracones.
Media Library Consolidation
Have mostly finished migration of a 2 terabyte podcast media library to a dedicated RAID. Still need to fully retire the prior Windows 7 machine, and set up some automation to auto-provision Windows 7 virtual machine.
Have set up an Orange Pi Zero as usbip host, and have a usbmon script that displays an indicator of two way traffic. This is currently being printed to console, but will eventually drive an LED array. Progress continues on libgpod script to post-process the iPod database, after each sync, adding a custom playlist that collates and staggers tracks from existing playlists.
Parallel to this, am refurbishing an iPod Classic to use SD cards in place of HDD. At some point, may also print an oversize custom chassis for the Classic, incorporating a speaker as alternative to headphone listening.
Tellurium is the name of the project for generation of the bespoke, each-one-of-a-kind, design-masked word clouds used in current Hack Manhattan handbills and tear-off-ticket flyers, and also the name given to the bramble hosting the tools for same. Currently a lash-up of perl, python and bash scripts, and involving a lot manual steps from cloud sculpting to proper alignment for paper-cutter-ready double-sided printing, the process of creating these materials had become profoundly time and resource intensive.
I've been retooling the production process to provide a screen-able console application for crawling and intelligently caching the cloud crawl process and to automate the assembly of properly-aligned PDF files for printing. However, my decision to use ncurses for the console (simply because I've never developed an ncurses application before) has hit a bit of a snag: Python is now segfaulting on refresh (or, more properly, noutrefresh) calls after a SIGWINCH. Gonna have to do some gdb spelunking to figure out why.
On a related note: Current feedback is that the salient text on current flyers and handbills is confusing, leaving uninformed readers uncertain as to what the materials are even for. So, going to need to do a full rewrite of the salient text copy.
Have been promising a full marketing analysis of Hack Manhattan, including a membership recruitment strategy proposal, since late last year. Tellurium was meant to be low-hanging fruit, but it's really become a major diversion, so the more esoteric tasks of founder interviews and SWOT analyses are on indefinite hold, for now. In the meantime, I'm continuing to refine handbills/flyers absent a finished toolchain and regularly cross-posting HM's Meetup events to Spingo — the backend for the community calendar used by local newspapers and other media entities.
Related to this, am wanting at some point to put together a Maker-themed museum exhibit/convention event series to draw out those on our Meetup mailing list who, while interested in the IDEA of making, haven't yet been inclined to get move involved in the Hack Manhattan community absent the sort of go-someplace-and-do-a-thing cultural activities more commonly seen on Meetup groups. Oh, and I still want to brainstorm a proposal for HM to apply to the next eWaste residency offered by the LES Ecology Center.
Mashup RPG Sourcebook
My favorite of all time tabletop RPG is a Heideggerian-thrownness of a genre-mashup called TORG. The game was recently updated and released with a new streamlined ruleset following a successful Kickstarter campaign. At some point, other projects allowing, I may even organize a group of dedicated gamers to play a camapaign or two of TORG.
However, having spent some time playing both World of Darkness systems in my younger years, I've also become fascinated with a cross-over between the two systems, and so have started drafting a sourcebook that would allow for crossover campaigns. My intention is to provide a meta-framework that will allow Storyteller-Gamemasters to mix and match the rule sets and settings of both games during the course of a campaign or even a single gaming session.
This is where my task list for this project currently stands:
First-class EC Projects
Social Propinquity Architecture
Federated Social Propinquity
Stuff I want to do with 3d printing and other miscellaneous hands-on making.
Learning the ins and outs of 3d modeling in OpenSCAD, and getting familiar with the mechanical properties of PLA and the annealing process. Recent models printed include:
Planned simple models include:
Gonna tool around with printing modifications for our Creality CR-10 printer. First up: a camera mount for our Tecknet USB camera. (Bolts and nuts required for assembly are on order.)
Also want to do some performance tuning on the Pi currently serving OctoPrint. In particular, trying to identify and resolve the system's habit of hanging on cancelling a job, necessitating reboot of both the CR-10 and the Pi.
Classic Ipod Relay Dock
As part of consolidating my podcast media library, am designing a custom case for the Orange Pi Zero that will be acting as a usbip host and libgpod service. The case will include a dock that will fit my iPod Classic snuggly while in its case and an LED panel to indicate USB traffic.
I may also want to incorporate a speaker into the design, but I'm not sure about that yet.
Replica Hose Cock Key
A hose cock is a faucet found on the exterior of a building. Rather than a handle, the cock is keyed so that it can't readily be turned on by any passing stranger. Currently exploring replicating such a key to provide a backup. Have printed a version in PLA which I intend to anneal. (Need to calibrate the toaster oven at home first.) Plan to explore other filament materials and/or on-demand fab options once I've exhausted the possibilities of annealing.
Our current brochure holder is a Thingiverse design. The companion sticker holder and tear-off ticket holder are both scaled versions of same, and suffer from the fact that the original design wasn't meant to shrink. My plan is to develop a custom brochure holder with a two-color stencil-inset of the Hack Manhattan tower logo for its back, together with an integrated sticker holder. Beyond this, the final design will be wind-proof (so that handbills won't go walkabout when displayed at outdoor fairs/festivals) and provide some modicum of rain protection (will likely incorporate some transparent PLA), in addition to providing for an optional tripod mount.
The first step will be to develop the stencil-inset component and figure out a snap-in-place mechanism for loading a stencil-inset back into the brochure holder assembly. Planning to refine the stencil inset process by creating some custom curb-your-dogs signage for a client's sidewalk tree-pit.
The idea is simple: use a handful of cheap 7" tablets to present basic information about Hack Manhattan, a RatPark tenants' event calendar, demonstration of the HM camera, quick sign-up for the Slack and Blabber, and even an interests questionnaire that would serve to introduce visitors to the breadth of possibilities that Hack Manhattan has to offer, as a space and as a community.
The first task: making it easy to charge and store these tablets, such that no one has to fiddle with USB connectors every time the devices are picked up and put down. For this, planning on using inductive charging loops and creating a simple case and docking cradle arrangement to ensure proper alignment. The cradle will also allow for wall mounting tablets so that they are out of the way yet readily accessible, serving as digital picture-frame style slideshow when not in use.
Going to first get my feet wet with inductive power and custom case design fashioning a recharging dock arrangement for a pair of bluetooth earbuds.
A few minor projects to be tackled:
Raspi Terminal Hub
My dream is to have a hip-mounted Raspberry Pi with an Adafruit-design HUD and a chording keyboard for terminal and input, respectively. The goal being to do much of my writing/programming while walking Hudson River Park, rather than sitting at a table or shifting my weight from foot to foot at my standing desk at home.
The first task is to learn to use a chording keyboard. Practicing on a Twiddler model last year, was up to about 40 wpm on 6 letters (~30 wpm with seventh letter) before setting this aside for a time to dive into other projects. Am wanting also to improve on the Twiddler strap (currently a velcro strip that is serviceable but not ideal) and doing something about how noisily clicky the keyboard keys are.
Related to this, want to set up a Rasbian image distribution mirror, if only so I don't have to wait for downloads for my own projects.
Other Design Projects