ChatGPT WordPress Plugins

This is kinda bananas.  Years ago I wrote a plugin to solve a problem I had.  I wanted a simple WordPress plugin where I could insert a shortcode into a blog post, specify a series title, and have it automatically search up all the other blog posts that used the same shortcode and series title, and then insert a nice looking list of blog posts in that series in chronological order.

It was one of my first plugins, still available on WordPress.org – just hidden since it hasn’t been updated in almost a decade.  It still works to this very day, if occasionally a little buggy.  After several WordPress versions, it no longer properly displays the series title, which is a real shame.

On a whim, I tried using ChatGPT to generate some plugins.

Here’s an example of my old plugin and the new ChatGPT written plugin (in this order):

Default Series Title

See how bad that was? It completely mangled the title.

Edit:  Since publishing this post, I realized that I would have to choose between

  1. Leaving the old defunct plugin in place just to make a point about how it didn’t stand the test of a decade’s worth of WordPress updates, but then also leaving broken series titles sprinkled through my back catalog of blog posts.
  2. Go back through nearly 10 years of blog posts12 to change them over to the new plugin shortcode.
  3. Disable the old plugin, but have the new plugin work with the old shortcode as well as it’s own new shortcode, at the cost of losing an example of how bad the old plugin performed.

I went with option 3.  Just take my word for it, it looked bad.

He makes a valid point

He makes a valid point

Now for the ChatGPT version:

Software Development with ChatGPT
  1. ChatGPT WordPress Plugins

It took me about an hour to whip up a working WordPress plugin with the same core functionality.  I would break down the time I spent as follows:

Time Spent Creating Series Plugin with ChatGPT

But, that’s not all!  You see, as I was writing this blog post, I realized it would be fun to include a pie chart to indicate the time I’d spent on this.  Unfortunately, the plugin I had written to do exactly this many years ago has apparently completely given up the ghost.  Thus, before I proceeded to this very sentence, I used ChatGPT to create a plugin for displaying custom pie charts!

Time Spent Creating Pie Chart Plugin with ChatGPT

Obviously, this plugin took a lot longer.  The first few versions were having all kinds of problems between the HTML Canvas code and trying to figure out how to make sure the javascript was not loading too early or too late.  In the end, I just asked it whether it was capable of even creating a pie chart – and it gave me a piece of workable javascript.  I told it to refactor the plugin using this same javascript, and then it was a matter of fine tuning the result.

If you don’t know anything about writing WordPress plugins, you could probably use ChatGPT to create a very simple plugin.  However, once it got slightly more complicated, it would likely require some troubleshooting to figure out what was happening.  In the series plugin it took me a while to root through the WordPress functions to figure out that apparently ChatGPT was trying to use a function in a way that simply did not work.  I explained to ChatGPT that that particular function could not operate in that way, explained how the data it was feeding into that function needed to be first modified, and then asked it to refactor the code.  From that point forward, it started to look a lot better.  There were some additional quirks – like putting more than one series title in a single post would only display one.  I suspect these problems of ChatGPT taking a shortcut to generate code, hardcoding certain variables and names, not considering that it might need to operate more than once on the page, may be difficult for it to anticipate and address.  Without some degree of WordPress development knowledge, I think a novice user armed only with ChatGPT would need to do a lot of refactoring, asking the program to generate the plugin all over from scratch many times, before arriving at a workable result.  Then again, a million monkeys at typewriters, right?

I think ChatGPT could be great for creating relatively simple plugins like a series plugin, a pie chart plugin, or even a table of contents plugin.  However, having seen how much time it cut out of the development process, I think it would be interesting to try developing an A/B testing plugin or more complicated plugin.

I think the next task to see if I can get it to generate QMK code for a keyboard, Arduino code, Raspberry Pi code, or a chrome extension.

I can already see some ways to improve both of the ChatGPT generated plugins used in this blog post.  My series plugin included two arrows at the bottom so the reader could navigate to the prior or next post in the series.  And I think it would be great if the chart plugin had a feature where I could specify the units, so the magnitude data would be included with the labels.  I may try getting it to shoehorn these updates later…

If you see these reflected in the charts above, I must have already done it.  :)

Software Development with LLMs
  1. Series Plugin Test for Illustrative Purposes Only
  2. ChatGPT WordPress Plugins
  3. Coding with an LLM Sidekick
  1. NGL, I can really be a lot some times. []
  2. Um, you’ve probably gathered that. []

Series Plugin Test for Illustrative Purposes Only

The only purpose for this post is to serve as a reference for a more interesting and useful post.

Software Development with LLMs
  1. Series Plugin Test for Illustrative Purposes Only
  2. ChatGPT WordPress Plugins
  3. Coding with an LLM Sidekick
Software Development with LLMs
  1. Series Plugin Test for Illustrative Purposes Only
  2. ChatGPT WordPress Plugins
  3. Coding with an LLM Sidekick

[custom_pdf_generator visitor_data=“John Doe”]

 

DIY Carved Eraser QR Code Stamp

After some modest success carving some neat designs into pink erasers, I tried making a QR code stamp.  It didn’t work well at all, with exactly just one impression working … sometimes.

The first attempt took a really long time and turned out terribly.  After a few days break, and some mental distance from the project, I returned with some new ideas and inspiration.

Here was my new approach and plan:

1. The Stamp

  1. Go Slow.  Proceeding slowly and methodically is always a good idea with sharp instruments.  I went fairly slowly the first time, but this time I would be even more methodical.
  2. Cutting.  Rather than using the carving blades for the QR code features, I switched to using a craft knife.  It was just too hard to cut precise lines with a V or U shaped blade, managing not just the direction and speed of the cut – but the depth as well – for both sides of the blade.  The craft blade let me focus on just one side at a time.  I used the blade to cut at about a 45 degree angle along one side, then other side.
  3. Don’t Cut Too Much.  I used calipers to measure the pixels cut into my first attempt as well as the stamped result.  I discovered \the stamp pixels were very slightly larger than their rubber counterparts.  This tells me it would be better to cut too little rubber – and cut more later if necessary.
  4. Removing Scraps.  Rather than sticking my big old fingers into the eraser or trying to pop it out with the blade, I used a pair of 3D printed tweezers to pluck them out.

