Martin Barker

Full-Stack Software Developer

Resume
About me

In 2019 I graduated from OSU with a BS in Applied Computer Science (Cybersecurity), and am currently living in Seattle, WA. I am also a DJ who uploads rare records online, and creates music-related software projects that benefit the online music community.

Details

Name:
Martin Anthony Barker
Age:
22 years
Location:
Seattle, WA


Education

Oregon State University

September 2015 - July 2019

Bachelor - Applied Computer Science (Focus: Cybersecurity) My applied CS degree gave me the unique perspective of software development from a cybersecurity view. My courses included programming in languages such as Python, C++, C, as well as bash and linux command line experience. I also took courses on web devlopment using NodeJS, HTML, CSS, Javascript, and Django. As well as database setup / management with SQL and PostgreSQL. My cybersecurity courses taught me computer networking protocols and security, as well as threat detection / response. place Corvallis, OR


Careers

Zume, Inc

September 2019 - January 2020

DevOps Engineer (Software Engineer I) Working at Zume before the Seattle office was laid off, I was able to get hands on experience with the full Devops pipeline of code deployment from a local environment to the production clusters. I created Kubernetes clusters from scratch in Google Cloud Platform (GCP), and installed Helm as well as ingress load balancers. I also wrote my own Helm charts and Dockerfiles, as well as created webhooks to trigger the Docker image build process in Jenkins. This process of installing services to different cluster environments (dev / perf / staging / prod) was automated by Spinnaker pipelines that I also wrote. I carried a security mindset throughout all my work, setting up alert monitoring and handling cluster authorization. place Seattle, WA | Zume, Inc

MoxiWorks

June 2018 - August 2019

Fulltime - Quality Assurance Engineer MoxiWorks is an expanding real estate tech startup located in Pioneer Square. As a QA engineer I write automated testing software in Java to cover the Moxi suite of web products as well as their external API. Our workflow uses agile development and sprints to push out new features, as well as git to maintain the shared repo we all work in. This position has helped strengthen my programming habits for writing scalable code meant to be reused / revisited by different people for years to come. It's also given me more experience communicating with a team through daily standup meetings. place Seattle, WA | moxiworks.com

KBVR FM / TV

September 2016 - April 2018

Fulltime - Student Engineer At Orange Media Network I worked as student engineer for OSU's TV / Radio station KBVR FM / TV. I was in charge of learning and teaching state-of-the-art media software / hardware used in our daily TV productions and radio broadcasts. I ran audio for on-location OSU football broadcasts, and was sent to the National Association of Broadcasters convention in Las Vegas by my college in 2015 / 2016. The position helped me gain experience in learning new tech outside my comfort zone, and teaching that technology to students in an understandable way devoid of technical jargon. place Corvallis, OR | orangemedianetwork.com


Projects

popularify

  • Spotify API Javascript AJAX requests
  • Spotify API Auth Grant Flow
  • Python Spotify API
  • Displaying large amounts of data on a page
  • Spotify API create playlist / add tracks

This website organizes a Spotify artist's entire discography in order of popularity. The user can request this sorted list of data without needing to log in to spotify. If they want to, the user can log in on popularify and save the organized data to a new spotify playlist on their account.


songsweeper

  • Django
  • Full Auth Flow (Login, Register, Reset Password, Email Verification)
  • PostgreSQL
  • AJAX HTTP
  • Android Application
  • Chrome Extension
  • Asynchronous Javascript

This project is the result of my frustration with the current state of music listening history analysis. As someone who listens to music on YouTube, Spotify, Soundcloud, and my own files on both mobile and desktop, sometimes all in the same day, I'm sad that there's no way to track my listening data between these platforms. Since competing streaming services like Spotify and YouTube would never share data between each other, I wanted to see what a 3rd-party listening history tracker would look like. So I made a website / android app / chrome extension to track your listening history across all platforms on both mobile and browser devices. In its current state you can track,
Currently this project works in its most simplest form, but I plan on adding much more. I want to get the user experience as convenient as possible, and to make this into something that I would actually use. To do so I'm going to need to offer enough of a service that justifies the installation / managing / user of my project. So I'm going to continuously be working on making this as easy and simple and convenient to use as much as I can.

Github (TBD)


vinyl2digital

  • Python3 Pip Package
  • Audacity mod-script-pipe connection
  • Audio Exporting
  • Metadata Tagging

This is a Python3 pip package that connencts to Audacity's mod-script-pipe for Python scripting, it can batch render each selection of an Audacity track to mp3 files with metadata tags based on a Discogs URL. vinyl2digital makes digitizing vinyl records much easier and faster.
Github


commandLineMusicVideo

  • Python3 Pip Package
  • ffmpeg
  • Video Rendering

This Python3 pip package renders music videos using ffmpeg all from the terminal command line. commandLineMusicVideo is another addition to my work in making the experience of rendering and uploading music to YouTube as simple, easy, open-source, fast, and free as possible.
Github


tagger.site

  • HTML5 / CSS
  • Asynchronous Javascript
  • Audio File Header Metadata

A website that uses Javascript to read header metadata from audio files and generates a tracklisted timestamp.Before this website, the only way to create these tracklisted timestamps for full album YouTube uploads was to manually calculate the tracklengths. A time-consuming task that music-uploaders have been stuck with forever, before tagger.site.
Github


discogstagger.site

  • HTML5 / CSS
  • Asynchronous Javascript
  • Discogs API

A website which uses the discogs-api to generate comma separated metadata tags based on a discogs release URL. Before this website, if you wanted a list of tags to put in a YouTube video, you would have to write them by hand. This site simplifies the process for music uploaders by generating a list of tags based on a release's info, artists / aliases, tracklist, and more. The info is displayed allowing for users to adjust how much of each category they want in their tags.
Github


KEXP Playlist

  • Django
  • PostgreSQL
  • KEXP API

A Django website that posts the last hour of music played on Seattle's radio station KEXP 90.3 FM using the station's API, and organizes the plays in a table with a form for users to store / edit comments in a PostgreSQL database. This project was to get practice using another music source's API for storing plays in an organized fashion.
NOTE: Hosted for free on Heroku, website may take 3 minutes to load.
Github


bashAlbumExporter

  • Bash Script
  • ffmpeg
  • Audio / Video Codecs
  • Video Rendering

This bash script uses ffmpeg to turn audio files (mp3 / flac) and an image into mp4 videos you can upload to YouTube. I use this script for all my YouTube video uploads as it is easier, faster, and free compared to other video rendering software such as Sony Vegas / Adobe.
Github


VLC-Radio

  • Python 3
  • PyPi Package
  • Command Line Interface
  • Audio Metadata Exporter
  • VLC Media Player

A Python package that pulls song metadata and albumart from VLC media player, and saves it to a desired location. Intended to make the process of displaying what's currently-playing easier for streamers. This script is primarily useful for automated radio streams on YouTube.
Github


VLC-Playlist-Randomizer

  • Python 3
  • PyPi Package
  • Command Line Interface
  • VLC Media Player

A Python program to randomize a VLC playlist .xspf file. VLC's built in random-feature jumps around and doesn't shuffle all too well. I built this script so I could generate unique playlists for large amounts of songs to play with my VLC-Radio project.
Github

More