Building Microsoft Edit on Mac OSX Silicon

Microsoft have released source code for the MS-DOS era text editor, Edit - remade in Rust, on their Github. Christopher Nguyen, a product manager on Microsoft’s Windows Terminal team wrote: What motivated us to build Edit was the need for a default CLI text editor in 64-bit versions of Windows. 32-bit versions of Windows ship with the MS-DOS editor, but 64-bit versions do not have a CLI editor installed inbox. My computer legacy originally started on MS-DOS on an IBM PS/2, and Edit was the very first text editor I ever used - so I was keen to give this a go on my Mac. ...

25 June 2025 · 1 min · pete

Upgrading from MongoDB 3.6 to MongoDB 7

I was faced with this challenge when a workload in my homelab was using a very dated MongoDB 3.6 database, and updating it the workload, its now possible to run MongoDB 7. I was not able to easily find any resources online that described this kind of upgrade so I decided to write my own. The upgrade path for MongoDB is complex, requiring the sequence: 3.6 → 4.0 4.0 → 4.2 4.2 → 4.4 4.4 → 5.0 5.0 → 6.0 6.0 → 7.0 ...

1 January 2025 · 4 min · pete

Controlling fan speed for Dell PowerEdge servers

In my home lab I’m running a Dell PowerEdge T630. While the T630 is a very powerful machine for a home lab, the fans are just as powerful. Personally I prefer quiet - and I’m not concerned if CPU throttling is occuring. Today I wrote a script to make it easier to control the fan speed with ipmitool In order to use this script with your PowerEdge - you will need to enable IPMI in iDRAC ...

28 June 2024 · 2 min · pete

Migrating VMWare ESXi 7 virtual machines with EFI booting, to Proxmox 8.2 from VMDK files

Quick guide on how to migrate virtual machines from VMWare ESXi 7 to Proxmox 8.2. I’ve been using VMWare ESXi in my home lab and wanted to migrate this machine to Proxmox 8.2. The only mechanism available for this kind of migration was offline, as I did not have two physical machines to run both VMWare ESXi and Proxmox concurrently. Make a backup of the VMFS filesystem that contains your virtual machines Its an extra hurdle to read your VMFS filesystem within Linux, so I opted to use SCP to copy to my Windows machine ...

2 May 2024 · 2 min · pete

systemd automatic restart on failure

I had an issue with apache web server recently where the service was crashing. A simple poor mans fix was to make use of systemd’s ability to automatically restart a failed service At first I located the systemd unit file with systemctl status httpd I then edited the file with vi /usr/lib/systemd/system/httpd.service Under the [Service] block I then added the restart variables [Service] # Auto-restart Restart=on-failure RestartSec=5s I then reloaded systemd with systemctl daemon-reload

9 January 2022 · 1 min · pete

Generate ppk files for all existing keys

Recently I did an automation task involving the automated generation of ppk files when ssh-keygen is run. I also wanted to generate ppk files for the existing keys on this machine. The command I ended up using, to generate a ppk file for every /home/*/.ssh/id_rsa file was: set -x;for user in $(find /home/*/.ssh -name id_rsa -type f);do puttygen ${user} --ppk-param version=2 -o ${user}.ppk;chown $(ls -l ${user} | awk '{print $3":"$4}') ${user}.ppk;chmod 600 ${user}.ppk;done;set +x

7 January 2022 · 1 min · pete

OpenVPN on CentOS 8 in an OpenVZ container

OpenVZ via its kernel architecture provides some weird operation with device nodes. I found that systemctl was unable to start OpenVPN on a CentOS 8 host which is virtualized in OpenVZ. The fix is quite simple but not so obvious sed -i 's/LimitNPROC/#LimitNPROC/g' /usr/lib/systemd/system/openvpn-client\@.service systemctl daemon-reload

31 December 2021 · 1 min · pete

ISP Config and maintaining the default certificate with Lets Encrypt

I signed up to GitHub today and posted a small script I developed A current project of mine is to redeploy my ISP Config server in Oracle Cloud, with the main difference is that instead of two geographically sperated VPS’s, I’m using a microservices architecture - and utilising the ARM64 architecture as this is elidgable for the “Always Free” tier. ISP Config obviously requires an SSL certificate for its web UI and for all the services running on the node such as Postfix, Dovecot, MariaDB ...

26 December 2021 · 1 min · pete

Replacing telnet with netcat

A stupid post it note for my own benefit mostly. My employer refuses to allow telnet on any of their machines, citing audit compliance and the pre-existance of netcat So to test that a port is open with netcat you run: nc -zv victim.host.com 8080

26 December 2021 · 1 min · pete

Setting the hostname on Oracle Cloud

I built out a number of images with Oracle Cloud using Oracle Linux 8. I was facing the trouble that due to the way I configured my instances, Oracle Cloud was not supplying a domain name via DHCP which caused my instances to return a short host name when I ran hostname -f. This in turn caused many scripts to fail, as they could not enumerate a FQDN. So the answer was actually extremely simple: ...

26 December 2021 · 1 min · pete