First jump into the deep end with Linux, and almost lighting my house on fire.
I was in early middle school while trying to recreate "JARVIS" with what little help I could find online after watching Iron Man 2.
I was going for Tony Stark back then, but Phony Stark accurately describes how this system worked.
The project used broken and mangled bits of various pieces of software to use voice recognition and wifi/bluetooth scanning on a Mac OSX server. The bt/wf scanning just sat as a service on the Mac box and pinged around for local BT devices based on a dongles input, and look for arp table changes of known users.
This server would then, based on those parameters, send commands to a pathetically old – piece of garbage – Dell Dimension box that ran (for years) a stripped down CentOS with 5 nines of availability. I think only Hurricane Sandy or Irene took this thing offline. I still own "AppleScript for Dummies" which got me through several problems and painstaking development cycles throughout this project.
Heyu was running on CentOS which would direct the incoming commands to the appropriate bash script to automate x10 home automation stuff, run API calls and output the spoken word via an open source text-to-voice from IBM (just a few years pre-Watson). All of this was a heavy lift since most of the repos were broken or meant for Debian. Years of in-a-cave style learning CentOS.
My grandparents weren't so enthused when the x10 light switches were sparking after I had swapped them out on the sly for my project, but luckily it was deemed a product defect and not my own incompetence that was at fault then and nothing more than a few brick-sized beads of sweat were lost.
Mac Mini: Voice Input/Recognition, BT scanning, Wifi scanning, sending commands to a CentOS box
CentOS box: Voice Output, home automation controller, API service, email/facebook/communication services
Windows box: Media library transcoder and streaming host with the VLC C# library way back when (2013 I think)
I had the CentOS box queueing downloads of data (I was a bit of a data hoarder) and running the filesystem for my early days of streaming projects which I'll post about in another entry.
In addition to that, before closing up shop on this when my reliable CentOS machine died only weeks before my mac mini as if they were metaphorically old and meant to go together as I ended high school, I had National Weather Service weather scraping into a custom SOAP API (yeah..sigh) that would then read out weather or relevant world info when I was coming or leaving.
I was heavily interested in the stock market from the time I was 14 to 18, and the vocal delivery of specific information I wanted via APIs was the original goal of this.
As it ended, I had JARVIS enhancing most of my life before I graduated high school, then the machines kicked it, and I was off onto the next chapters of my life.
Without knowing it, I had invented a personal smart-home automation platform in the early 2010s.
Reflections from present Mike:
If I could go back and had an adequate budget in 2010-2015, I'd still do the Mac OSX and Linux configuration but I'd make it highly available or have beefier nodes in general since I ran into latency issues and lag when I started doing more intensive things like media management or transcoding.
I used to code, build, test, and deploy everything completely local and without version control. I hadn't completely wrapped my head around the concept of Git or the structures that existed there yet, so my code base was a disaster. I also wouldn't use the C# VLC library on a windows host with a lousy GPU either as it cost me many headaches and I couldn't a the time deduce why (lesson on checking a box with a component vs checking the actual needed requirements for the project).
Knowing what I know now about open source projects I'd fork the projects I had used at the time and bring them into one project where I could maintain it consistently, as I had to do that anyways. Most of it was YAML as often times it was various API issues I was dealing with, but that's part of what makes me well versed with Ansible and Kubernetes now.
I do think the world still needs a JARVIS, the closest thing we have to it is Home Assistant which fills 65% of the void I feel from JARVIS but is more product oriented and less people oriented.
I've had ideas of a VISION system (cheap puns wont stop coming, so don't expect them to) integrating Home Assistant into one supported personal augmentation platform.
At some levels I wish I continued the development of it as it interconnected several dozen disparate layers and methods of smart-home automation and life augmentation at a time it wasn't prioritized, but it was highly customized, so would have to have been completely rebuilt from the ground up. A lesson in technical debt?
As someone who was just concluding their teenage years and was nominated for public office on their first months out of high school, I had some massive fish to fry that overtook the time I once used to work on JARVIS.
If you're reading to this point, you've learned I'm a bit of a rambler.