Sunday, June 23, 2024

 Some of fleet management data science algorithms are captured via a comparison table of well-known data mining algorithms as follows:

Data Mining Algorithms Description Use case

Classification algorithms This is useful for finding similar groups based on discrete variables

It is used for true/false binary classification. Multiple label classifications are also supported. There are many techniques, but the data should have either distinct regions on a scatter plot with their own centroids or if it is hard to tell, scan breadth first for the neighbors within a given radius forming trees or leaves if they fall short.

Useful for categorization of fleet path changes beyond the nomenclature. Primary use case is to see clusters of service request that match based on features. By translating to a vector space and assessing the quality of cluster with a sum of square of errors, it is easy to analyze large number of changes as belonging to specific clusters for management perspective.

Regression algorithms This is very useful to calculate a linear relationship between a dependent and independent variable, and then use that relationship for prediction. Fleet path changes demonstrate elongated scatter plots in specific categories. Even when the path changes come demanding different formations in the same category, the reorientation times are bounded and can be plotted along the timeline. One of the best advantages of linear regression is the prediction about time as an independent variable. When the data point has many factors contributing to their occurrence, a linear regression gives an immediate ability to predict where the next occurrence may happen. This is far easier to do than coming up with a model that behaves like a good fit for all the data points.

Segmentation algorithms A segmentation algorithm divides data into groups or clusters or items that have similar properties. Path change stimuli segmentation based on fleet path change feature set is a very common application of this algorithm. It helps prioritize the response to certain stimuli.

Association algorithms This is used for finding correlations between different attributes in a data set Association data mining allows these users to see helpful messages such as “stimulii who caused a path change for this fleet type also caused a path change for this other fleet formation”

Sequence Analysis Algorithms This is used for finding groups via paths in sequences. A Sequence Clustering algorithm is like a clustering algorithm mentioned above but instead of finding groups based on similar attributes, it finds groups based on similar paths in a sequence.  A sequence is a series of events. For example, a series of web clicks by a user is a sequence. It can also be compared to the IDs of any sortable data maintained in a separate table. Usually, there is support for a sequence column. The sequence data has a nested table that contains a sequence ID which can be any sortable data type. This is very useful to find sequences of fleet path changes opened across customers. Generally, a transit failure could result in a cascading failure across the transport network. This sort of sequence determination in a data driven manner helps find new sequences and target them actively even suggesting the same to the stimulii who cause ath changes to the fleet formations so that they can be better prepared for failures across relays.


Sequence Analysis also helps with interactive formation changes as described here.


Outliers Mining Algorithm Outliers are the rows that are most dissimilar. Given a relation R(A1, A2, ..., An), and a similarity function between rows of R, find rows in R which are dissimilar to most point in R. The objective is to maximize dissimilarity function in with a constraint on the number of outliers or significant outliers if given. 

The choices for similarity measures between rows include distance functions such as Euclidean, Manhattan, string-edits, graph-distance etc and L2 metrics. The choices for aggregate dissimilarity measures is the distance of K nearest neighbors, density of neighborhood outside the expected range and the attribute differences with nearby neighbors The steps to determine outliers can be listed as: 1. Cluster regular via K-means, 2.  Compute distance of each tuple in R to nearest cluster center and 3. choose top-K rows, or those with scores outside the expected range. Finding outliers is sometimes humanly impossible because the number of path changes can be quite high. Outliers are important to discover new strategies to encompass them. If there are numerous outliers, they will significantly increase costs. If they were not, then the patterns help identify efficiencies.

Decision tree This is probably one of the most heavily used and easy to visualize mining algorithms. The decision tree is both a classification and a regression tree. A function divides the rows into two datasets based on the value of a specific column. The two list of rows that are returned are such that one set matches the criteria for the split while the other does not. When the attribute to be chosen is clear, this works well. A Decision Tree algorithm uses the attributes of the external stimulii to make a prediction such as the reorientation time on a next path change. The ease of visualization of split at each level helps throw light on the importance of those attributes.  This information becomes useful to prune the tree and to draw the tree

