Who knew that you could have secondary cataracts

I had cataract surgery years ago now. Slowly over the last few months, I have started to have blurred, double and even triple vision in my right eye.

I went to the doctor and it appears the issue is something that is easily addressed. There is a membrane behind the lens that they don’t usually remove during cataract surgery. It is kept, since it helps hold the artificial lens in place.

Months or even years later this membrane can become clouded, much like a cataract. It doesn’t happen to everyone, but it appears to be happening to me.

So tomorrow, I have the joy of having laser capsulotomy, where a small opening in the clouded area is made, so that light can shine through to the retina unobstructed.

Laser Capsulotomy illustration

This is supposed to be a quick procedure where the eye is numbed, and a ‘special’ laser is pointed at the back of your lens and an X is cut into the membrane.

Hoping for the best. I’ve been doing quite a bit with lasers lately, but now the table has turned.

3D printing a board game

Over the past few weeks, a neighbor, my wife, and I have been playing a board game for 4-6 people. Since covid-19 is raging elsewhere, board game usage is probably up. I’ve been thinking about the board design and its limitations and thought I could make some improvements.

First the board is huge – about the size of a small card table. Secondly, it was fairly difficult to make. The six-sided side looks like this:

Secondly, the board design is relatively inflexible in that you have to have either 4 or 6 people to play.

Vendors charge a small fortune for these on Etzy. Once I finished my design, I noticed there were some designs on Etzy of a similar nature, though I am not sure they can go to a 3 person configuration – I guess form follows function. In case you are wondering, I used Fusion 360 to create this and ensure that it could be placed in this configuration without collision.

Although the rules and the flow stay about the same, I decided to restructure it so it can be played with 3-9 people, in teams or individually. Here is a picture of the 3-person configuration.

I made it small enough that it would print on a 220×220 3D printer. If you would like to 3D print your own version, I uploaded this flexible 3-9 person game board to Thingiverse, including the rules that we’re using. I made the design small enough that it can be taken on a cruise or other travel, without being too hard to pack. You’ll also need a deck of cards (with the jokers).

This game has many variations and goes by many names (Dog, marble wars, pegs and jokers…) and I only made minor modifications to the rules to fit the more flexible design.

Have fun and Happy New Year,

What I say to those annoying cold calls that say there is a ‘virus’ on your computer

The other day, I received a call stating “We have been notified that there is a virus on your computer…” I’ve had these callers say they were Microsoft – Microsoft NEVER calls individuals about their computers.

I’ve had them say that my computer is “telling them” that it is infected… Although that may be possible, my believe is that the cure will likely be worse than the symptom, especially since it is highly unlikely in the first place. If you get a call like this always perform a full virus scan – that’s better than doing nothing.

Anyway, after the ‘support person’ gets through their initial spiel about being there to help me, I ask them the question:

“What has happened in your life that you would make the life choice to prey upon individuals with weak computer skills?”

In this case the caller then said: “No, I want to talk about the infection on your computer.”

I then dove into a deeper conversation about how illegal activities like this ruin the value of computing for everyone and that the short-term gains for hoaxes like this are a detriment to the world as a whole. This person pushed back again saying “You don’t understand I am here to help you.”

I responded with: “Are you that lonely and insecure that you need to take advantage of the computer illiterate in this way?” That’s usually the point where they hang up.

Essentially, I try to push the issue back on them and their behavior. I doubt that it has any effect, but it makes me feel a bit better.

Bed leveling with the BLTouch and the Ender3

As part of my installing my new PC, I looked at the code I was using for my start G-code and how I did bed leveling on my Ender 3. I updated my old posts on the topic, but thought I put a dedicated post in here.

My start G-code for Cura now looks like:

