Categories
Linux Networking Programming

Trio Tutorial – Simple TCP Chat Program – Part 4

Series Part 1: https://jaytuckey.name/2021/07/22/trio-tutorial-simple-tcp-chat-program-part-1/ Part 2: https://jaytuckey.name/2021/07/24/trio-tutorial-simple-tcp-chat-program-part-2/ Part 3: https://jaytuckey.name/2021/07/24/trio-tutorial-simple-tcp-chat-program-part-3/ In part 4 we look into making the server handle disconnections without crashing. We also look into how me can make messages quicker to distribute. For this code we use the trio functionality to wait for limited time for a task to complete, by using […]

Categories
Linux Networking Programming

Trio Tutorial – Simple TCP Chat Program – Part 3

Series Part 1: https://jaytuckey.name/2021/07/22/trio-tutorial-simple-tcp-chat-program-part-1/ Part 2: https://jaytuckey.name/2021/07/24/trio-tutorial-simple-tcp-chat-program-part-2/ In part 3 we build more of the server. We build out the functionality to receive messages, then distribute them to all connected users. For this part we use Trio’s nurseries to start up new running tasks: https://trio.readthedocs.io/en/stable/reference-core.html#nurseries-and-spawning We use the nursery.start_soon() function to kick off new tasks […]

Categories
Linux Networking Programming

Trio Tutorial – Simple TCP Chat Program – Part 2

Series Part 1: https://jaytuckey.name/2021/07/22/trio-tutorial-simple-tcp-chat-program-part-1/ In part 2 we look at making a tool to assist with testing the TCP server we are building: We use the built-in python socket library in the testclient: https://docs.python.org/3/library/socket.html Got any questions? Contact me: https://jaytuckey.name/about/

Categories
Linux Networking Programming

Trio Tutorial – Simple TCP Chat Program – Part 1

I’ve made a video about making a simple TCP-based program using Python and Trio. The video is here: https://www.youtube.com/watch?v=6JM1hgjLV-A The features I plan to build are: each user has a long running tcp connection user is asked for name on connection user sends message each other connected user receives the message In part 1 we […]

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.