Hi, I’m Sam. I'm a software engineer with a scientific background and a lifelong passion for technology. I'm enthusiastic about learning and have a methodical mindset when faced with challenges. Software drew me in because it allows me to express logical creativity and bring value into the world with what I have built.
In my spare time I tinker with things to fix and improve them, or at least teach myself something in the process. Most of my project ideas have come from noticing something that could be improved with a software implementation and saying "I bet I could...". All of my professional roles have had a strong focus on problem solving and I leverage this experience whenever I'm confronted with an obstacle.
Tetris has been my favorite puzzle game since I can remember and I decided to make my own version in JavaScript so that I could fine tune the gameplay just the way I wanted it. This meant designing my own animations, themes, difficulty system, and maintaining a leaderboard server for high scores.
GitHub Repository Live DemoA Google Chrome extension allowing users to send private, encrypted messages to each other over the Slack web client. Users can set a secret key and are provided with a button in the Slack editor which uses AES256 to encrypt their text. The extension leverages DOM mutation observers to watch for incoming messages and attempt to decrypt them, and allows users to establish a shared key using a custom implementation of the Diffie-Hellman public key exchange method. (Click the thumbnail for more information)
GitHub RepositoryI designed and built my own cloud platform with 8 Raspberry Pis running Kubernetes, complete with load balancing and dynamic persistent storage provisioning. I was able to push the limits of the system by setting up a scalable Jenkins server that was capable of automated CI/CD to the platform with GitHub webhooks. I have since reworked the configuration a few times, once to switch the container runtime over to runC when Docker became deprecated, and again to explore running K3s in an effort to observe the potential resource gains by running a lighter weight distribution.
Kubernetes Article Jenkins ArticleClick the button to send me an email and find me at the links below
Send Email