; Ender 3 Custom Start G-code
M117 Getting the bed up to temp!
M140 S{BED} ; Set Heat Bed temperature
M117 Pre-heating the extruder!
M104 S180; start warming extruder to 180
G28 ; Home all axes
M117 Auto bed-level GO!
G29 ; Auto bed-level (BL-Touch)
G92 E0 ; Reset Extruder
M190 S{BED} ; Wait for Heat Bed temperature
M117 Getting the extruder up to temp!
M104 T0 S{TEMP0}
M109 S{TEMP0} ; Wait for Extruder temperature
G1 Z1.0 F3000 ; move z up little to prevent scratching of surface
G1 X0.1 Y20 Z0.3 F5000.0 ; move to start-line position
;G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; draw 1st line
;G1 X0.4 Y200.0 Z0.3 F5000.0 ; move to side a little
;G1 X0.4 Y20 Z0.3 F1500.0 E30 ; draw 2nd line
G92 E0 ; reset extruder
G1 E-2 F100; retract 1mm at speed of 100mms
G1 Z1.0 F3000 ; move z up little to prevent scratching of surface
G1 X10 Y10 ; knock off any strangler strands
G1 Z0 ; put the head down
G1 E0 ;put the filament back to zero
G1 Z1 ;pick it back up
M117 Printing…
; End of custom start GCode

And the process I used for bed leveling is simplified a bit more (definitely more than most of the other processes I’ve found on the Internet:

1) Set the Z offset in the EEPROM to zero (if it is set to something else)
Control -> Motion -> Z offset
Control -> Store settings

2) Use the controls on the printer to:
* Auto home the printer to make sure it is reset
Prepare -> Auto home
* Run the bed leveling command
Prepare -> Bed leveling
* Move the extruder to the center of the print area (if it is not there already)
3) Place a piece of paper under the extruder but not the sensor
4) Use the controls on the printer to
* Move the Z axis down until you feel resistance when you move the paper
Prepare -> move -> Z
Go back to the top menu
5) Write down the Z value displayed
6) Use the front panel controls on the printer to:
* set the Z offset to the value you wrote down
Control -> Motion -> Z offset
* Store the information in EEPROM permanently
Control -> Store settings
7) Now run a test print and see how close the printer performs to what you need. My bet is that you’ll need to move the Z offset down a few more tenths of a millimeter to get adhesion between the extruded filament and the bed.
8) Determine how much you want to adjust the offset and go back to step 6. The more negative, the closer to the bed the hot end will be.

I tried to put in a bit more information about the front screen menus.

3D printing and addressing personal needs (the opposite of mass customization)

I used to blog about the concept of mass customization, abundance and its value to the consumer. With the advent of 3D printing, mass customization is turned on its head with personalized manufacturing — which could still be thought of as customization by the masses.

Sometimes people ask me “What can you do with 3D printing?”  or “I can’t think of anything I’d make with a 3D printer.” and say I would never do/need that.

I am constantly walking around my house and thinking there has to be a better way to do XXX. An example from the last week dealt with my CNC machine an old HP 7” Android table that I use to control it (through a VNC connection to the Raspberry Pi that actually control the device).

This tablet sat on my desktop and kept getting jostled around by the competing demands for desktop space, as my efforts shift from 3D printing to CNC to laser scribing — all on the same workspace.

I have a fairly large workbench with a cabinet above it, so I thought it would be ideal to have the tablet hang down from the cabinet at something slightly below eye level, where I could still open the cabinet and yet see the tablet.

Looking at commercial options, they were in the $20-30 (or more) price range, but I am cheap and creative, so I thought I could make my own solution. It looks like:

It hooks on the cabinet and then the tablet slips inside. Note there are no ‘fasteners’ in the design. It just clips into place.

The following picture shows the design implemented with the tablet hanging under the cabinet, yet far above the desktop.

There is no way a commercial solution could be created that meets my needs so exactly.

So if you are thinking about a 3D printer and have the creative juices and problem solving skills, the problems will present themselves every day and you’ll wonder how you ever lived without it, putting up with those gnawing issues around you.

One of my mottos when I was working was:

"If it's not up to your standards, don't put up with it."

It still holds true.

New stand for my stuff

