David G. Horsman
6 min readMay 15, 2021

--

Hi guys. I am going to do another blog entry. The new Framework is finally working, loading the script file and displaying the form correctly. Yipee. Status: Basic function done. File processing and field updates need testing along with dynamic output to the Status Window and Files.

I am finally into the stage where I will debug and improve the new features.

Per W’s advice I will be digging into how Active Directory works more.

I also will be looking at how Linux handles links. It is different but has equivalence abstractly.

But, it has multiple UI’s that create a UI experience similar to Windows.

Debian is the platform I am most interested in. It’s great but there are others.

So why?

It is used as a base OS for 3 critical platforms I am targeted at.

  1. One popular Linux OS. Debian.
  2. Whonix’s secure platform came from Debian.
  3. Certain low level devices OS’s are Debian based.
  4. Certain security testing SW is Debian based.
  5. Also, Unix on bare metal VM’s is a thing.

So… a detailed explanation of the decision.

Anyway, I have the same requirements under Unix as I do under Windows.

Integration is the most important issue. Both low and high level in the end.

Back to this Link Util project, I spent 5 months on the Windows framework so far.

I had estimated six months (years ago) but allowing for remaining bugs and tuning that should be about right.

Probably a little more if you allow creating the Standard Windows Controls I am back to working on.

It’s very rewarding getting to clean up the UI and seeing it as imagined. Cool.

I hope I am done soon. This is way too much time.

I better make money as well. Lol. I have no clue on the marketing.

And… Prof B. knows my interest is in the Mdm Scahill1 Project.

That work is all in Rust. This C# work had been a big distraction.

I still don’t have a PC but will get something soon. Then I begin.

Per requirement, I have to fund that corruption proof work.

This is my way to do that…. I hope…

I will throw this all in the blog seeing it is so long.

Anyway, here’s a pick:

Yes… I know it shows my attack surface… to libraries that get published within an open source business model. Heck… you could have sent me an email and just asked… just sayin… Anyway.

Next Item of importance:

I haven’t done a report in 3 weeks. So here is another chuck for the blog.

Project Status Report — Bug list. — May 15 ‘21

Over a week was spent on the to variations on managing the system tray.

I eventually settled on having simple System Tray Groups,.

IE The message consoles, app forms, clipboard open windows and “all”.

Note to self. There are 11 interfaces in the FW. They should a discussion doc.

Generally, they allow low level classes to work with forms and apps.

As a rule, base classes use high level type definitions of functions.

Now I get really specific about the bug list.

When (what release) they get fixed in is not determined.

Bugs:

System Console

  1. Console Message Function name refers to self instead of actual function if it is not called directly.
  2. Button in the Console forms are only correct on the Debug Console.
  3. It appears that best approach would be broadcasting a button update event.
  4. If various App Processes can take control of the Pause Cancel buttons how exactly would one know which Process the buttons are hooked up to? Hmmm.
  5. The Notification Control (ie Debug’s) buttons do not trigger the Console Forms.
  6. Showing the Console None in the Console column is really redundant and annoying if anything. Irrelevant certainly. If it ran at all it started. Worse! It actually means “All”. Same argument. Each Message is in the list of All Messages.
  7. In a similar error. Due to how the enums were defined a Result appears that is Mask Existence Successful. That’s a mask, not the actual specific result.

Link Utils.

  1. Form Control State (ie. Buttons) did not transition to Ready. All of the controls are disabled.

I will update this over the weekend. I have been extremely busy. I do the yard, garbage, dishes, laundry, watch [girl] a few hours a day, [Boy’s] home school and this project. My ever reliable co-worker got injured. It being a shoulder so I could be looking a year of this. She or he does whatever he or she can. What a trooper.

And it’s all okay. I am a tough, adaptable old weasel and anticipated this and many scenarios long ago. We had meetings even. No worries.

I am now impatient to transition from development to team building. There’s a market of some sort.

But in the broader scheme this will be a sideline needing 25% of my time.

What I need to do return to the other project and start the test system PC so that I can run benchmarks on various RUST widgets and my own data types. Performance is my highest priority but that becomes a very complex strategy that is also layered and I just don’t know many answers. What I have are impressive guesses. I can make a case there but you have to prove it.

Here’s a pick showing the programmer’s messaging consoles used during development.

To me, they not exactly essential to developing a link repair utility. The database and its connection is simple. The process is not overly complex.

What is not apparent is that although Link is a simple type, some other app might be processing huge volumes of data and making heavy use of the SRT/ETL library to transform the data. The Console is the user’s UI for looking at and drilling into errors. Logs are central to this.

The canonical use case I developed for this converted our export of Mulitvalued (object) databases and dictionaries and created Microsoft SQL dictionaries and files. These tool are universally available these days and were at the time. However my tools were mainly used to convert code (a document type) and not data so this was a way to ensure both would work.

The Console and integrated debugging was useful during late development. However the framework, MVC features, parts of the utility libraries that were implemented were all important components used by the SRT/ETL and Database Conversion App.

The second project was a Clipboard Manager using that Framework just to see if it worked.

I need to go. Blessings. Have a pic.

That was extremely childish of me and completely inappropriate. As a true snooted Canadian I am ashamed of myself and as you may know, we have a tendency apologize profusely for the most trivial of things.

I am sorry. It won’t happen again. I promise.

Have a good day.

--

--