Saturday, June 28, 2025

NLWeb and MCP

Natural Language Web

NLWeb, short for Natural Language Web, aims to be the fastest and easiest way to effectively turn your website into an AI app. A natural language interface for websites using the model of their choice and their own data. Every NLWeb instance is also a Model Context Protocol (MCP) server, allowing websites to make their content discoverable and accessible to agents and other participants in the MCP ecosystem if they choose.

How does it work?

NLWeb leverages semi-structured formats like Schema.org, RSS and other data that websites already publish, combining them with LLM-powered tools to create natural language interfaces usable by both humans and AI agents. The NLWeb system enhances this structured data by incorporating external knowledge from the underlying LLMs for richer user experiences.

How do I get started?

The NLWeb GitHub repo contains everything you need to get started:

  • The lightweight code that controls the core service to handle natural language queries, as well as documentation on how this can be extended and customized.
  • Connectors to some of the most popular models and vector databases, as well as documentation to add other models of your choice.
  • Tools for adding your data in Schema.org, JSONL, RSS and other formats to your chosen vector database.
  • A web server frontend for the service and a simple UI that allows users to send queries to the web server.

source: https://news.microsoft.com/source/features/company-news/introducing-nlweb-bringing-conversational-interfaces-directly-to-the-web/

Written by Microsoft Corporate Blogs Published May 19, 2025

Model Context Protocol

The Model Context Protocol, or MCP for short, is a standard for connecting AI assistants to the systems where data resides.

MCP lets AI models draw data from sources like business tools and software to complete tasks, as well as from content repositories and app development environments.

MCP enables developers to build two-way connections between data sources and AI-powered applications (e.g., chatbots). Developers can expose data through “MCP servers” and build “MCP clients” — for instance, apps and workflows — that connect to those servers on command.

source: https://techcrunch.com/2024/11/25/anthropic-proposes-a-way-to-connect-data-to-ai-chatbots/

Transforming the Web with Natural Language: My NLWeb Presentation at Nashua CLOUD .NET & DevBoston

View the slides on SlideShare: https://www.slideshare.net/slideshow/transform-any-website-into-a-conversational-experience-with-nlweb/281034902

What Is NLWeb?

NLWeb (Natural Language Web) is a robust protocol and toolset developed by Microsoft that turns any traditional website into a conversational interface, leveraging the power of large language models. It’s built around the Model Context Protocol (MCP), allowing developers to process natural-language queries and respond using structured Schema.org JSON.

In my session, I demonstrated how NLWeb works, highlighting its design for flexibility (enabling the swapping out of models, vector databases, and embeddings), and how it seamlessly connects to data and APIs to deliver intelligent, real-time responses to users.

Real-World Impact

I also highlighted real-world use cases where NLWeb is already in action:

  • Tripadvisor – enabling users to plan family trips through conversation
  • Eventbrite – allowing event discovery through natural-language search
  • O’Reilly, Qdrant, Delish, Shopify, and others – showcasing early success in turning structured content into AI-driven UX

These examples demonstrate how businesses are already leveraging the potential of conversational web interfaces to drive engagement and discovery.

How to Get Started

For those interested in experimenting or building with NLWeb, here are a few resources I shared:

  • GitHub: https://github.com/microsoft/NLWeb
  • Quick start guide: docs/nlweb-hello-world.md
  • Local test interface: http://localhost:8000/static/debug.html
  • Azure deployment: docs/setup-azure.md

Whether you’re a developer, architect, or product leader, NLWeb offers a modern and modular approach to embedding LLM-driven intelligence into any web property.

source: https://udai.io/transforming-the-web-with-natural-language-my-nlweb-presentation-at-nashua-cloud-net-devboston/

Saturday, June 21, 2025

Personality type schemas

Myers-Briggs

The Myers-Briggs® system consists of four preference pairs that reflect different aspects of personality—opposite ways to direct and receive energy through Extraversion (E) or Introversion (I), take in information with Sensing (S) or Intuition (N), come to conclusions using Thinking (T) or Feeling (F), and approach the outside world through Judging (J) or Perceiving (P). 

ISTJ

