Create your own magic with Web 7.0 AgenticOS™. Imagine the possibilities.
Copyright © 2025 Michael Herman (Bindloss, Alberta, Canada) – Creative Commons Attribution-ShareAlike 4.0 International Public License



To be continued…
Create your own magic with Web 7.0 AgenticOS™. Imagine the possibilities.
Copyright © 2025 Michael Herman (Bindloss, Alberta, Canada) – Creative Commons Attribution-ShareAlike 4.0 International Public License



To be continued…
Filed under Uncategorized
Create your own magic with Web 7.0 AgenticOS™. Imagine the possibilities.
Copyright © 2025 Michael Herman (Bindloss, Alberta, Canada) – Creative Commons Attribution-ShareAlike 4.0 International Public License
Documentation
generic.c
/********************************************************************\
* generic.c: Source code for generic *
* *
* Comments: Generic Application *
* *
* Functions: *
* WinMain - Application entry point *
* MainWndProc - main window procedure *
* AboutDlgProc - dialog procedure for About dialog *
* *
* *
\********************************************************************/
/********************* Header Files *********************/
#include <windows.h>
#include "generic.h"
#pragma comment(lib, "user32.lib")
#pragma comment(lib, "gdi32.lib")
/********************* Prototypes ***********************/
LRESULT CALLBACK MainWndProc( HWND, UINT, WPARAM, LPARAM );
INT_PTR CALLBACK AboutDlgProc( HWND, UINT, WPARAM, LPARAM );
/******************* Global Variables ********************/
HINSTANCE ghInstance;
/********************************************************************\
* Function: int CALLBACK WinMain(HINSTANCE, HINSTANCE, LPSTR, int) *
* *
* Purpose: Initializes Application *
* *
* Comments: Register window class, create and display the main *
* window, and enter message loop. *
* *
* *
\********************************************************************/
int CALLBACK WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpszCmdLine,
int nCmdShow )
{
MSG msg;
HWND hWnd;
BOOL bRet;
WNDCLASS wc;
if( !hPrevInstance )
{
wc.lpszClassName = TEXT("GenericAppClass");
wc.lpfnWndProc = MainWndProc;
wc.style = CS_OWNDC | CS_VREDRAW | CS_HREDRAW;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon( NULL, IDI_APPLICATION );
wc.hCursor = LoadCursor( NULL, IDC_ARROW );
wc.hbrBackground = (HBRUSH)( COLOR_WINDOW+1 );
wc.lpszMenuName = TEXT("GenericAppMenu");
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
RegisterClass( &wc );
}
ghInstance = hInstance;
hWnd = CreateWindow( TEXT("GenericAppClass"),
TEXT("Generic Application"),
WS_OVERLAPPEDWINDOW|WS_HSCROLL|WS_VSCROLL,
0,
0,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL
);
ShowWindow( hWnd, nCmdShow );
while( (bRet = GetMessage( &msg, NULL, 0, 0 )) != 0 )
{
if (bRet == -1)
{
// handle the error and possibly exit
}
else
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
}
return (int)msg.wParam;
}
/********************************************************************\
* Function: LRESULT CALLBACK MainWndProc(HWND, UINT, WPARAM, LPARAM) *
* *
* Purpose: Processes Application Messages *
* *
* Comments: The following messages are processed *
* *
* WM_PAINT *
* WM_COMMAND *
* WM_DESTROY *
* *
* *
\********************************************************************/
LRESULT CALLBACK MainWndProc(
HWND hWnd,
UINT msg,
WPARAM wParam,
LPARAM lParam )
{
PAINTSTRUCT ps;
HDC hDC;
switch( msg )
{
/**************************************************************\
* WM_PAINT: *
\**************************************************************/
case WM_PAINT:
hDC = BeginPaint( hWnd, &ps );
TextOut( hDC, 10, 10, TEXT("Hello, Windows!"), 15 );
EndPaint( hWnd, &ps );
break;
/**************************************************************\
* WM_COMMAND: *
\**************************************************************/
case WM_COMMAND:
switch( wParam )
{
case IDM_ABOUT:
DialogBox( ghInstance, TEXT("AboutDlg"), hWnd,
(DLGPROC) AboutDlgProc );
break;
}
break;
/**************************************************************\
* WM_DESTROY: PostQuitMessage() is called *
\**************************************************************/
case WM_DESTROY:
PostQuitMessage( 0 );
break;
/**************************************************************\
* Let the default window proc handle all other messages *
\**************************************************************/
default:
return( DefWindowProc( hWnd, msg, wParam, lParam ));
}
return 0;
}
/********************************************************************\
* Function: INT_PTR CALLBACK AboutDlgProc(HWND, UINT, WPARAM, LPARAM)*
* *
* Purpose: Processes "About" Dialog Box Messages *
* *
* Comments: The About dialog box is displayed when the user clicks *
* About from the Help menu. *
* *
\********************************************************************/
INT_PTR CALLBACK AboutDlgProc(
HWND hDlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam )
{
switch( uMsg )
{
case WM_INITDIALOG:
return TRUE;
case WM_COMMAND:
switch( wParam )
{
case IDOK:
EndDialog( hDlg, TRUE );
return TRUE;
}
break;
}
return FALSE;
}
Filed under Uncategorized
Create your own magic with Web 7.0 Agentic OS. Imagine the possibilities.
Copyright © 2025 Michael Herman (Bindloss, Alberta, Canada) – Creative Commons Attribution-ShareAlike 4.0 International Public License
Here’s 2 teaser slides…


