Posts

LILYGO T-Dongle-S3 running CircuitPython - disable the REPL on the display for your own use

Image
Adafruit has a specific CircuitPython distribution for the T-Dongle-S3 that uses the LCD display as its default logging and REPL output.  You can see this output by enabling the LCD backlight in your Python code.  You can disable this behavior and use the LCD for your own purposes with just a couple of lines of additional Python code. The LILLYGO T-Dongle S3 The LILLYGO T-Dongle S3 is a USB thumb drive-sized microcontroller with a built-in IPS LCD display, USB port, WI-FI, Bluetooth, I2C, and a MicroSD card slot.  It can be programmed to act as a computer peripheral or as a standalone device powered by a USB power source.  The most common use cases include pen testing devices, smart or sensor peripherals (hardwired, Bluetooth, Wi-Fi), or standalone sensor and output control devices connected to the cloud over Wi-FI. Schematic 30 seconds of Video A short demonstration of CircuitPython, the CircuitPython REPL output, and custom Python content pushed to the built-in LCD...

Visiting the topology for running containerized workloads and AI Workbench

Image
Data science and AI projects are typically run on rented CPU/GPU resources or in self-managed data centers. By using containerization, we can separate our code and configuration from the underlying hardware, making it easier to switch between different systems for cost or performance reasons. However, containerization and remote execution introduce new networking and connectivity challenges. In this talk, we will explore how to manage connectivity for both the control plane and the user experience plane, including requirements like web access. AI transcription of the talk This section contains Gemini's rewrite of the YouTube Video's transcript. The raw text is down below.  The Role of Containerization in Local and Remote Data Science When designing a GPU-bound data exploration or analytics environment , the key to maintaining consistency—whether you're working locally or remotely —is a containerized workflow . For quick prototyping, we often leverage a few local GPUs witho...

The case against generative AI as a business and the questionable revenue hype machine.

Image
Measuring the success and potential of "Generative AI" is complicated. Are we measuring usage, output quality, mindshare hype, the number of layoffs attributed to it, revenue, income, or something else? This article, which I wish I had written, describes the tangled web of hype, power, and corporate deals driving today's Generative AI. The case against generative AI Short Take There is no way to build the capacity required for the models and the desired demand.  There is no way for LLMs to deliver trusted no-humans-in-the-loop results. The reported financial results and forward-looking claims by the companies are nonsense. The layoffs were misattributed.  Claimed staff reductions tied to AI productivity changes don't exist Revision History Created 2025/10

Removing all the downloads from your kindle while leaving it attached to your account.

Image
Have you ever wanted to remove all downloads from your Kindle without disassociating and then re-associating it to your account? You can do this on the device.  It does not affect the books and other digital content that is owned by your Amazon Account.  Everything can be re-downloaded. 2025 October - Kindle PaperWhite and Kindle Scribe Pull down to see Configuration All Settings --> Device Options  Storage Management Manual Remove At this point, you can  see the total storage used and can remove content by category Books Audible Periodicals Docs (PDF) Samples Other Select the category of your choice You should see a list of documents/books/recordings for that category. Select all the downloads you wish to remove A Remove  button will become enabled in the bottom right corner Press remove once you have highlighted the targeted downloads I found it easier to remove a page of docs at a time, but I only had 20 items of digital content downloaded. Marginally...

Create Flutter icons for all target types with single png and flutter_launcher_icons

Image
Creating a cross-platform app icon for Flutter can be easy.  Easy enough that it is embarrassing how long I looked away from adding app icons to my apps. Creating an app icon across platforms is especially true if you avoid implementing many platform-specific customizations. You can convert a single PNG image into all the formats needed for Flutter Android, iOS, MacOS, Windows, and Web launcher icons using just one 1000x1000 pixel icon and  flutter_launcher_icons. Caveat This walkthrough does not take into account different icons for light and dark This does not have any Apple Glass handling Create an app icon Create a 1000x1000 pixel icon using the tool of your choice.  The icon at the top of the blog was created for f s-game-score using appicons.ai. I used  https://appicons.ai , which I found via Reddit Mac users may be able to use something like Apple Icon Composer Download the icon created in the step above. It should be a 1000x1000 PNG file. Copy the icon t...