Logistic Regression This is a form of regression that supports binary outcomes. It uses statistical measures, is highly flexible, takes any kind of input and supports different analytical tasks. This regression folds the effects of extreme values and evaluates several factors that affect a pair of outcomes. Path changes based on stimulii category can be used to predict the likelihood of a path change from a category of stimulii. It can also be used for finding repetitions in requests 

Neural Network This is a widely used method for machine learning involving neurons that have one or more gates for input and output. Each neuron assigns a weight usually based on probability for each feature and the weights are normalized across resulting in a weighted matrix that articulates the underlying model in the training dataset. Then it can be used with a test data set to predict the outcome probability. Neurons are organized in layers and each layer is independent of the other and can be stacked so they take the output of one as the input to the other. Widely used for SoftMax classifier in NLP associated with fleet path changes. Since descriptions of stimulii, fleet formation changes, path adjustments and adjustment time to modified path and formation captured by spatial and temporal are conformant to narratives with metric-like quantizations, Natural Language Processing could become a significant part of the data mining and ML portfolio

Naïve Bayes algorithm This is probably the most straightforward statistical probability-based data mining algorithm compared to others.

The probability is a mere fraction of interesting cases to total cases. Bayes probability is conditional probability which adjusts the probability based on the premise. This is widely used for cases where conditions apply, especially binary conditions such as with or without. If the input variables are independent, their states can be calculated as probabilities, and if there is at least a predictable output, this algorithm can be applied. The simplicity of computing states by counting for class using each input variable and then displaying those states against those variables for a give value, makes this algorithm easy to visualize, debug and use as a predictor.  

Plugin Algorithms Several algorithms get customized to the domain they are applied to resulting in unconventional or new algorithms. For example, a hybrid approach on association clustering can benefit determining relevant associations when the matrix is quite large and has a large tail of irrelevant associations from the cartesian product. In such cases, clustering could be done prior to association to determine the key items prior to this market-basket analysis. Fleet path changes are notoriously susceptible to apply with variations even when pertaining to the same category. These path changes do not have pre-populated properties from a template, and spatial and temporal changes can vary drastically along one or both. Using a hybrid approach, it is possible to preprocess these path changes with clustering before analyzing such as with association clustering. 

Simultaneous classifiers and regions-of-interest regressors Neural nets algorithms typically involve a classifier for use with the tensors or vectors. But regions-of-interest regressors provide bounding-box localizations. This form of layering allows incremental semantic improvements to the underlying raw data. Fleet path changes are time-series data and as more and more are applied, specific time ranges become as important as the semantic classification of the origin of path changes and their descriptions. Using this technique, underlying issues can be discovered as tied to internal or external factors. The determination of root cause behind a handful of path changes is valuable information.


Collaborative filtering Recommendations include suggestions for a knowledge base, or to find model service requests. To make a recommendation, first a group sharing similar taste is found and then the preferences of the group is used to make a ranked list of suggestions. This technique is called collaborative filtering. A common data structure that helps with keeping track of people and their preferences is a nested dictionary. This dictionary could use a quantitative ranking say on a scale of 1 to 5 to denote the preferences of the people in the selected group.  To find similar people to form a group, we use some form of a similarity score. One way to calculate this score is to plot the items that the people have ranked in common and use them as axes in a chart. Then the people who are close together on the chart can form a group. Several approaches mentioned earlier provide a perspective to solving a problem. This is different from those in that opinions from multiple participants or sensors in a stimuli creation or recognition agens are taken to determine the best set of fleet formation or path changes to recommend.

Collaborative Filtering via Item-based filtering This filtering is like the previous except that it was for user-based approach, and this is for item-based approach. It is significantly faster than the user-based approach but requires the storage for an item similarity table. There are certain filtering cases where divulging which stimuli/sensors go with what formation/path change, is helpful to the fleet manager or participants. At other times, it is preferable to use item/flight path-based similarity. Similarity scores are computed in both cases. All other considerations being same, item-based approach is better for sparse dataset. Both stimuli-based and item-based approach perform similarly for the dense dataset.

