I had an interest in computing from a young age when my family brought an Atari ST, which was used for everything from small games, office work and even adding rudimentary stop motion animations to family videos. This was interest into how computers worked developed rapidly when introduced to Linux and the Open-source ecosystem as a young teenager. Providing access to tools and example code without a financial barrier to entry.
Many of my early programming projects were attempts to reimplement existing software to gain a better understanding of how they worked. This included producing network messaging and email clients in python along side a few small attempts at mathematical simulations, including a simple simulation of moon orbits.
During my late teens I took an A-level in computing which also introduced the Pascal programming language.
To gain a better understanding of the inner workings of the computer and as an exercise in 'low level' software development I produced a basic bootloader and small operating system. Including a command line interface, filesystem driver and the ability to execute simple programs.
This process was also documented in a collection of small tutorials which have been included within the tutorial section of the "Bona Fide OS Developer" website. An updated copy has since been added to my GitHub account.
With full time employment in ICT the opportunities to develop software simply to further my understanding was greatly reduced. However my role as well as providing an abundance of network and system maintenance experience gave me opportunities to write small scripts and programs to automate some of my routine tasks. This included producing an internal website users could use to interact with a commercial printer credit system. Another example is a hardware auditing solution which used a visual basic script to collect hardware and user information which was then sent to an internal PHP site for storing in an SQL database to later produce statistics on computer usage, age etc.
While my undergraduate degree course included a bioinformatics module and frequently required the use of the R statistics language I wasn't able to fully utilise my prior computing knowledge until later in my Molecular Genetics and Bioinformatics course. This course as well as the R statistics language and Linux shell scripting included modules in Python, Java and SQL databases.
My undergraduate research project required the use of various closed and open source statistics and analysis programs. Including the R language and the COLONY microsatellite analysis program. While unfinished I did attempt to use Python to automate the analysis of the ABI files. However due to time restrictions this was unused and Peak Scanner was used instead. But the code could still be a starting point for producing an open source cross platform ABI file parser.
My post graduate research project required the production of an SQL database using python which could analyse large genomic datasets, interact with other software packages and perform analysis which could be useful in locating LINE1 Chimeric Transcripts (LCTs). This software is still seeing occasional work to prepare it for wider use. Much of this development work is now taking place on my GitHub account.