sarsooxyz.hugo/content/dev-engineering/index.md
2022-11-15 09:14:35 +00:00

6.6 KiB
Raw Blame History

title date draft
Dev & Engineering 2021-01-17T22:59:40+00:00 false

{{% image-box-link src="/posts/visual-search/mapSurfaceWithMax2.png" href="/posts/visual-search" title="Visual Search" caption="MATLAB" %}}

{{% image-box-link src="/posts/lpss/hood_m_gram.png" href="/posts/lpss" title="Speech Synthesiser" caption="MATLAB" %}}

{{% image-box-link src="/posts/markov/StateTopology.png" href="/posts/markov" title="Hidden Markov Models" caption="MATLAB" %}}

Holoportation

C++ [Kinect SDK, OpenCV] C# [Winforms, Unity 3D]

Holoportation is an area of research exploring the ability to livestream 3D environments over the internet. The technology has many applications for AR/VR experiences like 3D sports and music events or smaller-scale applications like a 3D Twitch.

The holograms are captured in the form of a point cloud, a cluster of coloured dots that, when presented correctly, can appear like the original object.

{{< figure src="/images/holo-avatar.jpg" >}}

My undergraduate dissertation documented extending the LiveScan3D holoportation platform to allow multi-source streaming. The existing capabilities allowed a single scene to be captured in real-time and streamed elsewhere for viewing, multi-source allows multiple independent scenes to be received and composited at the same time (a many-to-one system).

{{< youtube NP0aVjuk5fU >}}

Read More

{{% image-box-link src="/posts/draught/checkers-board.png" href="/posts/draught" title="Draught" caption="Rust + Js" %}}

{{% image-box-link src="/posts/game-of-life/gameoflife1.png" href="/posts/game-of-life" title="Game of Life" caption="Rust + Js" %}}

Mixonomer

Python [Flask] JavaScript [React]

Mixonomer is a web app for creating smart playlists for Spotify. These playlists watch other playlists to use them as sources of tracks. These tracks are filtered and sorted before updating a Spotify playlist.

Updates are run multiple times a day or on-demand. Additionally, Last.fm integration provides listening statistics for your playlists.

{{< figure src="/posts/mixonomer/cloud-structure-3.png" alt="cloud structure" >}}

The project began as an exercise in recreating the functionality of Paul Lameres Smarter Playlists app. This tool had become a really important part of my daily listening habits as a way of combining my smaller sub-genre playlists into larger mixes.

The app has a Python back-end written in Flask. The front-end was built using a Node + Webpack + React stack.

The system is now deployed with a fully serverless architecture.

Read More

Try It Out

Source Code


Selector

.NET [ASP.NET, Redis, Docker] TypeScript [Vue]

A Spotify listening agent which watches what you listen to and presents related data and information in a live dashboard. Spotify presents some interesting track data that isnt visible in the official clients such as its beats-per-minute, key signature and a musical descriptor.

{{< figure src="/posts/selector/dashboard.png" alt="dashboard" >}}

Read More

Try It Out

Source Code


Listening Engineering

Python [scikit-learn, Jupyter]

Spotify and Last.fm are two powerful platforms for music data and consumption.

I wanted to explore what insights could be found in my 3 years of Last.fm scrobbles when augmented with Spotify data. Ideally, I also wanted to be able to apply the intelligence to the Mixonomer playlist pipeline.

Spotify provides audio features for the tracks on its platform. These features describe a number of qualities for the tracks including how much energy it has and how vocal it is. I investigated whether the set of audio features for my larger genre playlists could be used to classify tracks by genre.

Read More


Signal Processing

Throughout my studies I found myself particularly interested in the signal processing and AI modules, these have included:

  • Computer Vision and Pattern Recognition
    • Visual Search Report
  • Robotics
    • ROS Labs
  • Speech & Audio Processing & Recognition
    • Linear Predictive Speech Synthesiser
    • Hidden Markov Model Training
  • Image Processing & Deep Learning
    • CNN Training Coursework
  • AI & AI Programming
    • Shallow MLP Coursework

Posts

Coursework Code


I've been coding for 8 years and I now work as a software engineer in fintech. Day-to-day this is in C# and TypeScript but I also like working with Python and Rust. I keep all of my projects on GitHub.

Alongside development I also enjoy working on infrastructure, I have 5 years experience using Linux and managing networks. I have experience working with cloud technologies from virtual machines, web server PaaS and serverless functions to NoSQL, Big Data SQL and pub/sub messaging. Much of this experience was gained during my Mixonomer project and during my Disney internship. As part of my dissertation, I used a global cluster of virtual machines as an environment to measure and experiment with holographic video QoS over long distances.

At university, I was particularly interested in the software side of the field including modules in programming, signal processing and AI. I also took a set of modules in semiconductors and nanoscience.

Posts


Awards

Throughout my time at university, I earned multiple awards for academic achievement

  • Deans List for Academic Achievement (2018)
  • Lumentum Award (2020)
    • Awarded for achieving the highest mark in my third year Semiconductors & Optoelectronics module
  • Atkins Best Oral Presentation 2nd Prize (2021)
    • Awarded for giving second best oral presentation for multi-disciplinary design project. Project involved designing a fully renewable ship and depot to repair sub-sea fibre optic cables.