Hierarchical clustering Although classification algorithms vary quite a lot, hierarchical algorithm stands out and is called out separately in this category. It creates a dendrogram where the nodes are arranged in a hierarchy.  Specific domain-based ontology in the form of dendrogram can be quite helpful to mining algorithms. 

NLP algorithms Popular NLP algorithms like BERT can be used towards text mining. NLP models come very useful for processing flight path commentary and associated artifacts in the fleet flight management.

Algorithm Implementations:

https://jsfiddle.net/g2snw4da/

https://jsfiddle.net/jmd62ap3/

https://jsfiddle.net/hqs4kxrf/ 

https://jsfiddle.net/xdqyt89a/

#codingexercise https://1drv.ms/w/s!Ashlm-Nw-wnWhPAI9qa_UY0gWf8ZPA?e=PRMYxU


Saturday, June 22, 2024

 

This is a summary of the book titled “Glad We Met – The Art and Science of 1:1 Meetings” written by Steven G. Rogelberg and published by Oxford UP in 2024. The workplace involves plenty of 1:1 meetings and almost half of them do not achieve the desired results. Drawing on extensive research, the author provides a framework on setting up, conducting, and following through on one-on-one meetings. Since career advancement depends on performance evaluation by manager for his or her reports, the author encourages managers to ask the right questions, foster engagement, illuminating each person’s progress. It works both ways for the manager to educate their reports and for their own leadership journey.

These one-on-one meetings do benefit from a framework, argues the author, and those between the manager and direct reports already come with an agenda. Weekly sessions are helpful to the managers and the meeting locations and questions to ask must be planned. Staying positive, sharing mutual priorities, and covering new material, asking for feedback, and saying thank you are all part of it. Regularly conducting these sessions gives more practice to both parties.

One-on-one meetings are crucial for team members and organizations, as they address their priorities, goals, problems, productivity, and employee development. With about a billion business meetings daily, 20% to 50% of these sessions could cost $1.25 billion daily. However, participants often report suboptimal results. Managers can improve their one-on-one meetings to gain a better return on time and money. These meetings strengthen ties within teams and organizations, supplement performance appraisals, and fuel communication between direct reports and managers. To maximize the benefits of one-on-one meetings, create an agenda using the "listings" approach, with the employee covering their list first and the team leader going down. This approach covers immediate work issues and long-range topics, such as career growth and development.

One-on-one meetings are crucial for managerial success, team success, and employee learning and engagement. They promote diversity and inclusion, strengthen relationships, and produce better outcomes. Before meetings, provide context for the topics and ask usual questions. Establish a routine for meetings and explain that they represent the manager's decision to prioritize employees' needs. Stay open-minded and explain shared objectives.

Hold weekly sessions, especially with remote employees, to avoid micromanagement. Choose a schedule that aligns with your needs and preferences, giving your directs some agency. If employees operate from the same office, consider deferring to their preferences.

Plan the location and questions for the meetings, including the office, direct report's office, or outdoor locations. Involve your employee in planning the setting and direct the conversation. The quality of questions asked will determine the quality of dialogue.

Effective one-on-one meetings are essential for team success, fostering better outcomes, strengthening relationships, and promoting diversity and inclusion. Focus on building connections with your employees, their engagement, setting priorities, giving feedback, and fostering career growth and development. Avoid asking personal questions or gossip and maintain a cheerful outlook. Take notes, cover new ground, and ask for feedback. Work through tactical and personal issues, ask for candid feedback, and implement "five key behaviors" to improve your performance. Both parties should feel free to ask for help, and the meeting should end on time. Wrap up the meeting and record important takeaways. Follow up on all commitments made during the meeting.

One-on-one meetings can occur between managers and their direct reports, or with employees meeting individually with their managers' manager or a higher-up executive. Regular one-on-one sessions help ensure your success as a leader, as they provide valuable insights, foster relationships, and help you make better decisions. The Chinese proverb "If you want happiness for an hour, take a nap, go fishing, inherit a fortune, but if you want happiness for a lifetime, help somebody" suggests that fostering relationships and helping others can lead to long-term happiness.