Upgrading the memory on an asustor AS5402T Hard Drive and Flash NAS

Image
The  asustor AS5402T  is a NAS  appliance  that supports two (2) 3.5" drives and four (4) NVMe drives.  I wanted to run some Docker and Home Automation  on my AS5402T NAS so that I didn't have to maintain additional machines.  The AS5402T has two SODIMM slots that are accessible without any tools. It comes standard with a single upgradable 4GB SODIMM.  Upgrading from 4GB to 32GB was a simple, toolless operation. Getting Access Getting access to the memory slots Power off the unit. Unplug the unit from the wall outlet. Remove the 3.5" disks. Remember which slot each drive was in. You should be able to see the SODIMM slot by looking in through the disk drive opening.  The memory modules are visible at the bottom.  See the following images I swapped the RAM and reinserted the drives before powering up. Original Configuration The unit accepts DDR3 3200MHz SODIMM.  Two CRUCIAL 16GB DDR3 1600 SODIMM The RAM modules cost me about $45 each ...

Using "No Off Ramp" Decisions as Forcing Functions for Driving Change

Image
Sometimes we need to have a forcing function to make change inevitable.  Implement a no-off-ramp change that aligns teams and partners with the vision.  This assumes you have enough clout or leverage to make that happen.  Drivers can include asset sales, contract changes, and regulatory issues. Holding the line can be challenging when people raise issues and either actively or passively resist.  Make a type of change that cannot be reasonably undone, and then create gatekeepers for the new desired behavior when people are onboarded A Mind Map Thinking through the aspects related to making changes. See the video down below for a better explanation of the diagram than I do here in writing. Click to expand Maybe I can get an AI to convert the transcript into the body of this article. Problem You have a problem that can't be resolved as a normal part of the business. The Organization refuses to respond to the need.  There is some current behavior that is driving up ...

The short/medium forecast for LLM based coding agents and aids July 2025 edition

Image
Here are three short videos I did after reading a bunch “AI is blah blah to programming” posts on LinkedIn. Maybe not yet to binary Never another general purpos programming language The future is domain specific languages (DSLs) Revision History Created 2025 07

Creating order out of chaos in a world of AI Everywhere

Image
The hot ticket right now is "Put AI Everywhere". This usually results in a race to come up with ideas about how AI can be used in new products or existing systems.  I suggest creating a system to analyze existing processes, software, and programs with a structured approach, identifying opportunities and assessing risks and rewards. LLM agents, chat bots and instructors models that turn human speech and writing patterns into content or actions is in scope here.  TTS, STT, translators and other non integrated LLM uses are out of scope. The talk below iteratively breaks down our process until we reach the point where we identify AI opportunities. We start with PDCA (Plan-Do-Check-Adjust) as a notion for the lifecycle of products, software, and processes. We can map that into the following in the software space. Item 4 could be anything specific to your domain.  Design Time: All of the processes that happen before actual code execution. This is before transactions, customer ...

Quit hiding the scrollbars on a Mac! Make Mac scrollbars always visible

Image
macOS on Mac and MacBook machines automatically hides the scrollbars when you aren't scrolling. It is a great space saver, but it can make things difficult. This behavior violates the "what you see is what you can do" implicit contract between users and the system. It makes it impossible to scroll applications or browser windows that contain a scrolling drawing area.  An example is the DASH  plotting and dashboard system. The graph view grabs all scale and drag operations to the full width of the screen. The trackpad just affects the content area and not the page-level scrolling. We have a fix for that! Make scrollbars on macOS always visible You can do this via the macOS Settings application Settings --> Appearance --> Show scrollbars Created 2025/07