Quiet, serious, earn success by being thorough and dependable. Practical, matter-of-fact, realistic, and responsible. Decide logically what should be done and work toward it steadily, regardless of distractions. Take pleasure in making everything orderly and organized—their work, their home, their life. Value traditions and loyalty.

ISFJ

Quiet, friendly, responsible, and conscientious. Committed and steady in meeting their obligations. Thorough, painstaking, and accurate. Loyal, considerate, notice and remember specifics about people who are important to them, concerned with how others feel. Strive to create an orderly and harmonious environment at work and at home.

INFJ

Seek meaning and connection in ideas, relationships, and material possessions. Want to understand what motivates people and are insightful about others. Conscientious and committed to their firm values. Develop a clear vision about how best to serve the common good. Organized and decisive in implementing their vision.

INTJ

Have original minds and great drive for implementing their ideas and achieving their goals. Quickly see patterns in external events and develop long-range explanatory perspectives. When committed, organize a job and carry it through. Skeptical and independent, have high standards of competence and performance—for themselves and others.

ISTP

Tolerant and flexible, quiet observers until a problem appears, then act quickly to find workable solutions. Analyze what makes things work and readily get through large amounts of data to isolate the core of practical problems. Interested in cause and effect, organize facts using logical principles, value efficiency.

ISFP

Quiet, friendly, sensitive, and kind. Enjoy the present moment, what's going on around them. Like to have their own space and to work within their own time frame. Loyal and committed to their values and to people who are important to them. Dislike disagreements and conflicts; don't force their opinions or values on others.

INFP

Idealistic, loyal to their values and to people who are important to them. Want to live a life that is congruent with their values. Curious, quick to see possibilities, can be catalysts for implementing ideas. Seek to understand people and to help them fulfill their potential. Adaptable, flexible, and accepting unless a value is threatened.

INTP

Seek to develop logical explanations for everything that interests them. Theoretical and abstract, interested more in ideas than in social interaction. Quiet, contained, flexible, and adaptable. Have unusual ability to focus in depth to solve problems in their area of interest. Skeptical, sometimes critical, always analytical.

ESTP

Flexible and tolerant, take a pragmatic approach focused on immediate results. Bored by theories and conceptual explanations; want to act energetically to solve the problem. Focus on the here and now, spontaneous, enjoy each moment they can be active with others. Enjoy material comforts and style. Learn best through doing.

ESFP

Outgoing, friendly, and accepting. Exuberant lovers of life, people, and material comforts. Enjoy working with others to make things happen. Bring common sense and a realistic approach to their work and make work fun. Flexible and spontaneous, adapt readily to new people and environments. Learn best by trying a new skill with other people.

ENFP

Warmly enthusiastic and imaginative. See life as full of possibilities. Make connections between events and information very quickly, and confidently proceed based on the patterns they see. Want a lot of affirmation from others, and readily give appreciation and support. Spontaneous and flexible, often rely on their ability to improvise and their verbal fluency.

ENTP

Quick, ingenious, stimulating, alert, and outspoken. Resourceful in solving new and challenging problems. Adept at generating conceptual possibilities and then analyzing them strategically. Good at reading other people. Bored by routine, will seldom do the same thing the same way, apt to turn to one new interest after another.

ESTJ

Practical, realistic, matter-of-fact. Decisive, quickly move to implement decisions. Organize projects and people to get things done, focus on getting results in the most efficient way possible. Take care of routine details. Have a clear set of logical standards, systematically follow them and want others to also. Forceful in implementing their plans.

ESFJ

Warmhearted, conscientious, and cooperative. Want harmony in their environment, work with determination to establish it. Like to work with others to complete tasks accurately and on time. Loyal, follow through even in small matters. Notice what others need in their day-to-day lives and try to provide it. Want to be appreciated for who they are and for what they contribute.

ENFJ

Warm, empathetic, responsive, and responsible. Highly attuned to the emotions, needs, and motivations of others. Find potential in everyone, want to help others fulfill their potential. May act as catalysts for individual and group growth. Loyal, responsive to praise and criticism. Sociable, facilitate others in a group, and provide inspiring leadership.

ENTJ

Frank, decisive, assume leadership readily. Quickly see illogical and inefficient procedures and policies, develop and implement comprehensive systems to solve organizational problems. Enjoy long-term planning and goal setting. Usually well informed, well read, enjoy expanding their knowledge and passing it on to others. Forceful in presenting their ideas.