Previous book articles: BookSummary111.docx

Friday, June 21, 2024

 This is a summary of the book titled “The Digital Coaching Revolution – how to support employee development with Coaching Tech” written by Anna Tavis and Woody Woodward. Technology not only augments professional coaching services but also provide a platform for coaches to embrace the potential of data analysis and digital delivery. The authors provide a comprehensive review of digital coaching in corporate environments, sports, healthcare and so on. Digital coaching platforms are maturing towards full autonomy. They help to deliver tailored interventions. Holistic coaching improves individual well-being and productivity. AIs and chatbots have forced coaches to re-imagine their role. Digital coaching has potential to become universities with proper credentials for students. It can help improve diversity related outcomes.

Coaching is a collaborative process that helps individuals and organizations achieve their potential through affective, cognitive, skill-based, and results-based growth. It involves assessing a client's initial needs, agreeing to a schedule, writing a contract, conducting coaching sessions, measuring outcomes, and providing feedback. Although academic research on coaching is still in its infancy, a meta-analysis of scientific studies suggests it improves work satisfaction and well-being more than training. Professional coaching has its roots in Socratic questioning and has evolved with the rise of digital coaching, which uses technology to enhance coaching practices. Digital coaching platforms use machine learning to match coaches and coachees, offer group chats and Google Docs for remote communication, and provide dashboard tools for performance tracking. The multi-billion dollar coaching industry is expected to continue growing and disrupt the $360 billion L&D industry. Digital coaching platforms are maturing toward full autonomy, with four distinct phases: emergent, expansion, maturity, and optimization.

Digital coaches and platforms are increasingly using data to deliver personalized, scalable, and accessible approaches for their clients. This data allows providers to collect empirical evidence demonstrating the value of coaching interventions, such as the ROI Calculator released by CoachHub in 2023. Digital coaching platforms are also experimenting with sentiment analysis and biometrics to guide their services. However, coaches must balance the use of data with relational interactions to drive individual and team performance. Holistic coaching can improve both individuals' well-being and business productivity, as it addresses rising rates of pessimism, anxiety, and depression among workers. Digital health and well-being platforms, such as BetterUp, EZRA, and CoachHub, offer coaching services that cover physical health, mental health, work-life balance, and personal development. As AI and chatbots continue to develop, coaches must re-imagine their role, using AI tools to recommend targeted learning resources and streamline feedback. Integrating AI and chatbots into digital coaching platforms makes personalized learning accessible to a broader audience.

Digital coaching tools can enhance diversity-related outcomes by helping companies achieve their DEIB (Diversity, Equity, Inclusion, and Belonging) goals. These tools can be customized and applied to both upper management and junior employees. BetterUp focuses on the belonging aspect of DEIB, ensuring all employees have access to a coach. As coaching education moves from private companies to universities, it becomes more critical to ensure coaches have appropriate education, training, and credentials. Professional coaching associations offer recognized credentials based on their own standards. Universities are stepping up their coaching education opportunities to advance research in coaching technology and train a new generation of practitioners.


Thursday, June 20, 2024

 This is a continuation of articles on IaC shortcomings and resolutions. As a recap of several articles, this section brings to light what has worked and what hasn’t across a diverse and complex set of deployments. 

1. Cloud is our friend in its ability to provide management free, elastic, performant and highly available resources that can be reached from around the world. Transition from on-premises while requiring migration and modernization concerns are not insurmountable and the final state as cloud native deployments is very appealing in the long run.

2. Resources transition from preview to general acceptance as various cloud services become more mainstream. Since they are developed and made generally available independent of each other, many mature and lower the users concerns in their usage. Leveraging these built-in features over customizations holds us in good stead as it is maintenance free.

3. Anything managed is good including networks, storage and compute if the resource or set of resources to be deployed give that option. Taking the example of an Azure Machine Learning Workspace over an Azure Databricks instance, storage accounts, key vaults, managed virtual network are tightly integrated with the managed option and eschews rediscovery by hands-on configuration.

