GithubHelp home page GithubHelp logo

Hello 👋, I'm Matthew Lintern-Monro, but I go by Matt

Who am I?

I consider myself to be a polyglot programmer with various interests. If I'm unfamiliar with a language and its technlogies (frameworks, libraries etc), I will teach myself these to get a project done, something I've had to do in and outside of industry. I'm always intrigued by using a different language to develop a project I've already completed. This can be a good experiement or a bad one; the below example I feel is a good on. For example, the project Systems Monitor similar to htop was developed in Modern C++. Could there be an advantage in writing this application in Rust or Golang, given these are both System Level languages? Anyway, what do I usually do in the workplace? Read about that below.

My past experience includes working in the Oil & Gas Industry and Retail Sector (BI & HR Analytics), utilising a wide range of technologies, allowing Stakeholders to make informed business decisions. My experience in these industries has seen me work on a wide range of projects. For example, from developing shell scripts to load, process and unload large Seismic data sets, to using Machine Learning to try and understand employee absence rates for Tesco and reduce the £2million pa financial loss.

What I'm up to?

  • 🌱 I’m currently working on:

    • Bash-Hacks. A folder of mini Bash scripts which perform all manner of automation tasks. Working on this now and then so I'll always be adding to it when I'm not doing something more substantial.

Ideas for Possible Projects

  • Developing a Multithreaded 2D Chanel Flow Solver for the Navier-Stokes Equations, using the Finite Difference Method and the Successive Over-Relaxation Method, in a variety of languages: e.g. C, C++, & Fortran. Will use the OpenMP API for Multithreading.
  • Developing a Linear & Non-Linear Covective Heat Flow Solver, in C++, using the Finite Element Method and solved via the Successive Over-Relaxation Method
  • Employing Fortran and the GPU to build a Linear/Non-Linear Shallow Water Equation Solver.
  • Physics-Informed Machine Learning. Applying this to Inverse Problems in Geophysics. E.g. Seismic tomography and Geomagnetism.
  • Developing a Compiler using the LLVM Project.
  • Developing a Compiler in C/C++.
  • Developing a Multithreaded Linux Kernel.
  • Developing an Interpreter &/or Compiler in Go.
  • Deloping a basic Operating System in C.
  • Learning the SYCL Programming Model and creating some basic applications with it.
  • Creating a simple Crypto Trading Platform in C++.
  • Creating a Cryptocurrency Trading Bot with a User Interface in Python.
  • Creating a simple Trading Bot in Java. I've never worked with Java and I've always been put off by it; Might be a good time to see why!
  • Creating a basic Online Oil & Gas Data Management System called OGManager, developed in Golang.
  • Could a Physics Game Engine be used for Scientific Simulation/Modelling?
  • Writing a solver for the (Discrete) Fast Fourier Transform using OpenCL. I studied Geophyics so I'm naturally interested in applications of Signal Processing.
  • GPU Programming and Fluid Dynamics: Taking a look at the SYCL Framework and using it to develop a solver.
  • Building a RISC-V Operating System using Rust.
  • Building a Shell in Golang.
  • Building a Browser Engine in Rust.
  • Building my own Container with Golang.
  • Building a simple Terminal Emulator in Golang.
  • Creating a Distributed Service in Golang.

What do I love?

  • Rust.
  • Golang.
  • C.
  • Modern C++.
  • Fortran.
  • MATLAB.
  • Data Structures & Algorithms.
  • Bash Scripting.
  • High Performance Computing: I love seeing how HPC can help with Scientific/Simulation problems. I'm keen to start learning about the SYCL framework too.
  • Computational Science. Like my repo's show, I love developing Numerical Algorithms to solve Scientific and Engineering Problems.
  • Systems Programming: I love knowing how things work under the hood. E.g. Compilers and Operating Systems (Linux).
  • Data Science.
  • Data Engineering.
  • Scientific Programming: Modelling and Simulation of problems in Fluid Dynamics & the Physical Sciences.
  • Applied Mathematics: E.g. Numerical Analysis, Linear Algebra, Ordinary/Partial Differential Equations and (Computational) Fluid Dyanamics.

What are you interested in?

Take a look at these repositories; some of my applications might interest you and might help you out in some way. Or you might look at them and think "Why on Earth has he done it that way, when he could have done it this way!". If thats the case, please let me know as I'm always looking to better myself and my applications.

Systems Programming

Scientific Software Engineering

High Performance Computing Applications for Physical Simulation

Geophysical Fluid Dynamics

Data Science and Machine Learning

Data Engineering

What I've used in Industry

  • Python. E.g. used for: Automation, small-scale Software Development and Machine Learning Algorithm implementation.
  • Data Science Stack: E.g. Pandas, NumPy, Matplotlib, seaborn, SciPy, sci-kit learn, Keras and TensorFlow.
  • Machine Learning Algorithms: E.g. Natural Language Processing, Multilinear Regression, Logistic Regression, K-Means and Support Vector Machine (SVM).
  • Tableau.
  • Microsoft SQL Server.
  • PostgreSQL.
  • Excel/VBA.
  • Linux/Bash Scripting.

