Monday, January 27, 2025

 These are the steps for an Azure subscriber to expose an endpoint on Azure Front Door:

1. **Create an Azure Front Door Profile**: If you don't already have one, create an Azure Front Door Standard/Premium profile.

2. **Obtain a Custom Domain**: Purchase a custom domain from a domain provider or use an existing one. If your DNS domains are hosted on Azure, delegate the domain provider's DNS to Azure DNS.

3. **Create a CNAME DNS Record**: Create a CNAME record with your domain provider to point to the Front Door default frontend host. This maps your custom domain name to the Front Door default hostname.

4. **Map the Temporary afdverify Subdomain**: Map the temporary `afdverify` subdomain to verify domain ownership.

5. **Add the Custom Domain to Azure Front Door**: Go to the Domains pane of your Azure Front Door profile. Select "+ Add" to add a new domain.

6. **Validate the Custom Domain**: Choose the domain type (Non-Azure validated domain or Azure pre-validated domain). If it's a Non-Azure validated domain, manually enter the custom domain name.

7. **Associate the Custom Domain with Your Endpoint**: Associate the validated custom domain with your Azure Front Door endpoint.

8. **Verify the Custom Domain**: Ensure the custom domain is correctly associated and verify it through the Azure portal.

9. **Configure HTTPS (Optional)**: If you want to secure your custom domain with HTTPS, configure it by following the steps to enable HTTPS for your custom domain.

10. **Test the Configuration**: Test the setup by accessing your custom domain to ensure everything is working correctly.


Sunday, January 26, 2025

 Problem statement: Given the root of a binary tree, check whether it is a mirror of itself (i.e., symmetric around its center).

Example 1:

                 1

           2 2

    3 4 4 3

Input: root = [1,2,2,3,4,4,3]

Output: true

Example 2:

                 1

           2 2

    null 3 null 3

Input: root = [1,2,2,null,3,null,3]

Output: false

Constraints:

The number of nodes in the tree is in the range [1, 1000].

-100 <= Node.val <= 100

/**

 * Definition for a binary tree node.

 * public class TreeNode {

 * int val;

 * TreeNode left;

 * TreeNode right;

 * TreeNode() {}

 * TreeNode(int val) { this.val = val; }

 * TreeNode(int val, TreeNode left, TreeNode right) {

 * this.val = val;

 * this.left = left;

 * this.right = right;

 * }

 * }

 */

class Solution {

    public boolean isSymmetric(TreeNode root) {

        List<Integer> serialized = new ArrayList<Integer>();

        InorderTraversal(root, serialized);

        return IsPalindrome(serialized);

    }

    public boolean isPalindrome(List<Integer> serialized) {

        int i = 0;

        int j = serialized.count() - 1;

        while (i < j) {

            if (serialized.getAt(i) != serialized.getAt(j)) {

                return false;

            }

            i++;

            j--;

        }

        return true;

    }

    public void InorderTraversal(TreeNode root, List<Imteger> serialized) {

        if (root == null) {

            serialized.Add(Integer.MinValue);

            return;

        }

        InOrderTraversal(root.left);

        serialized.Add(root.val);

        InOrderTraversal(root.right);

    }

}

#blogpost: https://1drv.ms/w/c/d609fb70e39b65c8/EcVxcTYDkE9Hro_eEthnuH8Bx-PIXIxbdNq2kXKuyr8TdA?e=a1ofbg

Saturday, January 25, 2025

 This is a summary of the book titled “Smart Teams: How to move from friction to flow and work better together” written by Dermot Crowley and Wiley in 2023. The author recognizes the premise as one of reduced productivity in modern workplaces with growing numbers of emails, meetings, attention-demanding messages, and ad hoc work for which he offers help to eliminate the “noise” and friction by getting more done on time. His help includes valuable tips on how great leaders promote a culture of “superproductivity” which requires collaboration and coordination, removal of organizational friction, fostering culture to boost productive flow, and essentially creating “smart teams” who know who to find and focus on the specific actions that matter towards this goal.

To achieve maximum productivity, a team needs proper systems and processes, enabling members to communicate, congregate, and collaborate effectively. A productivity culture is essential, and leaders should promote it within their organization. This is particularly challenging in hybrid or remote work environments, where employees often rely on email for communication. To improve productivity, leaders should address practices that impede it, such as the "death-by-meeting" orientation and eliminate unnecessary meetings.

