Jim Morrison Software Engineer  

I am a software engineer based in Barcelona with fifteen years of commercial experience. I have worked for many high profile companies in diverse sectors.
Here I will demonstrate some of my skills by showing samples of software I have written in my spare time, such as the program that produced the photo mosaic on the left.



B.Sc. Physics University College London  (69% - Upper second class)
M.Sc. Computer Science    
University of Bristol  (69%)
Programming skills
Java, Android, JavaFX, Swing, HTML, JavaScript, OO concepts, Multithreading...
Siemens Molecular Imaging, Sony, Amadeus, UBS...
Medical imaging, banking, natural language processing, flight control, video editing...  
Languages spoken
English, Catalan and French
Other qualities
Friendly and communicative, with a logical approach based on physics and mathematics
Through many years of experience, I have learned to write code that is clean, modular, testable, readable and robust. My background in physics and mathematics helps me to write programs involving complex business logic.


Mosaikify  is a program I wrote to make photo mosaics. It was written in Java and uses complex algorithms in order to generate mosaics with scattered tile images. I designed the program to be very easy to use, but with advanced options available if needed.
This image was made with Mosaikify in a
few minutes. Roll over it to zoom in.

My Language Notebook  is another program I wrote in Java. It is a notebook to help people learn languages. When you hear a new sentence that you want to remember, you can add it to your notebook. You can categorise, sort and filter your sentences in many different ways. The audio for a sentence can also be added, so that you can practice copying the correct sounds. Sentences are stored in a project which can be exported and shared with others.


Fidget Flowers  is an app I wrote which allows people to relax by creating beautiful moving flower patterns. This program required me to use my knowledge of Java programming, including threading, design patterns and memory management. I also made my own transitions API which is optimised for the requirements of this app, and which required my knowledge of maths.
Here are some other Android apps I have written.

HTML / JavaScript 
I wrote this program to demonstrate the principle of wave superposition. It uses JavaScript to draw onto the HTML5 canvas.
Change the wave characteristics by adjusting the sliders to see how the resultant wave is affected.






This screenshot is from a JavaFX 3D program I wrote to examine and manipulate 3D Hydrogen orbital plots. The user can view the orbital for various energy states, and each orbital can be rotated, zoomed and sliced.
This video shows a program I wrote called Morrix Cube. It's a 3D Rubik's Cube emulator for J2ME mobile phones. This involved making my own 3D API and required the use of very efficient programming techniques due to the limited resources of J2ME phones.

© Jim Morrison 2018                Contact:  naiadsoftware@gmail.com                Find me on LinkedIn