Contact Me:

Employment History (Technical Positions Only)

  • Sword Group: September 2019 - November 2019: Geo-Data Scientist.

    • Looked into using Natural Language Processing to search for key information regarding Reservoir Formations in reports.
    • Using Python, developed software which converted folders of reports from docx to PDF format.
  • Tesco CEC: July 2018 - September 2019: Performance Insight Analyst.

    • Automated weekly reports for KPIs such as company performance and staff absenteeism.
    • Worked with the Absenteeism Stakeholders to provide a new dashboard using Tableau rather than Excel.
    • Worked with the Absenteeism Stakeholders to investigate Absenteeism Rates across the year. This was an important project because Tesco CEC was loosing £2million PA due to staff absences. Technologies used in this project: Python, SQL, Tableau and Multiple Linear Regression.
  • Schlumberger: November 2013 - November 2014: Geophysicist & Data Scientist.

    • Assisted Senior Geoscientists with training for clients using Petrel and Techlog software.
    • Provided general Data Management solutions for Stakeholders as and when required.
    • Joined the BP Chili Data Migration Project. This involved migrating all of BP’s Data Assets from OpenWorks DM Software to Petrel and Studio Manager.
    • Acted as a Focal Point for the BP Chili Project in the Schlumberger Houston (Texas) Office. E.g. Producing documentation on the Migration Techniques being employed in the Aberdeen Office.
  • Halliburton: November 2012 - November 2014: Seismic Data Scientist.

    • General duties: Seismic (SEG-Y and P1/90) Data Loading/Unloading and Bash scripting.
    • Developed reports for clients on the life-cycle of their data assets.

Education

  • University of Edinburgh: 09/2022 - Present: MSc High Performance Computing (Online Part-time).

  • University of Aberdeen: 2014 - 2015: MSc Geophysics.

    • Dissertation: Forward Modelling of the Seismic Response of the Sherwood Sandstone Group of the Rhyl Gas Field.
  • University of Liverpool: 2008 - 2012: BSc (hons) Geophysics (Physics).

    • Dissertation: Rate of Change of Earth’s Magnetic Field due to Various Outer Core Fluid Flows.

Tools and Technologies

Programming Languages
Scripting
Data Analytics
IDEs & Text Editors
Databases
Other

Matthew Lintern-Monro's Projects

1d_wave-equation-mpi icon 1d_wave-equation-mpi

1D Wave Equation Discretized using Finite Differences and Solved via Parallelizing the Jacobi Method with MPI

2d-heat-equation_openmp icon 2d-heat-equation_openmp

2D Heat Equation for a Square Plate. Solution found by Iterating through the System Algebraic Equations via the OpenMP API

2d_heat_equation-mpi icon 2d_heat_equation-mpi

2D Heat Equation for a bottle Discretized by Finite Differences; Pallelisation of Linear System of Algbraic Equations acheived via the MPI API

2d_poisson_equation_openmp icon 2d_poisson_equation_openmp

2D Poisson's Equation. Discretized using the Finite Difference Method & Solved by Parallelising the Jacobi Iterative Method via the OpenMP API.

bash-hacks icon bash-hacks

A Collection of Bash Scripts which Perform a wide variety of tasks

build-an-octapi icon build-an-octapi

This system is known as a cluster computer, a kind of cloud computer: Raspberry PI Foundation

calypso icon calypso

Calypso performs magnetohydrodynamics (MHD) simulation in a rotating spherical shell, modeled as Boussinesq fluid driven by thermal or compositional buoyancy.

churn_prediction icon churn_prediction

Application of Logistic Regression to Identify Customer Churn and Why They Churn.

cpp-regression icon cpp-regression

Simple C++ application that performs Linear and Gaussian Regression

cpphtop icon cpphtop

System Monitor similar to htop which displays Computer System Processes in Real-Time.

cppinsights icon cppinsights

C++ Insights - See your source code with the eyes of a compiler

diablo icon diablo

DNS In A Box...Laptop Optimized!

diffusion-equation-fvm icon diffusion-equation-fvm

2D Diffusion Equation. Discretized using the Finite Volume Method and solved via the Successive Over-Relaxation (SOR) Method.

go-projects icon go-projects

A Repo for golang projects I think about on and off.

hacks icon hacks

A Repository of Cryptography & Cybersecurity Concepts & Hacks

hippylib icon hippylib

An Extensible Software Framework for Large-Scale Inverse Problems

imperial_college_uk_covid_simulation icon imperial_college_uk_covid_simulation

This is the COVID-19 CovidSim microsimulation model developed by the MRC Centre for Global Infectious Disease Analysis hosted at Imperial College, London.

magic icon magic

MagIC is a high-performance code that solves the magneto-hydrodynamics equations in rotating spherical shells

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.