Debian 9 - Running a python script at boot

Note: Debian 9 is end-of-life, but the crontab @reboot technique shown here works on all modern Debian, Ubuntu, and Raspberry Pi OS releases. There are a number of ways that you can run a python or bash script at system start but I am about to show you possibly the easiest way, using crontab. First you need to make that your script is executable and can run unattended. Then you need to login as the user your wish to execute the script as and edit the crontab file: ...

February 21, 2019 · 1 min · Tom

Debian 9 - How to upgrade python 3.5 to python 3.7

Note: Debian 9 Stretch reached end-of-life in June 2022. The compile-from-source method shown here is still valid on any current Debian or Ubuntu system — just substitute the Python version you need. I recently spent 30 minutes figuring out how to upgrade to python 3.7 and subsequently pip version on a fresh install of Debian 9. I ran into a number of issues doing this so I though that I would put this quick post together to make this a little bit less complicated for anyone else trying to this. ...

February 19, 2019 · 3 min · Tom

Creating a local DNS server with Pi Hole

This is a local DNS server for local DNS requests. This post is going to explain the why and how I created a local DNS server in my home network environment. I used the PiHole project to make a network wide advert blocking a reality. https://pi-hole.net/ I have previously created a DNS server using Bind, running on CentOS 7. Thankfully digital ocean came to my rescue with some of the config in this home lab project, so be sure to check out their guide if you are looking for slightly higher level DNS setup: https://www.digitalocean.com/community/tutorials/how-to-configure-bind-as-a-private-network-dns-server-on-centos-7 ...

February 16, 2019 · 2 min · Tom

Modifying Windows shortcuts is Powershell

I once faced a rather tedious task that involved recursively modifying a number of shortcut paths stored across a convoluted folder structure. There was approximately 100 shortcuts which needed part of their path modifying. The answer: Create a****PowerShell script. The following code utilises regex to check for the existence of a string and modify with the define replacement. It is easily possible to use Read-Host to make this a little bit more interactive, but the purposes of my use-case it was just as simple to modify these variables before running the script. ...

February 13, 2019 · 2 min · Tom

Powershell - Checking the Language Mode

For security purposes, it is possible to control the language mode in a given Powershell session. These language modes can constrict which modules can be loaded during the life of a powershell session. Learn mode about Powershell langeuage modes: About Language Modes – Microsoft Detect the Current Language Mode $sLangMode: $ExecutionContext.SessionState.LanguageMode If ($sLangMode -ne “FullLanguage”){ Write-Host ” !! Unable to run scrit – Powershell Using Wrong Language Mode !! ” } Else{ ...

February 5, 2019 · 1 min · Tom

'Copy, Paste' With Powershell Sendkeys

This is really quick nugget of Powershell for anyone who is struggling to copy and paste into a particular window or dialog box. Perhaps it is a case of a website which prevents text form being sent to a field from the clipboard, or in my case, a windows UAC prompt. If you are following password best practices, your passwords should be long, complex and contain zero dictionary words. Furthermore, you should have a different password for every site and service. So, when a user interface doesn’t allow you to paste a password, life gets that little bit more difficult. ...

February 2, 2019 · 2 min · Tom