Toby Davis' Website

Hi, I'm Toby Davis. I'm interested in

high performance computing

and

machine learning

.

I'm a self-taught programmer with a passion for writing fast and efficient code. I am proficient in C++, Python, Javascript and many other languages.
Image
LibRapidHigh Performance Computing

Title 1

Card Image

Test Description but it's really long to test how the card wraps text and to see whether the little grey box expands to fit the description

LibRapidHigh Performance Computing

Title 2

Card Image

Test Description but it's really long to test how the card wraps text and to see whether the little grey box expands to fit the description

LibRapidHigh Performance Computing

Title 3

Card Image

Test Description but it's really long to test how the card wraps text and to see whether the little grey box expands to fit the description

LibRapidHigh Performance Computing

Title 4

Card Image

Test Description but it's really long to test how the card wraps text and to see whether the little grey box expands to fit the description

About Me

The Early Days

I first started programming in Scratch many years ago, where I made a few simple games and animations. At some point I moved on to Python, where I learned to write more complex programs. Wanting to visualise the things I made, I learned Processing and spent a huge amount of time writing games, simulations, animations and more.

Machine Learning?

At some point in my programming journey, I found a video by Code Bullet where he made a very simple genetic algorithm to teach dots how to find a target. After watching the video repeatedly, I attempted to recreate the algorithms myself.

After a couple failed attempts, I finally managed to create my very first machine learning program. That was the moment I fell in love with machine learning. I spent countless hours learning about supervised and unsupervised learning methods, writing my own neural network libraries and creating more advanced and powerful programs.

My favourite project was a simple self-driving car that I developed. A car would cast rays out in multiple directions, receiving information about the distance to the nearest wall. This information was passed into a neural network which determined whether the car would accelerate, decelerate, turn left or turn right.

After a considerable amount of time waiting for the inefficient program to train, I was left with a car that could drift around corners and complete the track perfectly.

Speed and Power

Soon, I realised that the programs I was writing were too inefficient to be practical for larger projects, so I started to learn C, which proved to be a bit more difficult than I had anticipated. After a day or two of failing to fix countless bugs, I gave up and moved on to C++, which I found significantly easier to learn.

Although I did eventually go back and learn C, C++ has become my favourite language to work in and I have developed a very good understanding of it. I've developed a range of libraries and programs in C++; most notably, LibRapid , which is an incredibly fast, open-source linear algebra library I have been working on for a while now.