As I mentioned in my previous post, the new computer is a bit larger than the old one!?! do my old furniture didn’t work.

The stand I had was old and made of particle board, so I thought why not use the skills I’ve been teach on making a shelf using a variety of biscuit joints. I made it so my UPS and ham radio power supplies fit on the lowest level and I had a shelf for various other devices. If I were to do it over, I would probably go back to something more like my previous design with two shelves and the PC and the UPS in the lower level. But here is the design anyway.

Here is the design:

The design

I used biscuits to join 9″ boards into an 18″ board. To strengthen and align the corners with biscuits at 45 degrees and finally to align the middle shelf (this one the one place where I pushed the limit, since I really should have used a dado joint. Here is the result after I stained it with grey to match the other furniture in the office:

Not the greatest design, but it still did demonstrate how to use biscuits in three different ways.

New Computer specifications

Since I worked for HP for a number of years, I had to look into their best machine to meet my needs. It may not be the cheapest, but it had the features I wanted. I use the system mainly for CAD , CAM (like 3D printing), software development, ham radio, as well as some gaming. The platform is:

Model: HP Omen 30L Desktop GT13
Processor: AMD Ryzen 9 3900 12-Core Processor
Graphics card: GeForce RTX 2060 Super
OS: Windows 10 Pro (since I use the virtual machine capabilities for a range of activities)
Storage: 500GB SSD for the system disk, a 2TB user disk and a backup disk that is 3TB.

That is a pretty big difference from my old machine that had a four core, Pentium-i7 and 8GB of RAM. It had a sticker on the back that said Windows 8, so it has to be pre-July 2015 (when Windows 10 was released).

It is interesting how much ‘stuff’ builds up over the years and how much free space there is on a new machine once you remove all that chaff.

A couple things surprised me.

  1. The new computer case was about ½” taller than the enclosure I had built for my old computers, so I’ll have to make a new one. Now that my wood working skills have improved, it should be much better than my old one. I may need to post on that…
I thought these cases were a standard size???

2. The sound capabilities included in the base computer were only 2 channel stereo. My last two computers before this (so that is probably going back 12 years or so) had 5.1 surround sound built in. I guess they saved a few cents with that capability reduction.

Now to do something useful with it.

Migration (Part 2)

I am pretty sure I didn’t lose anything, and I thought I’d share the process I went through to get everything transferred.

These first steps are optional on a new computer but you may want to do it  anyway to take off any bloatware the vendor might install

1) install the OS

2) Create personal account

3) Create admin account

4) Reduce priv. for personal account (You should never use an admin account for casual use – IMHO)

5) Install graphics control panel and latest graphic drivers

6) set the fixed swap file size (I always run with a fixed swap size to reduce fragmentation. I also only keep a minimal swap file on the SSD if used as the boot drive. SSDs and swap files don’t get along well, since SSDs don’t like to be written on and all the swap data is transient.)

7) set the name of the computer

8) Set up network

  • set fixed IP address (if necessary)
  • set the DNS info (if necessary)

9) Check for updates

10) reboot

11) if the system is on an SSD run program to make sure the system knows it’s an SSD

  • Run ‘Winsat formal -V’ to config SSD from an ADMIN CMD line
  • Fsutil behavior set disabledeletenotify 0
  • Disable indexing on the SSD (once again this is unnecessary transient data)
  • Look at ‘windows 10 OS running SSD’

12) check to make sure that system restore is turned on (computer settings -> system protection)

13) If you are using a user drive in addition to system drive

  • Log into the user account
  • If you want to make the user files on a separate drive, make that file location change now
    • Documents
    • Videos
    • Pictures
    • music
    • Onedrive (this is a bit involved)
  • Create a new Program Files and Program Files (x86) folder on the User drive. This is probably unnecessary if you have a large SSD

14) copy over user files from the backup

