Category Archives: Uncategorized

The War in Ukraine affects us all… Laid off…

As some of you may know I was recently laid off from a company where a large portion of our resources were based in the Ukraine.

I just wanted all those affected that you are not alone and we will all get through this!

On that note if anyone is hiring for a Senior DevOps position I am looking….

As most of you know I have 3 autistic boys and they are a handful so it makes it a bit of a pain to move, and find employment that covers our unique insurance needs…

I am looking for work remotely as I have been remote since prior to covid. However, I am open to hybrid if its a requirement.

I have added all my info including my Resume to my about me page and the Technologies I use. Please pass this around if you know anyone looking. I am open to Colorado, Texas, and remote positions.

Thanks again, and hang in there everyone!

– Matt

T-Beam Communicator (Meshtastic)

The following are the build instructions for my T-Beam Based LoRa Communicator. No Phone Needed!

This allows for very long range communication without WiFi/cell communication. Up to 150KM+ line of sight. Also gives directions to each other via GPS (shows arrow pointing to the target user.) Additionally, It can also be connected via Bluetooth to a smart phone, for other features such as mapping via the Meshtastic App.

The following links are for US vendors of parts. I make no profit off anything listed. Also, please keep in mind if you want to pay less you can order from china and wait for it. I prefer to just get the items in a couple days in US.


The t-beam will need to be flashed with the latest Meshtastic firmware, and the ‘Canned Message‘ module needs to be enabled.

The firmware can actually be flashed via a meshtastic web flasher now. Making it very easy. Once you have setup the device you will need to enable the Canned Message plugin. Reboot the device after setup, and plugins being enabled.

Parts :

Wiring the Keyboard:

The CardKB will come with a grove cable. The red/black are power (5v), and the yellow and white are for signal.

  • Yellow: Pin 22
  • White: Pin 21
A pin-out for your convenience.

A post I didn’t want to make…but its important! (Please Read!)

But it needs to be done… if you have kids, or plan on having them in the future in the US. Also please watch, at least the first 30sec. That’s it… I can’t imagine a more heartless, profit mongering, inefficient, and unintelligent thing to happen in front of our eyes… If you are reading this, and you know me; you will know that I don’t participate in politics, or any social media drama. This is simply a problem we need to address.

With the resources at hand, and the knowledge that should be shared… There is no reason to allow this to continue. As a people, without regard to race, location, or any other factor. I have been near death on more than one occasion due to the limitation in place.

I will follow this article up, with more information, and my story of fighting for my life, and changing jobs, just to stay alive. I will share my “setup”, and “hacks”, to get your insurance to pay for the needed equipment. I will also go over the technology involved, and how you can use it safely, and securely. Here is an example of an OLD video showing the need; and although the technology exists… Insurance companies, and others have gone out of their way to deny access to the needed hardware at a reasonable prices.

Please share if you know anyone with Diabetes, especially if they have diabetic children. I would love to see responses to this article. I am hoping all that I have learned can be come easier to find out for people, than it was for me…


Why is everyone so mad at Redhat about CentOS?

First, what is a Rolling Release, and why is everyone so mad about it?

Well Wikipedia defines a rolling release as follows:

Rolling release, rolling update, or continuous delivery, in software development, is the concept of frequently delivering updates to applications. This is in contrast to a standard or point release development model which uses software versions that must be reinstalled over the previous version. An example of this difference would be the multiple versions of Ubuntu Linux versus the single, constantly updated version of Arch Linux.

Well, now we know what it is… why is everyone so mad?

It is because a rolling release, even though it is constantly being fixed can be quite unstable. This is not a huge deal for applications running in a desktop environment, but in a real production environment it is not acceptable.

To give an example, if you were running an application in a production. A library underneath could get updated, and break your application without any notice. In fact, it is common practice for many enterprise applications to “holdback” a version of an application; or even host the install files in their own repository to ensure nothing malicious makes its way in.

So in short, and in my opinion, Red Hat bought CentOS a few years back as they were becoming the competition. As everyone feared then, they are essentially making it a non-enterprise product. This is likely due to the large chunk of the market they are loosing to Ubuntu. Which is well deserved in my opinion.

Hope this was informational… Have a good rest of your 2020!

Abandoned by GoDaddy…

I have been a customer for hosting for several years now. I also have over the years used their products. Granted, this was more due to it just being there more than anything else.