To increase productivity, managers should address information overload, unfocused meetings, distractions, and unnecessary urgency. By ensuring smooth internal communications, reducing unfocused meetings, addressing distractions and interruptions, and fostering a "slow work" culture, employees can focus on performing better instead of merely focusing on speed.

The corporate world needs a "slow work" movement that shifts away from non-productive, speedy reactivity and towards increased focused, thoughtful responsiveness. This would slightly slow the pace of work, allowing team members to focus on performing better instead of merely faster.

Team productivity is maximized when members maximize both individual and group productivity. A selfless mindset, similar to a service mindset, aims to eliminate unproductive friction and promote cooperation. Leaders can boost productivity by avoiding disruptive behavior and becoming "superproductive." Building smart teams involves working well together and agreeing on productive behaviors. To increase productivity, team members should practice four individual behaviors: being purposeful, mindful, punctual, and reliable.

Purposeful teams focus on understanding the team's goals and priorities, while mindful teams focus on minimizing friction and promoting workflow. Punctuality is crucial in the US Navy, as it ensures timely completion of tasks. Reliability is essential for team members to trust each other and prioritize their obligations. These behaviors can significantly impact team productivity and contribute to the overall success of the organization.

A positive change in a team's culture depends on specific actions, not amorphous principles. Purposeful, mindful, punctual, and reliable team members can eliminate friction and lag time that can drain productivity. To adjust the team's culture, members must embrace the inherent value of productivity and delineate their specific productivity principles. Cooperation is essential for high-performing teams, and team members must cultivate an active mindset to weigh work requirements and respond to urgent requests.

Urgency rules, everywhere, are crucial for effective communication. Limiting emails to essential information and using direct conversations can help reduce noise and improve productivity. A team must develop its productivity culture by following guidelines such as "primum non nocere," "lead from the front," "remember that you are always on show," and "create projects for the team to rally around."

To cut costs and boost productivity, take a long and careful look around your organization and identify productivity impediments. By implementing these strategies, you can create a more productive and efficient team.


Friday, January 24, 2025

 Software integrations manifest in Infrastructure Engineering as well. As cloud engineers provision resources and configure them for their data scientists and application engineering teams, they must be mindful of interoperability. One specific example is used to discuss the changes to the practices of Cloud IaC in this article and it pertains to System for Cross-Domain Identity Management aka SCIM.

Identity and access solutions have always looked for bringing together users recognized by different systems that do not share anything. A user in AWS public cloud might not be recognized in Azure for instance. SCIM is a protocol that standardizes how identity information is exchanged between one entity and another. By virtue of being an open standard for people to access cloud-based resources, it eases onboarding and interoperability. That includes how identity data is exchanged, how the communication is fostered across different platforms and how identity providers and IAM systems can work together even they are heterogeneous. Having manually add users to each application and a few other Role-based access control chores become tedious in organizations that have many employees, partners and stakeholders. SCIM makes it easy to grant access to new hires to the appropriate applications and revoke access from those leaving with seamless synchronization across a variety of platforms. SCIM leverages JSON data format and database create-update-delete operations on resources which improves programmability. An SCIM endpoint is created usually within Azure AD which can communicate with on-premises Active Directory. Using a predefined schema and automatic synchronization of identity resources, it improves consistency and security across disparate systems. The automatic user provisioning, standardized API and user attributes management simplifies identity management by bringing together a single source of truth.

As a protocol, IAM solution developers are already aware of Security Assertion and Markup Language that has worked for a while. While SAML works with SSO to integrate login across security domains and features similar to SCIM for a unified experience, SCIM lays the foundation for SAML to work in a new target system. SAML leverages XML for assertions and gives you a token to use with your browser session, SCIM is for provisioning identities across multiple applications. SCIM and SSO work together but like SAML, SSO is for authentication not provisioning.

Bulk recognition of identities is possible with SCIM which saves time and cost and spans proprietary and third-party technologies even though certain IAM products like Active Directory have also tried to embrace open standards with their OpenLDAP protocol. While OpenLDAP used to be for legacy systems and on-premises, SCIM is cloud-first and cloud-friendly where different identity providers can participatge.