2. The QR Code

  1. Optimize the QR Code.  There are several ways to optimize a QR code for eraser / stamp carving. 1.  I used as many of these methods as I could:
    1. “Pixel” Size.
      1. As you add more information into a QR code, the QR code generator will need to use more black and white units2 to encode the information.  After some tinkering it seems like the smallest QR code that can be generated is 441 total pixels, 21 wide by 21 tall.  The absolute largest QR code I could generate looks like one of those “magic eye” posters.  I didn’t even try to count how many pixels wide this thing was.  It’s 9,216 pixels, 96 wide by 96 tall.

        This slideshow requires JavaScript.

      2. I was having a hard time carving a stamp 21 pixels wide into a 24.5 mm3 wide eraser, so the idea of carving more than 21 lines into an eraser by hand seemed not feasible.  The very next step up from the 21×21 grid would be a 25×25 grid, so I knew I had to find a way to limit the data, find the best error correction, and find a way to cut these small pixels and thin features.
    2. Proper Error Correction.
      1. QR Codes have built in “error correction” that allows the user’s scanning device to scan information from a partially formed, damaged, or obscured code.  These settings range from L (low), M (medium), Q (quality), and H (high quality) able to error correct from up to 7%, 15%, 25%, and 30% damage respectively.  Lowering the error correction allows you to create a smaller QR Code, but it will also be less robust.
      2. I fiddled with these settings a lot to find the maximum amount of data I could put into a QR code while still retaining a maximum size of 21×21 pixels.  I was able to encode about 16 characters in a L, 13 characters in a M, 10 characters in a Q, 6 characters in a H.  The code stores numeral easier and requires more pixels to store letters and special characters.
      3. My first attempt used an error correction level of L, but was basically unusable as there must have been more than 7% distortion.  This time, I decided to try for a very high level of error correction with the Q setting for 25%.
    3. Reducing Data.  This is where I used some tricks you may, or may not, be able to replicate.
      1. URL Shortener.  A TinyURL link to my Instagram page requires 29 characters.  Looking above, this would immediately suggest a 21×21 pixel QR code would not be possible.
      2. Trimming a Link.  After some fiddling, I realized that as long as the data encoded looked like a URL (as in some characters separated by a “.”), the QR code scanner would interpret it as a link.  This means we can skip the “http://” and “https://”, saving 7-8 characters!  Unfortunately, this still doesn’t let me encode the shortest URL that TinyURL could give me which requires 20 characters after discarding the “http” stuff.
      3. Maybe Just a Domain?  Maybe you just wanted to point someone to your website and not a big long link, shortened with a URL shortener.  Let’s work the numbers backwards.  Most commonly used domains end with “.com”, “.org”, “.biz” – with 4 characters each.  Using the information above, this means we could use a domain name with up to 12 characters for an L encoded QR code, 9 for an M, 6 for a Q, and just 2 for an H.  While it would be easy to find a 12 character domain, you’re stuck with only a 7% margin for your error correction.  A domain with 6 to 9 characters for Q and M would allow for 25% and 15% error correction.  You can still find 6 character “.com” domain, but… they’re unlikely to be very memorable.  This isn’t necessarily a problem.  You might be able to find a good short domain with an unmemorable name, but forwards the user to your real website.  The problem, of course, is that no one is going to want to click on that link.
      4. How About a custom URL Shortener?  It’s still possible to purchase a short URL, but they’re pricey.  I happened to buy a good one several years ago and have hung on tightly to it.  I slapped a YOURLS install on it, and have been using it ever since.  Using my own URL shortener means I can keep the URL down to just 9 characters – including the TLD!

Okay, back to carving.  I grabbed my headphones, put on some music, and took it very slowly – a little under two hours.  Here’s some progress photos:

This slideshow requires JavaScript.

Here’s how it looked (with some additional shots to show the original design overlaid):

This slideshow requires JavaScript.

I stamped this design 9 times – and all 9 were more or less easily scannable.  The neat thing about this design is that it points to a URL shortener I own, so not only is it about as tiny as possible, but I can change the destination if I ever needed – without having to spend two hours recarving an eraser stamp!

Eraser Stamp Carving
  1. Carved Eraser Stamping
  2. Further Adventures in Eraser Carving
  3. DIY Carved Eraser QR Code Stamp
  1. I won’t get too much into the weeds on the actual method of generating QR codes, mostly because I haven’t studied the math in it, but I did find a great article which has a lot of good background info and explanations []
  2. I’ll call them “pixels” from this point forward []
  3. Just barely under an inch []

Carved Eraser Stamping

I recently stumbled across the world of fantastically charming mini prints and carved erasers by Serena Rios McRae aka Cactus Clouds Art.  This short Instagram post provides an excellent overview of her process.

Serena’s artwork is evocative, accessible, and affordable.  I bought several of her prints the other day.  She also posts how-to’s on YouTube and provides plenty of links to her recommended supplies (Serena’s lists and affiliate links).

These looked like so much fun, I bought a pile of cheap pink erasers off Amazon, repurposed an old set of stamp carvers we had lying around (I had done some linoleum block printing back in high school and my wife had a small stamp making kit from years before), and gave it a shot.  The kids had a great time with this while I fretted about whether they were going to jab their fingers and how many bandaids I’d have to have handy.

After their first stamp, I hacked together a 3D printed holder.  Despite measuring the erasers carefully, it was too long and really, too big for what it needed to be.  Here you can see version 01 taped to a piece of mahogany wood left over from my ukulele project.

