My Life this Week
So far this week I’ve mainly focused on 3 things:
- Lazarus – an open source clone of Delphi written on top of Free Pascal
- Boxing – I took my first boxing lesson this week
- Jump Rope – Related to Boxing, I’ve started trying to learn to jump (or skip) rope
So far with Lazarus I’ve done some quick GUI toys, one of which fired off requests to a web server written in Go to process the data and then displayed the result of that process. I’m a bit excited about that as it offers a possible way to connect a GUI written in Lazarus to code written in another language as long as that other language can expose itself over http.
I had my first Boxing lesson on Tuesday, and I’m totally engaging with it now. I think I would really like getting into Boxing. It seems simple enough to learn that I should be able to get the basics down quickly. After that I think I’ll be able to continue working at it on my own. It emphasizes getting in shape in a way that I think I wouldn’t have gotten from other martial arts I’ve been considering.
That has actually been surprisingly exciting, I am liking the exercise activities related to boxing that I’ve been doing. I’m enjoying learning how to jump rope. It’s been encouraging to realize that my previous attempts at jumping rope were frustrating not just because I’m uncoordinated, but because it actually takes a while to get to where you can successfully jump rope.
So, I’m working on this "30 days to Jump Rope" video that is on YouTube, and I’m currently on the 3rd day. I will have to see whether I need to continue to try this "day" for a while, or whether I can handle moving on.
You can evolve an application by adding another layer to maintain compatibility with the old architecture.
How do you handle the accumulation of those layers as further evolutions and migrations happen?
Is there a way to simplify things or is each layer doomed to be locked and ossified?
Windows 10 Popup from Script
I had been trying to figure out how to create a popup that would be visible from a Tcl script after it had started several other processes to tell you that they had completed.
The problem was that Tk never got the focus back once the the other gui applications started. The best I could achieve was to get the tray icon to flash, which when clicked would raise the dialog.
Today I found a solution, and perhaps a principle that could apply even to other solutions.
Windows has a command line utility called msg that allows one to send a message to a user that appears as a popup.
Here is an article that describes it.
It seems to appear over other application windows, but I’m not sure if that’s innate to the utility or because it’s a new process.
That last point is what I think might be more generally applicable. I think any new application on Windows 10 seems to steel focus when it appears onscreen.
So if I wanted to do a popup that would be seen purely in Tcl, I think I could have executed another Tcl process that would then produce the Tk Dialog. That way, when it came onscreen it would take the focus so that people could see it.
Windows Popups via PowerShell
Here is another article from the same source that describes how to do the same thing using PowerShell.