Blog

  • Williams’ Moon Patrol Gameplay Transformed With Stable Diffusion

    Moon Patrol game screenshot transformed with Stable Diffusion.

    For the next few weeks, I’m going to be sharing some of the images that I have created using Stable Diffusion, an opensource generative AI text-to-image model created by Stability.AI. Today begins the series with images based on a classic video game.

    Earlier this year, I used the low-resolution screenshot of Williams’ 1982 Moon Patrol video game from its Wikipedia page and manipulated it with Stable Diffusion and Automatic1111’s stable-diffusion-webui tool. After many, many iterations with img2img and some inpainting, I arrived at the image above. The most difficult part of the image was creating the moon buggy with six wheels, something that most SD 1.5 derived models seem to abhor.

    Later, I took another stab at transforming the gameplay screenshot to a high resolution version. This time, I used controlnet to create the moon buggy based on the Alvis Stalwart. With inpainting, I was able to achieve great detail and lighting on the buildings.

    Wouldn’t it be cool to see a new Moon Patrol game with high resolution graphics and ray tracing? Layer on backstory, mythos, and a brooding protagonist and it could be the next Halo series!

  • Attack on Titan and Coeur de Lion MacCarthy’s War Memorial Statue in Niagara Falls, Canada

    Coeur de Lion MacCarthy's War Memorial Statue in Niagara Falls, Canada

    Y and I finished watching the Attack on Titan (2013-2023) anime series tonight. The character of Survey Corp Commander Erwin Smith reminded of this resolute WWI soldier bronze statue by Coeur de Lion MacCarthy at Niagara Falls, Canada.

    Considering wars past and present, AoT points out the irrationality and tribalism that propels these kinds of conflicts. It reflects the seeming inevitability of repeating past mistakes mired in violence and death. The rebooted Battlestar Galactica (2003-2009) covers much of this ground, too. Even though the subject matter and mythologies in these series are different, they are clearly in dialog with one another regarding the human condition, free will, tribalism/social structures, and propensity for violence over dialog and compromise. Both seem to say that we are doomed to repeat

  • Aircraft Parked at McKinnon Airport on St. Simons Island, GA, May 2019

    Coastal Biplane Tour's Waco UPF-7 at St. Simons Island Airport at McKinnon Field, May 2019.

    Two weeks ago, I shared photos that my folks took of a 1929 Ford Tri-Motor passenger plane that they took a ride on from St. Simons Island Airport at McKinnon Field. Here are some more pictures of light aircraft parked at that airport that I took a few years later in May 2019. There is Coastal Biplane Tour’s Waco UPF-7 bi-plane (above), a variety of Cessna and Beechcraft Bonanza light aircraft, and a cool Velocity SE canard pusher home-built/experimental aircraft.

    Waco UPF-7 Bi-Plane, and Different Cessna and Beechcraft Light Aircraft

    Parked line of Cessna and Beechcraft light aircraft on the left and Coastal Biplane Tour's Waco UPF-7 on the right at St. Simons Island Airport at McKinnon Field, May 2019.
    Cessna and Beechcraft Bonanza parked in a hanger at St. Simons Island Airport at McKinnon Field, May 2019.

    Velocity SE Home-Built/Experimental Aircraft

    Velocity SE homebuilt/experimental aircraft parked at St. Simons Island Airport at McKinnon Field, May 2019.
    Velocity SE homebuilt/experimental aircraft parked at St. Simons Island Airport at McKinnon Field, May 2019.
    Velocity SE homebuilt/experimental aircraft parked at St. Simons Island Airport at McKinnon Field, May 2019.
  • How to Refinish Hardwood Floors

    Refinished hardwood floor in downstairs bedroom.

    When Y and I lived in Atlanta, our house had a downstairs bedroom that we used for an office. However, it was an odd room. The kitchen and downstairs bathroom had tiled floors, and the rest of the downstairs–dining room, living room, and den–had hardwood floors. That downstairs bedroom had medium pile carpet. When our friend Masaya asked if he could visit us, we thought it was a good opportunity to refinish the downstairs bedroom as a guest room with hardwood floors. Here’s how we refinished its floor to match the stain of the rest of the downstairs.

    First, I pulled up the carpet in the closet and a corner of the room to verify that it was the same kind of oak flooring as the rest of the downstairs. Having verified this, I began cutting and rolling the carpet and padding.

    Refinishing a carpet covered hardwood floor. First, remove the carpet and padding.

    The padding had been glued down–thankfully not over the entire floor–but enough that I had to scrape some of it and the glue off the wood flooring using a paint scraper. However, I went slow and carefully to make sure that I didn’t gouge the wood with the tool. Whatever I didn’t get up, I knew that I could sand down eventually.

    Refinishing a carpet covered hardwood floor. Second, scrape the carpet padding and glue off the wood floor.

    Then, I used a hammer to pull up the carpet tack strips around the edges of the room and vacuumed the floor clean.

    Refinishing a carpet covered hardwood floor. Third, pull up the carpet tack strips and vacuum the floor clean.

    For the next step, I went to the local Home Depot Rental Office to rent a stand-up belt sander for floors. This thing weighed about 100 pounds. It’s weight combined with a handle operated mechanism to engage the sanding belt against the floor and pull it forward made quick work of sanding the floor and removing all old paint, glue, and stains. As the wood wasn’t in too bad of shape, I used a fine grit sandpaper. Also note that when you use a floor sander like this, you want to move in the direction of the boards and give each pass a little overlap for an even finish across the whole floor. Also, you can see that I have the windows open. Even though the sander has a bag to catch the sawdust, it can’t catch it all. Open your windows and cover outlets and air returns to keep that dust from getting into places it shouldn’t be.

    Refinishing a carpet covered hardwood floor. Fourth, use a belt sander to sand most of the floor's surface.

    Halfway through, I changed out the belt for a fresh one. This probably wasn’t necessary, but I might have noticed some change in the sanded floor’s finish by this point in the project.

    Refinishing a carpet covered hardwood floor. Changing the floor belt sander's sandpaper belt.

    After using the belt sander over the whole floor, I saw some spots that needed additional work. When I did these spots, I went over the entire run as just using it in one spot might leave a dip in the floor. As I worked, I used the shop vac to keep the floor as clean as possible from the extra sawdust produced by the sander. And, around the edges of the room and inside the edges of the closets, we used a handheld orbital sander and sanding blocks to sand the 2″ or so on all sides that the belt sander was unable to reach due to its design.

    Refinishing a carpet covered hardwood floor. Fifth, use a belt sander to sand troublesome spots but cover the entire run to avoid dips.

    After returning the belt sander to Home Depot, we cleaned the floor again and applied water to the wood with cloths to “pop the grain.” This makes the wood more receptive to the stain so less is needed to achieve the results that you want.

    Refinishing a carpet covered hardwood floor. Sixth, just before applying the stain or stain/poly combo, get the floor damp to "pop the grain."

    Before, we had taken photos of the existing hardwood floors in the house using natural light to capture the best image of the stain. We took this to Home Depot and matched it to a water-based stain and polyurethane combo so that we could finish the floor as soon as possible and give it time to cure and air out before moving furniture back in anticipation of our friend’s arrival.

    With the wood damp, I stirred the stain/poly combo according to the instructions on the can and poured out some into a paint tray. Then, I dipped a foam paint/finish applicator into the stain/poly and gently worked it into the wood in the direction of the boards.

    Refinishing a carpet covered hardwood floor. Seventh, stir the stain/poly combo according to the directions, pour it into a paint tray, and work it into the wood in the direction of the boards..

    Once completed, give the floor enough time to air out and cure before moving things back in. If you don’t have to walk on it, just wait until its met the cure time as this will give you the strongest possible finish.

    Refinishing a carpet covered hardwood floor. Eighth, give the finished floor enough time to air out and cure.

    I didn’t want to pull up the baseboard, so I went back after the floor’s finish had cured and repainted the baseboard (putting down plastic, taping the edge, and putting enough coats to hide the stain that hit it). In hindsight, I should have taped the baseboard to protect it. However, the best option is to pull up the baseboard and reinstall after refinishing the floor.

    We were very happy with the results. It was ready for our friend’s visit and we used it as an office again after he returned to Japan.

  • New Page Showcasing Text and Image Generating Programs Predating Contemporary Artificial Intelligence (AI)

    A robot drawing a picture with pencil and markers. Image created with Stable Diffusion.

    Since I’ve been writing about different kinds of software that generate text and images without using modern artificial intelligence (AI), I wanted to thread them together on their own page under the Research heading in the site menu above and available here.

    Currently, the page collects together my posts about image generating software KPT Bryce and Evolvotron, and text-generating software Electric Poet, Kant Generator Pro, Mac Prose, and McPoet 5.1. I will update that page with additional links as I publish posts about other pre-AI generative software.