Welcome to my website! My name is Peter R. Bloomfield. I am a professional software engineer, amateur musician, all-round geek, and member of British Mensa.
My main goal for this blog is to share technical articles about topics I encounter through my job, my professional development activities, or when tinkering with personal projects. I hope that the information is useful for others who are exploring similar areas. With that said, writing about what I’m doing is also intended simply to help crystallise what I’ve learned.
I also like to share some of my musical compositions and recordings from my free time. Hopefully others will enjoy listening as much as I enjoy playing.
First and foremost, I consider myself a hardcore C++ programmer. I get a lot of satisfaction from getting down into the low-level nitty-gritty details of algorithm design and implementation. I especially enjoy working on R&D projects, as I am doing in my current job at Optalysys. The work involves cutting-edge optical computing technology. I’m quite new to it, but it’s a fascinating and exciting field.
I have a BSc. Hons in Computer Games Technology from the University of Paisley. (It has since re-branded as the University of the West of Scotland.) It was an intense 4 year course which focused heavily on C++ programming. It drew from several others areas too though, including maths, artificial intelligence, and physics. Despite the subject of my degree, I’ve never worked in the mainstream games industry. However, I used my game technology expertise at Vertual for several years, where I worked on a virtual reality medical training system for radiotherapy education.
I also have a PhD in computing from the same institution. My research topic was a somewhat niche area of educational technology which has more-or-less disappeared from academic circles now. It involved integrating an immersive virtual world with a web-based learning management system. I learned a lot during my PhD journey, although it ended up being quite an ordeal towards the end! I currently have no intention of going into a conventional academic career in future.
How I got started
I’ve been programming since I was about 5 years old. It was the late 80’s, and my dad (who worked for IBM at the time) bought us a ZX Spectrum +3 to use at home. Admittedly, I mostly played games on it (N.O.M.A.D. was one of my favourites), but I enjoyed occasionally trying to make stuff happen in BASIC. My dad wasn’t a programmer at all, but he had enough technical knowledge to help me get started.
I got a bit more adventurous with programming when I discovered QBasic on our first IBM PC in the 90’s. At one stage, I spent a long time figuring out the maths for a basic perspective projection. Somehow, I got it rendering rudimentary 3d wireframe graphics in real-time. I didn’t turn it into a full game or application. It was simply my very first tech demo!
As a teenager, I eventually moved on to C++, mainly because it was the main language used in games development. I made the mistake of starting with a book about Visual C++ though. As a result, I ended up getting bogged down in some very Microsoft-specific stuff instead of learning the language properly. Nonetheless, I made a few fun little games using MFC for my own amusement.
Later, I went back and started learning C++ properly from the ground-up. I started at university shortly afterwards.
(This section is coming soon…)
My old websites
In the past, I’ve kept my technical and music blogs separate. I called my technical blog “Avid Insight” , and my musical blog “Lycius Moment” or “prbMusic” at different times. I decided to bring everything together into one website so that it’s more clearly associated with me personally.