This slideshow requires JavaScript.

There were several problems with this first attempt.  The holder was a little too long, so the eraser would shift back and forth.  It was also much bigger than necessary.  I designed it with those large fins on the side to make it easy to tape down, but it really wasn’t necessary and just made rotating the eraser holder a little more unwieldy.  While my kids were carving things using this holder, I went to work printing a few accessories.

3D printed screw top blade container, extra blade handle

3D printed screw top blade container, extra blade handle

The blades came in a little plastic baggie, so I printed a bespoke screw top container for them so they can be stored securely.  I also printed another blade handle so that two people could carve stamps at the same time – one using the original wooden holder and the other using the printed holder.

The next version was more compact and had dimples on the edges which I hoped would make it easier to hold.  I also added some little ridges inside so the eraser wouldn’t fall through.  Here they are:

Eraser holders for carving, versions 1, 2, 3, 4, and 5

Eraser holders for carving, versions 1, 2, 3, 4, and 5

The dimples didn’t work.  They weren’t deep enough and my hand couldn’t really grip it very well to keep it from moving while I was carving.  The area for the eraser was a little too long.  Versions 2-5 involved tuning the length just right.  Each one takes about an hour to print and used about $0.30 of plastic.  The final result fit the erasers like a glove.  They nestle in the holder perfectly and are easy to poke out using the little hole.  Admittedly, they might only fit the specific cheap erasers I found.

Here’s my process:

I created a page of eraser templates, which match the length and width of the large and small edges.  Of course, the long section matches the long side of the eraser – but the shorter section only matches the short side of the eraser if you tip it over.

Eraser templates

Eraser templates

I got to use several iterations of the eraser holder for this next section:

All the pieces, laid out nice and orderly

All the pieces, laid out nice and orderly

The process is pretty easy.  Put the eraser in the eraser holder – it should slip right in, drop in snugly, and lie flush with the top edge of the plastic holder.  After cutting out a paper strip, it’s trimmed to size, creased to locate the central point, and a pencil drawing (drawn as I’d like to see it printed).  This is taped upside down onto the eraser, rubbed along the back (a coin would work very well, but I just used one of the extra eraser holders), and the design is neatly transferred to the eraser.  The neat thing about this process is that I could design something in Inkscape, print it into the template, and color it in with the pencil for transferring to the eraser.

Lastly, let’s see the result!

Eraser stamp!

Eraser stamp!

As you can see, the final stamped result matches the orientation of the little drawing.  I just wish I’d saved the little scrap of paper with the original drawing on it!  The eraser holder was a joy to use and the final result looks every bit as great as I was hoping.

If I keep making these, I’ll probably want to upgrade my setup to include Serena’s recommended stamp pad and sharpener (you’ll see them linked in Serena’s Amazon link above).  I’d like to design something to make easy to hold the eraser, center it, and make a clean even stamp, but don’t have a great idea for one yet.  I’ll keep pondering this and maybe whip something up this weekend.

Eraser Stamp Carving
  1. Carved Eraser Stamping
  2. Further Adventures in Eraser Carving
  3. DIY Carved Eraser QR Code Stamp
  1. I mean, I guess it’s version 1 – but I labeled all the purple ones starting with 1 so… []

Heat Transfer Vinyl T-Shirts – Without A Vinyl Cutter, Part II

I recently posted my method for making DIY heat transfer vinyl t-shirts without a craft / vinyl cutter.  I used the process to make an Avatar: The Last Airbender themed t-shirt, then a set of four Fallout themed t-shirts for the entire family.  After that I designed, cut, and ironed several more t-shirts. (You’ll see me refer to ironing the design several times, but each time I ironed the vinyl through a piece of parchment paper, to protect the design from scorching and the iron from being marred by melted plastic)

I learned a few more things along the way and thought I’d share these newb-mistakes and pro-tips.

But first, how about some pictures?!