source: https://www.myersbriggs.org/my-mbti-personality-type/the-16-mbti-personality-types/

Love Languages

This model identifies five primary ways people express and receive love: 

  1. words of affirmation
  2. quality time
  3. acts of service
  4. gifts
  5. physical touch

Nine Enneagram Types

Decision-Making Styles Of The Enneagram Types

The decision-making process varies depending on the personality types at work. However, each enneagram type can be categorized as making decisions through their head, heart, or gut.

Going With Your Gut

Personalities that go with their gut tend to be instinctive. They want to be in control and have authority, respect, and power. “Personalities in this category really don't like to be told what to do,” said Copley, “which has a clear implication for team decision-making.” This workplace personality likes to be in charge because they like to make decisions, and they're good at it. But to put it bluntly, they're often also control freaks.

Reformer

The Reformer is driven by perfection and the desire for personal growth. They expect themselves and others to be their best at all times. But under stress, they start nitpicking. They don't like to decide with incomplete information, and their quest for perfection causes damaging delays.

Challenger

The Challenger is strong and action-oriented. The good news is that you have a lot of forward momentum and are energized by vibrant debate. You are confident and decisive. However, in stressful times you may move so fast that you don't get proper input from others. This fast pace may result in you misinterpreting silence as agreement and running right over less forceful dissenters.

Peacemaker

If you are a Peacemaker, you crave control because you want to ensure that everyone is happy. You bring people together, and synthesize perspectives across the team. But when stressed, you can be so hyper-focused on harmony that you may avoid conflict, gloss over important disagreements and make the wrong decision just to keep everyone happy.

Straight From The Heart  

Of all the personality types at work, the heart types are the most driven by how other people perceive them. “They care about what people see in them, and what impressions their decisions will make on other people,” said Copley. The good news is that this need for validation drives a quest for achievement and a desire for feedback. The bad news is that heart types can be driven by appearances instead of results.

Helper

The Helper is extremely tuned into the morale of an organization. You are that bright-eyed co-worker who is always making direct, warm eye contact and involving everyone. The Helper knows how to read people and has high emotional intelligence. This is great, except when you are a leader who needs to make a decision that will affect people negatively. Preferring to be liked, you'd rather avoid hard but necessary decisions.

Achiever

The Achiever is also focused on other team members, but you are also looking for admiration. You are self-confident and extremely success-oriented. This makes you methodical in decision-making, because you want to win. But you run into trouble when a decision reflects badly on you - you hide the bad news or distance yourself from the problems.

Individualist

The Individualist tends to be highly creative, with a deep appreciation for beauty and aesthetics. They tend to be introspective with high levels of self-awareness. You like to work alone to design elegant solutions. You love to say, “I think there is a totally different way to look at this.” This is highly valuable for a team, but under stress you may disrupt discussion with a disdain for the mundane, demanding elegance over all else. This may make you appear self-absorbed.

It's All in Your Head

The head triad is driven by their focus on what is going to happen in the future. “They want to get things moving towards a better tomorrow," said Copley. They are always playing out future scenarios in their heads and want to be ready for what's coming one, two or ten steps ahead. But they can also ignore the here and now, becoming overly confident that their vision of the future is real.

Investigator

Investigators play out mental scenarios and like to have a ton of data. Characteristically, you are the person on the team who will read not just the full report but the footnotes and references, too. You are highly analytical, objective and rational, but when stressed you get too hung up on research to make a decision, and have a blind spot for important emotional factors.

Loyalist

The Loyalist thinks a lot about security and wants to know that the future will be OK. You have a lot of skepticism and you squelch this by working through scenarios extremely carefully (especially worst-case scenarios). You are a clairvoyant planner and very loyal, but your focus on obstacles can cause your team to dismiss your worries and miss your insights.

Enthusiast

The fun-loving Enthusiast is all about finding joy in life and work. Their optimistic energy is contagious. Always bold and innovative, their peers would describe them as agents of change. They're a quick study and see opportunity everywhere. But Enthusiasts often struggle to meet deadlines. Additionally, under stress they blow off objections and shrug off problems, believing things will work out even when they probably won't.

