Projects update
[ed. note — I'm posting some lightly revised posts I started a looong while ago but never finished/published. This likely was written sometime in mid/late-2015, and the note at the end may have been added 2016-08-27?]
My evenings for many many months now have been a blur, arriving home closer to dinner time than I should, general household catchup, running a bedtime routine for the older two boys that tends to get stretched out, and finally, not allowed to sit down by the youngest until well past everyone's bedtime. The next morning then starts a bit closer to lunch time than it should, and….
Here's a list of projects I've been neglecting, with a short summary of their status and expected potential.
Peripherals / protocols
node-nrf is a node.js driver for the nRF24 series of 2.4GHz radio transceivers. I consider this library my top priority, despite appearances to the contrary. It's getting redesigned a bit to improve usability, reliability and hopefully add support for USB-connected transceivers — possibly via node-hid, an inherited library which I also should get working a little better.
fermata is still the best way to use HTTP from JavaScript, seems to me. I've been using the "upcoming" branch for a loooong time on personal and client projects; it mostly needs another afternoon or two of decision-making and polish before I can official release that round of features (better streaming support, compatibility improvements)
Some other protocol-related experiments, like playing around with VoIP standards via sip-silliness or messing with database syncing over WebRTC in PeerPouch are still interesting to me but I don't have any specific need/reason beyond that to invest in them.
Control systems
These projects fall into roughly two categories:
- CNC router usage.
- Suburban agriculture
At the very beginning of this calendar year, I bought a "Chinese CNC" off eBay. I intend to mill circuit boards with it, as well as any woodworking or light metal work projects that may come up.
The introductory board I'm designing is a grbl-parallel adapter, which will help me run the machine from any computer with USB — perhaps an old Macbook, or even a Raspberry Pi or Chromebook. Of course, I've so far been unhappy with the software for this and built a pretty fun G-Code parser and work-in-progress preview/positioning interface under js-cnc banner.
So far the only thing actually "shipped" is SingNC, which could be improved a bit but demos nicely enough meanwhile.
Living systems
My evenings have been busy, and weekends tend to be booked with a lot of gardening and cleaning cages. Now add to that, re-planting, re-building and re-inventing everything I've done outside in the last three or four years! We've moved our family to a new house — slightly less surrounded by suburbs — and there's many other living things to find new homes for now.
For the software side of "suburban agriculture", utilities like greenhouse, breakerbreaker and rooflux had let me track and/or monitor a few of these "living systems". (I may not have much need of "rooflux", my solar inverter status display, since the new house/property has less obvious photovoltaic opportunity.)
At some point as we get settled back in with chickens, rabbits, tilapia, bsfl, crickets, bees, all the plants and whatnot, I hope to re-combine the whole stable of software to serve as needed — probably linking CNC-manufactured relay boards to HTTP sites via node-nrf. But the main item here is getting the systems themselves re-settled — and then perhaps better documented.
"Apps"
With everything mentioned above, I haven't done any tilting at bigger windmills — things like Skiffle and Metakaolin/Argyle Tiles and of course ShutterStem that want to be fully-baked "apps" for anyone to pick up and use, with elusive business models that could support the investment they would need.
It seems unlikely that I will be on stage announcing the success of these products. I am mostly okay with this, the last time I checked, which was a while ago.
I am growing more comfortable with the idea of software as a service, rather than software as salvation. [Reading entire library/internet, redoing every interface/platform]
A couple of these were bit off, I think, primarily because they were such delicious challenges. Improving the very way maps are used or photos are enjoyed, by changing the way software is built, by assembling some form of entirely new computing platform, by sheer force of will.
Well, ain't nobody got time for that!
I'm getting older, and — gratefully — staying busy earning my living on challenges like:
- we came up with some new mockups, unbeknownst to us you now need to stop looping through all the data the original way, and instead convert pretty much the whole codebase so it handles everything in an alternate fashion
- this code somebody else wrote has a subtle bug lurking deep within, can you figure out what's going on and fix it?
- not many people care about this interface, so it shouldn't take too long to design or require much implementation effort, yet hopefully it remains both secure and easy to use
- we need a little help with a platform/language/ecosystem that you may dislike, but means a lot to our company, do you have availability?