Thursday, January 23, 2025

 As Infrastructure engineering deploys AI at scale, organizations can take a better approach with AI and LLMS. This list here discusses those actionable items that have gained widespread nod in the community.

1. Observability becomes more critical and empowering as LLMs grow and mature. The types of teams working in the Generative AI have become more diverse. While data scientists are savvy about continuous monitoring, many others are not. If they perform prompt engineering and retrieval augmented generation (RAG) they will need to know what’s going on behind the scenes. They learn quickly with their prompt engineering, then might do more experimentation with language models, then proceed with RAG, before tuning its models to a specific domain knowledge and grounding outputs with searches. Observability helps with every stage of the life cycle.

2. Simpler use cases are called for before sophisticated ones with multi-agents. This aligns with an organization’s human resources and skills experiences. And since the landscape changes quickly, developing “evergreen” skills in evaluation and implementation remain essential. Leveraging context windows for RAG is an example. As context windows get larger, will RAG remain relevant? Organizations could do well to have not only a goal but a path to the AI maturity for their production deployments.

3. Gaining customer confidence in the AI models output is crucial. Customers neither trust the AI model to learn enough to make a decision based on its output nor the data on which the AI models train and test. Fetching some telemetry, accessing certain logs, and presenting them along with the AI output garners some trust and confidence. Techniques like factual grounding help here.

4. The most powerful use cases for LLMs are often the simplest as in the case of summarizing driving productivity gains. Summarization is popular because it is an easy way to build trust in LLMs with its straightforward evaluation. They are also powerful because they add instant value in many use cases. Multimodality is also important to consider here. Building a multimodal model from the ground up helps summaries to be drawn from text, image, and a variety of sources.

5. Tooling must keep up with the AI maturity roadmap. As production-oriented systems are developed, controls and human evaluation are necessary at each stage of the game. Organizations know that usage and maturity must evolve without disruption.

6. Balancing compute time, compute cost, and model quality requires cutting edge observability. Organizations must drive quality and performance of their observability capabilities because there are a number of integrations that need to work collaboratively and effectively. Even networking performance monitoring can become imperative.

7. Prioritizing the metrics that matter is more important than ever. With changes happening quickly, metrics serve as guardrails to ensure that new approaches do not chew up time and effort for the promise of productivity and introduce new risks. Establishing clear service level objectives works in this case.


Wednesday, January 22, 2025

 This is the summary of the book titled “How to age healthy and strong at 50 and beyond” written by Isaac Finnegan and published by Majestic Franchise Unlimited LLC in Oct 2024. Reaching the age of 50 is often considered to be the peak of a lifetime but the author debunks this myth. Taking us on a journey through physical fitness, nutrition, mental health, preventive healthcare, lifestyle and mind body connection in distinct sections of his book, he gets us started on a transformation where aging translates to empowerment.

Regular exercise, a healthy diet, and routine medical checkups are essential for men as they get older so that they can lower the risk of various health conditions that otherwise come with aging. Suppressing emotions and toughing them out does not cut it anymore. Relaxation, meditations, social connections and seeking support are preferred instead. When this energy manifests into personal and professional lives, it can lead to greater satisfaction and fulfillment.

Common health concerns like high blood pressure, high cholesterol, prostrate issues, Osteoporosis and reduced bone density, depression and anxiety and others require men to get professional help as early as possible. Factors that affect midlife include testosterone levels, reduced muscle mass, mood changes, improper diet and exercise, excessive smoking and alcohol consumption and avoidance of screening tests.

Cardiovascular exercise, strength training, flexibility and balance, breathing control and mindful movement, rest and recovery must be prioritized. Similarly, nutrition needs must be understood. A good intake of proteins, vitamins, and minerals as well as fiber are necessary. Hydration, also, cannot be overstated. All these serve to fuel the body for you to thrive in your later years. In the event of chronic conditions or when battling preventive diseases, getting input from nutritionists is important. Boosting your immune system naturally after checking with a doctor is also good practice. To put these in practice, try regular exercises, sleep adequately, stay hydrated, manage stress and avoid harmful habits.

Exercise and relaxation techniques work great for mental and emotional well-being as well. Men need to prioritize their health and take self-care. Seeking support from friends, family or mental health professional can also be beneficial for men dealing with stress. Stress is one of the silent killers and inadequately coping with it leaves a tell-tale sign in old age. Therapy, medication, and lifestyle changes must be undertaken to cope with it. Rehabilitation from bad habits is also available for help. Surrounding ourselves with people who care about us and are there to listen can make the journey less lonely.