4. Complex deployments have a significant number of configuration parameters that can quickly get out of hand and require a large test matrix. Capturing them in Infrastructure-as-code with source control is helpful to both repeatable deployments as well as curating best practices.

5. The final state of the resources on their deployment must meet all the criteria so instead of working through the order of various steps and getting lost in the choices, it is better to work backwards from the final state once that has gained deliberation and buy-ins from stakeholders.

6. Zonal redundancy and regional disaster recovery are aspects that must be considered as early as design and implementation. They are not an afterthought and must be judiciously chosen to conserver resources and costs without detriment to the business continuity

7. Most workspaces and resources with public ip connectivity grow feet in the form of private endpoints to gain private plane connectivity through virtual networks so that the connectivity and traffic are secured and there is less attack surface from the ubiquitous internet. Designating subnets for providing addresses to private endpoints from various resources is good practice. Only when private connectivity interferes with usage of resources via workspace notebooks or management views and requires jump hosts or Bastions, then both public and private connectivity might be required. For public connectivity alone, simple firewall rules to enumerate the source and destinations can thwart many attacks that might require otherwise have required costly setup like Defender

8. Cost is always a concern as they have a tendency to balloon with usage and keeping them nanageable requires attention to features that are used and those that aren’t and the process must be repeated at setup as well as an ongoing basis.

9. Just like built-in features, most resources come with diagnostics, troubleshooting and documentation as well as support, so leveraging them avoids lengthy investigations.

10. Naming convention is important to capture the variations possible to resources and do very weill with prefixes and suffixes that have well-known meanings.  

Wednesday, June 19, 2024

 

This is a summary of the book titled “The Digital Coaching Revolution – how to support employee development with Coaching Tech” written by Anna Tavis and Woody Woodward. Technology not only augments professional coaching services but also provide a platform for coaches to embrace the potential of data analysis and digital delivery. The authors provide a comprehensive review of digital coaching in corporate environments, sports, healthcare and so on. Digital coaching platforms are maturing towards full autonomy. They help to deliver tailored interventions. Holistic coaching improves individual well-being and productivity. AIs and chatbots have forced coaches to re-imagine their role. Digital coaching has potential to become universities with proper credentials for students. It can help improve diversity related outcomes.

Coaching is a collaborative process that helps individuals and organizations achieve their potential through affective, cognitive, skill-based, and results-based growth. It involves assessing a client's initial needs, agreeing to a schedule, writing a contract, conducting coaching sessions, measuring outcomes, and providing feedback. Although academic research on coaching is still in its infancy, a meta-analysis of scientific studies suggests it improves work satisfaction and well-being more than training. Professional coaching has its roots in Socratic questioning and has evolved with the rise of digital coaching, which uses technology to enhance coaching practices. Digital coaching platforms use machine learning to match coaches and coachees, offer group chats and Google Docs for remote communication, and provide dashboard tools for performance tracking. The multi-billion dollar coaching industry is expected to continue growing and disrupt the $360 billion L&D industry. Digital coaching platforms are maturing toward full autonomy, with four distinct phases: emergent, expansion, maturity, and optimization.

Digital coaches and platforms are increasingly using data to deliver personalized, scalable, and accessible approaches for their clients. This data allows providers to collect empirical evidence demonstrating the value of coaching interventions, such as the ROI Calculator released by CoachHub in 2023. Digital coaching platforms are also experimenting with sentiment analysis and biometrics to guide their services. However, coaches must balance the use of data with relational interactions to drive individual and team performance. Holistic coaching can improve both individuals' well-being and business productivity, as it addresses rising rates of pessimism, anxiety, and depression among workers. Digital health and well-being platforms, such as BetterUp, EZRA, and CoachHub, offer coaching services that cover physical health, mental health, work-life balance, and personal development. As AI and chatbots continue to develop, coaches must re-imagine their role, using AI tools to recommend targeted learning resources and streamline feedback. Integrating AI and chatbots into digital coaching platforms makes personalized learning accessible to a broader audience.

