Posts

Showing posts from June, 2023

Cloud Service Topologies Explained

Image
Imagine a company wants to commission a new application.  The application needs computing resources to be able to run. On many occasions the app references libraries, frameworks, software development kits (SDKs) and other software to run. The app and support programs are installed on a particular version of an Operating System (OS). To run, the solution requires resources such as CPU, memory, disk storage and networking. These are provided by physical servers. Virtualization lies between the Physical Servers and the OS and makes computing environments independent of physical infrastructure. A single app may require multiple virtual machines (VM). This may be necessary for redundancy purposes and/or because the application requires additional components that would be installed on separate VMs. Typically, the database used by the app or it web front end may reside on their own VMs. If this application was running on-premises one would...

Analysis of the Python's TKinter Spinbox control

Image
This article borrows from the code repository   Password Generator GUI written in Python using the TKinter module . It explains how one can programmatically make the Spinbox control function correctly with a numeric range both visually and operationally. It also opens a discussion on this control to make it more efficient. This article and the source code can be downloaded from:  Github TKinter's Spinbox control The Spinbox control  " is an Entry with increment and decrement arrows. It is commonly used for number entry or to select from a list of string values " . The control accepts input through the up or down arrows or by typing directly into the text box. While the control has built-in functionality that allows range checking when the up and down arrows are pressed, the same is missing when one types directly into the text box. This means that one can type anything into a Spinbox. This article describes this limitation and explains how it can be addressed. The Solutio...