source: https://www.cloverpop.com/blog/personality-types-at-work

Hippocrates' Four Temperaments

This ancient theory divides personalities into four types, associated with different body fluids. 

  • choleric
  • melancholic
  • phlegmatic
  • sanguine 

The Hire Success® System builds on this historical foundation, with the belief that each person is a unique combination of all four personality types. It gives the four types a simple A-D nomenclature to avoid assigning descriptive labels to people
source: https://www.hiresuccess.com/help/understanding-the-4-personality-types


DISC Personality Types



D: Dominance

A person with a D style is an ambitious go-getter who loves to take on challenges and achieve results. They’re direct, determined, assertive, driven and self-confident – but can sometimes be too quick to act or overlook the needs of others.

I: Influence

A person with an I style is sociable, and motivated by recognition, relationships and fun. They are eager to network, express enthusiasm, and work well collaboratively. These individuals tend to be quite charming and persuasive – however they may lack follow-through at times, due their impulsiveness or lack of structure.

S: Steadiness

A person with an S style is all about building relationships, supporting others, and maintaining stability. They are fiercely loyal, reliable, and driven by cooperation rather than competition. However, because they tend to be slower paced, they can resist change or making quick decisions.

C: Conscientiousness

A person with a C style is the ultimate perfectionist, taking their time to make sure everything is up to the highest standards of quality. They have an impressive attention for detail and a thirst for knowledge and accuracy; however, they can get bogged down by overly analytical tendencies or fear of mistakes.

source: https://kariekaufmann.com/disc

Birkman Colors

  • Red: represents action, energy, likes practical results
  • Green: represents persuading and communicating with people
  • Blue: represents innovation, creativity, and working with ideas
  • Yellow: represents order, repeatability, procedures, and systems

source: https://birkman.com/resources/articles/birkman-colors

True Colors Intl.

  • Orange – Action-Orientated
  • Gold – Organized
  • Green – Analytical
  • Blue – Relationship-Oriented

Orange Personality Types

Action-Oriented Orange personality types look for adventure and fun at home and in the workplace. They are hands-on learners who are typically quick-witted, innovative and playful. Orange types will use their charming personality to become natural negotiators. They are competitive risk-takers who can sometimes be impulsive in their actions. Orange personalities cheer others on to achieve success and they love tangible rewards for their efforts. To perform well, Orange personality types need freedom and mobility.

Gold Personality Types

Organized Gold personality types are extremely detail-oriented, practical and precise. Managers appreciate Gold personalities for their strong work ethic, and co-workers can count on them to follow the rules and complete their tasks on time. To perform well, Gold personalities need to feel prepared for their responsibilities. They like to start off with a realistic plan so they can enjoy a sense of completion when they finish the task.

Green Personality Types

Green personality types are highly analytical and curious about the world. They are logical thinkers who like to see the big picture and sometimes come across as intellectual. Green personalities hate repetition and redundancy. They are often the creative problem solvers in the organization. To perform well, Green personalities need the freedom to think independently.

Blue Personality Types

Blue personality types are extremely relationship-oriented. They crave harmony in the workplace and they appreciate the opportunity to connect with others in teams. Blue personality types value friendships and they are genuinely caring. To perform well, Blue personality types need to find acceptance within the group and enjoy a feeling of belonging. In fact, they are happiest when everyone gets along with each other.

source: https://www.truecolorsintl.com/tciblog/what-are-the-four-common-personality-types

Clarity4D


source: https://www.veterinarywoman.co.uk/2023/04/colour-personality-profiling-as-a-leadership-tool/

Insights Discovery

Insights Discovery is a psychometric tool based on the psychology of Carl Jung, Insights Discovery is built to help people understand themselves, understand others, and make the most of the relationships that affect them in the workplace.

The Insights Discovery methodology uses a simple and memorable four color model to help people understand their style, their strengths and the value they bring to the team. We call these the color energies, and it's the unique mix of energies, which determines how and why people behave the way they do.

  • Fiery Red
  • Sunshine Yellow
  • Earth Green
  • Cool Blue 
source: https://www.insights.com/us/products/insights-discovery
The four main colour energies branch out into a mix of eight personality types listed below.


