/Projects/cb-cover-Projects.jpg

Overview

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 publications:

Additionally, some of my projects or blog posts have been “Frontpaged” by leading online news aggregators.

Hacker News

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. ;)

Slashdot

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.

Reddit

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.

Websites / Design


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.

chrisbergeron.com

This site is built using a 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. If you prefer dark in your OS, this site honors your preference.

To enable 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).

The Dashboard PC - dashpc.com

This site is currently offline, but I was able to secure dashpc.org in it’s stead. I was briefly 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 installations that can be found. Among the vehicle manufacturers that Dashwerks DashPC™ technology has been demonstrated in are: Volkswagen (VW), Ford, General Motors (GM), Pontiac.

Dashwerks, Inc. - dashwerks.com

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.

Next Rocket Launch (WIP)

launch.chrisbergeron.com

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.

Debris Art - debris-art.com

debris-art.com

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.

The Holding Company - holdingco.com

holdingco.com

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.

Chris Bergeron Consulting Group

consulting.chrisbergeron.com

This is another templated website that I highly customized / modded. It’s details my Consulting Group and our focus areas.

METAcrypt.io

metacrypt.io

This is another templated website that I highly customized / modded. It will be the public presence of a blockchain project that I’m building.


Software

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 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.

NZBget ElasticSearch

NZBget Elasticsearch Extension

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.

NZBget Mysql

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.

NZBget Mysql Extension

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.

Plex “What’s Playing” for BitBar

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.

Menubar displaying Plex 'Now Playing'

Magic Mirror Module - MMM-NextRocketLaunch

MMM-NextRocketLaunch

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.


My Companies

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.

MΞTΛcrypt

metacrypt.io

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.

The Holding Company, LLC


This is my holding company, aptly named The Holding Company.

Dashwerks, Inc.

Dashwerks was a company that I founded and ran from 2003-2006.

Dashwerks, Inc.

Chris Bergeron Consulting Group, LLC

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!

Gridforge

gridforge.com

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 Projects

Posuere netus morbi velit nullam cum euismod cursus porta, nisi at semper phasellus imperdiet ac dolor, ante tempus dignissim quis eros tempor felis.

Garage Door Opener

Raspberry Pi Garage Door Opener

Quam sociosqu phasellus senectus fusce a gravida fringilla quis consectetur, enim eleifend potenti arcu montes nisi ultricies pharetra, class facilisis diam bibendum vestibulum orci id odio.

Pi Display Case

Pi Display Case

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.

Pi Project Box

Pi Project Box

I found this little beauty at my local thift store for $2.99 USD. It’s in good condition and when I touched the oil painted finish I figured I would get 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.

PiHole

There are few projects I’ve done with the Pihole. They’re mostly small scripts feature implementations. Nothing fancy here, just some ❤️ for Pihole.

Pi Zero Cluster

Posuere netus morbi velit nullam cum euismod cursus porta, nisi at semper phasellus imperdiet ac dolor, ante tempus dignissim quis eros tempor felis. Oh yeah!


Discrete Electronics

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.

Momentary Power Window Button

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 during rainy days when installed in automobile.

The Dashwerks Startup and Shutdown Controller (DSSC)

The DSSC

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.

Visualization / Observability

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 and anything else I’ve found interesting. I’ve included some thumbnails here which link to their respective posts.

Pi - Magic Mirror

Pi Magic Mirror

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.

ESXi Dashboard

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.

Adding Annotations via Webhooks

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.

Management Dashboard

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.


Home Improvement

In addition to

Homemade Bed

Yep. I made my bed. Well I make my bed every day, but thover a weekend I built my master bed. It’s a very simple design.

Vivamus ultrices vestibulum aptent suspendisse imperdiet senectus sociis, fermentum massa tincidunt semper nibh dignissim mollis libero, magna consequat mus pharetra a ad. Taciti morbi odio phasellus donec amet semper est lectus, interdum maecenas hendrerit euismod risus curabitur ipsum aenean, vitae nullam tempor bibendum posuere curae quam. Velit eros sagittis ipsum sodales eleifend dolor magnis sed, nostra platea nascetur dapibus vivamus suscipit curabitur ultricies, dictum cubilia vulputate tortor tincidunt sollicitudin habitant. Enim id suscipit ad molestie ipsum fermentum maecenas nascetur, justo amet conubia curabitur vehicula suspendisse tempor nunc facilisis, nisi neque massa cum placerat vivamus class. Tortor viverra nulla laoreet nam ipsum metus pretium erat elit urna sociosqu, feugiat torquent purus blandit et facilisis non nec class.

Homebrew Generator

Gotta power my gadgets

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.

Ethanol Still

Aliquam tortor penatibus taciti sem torquent vel semper eget malesuada, inceptos risus lacinia scelerisque rhoncus vivamus mattis nibh.

Grow Stand

Vulputate ipsum blandit donec purus penatibus ridiculus sociosqu placerat praesent, auctor sapien netus sodales nascetur mollis fusce gravida, urna cum adipiscing tristique proin sit eget senectus.

Kitchen Renovation

Feugiat ut venenatis cras nascetur aptent donec

Touch Activated Backsplash Lighting

Backsplash before touch activated tiles

Dis at sem gravida mus eget habitant rutrum platea, turpis class egestas diam primis ante nec, tortor pulvinar mattis rhoncus nam lacus nascetur. Molestie nisl suspendisse interdum lectus purus nisi cubilia gravida duis, laoreet ultrices posuere mattis cum augue semper congue hendrerit sociosqu, facilisi etiam ullamcorper rutrum tempor diam non a.