Digital coaching tools can enhance diversity-related outcomes by helping companies achieve their DEIB (Diversity, Equity, Inclusion, and Belonging) goals. These tools can be customized and applied to both upper management and junior employees. BetterUp focuses on the belonging aspect of DEIB, ensuring all employees have access to a coach. As coaching education moves from private companies to universities, it becomes more critical to ensure coaches have appropriate education, training, and credentials. Professional coaching associations offer recognized credentials based on their own standards. Universities are stepping up their coaching education opportunities to advance research in coaching technology and train a new generation of practitioners.

 

Tuesday, June 18, 2024

 This is a summary of the book titled “Leader as Healer” written by Nicholas Janni and published by LID Publishing in 2022. This book is an interesting take on leadership from a person who emphasizes spirituality, mental healing, mindfulness, consciousness and peak performance from a Zen-like state. He is unusual as a business leader and author because he teaches acting and heads his own theatre company. He says that innovative leaders should tap into enlightened consciousness. Today’s problems require a heightened awareness and leaders who are aware and empathetic can be more than just executors. They can become emotional and spiritual healers and the journey begins with self-care and leading a purposeful life.

Technology has transformed the world, and heightened consciousness can transform individuals. CEOs and senior executives must invest their energy in innovative, mindful leadership to address today's challenges. Major disruptions are impacting industries, and society must prioritize communal, intuitive, and metaphysical principles over greed, self-interest, and competition. To fix today's problems, leaders must cultivate higher awareness and become emotional and spiritual healers.

Leaders who practice elevated thinking, being, and acting can become emotional and spiritual healers, inspiring others and transforming fragmented organizations into "coherent wholes." They can reawaken a company's vitality, build internal connections, and imbue an organization with energy. The "Leader-as-healer" model is an advanced leadership construct that replaces the outdated "Leader as executor" model, which prioritizes profits, compelled action, and discipline.

In today's fractious times, innovative leaders and a radical attitude adjustment are needed to address the challenges and promote a more compassionate and sustainable world.

The "Leader as executor" role is outdated and should be replaced by "Leader-as-healer." This model prioritizes profit, discipline, and action, but does not address the human side of business. Leaders-as-healers have practical wisdom and recognize the value of giving focused attention to their leaders, providing a "coherent presence" and showing employees that they are always ready to help.

To cope effectively with today's complex, disruptive world, leaders and employees must practice self-care, paying close attention to their emotional, spiritual, and physical needs, including their health. True leadership sometimes requires excising moral and spiritual tumors from organizations or nations. To tune into one's body and emotions, consider following a somatic mindfulness practice, paying close attention to breathing, and focusing on the body's inner and outer sensations.

Simple awareness exercises can help develop significant personal insights and rewire neural pathways, allowing leaders to better understand and navigate the challenges of today's complex world. By practicing self-care, leaders can become more receptive to new ideas and maintain an open spirit.

Self-care means paying close attention to one’s emotional, spiritual, and physical needs, including one’s health. When leaders do this, they develop significant personal insights and this helps to deepen the scope of their leadership. Mindfulness is practiced by focusing on their minds with contemplative exercises such as meditation which dates back to pre-Colombian civilization, early Hebrew mystics, Indian yogis, and Native American shamans. We set aside 20 minutes daily for meditation, taking notes on our inner emotional, mental, and physical state.

Lead a life of purpose – the right purpose – to avoid navigating life like a ship in stormy waters without a compass or rudder. A leader who operates unemotionally, based only on rationality, might translate purpose as increased profits and productivity, but their life's purpose should be internally worthwhile. Define your values and consider the contributions you can make to improve the world.

A strong sense of purpose is crucial for navigating life effectively. A leader should focus on internal, worthwhile goals rather than external ones. Emotions are the gateway to deeper humanity and a richer, more heartfelt relationship with life and leadership. Leaders should embrace their emotional side and abandon archaic thinking that has failed in the past. They should practice enlightened leadership that fortifies organizations and employees by combining thinking and feeling facets of themselves.