This slideshow requires JavaScript.

  1. Cutting Designs
    1. Just be careful and go slow.
  2. Design Size
    1. I tend to make designs that are no more than about 6″ wide.  This has seemed to be a really good size to show off a cool design, but also fits neatly in the center of an 8.5″x11″ piece of standard printer paper.  You could make something a lot larger, but for all of my designs, this has worked out really well.
  3. Preparing Designs
    1. I forgot to take a picture of it, but it helps to draw an X and Y axis into your drawing.  The purpose of this is to help orient your design at the center of the fabric.  After I had cut out the design entirely, I then used the craft knife to cut triangles into the protective layer pointing towards the center of the XY axis center of the design.  Then, once this was done I could draw the XY axis lines on the protective layer.
    2. I used a yard stick to estimate the center line of the shirt, which I could then align with the XY axis lines on the design itself.
  4. Position Your Design
    1. After looking at various other t-shirts, I decided they tended to look best when the top of the design was about 3″ lower than the bottom of the “V” in my v-neck shirts.
    2. Once I had the shirt on the ironing board, I also put pieces of masking tape with a pen line on the ironing board to help me position and orient the yard stick repeatedly.
  5. Heat / Press
    1. Unlike my first attempt, I made sure to really push hard on the iron.  The idea is that you’re not just melting the vinyl adhesive, but actually melting it into the fabric.  If your iron isn’t hot enough, you’re not ironing long enough, or you’re not pressing hard enough, it won’t actually melt into the fabric.
    2. When you’ve melted it properly, you should see an almost… bubbly texture underneath the protective coating.  Then, once the vinyl is cool and you’ve peeled the coating off, the vinyl should look a little rippled since it is taking on the texture of the underlying fabric.
    3. This slideshow requires JavaScript.

  6. Iron, Cool, Wait, Inspect Vinyl, then Peel
    1. I made this mistake with the arc reactor t-shirt.  As I peeled the protective coating off, in one spot the vinyl got pulled up and in another spot it tore the corner off a sharp trapezoid in the design!  While it is possible I didn’t have the iron hot enough or press hard enough, I think the most likely explanation is that I didn’t wait long enough for the vinyl to cool – so it was still molten enough to be adhering to both the shirt and protective coating, causing the design to be damaged and torn.
  7. Peeling Direction
    1. If your design includes very thin or sharp little pieces (such as the pointy trapezoids in the Iron Man arc reactor), consider changing the direction of the protective coating peeling to avoid peeling towards a sharp point.  These little points have so little surface area they can easily stay stuck to the coating and get pulled off the shirt, ruining all your hard work.
  8. Repairing Mistakes
    1. The problem with making a mistake with heat transfer vinyl is that if you make a serious mistake to your design or application, you may have ruined a shirt.  (I would 100% wear a comfortable shirt even if the design wasn’t perfect.)  However, a little mistake doesn’t have to be the end of the world.  I made two mistakes on my arc reactor t-shirt, that I was able to fix well enough that they probably wouldn’t be obvious to the casual observer.

      Yellow arrows show where the design pulled up and wrinkled slightly. The red arrows point to where the design tore and was repaired.

      Yellow arrows show where the design pulled up and wrinkled slightly. The red arrows point to where the design tore and was repaired.

    2. The design of the arc reactor is about 3″ across, to give you a sense of the scale and size of the mistakes.  You can see two slight wrinkles in the vinyl, pointed out by the yellow arrows.  The red arrows points to where you can barely make out what appear to be wrinkles – but show where the design was torn and repaired.
    3. I didn’t find any really good way to fix the wrinkles, other than to really iron those areas very very hard.  It mostly pressed the wrinkles flat and they’re barely noticeable on the shirt.  Between the shimmery / reflective quality of the vinyl and uneven way a shirt would hang on a non-rectilinear organic body or form and the size of the wrinkles on the small design, it’s almost imperceptible.
    4. The torn design was initially quite heartbreaking.  By the time I had worked on this shirt, I had already created five other shirts without any kind of mistake.  It just so happened I either incompletely cut the design out (I don’t think so) or was a little impatient as I peeled the design (probably), and tore a pretty big piece off of the end of the right side trapezoid pointed out by the red arrow.  I tried to use my craft knife to peel the tip of the trapezoid off the protective coating, but it wasn’t working and I ended up mangling it beyond repair.  After stewing a bit, I figured I would simply cut out a new trapezoid piece and iron down over the torn piece.  I made sure to cut the new piece very slightly larger (we’re talking probably only 0.5 mm in each direction) and position it carefully over the damaged section, before ironing it down very firmly, waiting for it to cool down all the way, peeling the coating, then ironing it again.  Once again, I think the damaged portions wouldn’t be noticeable to most observers.

I would guesstimate a 5-foot long and 12″ wide roll of heat transfer vinyl could comfortably make 10-15 good sized designs and as much as 20 if you’re very careful.  Let’s say you can only make about 14 designs out of a roll, to be on the conservative side.  At about $7 for a basic color roll, this about $0.50 worth of vinyl per shirt.  My wife bought me several 2-pack blank v-neck shirts in assorted colors for about $14 per pack.  Ignoring the cost of my time (it’s a hobby, remember!) this is only about $7.50 per custom shirt.  I think this could make a really cool and inexpensive project for a class, letting all the kids make their own designs (by cutting the vinyl with scissors instead of craft knives, if they’re young) or to create a set of team shirts for a field trip or club.

Not only has this been a very fun and inexpensive hobby, I end up with a great looking custom t-shirt at the end that will probably last years.

I’ve got several more designs I’m working on and look forward to a few more updates.

Heat Transfer Vinyl T-Shirts (Without a Craft Cutter)
  1. Heat Transfer Vinyl T-Shirts – Without A Vinyl Cutter
  2. Heat Transfer Vinyl T-Shirts – Without A Vinyl Cutter, Part II
  3. Heat Transfer Vinyl T-Shirts Without a Craft Cutter (2023)

Heat Transfer Vinyl T-Shirts – Without A Vinyl Cutter

I’m going to commit the sin of a thousand online recipe websites and give you a bit of backstory before I get to the method.  If you don’t like fun, feel free to skip the first few paragraphs.

I recently watched Avatar: The Last Airbender and Avatar: The Legend of Korra with my kids. 1  Both shows were fantastic, but one particular character from A:TLOK was my absolute favorite. Varrick Iknik Blackstone is a fast talking, sometimes erratic, flamboyant industrialist / inventor voiced by John Michael Higgins.  Imagine a cross between Tony Stark and Zaphod Beeblebrox.2

Psst... Do the thing!

Psst… Do the thing!

You can find a few t-shirts out there which feature Varrick’s catchphrase3 and logo for Varrick Global Industries… but they all seem to suffer from at least one flaw.  They all appear to depict the logo mirror flipped with the big sail on the right hand side. I think I know why too.  An artist under the username of RogerBernstein on DeviantArt posted a very large, high quality version of the Varrick Global Industries logo in 2017, which just so happened to be mirror flipped.  His image has the distinction of being one of the first Google Image search results for “Varrick Industries Logo.”  I’m thinking people swiped his work, perhaps altered it a little bit, and then slapped it on t-shirts.  I mean… just look at this…

This doesn't look right

This doesn’t look right

Why am I so sure these logos are mirror flipped?  I paused TLOK during scenes in Season 2 – 4 when you can see Varrick’s yacht, near a plane, on a plane, on a jacket, and near some jewelry.  Now, I’m not even close to the kind of cosplayer / propmaker who has the patience, concentration, or dedication who can recreate their favorites props with meticulous planning, research, measuring, and endless revisions.  Even so, I’d at least like my designs to face the same direction as the show.  There are lots of other pictures showing this orientation, but this was the easiest one to locate.

