Posts

Protect your optical sanity with the focal length lenses in a computer work environment

Image
Protect your eyes. Stop rolling your head up and down. Get glasses fit for your work environment. Even if you don't wear glasses when you are young, you will probably be in glasses as you get older. It starts with single-vision readers and moves onto multi-focal (distance) lenses. The standard prescriptions for multifocal, bifocals or progressives, optimized distance, and reading with narrow FOV support for the midrange. Office and computer work is all about the midrange so we want a different prescription mix when we spend a lot of time on a computer or dashboard type environment. Single-vision mid-distance glasses are relatively inexpensive. In my case, I have a couple. One in my travel bag and one on my desk. Single vision glasses are limited though in that they are only good at one range, in my case monitor distance. Opticians can provide a multifocal prescription that optimizes monitor use and reading instead of distance and reading. I've got a pair of 45D bifo...

Exercising the DeskPi PicoMate - Pico 2040 kit

Image
The PicoMate is a well-thought-out experimenter's kit that provides 11 devices that can be attached and used by a Raspberry Pico 2040. It is a breadboard / clip-apart type of configuration.  The sensors and outputs come attached to the Pico as part of a snap-apart experimenter board. You can use the board as-is or break off the sensors and emitters and use them connected via JST cables.  They normally cost $40-$60.  I found mine for $15 on closeout at Microcenter. I should have bought more. This rest of this page is more of a Reference and less of User Guide The PicoMate The PicoMate includes these devices and features. All modules are pre-wired, no soldering and wiring are required and out-of-box 12 detachable and easy-to-use modules: Push Button WS2812 RGB LED Rotary Encoder Buzzer Digital Microphone (ZTS6531S) Digital PIR Sensor (AS312) 6-Axis IMU Sensor (LSM6DS3TR-C) Digital Optical Sensor (LTR-381RGB-01) 3-Axis Magnetometer (MMC5603NJ) Temperature & Humidity Sens...

Using an e-ink digital badge as a Mood Display as an aid in dealing with the neurodivergent

Image
Simon Painter built a visual communication tool to help neurodivergent children express their emotional state using the Pimoroni Badger2040 e-ink display. This assistive technology allows children to easily indicate and communicate their current emotional state through a combination of text and images. The low power single purpose device serves as an emotional communication aid, helping children who may struggle to express their feelings verbally. I didn't build this. I'm posting it because it is a great example of how "making things" can help people. Video of the device Creating your own Badger 2040 mood device Acquire a Micropython-compatible device like the Pimoroni Badger2040 . Load the Badger Micropython firmware for the Badger pimoroni-badger2040-v0.0.5-Micropython.uf2 Clone or download the files from this MoodBadger GitHub repository Copy the files to the Badger 2040 E-ink badge probably using mpremote Press reset on the Badger.  Mood should show on ...

Add sensors and output to your PC using the Pico 2040 with custom firmware Desktop Python and Blinka

Image
Extend your PC into the microcontroller sensor and control realm with Desktop Python Adafruit Blinka and an RP2040 Pico running U2IF firmware. This setup gives you access to the microcontroller component libraries without writing code on the microcontroller itself. No code-download-run cycle is required! Normally, when you want to run some motors, read some sensors, or talk to some small displays, attach those elements to a microcontroller running your custom software. Adafruit has made it so that their libraries work with a couple of non-programmable port expanders.  You run standard Python on your PC using their libraries.  The Adafruit Blinka software has embedded drivers for boards that present the correct USB HID interfaces.  Two examples are the MCP2221A and FTDI breakout expander boards. There is open-source U2IF Pico 2040 firmware that turns an RP2040 into an appliance that can be talked to as a HID device.  You can use the same Adafruit Blinka software to ta...

System Complexity with various types of contract and subscription types.

Image
Consumers often want to change to auto-renewing contracts or subscriptions in the middle of a  subscription or contract period. Automating these modifications varies in complexity taking into account the dollar amounts of the services, customer expectations, regulatory requirements, business cycles, or legacy processing overhead like paper billing. This presentation walks through a variety of ways of handling intra-period modifications. Video on YouTube These images were used in the Video They exist here for review Monthly with cancellation at renewal This is the simplest of subscriptions.  The contract is simple.  Cancellations happen at the end of the subscription period, usually monthly.  There might be rate adjustments if you change the plan in the middle of the month but some services just ignore that or only upgrade at renewal.  Simple prepay with changes at renewal This plan's payment cycle and subscription length are the same.  Changes happen...

NVidia Broadcast fix for - No available cameras - Restarting the windows service

Image
NVidia Broadcast, on Windows, uses your GPU to improve your PC's audio and video streams for recordings, meetings, or other purposes.  NVidia Broadcast sits between your Microphone/Camera and the audio/video capture component of whatever proam you are using.  I described here how NVidia Broadcast can use the GPU to make it look like you are always looking at your camera  when recording. NVidia Broadcast sometimes can't get access to your microphone or camera when they are already being used  by some other program.  Recently I had a different problem where NVidia Broadcast couldn't get access to my Brio Camera even though no other program was currently using the problem. I stopped and restarted my NVidia and Logitech tools to no avail. It turns out one of the NVidia Windows services needed to be restarted.  There was some problem with the instance of the service that was running and restarting it fixed the problem. The best video I found is this one by Spook...

Ordering pages in a coding challenge scrambled my preconceived notion about "natural ordering"

Image
We have a notion that there is a natural order of things.  I'm talking about ordering, and sorting, by convention as a mental aid or for product reasons.  Everyone is familiar with ordering products by weight, pieces by size, and names by alphabetical order.  We are so used to some types of ordering that it seems like the natural way when there is nothing natural about it. A common example is the "order of assembly", the order of parts installed onto the device.  The reason for the order on the direction sheet may not be immediately obvious.  The order takes into account the ease of assembly or the reliability of putting it in at that point in the cycle. This caused me to waste over an hour during a recent programming challenge while implementing an arbitrary set of ordering rules. Eventually, I realized that the notion of order is arbitrary and that I could change the standard to fit my problem space.  Let's go to the programming challenge. An example from...

Leveraging Brev SSH credentials to plug local tools into Brev managed instances

Image
Brev authentication and 'brev shell' create credentials we can use with other tools, like NVidia AI Workbench, to let them SSH into Brev instances. This is useful for those needing something beyond the canned models or provided Jupyter Notebooks YouTube short description of the SSH credentials and host info Revision History Created 2024/11

The Brev GPU/CPU marketplace topology that can be seen by users

Image
A quick explanation of the pieces of Brev visible to external users and how they fit together.  YouTube: A simplified view of the Brev GPU marketplace that are touched by users Revision History Created 2024/11

Start to finish running AI Workbench project in cloud GPUs with Brev

Image
 I wanted to run an ML project in a bigger environment than I have in my homelab.  I don't have any cloud accounts but can rent GPU capacity via the Brev GPU/CPU marketplace. I just needed to get it there. The project itself is fully containerized and available on git as an AI Workbench project.  This means I just needed to install the AI Workbench server code on a Brev rented GPU instance and then attach to that server over the provided network tunnel.  My local AI Workbench can then manage and run my project remotely from my Macbook. All the steps Some of these steps will be automated in future NVidia AI workbench releases.  Use this diagram to follow along in the video. Video Revision History Created 2024 11