This page has a list of all of my projects, current and completed.
This was my first computer I had built myself. I was building my own at the time but due to a faulty part was waiting on a delivery of the last part and managed to complete this computer before finishing my own computer. Featuring an Intel Core 2 Duo E8400, 4GB RAM, 400W PSU and Radeon 4670 this computer was neatly assembled for Mr Thompson. As part of my service for building the system I had agreed to help maintain it for 3 years afterwards.
This computer was important to him because it was designed to be able to play a few modern games and enjoy the usual activities on the computer.
As mentioned above, my own PC came slightly after my first build. My PC had a Core 2 Quad Q9550, 4GB RAM, a Corsair HX850 850W PSU and a Radeon 5670. It was primarily used as a data center, featuring three 1TB drives and two 2TB drives and a 120GB solid state drive. The system lasted just 2 years before I felt it was time to start a new project. The project was codenamed The Platypus. After a long two years with the system, with many upgrades from the original specification, it was time for an upgrade, as I had read how good the Core i7 was for video editing due to it's new QuickSync 2.0.
The Zebra was a necessary upgrade on my previous PC and was designed specifically for its advantageous video editing capabilities. The Zebra featured a Core i7 2600K, 8GB RAM, the same Corsair HX850 850W PSU and a Radeon 7950. The purpose of this computer was also as my first purpose-built gaming computer. The Zebra was my primary PC for programming, video editing and website creation because it is equipped with QuickSync 2.0 and RAID for the best in performance and reliability.
The Zebra had a fault from the offset unfortunately, and something that I thought I could put up with, until one day I decided to replace the whole system after the motherboard manufacturer refused to help me fix a broken USB port that had been there since day one.
Due to a fault in the motherboard of the system, that Gigabyte refused to pay for the collection for, the system's CPU had to be sold. In turn a new system was build. This one was built with pretty much the same specifications as the Zebra but with a Core i7 4770K instead of the Sandy Bridge based 2600K. It had another Gigabyte motherboard, this time without faults from the offset.
This PC lasted 5 and a half years as my main gaming PC and my only Windows machine. It was purchased during my transition away from Windows to Mac and Linux based systems and so it's replacement was delayed due to the fact I couldn't decide whether to buy a new desktop computer or just get a new Mac and ditch PC gaming for once and for all.
I was approached by a friend on the subject of building a gaming PC for them. As someone who had lots of experience, they asked for my advice on parts and asked if I would put the system together for them.
The system consisted of an Intel Core i5 4670K, 8GB of RAM, 1TB hard disk drive and an AMD R9 280X. These parts were selected based on the customer's own needs as well as budget.
My brother wanted to have a PC built for him and specifically asked if I could do this for him. I agreed to do this and began selecting parts that would allow him on a very tight budget to build a decent computer.
The CPU selected was an Intel Core i5 6400, a Gigabyte GA-Z170-HD3P motherboard and 8GB of high-quality DDR4 memory. To keep the price down we located a second hand hard disk drive that lasted for two years after purchase before being replaced.
A Sapphire Technology RX 470 graphics card was selected alongside a Corsair CX650M PSU to top off the system.
The Red Revolution is my first non-Intel based gaming PC. This is in fact only the second AMD powered PC I've ever owned, having been a brand loyalist to Intel for a long time.
The parts were selected again by me. It was assembled by me too. The system features AMD's Ryzen 7 2700 CPU, combined with 16GB of DDR4 3200MHz RAM, 1 NVMe 240GB SSD, 1 SATA III 240GB SSD, 2 SATA III 2TB HDDs, 1 SATA III 3TB HDD and my old Corsair HX850 850W PSU. All of this was put into the new, upgraded and much bigger version of the Corsair 600T that was featured with both the Zebra and the Zebra X2, the Corsair 780T.
The system, as always, is built without a budget, so there are no limits to what I could put in, however, I always try to choose what is appropriate for what I need the system to do and in this case the system is designed for some modern gaming, video editing and as a storage system (hence the big case with lots of disk slots).
This computer is the only computer I have built for myself where standardised RGB lighting is at the core of the system design. In fact, it's the only PC where I have focused on choosing certain components over others because of the RGB lighting effects.
Sadly, my ten year old Corsair HX850 blew after a spider entered it within the first six months of me owning this PC, just three days after turning 10 years old and expiring its warranty. It was replaced by a Corsair HX850i digital PSU.
In late 2018 I was approached by another person about building a PC for them as word of mouth got out that I had done this several times before. I took on the challenge again, even though at the time I was looking to build my own PC.
This was a difficult build because it needed to be less than £600 and yet powerful enough to run modern games. The compromise had to be made between performance and the budget. The system chosen featured a Gigabyte X470 AORUS GAMING 5 motherboard with an AMD Ryzen 5 2400G with Vega graphics to keep the CPU costs down, the GPU chosen was an AMD Radeon RX580, the system has 16GB of RAM and a Corsair CX450M PSU. Costs were kept down by selecting a relatively cheap hard disk and NVMe drive as well as a well priced chassis for the system (pictured).
BudgieBase was an application developed for Dave from Blackpool. Dave bred budgies and wanted a manageable solution for maintaining information about these budgies. That's where BudgieBase came in handy for this purpose. It was my first bespoke application. It gave options for choosing colours and other features which could be easily changed at any time to give more flexibility. The application also had a user interface for inserting information as well as a backend table for storing the database.
Built for my father, BookBase was a database application built on BudgieBase. It was designed more for books, of course. The application stored the ISBN, author, title, a photograph, a field for who is borrowing the book and a barcode. The book would be stored in the database and if anyone were to borrow the book, you could quickly scan it and the database will register it as being borrowed. The next step was simply to specify who was borrowing it. BookBase and BudgieBase evolved into my own Record Checker.
I opened this site on the 14th of April 2010 using a simple template that my host at the time provided. The purpose of the site was to speak about me, mainly. In 2012 I put my software on my website so that others could download it and use it. By late 2012, I had learned a bit more about web development and decided to refurbish my entire website. After finishing the refurbishment in January 2012, I decided to redo it again, releasing version 3.0 in June 2013. This version, the current version, was fully functional in December 2013. Finally, the current version, version 4.0, was released in January 2018 built with my own Girder framework.
Since about June 2013, my web development skills have improved so drastically that now I see myself as a web developer rather than just a software developer.
Elements Office logo
Elements Office Ultra Edition has been designed as a fully fledged office suite. The suite is now made of multiple individually downloadable applications, including Cobweb, Painter Pro, Record Checker and Wonderword. The suite has been under development for years since 2005.
Elements Office has now taken over from Octangonal Office which had a similar design. I am the lead programmer on this project, and work with my brother who creates icons for the software.
My brother and I began to work on a program called Painter Pro. It started off as nothng but a simple drawing application but as the project grew so too did the effects library that powered it.
In October 2009 I released the first beta of the application. In 2011, along with all other software projects, Painter Pro went through a massive change - moving the program into a library that can be reused over and over again. Until about 2012, when I was primarily a software developer, development was fast and new features were added every month. In 2013, when I changed my course and became more interested in web development, which I found that I'm even more talented at, Painter Pro was one of the things that suffered the most due to the lack of development.
In mid-2014 when my website was how I wanted it and officially finished, I took up development again and Painter Pro, Cobweb and BlackRabbit Script became my sole projects in software development. They all received many new features and updates.
Painter Pro development was officially stopped in 2018.
My main project throughout the time between 2011 and 2015 was BlackRabbit.
BlackRabbit Script logo
BlackRabbit was my own scripting language that took advantage of my class library and the classes and methods within it. Work continued until October 2014 when it became very apparent that it was going no further and needed to be redesigned from the foundations up.
In May 2015, I started ZPE, which is based on the original concept of BlackRabbit Script. The language that was used within the compiler and runtime was called ZenLang but eventually got the name YASS or Yet Another Simple Syntax.
ZPE/YASS is the official dialect of YASS that my ZPE compiler and runtime works with and it is fully based on the official formal specification that I have developed for YASS.
Here is a sample of YASS:
function multiply($n, $times) //Multiply $out = 0 for($i = 0, $i < $times, 1) $out = $out + $n end for return $out end function
ZPE is much more popular but also a lot more powerful and cross-platform.
Whilst I was at a summer school course in 2009 as part of my university work, I was working on SecondLife. I had to make a model using the limited resources of SecondLife. Thus, my team of three decided to make a Chain Chomp model whose mouth would open and close and his eyes would follow avatars as they get closer.
Not everything we had planned went into the project, but it did achieve the majority of what we set out to do. We were still very pleased with the end result, and whilst the model may have been very simple, SecondLife does not have an incredibly good way of moving the whole model at once, so our concept of making the whole Chain Chomp follow the user around whilst being chained down did not work.
Our team won and I received the Merit Award for Computer Science.
My work in SecondLife in 2012 consisted of working on a Pokemon. My idea originally was to make my own Pokemon and then make it do it's own thing, however, a friend of mine in the class suggested that we both make Pokemon and make them battle. I worked on about 200 lines of code that works on weaknesses and super-effectives (now available as YASS code) from Pokemon as well as a communication method whilst we both designed them. The rest of the battle involved communication and self maintainted animation for all the attacks and abilities. It worked very well and the project received a total mark of 86%.
The project was extremely good fun and competitive and whilst learning SecondLife seems to be a waste of time at university, it helps to encourage one's own creativity. I had finished the project well and truly on time, finishing the whole Pokemon the week before it was due. In reflection, I feel that more could have been done with model itself and I could have tried to use Blender to build the model, but I was more focused on the programming element of the whole idea.
As part of the same project, I took the options a bit further. I created a Pokeball that stores the Flygon within it, rezzing him out of the ball. I then also added another Pokemon (similarly Dragon typed) to the Pokeball called Altaria, who is also pictured. Altaria did the same as Flygon and has animation as well, giving the user of the Pokeball a second choice.
Altaria was also able to do similar things to Flygon, but I did not complete it before the end of the project as my priority was with Flygon and chose to leave Altaria with just the basic animations that already existed. I would have liked to have added more features to Altaria such as wings that come out of the clouds and perhaps mixed the moves up a bit.
Both Pokemon were stored inside the Pokeball, which I thought was a lovely touch to end the whole project. Although this project was a collaborative project, my partner who was working on his Pokemon only contributed the model of his Pokemon, whereas I made two models and all the source code for battling (however, the source code had to be made by myself because I had it all planned, and it worked in a very complex manner, so it would not have been ideal for both of us to work on the code).
For the whole project, I came third in the Crufts event for my project.
Flitter, a major project that I was involved in at the end of the first semester of second year, was one which shows off my web programming and design skills. A lot of Flitter's style came from my site and I was the main designer of the site. We all worked together on the PHP side of things.
My lecturer complimented our project continuously and we received 24.5 out of 25 for it.
I have hosted Flitter here.