I like to write about tech 🖥️, finance 💸, and history 🏰.

Some articles here are opinionated, so just know some of my opinions have changed over time!

Objectify Your Programming

This may sound wrong, but I like to objectify my programs. And I think you should too...

How to Create a Stripe Subscription Service with as Few Lines of Code as Possible

After creating a team billing service, I was amazed at how incredible Stripe Checkout Sessions were. Collecting payments from customers is hard. There are many possible cases to consider such as verifying payment information, international banking standards, and intermediate bank verification steps...

How I Like to Forecast Stock Price

I used to value stocks with a discounted cash flow model. I stopped doing so because slight changes in the discount rate can completely change the valuation of a stock. These days, I try to value stocks based on their earnings growth with some sort of end multiple...

Build Better Algorithms: Three Backtesting Pitfalls to Avoid

In order to understand how well our algorithms will perform in the future, we need to look at how they would have performed in the past. This is backtesting. The process seems easy, but there are many ways it could go wrong...

Keep Transaction Costs In Mind!

Every time your trading strategy buys or shorts a security, it incurs a cost. This cost could be a brokerage fee, driving the bid-ask spread, or even delays in the time your program takes to send an order to your brokerage and the time the order is executed...