#codingexercise

Position eight queens on a chess board without conflicts:

    public static void positionEightQueens(int[][] B, int[][] used, int row) throws Exception {

        if (row == 8) {

            if (isAllSafe(B)) {

                printMatrix(B, B.length, B[0].length);

            }

            return;

        }

        for (int k = 0; k < 8; k++) {

            if ( isSafe(B, row, k) && isAllSafe(B)) {

                B[row][k] = 1;

                positionEightQueens(B, used, row + 1);

                B[row][k]  = 0;

            }

        }

    }

    public static boolean isSafe(int[][] B, int p, int q) {

        int row = B.length;

        int col = B[0].length;

        for (int i = 0; i < row; i++) {

            for (int j = 0; j < col; j++) {

                if (i == p && j == q) { continue; }

                if (B[i][j] == 1) {

                    boolean notSafe = isOnDiagonal(B, p, q, i, j) ||

                            isOnVertical(B, p, q, i, j) ||

                            isOnHorizontal(B, p, q, i, j);

                    if(notSafe){

                        return false;

                    }

                }

             }

        }

        return true;

    }
    public static boolean isAllSafe(int[][] B) {

        for (int i = 0; i < B.length; i++) {

            for (int j = 0; j < B[0].length; j++) {

                if (B[i][j]  == 1 && !isSafe(B, i, j)) {

                    return false;

                }

            }

        }

        return true;

    }

    public static boolean isOnDiagonal(int[][] used, int r1, int c1, int r2, int c2) {

        boolean result = false;

        int row = used.length;

        int col = used[0].length;

        for (int k = 0; k < 8; k ++) {

            if (r2 - k >= 0 &&  c2 - k >= 0 && r1 == r2 - k && c1 == c2 - k) {

                return true;

            }

            if (r2 + k < row && c2 + k < col && r1 == r2 + k && c1 == c2 + k) {

                return true;

            }

            if (r2 - k >= 0 && c2 + k < col && r1 == r2 - k && c1 == c2 + k) {

                return true;

            }

            if (r2 + k < row  && c2 - k >= 0 && r1 == r2 + k && c1 == c2 - k) {

                return true;

            }

        }

        return result;

    }

    public static boolean isOnVertical(int[][] used, int r1, int c1, int r2, int c2) {

        boolean result = false;

        int row = used.length;

        int col = used[0].length;

        for (int k = 0; k < 8; k++) {

            if (c2 - k >= 0  && c1 == c2 - k && r1 == r2 ) {

                return true;

            }

            if (c2 + k < row && c1 == c2 + k && r1 == r2) {

                return true;

            }

        }

        return result;

    }

    public static boolean isOnHorizontal(int[][] used, int r1, int c1, int r2, int c2) {

        boolean result = false;

        int row = used.length;

        int col = used[0].length;

        for (int k = 0; k < 8; k++) {

            if (r2 - k >= 0  && r1 == r2 - k && c1 == c2 ) {

                return true;

            }

            if (r2 + k < row && r1 == r2 + k && c1 == c2) {

                return true;

            }

        }

        return result;

    }

 

Sample output:

1 1 2 1 1 1 1 1
1 1 1 1 1 2 1 1
1 1 1 2 1 1 1 1
1 2 1 1 1 1 1 1
1 1 1 1 1 1 1 2
1 1 1 1 2 1 1 1
1 1 1 1 1 1 2 1
2 1 1 1 1 1 1 1


Monday, June 17, 2024

 This is a summary of the book “Never say whatever: How small decisions make a big difference?” written by Richard A. Moran and published by McGraw-Hill in 2023. The author hosts a CBS syndicated radio program and is a venture capitalist. He contends that indifference is a waste and often loses its essence and purpose. He calls this writing an “anti-whatever workbook” and advocates empathy saying that we must be social and not just need-based like creatures. Detachment has a high correlation with losing direction and caring while making intelligent choices makes us better and even minor decisions are vital. Among the highlights of the book, one can find wisdom such as starting early with even high school students who are rarely taught how to make decisions. Smart decision makers are self-aware and trust their guts. Saying whatever is not only self-damaging, but also damaging the workplace we are in. Entrepreneurs just cannot have a “whatever” attitude and people with such attitude aggravate everyone. Often indifferent people come to regret their careless attitude. Good advisors can help us make sound decisions. Our choices shape our future so we must be decisive.

