Edward Hesketh
Introduction
Hello! I am Edward Hesketh. I am primarily a programmer, but I love working on both hardware and software projects, and I have a wide range of skills.
I can...
- Architect, develop, and publish software - frontend and backend - for computers and microcontrollers
- Design and assemble custom PCBs using KiCAD
- Create 3D parts with CAD using FreeCAD, Autodesk Fusion 360, or OpenSCAD and manufacture them using lathes, mills, laser cutting, and 3D-printing.
- Maintain multiple servers to reliably host services using NixOS.
- Automate the building of software using the Nix language.
My favourite languages to work in when creating software are C and Go, but I have experience in C++, C#, Typescript/Javascript, Python, and a little Lua.
I enjoy learning about the "secret backend" to the world - finding out about the hidden systems that run everyday things - my favourites being well-made design rules, and interesting/useful datasets (such as National Rail train data). I also have a strong passion for NixOS, which I have used for multiple years on all of my computers and servers.
When I make things, I try to make them easily maintainable and avoid over-complicating them, after all
the best solution to a problem is usually the easiest one
-GLaDOS, "Portal 2" Valve Corporation 2011.
You can contact me at 777b7a60757760547170637566707c3a707162, and I will try to reply within 1-2 weekdays.About me
Origins of a programmer
When I was in primary school, my dad introduced me to Scratch, and I loved it! I spent hours of my spare time making little fun games out of blocks to play and to show to my friends. I loved solving all of the tiny puzzles that programming brought with it, but I quickly ran into problems when I tried making some of my biggest ideas in Scratch - I came across all sorts of annoying strangeties in the engine, running into race conditions in a language that was clearly not designed for what I was doing with it. My dad noticed this, and decided to buy me a book about Python, to help me learn how to write real programs. I quickly set off making whatever interested me: (very) basic terminal chatbots, a drawing machine with the python turtle library, basic tkinter dialogues, all sorts!
As I got a little older, my dad helped me learn Go. I made a simple door alarm out of a Raspberry Pi Zero W with him, and tried out making a basic text adventure game with his help too.
When COVID hit around the end of my time at primary school, I started learning other programming languages with my dad's help too, making and publishing my first React Native app. But I started looking for more of a challenge. I had heard about an interesting game engine called Unity when watching YouTube, and wanted to try making more advanced games. I independently taught myself Unity through youtube tutorials and pure trial and error, and ended up teaching myself how to program in C# too!
After COVID, I started writing small amounts of C++; wrote games for the Playdate in Lua, then C (archery, lineman); continued making games in Unity; discovered the magic of Nix; made my first PCB; tried out making a texting device using long-range radio; started version 1 of my Slab keyboard project; and so, so, so much more.
All of this leads up to...
Where I'm at now
At the moment, I work on personal passion projects in my free time, and as part of Hack Club - an international community of teenage hackers. At my school/college I am currently studying for A-Level Computer Science in addition to my GCSEs.
Almost all of my projects since the start are open source, and can be found on my GitHub. I have made a wide range of different projects, with their quality improving over time as I have improved my skills.
Experience and Qualifications
- Finalist in the BAFTA Young Game Designers competition of both 2021 and 2023.
- Highly Commended in the Institute For Research in Schools' DNA Origami Project for my open source contributions to UC Davis's DNA structure design tool. This was also featured in an article by the University of Leeds.
- Achieved a Grade 9 in GCSE Computer Science at age 14 - 2 years early.
Flagship projects
The Slab keyboard
A modular mechanical keyboard system that snaps together with magnets. Built from the ground-up with custom circuitboards, brand-new firmware, code-generated 3D-printed cases, and software integration with OpenRGB.
Events I took part in
In-person events
Other events
- Hack Club Arcade, where I made the Slab Keyboardv2.
- Hack Club High Seas, for which I updated my v2 keyboard design to make the Slab Keyboardv3 system, and created various other smaller projects.
- Hack Club Hackpad, for which I created a new macropad/numpad module for the Slab Keyboardv3 system.
- Hack Club Riceathon, where I learnt how to (tastefully?) style my Gnome desktop using NixOS.
- Hack Club Say Cheese, for which I created a very very tiny game of noughts-and-crosses in x64 assembly.
- Hack Club Infill, where I designed (and - hopefully soon - made) a spinning 3D-printer, using (mostly) the parts from a broken Sovol SV01 3D-printer.