sarsooxyz.hugo/content/dev-engineering/index.md
Andy Pack ea61941c25
All checks were successful
Deploy Hugo site to Prod / Build Container (push) Successful in 24s
more css changes, smarter box link
2024-10-13 22:44:17 +01:00

8.9 KiB
Raw Permalink Blame History

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

Gitea Python Rust Docker Kubernetes

{{% image-box-link src="/posts/mixonomer/PlaylistExample.png" href="/posts/mixonomer" title="Mixonomer" caption="Python + React" %}}

{{% image-box-link src="/posts/selector/dashboard.png" href="/posts/selector/" title="Selector" caption="C# + TypeScript + Vue.js" %}}

[Infrastructure]({{< relref "infra" >}})

I manage my local and cloud infrastructure with Terraform + Ansible + Docker. I've found this stack incredibly powerful so I've written a post about my patterns and what I love about it.

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

Basically, Terraform creates and destroys infrastructure, Ansible manages the OS-level stuff and then the services I run use docker compose. I use a bootstrap Ansible role instead of golden images.

[Read More]({{< relref "infra" >}})

{{% 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 Synth" caption="MATLAB" %}}

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

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 id=NP0aVjuk5fU autoplay=true controls=false loop=true class=youtube-embed >}}

Read More

{{% image-box-link src="/posts/dnstp/server.png" href="/posts/dnstp" title="dnstp" caption="Rust" %}}

{{% 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

GitHub


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

GitHub


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

GitHub


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.