Categories
Programming

Saving query parameters into the browser history, using Flask + HTMX

I’ve recently been using the htmx (https://htmx.org/) javascript library to make some simple Flask web applications I have made a bit more dynamic. The page is very simple, but contains a big table of data in the center. It has a form at the top of the page that allows you to write simple queries […]

Categories
Movies

Movie Thoughts / Review – Stowaway

I really enjoyed this movie! It had a solid mix of real science along with a better story than most movies. One aspect I enjoyed was that the characters didn’t spend excessive time explaining everything that occurred to the audience. The doctor, played by Anna Kendrick, makes a wrist brace for the crew commander. She […]

Categories
Linux Networking Systems Administration

Importing a LetsEncrypt Certificate Generated by acme.sh into a Fortigate Firewall Using CLI

These are some tips I’ve put together on how to create a certificate using acme.sh then import it into a FortiGate firewall for use on the SSL-VPN or similar. Getting the Certificate and Key file I won’t go into too much detail on this – just use the acme.sh documentation to get a key+certificate: https://acme.sh […]

Categories
General Tech IoT

Using Nanoleaf Devices with Home Assistant – Including Setting Effects

Here’s some examples of how to use Nanoleaf lights with Home Assistant. Note that when this doc was written I was using Home Assistant v2021.2 with Nanoleaf firmware v5.0.0 Setting Up First, set up the lights using the Nanoleaf app, join them to your WiFi, etc. Then attach them to Home Assistant. The docs on […]

Categories
Linux Networking Programming Systems Administration

A Logwatcher Tool to Trigger Integrations After Changes in phpIPAM

We use phpIPAM to manage all our IP Addresses, and we have recently built integrations between phpIPAM and our Kea DHCP server for reservations, and also into our BIND DNS server. These have been running on a schedule, which has worked well, but doing it that way means that it can take a while after […]

Categories
Linux Networking Programming

Sending an email via Microsoft O365 SMTP Servers using Python

This is a simple script to send an email via MS’s O365 Service: Note how you need to set up an SSL context and perform .starttls() to properly create a secure connection.

Categories
Uncategorized

Why You Should Avoid Services Run by Advertising Companies

Inspired by the recent changes to the Facebook WhatsApp’s privacy policy, I decided to go through why I avoid services provided by advertising-based businesses. For more details on the WhatsApp changes, see: https://www.forbes.com/sites/carlypage/2021/01/08/whatsapp-tells-users-share-your-data-with-facebook-or-well-deactivate-your-account/ https://write.privacytools.io/right-to-privacy/getting-whatsapps-privacy-policy-prompts-heres-why Incentives Businesses are driven by their incentives, which are their business goals. The business goal of every for-profit company is quite […]

Categories
Uncategorized

KDE Plasma on Wayland – What Doesn’t Work Correctly

These are the things that I’ve run into on KDE Plasma running under Wayland that prevent me from using it full-time. I thought I would get them down here so I could keep track of them and hopefully provide feedback upstream as-needed: Screen Sharing in Microsoft Teams For me this is a deal-breaker for getting […]

Categories
Systems Administration

Learn Your Tools

Just read a post by Drew DeVault: https://drewdevault.com/2020/11/06/Utility-vs-usability.html I very much agree. So many people treat working with computers as “I don’t like it but I have to do it.” Often these people learn only the minimum required to get something done. I think that, as professionals, we need to treat computers as tools to […]

Categories
Linux Programming Systems Administration

Tips for doing “shell” scripting in Python

I’ve been moving a bunch of my shell scripts to python recently, because of how much better it handles the concept of “a process didn’t run successfully”. Consider the bash script: What happens here if Command 2 fails? Note that we still get the success message at the end – bash silently ignored our error-ing […]