Based on Carl Jung’s psychological theory, each type is a mix of: introversion, extraversion, thinking, feeling, sensing or intuition. The eight types are defined in the following manner:

Insight Discovery eight types descriptions

source: https://wearebowline.com/blog/8-personality-types-a-deeper-dive-into-insights-discovery/

Cattell's 16 Personality Factors (16PF)

  1. Abstractedness: Imaginative versus practical
  2. Apprehension: Worried versus confident
  3. Dominance: Forceful versus submissive
  4. Emotional stability: Calm versus high-strung
  5. Liveliness: Spontaneous versus restrained
  6. Openness to change: Flexible versus attached to the familiar
  7. Perfectionism: Controlled versus undisciplined
  8. Privateness: Discreet versus open
  9. Reasoning: Abstract versus concrete
  10. Rule-consciousness: Conforming versus non-conforming
  11. Self-reliance: Self-sufficient versus dependent
  12. Sensitivity: Tender-hearted versus tough-minded
  13. Social boldness: Uninhibited versus shy
  14. Tension: Inpatient versus relaxed
  15. Vigilance: Suspicious versus trusting
  16. Warmth: Outgoing versus reserved
source: https://www.verywellmind.com/cattells-16-personality-factors-2795977

Work It Daily Personas

BUILDER

Executes on a plan, managing all aspects, keeping it on time and under budget.

EDUCATOR

Closes gaps in knowledge and to ensure staff is clear in their roles and goals.

MENTOR

Coaches performance and helping others develop their own skills.

OPTIMIZER

Assesses, analyzes, and maps out improvements that directly save or make money.

RESEARCHER

Gathers data and information to assist in better designs and decisions.

SUPERCONNECTOR

Builds relationships with all types of professionals to improve business.

VISIONARY

Thinks big-picture and conceptualizes ideas to motivate others to action.

WARRIOR

Goes the extra mile and volunteers for the tough work when things are challenging.

source: https://workitdaily.lpages.co/work-it-daily-decoder-results, https://www.workitdaily.com/career-decoder, Career Decoder Quiz

Saturday, June 14, 2025

Volunteer’s dilemma

In the volunteer's dilemma, a mutually beneficial outcome will result from one person doing a relatively unpleasant task while the others simply benefit without doing anything. This means that each member of the group needs to decide on whether to be the one to step forward or not. This can be anything people would prefer to avoid if they can.

Since there is no added benefit for the volunteer carrying out the task, there is no real incentive for acting since everyone else benefits as well. In the worst case scenario, everybody ends up suffering because the task in question doesn't get done. 

So spare a thought to the bystander effect and the volunteer's dilemma the next time you find yourself in a situation with others agonizing over who will do something. Sometimes, all it takes is one person willing to act when nobody else will.

source: https://www.psychologytoday.com/us/blog/media-spotlight/201604/exploring-the-volunteers-dilemma

Most often, once one or two people volunteer and break the bystander effect, more people will join.

See TWOTW Nash equilibrium

See TWOTW Bystander effect 

See also: The volunteer’s dilemma explains the bystander effect 


Saturday, June 7, 2025

Nash equilibrium

A Nash equilibrium is a strategy profile in game theory in which no player has a dominant strategy. Each player correctly anticipates the strategic choice of all other players, and thus has no incentive to unilaterally deviate from their own optimal strategy

source: https://builtin.com/data-science/nash-equilibrium

For example, suppose two friends wish to see a movie together but disagree on which movie. If both would rather see either movie together than see a movie alone, then both friends seeing either movie constitutes a Nash equilibrium, as neither can opt to see the other film without suffering a worse outcome.

source: https://www.britannica.com/science/Nash-equilibrium#:~:text=For%20example%2C%20suppose%20two%20friends,without%20suffering%20a%20worse%20outcome.

Saturday, May 31, 2025

Bystander effect, groupthink, herd mentality, diffusion of responsibility

Various factors affect individual and group/team performance. 

  • Social facilitation: improved performance in front of an audience
  • Social loafing: doing less work as part of a group
  • Hawthorne effect or observer effect: changes in behavior when being watched
  • Group polarization: taking more extreme viewpoints as a group than individually
  • Groupthink: making worse decisions as a group by trying to avoid conflict
  • Bystander effect: individuals are less likely to take action in the presence of others
  • Diffusion of responsibility: not responding to events when others are around
  • Mob mentality: doing things while anonymous that one wouldn't do if identifiable