Filed under Uncategorized
Create your own magic with Web 7.0 AgenticOS™. Imagine the possibilities.
Copyright © 2025 Michael Herman (Bindloss, Alberta, Canada) – Creative Commons Attribution-ShareAlike 4.0 International Public License
“If the Big Bad Wolf of business is disruption — then your house of straw, your house of sticks, your house of bricks … they each represent how you respond. To survive, you can’t just build the straw or the sticks. You need the bricks.” — Mitch Joel (Italics added)
If the “big bad wolf” symbolizes disruption, then the Three Little Pigs are three business responses you need to cover to survive and thrive:
Why he uses the tale: the fairy tale makes the point visceral: if you only build a “straw” or “stick” strategy (only one of Transform, Innovate, Transact), the wolf (Disruption) will blow you down. You need all three to be resilient.
“Once you’ve begun transforming internally, you need to create things that people actually want. Innovation isn’t about chasing shiny objects; it’s about connecting better with customers.” — Mitch Joel
Innovation is building new ways for people to engage with your brand, products, or services. It’s the “what we make and how it connects” layer between transformation (internal) and transaction (external).
Transformation builds the foundation (Pig 1). Innovation builds the structure that attracts and connects people (Pig 2). But the house of sticks still isn’t enough — unless you tie it to real customer action through Transact (Pig 3 — a house of bricks).
“Transformation and innovation don’t mean much if you can’t enable people to act — to buy, to subscribe, to connect. The strongest companies make it effortless for customers to say ‘yes.’” — Mitch Joel
Transact is about removing friction between desire and action. It’s where all your internal change (Pig 1) and creative output (Pig 2) translate into measurable results — purchases, loyalty, advocacy, or community engagement.
Meet customers where they are.
Simplify the path to action.
Trust and transparency.
Close the feedback loop.
A good example of a Kaplan and Norton strategy map appears in Figure 1. The Parallelsapce Corporation Strategy Map applies the Kaplan and Norton Balanced Scorecard framework to align learning, processes, customers, and financial outcomes.
It begins with a foundation of Learning & Growth — focusing on research, training, people, and best practices—to build organizational capabilities.
These capabilities feed into Internal Processes such as analysis, external publishing, partnerships, CRM, and proof-of-concepts, which strengthen Customer Perspectives of knowledge and solution leadership through design excellence and process integrity.
Ultimately, this drives Financial Results across multiple revenue streams, including content, delivery, training, consulting, and both packaged and custom solutions.
The map emphasizes a cause-and-effect flow from people and process excellence to customer trust and financial growth.