However, after many years hosting this blog they have decided to no longer support updating libraries that keep WordPress working and safe (This refers to classic vps customers, was told to buy all new hosting). This has led me to have no choice but to abandon them as a whole and move hosting.

That being said, please be patient if there is any down time or service interruptions.

PS: Godaddy… if you are reading this….so are others…


Azure is selling a BROKEN CLOUD. K8s.

Recently, I created a kubernetes cluster in Azure as a POC. I did this using Terraform to ensure it was infrastructure as code. This way it could be easily stood up again.

After jumping through tons of hoops to turn on a service that was no longer in preview, I was able to add a node pool for windows machines… In short, after a lot of hoops I was able to do so. This included getting cores quotas/etc extended. That took a few days because of the response time from Microsoft.

So, at this point I am heavily invested with my time (over a week of waiting and back/forth with MSFT). Now I have a K8s cluster up and running with a windows pool and Linux pool. It appears to be working…but this was a facade.

Once I started using the K8s cluster, I noticed a problem with all my deployments that had one of the following features:

  • Several Mounts (PVCs)
    • I found more than 3
  • Mounts Over 5-10gb

I tried reaching out to Microsoft via an azure support ticket. I was basically just given the run around, and asked to go through more hoops; all of which were for no more of a reason than to close the question in the techs queue.

Finally, I was able to get more information (only because of GitHub), see below:

This, again was a lie (even if not on purpose); as it has been well more than the original two weeks referred to. The original issue was opened March 2019! Also, after I tried to rebuild (per their suggestion) I was told they are out of cores; and “would I like to rebuild in another region?”, this started the quota requests again. That added 3 more days of waiting.

(Probably due to large government contract)

None of this behavior is enterprise grade, and quite frankly I don’t know why anyone would ever use this cloud. Please reference my previous post on their uptime. Keep in mind they are slightly more expensive that AWS, less robust, and less reliable.

This is the most classic case of “This is always how we have done it.”, and the nature of people to avoid change.

How to use a PS1 in Linux/MAC

Here are the PS1‘s I use for my daily driver.  Feel free to take them and change them up.

I use different colors, so one doesn’t accidentally login or run something as root (which is in red, users are yellow).

To use these, simply copy and paste them into either the root user; or regular user’s .bashrc.

Alternatively you can add them to /etc/profile to make them enforced system wide. 

For MAC, it is the same; however the PS1 is a little different. See below.





Updates on Kill-Switch (E-Vehichle for son).

During my latest testing phase, there was an accident with the motor controller.  This has put a small speed bump in my little project.

However, this may be a blessing in disguise.  I wanted to put in my own motor controller before, but I was trying to do this build without purchasing much.  So, I was using the built-in controller within the old hover board housing.  This came with many obstacles; for one, the circuit was very sensitive to change.  If I wanted it to work; the LEDs and everything had to be perfect. Otherwise it would throw errors. Keeping in mind that I do not have any manual, documentation, etc on the hardware here.

Once I replace their motor controller with mine, it will be even better for my automation.  I actually do have RPI motor controller HATs; however nothing rated for 500w.  So I am going to be using the following per side.

This will allow me to control the speed with the battery, and hub motors I already have. Just add a potentiometer per side, and were in business. Those pots will be controlled via very small servo.  This will allow the user to control them, but the servos will put them back to zero (stop) after use.  This also enables the control via RPI3, as I mentioned before.

On another note; I am considering using casters in the front since you will be able to steer via the controls.  Alternatively, I get one controller and use it as a throttle only.  This would work, but then I would have to have front steering.


Thanks for all the support,

Matt Curry

Handy One-Liners – Full Debian Update

This one is great for a “Full Update” on debian / ubuntu machines.

It calls the script without ever installing anything (assuming curl is installed).  Be sure to run as root, either with sudo or as root directly.

As you can see in the snippet; it uses a script that is remotely hosted (in a github gist).  This is great because you  can see exactly what it does by looking at the script.  It just calls system commands, so it can’t do anything malicious.  Just run sudo, then the above command and it will run the below script:

Another trick you can do with something like this, is copy it to  /usr/bin/fullupdate (as root of course), and ensure its executable “sudo chmod +x /usr/bin/fullupdate”.  Then you can call “sudo fullupdate”, from anywhere and use it when needed. Alternatively, you can use it on a cron to run on a schedule!  If you don’t want all the options, just download the script and change it for your liking.


Welcome to open source.