This page highlights some projects that I’m working on or have worked on. It’s not comprehensive but it illustrates what I enjoy. As I do things, I append them to this page. Some are worthy of their own blog post and some are just mentioned.
These are things I work on in my spare time. When I’m at work you’ll find me discussing capability, operational readiness, architecture, security, scalability and high availability; or engineering and coding implementations of the above.
In 1999 I created one of the worlds first carputers: The DashPC and in 2003 I started the Linux Automotive interface (also here). I stopped work on the Linux Automotive project more than a decade ago. In 2006, I was interviewed by O’Reilly’s Release 2.0 Magazine about it.
Some of my projects have been featured in multiple books:
Additionally, some of my projects or blog posts have been “Frontpaged” by leading online news aggregators.
On a whim I submitted one of my recent posts to Hacker News (ycombinator). It reached #4 which I take as an honor because that’s a tough crowd. ;)
2001 - https://hardware.slashdot.org/story/01/12/07/1410212/dashboard-linux#comments
2002 - https://hardware.slashdot.org/story/02/12/17/1930213/dashboard-linux---1-year-later#comments
2004 - https://slashdot.org/story/04/04/03/1457209/inexpensive-dashboard-pc
The first time, I was at work one day when my boss came in and said, “heeeey, I’ve never known an internet celebrity before”. I looked at him inquisitively when he mentioned that my DashPC project had been submitted. I was flattered until my site (self-hosted, no cloud back then) fell over due to the /. effect. It also brought our corporate network to it’s knees, but it was a heck of a learning experience and short lived honor.
You’re going to have to trust me on this one. I intentionally use a different profile on some websites and reddit is one of them. Having said that, one of my posts did make the frontpage but I’m not willing to link to it here (it’s nothing crazy). It probably wouldn’t too hard to figure out based on my interests and hobbies.
I also do amateur web design from time to time. These pages are a combination of my content, templates, customizations and code for functionality (glue?). My early sites were made from scratch with just HTML. These days (2021), I prefer static sites and static site generators. I like to optimize them for the latest standards to keep my skills fresh. I’m not a professional dev, but the things I learn in this space help me professionally as I often work closely with developers.
This site is primarily built using the static site generator Hexo. I’ve heavily modified the codebase and I’ve installed a few plugins to fit my workflow. One recent change I made is the addition of dark mode support in the CSS. I use ‘prefers’ to display according to the preferences you set in your OS.
To enable effective blogging I’ve written a few shell scripts and Macos automations that help me rapidly create content. I follow DevOps methodoloy in my career and here on this site. I have an internal development branch for blog post drafts and I promote to mainline when I’m ready to push to public (production).
This site is currently offline, but I was able to secure dashpc.org in it’s stead. I was hospitalized for a few months during the domain renewal period and I wasn’t able to renew it. I plan to put the site back up for archival purposes.
On this website we hightlight the Dashwerks, DashPC™ Carputer (CarPC) Telematics project. The DashPC™ Informatics system began it’s development in 1999. At present, it delivers multimedia (DVDs, MP3s, CDs, Radio, etc), Navigation, Engine Diagnostics, Network and Wireless capability, Games, and much more. The system seen here was built using the DashPC™ human machine interface (HMI) software. The DashPC™ infotainment / informatics system is interfaced via multiple input methods - among them are a 6.5” Touchscreen VGA LCD display, wireless infrared remote control, and even a vehicle enhanced handheld wireless keyboard and pointing device. Dashwerks DashPC™ is the best automedia installation that can be found. Among the vehicle manufacturers that Dashwerks DashPC™ technology has been demonstrated in are: Volkswagen (VW), Ford, General Motors (GM), Pontiac.
Unfortunately, I lost this domain due to illness at the same time as dashpc.com. I started a company, Dashwerks, Inc. to build an aftermarket version of the dashpc prototype for consumers. The project was eventually “tabled indefinitely” as my financiers realigned thier portfolios. With funding and interest waning, I shuttered the company entirely a few years after it’s formation in 2003.
When I was in Florida I lived near the Space Coast. Being on the Space Coast near Cape Canaveral is delightful because when there is a launch, you can literally just step outside and experience it visually and acousitically. I was looking for a very simple page, or reliable twitter feed that just displayed when the next launch is. At the time, I couldn’t find a site with just the information I wanted. To that end, I create launch. It’s a simple site, primarily for myself and family to use. It displays a countdown to the next launch along with a brief mission description. I parse json data provided by thespacedevs and display it accordingly.
This project is template based and built to showcase some of the pseudo-art I’ve created with Artificial Intelligence(AI) and GAN+Clip. I also used it as a vector to promote some of the works as non-fungible tokens NFTs.
This website is for my asset management company. You can read more about it below. It’s a wordpress theme that I ripped apart and made my own. I designed the company logo using Affinity Photo and Affinity Designer / Publisher. There is not a lot of content on this site by design - it’s literally just an investment corp.
This is another templated website that I highly customized / modded. It’s details my Consulting Group and our focus areas.
This is another templated website that I highly customized / modded. It will be the public presence of a blockchain project that I’m building.
I’m not a professional developer, but writing code (glue) has been a regular part of my career. I’m quite proficient with shell scripting languages - bash in particular, along with declarative / templating languages like Terraform HCL, Ansible playbooks and Puppet Manifests.
My introduction to development started with Turbo Pascal then progressed to C, PHP, and most recently Python.
These are some of my open source projects.
I wrote a simple Python NZBGet plugin that inserts download history into an ElasticSearch cluster (or node). It uses API calls rather than parsing filesystem logs. I wanted a quick way to just insert the data so I created this script.
You can download it on github.
I wrote this plugin for NZBGet to insert records into a user specified MySQL database. This script is written in python and it requires the installation of the pymsql module.
The purpose of this script is to allow you to create a dashboard or other reporting around your downloads. You can use Grafana or write your own frontend to create neat glanceboards.
You can download it on github.
I found a neat app called BitBar that uses custom script output and displays it in the macos menu bar. I wrote a plugin that displays what’s playing on Plex. You can view and download it over on github.
As mentioned below, I created my own Magic Mirror module that displays the Next Rocket Launch. The Module is called MMM-NextRocketLaunch (to match Magic Mirror’s styling guidelines) and can be found over on github.
I’ve always had an entrepreneurial spirit. I’ve taken various cuts at business over time learning a lot along the way. A tremendous amount of it has been what not to do. However, much of it is about value, timing, luck and hard work. Below is a compendum of my various attempts at business for better or worse.
My current blockchain project. One of the important business lessons I’ve learned is knowing when to keep your mouth shut and when to market. I’m not an MVP stage yet, so I’m going to keep this one close to the chest for the time being. When information becomes public, it will be via a more appropriate channel and I will update this section accordingly.
This is my holding company, aptly named The Holding Company.
Dashwerks was a company that I founded and ran from 2003-2006. It was a commercial implementation of the DashPC Automotive Linux project.
I utilize my skills broadly. CBCG consists of myself and highly skilled peers in my network. We can provide advanced technical solutions to a broad audience in many different industries at all competency levels. Contact us if you’d like to discuss your challenges and how we can help!
Back in 1997, while still in college, I had a fascination with computer security. I joined and explored the small online communities of the time - mostly newsgroups and BBSes. From those experiences I learned both the black (cracking techniques) and the white (good guys) sides of the industry. The cracker / hacker side was intruiging because of the “outside the box” problem solving approach. For example, to copy a disk with copy protection a game loader would check for a physical bad sector. It was a mechanical solution to a software problem and one of many attempts at early DRM. The problem all of the purportedly undefeatable physical protections is that they still had a software component that would validate the hardware. The solution here was typically to disassemble the code to assembly instructions and JMP around the copy protection. How novel. I realized that on the white hat side of the industry, they were building better mousetraps. In a perpetual game of whack-a-mole, the objective was to secure systems by defeating them (Red team).
Shortly thereafter I formed a company to consult with clients on their security postures. I would perform penetration testing and scans and provide clients with our findings: a basic report of vulnerabilities and problem areas. The company started as Exploit Data Systems, which was a play on words in addition to a horible marketing move. I rebranded as Gridforge.com but my clients were still few. At the time the value of computer security was still peripheral and not core to most businesses. I’ve since rolled these capabilites into my general consulting firm. My specific focus area these days has been on DevSecOps pipelines and data management best practices. While I had built an ultimate wardriving machine, long gone are the days of on-site security pen testing.
Raspberry Pi’s are fun little computing gadgets. They’re tiny, highly affordable single board computers (SBCs). They run linux on ARM microprocessors and they’re quite capable for their small form factor. I’ve utilized them in following:
This is a hardware and software combination. The hardware consists of a Raspberry Pi along with a relay module. The software is custom on the backend, a modified middle layer API and a purchased iPhone app. You can read more about it on the Raspberry Pi Garage Door Opener blog post.
I found a neat little photo box at my local thrift store (for $3.99 USD!) and I figured it could make a neat display box for a few Raspberry Pis. I had most of the pieces on hand in my workshop so I gathered and assembled it. You can read more details on the Building a Raspberry Pi Display Case page. I may sell this on Etsy or something, so stay tuned!
Similar to the Pi Garage Door Opener this project is both hardware and software based. The hardware is a Raspberry Pi and two motion detection circuits (one for the washing machine and one for the dryer). I wrote custom software to detect vibration from the appliances. I normalized these data to determine when my Laundry Washing Machine and Dryer had completed their respective duty cycles. Once complete, I get a text notification so I know when I have to either fold or transfer laundry. I plan to do a full blog post about this which will include pictures.
I found this little beauty at my local thift store for $2.99 USD. It’s in good condition and when I really like the oil painted finish so I bought it. The rotary encoder on the top coupled with the five haptic buttons on top made it an easy purchase decision. You can read more about how I modified it into A Great Little Pi Project Box.
There are few projects I’ve done with the Pihole. They’re mostly small scripts and little feature implementations. Nothing fancy here, just some ❤️ for Pihole.
Write up coming some day.
I’ve dabbled in electronics since I was in Junior High School. I started by taking things apart and looking at the wires, chips and components within. Eventually, I got into telephony electronics (Beige Boxes, etc) and phone phreaking. My motivations were never harmful. It was purely curiosity that motivated me. I didn’t have formal electronics training aside from a class or two in school. I consumed elecronics books from Radio Shack and I was fortunate enough to have a Dad who was an electrical engineer. This afforded me the tools to solder and experiment with discrete circuits.
My very first electronics project was a power window hold button. A one-touch power window button was a feature on luxury cars back then and I wanted to add that feature to my car. I asked for guidance constructing it on the newsgroup sci.electronics and the helpful folks there helped me design a simple circuit around a 555 timer IC. I calculated the resistor and capacitor values to do a one-shot hold for about 4 seconds. I tested it and installed it into the car and it worked well. Being a lazy teenager (aren’t we all at that age?), I took a shortcut and left out a pull-down resistor.
That taught me two important things:
- Professional Electrical Engineers design circuits to be robust and there are no shortcuts.
- Pulldown resistors prevent ‘float’ and unpredictable behavior, particularly when it rains (humidity).
The Dashwerks Startup and Shutdown Controller was my first commercial product. I created to solve a problem I had with my DashPC car computer - startup and shutdown. It ties in to the vehicles ACCessory wire and starts a timing sequence. The potentiometers at the front (blue) adjust the timing. It uses a PIC16F28 microprocessor for logic and a MAX-232 IC for serial communications to the computer. The leds at the top just indicate where it is in the power on/off cycle. The 3 large relays are for closing contacts of the computer inverter (power supply) and auxilliary devices.
I did the PCB design and layout in Eagle. I prototyped the whole thing on a breadboard. I hired a professional consultant to clean up the design and to help me deliver it the fab house (4pcb.com).
Feel free to view the DSSC installation manual that I made for it.
I enjoy visualizing information and creatively displaying and extracting value from metrics. For my homelab environment I created some [mostly] Grafana Dashboards for visualization of my infrastructure along with anything else I’ve found interesting. I’ve included some thumbnails here which link to their respective posts.
I started building an executive dashboard with Grafana, but then I started on my Magic Mirror project. It occurred to me that the Magic Mirror makes a great modular glanceboard. I customized it with various modules that exist and I even created my own module that displays the Next Rocket Launch. The Module is called MMM-NextRocketLaunch (to match Magic Mirror’s styling guidelines) and can be found over on github.
My homelab primarily consists of clustered VMWare ESXi hypervisors. I’ve automated my deployments using PXE and Ansible so I can spin up VMs in a test environment when I want to try out new things. In order to keep an eye on how things are performing, I use Grafana dashboards. I imported these and customized them for my lab.
I always enjoy writing posts when there is a learning opportunity to be had or delivered. Sharing useful information when done properly is one of the greatest gifts one can leave behind.
This dashboard simply aggregates the metrics and panels that I’m interested in into a ‘single pane of glass’. I’ve augmented them with my Magic Mirror project(s). I created it to expand my Grafana skills while creating an easily digestible view of my personal KPIs.
In addition to technology, I also enjoy working on things on and in my home. Here are a few:
Yep. I made my bed. Well I make my bed every day, but over a weekend I built my master bed. It’s a very simple design.
You can see pictures and a few comments about how I built it on the DIY Homemade Bed post.
This is a totally improvised hack of a project. It was both an excuse to play with my power tools and a rarely used power generator. I think I only used it two or three times in total. I made it from an older lawnmower engine, a DC-AC Inverter, a belt and pulley from Grainger and a vehicle alternator. It’s loud and I had to weigh it down to stabilize it for use. This one falls straight into the FAIL bucket. I learned a few things however - mostly why small engines are mounted on steel frames.
A few years ago, when gas prices were exorbitant, I started to build my own Ethanol Still. In light of the global energy crisis, I figured that being able to produce my own fuel was a useful endeavor. Creating ethanol fuel requires distilling corn (or other vegetables/fruits) and extracting its potential liquid energy. I did some research on the web and discovered the Charles 803 and decided to build it. I consulted with my local Alcohol and Tobacco Tax and Trade Bureau (TTB) office and determined what permits and licensure I would need to legally build a still. I wrote about it on the Building an Ethanol Still post.
Around the time I was interested in self-sufficiency projects like building an ethanol still, I took an interest in growing my own food. I built a permanent garden and in the winter months I wanted to be able to give seedlings a jump start on the spring season. To that end, I built a simple wooden grow stand. I will add a blog post about it (with pictures) sometime soon!
I did quite a bit of renovation on my first home. When the house was being built, I had the architects and builder remove two walls to combine the dining room and kitchen into one “open concept” layout. The builder reluctantly agreed to delete the walls after I communicated that it would actually save them money in labor and materials. The walls were not load bearing so it was a relatively easy modification. To that end and with the kitchen being central to the home I did quite a bit of my own renovations here.
I opted to install my own backsplash. Of course, me being me, I wasn’t going to just install an ordinary backsplash. I installed copper capacitive touch tiles wired to a touch sensor. This gave me a backsplash that I could touch to activate lights! It was quite a lot of work because I had to solder a wire on to each and every copper tile and run them behind the grout to a centralized controller. I will detail it (with video) in a dedicated blog post at some point in the future.
When my house was built, I had the contractor install basic lighting throughout. My thought process at the time was that it didn’t make financial sense to mortgate (3x) the cost of a lighting installation when it’s a relatively easy DIY upgrade. Can lights are a bit challenging because I required a laser to align them exactly. Wiring in the ceiling and doing most of the work on a ladder also made this project a little more involved than I initially estimated. I think it turned out nicely and it provided me with a nice dimmable lighting effect.
One of the criteria I had when I purchased my home was a large garage. The home I built had a very large garage and I was able to install cabinets to finally bring organization to it. Once complete, I had my tools, gadgets, ladders and other unruly items relatively tamed. The hardest part of this project was cleaning everything out and then organizing it appropriately. Installing the cabinets was bolting them in and leveling them to the precision I wanted. I happened upon a craigslist “freebie” of some removed countertops that I worked into a perfect fit to cap of the project. Pictures will be on a blog post in the future.
The front room in my home was a formal dining room. I have a large kitchen so I opted to convert the room into a front Library / Study. This renovation was very simple. It was just installing moulding into the recessed ceiling, painting a light medallion and installing it, in addition to painting the walls and trim. I went with a candlelight paint covering that gives it a nice effect when lit.
There wasn’t really much to this one. There was hollow empty space between the walk-in shower and the tub that I decided to utilize. I simply did a cutout in the void and built a basic box. I drilled equidistant holes so I could install shelving. Once complete, I just framed it with moulding and some paint. I’ll probably post pictures of it here at some point.
My house was built with an unfinished basement. I intentionally opted for this because it would become a blank slate for my perfect cave / personal makerspace.
The first part of finishing the basement was building the interior walls and insluating the exterior walls. I followed that with drywall, primer and paint. My friend Jeff is a handyman by trade so he did a lot of the work (hanging, mudding and taping, etc). I’ll post pictures someday.
In order to build the theater room, I had to frame the walls. I didn’t want to just put up any wall, I wanted to do something special with the wall. So I decided to build an arch shelf into it. I’ll post pictures of it here someday.
This section documents some car projects that I’ve done at some point.
I would say this was my flagship personal project. It was a large part of my life for a while. Hardware, Software, starting a company, etc. This project evolved and I will detail it much more at some point.
This was definitely one of my more dangerous projects.
There was a time when gasoline prices were extremely high here in the USA. They were so high (comparatively) that I wrote a blog post in 2007 about how high gas prices paid for my car. In retrospect, my math was a bit of a stretch but it seemed patriotic at the time. Not wanting to settle for baseline, I decided to take my fuel savings to the extreme - hypermiling. I found some online forums and tried my hand at some of the extreme modifications. Ecomodder explains it best:
[It’s] an automotive community where performance is judged by efficiency and economy rather than power and speed.
Eventually, I abandoned this stuff because it wasn’t super practical, but it set the stage for my …
Long before Tesla arrived, there were a lot of DIY’ers that were retrofitting petrofuel cars to be electric. The fundamentals are relatively simple compared to a combustion vehicle. A motor, batteries and speed controller are really all that’s necessary. The Aspire had a manual transmission so keeping it in 3rd gear would give me a decent ratio for coupling to a Monster electric motor. It’s a project that I designed and planned, but never completed. I’ll add it to my Anti-Resume/CV blog post someday.
I’m no where near an expert in this field and my hat goes off to people in this discipline. I’ve just experimented with some Juptyer notebooks and some Python modules (tensorflow, pytorch, etc.) with basic code. The actual algorithmics and mathematics behind the scenes is fascinating and overwhelming to try to wrap ones head around (at least for me).
The things I’ve done here are just at an experimental / curiosity level.
I’ve been playing around with OpenGAN, TensorFlow, torch and a few other goodies lately. Adding CLIP to the mix gives me the ability to use common phrases to guide the AI to creating works. It’s fascinating to see what is generated based on the training models used. If you haven’t picked up on it yet, I like the color blue.
This was created by an AI training model set out to discover Saturn and generate accordingly. As the piece evolved (video linked in blog post), I started to notice what appear to be rigid, unnatural lines take shape. It turns out that the machine found Saturn to be not only a planet, but also a car manufacturer!
The following are some things that aren’t easily categorized elsewhere.
I include pictures of the construction along with some aluminum castings that I made. Details and pictures are on the Homemade Metalcasting Furnace post.
This was a fun project that didn’t evolve into a full-blown hobby. Back when quadcopters were still mostly academic projects (2013), I wanted to build one for myself. So I did. The frame is composed of a few layers of Carbon Fiber plates coupled with some aluminum towel rods from the Home Depot (Household hardware store in the USA). They’re cheap, relatively sturdy and lightweight. I used a SimonK ESC, a Multi-Wii flight controller and SunnySky motors. I use a Turnigy LiPo battery charger/batteries and flight stick. I only flew it a few times with video. I was never advanced enough to do First Person View (FPV) flight but that was ultimate goal when starting this project. A full writeup is on my todo list so I’ll link that here at some point (with video!) The yellow seen in this image is actually the beige carpet reflecting off the aluminum towel rod frame. You can watch the incredibly boring inaugural flight video here.
If you’re a heavy command line (cli) user in Macos, Linux or WSL, you may find it convenient to easily start or stop your robot from it’s cleaning cycle. In this post I’ll show you fellow keyboard jockeys how to control and even view a map of your home and the robot as is cleans.
Writeup coming soon. Until then, enjoy the following latin - Vestibulum nullam lacinia habitant pulvinar ullamcorper ac eleifend mauris nascetur, praesent quam leo sed hendrerit mollis urna risus parturient dictum, elit dignissim sagittis proin felis maecenas ipsum sit.
Never satisfied with baseline performance, I upgraded my Nvidia Shield Media device from a standard 2.5” spinning rust disk to a Samsung SSD Evo. I put the pictures and some ‘gotchas’ in a blog post someday.
Taking apart a laptop and putting it on an old overhead projector for fun!
About 20 years ago I found this little beauty on eBay. It’s from a Canadian company called TekGear. It’s basically a composite video in to 320x200 wearable monocular display. I haven’t able to find a lot of information about it recently but I still have it and hope to revisit it one of these days. This isn’t really a project per se, but it’s a neat Human Machine Interface that I want to explore further someday.
These aren’t projects (yet). I own several domains that I have yet to utilize. I’m not a squatter, I genuinely aquired these for implementation. Some of them had my content at one point in time and others have yet to see the light of day. Here are a few “coming soon”:
Unsatisfied with the built in Firefox start page, I decided to implement my own. It’s not that the Firefox start page is bad, I just wanted something more customized. To that end I put this together:
It gives me easy access to my sites, management portals, etc. I’d like to add a few visualizations to it, but I decided to keep it simple. It has to render every time I open a new tab or browser window, so less is more in this case.
Some things I do out of necessity, others I do out of curiosity.
Sometimes things turn out great. Sometimes they don’t.
Please feel free to like, follow or comment below 👇 !!!