Figure 2 is a color-coded layout aligning the TLP’s potential business responses of Transform, Innovate, and Transact with the Learning & Growth, Internal Process, Customer, and Financial perspectives of the Balanced Scorecard framework

The 4th Perspective, Learning & Growth (Cultural Foundation), is an extension of the Pig 1 — Transform response used for Perspective 3: Internal Processes.
Filed under Uncategorized
Create your own magic with Web 7.0 Agentic OS. Imagine the possibilities.
Dunbar’s Number refers to the cognitive limit on the number of stable, meaningful social relationships a person can maintain — typically around 150.
Proposed by anthropologist Robin Dunbar in the early 1990s, it’s based on research linking neocortex size to social group size in primates, then extrapolated to humans.
The key idea: our brains can only manage a limited number of people whose relationships with us (and with each other) we can track in any depth.
Dunbar found that human relationships form nested circles of intimacy, each layer roughly three times larger than the one before it — but with decreasing emotional closeness and interaction frequency.
| Layer | Approx. Size | Relationship Type | Typical Frequency of Contact / Emotional Closeness |
|---|---|---|---|
| 0th Circle (#Wanderer) | 1 | An individual | N/A |
| 1st Circle (Party of Explorers) | 2-5 | Closest friends & family — your “support clique” | Daily or near-daily contact; deepest emotional ties |
| 2nd Circle (Family Unit) | 5-20 | Good friends you confide in and rely on | Weekly contact; high emotional closeness |
| 3rd Circle (Band) | 20-50 | Friends you might invite to a big personal event (e.g. wedding) | Monthly contact; moderate closeness |
| 4th Circle (Clan) | 50-500 | Meaningful relationships — people you know personally and would help if needed | A few times per year; recognize and understand social context |
| 5th Circle (Tribe) | 1000-2000 | Acquaintances — people whose names and faces you recognize | Occasional interaction or recognition |
| 6th Circle (Nation State) | 2000-150,000+ | People you can place a name to (the limit of facial recognition memory) | Rare interaction; mostly recognition only |
Even in the digital era:



Copyright © 2025 Michael Herman (Bindloss, Alberta, Canada) – Creative Commons Attribution-ShareAlike 4.0 International Public License
Filed under Uncategorized
Create your own magic with Web 7.0 AgenticOS™. Imagine the possibilities.
Copyright © 2025 Michael Herman (Bindloss, Alberta, Canada) – Creative Commons Attribution-ShareAlike 4.0 International Public License
The term “macromodular” generally refers to something composed of large, self-contained modules that can be combined or interchanged within a broader system.
The amount of logically irrelevent engineering detail inherent in the design and construction of a computer system is great. As a result, the task of creating a system based on the use of present techniques is so difficult and time-consuming that the number of different systems that can be put into use for evaluation and study by any one group of workers is small. This is unfortunate as we are thereby denied the opportunity to develop that insight into logical organization which can grow out of a working familiarity with many diverse forms. What is needed is a set of relatively simple, easily inter-connected modules from which working systems can be readily assembled for evaluation and study. With such a set, both the designer and user would be able to try out potentially powerful and novel structures on a very large scale, adjusting and improving the systems as needed. Once a design has been realized and its value established, it could then be reworked into tighter engineering form for maximum efficiency and for production by automatic wiring and fabrication techniques, and the experimental units made available for further studies or returned to “inventory” in the manner proposed by Estrin.
Macromodular computer systems. Wesley Clark. 1967.
“Macromodular” is used in several contexts, each with a slightly different nuance.
Meaning: A macromodular system is built from major components (modules) that can operate semi-independently but connect through defined interfaces.
Example: In aerospace or manufacturing, a rocket might be designed in macromodules — propulsion, guidance, payload — each built and tested separately, then integrated.
Contrast:
Modular → small, interchangeable units.
Macromodular → large, complex modules, often representing entire subsystems.
Meaning: A macromodular architecture organizes codebases into large, cohesive components (e.g., microservices clusters or bounded contexts) rather than granular micro-modules.
Example: A company might have a “macromodule” for payments, another for user management, each encompassing many smaller internal modules.
Benefit: Easier maintainability and clearer ownership boundaries than hyper-granular microservices.
Sometimes used metaphorically to describe large functional units in a system — e.g., macromodular organization of the brain (sets of modules handling high-level tasks like perception or language).
In short: Macromodular = modular at a higher level of aggregation. It emphasizes large-scale modularity — balancing specialization and integration.
The term “macromodular systems” refers to systems composed of large, well-defined, interoperable modules that can be independently developed, maintained, and replaced, yet integrate seamlessly into a larger architecture. It’s an evolution of modular design thinking—scaling up modularity from components or microservices to system-level modules that encapsulate significant functionality or subsystems.

Filed under Uncategorized
Create your own magic with Web 7.0 Agentic OS. Imagine the possibilities.
Copyright © 2025 Michael Herman (Bindloss, Alberta, Canada) – Creative Commons Attribution-ShareAlike 4.0 International Public License
The true #promise of #AI is solving #macromodular problems – not personal productivity tools like ChatGPT, Copilot, Grok, Gemini, Perplexity, Claude, etc. Michael Herman, November 2, 2025.

Filed under Uncategorized
Create your own magic with Web 7.0 AgenticOS™. Imagine the possibilities.
Copyright © 2025 Michael Herman (Bindloss, Alberta, Canada) – Creative Commons Attribution-ShareAlike 4.0 International Public License
…AI Agents in particular.
Who remembers when Microsoft introduced Visual Basic Controls (VBX)?
Why are Agents important? AI Agents will follow the same trajectory as VBXs and serve an identical purpose: accelerating the componentization, commercialization, and consumption of AI. This trajectory will be measured in years.
Michael Herman, LinkedIn. Web 7.0 Foundation. October 2025.


Footnote
Microsoft introduced Visual Basic controls — often referred to as VBX controls — in 1991, with the release of Visual Basic 1.0 for Windows.

The “father” of VBXs (Visual Basic eXtensions) is generally recognized as Alan Cooper. Here’s how that came about:
Alan Cooper, a software designer and developer, created an early visual programming environment called Tripod in the late 1980s. Microsoft acquired the rights to Tripod and, working with Cooper, developed it into Visual Basic 1.0, which launched in 1991.
Cooper’s prototype introduced the form designer concept — dragging and dropping UI elements (controls) onto forms — which directly led to the need for VBX controls as reusable, pluggable components.
Although Microsoft’s VB team (led by Scott Ferguson and others) implemented the actual VBX architecture, Alan Cooper’s foundational design and vision for a “visual, component-based programming tool” earned him the informal title of:
🧠 “The Father of Visual Basic” — and by extension, of VBX controls.

Filed under Uncategorized
My Wishes for a #NewAlbertan
(read slowly like Paul Harvey would say it)
Ask your Dad for a fingertip drip of Jameson.
Learn how to kiss …passionately.
Clip your fingernails …really close.
Wear Bleu De Chanel.
Smile a lot.
Learn to dance the polka, two-step, and jive.
Slow dancing will come on its own.
Buy flowers …lots of flowers.
Take your Mom out on “school nights”.
Throw the baseball with Dad.
Smile a lot.
Learn to use a real calf rope.
Drive a pickup truck …nothing else.
Learn to pick crocuses and wild roses.
Valpolicella Ripasso is a great wine until you can afford Amarone.
Smile even more.
Travel, yes travel …to Spain, Netherlands, and Poland.
Eat great food.
Make your Mom buy you a pickle canner.
Love your Mom and your Dad but especially your Mother.
Smile even more.
Never forget you’re an Albertan.
Buy a ranch some day.
Wherever life takes you, never forget what an Alberta sky looks like.
Love country music.
Smile.
These are my wishes for you #NewAlbertan.
Michael Herman, February 2021.
Filed under Uncategorized
Create your own magic with Web 7.0 AgenticOS™. Imagine the possibilities.
Copyright © 2025 Michael Herman (Bindloss, Alberta, Canada) – Creative Commons Attribution-ShareAlike 4.0 International Public License

Filed under Uncategorized