I’m moving, so I have to pack. I thought I’d make it fun with two projects.

First, I entered everything I was packing into a text file, stuff.md. That way, I can find stuff later. I have two friends who have done something like this, so I’m curious how it will go for me. Here is a sample:

Box 01 - banker
======
- USB Receipt Printer - in trapezoid box
- Thinkpad 460 Charger (x2) - cardboard box (x2)
- Cardboard box "eink"
    - eink communications converter for 7.5" eink display
    - Piece of fiberglass sized for 7.5" eink display
    - 1.54" eink display 152z152px never used, with notes on yellow paper
- Airtec electric duster (AC) - cardboard box
- Tiny UPS for Raspberry Pi - cardboard box
- Wireless receipt printer - cardboard box
- Playstation Eye (x2) - cardboard box
- Mini-router (2 eth, 1 usb), unconfigured - in cardboard box
- Pipe-sealing tape for vacuum - loose
- Multimeter, Kaiweets brand - in cloth case
- $1 in pennies, and penny sleeves - plastic bag
- Engraving pen - loose metal case
- LED Light bulbs (one white, one red) - cardboard box

Box 02 - banker
======
- HDD Copier - cardboard box
- HDD Dock (x2) - cardboard box (x2)
- Butane soldering iron - metal box
- Doxie Go adapters - loose plastic bag
- "Faces" M5Stack development. Stacking keyboard and screen, etc. - plastic case
+ Magnetic metal parts tray
+ Neodynium magnets, two disc sizes - Loose box
+ Receipt paper roll - loose

Box 03 - banker
======
- empty

Second, I took a time lapse video of packing. I wish I had time-lapsed moving in at my current place, but I just wasn’t set up for it. Sadly, my camera battery died after 90 minutes, so I only have a very short video. Next time I’ll plug in a power cable. Here is a short example video.

Both are much too personal for me to post on the web in full.

Today I learned how to make PCBs. I didn’t invent anything here, this is all pretty well known by the PCB-making community, but it’s not well-known to me. So I taught myself a bit!

The first part was the design an electronic circuit. I decided I was short on time, so I grabbed an existing schematic.

Next, I downloaded KiCAD, and recreated the circuit there. I found this video tutorial very helpful to learn kicad.

Next, I made the actual PCB layout.

To my surprise, after a little jiggling I got it down to a one-layer design.

That means home-printing would be much easier. No having to line up the two sides carefully.

I printed out the image on paper (backwards) on my toner printer, and taped it to the copper-clad PCBs.

First, I tried laminating it. Almost no ink transferred, and the paper came off easily. Then I tried ironing it, but the paper stick to the iron and not to the PCB. The tape melted on the iron. For both, I dunked them in water after, which is supposed to help loosen the paper.

Next, I tried the standard advice–sand the PCBs (I used 320 grit) and use glossy paper. This time, both pieces of paper stuck very well. I was wary about the iron coming off again, so I just left it on place on the highest heat–this worked fine for adhesion, but I had to iron out wrinkles at the end. The laminated piece had lose edges, while the ironed piece was on there totally flat.

I tried peeling off the laminated paper–oops! It peeled back and most of the ink stayed on the paper. I think if I took it off more carefully, it would have worked.

I picked at the ironed paper a bit, but it didn’t budge. I let it sit in dish soap for a while so the paper would fall apart. The first hour didn’t do anything.

Meanwhile, I made an order at PCBWay. It’s still under review.

Edit: after some advice from a friend, I peeled off this paper more aggressively, and scrubbed it off. The ink was fine. It doesn’t look great, but I think this is mostly the wrinkles during transfer. It’s a little blurry, I’ll have to do a third attempt before I try etching.

Today I got a variety of modern A.I. tools to work in a python library. This one is mostly install instructions, but it was useful for me, at least.

I took a day off after.

My conclusions were:

  • Speech synthesis runs at 400x realtime on CPU.
  • Speech recognition runs at 0.4x realtime on CPU, 60x realtime on GPU.
  • Generating chat at 0.05x – 0.5x realtime (3-30 wpm) on GPU.

I didn’t get image generation working on my allotted time.

For today’s hack-a-day, I meant to clone the Hillsfar lockpicking minigame. Instead, I spent all day just extracting the sprites. But I had a nice chill time, so it was great.

Edit: See the updated post for the finished game.

Here’s the original minigame:

Here’s my spritesheet:

I made it by splitting up screenshots:

Today’s hack-a-day project was a pencil-and-paper RPG. Based on feedback from people reading the rules, it’s notably bad and I don’t recommend it. Rules here.

My friend Kragen and I wrote a little bytebeat synth tool. You can mess around and have fun. Demo here, code is on github.

Hack-A-Day is a challenge to try and finish 30 projects in 30 days in November.

Today I tried to write a tool to make a floorplan. You can try it here. As usual the source code is on github.

This was an ambitious project for one day, and I didn’t finish everything I wanted. My original goal was to support

  • drawing and erasing rectangles (done)
  • adding, editing, deleting, and moving text labels (not done)
  • adding, deleting, and moving icons (mostly not done)
  • autosave (done)
  • undo support (done)
  • zoom and pan (not done)
  • sharing finished projects (stretch goal, not done)

What I did do was pleasantly high-quality, and I made pretty good progress.

A “silly screensaver”. Demo is here. Source code is on github.

A simple screensaver made in my raytracer. Code is on github.

Try it out here. Code is on github.