The logo is partially visible on the yacht to the right side of the image

The logo is partially visible on the yacht to the right side of the image

Anyhow, with the help of GIMP, Inkscape, the pause button, and my trusty laser printer, I created my own design for the Varrick Global Industries logo – ready to put on a t-shirt.

  1. Basics
    1. Creating a design with “heat transfer vinyl” is reasonably straight forward.  The heat transfer vinyl is a thin sheet of vinyl stuck to a sheet of clear plastic with a mild adhesive.  You cut away what you don’t want, leaving the mirror of your design still stuck to the clear plastic, turn it over on a piece of fabric, and melt / fuse the design onto the fabric with heat.
    2. With access to a craft cutter ($250 – $1,000) and a heat press ($100 – $300), you could automate a lot of cutting work (but you’d still have to manually pull the excess vinyl out of the design) and have really fine control over the heat (if that was important to you), but none of that is actually necessary.  While these things might be helpful if you creating designs all the time, you don’t really need much more than some heat transfer vinyl and stuff you already have (a way to cut it, an iron, and some fabric).
  2. Materials
    1. Heat transfer vinyl.
      1. Also known / marketed as “HTV,” you’ll probably want to look for “stretch” or “stretchable” heat transfer vinyl if you intend to putting it on wearables like a t-shirt or similar.  If you’re not putting it on a wearable, you could probably get away with non-stretchable HTV.
      2. As this was my first such attempt, I went with some relatively cheap stuff that was only $9 for 5-6 feet worth of material.  I bought two rolls – one was a blue-purple metallic “chameleon” and the other was a dark silver-gray reflective.  Under normal indoor light conditions both look fantastic.  In brighter light they’ll look… well… brilliant.
      3. Pro Tip:  If your HTV came in a roll and packed in a box, consider keeping the box.  I normally discard boxes, but this way I can stack the rolls easily without having them roll away.
    2. Craft knife & Cutting Mat.  You may not be using a vinyl cutter, but you’ll still need a cutter.  If your design was very simple or you wanted to live dangerously and freehand it, you could probably get away with just using scissors.  We have an old medium size (12″ x 18″) cutting (possibly self-healing?!) mat which works well for most of our purposes.  These days they’re relatively cheap and definitely worth springing for a 2′ x 3′ model.
    3. Printer paper or Sharpie.  I created my design on the computer and printed it out (mirror flipped), then taped it to the HTV, then taped that down on the cutting mat.  If you wanted to just freehand your designs, you could just freehand the design directly on the HTV first.
    4. Tape.  Masking or blue painter’s tape.  The HTV arrived rolled up pretty tightly, so it definitely wanted to roll up while I was working.  The tape kept everything down and in place while I worked.
    5. Iron.  The HTV I purchased recommended applying heat for 5-15 seconds at 300 – 330 °F.  Our iron doesn’t list the temperatures – just the settings for different materials.  I ended up using the “Wool” setting based upon 30 seconds worth of internet research and going to Wikipedia.  The Wikipedia article suggested wool, silk, and polyester would all result in about 300 °F temperatures.  While I can’t vouch for the actual temperatures, the wool setting worked really well for me.
    6. Ironing Board.  I suppose an ironing board isn’t strictly necessary.  But, it sure was nice to have a big, flat, soft, narrow surface to lay my shirt on in order to iron it flat.  You could probably get away with putting down a blanket on a board or some sheets on top of some cardboard or a table.  However, if you already own an iron, chances are you’ve got access to an ironing board.
    7. Parchment Paper.  I used parchment paper because it’s cheap, plentiful, and non-stick.  It’s also slightly translucent, which makes it great for making sure everything is positioned properly and visually seeing when the design is starting to melt into place.  I’m sure there are lots of other nonstick options, but this worked well enough that it would definitely be my go-to in the future.
    8. Optional:
      1. Yardstick.  This is helpful in finding the center line for the t-shirt when you’re ready to apply the design.  It’s helpful, but not necessary.  Since you’re just using it as a straight edge, you could make do with just a long piece of straight cardboard.
      2. Specialty Tools.  You can buy specialty tools for “weeding” heat transfer vinyl, special tools for centering designs on shirts, and special heat pressers to apply vinyl.  For a few shirts now and then, I don’t think any of these are necessary.
  3. Process.
    1. A Note On Double-Checking.  As the old saying goes, measure twice and cut once.  While there are very few “mission critical” steps to this process, there are a few points where it makes a lot of sense to spend the time to legitimately completely check and then double-check something.
      1. Double-Check the Vinyl.  Depending upon the type of HTV you get, it might have two or three layers.
        1. Two Layers.  If it is two layers, there will be a thick clear/clear-ish protective plastic coating and the vinyl.  The side of the vinyl facing the protective coating is the part that will appear on the outside of your fabric and the side without the protective coating is the part that will melt and adhere to your fabric.
        2. Three Layers.  When there three layers, the vinyl will be sandwiched between the thick clear protective plastic coating and (at least in my case) a blue film on the back.  Again, the side of the vinyl facing the protective coating is the part that will appear on the outside of your fabric and the side with the thin film is the part that will melt and adhere to your fabric.
      2. I would recommend checking your HTV by cutting a thin corner off and peeling it to see how many layers you have.  I was alerted to this two/three layer issue by reading a lot of reviews.  My chameleon blue-purple vinyl had three layers and the dark gray reflective only had two.  You could probably remove it before you started cutting out your design, but you’ll definitely need to remove the film layer before ironing.
      3. Pro-Tip:  I would also recommend labeling the box your HTV is in with “two-layer” or “three-layer” to help yourself remember which kind you have when you come back to make a new design next time.
    2. Double-Check the Design.
      1. For most applications, you’ll want to mirror-flip your design.  You can do this in the graphics design program of your choice, probably using some printer settings.
      2. Pro-Tips:
        1. If you’re trying to create a vinyl pattern from some photograph, magazine page, or similar, you might want to photocopy it and then trace the design onto the back of sheet it’s printed on using a lightbox.
        2. Unless you’re creating a multi-layer process, consider making your entire design two-tone black and white.  When it comes time to cut out your design, this will make it a lot easier for you to remember which parts should be cut away and removed.
        3. You’ll be removing lots of areas from the vinyl in a later step.  There’s no harm to your design if you “over-cut” into these areas.  Overcutting allows you to ensure you’re definitely separating sections of the design from the parts that will be discarded.  I would recommend actually drawing in these “over-cut” spots into the design, either as part of the design process or manually with a pen after the design has been printed out.
        4. I like to add the word “reversed” to the design, so I’ll remember to actually mirror flip it.
        5. Since most anything I’ll be creating will fit on a t-shirt, I like to make my designs fit into a standard 8.5″x11″ sheet of paper.  I created a template to do this which has several guidelines and a border 1/4″ all the way around the sheet to make sure the design can be printed within the printer’s margins.
    3. Apply the Design.  As suggested above, you could cut out your design with scissors or perhaps even built it out of scraps of vinyl.  If you wanted to create lettering or follow a very precise pattern, I’d definitely suggest designing on a computer, printing it out (reversed), then taping the design to the vinyl so it doesn’t shift as you cut it, and taping the vinyl to the cutting mat so that doesn’t shift as you cut.
    4. Cut the Design.
      1. I used a craft knife and went slow, using steady medium-hard pressure to cut out the design.  When I wasn’t sure I had cleanly cut all the way through the vinyl, I went back and cut that area again.  Having done this a few more times since I started the blog post, I can say that I didn’t need to cut this hard – and could have used a medium pressure.  More than this and the clear plastic layer gets cut or scored.  This isn’t a problem, but it doesn’t lay flat quite as well any more.
      2. As you cut, be mindful of the areas you’ll be removing that you can “over-cut” into and those areas of your design where you won’t want any knicks and cuts.
      3. I made a point of “over-cutting” the critical pieces, especially at corners, because I did not want to chance the vinyl tearing as I removed the excess pieces.  A single section tearing or stretching would basically ruin the entire design and require starting over.
      4. I had to be sure I was cutting through the printer paper and cleanly through the vinyl, even at the risk of gouging the protective layer.  I was very surprised the protective layer held up as well as it did.  It was clearly scored where I had cut into it, but except for some very small parts, I never cut all the way through it.
      5. Once your design is cut out, use scissors to cut the entire area out of the vinyl roll.  I like leaving a 1/4″ allowance everywhere just so I know the scissors aren’t going to affect my design.
      6. Pro-Tip:  Before you start cutting, it might help to take a moment to plan out your cuts, draw in the areas for “over-cutting,” and even to make sure to darken in those areas that will be getting cut out to help keep things clear while you’re cutting.
    5. “Weed” the Vinyl.
      1. “Weeding” the vinyl is the process of pulling out all the vinyl pieces you’ve cut out that aren’t part of the design.  While there are lots of cheap weeding tool options for sale online for $5-10, I just used the point of my craft blade to pick these little pieces out.  I suppose it might help to have tweezers, a pushpin, a paperclip, or a toothpick, but the craft knife worked perfectly for me.
      2. I’d recommend going slowly, especially at corners, and making sure the parts getting removed are fully cut free from the design elements that are staying.
    6. Iron Fabric.  Definitely take the time to iron your fabric flat.  It would be a shame to discover a wrinkle on the underside of your t-shirt because the design was warped only after the vinyl was fused to the fabric.
    7. Orient the Vinyl.
      1. Once my pattern is cut and weeded, it’s ready to be placed on the t-shirt.  You can buy patterns, templates, and devices for centering a design on a t-shirt, but these seem unnecessary if you’re willing to simply be careful.  Heck, even if you had these specialty tools, you’d still need to be careful.
      2. I made sure my t-shirt was flat and centered on the ironing board, there were no wrinkles in the fabric, the amount of the shirt hanging on the left and right sides were about equal, and then used a yardstick to estimate the center line of the shirt running from the tag down.
      3. I put the design about four inches down from the neck in my shirt after looking at the designs on other t-shirts I had purchased.
      4. If you chose to cut out your design so there was a little extra room all the way around it, the empty clear protective plastic layer will still be “tacky” and help keep the design in place.
      5. Pro-Tips:
        1. It wouldn’t hurt to double-check that you’ve got the exposed vinyl side facing the fabric.  You definitely don’t want it melting against the parchment paper or your iron.
        2. One of the nice things about printing the design with guide marks and registration marks was that it made it a little easier to orient the design neatly on the shirt.  I printed a second copy of the design, then placed it on the shirt – then put the vinyl design down on the shirt underneath the paper.
        3. Before you place the vinyl on the fabric, take a moment to double check there are no stray pieces of weeded / discard vinyl stuck to the protective layer.  They’ll be impossible to remove once you’ve started ironing.
    8. Cover with Parchment Paper.
      1. My design was only about a 6″ diameter circle, so I only needed a piece of parchment paper slightly larger than this.  Since the parchment paper isn’t really consumed by this process, I went ahead and got a big square of it so I can reuse it on other shirts.
      2. The parchment paper I’m using is slightly translucent, which made it easy to ensure the design hadn’t shifted and so I could make a few last second adjustments.
    9. Iron The Vinyl.
      1. Obviously, read and follow the directions for your specific heat transfer vinyl.  The vinyl I purchased recommended 300 – 330 °F for 5 to 15 seconds.  I don’t have a fancy iron, so I heated the iron to the “wool” setting (estimated to be 300 °F) and ran the iron over the parchment paper, pressing firmly, in a small circular pattern for about 15 seconds in each area.  I kept the iron moving so as not to scorch any part of the design, the shirt, or the parchment paper.
      2. Pro-Tips:
        1. It never hurts to do a few test pieces.  I tried ironing both kinds of HTV onto an old undershirt to make sure the heat settings worked, I understood which sides needed to face against the fabric, how I would remove the backing once it had been ironed, and how it all worked.
        2. Having now done this a few times since I started the blog post, I would recommend putting something rigid or semi-rigid under the shirt.  The first time I ironed the design, it looked great – but came out slightly wrinkly in the wash.  I re-ironed it using really heavy pressure and the same shirt has held up in the wash ever since.
    10. Remove Backing.
      1. The instructions for my vinyl told me to “hot peel” the backing.  I took this to mean that I should carefully remove the clear protective coating from the heat fused vinyl.  There were a few small spots where it looked like the vinyl wanted to come up a little bit, but the backing came up cleanly everywhere.
    11. Cover and Iron Again.
      1. Since there were a few small spots where it looked like the vinyl might have come up slightly as I was removing the backing, I put the parchment paper back down and ran the iron around the entire design for about 5 seconds in each spot.
    12. Don’t Wash for 24 Hours.
      1. My instructions say to wait 24 hours before washing the garment.  I spent a while on this design, so I wasn’t about to chance it by throwing the shirt in the wash.
    13. Iron Again (Optional).
      1. After I washed the first shirt I made, the design appeared to have buckled slightly.  After a second ironing, it has stood up to repeated washings without a problem.