"Whatever" is a common term used by Americans to express disengagement and dismissal, affecting not only the speaker but also others around them. This attitude is risk-averse and hinders decision-making, as decisions and actions make life meaningful. Intentional people understand that even minor decisions can be vital, and they make choices with forethought, intention, and purpose. Decision-making can be simplified by sticking with the status quo, making minor adjustments, or doing a complete about-face. Intentions always point the way to actions and results, and a clear intention leads to sound choices. For example, if you want to secure a raise or a promotion, you must ask for it, practice it, and establish a deliberative process that makes the most of your strengths. A "whatever" attitude does not ensure the same number of planes take off and land each day.

High school students often lack the skills to make intelligent decisions, which are crucial for making major choices such as college, career, and marriage. To teach students the basics of intelligent decision-making, schools should teach them the importance of "whatever" and frame options as "if/then" scenarios. A 10-year study by Bain & Company found that organizations that make timely, intelligent decisions outperform those that appear indecisive. The "two-minute rule" demonstrates the power of quick, effective decision-making when there are small choices, but the appropriate amount of time and consideration should be given to all major decisions. Smart decision-makers are self-aware and trust their guts, knowing their strengths and weaknesses and their emotions. They recognize the consequences of their decisions and actions and are willing to make "gut" decisions under the right circumstances. A "whatever" attitude can damage careers and organizations, as it can undermine a company's direction and undermine employees' sense of purpose.

Entrepreneurs must not have a "whatever" attitude to succeed, as they must be nonstop decision-makers who can make timely and cost-effective choices. They often use pattern recognition to clarify their decision-making and draw analogies between challenges and past ones. "Whatever" people can aggravate everyone, leading to trouble and strife at work and home. Housemates who struggle with making decisions can be troublemakers.

Regret often arises from careless attitudes, as long-term regrets often stem from decisions we did not make. What we choose to do today often affects what is possible in the future. Small but bad choices can snowball. It is important to remember that every choice creates a "ripple effect" that affects other aspects of life in positive and negative ways. Every decision involves some degree of risk, and it is better to make a good decision than to do nothing. Consulting with trusted advisors can help make sound decisions and creating a "personal board of directors" with wise people can provide numerous expert perspectives. Finally, the author recommends us to be decisive and avoid using the word "whatever" to indicate that we do not care. This will ensure that our choices shape our future. Sam Alemayhu, a respected businessman, and investor grew up in an impoverished village in Ethiopia and emigrated to America. His accomplishments inspire others to be decisive, care about their choices, and never say "whatever."


#codingexercise

Find minimum in a rotated sorted array:

class Solution {

public int findMin(int[] A) {

If (A == null || A.length == 0) { return Integer.MIN_VALUE; }

int start = 0;

int end = A.length -1;

while (start < end) {

int mid = (start + end) / 2;

// check monotonically increasing series

if (A[start] <= A[end] && A[start] <= A[mid] && A[mid] <= A[end]]) { return A[start];};

// check if only [start, end]

if (mid == start || mid == end) { if (A[start] < A[end]) return A[start]; else return A[end];}

// detect rotation point

if (A[start] > A[mid]){

end = mid;

} else {

if (A[mid] > A[mid+1]) return A[mid+1];

start = mid + 1;

}

}

return A[0];

}

}

Works for:

[0 1 4 4 5 6 7]

[7 0 1 4 4 5 6]

[6 7 0 1 4 4 5]

[5 6 7 0 1 4 4]

[4 5 6 7 0 1 4]

[4 4 5 6 7 0 1]

[1 4 4 5 6 7 0]

[1 0 0 0 0 0 1]