My studies and work in AI/ML

(AI/ML Jupyter Workbook) I hold a joint honours degree in Computer Science and Artificial Intelligence from the University of Sussex, although I graduated over 20 years ago, so the AI knowledge I was taught is no longer very uptodate! I have therefore signed up for a 7 month certificate at Imperial College London where I will be updating my knowledge on AI and ML, including learning about LLMs. ...

November 18, 2025 · 1 min · David Craddock

vWorkbench

“vWorkbench” is my own personal Vim9-based development environment and writing environment that I’m trying to ‘spin out’ into an open source project that is stable enough, reusable enough and well-documented enough to be used by others. https://github.com/wordswords/vWorkbench.git - this is the current version of my development environment that I use as much as possible, both in personal and work situations. https://github.com/wordswords/vWorkbench/blob/master/README.md - this is the documentation on my development environment, which I absolutely try and keep up to date. ...

September 26, 2024 · 1 min · David Craddock

Security Research

To send a secure message to me: Use my Signal username: granddesigns.79 I am currently familiarising myself with tools to implement cyber security solutions. This is in preparation for my research project as part of the MSc Cyber Security masters I’m taking from the University of London via distance learning. This research is strictly for informational purposes and I don’t do anything criminal with it. I realise some of this information may be seen as ‘over-sharing’ and is a security risk in itself, but I believe that the benefits of sharing this information outweigh the risks, and that there is no ‘security via obscurity’. ...

August 24, 2024 · 6 min · David Craddock

My Electric Cargo Bike

(Cargo bike and trailer) I use this as a bike as a general-purpose car replacement, as well as volunteering and long-distance cycle challenges and trips. It has a maximum average power-assisted range of 60 miles on a single charge, assuming the lowest power-assist setting, up to 20 miles per charge for the highest power-assist setting. I have configured it so that I can move large objects and cargo similar to a small car, and cycle and navigate safely and comfortably in all weathers, as well as use it as an exercise machine to keep fit and lose weight. ...

June 9, 2024 · 4 min · David Craddock

My Mobile Laptop Setup

I use this setup plus my e-bike to work from university libraries, public libraries, and in the summer, from a portable camping table in parks, nature reserves etc. Hercules DG400BB Laptop Stand w/ Bag - this portable laptop stand is very sturdy and is designed for mobile DJ use. I find it is excellent in all situations, not just DJ use. Lenovo Legion 5i - Intel i7 12th gen CPU, 64GB DDR5 RAM, 4TB in 2x 4th gen NVME SSD drives, 3070Ti graphics card, 15" 1440p IPS Dolby Vision HDR screen - This is my laptop that I’ve put a lot of money into upgrading. Logitech MK295 Silent Wireless Mouse & Keyboard Combo - This is a good mobile keyboard and mouse setup, which I got because I was making too much noise typing at ~100wpm in libraries. Portable Battery charger - A good quality external battery charger which will charge and release charge via USB A and USB C ports Lenovo Legion 17" Armored Backpack II - This is an excellent quality padded laptop bag - by far the best laptop carrying case I’ve owned. It distributes the weight of my setup properly over my back so I can walk long distances Google Pixel 7 Pro running GrapheneOS - This is a top of the line phone which runs GrapheneOS for extra security. Sony MX1000 Mk3 wireless headphones - This is a top of the line HDAC/Apt-X HD wireless noise cancelling headphones. They work well with my laptop and my phone. 750ml vacuum thermos flask - This fits in a pocket on the side of my laptop bag, and is usually enough unless it’s a very hot day. Pro-plus caffiene pills - My lifestyle means I am tired sometimes, and I don’t drink tea or coffee, so I always keep some of these in my wallet if I need to walk home, for example. SanDisk 1TB Extreme Portable SSD, USB-C USB 3.2 Gen 2, External NVMe Solid State Drive - This is very useful for transferring large file collections to and from other peoples computers, and is very small for carrying. Fasgear Cat 6 Ethernet Cable, Retractable Network Cable 10Gbps - If I ever need to connect to a wired network, I can use this network cable - it takes up very little space. Octopus style USB cable adaptor - Can be used for any connection between standard USB A, USB C, micro USB and lightening. It’s very useful for connecting to other peoples devices. USB C privacy guards - Allows me to plug into a USB C port and block data transfer, so I can charge my phone from other peoples computers without worrying about data transfer.

February 4, 2024 · 3 min · David Craddock

My Homelab

(Network cabinet) I have built a 10Gb/second network in my home in a network cabinet. Hardware: I use a Mikrotik router and Mikrotik switch to route at 10Gb/sec speeds, and 2x Ubiquiti wifi 7 APs in mesh mode. I have a Protecli custom network interface fanless PC that runs Opnsense with Suricata IDS that monitors all traffic to and from the internet on my network. I have a ZigBee to IP adaptor which allows me to interface the HomeAssistant setup with low cost ZigBee buttons etc. A 6 bay 48TB NAS Linux server that runs Debian, and hosts around 20 services, mostly using docker compose. A couple of Windows 11 PCs which I use day-to-day. E-readers and tablets linked to my calibre libraries. Reolink security cameras linked to HomeAssistant with zero traffic being sent external to the network. Gaming PC with >10TB of retro games stored remotely on the Linux server, and accessible on the gaming PC. Mobile phone running GrapheneOS. Many IoT and smart home devices. 4K HDR 43" Sony TV with 5.1 Dolby Surround Sound system, able to stream films/TV from the Plex server. Security goals: No static IP. No unpatched devices allowed on network, enforced by automated patching. No out of security updates period devices allowed on the network, enforced by VLAN segregation, guest network, and MAC filtering. Zero ports open to the internet. Software-defined VPN remote access to the network only. Suricata IDS collecting data continually with a large ruleset to flag any suspicious traffic. Wazuh SIEM monitoring with agents on all possible network connected clients. Two internal DNS servers on the LAN forwarding any requests to NextDNS servers via DNS over TLS.. so that the ISP hardware never notices any unencrypted DNS requests which it could snoop on. Anonymising VPN connections to exit nodes in other countries for private traffic. Automated weekly security updates using bash scripting to upgrade all Mikrotik devices, Opnsense, Debian server and all Windows 11 PCs (via remote SSH access and Powershell scripts). Automated weekly backups of all crucial files (both system and data) on all devices, including Mikrotik, Windows PC, Debian server, Opnsense box. Advertising, analytics, malware and tracker blocking on the DNS level for all the network. Hardened Mikrotik, PC, mobile devices, and Linux server configurations, with minimal ports listening, and firewalls correctly enabled, in a ‘zero trust’ assumptional design. SIEM real-time alerting for threat and vulnerability discovery, with regularly updated CVE scanning on agents. (Gaming PC wifi 7 speed) ...

December 17, 2023 · 4 min · David Craddock

My Work Computer

(Full Room View) (Desk worktop) (Below the desk) (Left of the desk) (The gaming/morale shelves) This is my work from home setup. I work from home every work day. I use the following equipment: ‘Studio.local’ - my main PC for WFH and gaming I run Windows 11 on this, and use Ubuntu Linux WSL2 with a Kali Linux virtual machine also. ...

December 16, 2022 · 2 min · David Craddock

My Writing

I’ve always liked writing and have been doing it for a long time. I write a lot for work, and also have written a lot of creative writing. Work Essays and Articles I’m working on a way to format and structure these properly within Hugo. For now though, the following will have to do.Alternatively, you can always view them in markdown in the Github repository at the link here: ...

June 21, 2015 · 35 min · David Craddock