Photo by Chris Liverani on Unsplash

In an earlier post I mentioned I was playing around with option trading strategies. Now I have some more progress. First, a quick TL;DR from the previous work. The plan is to sell out of the money call options and then buy them at a higher strike, netting the difference as profit. To hedge this position I’ll buy the underlying stock.

Now I want to show how I’ve been searching the market data for opportunities. There are a lot of competing factors so I’ll have to weigh them against each other. I want:

  • Maximal upfront premium payment
  • Buy/sell ratios that…


Photo by Markus Spiske on Unsplash

The recent GameStop short squeeze piqued my interest in the world of finance. Back before I started software development in Python, I worked at a hedge fund administrator pricing over-the-counter (OTC) derivatives. This was mostly interest rate swaps, swaptions, and credit default swaps. We never dipped much into equities because those are readily traded on exchanges and our focus was on products which were sold outside of exchanges. …


Become the surveillance state leveraging facial recognition software from AWS Rekognition.

Photo by Matthew Henry on Unsplash

Facial recognition is a controversial topic. While the technology itself is impressive, it raises a number of privacy concerns, and it’s ripe for potential abuse from bad actors. In my effort to better understand the current capabilities of facial recognition, I came across AWS Rekognition. I was amazed (and somewhat terrified) at how easily I was able to put together a proof-of-concept API leveraging this service to find pictures matching a new reference image. I’m going to walk you through that process so that you too can better understand how this can be used, for good or for evil.

In…


The classic mistake of ruining a hobby by attempting to monetize it

Professor Dogwood homepage.

This month, I finally shut down one of my side projects, Professor Dogwood. It was a site built to price decklists for the Pokemon Trading Card Game (TCG). Four years ago, I had high hopes and such excitement making and launching it, but it’s clear now that it’s time to end it. I haven’t updated it recently, and while it did get some minor traffic, I don’t think anyone will miss it. This isn’t the story of a million-dollar startup failure, and the only thing I’ve really lost is time. …


I did the research on finding your first keyboard so you don’t have to.

My TAB75 with Ice Cream keycaps 🍦 💖

After a lot of internal debate and research, I decided to get a mechanical keyboard. I don’t claim to be a keyboard enthusiast and this post isn’t meant to convince you to get one. In fact, you probably don’t need one. A mechanical keyboard won’t make you a better programmer, writer, or gamer. But if you have any interest in them but feel overwhelmed about where to even begin getting one, then you’ve come to the right place. I’m going to tell you how I went through the process of selecting my board and keycaps from an absolute n00b perspective…


My beautiful vim config

When I started programming, I never imagined myself using vim. As an undergrad, my advisor did everything on the command line and watching him work was mesmerizing. The cursor moved and things happened and I didn’t understand at all how it worked, but there was an elegance to it. I think that he used emacs rather than vim, but that’s neither here nor there. His muscle memory powering his keystrokes to accomplish tasks with ease.

In college and my first few years on the job, I used Eclipse (yes even for Python). Eclipse felt like what a programmer should be…


My finished insert for Burgle Bros

I love playing board games. I play at least once a week with a regular group and much more than that with my wife after the kids are in bed. More of my most recent hobbies have revolved around gaming, like miniature painting or dabbling back into Magic the Gathering (don’t judge me). When I received a 3D printer as a Christmas gift, I knew exactly what I wanted to do with it: make board game pieces and inserts. Having a great insert can really help with the setup/tear-down time for a game, and that means more time for playing.


I’ve been working with Python for more than a decade now and my local environment setup has gone through numerous iterations over that time. In the past few years I’ve used both Linux (Ubuntu) and OS X for my primary development operation system at work. Recently I setup a new Linux laptop and spent the time to better document how I had everything setup and configured. I chose tools which I could setup the same on both my personal Ubuntu machine as well as my Mac for work. I hope this can help you if you are new to Python…

Mark Lavin

Python/web developer with too many random hobbies. I work for Melon (https://www.melonusa.com/) but my opinions are my own.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store