Chris Bergeron’s Tech Blog

Welcome to the Tech Blog. This is a stream of consciousness and partial representation of myself. It’s not sanctioned, approved or governed by any entity, employer or nation state. All thoughts, opinions and typos are mine.

I hope you enjoy your visit or at least learn something new.

Dynamic SSH ports with Hashicorp Vault TOTP

In this post I’m demonstrating how you could use Hashicorp’s Vault TOTP generator and an authenticator to connect to a dynamic ssh port. This is mostly a proof of concept and not a production grade solution, so use at your own risk.

What’s TOTP? It’s a Time-based One Time Password. TBOTP is probably too ugly of an acronym to have gained widespread use. I don’t know, I didn’t coin it.


Read more

Own Yourself - You Are Your Brand

The crux of this article centers around personal branding in the field of tech. Whether it’s work, play or social, having an online persona has become the new normal. Online personas have grown from bleeding-edge gamers, content creators, vloggers and bloggers - to traditional soccer moms with recipe groups. The internet continues to connect everyone and as online trust and validation become more societially valuable, so too does the way you present yourself.

What’s in a Name?

Your brand precedes you.

Read more

Time Tracking with a Disney Infinity USB NFC Reader

While browsing my local thrift store, I stumbled upon a little gadget that I decided to repurpose:

Disney Infinity USB NFC Reader

It was only $5.99 USD, so I thought it would be a fun project.

After I saw it the day prior, I searched for ‘Disney Infinity Linux’ to see if any work had been done toward decoding it or making it work. I found various sources that suggested that Playstation or Wii versions work fine, but the X-Box version was challenging. Fortunately, among the 5 they had, one was the Wii/Playstation version so I bought it. You can read more about purchase decision on thethrift store scoresblog post.

Read more

Controlling iRobot Roomba from the Command Line

If you’re a heavy command line (cli) user in Macos, Linux or WSL, you may it convenient to easily start or stop your robot from it’s cleaning cycle. In this post I’ll you fellow keyboard jockeys how to control and even view your robot as is cleans.

There's more than one way to skin a robot

Read more

Fast RAID-0 DAS Using Two Thunderbolt 4 Enclosures

In this post I’m demonstrating how to create a high-speed macos volume using 2 Thunderbolt ports and NVMe enclosures. This solution uses RAID-0 (striping) so the failure threshold is more than twice that of a normal standalone disk. This example is for demonstration purposes and could be useful for video editing scratch space, rendering, large photo sessions or similar uses. Obviously, good backups (RAID is not a backup) or a more reliable storage tier is recommended for daily use.

Thunderbolt 4 Benchmark: 2.22 GBs write, 3.74 GBs read

Read more

Ultra fast Thunderbolt NAS with Apple M1 and Linux

Thunderbolt 4

In this post I discuss how you can upgrade a NAS Server by adding Thunderbolt 3 for lightning fast connectivity at 20 or 40Gbps. This particular implementation is specific to an Apple Mac Mini M1 and aLinux NAS serveron an older Supermicro X10SRL-F motherboard, but the principles should be the same on similar architectures and operating systems.

Read more

Person is not a known valid target type for the publisher property.

It’s not just you. If you’ve received this error the odds are pretty good this component of your schema is correct and your validator is mistaken. Person type

Specifically, in this case, theGoogle Structured Data Tester. After testing this blog, I was puzzled as to why Google was throwing anErroron this property. I checked the documentation onschema.organd as expected,Personis indeeda valid type for thePublisherproperty.

Specifically, “Values expected to be one of these types: Organization andPerson“. Perhaps I was missing context? Nope.

Google’s validator just needs to be updated to be in parity with the official specs.

Thank you for coming to my Ted Talk.

AiGenArt, AI Generated Art - Saturn

Saturn. This is an interesting piece. The keywords I used for this creation were ‘saturn’ and ‘smoke’.

Saturn - AI Generated Art

It began with a mostly blank frame / canvas. The machine learning and training model set out to discover Saturn and generate accordingly. As the piece evolved (video below), 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 result is an interesting collision of abstraction as only a computer could reason. Here is how the piece took form.
Read more

Generating Art with VQGAN+CLIP AI

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. Some are surprisingly good and others, well, I’ll let you be the judge. Here are a few of the pieces along with the phrases that generated them:

Read more

Pushover Desktop? Yes, on Apple Silicon.

Pushover on macOS

At home I run a lot of gadgets. A mix of computer servers, IoT devices and variousRaspberry Pi projectsthat I’ve built. I always want to be aware of what’s happening with the home, so I’ve been using a notification app called Pushover. It’s a nice notification utility that can send messages to your phone or tablet, in addition to your desktopbrowser. The keyword here isbrowser.

Read more

New CB Brand Logo

I created a new logo and icon of my initials for my personal brand tonight:

CB Initials

It’s not something thatreallyneeds a blog post, but I’m adding it here for posterity. Maybe I’ll mint it as an NFT for anyone that has the initials CB. Ehh, no.

New website -

Next Rocket Launch

I wanted a quick, lightweight way to view rocket launches from Florida’s Space Coast - Kennedy Space Center but everything I found online was bloated. So, I create a simple website and Progressive Web App (PWA) so I could just check it on my phone.
Read more