This slideshow requires JavaScript.

Heat Transfer Vinyl T-Shirts (Without a Craft Cutter)
  1. Heat Transfer Vinyl T-Shirts – Without A Vinyl Cutter
  2. Heat Transfer Vinyl T-Shirts – Without A Vinyl Cutter, Part II
  3. Heat Transfer Vinyl T-Shirts Without a Craft Cutter (2023)
  1. I’m going to reference these shows and their contents a lot.  I don’t own their intellectual property, they do, I just wanted to make a fun t-shirt for myself. []
  2. Those who know, know. []
  3. Do the thing! []

FIXED: Minecraft Launcher Stuck / Won’t Download / Slow Download on Windows 10

Sometimes you just gotta roll up your sleeves and craft your own fix

Sometimes you just gotta roll up your sleeves and craft your own fix

I recently purchased Minecraft for the PC (Windows 10) and tried to install it.  It was brutal, but I got through it.  I’m documenting my experiences here in the hopes it helps someone else.

The download was incredibly slow, would time out, get stuck, would give me the message “queued in position X,” or would simply not work at all.  Sometimes it would download 10 or 50 MB and then stop.  It was pretty frustrating.  I tried a number of things and eventually found a constellation of things that ended up fixing the problem.

  1. Things That Helped / Worked:  From Simplest to Most Complicated
    1. Making sure I was on a speedy wifi network.
      1. The easiest first step was to get off the wifi extended and onto the main wifi network.
    2. Ended all Minecraft processes / programs that were running.
      1. Press Ctrl + Shift + Esc to open the Task Manager.  (Right clicking on an empty space on the task bar can also bring this up as an option in the context menu.
      2. Right click on any “Minecraft” processes as select “End task.”
    3. Sign out of the Microsoft Store app.
      1. You should see a two letter (probably your first and last initials) circular icon in the top menu bar for this app.  Click “Sign out”
    4. Reset the Microsoft Store app.
      1. Start / Windows Button -> ⚙️Settings -> Apps
      2. Scroll down until you see “Microsoft Store,” select it and click “Advanced options”
      3. Click “Repair,” let the computer do it’s thing, then click “Reset.”
    5. Make sure the time zone and clock are up to date.
      1. This sounds kinda crazy, but it’s a legit reason why Minecraft might not be installing.  Many programs try to synchronize and authenticate each other across the internet – using agreed upon times as a basis.  An incorrect time might be used by a malicious person or program to breach a system.
      2. Anyhow, here’s how you apply this fix:
        1. Start / Windows Button -> ⚙️Settings -> Time & Language
          1. Turn on “Set time automatically” and “Set time zone automatically” and click “Sync now”
    6. Check to make sure you didn’t cripple the download speeds yourself.
      1. Start / Windows Button -> ⚙️Settings -> Update & security -> Delivery Optimization -> Advanced options
      2. When setting up my PC I had crippled Windows download speeds to 0.1 Mbps.  While this helps my day-to-day computer usage and prevents Windows from chewing up all my bandwidth to update itself, it also crippled anything I wanted to download through the Windows Store app.  I’d recommend removing all bandwidth caps while trying to download Minecraft.
    7. Notes:
      1. I can’t be sure, but Windows does a lot of stuff behind the scenes, but having checked the installed apps after Minecraft was fully installed, I noticed several other apps were also installed.  I believe the Windows Store needed to install a bunch of other programs and app / dependencies before it would actually allow Minecraft to download.  You may or may not see these pop up.
  2. Things That Did Not (Seem To) Help
    1. Restarting the computer didn’t seem to help.  I suppose it’s worth trying.
    2. Trying to install a prior version of Minecraft for Windows 7/8 didn’t work either.  They seemed download fine – but wouldn’t run at all.
    3. Trying to install the Minecraft Java version first.  I ended up uninstalling all versions and all launchers and starting from scratch.

I hope this helped.  If you’ve got some other fix that worked or idea how to help, I’m sure plenty of others would want to know.  Feel free to leave a comment.

Falling Down the Mechanical Keyboard Rabbit Hole

The Solace of Quantum (Mechanical Keyboards)

The Solace of Quantum (Mechanical Keyboards)

TLDR:  I’m going to try some mechanical keyboards to help me work from home and blog about my experiences.

I’m fortunate that I’ve been able to work from home this pandemic.  I’ve always made a special effort to make my work more “digital,” by scanning and organizing digital copies of important work documents.  In many ways working from home hasn’t required too many changes to my overall workflow.  My entire office and desk space shrunk to just a single laptop propped up on a plank of cardboard with some holes to help distribute heat.  I have to be more disciplined about creating digital notes, since I can’t cover my work space in post-its and illegible scraps of paper.  Two pairs of noise cancelling bluetooth headphones are are taking the place of four walls and a door to help me concentrate and communicate “I’m working” to the kids. 1  While I’ve gotten used to one medium sized laptop screen, in place of a dual monitor setup, the one thing that’s been extremely difficult is using a laptop keyboard instead of a full fledged keyboard.

Which brings me, dear reader, to the QMK or “quantum mechanical keyboards.”  The QMK is a keyboard firmware2 that allows you to create very customized keyboards and keyboard layouts.

A while back I wrote a Chrome extension to help me with some work related data entry tasks.  It works by intercepting some of the top row function keys, preventing their default actions, and replacing them with some macros.  This setup probably slashed the number of required clicks and keystrokes by 75%.  My fevered dream is for a custom keyboard which could cut this yet in half.

Now, if that keyboard also has some media controls and sweet RGB goodness, well, then, awesome.  Of course, this means I can’t just go order a keyboard off a shelf.  While there are plenty of neat custom and QMK keyboards, to really get the most out of a board, to get exactly what I need, I will need to roll up my sleeves and actually dive into the firmware itself.

Next up – which keyboards?!

Default Series Title
  1. Why two pairs?  I originally bought one for myself and one for my wife, but now I’m just using one while the other charges… []
  2. “Firmware” is nothing more than software built to run inside a piece of hardware []

BristleBots – Easy DIY STEM/STEAM Robots

This slideshow requires JavaScript.

If you don’t know who EMSL are, you’re missing out.  Evil Mad Scientist Laboratories is a small family owned DIY electronics business in the California Bay Area with a deep enduring commitment and support for open source software, open source hardware, educators, and Makers.

And they are genuinely good people.  Their blog is an incredible resource for anyone from beginners in crafts and electronics to grizzled veteran engineers.  There are free tutorials, resources, and tons of kits for every level.  I’ve purchased several of their kits and cannot recommend their products highly enough for the material quality, comprehensive (and occasionally playful) instructional materials, and support – including a robust community and forum.1

Since our family is home an awful lot these days, we’re always looking ways to keep our kids curious, engaged, and occupied.  Our next project is the EMSL “BristleBot.”2

Their write up and video tutorial will provide you with all the information you need to help build a very tiny zippy robot from things you probably have around the house. 3  There’s a lot to talk about with your kids here – from basic electrical connections, off-center motors, springiness of the bristles, to how the directions of bristles affect the robot’s travel.

A box of parts to make enough for a whole classroom might be about $50 (or less) if you could buy parts in bulk.  But, if you only need a handful of BristleBots for your household, you could taking things apart for motors, old toothbrushes for bristles, common coin cell batteries for free/nearly free, maybe adding some matchbox car or marble run tracks for BristleBot trails or a cardboard box for a battle arena.

  1. Most notably their Egg-Bot []
  2. Time capsule:  This post was published in July of 2020 []
  3. You can get these from old cell phones, cheap dollar store electric toothbrushes, or lots of places online []

Cephalopod Robot Friend Progress

Well, it’s here!  Today is the start of #CephalopodWeek on ScienceFriday!  There’s a little progress to report on my, tentatively named, CuttleBot.  I’ll post a picture first, then get to describing the progress so far.

Assembled CuttleBot head, side view

In the prior post I listed some of my sources of inspiration.  Another such source is the work of Sean Charlesworth and his awesome Octopod, Gowanus Monster, and newly published Scuttleship.   ((If you like his work, be sure and check out his Etsy shop!))

This slideshow requires JavaScript.

Since I need special connectors for the articulated/articulating tentacles and I wasn’t able to edit the files in OpenSCAD, I wasn’t able to use Sean’s STL files.  However, I really like the aesthetic of his designs1 and how they really evoke the form of an octopus or cuttlefish.  Here’s a mock up I used to help me visualize what a full-scale Scuttlefish head might look like with the tentacles I designed.

Scuttlefish with placeholders for tentacles

Scuttlefish with placeholders for tentacles

Unfortunately, the Scuttlefish head and body parts are just a tad too large for my small printer’s build volume.  However, even if I were using a larger printer, I would still not want such a large robot as I’m hoping for this to be a shoulder-mounted companion.

Thus, I began work creating an OpenSCAD cephalopod cuttlefish head inspired by Sean’s work.

This slideshow requires JavaScript.

Now that I had a design, I set the printer to work over night.  This design is mostly to see if the various parts for the tentacles would work with this head.  Since I want to put some LED’s in the eyes and possibly the mouth, I’ll need to hollow it out later.

The print took a little over an hour for the head.

This slideshow requires JavaScript.

How about a video of it working?

I’m very happy with the progress so far.  If I can shrink down the tentacle mechanisms, I can add more tentacles for more interesting emoting and animations.  The video just shows the results of me yanking the fishing line running through the CuttleBot’s head.

Here’s a few more sketches of how I am planning on putting it all together.

This slideshow requires JavaScript.

I might add some fabric frills / fins, instead of printed ones.  I was also contemplating letting the top “shell” of the CuttleBot be formed from 3D printed spines with a fabric or thin plastic sheeting covering.  This might help reduce weight or allow for internal lights to shine through the body.

Companion Robots: Building Robot Friends
  1. Cephalopod Robot Friend, the story so far
  2. Cephalopod Robot Friend Progress
  3. CuttleBot Body and OpenSCAD Design Tips
  4. An Assembled CuttleBot Body
  5. Building the Monocle Top Hat Cat for #MicrobitVirtualConcert
  6. Companion Robots and Maker Faire Season!
  1. Cephalopod Steampunk?! []