source: https://www.sketchy.com/mcat-lessons/group-psychology

This is a story about four people named Everybody, Somebody, Anybody and Nobody. There was an important job to be done and Everybody was sure that Somebody would do it. Anybody could have done it, but Nobody did it. Somebody got angry about that, because it was Everybody’s job. Everybody thought Anybody could do it, but Nobody realized that Everybody wouldn’t do it. It ended up that Everybody blamed Somebody when Nobody did what Anybody could have done.

source: widely quoted

If you want help, single out an individual from the crowd, make eye contact, and directly ask for assistance instead of making a general plea to the group.

source: How to Overcome the Bystander Effect

If you are in the crowd:

  1. Be aware and curious of your surroundings
  2. Determine to respond when you see something that needs to be done
  3. Find one way to help
  4. Help in that way
  5. Repeat steps 1-4
More well known is the OODA loop (TWOTW).
  1. Observe
  2. Orient
  3. Decide
  4. Act
Most of the examples of the bystander effect I found are related to emergencies or crimes (major and minor). These effects, however, are ubiquitous. So many tasks are bypassed for no greater reason than that we are too self-absorbed to notice that item that should be picked up. Or that, if noticed, we assume no responsibility because we think it's someone else's job to do. Certainly, there are legitimate reasons to leave a task undone, such as time restrictions or high risk. Be a Nobody and do what Anybody could have done. 



Saturday, May 10, 2025

POUR - WCAG

The Web Content Accessibility Guidelines (WCAG), developed by the World Wide Web Consortium, are technical standards that help make the digital world accessible to people with disabilities. WCAG standards are rooted in four main principles: perceivable, operable, understandable, and robust, often called POUR.

Perceivable

Information must be perceivable to people using only one of their senses, so they understand all related content.

My thots: Check the contrast outside under bright lighting conditions. Ensure the audio understandable in a noisy room. Both light and dark backgrounds are common, ensure text color adjusts. There are various forms of color-blindness, check using a color-blind simulator and/or in grayscale to ensure no meaningful information is lost--that is, a red circle and a green circle are the same when the color is muted. Wear hearing protection to ensure alternatives to increasing the volume are available when possible. Blur your vision (or remove your glasses) to ensure the text and image size can be increased to improve readability. Ensure temporary notifications display sufficiently long to be recognized when distracted. Display on a large projected image (where color and contrast may vary).

Operable

End users must be able to interact with all webpage elements. For instance, your website should be easily navigable with just a keyboard or voice controls for non-mouse users.

My thots: Wear gloves, thus causing a loss of precise touch. Use just a keyboard--don't rely on a mouse cursor. Use just a touch-screen--don't rely on hover-text. Use a small screen (e.g., mobile phone). Use a connected display some distance away with just a mouse, for example, use a wide-screen TV and a mouse on an uneven surface or a TV remote.

Understandable

The principle is just what it seems—end users must be able to understand web page content and functionality information.

My thots: this principle should be true for all means of communication, but it is very difficult especially given the diversity of the audience. Those who don't know English are left with machine translation. As a person with an analytical, engineering mind, I find that most web sites do a very poor job with understandability for me because their audience is primarily non-technical, emotionally driven, neurotypical people. If I don't already know what a company does, visiting their website seldom gives me more than just a clue about what they do. For example, take this headline, "Essential Software - For the People Who Change the World." OK, at least I know it's a software company, but what kind and is it cloud-based, mobile, desktop, a framework to be integrated, self-service or requires technical professional consultants to configure? The next subheading helps: "Software built for fundraising, nonprofit accounting, education, CSR and more." Now, I know what markets this software is design to meet. There's a financial component and an educational component and CSR, whatever that is--though if I don't know what CSR means, this software is probably not what I need. But then the subheading continues with "Fueling bigger, bolder impact — everywhere." What does that mean? 

Robust

Your website must effectively communicate information to all users, including users of assistive technologies, and remain compatible with evolving technologies and user needs.