Ceiling Can Lights

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 lighting an installation when it’s a relatively easy 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. This project also has a dedicated blog post with pictures.

Garage Cabinets

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 can be seen in the blog post.

Library

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. You can see pictures on the blog post if you’re so inclined.

Bathroom Shelves

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. With holes

Basement

Sit vel habitasse mi orci inceptos ridiculus vulputate parturient sem, suspendisse conubia volutpat id maecenas imperdiet laoreet felis, aliquet viverra nullam vehicula luctus sapien nunc magnis.

Theater Room

Posuere consectetur etiam maecenas suspendisse auctor tellus elit velit curabitur orci hendrerit, nisl tempor nibh duis arcu non laoreet dignissim varius.

Walls

Tellus pellentesque ad eget conubia suscipit commodo cum in vitae cras etiam turpis, ante volutpat mattis facilisi molestie elementum diam nunc natoque per potenti.


Car Projects

Non tellus curae fringilla mollis felis viverra porta lectus enim placerat, gravida semper nam condimentum iaculis arcu porttitor luctus scelerisque sociis vulputate, pellentesque ipsum malesuada convallis metus vitae ac nisl cursus.

The DashPC

The DashPC

Facilisi a faucibus nisl natoque quisque justo vestibulum neque, duis ridiculus accumsan fusce suspendisse lobortis interdum.

Replacing Honda Insight MIMA Battery

This was definitely one of my more dangerous projects.

Hypermiling

Facilisi a faucibus nisl natoque quisque justo vestibulum neque, duis ridiculus accumsan fusce suspendisse lobortis interdum.

Electric Car Project

Fermentum feugiat fringilla vel sodales commodo nascetur nulla in per turpis, nec dis quis netus ullamcorper torquent porttitor suscipit mattis, platea arcu velit rhoncus litora cum rutrum tempor luctus.


Artificial Intelligence

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.

AI GAN+Clip

Platea penatibus varius tempor nulla erat elit

AiGenArt, AI Generated Art - Saturn

Condimentum pretium netus ultrices auctor sollicitudin cum ante lectus


Miscellaneous

Nisl purus fringilla sed placerat curabitur vel.

Homemade Metalcasting Furnance

I found some plans online for the ‘2 Bucks Furnace’ by Lionel Oliver II at backyardmetalcasting.com and it looked like an interesting project so I decided to build it. I include pictures of the construction along with some aluminum castings that I made. Details are on the blog post.

MAME Arcade Cabinet

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.

Nvidia Shield SSD Upgrade

Upgrading an Nvidia Shield with an SSD

Nisi quis egestas quisque elit ligula hendrerit ultricies id lacinia, mus aliquam sociis scelerisque non lectus in pulvinar, dictum faucibus pharetra justo nullam tempus sociosqu massa. Ornare sit turpis euismod dictum tortor ante aliquet porttitor potenti, ac etiam fringilla diam himenaeos magnis egestas mattis lectus cum, vitae vulputate scelerisque vivamus iaculis natoque consequat ad. Pretium mi sapien eros lacus venenatis interdum netus imperdiet mus.

Hacking an Overhead Projector

Overhead Projector with an old Laptop

M1 Wearable Heads Up Display (HUD)

Me wearing the Tekgear M1

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.

Internet Properties

These aren’t projects (yet). I own several domains that I have yet to implement. I’m not a squatter, I genuinely aquired these for utilization. Some of them had my content at one point in time and others have yet to see thelight of day. Here are a few “coming soon”:

  • pastemonkey.com
  • timedbuy.com
  • bountyhacker.org

Start Page

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:

Placeholder

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.


Conclusion

I like to work on stuff

Some things I do out of necessity, others I do out of curiosity. Much of what I do is for enjoyment and some is precipitated by fear - high voltage electrical in particular. It was a study area I wasn’t confident in, so I read up on wiring standards, breakers, etc and installed a circuit “live” at one point. It boosted my confidence and now I don’t fear household electrical tasks as I once did. Is it the best approach? Probably not, professional training would have been better, but I used the resources I had available and overcame that fear.

Diam ad primis vulputate torquent libero habitasse bibendum, suspendisse venenatis convallis condimentum auctor.

Congue mattis suspendisse elementum dis conubia adipiscing ac mi, morbi auctor lacus natoque venenatis eleifend himenaeos est magnis, tellus potenti vehicula vivamus aliquet vitae sodales. Nam neque tortor cras eleifend nunc litora penatibus, sodales cubilia urna fringilla dictumst consectetur bibendum maecenas, sagittis varius diam sapien rutrum accumsan. Facilisis montes urna a id mi ad habitasse eu, bibendum quam consectetur porta fusce suspendisse justo, amet aenean vel nisi platea pretium sociis. Commodo eros lorem ligula dictumst nunc ridiculus conubia, duis lacinia senectus rhoncus velit tempus condimentum fringilla, cum et faucibus egestas sociosqu vehicula. Vitae facilisi est aenean fermentum diam ullamcorper sem tincidunt sociis volutpat tristique lobortis pulvinar elementum, vehicula porta mi quam vestibulum feugiat dis tempus mauris ante taciti et. Elementum arcu torquent tortor nam senectus iaculis ridiculus bibendum sit, cum eget placerat netus at vehicula non nec scelerisque id, quisque per cras fringilla feugiat aenean turpis volutpat.

Author

Chris Bergeron

Posted on

07-12-2018

Updated on

09-01-2021

Licensed under

Comments