About me
Decades in a blur.
Modeling and Simulation Expert with extensive Machine Learning experience, particularly in computer vision, reinforcement learning, time-series prediction, and generative AI
Miyamoto Musashi and Nathan Myhrvold have greatly inspired me. Musashi, a 17th-century Japanese swordsman, was not only a skilled fighter but also a writer, artist, and philosopher. Myhrvold, a modern-day polymath and entrepreneur, holds over 800 patents in fields ranging from culinary to technology. Bill Gates has described him as the smartest person he’s ever known. Separated by centuries and continents, these two figures are united in a common belief; that experience across different fields can help one solve problems more creatively and ultimately lead to higher achievement in any given field.
Studying Machine Learning has given me a better understanding of why this philosophy may work. To make robust models, we have to build them in a way that increases the likelihood that future data will fall within the bounds of the training data. We use techniques like data augmentation and feature engineering to make our training data go farther and improve its performance on our test set, but really, there’s no substitute for more pure training data, covering more scenarios. Similarly, for people, expanding the breadth of our past experience is what enables us as humans to be able to ‘think out of the box’ and introduce ideas from outside the sphere of the current problem we’re working on to come up with the best solution.
“Disruptive” ideas are very rarely new… they are often just re-applications of old concepts into a new space.
Education
I’m a graduate of the same engineering program as Bill Nye the Science Guy; the Sibley School of Mechanical and Aerospace Engineering at Cornell University. This was a fantastic program, and I highly recommend checking it out if you’re looking for either an undergraduate or graduate engineering program. The Sibley School, and Cornell’s Engineering College as a whole, really try to give you a holistic education; everyone learns a little bit about everything. We took numerous programming courses in Java and used MATLAB in just about every high level class. We took technical classes covering all subjects from chemistry to circuit design, and we were required to take at least two semesters of writing, another semester of technical writing, and six semesters of liberal arts. I chose to focus on philosophy and cognitive science, which helped develop my broader problem solving ability. This sort of broad curriculum lines up extremely well with the latest findings in neuroscience, which suggest that the best way to excel in particular field isn’t to just dive super deep, but to learn about other, potentially unrelated subjects as well, so you can apply principles from elsewhere to problems in your own field and come up with more creative solutions in general.
Anyway, my undergraduate degree originally led me to get a structural engineering job at Electric Boat designing nuclear submarines. However, as cool as “designing” nuclear submarines sounded, the reality of the situation was that I was a glorified checker of other people’s work. Often at these larger companies, draftsmen do the design work while engineers simply perform analysis on those designs to ensure they work correctly. This was a pretty disappointing first experience out of school.
So, I returned to Cornell to get a master’s degree. During orientation, I learned about a brand new multidisciplinary graduate program for “Systems Engineering,” Now, it’s important to note here that this is not to be confused with the more prevalent “network systems engineer” IT profession, which hadn’t yet risen to dominate the job boards when this was created. The original “Systems Engineering” role was actually quite old… dating back to Bell Labs in the 1940s, and gaining popularity during the space race in the 1960s. You can read more about it here.
Essentially, this program would teach me how to manage the design and production of extremely complex systems, which is exactly what I had originally been hoping I would be doing at Electric Boat. I was hooked and spent the next year working pretty insane hours and pulling more all-nighters than at any other time in my life. But it was totally worth it, and it was extremely interesting stuff. I learned project management from a sociologist and system modeling from the engineer who overhauled and optimize Harley Davidson’s entire business operation. I took a class on how to use optimization algorithms to design more efficient mechanical systems, and another class on how to design feedback control systems for virtually any type of device, just to name a few. And I got to actually design and build a submarine, leading the mechanical engineering team for the university’s Autonomous Underwater Vehicle team. The team leader had the very ambitious goal of doing a complete redesign and rebuild that year, which hadn’t been done for several years prior. It was a fantastic experience.
Early Career
After graduating, I moved to Washington D.C., and got a job as a Systems Engineer with a consulting company called VisiTech, Ltd. This job was the complete opposite of what I experienced at Electric Boat. I was able to use all the skills I’d just fought so hard to acquire during my masters, and I got to work with some extremely smart people, helping to design a deca-million dollar simulation for the U.S. Navy intended to help them offset a huge portion of the costs of conducting live fire exercises with simulations of various attacks and responses. It was interesting, I learned huge amount about how to model 3D physical environments, and I had the opportunity to present at a wargaming conference at Annapolis. While the project was classified, here is a public-facing slide deck about it if you’re curious.
In 2007, I founded Varna Energy Solutions with a good friend of mine from college, whose mission was to leverage the latest technologies to help homeowners reduce their energy consumption. Our original focus was on ground source heat pumps, and after a few months, we were accredited installers, working on our first install.
However, it turns out that 2007-2008 would not be a great time to start a business, especially one focused on the residential building sector. After the financial collapse, we lost a lot of momentum. My partner decided to go on to something else, but I was determined to see things through a bit longer. I actually managed to start growing the business a bit by pivoting away from heat pumps and focusing on the testing and modeling of homes to determine what the most cost-effective home improvements might be. Things started to take off a bit… enough so that I hired my first full-time employee (another Cornell engineer) to help manage the load. But the growth eventually stalled. More and more companies started doing “energy audits/assessments,” and most offered them as loss leaders (i.e. ways to pitch a sale of their core business). The price competition really started to make me doubt whether the hours were worth the effort, and I didn’t see a path forward that would improve matters. I made the incredibly difficult decision to close Varna in late 2009.
Luckily for me, the work that I’d done with Varna hadn’t gone unnoticed. The company that implemented one of the energy efficiency programs that I had participated in on behalf of the New York State Research and Development Authority (NYSERDA) had been really impressed by what I’d been doing, and reached out to recruit me. A month or so later, I found myself working for Conservation Services Group (CSG), later to be acquired by CLEAResult, the largest consulting company in North America focused on renewables and residential energy efficiency and consumption. If you’ve ever participated in a solar program or a rebate/incentive program for either a utility company or a state / regional government anywhere in North America, there’s a very good chance that program was at least in part designed or operated by CSG or CLEAResult.
I spent the next seven years working my way through a multitude of different projects and roles for several different clients. I had numerous direct reports over the years, and I found CLEAResult to be a great company to work for. I worked with world-class statisticians and software engineers to perform analysis and build new tools. And my analysis was able to affect policy nationwide. In 2014, I was given the opportunity to present some work I’d done on the efficacy of air source heat pumps at a national conference (ACI) that’s typically attended by most major utilities and state agencies. It was a great experience.
Getting into Modern Machine Learning
In 2016-2017, life hit me hard. First, my wife and I had our first child. Then, a few months later, my mother died. These two events happening in such quick succession made me question what I was doing with my life. I wanted to build some sort of legacy for my daughter, and my own sense of mortality really made me feel like time might be running out to do something big with my life.
Around this time, I also learned about Reinforcement Learning (RL) for the first time. I quickly fell down the rabbit hole and spent countless hours reading books, taking online courses on modern machine learning (especially RL), and trying to figure out what I might be able to do with it. The first project that came to mind was managing my stock portfolio; a task that I’d come to realize, humans were generally terrible at. By late 2017, I’d made a lot of progress getting a stock recommender working, but I realized that if I really wanted to make this successful, I would need to work this problem full-time. So, I left my senior consulting job with CLEAResult, and dedicated myself to building a fully automated trading platform. My goal was to basically just set this thing up to manage my retirement account and maybe set up a fund or ETF with it if it worked well enough, which would help me fund my next, more ambitious projects.
This took me quite a bit longer than I expected, but by late 2019, I had a system that could theoretically beat the S&P500 and was testing it live in parallel with some synchronized test orders to help me better calculate slippage. The concept of my system was based on modeling the stock market as an N-dimensional ocean, where perturbations in stock prices cause ripples to flow outward. Like if a bad news article comes out about Google, you would expect to see their stock dip, but their competitors’ prices will also likely change one way or the other, depending on the nature of the news. I hypothesized that these ripples move across the market from company to company and that within certain timespans, their direction and magnitude could be modeled, and you could predict what companies would feel their effect in the future. Backtesting showed this worked quite well. I ran countless simulations where the model would train on all the historic data up to a given date, stop training, then simulate testing the next day. Then retrain with that date, and step forward again. This technique is called “walk-forward” validation.
Things were going quite well, and I was considering putting real money into it. Then, the pandemic hit and the market went nuts. My system did not handle that huge dip in March 2020 well at all. Even though my model had been designed to be as general as possible, capturing overall market flows rather than looking too closely at any one company, the problem appeared to be that the whole market was just acting in a completely unprecedented way. So, I decided to mothball this project for a year or two and focus on something new until the market stabilized and I could use the data from the pandemic to help train and test something a bit more resilient.
I started working on three new projects in 2020. First, was a hurricane forecasting system that I’d been toying with as a hobby for a while. It used live weather data along with near real-time satellite imagery to forecast the track of hurricanes using a dedicated neural network. I created a tutorial for accessing certain satellite imagery from NOAA via AWS (available here), and began talking with NOAA about developing my model into a full-blown system through a grant.
My second project entailed a martial arts app that used human pose estimation to help coaches and students get the most out of online zoom classes. I built this using Google’s MediaPipe library. I found that the z-coordinate of the detected joints in images from this library was far too inaccurate to be useful. I still have confidence in this project’s long-term viability, but needed to wait for some updates to the core tech to come out for it to become market ready. Google has put out some fixes, and I intend to revisit this project post-COVID, provided remote workouts are still a thing.
My third project was to build a platform that can generate personalized children’s books using real pictures of your kid, automatically. My daughter loves stories that include her, so it seemed like an obvious product. Once I did a quick search, I found that indeed, there were many companies making personalized children’s books. But, as far as I could tell, none of them used photos for anything other than a random one-off picture. I decided to change that.
Founding Slokie
By 2021, I’d started working on this idea full-time. I wanted to avoid the mistakes I’d make with Varna, so I focused this business on making the core processes and infrastructure as automated and scalable as possible. I wrote two books, hired an artist to create the background art, learned how to use cloudless architecture to host a scalable machine learning-powered system, built and deployed said system, experimented with multiple printing vendors’ APIs, sampled their finished products, and incorporated Slokie LLC. The store is currently live and taking orders. It is almost entirely automated, so I’m starting to explore options for a new project while I revisit some of my old ones and decide what’s next.
If you have a project that you think I’d be a good fit for, then please reach out. I’m open to anything that involves using Machine Learning in a cool new way.