- Expert Mentors
- How it Works
- Become a Codementor
PhD in Fluid Dynamics. Experienced developer in MATLAB, python and Flask, with experience ranging from startups to heavy industry.
No rating yet
Session / Job
For every 15 minutes
A test-driven developer with strong background in data visualisation, computational geometry, optimisation and an increasingly strong machine learning skill set. I also have the attention to tedious detail required to create logically structured, swagger compliant, intuitive and well documented APIs and web services :)
- 12 years experience
Long standing experience using MATLAB to develop a range of toolboxes and standalone software products, mostly for industrial applications requiring design, optimisation, image processing, computational geometry and data / signal analysis. I have a deep understanding of the MATLAB core language and a wide range of toolboxes, including the MEX interfaces and optimisations available within MATLAB's JIT compiler. I use MATLAB's (underrated and underused, IMO) Object Oriented capabilities extensively. Experience includes: - implementation from scratch of a toolbox for wind turbine fluid dynamic analysis (including particle based wake solver requiring novel and elegant tree based methods to be computationally tractable) - implementation of a toolbox for end-to-end image processing, tomographic reconstruction and particle image velocimetry for fluid flow measurement (for more info view my thesis at http://www.dspace.cam.ac.uk/handle/1810/243622 ) - implementation of a complete propellor analysis and design toolbox for ship propulsion, which was used to create award winning designs (using a custom implementation of a constrained genetic optimisation technique - long before MATLAB had a global optimisation toolbox to do that). - implementation of a tidal turbine drivetrain design tool in simulink (collaborative work) used to design drivetrains now in use within the industry).
- 3 years experience
Three years of experience in Python, developing RESTful web services, including powerful machine learning microservices. Worked on (and developed from scratch) multiple applications including providing backend services for: - a smart cities travel routing tool - a machine learning application for legal contract analysis - a data analysis and management platform for engineering processes (especially scientific data acquisition and management) - intelligent power forecasting for wind power applications - an IOT gateway server for a device control and administration application - a locally hosted (sensitive data) medical data visualisation application Most of my python applications have been web services using the Flask framework, with which I've become very familiar, although I've recently developed several command-line tools in python I have a framework app based in Flask that is great for quickly designing and developing APIs as well as template-based front ends.
- 1 year experience
Where called on, I've used FORTRAN on multiple occasions (mostly to develop or update fluid dynamic analysis or engineering codes), often with MATLAB MEX interfaces. My FORTRAN experience includes: - a fast algorithm for tomographic reconstruction of multiple images - design/optimisation codes for ship propellers Being a stickler for code style, my FORTRAN code tends to be clear and maintainable, avoiding poor practices like COMMON variables. I've coded in F66 through to F95 and have experience with particulars of the Intel Math Kernel Libraries and compilers. Although I have extensive experience with object oriented programming (from MATLAB, python and C++) I've not used FORTRAN for OO code - everything I've needed it for has been entirely functional.
- 4 years experience
I have 4 years of on-off experience with C++, including implementation of a data processing library (and command line toolset) for environmental measurement instruments, drawing heavily on the numerical libraries provides by Intel MKL, Google (google test framework and ceres-solver) and the eigen library for matrix/array manipulation. However, whilst my implementation is clean and ever improving, I'm not yet ready to mentor in C++, as my development is too slow.