Samuel Schmidt

I'm Sam Schmidt, a software developer based in Montreal, Quebec. The majority of my projects are in PHP for web applications, but I'm also an experienced Java developer that has dabbled in Python.

I've built high availability server applications for telephony systems, and massively parallel applications for cloud system management. Besides developing applications, I've been responsible for their deployment and maintenance of server and cloud-level environments supporting them.


Online powersports retailer. Carried out major refactor and performance optimization of the legacy Magento 1 codebase and implemented Varnish Cache Server. Followed up by a complete rebuild of the mobile experience; viewable on mobile devices or with a mobile user-agent.


PHP library for Request Tracker ticketing system REST API.

Self Modifying Code

After spending some time with Clojure, I missed being able to dynamically modify code while in the middle of a testing or debug session. This library is a wrapper for Runkit that allows easy reprocessing of a source file while a debugger is paused, or running a console session (as with psysh).

Unfortunately, runkit doesn't work with PHP7, so neither does this library.

What Is My Purpose? Demo

Based on this clip from Rick and Morty, I thought it would be funny to turn that into a randomly generated answer. Then I used DosStrap to make it look old.


reserveFresh is an e-commerce platform built specifically for farmers and their needs. It provides farmers with an online storefront for their market, where customers can view the products available at market and make reservations for pick up.


Zero-footprint testing of Magento 1 on a per-module basis. Most Magento 1 test harnesses require the module to be installed into the Magento framework. Prophet is completely configuration based, and only modifies the runtime when the test system is running. At all other times, it is impossible for it to modify the system.

Staples Theme

Whenever possible, I prefer to run tools in the CLI. My preferred shell is zsh, with my personal dotfiles based on oh-my-zsh. zsh has a feature that allows displaying additional info on a second right-aligned prompt section, but I didn't find any themes that used it to the extent I wanted. So I took the one that came closest (bureau) and modified it to my liking.