Kevin Ludlow is a 45-year-old accomplished software developer, business manager, writer, musician, photographer, world traveler, and serial entrepreneur from Austin, Texas. He is also a former candidate for the Texas House of Representatives.
Please take a moment to view his complete resume for more information.
Note: the entirety of this website was architected and developed from the ground up exclusively by Kevin Ludlow.
I was first alerted to the fact that Dan Carlin was working on a virtual reality production of World War I several years ago. But it was only in the fall of 2021 that I was made aware it would be opening in Kansas City in the coming months. As it happened, I was regularly in Kansas City at that time and was very eager to see his work. I wound up leaving the midwest and so I missed the opening shows that I had otherwise intended to attend. But with the show coming to an end, I figured it would be wise to spend some time in Kansas City so that I'd finally have a chance to see it.
I've been a huge fan of Dan Carlin for many years now. I've purchased his entire catalogue and have listened to each of his shows numerous times, some of them even dozens of times. They're perfect for solo road trips and as it happens, I make a lot of solo road trips. I've only ever found two people who seem to enjoy them as much as I do; generally speaking, they don't play well to groups. Most people don't seem especially interested in a story that takes 14 hours to unfold.
I primarily started listening to Dan Carlin for his episodes about ancient history. His historical accounts of the Romans, the Egyptians, the Carthaginians, and eventually even the Mongols are absolutely riveting. The perspective one can gain from absorbing these kinds of deeper histories in invaluable to the human experience. This is even more the case when considering any number of contemporary political issues we're facing. It's frankly a little shocking just how distorted people's views are regarding the current state of the world. The truth of the matter is that we are improving the world in massive strides almost daily and yet, the general perception is exactly the opposite. But I digress. The point is simply that getting a wider understanding of these histories has real-life value and helps a person to remain grounded in a sea of ignorance of misinformation.
Somebody once asked me, "How many people actually died as a result of the World Wars?" I was quick to respond with "About eighty million". My answer seemed impossible and yet, a quick Google search would confirm that it's estimated just slightly under that figure. This was a highly intelligent and well-rounded person dubious of my response. So I think it begs the question: how can we really qualify the scope of modern conflicts and disasters when the realities of even the recent past aren't hard-coded into our brains? My grandfather was deployed into Germany during the Second World War. This wasn't very long ago; the past matters.
So while I came for the ancient history, Dan is entirely responsible for having gotten me much more interested in the wars of the modern era. What's more is that almost in the style of Howard Zinn, Dan presents the stories from a variety of perspectives. His series on World War I, "A Blueprint for Armageddon" is one of the most fascinating perspectives of that war I've ever heard. The depth that he goes into, the steps he takes to get there, the primary sources that he pulls, and his passion for telling the story brings it to life in ways I'd not have thought possible.
The World War I museum in Kansas City felt the same way. They partnered with him to create what they call War Remains. In short, the experience is a virtual reality assisted walk through the trenches of a World War I battle. Dan Carlin narrates the action happening all around as you explore on your own. A set was built to match the virtual environment and so the person is able to experience the sensation of flying overhead and walking around the battlefield as it rages on.
A small part of the set you walk through. You can see the barbed wire and sandbags along the sidewalls
The scene is set when the user is flying overhead in a newly designed airship. Flak is being shot into the air and there are dozens of other war-bound airships in the vicinity. When the scene changes, the war ship has "landed" and the user steps directly into the trenches of World War I. Artillery strikes are going on all around. The constant bombardment - known as "drumming" - can be seen, heard, and even felt. The level of detail is phenomenal and I would imagine that anybody who has fought in a war like that would likely experience some very serious flashbacks of PTSD.
I realize that Kansas City isn't a very popular tourist destination, but given the opportunity, I would highly encourage anybody who can get to this show to see it before it closes.
Dave and I at the top of the World War I Museum tower after seeing War Remains
I started making Atti's dog food several months ago. It's been a huge hit to say the very least. I've shared some of the food that I've made with a few other friend's dogs and they too have seemed to really enjoy it. It's not just the fact that she scarfs it down, but rather that her general health seems to have improved dramatically. She was already a pretty happy and healthy little dog, but now she seems to have much more energy, is way better disciplined, and definitely doesn't ever pass up the opportunity to have a meal.
It's a brown rice base with either lamb or turkey and a ton of vegetables. I would prefer to use lamb, but it winds up being considerably more expensive and so I instead use turkey. It's still more expensive than ground beef, but I generally read it's much better for dogs so I use it.
So with that, I thought I'd share the recipe with others.
Ingredients
50 plastic sealable bags - $2.88
6 lbs of 85% lean ground turkey - $19.98
4 cups low sodium chicken broth - $1.98
2 cups long brown rice - $3.05
2 cups organic carrots with stems - $2.98
2 cups spinach - diced - $1.38
2 cups kale greens - diced - $1.18
2 cups organic beets diced - $2.98
4 cups sweet potatoes diced - $1.56
1 Fuji apple - $1.44
1 Asian pear - $2.09
2 cups cucumber diced - $0.48
4 cups broccoli diced - $2.96
2 cups cauliflower diced - $3.18
Total Price: $48.12 (price per meal: about $0.96)
Required Tools
cutting board
large dutch oven with lid
cast iron skillet
large pot with lid
sharp knife
digital scale
Prepare the Rice
Add 2 cups of organic long brown rice into a large sauce pan. Add 4 cups of low sodium chicken broth. Add 1 cup of water. Cover with the pot lid. Bring the liquid to a boil, reduce heat to a simmer, and cook for about 35 more minutes or until all of the water is absorbed / evaporated.
Prepare the Vegetables
Wash the vegetables, but do not remove the skin. Dice all of vegetables except for the spinach and kale. Be sure not to include the seeds from the apple and the pear. Place all of the newly diced vegetables to the side.
Using a large dutch oven (or equivalent pot), place a little bit of olive oil at the bottom of the pot, add the vegetables while continuing to mix them up. Once all of the vegetables have been added, pour in about 4 cups of water. Cook over medium-high heat with the lid on. You'll occasionally need to remove the lid to stir up the vegetables. The goal is to soften them.
My dutch over full of the vegetables that I'm steaming
Prepare the Greens
Dice all of the spinach, kale, and carrot top stems and place them to the side.
Prepare the Turkey
Using a cast iron skillet or equivalent, cook 3 pounds of turkey at a time. Start by coating the skillet with a light amount of olive oil or cooking spray. Add the turkey. Cook over a medium high heat until brown. You'll need to break the meat up using a spatula or similar tool. Once 3 pounds have been cooked, place them into a separate bowl and begin preparing the second 3 pound batch.
Blend the Vegetables
The softened vegetables being 'ground up' in my Kitchen Aid
Add the spinach, kale, and carrot stems into the dutch oven with the vegetables. Stir them sufficiently into the mix. Once they have been mixed, begin taking small amounts of the vegetable mix and place it into a food processor or kitchen aid to be blended. Blend the vegetables into a mix that resembles a pâté.
Mixing Everything
Once everything has been cooked, use a large bowl to mix everything together. Add the rice, the blended vegetables, and the turkey meat. Generously stir the bowl to ensure that everything is properly blended together. It will be about 15 pounds of food and will require some time and effort.
If you don't have a bowl that is large enough to mix all 15 pounds of food together, you can do this step in multiple mix stage. Just try to keep the portions as accurate as possible so that everything is properly mixed together during the final bagging phase. Otherwise you'll have meals that will be disproportionally heavy in either rice, meat, or veggies.
Use a large mixing bowl to mix all of the ingredients together
A bowl full of cooked brown rice ready to be mixed in
Portion and Store the Meals
Determine the sufficient quantity of food that is right for your dog. Atti gets about 5oz. Use a kitchen scale to determine how much of a sealable plastic bag constitutes a single meal. Portion all of the food mix into individual bags.
50 bagged portions stored in 3 separate bags
At about 5oz per bag, I usually wind up getting about 50 meals worth of food out of the mix.
Seal the bags one-by-one and place them into a larger bag. Place this bag into your freezer.
Reheating the Meals
Take one of the meals out, add it into a bowl, and ideally add some boiling water to it. Let it sit out to warm up or place in the microwave for about 90 seconds. Be sure to stir the food sufficiently. Also be sure that it has properly cooled down before serving it.
A few days after releasing the new blog format, I found there was a small bug with the grouping of older month/year combinations. I've since fixed that code and everything seems to be working as expected now.
I should also mention that there has been a great deal of work that's gone into maintaining the page Sitemap. This isn't intended to be used by any regular person, but rather should help the various bots to better index and catalogue the full extent of the site.
I've been meaning to write a post for a couple of weeks now, but I've been especially busy with work!
I've been fortunate enough to be implementing all sorts of new innovations at work and so I've had to balance my development time accordingly. But between the massive code changes to this site (and ultimately the software that runs it), the various publications that I've been working on, the handful of TikTok channels I've started managing, the music work I've been trying to stay on top of, and the numerous travel plans I've been working on (namely to Alaska, Hawaii, Maine, and Africa), things have been extremely busy!
While the site might not look super different just yet, all of the new development code has been merged into the main code branch and I can absolutely say that the changes are plentiful.
One of the biggest changes to come out of the new release has been the addition of my own Blog management software.
How I Originally Modified Wordpress
When I first wrote this software back in 2005 (at which time the project was called staticMOD), I actually had taken the time to write my own blog management software. Blogs hadn't been around all that long and they wouldn't last much longer with the advent of YouTube mostly taking over the space. So although staticMOD relied upon a custom blog interface, the successor codebase. called openFace, did not. Instead I simply modified the backend of Wordpress and used part of it inside of my administrative toolset.
None of my site was actually running on Wordpress. Rather, there was just a nice text editor built into it and so I customized it so that the entries would be saved into my own personal database with my own personal flair. It's worked extremely well for the past 15 years, but I've been wanting to officially move away from it and so I finally have. My goal has been to have as few 3rd party applications as possible.
The Process of Custom Blog Management
I started making these changes in the summer of 2021, but then had to put the project on hold for a little while. I picked it back up in November and made huge strides - generally getting to work on it most every evening. But with many more personal downturns still ahead, I ultimately had to put the project on hold for a few months - which I did. When I finally came back to all of the coding around March of 2022, it's pretty much been a steady sprint to the finish line. And here we are.
There are definitely still some things that I'm working out, but all in all the site is much easier for me to manage. I now have the ability to easily start integrating all of my social media into my own site. I don't think we've yet reached a time whereby people truly value that, but some day they will.
Additional Tech Highlights
There are two additional tech highlights that I'll mention as they've both been incorporated into my software.
In December of 2021, I put a ton of work into a language processing tool. It was essentially designed to be fed any kind of communication between two people and to analyze every little nuance of said communication. I thought it was a pretty cool tool. While I had fun building the project, it ultimately proved to be a huge waste of my time and effort (the project did take me a ridiculous amount of time to make and like most of my projects was coded entirely from scratch).
But as I'm always one to find the silver lining, I took that software and instead retooled it for openFace. I haven't released it just yet, but it has the ability to analyze decades of information that I have and break that information down into much more meaningful pieces, all of which will have accompanying timelines.
And then in April/May of 2022, I finally was able to build my own facial recognition tool. I've only recently found a good script that will allow me to use this, but my hope is that I'll be able to incorporate this into openFace and ultimately have my entire photo (and later video) library automatically catalogued for me with primitive AI.
More Changes Coming
There are still a host of changes that I haven't rolled out yet. As I had previously written, all of the photos and videos are now in a distributed cloud network. They load very fast and much more importantly, I finally have an infinitely scalable filesystem. I will definitely be releasing these assets more and more in the coming weeks and months.
If you haven't yet had a chance to check this out, please do take a look. I've had this idea for a few years now and decided that I would finally implement it for a TikTok audience.
The project is called "No Small Parts" and this first season is called "The Ladies of Seinfeld". I'm primarily building and releasing the videos to a TikTok audience, but have been duplicating them on YouTube as well (albeit not at all trying to promote the YouTube channel).
The idea is to showcase all of the minor female characters and to try and show people what else they did throughout their respective careers. In the six weeks since launching the first episode, I've since released 14 total episodes. They've gotten a respectable 100,000 views or so. Perhaps in time it will start to pick up, but I just enjoy making them.
I have another show that should be coming out before too long. That one is based more on my love of Dan Carlin's history show as well as the extensive literature I've read of execution over the years. After reading "The Faithful Executioner" a few months ago, it occurred to me that some of this material should be retold and I'd enjoy doing it.
But for now, please enjoy two episodes from "No Small Parts - The Ladies of Seinfeld".
Here's episode 2, "Laura", played by Lynn Clark
Here's episode 6, "Donna" played by Gretchen German.
After many, many months of code changes, I'm delighted to announce that this site is about to get a pretty massive overhaul. The changes won't necessarily be visible to the end user (eg: it will still look the same), but the infrastructure that powers the site will be significantly different. It will be much more powerful, much faster, and much cheaper for me to operate and maintain. The end result is that there will be a lot more content (which I don't feel like I'm really lacking in the first place).
What's the timeline?
I started working on these software changes in early November of 2021. It's a passion-project so I only work on it when I have some spare time. I wound up taking some time off from the migration in January and early February, but then got back to full speed in early March. Since then, I've managed to get everything more or less where it needs to be. It'll still be a few more weeks before I can actually "flip the switch", but as I've been wanting to make this change for a couple of years now, I couldn't be more thrilled to be getting so close.
What changes are coming?
The short answer is that it's a massive infrastructure overhaul. Without going into too many technical details, all of the backend software, operating system, database, and processing infrastructure has been upgraded. This should result in the site running much faster and should allow me to add several pieces that I've had in the pipe for years (detailed photo statistics, geolocations, and videos, just to name a few). It's also going to result in all of my media being distributed on networks around the world. While this will likely have the result of my site being indexed much more heavily and routinely, it should also reduce media loading times rather significantly. I've been testing them for awhile and everything seems to be on par with what I'd expect.
Which brings me to the change I'm most excited about: I'll finally be able to put my entire video library online! When I first built the original software back in 2006, I thankfully had the foresight to create full video support. That might not seem like a big deal today, but archiving digital videos back in 2006 was an extremely daunting and difficult technical challenge. I continued supporting my video management with several major upgrades over the years, but it eventually got far too difficult to manage. The bottom line was simply that we were creating digital videos at a rate that was just too cumbersome to keep up with. Not to mention, storing videos is expensive. I stopped trying to make all of my videos available some time around 2014 or 2015. That's a pretty big gap now.
Once the migration is completed, I'll finally be able to start putting these online and properly managing them. I've been using YouTube's API for years to automatically place videos on their site, but I'm hoping that I'll be able to do the same with TikTok.