My thots: let's face, this is a goal seldom reached because of expense and lack of knowledge of capabilities. Also, not everything needs to be accessible, at least not on a practical level. For example, a website to sell a product that requires sight to use has little need for a website compatible with those who can't see. Technology has advanced making some best practices no longer important. For example, using relative styles (i.e., not "pt") for font size is not nearly as important now that browsers allow the magnification of the entire screen to scale. 

My biggest fight has been with web page designers who want to control the appearance of the page and not allow the viewer to decide how they want to interact with the content.

source: https://www.wcag.com/resource/what-is-wcag/

Saturday, May 3, 2025

Speed controls

Debounce

Debouncing means to discard operations that occur too close together during a specific interval, and consolidate them into a single invocation.

Debouncing is very similar to throttling. The key difference is that throttling enforces limits on continuous operations, while debouncing waits for invocations to stop for a specific time to consolidate many noisy invocations into one single invocation.

Rate limit

Rate limiting means controlling how many operations can be performed in a given amount of time, usually to avoid overloading the system and causing performance degradation. For example, a server might limit the number of requests it will accept from a single client in a given time period, which not only optimizes the server's overall performance but also mitigates attacks like DoS (denial-of-service).

Rate limiting is typically synonymous with throttling, although debouncing is another viable strategy which provides better semantics and user experience in certain cases.

Throttle

Throttling refers to slowing down a process such that an operation can only be performed at a certain rate.

Throttling is very similar to debouncing. The key difference is that when invocations happen continuously, throttling ensures that the operation is still performed at a certain maximum rate, while debouncing waits indefinitely until the invocations stop for a certain amount of time.

Choke 

Network Choke Point

A point in a computer network through which all or most of the traffic in the network flows. Such points are vulnerable to both crackers and hardware failure. One of the main strategies of network designers is to minimize or eliminate the number of choke points.

Carburetor Choke Value

Choke valves supply a richer fuel mixture when starting the engine by restricting air flow.
source: https://en.wikipedia.org/wiki/Choke_valve

Industrial Fluid Choke Value

In the extraction of petroleum, a choke valve (or "choke") is an adjustable flow limiter that is designed to operate at a large pressure drop, at a large flow rate, for a long time.
source: https://en.wikipedia.org/wiki/Choke_valve

Electronics (Inductor)

In electronics, a choke is an inductor used to block higher-frequency alternating currents (AC) while passing direct current (DC) and lower-frequency ACs in a circuit. The name comes from blocking—"choking"—high frequencies while passing low frequencies.
source: https://en.wikipedia.org/wiki/Choke_(electronics)

Governor

A governor is a mechanical device that automatically maintains the rotary speed of an engine within reasonably close limits regardless of the load. A typical governor regulates an engine’s speed by varying the rate at which fuel is furnished to it.


souce:https://www.britannica.com/technology/governor-machine-component

Exponential Backoff / Retry

The idea behind exponential backoff is to use progressively longer waits between retries for consecutive error responses. Exponential backoff can lead to very long backoff times, because exponential functions grow quickly. You should implement a maximum delay interval and a maximum number of retries. The maximum delay interval and maximum number of retries are not necessarily fixed values. They should be set based on the operation being performed and other local factors, including network latency.

Jitter

Retries can be ineffective if all clients retry at the same time. To avoid this problem, a random amount of time before making or retrying a request is added to help prevent large bursts by spreading out the arrival rate. Most exponential backoff algorithms use jitter to prevent successive collisions. 

source: https://aws.amazon.com/blogs/mt/managing-monitoring-api-throttling-in-workloads/

Circuit breaker

The Circuit Breaker design pattern is commonly used in software development to improve system resilience and fault tolerance. Circuit breaker pattern can prevent cascading failures particularly in distributed systems. The circuit breaker pattern can be used in conjunction with other patterns, such as retry, fallback, and timeout, to enhance fault tolerance in systems.

  • Closed - normal operation
  • Open - returns an error immediately
  • Half-open - a limited number of requests are allowed to pass and the state may change to Closed or Open depending on whether the request succeeds or fails.

source: https://en.wikipedia.org/wiki/Circuit_breaker_design_pattern

See also