Sexual health and intimacy are one aspect of this. Hormonal shifts, lifestyle choices and unhealthy conditions contribute to dissatisfaction. It is never too late to make positive changes and regular medical checkups can help. Taking a comprehensive approach to sexual health including communicating with your partner, can help maintain satisfaction and fulfilment. Intimacy goes beyond personal closeness and encompasses emotional, mental, and physical connection with one’s partner.

Incorporating mindfulness and meditation techniques can significantly boost the benefits from all efforts, in addition to maintaining a positive outlook, and achieving clarity and emotional stability. Making them part of your life makes you happier and healthier.

A number of alternative wellness practices are also available that attempt to address the underlying issue through a combination of one or more of the above and addressing mind, body, and spirit as a whole. Similarly, preventive care and screening from medical professionals helps to constantly monitor our current state and progress. Getting 7-9 hours of quality sleep is similarly important. Support groups and community resources are plenty and create a safe space for men to share their experiences and learn from others. Books, websites, and apps also make it easy to imbibe the best practices. Finally, we must take charge of our own health.


Tuesday, January 21, 2025

 This is a summary of the book “The Freedom Frameworks: infinite possibilities to achieve career independence on your own terms” written and self-published by Jack Cohen in 2024. The author argues that you are your own asset and that skills, experience and relationships are key to professional success. He draws on his vast business experience to propose freedom Frameworks for you to thrive in your career. The goal and the path are for us to articulate and we can only invest in ourselves. Setting quarterly priorities and meeting them, learning to read people and team dynamics, facilitating collaboration by establishing a common context, viewing experiences as objectively as possible, learning from mistakes, and being honest with oneself are some of the other suggestions in his book.

To pursue your dreams and cultivate freedom, face your demons, which often arise in the form of resistance. Identify these fears and work with them to develop the courage and confidence to progress. Clarify your dreams by asking yourself who you want to become and on what timeline. Reframe resistance as helpful, like facing defeat to improve your tennis game. Defining who you want to be and planning your path forward is crucial. Visualize your intended future and take notes on your current reality. Bridge the gap by outlining specific steps to move toward your desired future. Invest in your most valuable asset: yourself. Economic independence provides the freedom to make career choices without immediate financial pressure, relying on your most valuable asset: yourself. Invest in building skills, gaining experiences, forming relationships, and getting things done better. Connect the dots between past and present, applying new knowledge to improve your skills and earning power.

To turn your value into greater earning power, be reliable, responsible, and accountable. Develop skills, experiences, and relationships to become more capable, adaptable, and interesting. Balance depth with breadth and push yourself outside your comfort zone. Surround yourself with supportive people, such as volunteering for industry groups or seeking mentors for long-term growth. Set quarterly priorities and protect them from distraction. Use the Red, Blue, and Black methods to prioritize activities for 90-day goals. Reassess and readjust allocations quarterly to make the most of finite resources. Set due dates and do dates for different projects and establish "border protection" to maintain uninterrupted focus. Learn how people behave to improve communication and team dynamics. Understand different behavioral styles, such as control, power, influence, and authority, and understand how people make decisions. People do not care how much you know until they know just how much you care about them. By understanding how people make choices, you can better understand and manage your time effectively.

Team success requires a common context and accountable team members. The "issues clearing model" helps address conflicts constructively by stating the facts of the situation, how the facts make the speaker feel, what judgments or conclusions they have drawn, and what the speaker would like to have happened next. Viewing experiences as neutral as possible is essential, as the story we tell ourselves determines our feelings.

Create curiosity and ask better questions to improve decision-making. Use the "Shark Theory" to avoid analysis paralysis and take small steps forward to reach the tipping point. Learn from mistakes, embrace your journey, and be yourself. Focus on overdoing rather than overthinking and compare where you are now to where you used to be.

Embrace your development journey, even when it's slow or feel lost, and tap into your grit to see your goals through. Trust in yourself and don't be afraid to stand out from the crowd. Be honest with yourself, mitigate your weaknesses, and be caring yet direct with others. Manage any liabilities in your temperament through self-awareness and practical strategies.