15) install MS office

  • Connect Outlook to mail archives
  • Connect the accounts
  • Set up Stationary for outgoing email
  • set so not “marked as read” when switching between items (options -> advanced -> outlook panes -> reading pane)
  • set the empty trash on exit (options -> advanced)
  • set so message arrival does not display alert in the options for mail arrival
  • check always spellcheck
  • turn off send immediately Options -> Advanced
  • add the send mail option — ensuring that the right folders are selected
  • Load the rules created earlier and execute them on the inbox

16) install printers

  • Download the latest drivers (HP smart from the Microsoft Store)

17) install cloud storage tools

  • Google drive (check to see if you want to move the file location)
  • Make sure that .tmp extensions are not backed up
  • Box (make sure the files are under documents, so you’ll need to define this before logging in. I do this so it is backed up in OneDrive as well)
  • OneDrive was installed when you created the account so you shouldn’t need to install it again

18) install and setup the password manager and migrate over any required information

19) install any additional browsers

20) run windows update (again) and reboot

21) install programs

  • Ham Radio programs
  • Games
  • 3D printing/CAD software

22) install development tools

23) set up backup

  • File history
  • Periodic image backup

24) Personalize desktop

  • personalize wall paper
  • screensaver to blank

25) Setup the power settings

26) set powershell so it can run scripts. From a DOS window in admin mode:

c:\windows\syswow64\WindowsPowerShell\v1.0\powershell.exe -command set-executionpolicy remotesigned

27) make a restore point now with the windows restore utility

28) Setup machine remote login (if desired)

29) Replace the hosts file (another line of defense against malware)


30) Setup job to filehistory to backup appdata?

31) Open ‘System Configuration’ Boot menu and turn on ‘OS boot information’

32) If you need to compress the OS (like on a very small computer) start a windows command prompt in administrative mode then:

COMPACT.EXE /CompactOS:always and press Enter. To undo the whole deal, type in COMPACT.EXE /CompactOS:never. You can also opt to compress the data on your main drive.

33) Add outlook to startup by typing in Run in the search menu (or however you get to the DOS prompt)

  • type shell:startup 
  • Add and outlook shortcut

Other things to do periodically

  1. Archive the new rules for outlook into OneDrive — these don’t seem to get backed up effectively any other way
  2. Create an image backup of the system (if you are not doing it automatically on a periodic basis)

Sure there are programs that will assist in doing many of the items listed, but I prefer to understand the settings I have in place. I have been modifying this checklist ever so often when I have to rebuild a computer. If you see something I have missed, please feel free to comment.

The next post will go into some details about my new computer and why I migrated.

I purchased a new PC and the migration was a pain

I thought for sure I had everything backed up sufficiently. I was using File History to a dedicated drive. OneDrive and I still had the old system machine which I thought would keep the AppData folder intact. Not sure what happened, but I still managed to lose a few files (that I was able to rebuild).

I thought I’d put together a few posts about the steps I used (and maybe someone can point out the error of my ways.

This post is focused on the preparation process:

1) Backup any Outlook rules

2) Backup outlook contacts that may be local to the machine

3) Make sure your backups are working and up-to-date

4) Take a screenshot of the start menu (this is more of a reference for how things were laid out…)

5) Print out all the programs installed, from powershell:

Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate |Format-Table -AutoSize

6) Backup the settings for any special program that store their data in the AppData area (These happen to be ham radio related programs):

  • HRD – C:\Users\XXX\AppData\Roaming\HRDLLC
  • WSJT – C:\Users\XXX\AppData\Local\WSJT-X
  • MixW – C:\Users\XXX\AppData\Roaming\MixW

7) Extract macros from Word (if there are any) that are in the default template.

8) Download latest windows 10 install program

9) Create a USB with the install program on it

10) Backup the C: drive appdata folder for the users you plan to migrate

11) Backup all the open outlook archive files – some of the backup programs will never back them up since they are always open by outlook.

12) For any of the 3D programs backup their configuration bundles

  • Reptier Server
  • Slic3r
  • Anything else that could be rebuilt but is easier to take a working configuration from their program specific backup (e.g. development tools

The next post will be my process of getting the new computer on-line.