This page contains information about my professional background in various key areas. It isn't my complete CV and doesn't go into detail about my various projects, jobs or experience. This page does explain how I've ended up where I am and where I hope to be headed. To learn the details of my experience, you might be more interested in my CV, which is actually my LinkedIn profile.
I started programming when I was eight years old and haven't often looked back. Along the way I've tried to learn a broad but deep range of skills and knowledge. This has given me a rather unique understanding of software and hardware, and the businesses around them. I've done a startup in web advertising, worked as a graphics driver developer and am currently researching a new processor design.
What's driving me? I'm not sure - passion is probably the best word for it. I get a huge kick out of making things work and understanding why they work. I also like fixing that which others have just accepted as broken; that does lead me to some rather ambitious projects but I've very often succeeded.
At heart I am also an altruistic person. That's why I set up FlingOS and have worked a lot in educational technology. At the University of Bristol, I've helped pioneer the Digimakers Roadshow programme, taking our workshops into local primary schools for children as young as 8 to learn computer programming and simple electronics.
My hope is that I can continue to work on projects I enjoy and to explore my own ideas, some of which could have a big impact on the electronics and related industries. Would I transform UK education if I had the opportunity? Yes - but quite honestly being a politician isn't an attractive job these days (if it ever was?).
Since age fifteen I've gradually been delving deeper into the guts of computer systems. I started by building a complete, general-purpose, 8-bit computer in Minecraft using only Redstone. I then worked two internships across two summers with Imagination Technologies in their Windows Graphics Driver team.
At around the same time I started getting into OS development. I spent around 6 months with COSMOS (C# Open Source Managed Operating System) before deciding to branch out to develop my own, independent system. Within around 6 months I had a C# OS running at a similar level of complexity.
In the early months of FlingOS I realised that OS development is largely undocumented online. Deciding to tackle that problem has lead to years of continued development both of the code and of online articles and videos, all available free and/or open source.
My most recent work has been researching a new OS system for the new processor architecture I am helping to research at the University of Bristol. In the long term, this system may either be purely an academic project or I might make it more widely available and feature-comprehensive.
As you can hopefully tell, I enjoy understanding the details of computer systems and challenging the fundamental principles on which they were designed. We haven't reached the best design of processor yet and software continues to evolve (with functional languages becoming ever more popular!)
When I was 15 I spent 4 weeks of summer building an entire 8-bit processor from scratch in Minecraft - 32 bytes of RAM in two blocks (dual-ported RAM), basic MMU, full ALU, 256 bytes of program memory, numerous instructions, unclocked, two registers, etc. One instruction every 30 seconds seemed like a modest achievement.
Other than that, my experience of hardware is limited to toy circuits/university society stuff and my Computer Science and Electronics degree at the University of Bristol. I prefer digital electronics to analogue and spend a lot of time working with Verilog and FPGAs (and, inevitably, VHDL and other languages/tools).
In September 2017, I will be starting a PhD to continue research (with Professor David May and others) into trustworthy processor design. Specifically, I will be joining the University of Bristol's new Trustworthy Systems Group (official announcement/website not available yet). First and foremost, I will be looking at formally proving the Integrated Hardware Garbage Collector that David designed and that I implemented and proved feasible in my undergraduate thesis. An open source version of my undergraduate thesis and synthesisable Verilog will be released by July 2017.
Surprisingly, Slide My Way launched its main product nearly 10 months ahead of Google's nearest equivalent product: HTML5 Creatives. But who as a teenager can compete with Google in the online advertising market? Particularly back in 2012 when the industry was still recovering from the financial crsis and other issues. Nevertheless, we had some successful meetings and people were interested. Ultimately, spending time on A-levels and Google's alternative technology meant we decided to shut down after approximately 3 years of work.
For my next startup, I'm looking at hardware and software combined. My PhD is an opportunity to prove and explore ideas in radical new hardware and software design. If it works out well, then there's a good corner of the market to enter into. If you fancy chatting to me about joining the team, business plans or funding plans (angel investment/venture captial), please don't hesitate to contact me.
I'm altruistic by nature so it's probably unsurprising that I've become involved in a number of educational projects. I started teaching whilst running the Computer Science Society at my secondary school in lower sixth and have gone on to work for the University of Bristol's Merchant Venturers School of Engineering Outreach Programme (or MVSE Outreach for short!).
As part of MVSE Outreach I have helped set up and lead the Digimakers Roadshow programme. I created a Micro:bit Space Invaders workshop which we have now taken to over 10 schools across Bristol. We'll be continuing this again next year. The workshops are completely free and we provide all the equipment necessary.
MVSE Outreach also runs its main Digimakers event four times per year in the @Bristol science center (just by Millenium Square in Bristol).
I'm not currently planning to become a teacher, but there is a high chance I will remain heavily involved in education in the future.
I am happy to continue to be involved in the recruitment of 2nd-year undergraduate students for Caterva's year-long placements. I work on this freelance on behalf of Essaimage Associates Limited with Robert Owen and other members of the team. This year's recruitment has come to an end but we will be starting the next round in late 2017.
As part of my recruitment work I have undertaken CV reviews and technical interviews via phone (BT Conferencing system) and Skype. I interview primarily for the Web/mobile development, Data analysis and Control systems developer roles covering web technologies down to C++ programming.