Kevin Ludlow is a 44-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 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.
Jerry gets back from a trip to discover that his apartment has been robbed. He plans to move into a new apartment, but after a disagreement, he and George decide to give it to a waitress. She in turn invites them to a housewarming party where we meet Diane, the woman who could have been Jerry’s new neighbor. She only appears in the episode for a total of 39 seconds.
Diane was played by Kimberley Kates who would go on to do 32 more roles.
Following Seinfeld, Kimberley did a couple of productions before being cast as Carol in the beloved series, The Wonder Years. The following year saw a television reboot of Bill and Ted’s Excellent Adventure where she played Bill’s mom Missy in the pilot. Unfortunately the episode never aired. That same year she played the hyper-sexual role of Cindy in the coming of age film, Rescue Me.
In 1993 she starred as Alex Morrison in the movie Chained Heat 2, where she’s essentially a sex slave in a Czechoslovakian prison. And if you’re wondering, yes, her co-star was Bridgette Nielson who you most likely remember as Drogas wife, Ludmilla from Rocky IV.
After Chained Heat she went on to do a few small television roles, one of which was Silk Stalkings where she plays Glee Onager. …before eventually landing a steady role on the ABC series “On Our Own” where she plays social worker Alana Michaels.
Two years later she played Kim Swofford in an episode of the popular Angela Landsbury show, Murder, She Wrote and then several more television shows before landing regular voice work on the cartoon, Eek the Cat followed by the 1998 movie Shadow of Doubt where she plays Bridget Paul and is eventually found murdered.
She took one final television role in the series Charmed where she played Tanjella, a short-lived shop owner. After which she would go on to do 7 more feature films, most of them low budget action movies like Highway where she plays Jilly Miranda.
Her final role was in 2013 where she played Jackie Crawley in a feature film called Mosquito-Man, which is more or less the same plot line as The Fly.
And there is one more role I should mention; it’s probably the one you’ll most remember. The year before her role on Seinfeld, Kimberley played Princess Elizabeth in the original Bill and Ted’s Excellent Adventure.
Jerry is invited to a birthday party dinner where we first meet Vanessa, played by Lynn Clark. She tells Jerry where she works, but he doesn’t actually get her name or her number. He decides to stake out her office so that he can bump into her and ask her out
We see her again 3 episodes later where the two have clearly been dating and Jerry proposes they spend a weekend together in Vermont. They wind up getting rained-in at their hotel and just as Vanessa feared, they realize they have nothing to talk about.
This is the last time we see Vanessa.
The character of Vanessa was played by Lynn Clark.
Barely a month after her debut on Seinfeld, Lynn was featured as Terri in a B-rated horror movie called Demon Wind. It’s a pretty bad movie, but she gets an on-screen kiss, a true horror scream, and eventually even turns into a demon herself. So, all wins there.
She wound up playing Madeline Armstrong for a good run of 20 episodes on Days of our Lives before being cast in a new show called Grapevine. Unfortunately the show only ran 6 episodes, but she was featured in all of them as Susan Crawford.
She did a few smaller productions before getting a cameo as Danielle in an episode of Friends where she’s introduced as a love interest of Chandler’s as the end credits start rolling
Lynn played Diane Sylvius in an episode of Sliders, a popular 90s sci-fi show that ran for 5 seasons. She was cast as Jack Lemmon’s daughter in the movie “My Fellow Americans”. And played the role of Denise’s attorney in a two-part episode of Melrose Place.
Her final acting credit was actually a throwback to an earlier show she had done. In 2000 CBS rebooted the 1992 version of Grapevine, albeit with a different cast. While Lynn was a cast member of the original, she only appeared in a single episode in the reboot as Heather Brewer.