About meAdam L August 17, 2022
|4 colours is enough for anyone||Cymro ydw i (I am Welsh)|
I am a tech enthusiast who is married with four children and a cat.
My hobbies include video games, motorcycling, cooking, flying drones, retro computing, electronics/smart home tech, fabrication (FDM/CNC) and radio-controlled vehicles.
I have extensive experience with Rust, Python, C#, VB6/VB.NET and many flavours of BASIC.
I began programming in the early-90s on a Sinclair ZX Spectrum, followed by Commodore 64, I then quickly moved to Locomotive Basic 2 and later Microsoft GWBASIC/QuickBASIC.
Who am I?
That's a good question, maybe ask Kurzgesagt.
I'm just some Welsh nerd who lives with his wife, children and a cat.
My main hobbies include:
- Video games!
- Motorcycling and Motorsports, I hold an FIA MSUK racing license.
- Cooking, it's just like programming but with food.
- Flying my drones, I hold an A2 Drone operator license.
- Retro Computing (what a surprise).
- Electronics / Smart Home tech.
- Fabrication using my 3D Printer and CNC machine.
- Radio-controlled vehicles.
What languages do I know?
These languages I've used extensively:
- VB6/VB.NET during my education years and for some years after
- Many flavours of BASIC in my childhood and early adolescent life
Languages I've used but certainly am not an expert in:
- 6502, Z80, X86 and 68k (Amiga) Assembly "back in the day"
- Java for Minecraft mods and some hobby stuff
- Lua for Factorio mods
- Ruby whilst working with Chef
- ELM, just some minor updates to a company site
What have you done in your career so far?
- Junior Programmer
- Windows/Linux SysAdmin
- Linux NOC lead / L3 senior engineer for a top IDS/IPS company
- Lead developer of the data platform for a major financial company
- Principle engineer of backend APIs for a major social media company
- Head of the data platform for a new AI-focused FinTech company.
As the site name might suggest, I'm a bit of a tech enthusiast and have spent many years of my life, professionally and as a hobby in the world of computer programming (shocking right?)
Since I was born in the late 80s I had missed the start of what was to be the personal computer revolution but that wouldn't stop me, I got into programming sometime in the early-90s after acquiring my first microcomputer, the Sinclair ZX Spectrum.
Before I started higher education it went something like this:
- BASIC/Z80 ASM on a Sinclair ZX Spectrum
- BASIC/6502 ASM on a Commodore 64
- Locomotive Basic 2 on an Amstrad PC1660
- Microsoft GWBASIC/QuickBASIC on a 486 PC
- Liberty Basic on a Windows 95 PC
That's a lot of BASIC, but it taught me the fundamentals of all programming languages like conditional statements/branching, functions/subroutines, parameters, variables, data/file storage, I/O, math and string manipulation.
2000-2006 - School Years
During my high school education, I was taught some Turbo Pascal and a few short modules on Fortan and COBOL but the bulk of it was VB6.
VB.NET which would've been a better language to learn (C# would've been even better) was introduced at the very end of my school years, I briefly looked at Python 2.4 but dismissed it, thinking it wasn't of much use (facepalm).
2006-2012 - My first job
Shortly after leaving school and joining a software development company,
My first task was to port a pair of legacy applications.
One was written in GWBASIC and the other in VB6, my goal was to bring all the functionality into a new program written in VB.NET (because this is the language the company owner used).
Partway through the task, I ran into some data transfer routines used for synchronising with a central database over a modem, we decided the best action to take would be to remove this and replace it with a proper backend system consisting of an API and a real OLTP RDBMS database.
Since neither of us had any experience writing an API, it was left to me to build the solution. The first iteration used a PHP/MySQL backend which consumed and produced XML responses in a format that VB.NET could use through the DataTable classes but this proved to be a major headache and was scrapped.
The second iteration was an ASP.NET service written in C#, once again leveraging the DataTable classes but now the response format was WSDL/SOAP and the whole Serialising/Deserialising layer was managed completely by .NET instead of me having to generate it manually.
This system was reused for a bunch of other applications that we wrote and is still in use today by the company that I left some 10 or so years ago.
I still use C# for a handful of projects, mainly ones that involve Unity in some fashion like the mods I build for RimWorld,
I like the C# syntax and also how easy it is to use the Task system to asynchronously run code. Microsoft is pushing C# hard now that they're trying to become more open and cross-platform by way of the .NET Core project. My only hope is that they create a consistent, cross-platform UI library of some sort. At the moment unless you want to lug around Qt or even Gtk, both of which are pretty old now and don't present a truly platform-native experience, there aren't many other choices.
2012-2018 - SysAdmin to NOC Lead
After 6 years at a single company, I yearned for a change of scenery so I ended up in a couple of SysAdmin roles where I found myself needing a more powerful language that I could use for automating tasks that I had to perform pretty regularly and set out to find a suitable tool,
I circled back to Python after quickly dismissing it in the 90s due to several factors, mainly that I was in my early teens so I was a bit too impatient with it, the language itself was still kind of rough around the edges and it was going through some growing pains e.g. the BeOpen controversy, but by now it was already late into Python 2's lifecycle with the third incarnation on the horizon.
As I became more and more fond of Python, I found myself building much bigger things, professionally and as a hobby, Django and Flask became the main frameworks in my projects, and many of my hobby projects (e.g. GWP) were born from this.
2018 to the present - Programming wins me back
With this newfound love for Python, I was able to advance my career greatly and grabbed myself a position at a financial company as a lead engineer where I would build REST APIs using Flask or Starlette and data processing systems leveraging Apache Airflow among many other libraries like pandas.
I have since moved to pastures new, but to this very day, Python is still at the core (for now) of what I build, powering RESTful APIs that handle millions of requests per day.
Even though Python has been a great language to use for this type of work, we have started to find as a company that we are reaching the limits of what it can scale to and that parallelism and speed is by far its biggest weakness.
From my desire to build faster, more robust software, I turned to Rust and my passion for it burns brightly.
Nearly every new project I start is now written in Rust and I have been advocating the use of it (somewhat loudly) in the workplace and have been making huge inroads to the point where we now have built and deployed several new systems written in Rust yielding fantastic results.
Back to top