This is a quote by Epictetus. He lived from 55-135 AD.
Listening goes beyond verbal communication. Listening to your own body, to your muscles, and making the mind-body connection is one example of listening. Another example is hearing the sounds of nature. Another is watching how people react to what you say.
Listen with two ears in every sense of the word that you can imagine.
Beef shoulder roast and beef chuck roast were on sale at Harris Teeter.
The sticker on the shoulder roast package said “oven roast” and the one on the chuck roast package said “pot roast”.
I put the shoulder roast in the oven. It worked out well.
It tastes like the beef that comes in a Chinese restaurant dish. It is relatively tough and relatively lean. Has good strong flavor. Would definitely make again.
It was delicious cut up into strips to make a sandwich!
I want to connect my Dexcom receiver to a computer. This will allow me to track my blood glucose over time. Then, I can identify trends and patters to help improve my insulin dosing.
Mac and Linux
Dexcom’s software only appears to work for Windows. I only have Mac/Linux/FreeBSD machines at home. I want to pass the USB Dexcom device through to a Windows VM.
Proxmox USB Passthrough: Success
For many people and use cases, this seems to work fine!
I was able to pass a USB flash drive through to a Windows VM with no issue.
Proxmox USB Passthough: Fail
Things were looking promising after the USB flash drive worked!
They looked even more promising after the Qemu Monitor recognized the Dexcom device.
qm> info usbhost
Bus 1, Addr 15, Port 10, Speed 12 Mb/s
Class 02: USB device 22a3:0047, DexCom Gen4 USB Serial
Unfortunately, the device was not recognized by the Windows Device Manager.
I thought this might be fine, and that the Dexcom software would find the right driver and solve the problem! However, the Dexcom program gave prompts as if the device was not plugged in.
Troubleshooting
Proxmox has robust documentation on USB passthrough on their wiki.
The basic things I tried were
Physically unplug and re-plug the device
Drop/Add the Qemu USB device using USB bus/port numbers
Drop/Add the Qemu USB device using Vendor and Product IDs
Sample Commands:
#device info
qm> info usbhost
Bus 1, Addr 15, Port 10, Speed 12 Mb/s
Class 02: USB device 22a3:0047, DexCom Gen4 USB Serial
#by bus and port
device_add usb-host,hostbus=1,hostport=10,id=usb1
device_del usb1
#by vendor and product ID
device_add usb-host,vendorid=0x22a3,productid=0x0047,id=usb1
device_del usb1
I tried in different USB ports, after restarting VM, and other miscellaneous troubleshooting as well.
The results were consistently the same failure.
Resolution
I borrowed a Windows laptop, and it worked fine!
I’m not sure what the root cause is for this issue. One possibility is that the Vendor ID seems to be in USB device databases on the web, but the product ID is not.
It is possible that Proxmox needs to have a valid/known product ID to pass to the VM.
It is also possible that the Dexcom software is written in a way that just doesn’t work when the USB device is not on the bare-metal machine. After all, the VM does need a virtualized USB hub etc., so it might just inevitably break some code.
Another possibility is that the Windows OS layer isn’t pulling the device details through properly, even though Proxmox is sending all it can.
Who knows! With such a tall software stack, combined with a tiny user base (type 1 diabetics with this particular device who are tech nerds like me) the answer to this question is likely to remain a mystery forever. Oh well.
import os
import subprocess
# inspired by this post
# https://guides.wp-bullet.com/batch-resize-images-using-linux-command-line-and-imagemagick/
def main():
# the maximum length in any direction (width or height)
# setting at 1600 because full HD (1920x1080) seems larger than necessary
# this will allow 1600x900 (or portrait 900x1600) images.
MAX_LEN = "1600"
size_parm = MAX_LEN+'x'+MAX_LEN+'>' #https://legacy.imagemagick.org/Usage/resize/#shrink
# files in the input directory will (at least SHOULD) remain untouched.
# files with identical names will be created in the output directory.
# files in the output directory are OVERWRITTEN (if they already exist and the names match)
IN_DIR = '/home/vince/Pictures/WordPress'
OUT_DIR = '/home/vince/Pictures/WordPressSmall'
# show what is about to happen
print ('Input: ', IN_DIR)
print ('Output:', OUT_DIR)
print ('Resize Geometry:', size_parm)
for filename in os.listdir(IN_DIR):
# get full file paths
infile = os.path.join(IN_DIR, filename)
outfile = os.path.join(OUT_DIR, filename)
# this is not necessary because the ImageMagick library supports shrinking only
# AND maintaining aspect ratio. all the logic is basically done.
# the '>' in size_parm prevents making the image larger.
# #get width and height
# width = subprocess.check_output(['identify', '-format', '%w', filepath])
# width = int(width.decode())
# convert and print output
subprocess.check_output(['convert', infile, '-verbose', '-resize', size_parm, outfile])
if __name__ == '__main__':
main()
Today, Jupiter and Saturn formed a visible “double planet” for the first time in 800 years. It was also the winter solstice.
The winter solstice of 2020 was a once in a lifetime opportunity to see the planets align!
Bethany and I managed to snap a few photos!
Here is the “double planet” that looks like a single one with the naked eye.
Jupiter and Saturn are the bright spot toward the top left of the tree.
With the binoculars, you can see the two planets distinctly. It took both of us together holding the phone camera and binoculars to make this happen ????