Bulkhead isolation

Limits the resources consumable by the governed actions, such that a fault 'storm' cannot cause a cascading failure also bringing down other operations.

bulkhead is a wall within a ship which separates one compartment from another, such that damage to one compartment does not cause the whole ship to sink. Premise: One fault shouldn't bring down the whole ship!

When a process begins to fault, it can build up a large number of requests, all potentially failing slowly in parallel. If unconstrained, these can chew up ever greater resource (CPU, threads, memory, etc.) in the host, degrading capability or eventually causing outright failure.

In a variant, a faulted downstream system can lead to a 'backing up' of large numbers of requests in its consumers. If ungoverned, these 'backed-up' calls can in turn consume all resources in the consumer, leading to a cascading upstream failure.

source: https://github.com/App-vNext/Polly/wiki/Bulkhead


Saturday, April 26, 2025

Agentic (adjective form of "agent")

Agentic is formed from the noun agent, “one that exerts power” or “something that can produce an effect,” and the adjective suffix, -ic.

In reference to artificial intelligence, the word has been used since the 2010s, gaining prominence in 2024. Here, agentic is based on the specific use of agent to refer to computer applications designed to automate certain tasks. An agentic AI, for example, might be designed to receive and resolve a customer service issue, such as refunding money or resetting a password, without any human oversight in any step of the process.

In chemistry, starting in the 1800s and with some usage up to the mid-to-late 1900s, agentic described certain chemical agents (e.g., agentic oxide) involved in reactions. 

In psychology and related fields starting especially in the latter half of the 1900s, agentic has characterized behaviors, personality traits, emotional states, etc., seen as motivated by individualistic desires for mastery, success, and power.

source: Merriam-Webster

Use of "agentic" from 1960 to 2022 - Google Books Ngram Viewer



Saturday, April 12, 2025

Alarm Fatigue

Alarm fatigue or alert fatigue describes how busy workers become desensitized to safety alerts, and as a result ignore or fail to respond appropriately to such warnings. Alarm fatigue occurs in many fields, including construction and mining, healthcare, and the nuclear power field. Like crying wolf, such false alarms rob the critical alarms of the importance they deserve. Alarm management and policy are critical to prevent alarm fatigue. 

Examples

  • Vehicle back-up alarms sound so frequently that they often become senseless background noise
  • Electronic medical monitors tracking clinical information such as vital signs and blood glucose sound alarms so frequently, and often for such minor reasons, that they lose the urgency and attention-grabbing power which they are intended to have
  • California Proposition 65 has been criticized for causing "over-warning" due to encouraging "meaningless warnings." There is no penalty for posting an unnecessary warning sign, and to the extent that warnings are vague or overused, they may not communicate much information to the end user. Many companies now routinely attach Prop 65 warning labels to any product of theirs that they think might possibly contain one of the 900 listed chemicals without testing to see whether the chemical is really present in their product and without reformulating their product, because it is cheaper to do so than to run the risk of being sued by Prop 65 enforcers.

Proposed solutions

  • Identify by sound alone. Change alarm sounds to be softer and friendlier in order to improve identification of alarms. 
  • Adjust the parameters and delays to alarms to match the traits and status. However, this directly trades sensitivity for specificity.
  • Centrally monitor alarms where a trained person evaluates each alarm and distributes alerts only when necessary.
  • Adjust automated alarm algorithms to be more specific and not overly sensitive to mitigate false alarms and balance sensitivity and specificity to still detect actionable conditions.

See also

source: https://en.wikipedia.org/wiki/Alarm_fatigue

Saturday, March 8, 2025

Semantic Type

A semantic type applies a human-centric meaning to a primitive data type in the domain of the application. For example, defining an EmailAddress type instead of using the more loosely typed String helps guard against bug and provides validation ensuring the value of the semantic type is always valid.

Most of semantic data types detection engines are rule based with regular expressions or data dictionaries inside. Most rules are quite simple.

Most common usage are:

  •     to find the data that should be secured (personal identifiable information)
  •     to implement quality control metrics and ensure data integrity
  •     to integrate data automatically by type

So keywords here are observability, security and integration.

source: Semantic data types

See Semantic data types registry

See also Opaque Identifier Validation (twotw)