Saturday, March 15, 2025

Shifting Sands - How Unexpected Events Reshape Our Morality (A lesson in Psychology)


All Book Summaries

Chapter 4 from the book "Maps of Meanings" by Jordan B Peterson.

A recent poll revealed that 45% of Americans now support physician-assisted suicide, a stance considered morally unacceptable by many just a generation ago. Are our morals truly shifting, or just adapting to a new world? We often assume our morals are fixed, unshakeable truths. But what happens when reality throws us a curveball? What happens when the rules we live by are challenged by the unexpected, the unfamiliar, the downright weird? This blog post explores how anomalies – those strange occurrences, foreign encounters, and revolutionary ideas – force us to confront and often redefine our moral compass, ultimately leading to more adaptable and inclusive ethical frameworks.

Imagine our moral systems as meticulously constructed houses, passed down through generations. They're built on a foundation of shared presuppositions, assumptions so ingrained we barely even notice them. These presuppositions are woven into our actions, our stories, our very way of being. They create an "integrated morality," where our actions, imagination, and thoughts align, offering a sense of predictability, stability, and emotional control. But what happens when we need to renovate this house to face a changing climate?

The Anomaly Arrives, Cracks Appear:

An anomaly, in any form, shatters this carefully constructed reality. While anomalies can take many forms, this post will focus on two particularly potent sources of moral upheaval: Contact with Foreign Cultures and Revolutionary Ideas. These anomalies are disruptive because they expose the cracks in our moral foundation, revealing the often-unspoken assumptions that underpin our entire system.

The Threat of Abstraction: Words as Double-Edged Swords:

Interestingly, our very ability to think abstractly, a cornerstone of human intelligence, can also contribute to moral instability. While language and complex thought allow us to communicate and develop, they also make our moral codes more vulnerable. Encapsulating morality in words allows for scrutiny, debate, and ultimately, modification. However, abstraction also allows us to formulate universal principles, such as the Golden Rule, that can be applied across diverse cultures and situations.

The abstract concept of "free speech" is often invoked to protect hate speech, raising complex moral questions about the limits of freedom and the potential harm caused by certain expressions. This can be unsettling, as it challenges deeply ingrained social identities and emotional connections that are often unconscious.

Culture as a Paradigm: Axioms and Challenges:

Culture, much like science, operates within a paradigm, a set of accepted axioms that are often taken on faith. These axioms are resistant to change, but once they are made explicit, they become vulnerable to challenge. Consider the traditional family structure. For centuries, it was largely unquestioned. But once feminist ideas challenged the patriarchal assumptions underlying that structure, it opened the door to new forms of family and relationships.

So, if anomalies shatter our comfortable reality, and abstraction allows us to question our moral codes, what happens when we also confront unfamiliar cultures?

Contact with Foreign Cultures: A Clash of Values

Contact with foreign cultures presents a unique set of moral challenges. When different societies, each with its own deeply ingrained values and beliefs, come into contact, conflict is almost inevitable. Each culture has evolved to protect its members from the unknown, to structure social relationships, and to provide a sense of meaning and purpose. But what happens when these systems clash?

The European colonization of the Americas provides a stark example. The encounter between European settlers and indigenous populations led to devastating moral conflicts over land ownership, religious beliefs, and the treatment of native peoples. The Europeans, operating within their own cultural paradigm, often failed to recognize the validity of indigenous perspectives, leading to widespread injustice and violence.

I remember reading about the debates surrounding the "Doctrine of Discovery," which provided a legal and religious justification for European colonization. It was shocking to see how deeply ingrained the belief in European superiority was, and how it was used to justify the dispossession and subjugation of entire populations. I realized how easily seemingly 'objective' legal and religious frameworks can be used to rationalize horrific acts, forcing me to question the foundations of societal power structures. It made me reflect on how my own upbringing had subtly instilled certain biases that I needed to actively unlearn.

Today, the challenges of cultural contact continue to manifest in various forms. The ongoing debate surrounding immigration raises complex questions about cultural integration, national identity, and the rights of both immigrants and native-born citizens. We see similar tensions play out in discussions about cultural appropriation, where the use of elements of a minority culture by members of the dominant culture can be seen as disrespectful or exploitative, raising complex questions about power imbalances and the commodification of cultural heritage. While some argue that cultural exchange is a positive force for understanding and appreciation, it's crucial to acknowledge the power imbalances that can lead to the exploitation and misrepresentation of marginalized cultures. The commodification of Native American headdresses as fashion accessories, for instance, can be deeply offensive because these items hold sacred and spiritual significance within their culture. Is it about power imbalances? Commodification? Loss of cultural significance? These ethical questions force us to examine our own cultural biases and assumptions.

Revolutionary Ideas: Challenging the Status Quo

But cultural clashes aren't the only source of moral earthquakes. Sometimes, the most profound challenges come from within, in the form of revolutionary ideas that shake the foundations of our beliefs.

The concept of universal human rights provides a powerful example. The Universal Declaration of Human Rights, adopted by the United Nations in 1948, challenged the traditional notion of state sovereignty and the right of nations to treat their citizens as they saw fit. It asserted that all human beings are born free and equal in dignity and rights, regardless of their nationality, ethnicity, religion, or any other status. For example, Article 1 stated that all humans are born free and equal, challenging the then-common practice of slavery and other forms of discrimination.

This idea, while seemingly self-evident today, was revolutionary at the time. It challenged deeply ingrained social hierarchies and power structures, and it has served as a catalyst for countless struggles for equality and justice around the world.

I'm constantly amazed by the power of ideas to transform societies. Think about the impact of the Civil Rights Movement in the United States, or the anti-apartheid movement in South Africa. These movements, fueled by revolutionary ideas about equality and justice, challenged deeply entrenched systems of oppression and ultimately led to profound social change.

Even today, we see revolutionary ideas challenging the status quo. The rise of veganism, for example, challenges traditional views on animal welfare and raises fundamental questions about our relationship with the natural world. The moral arguments driving veganism often center on animal rights, the ethical implications of factory farming, and the environmental impact of meat consumption.

The Ever-Expanding Self: Mortality and Meaning

Ultimately, our ever-expanding capacity for abstraction leads to self-reference and an awareness of mortality. This awareness can make us risk-averse, clinging to familiar moral frameworks for comfort in the face of uncertainty. However, it can also push us to seek new meanings and ethical frameworks that better address the complexities of a world where death is an ever-present reality. This heightened consciousness motivates us to seek meaning and understanding.

Renovating Our Moral House: A Call to Moral Courage

Anomalies are not just threats; they are opportunities for growth and renewal. The ability to adapt to these challenges, even when it requires questioning our most deeply held beliefs and renovating our moral house, is crucial for individual and societal progress. This requires moral courage – the willingness to act on one's values, even in the face of fear, opposition, and potential personal sacrifice. Think of whistleblowers who risk their careers to expose wrongdoing; they demonstrate moral courage.

So, the next time the world feels like it's turning upside down, remember that it might just be the catalyst for a better, more evolved version of ourselves. Embrace the anomaly, and you might just find a new path forward.

What anomalies are you grappling with? Consider writing down three ways your perspective has changed in the last few years. How have those changes affected your moral framework? Share your experiences in the comments below, and consider sharing your reflections on social media using the hashtag #MoralShiftingSands, and other popular hashtags related to morality, ethics, and social change like #Ethics #SocialChange #Morality. Use tools like RiteTag or Hashtagify to identify trending and relevant hashtags.

Tags: Book Summary,Psychology,

Fixing CORS Issue For A Flask App

To See All Articles About Technology: Index of Lessons in Technology

~~~

Fixing CORS Issues in Flask Applications

Introduction

If you are working on a Flask-based web application and trying to make requests from a frontend (like React, Angular, or plain JavaScript), you might encounter CORS (Cross-Origin Resource Sharing) errors. A common error message looks like this:

Access to fetch at 'http://127.0.0.1:5000/transcribe_speech' from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

This error occurs because browsers enforce the Same-Origin Policy, preventing web applications from making requests to a different domain or port than the one that served the web page.

Understanding CORS

CORS is a security feature implemented in web browsers to prevent unauthorized cross-origin requests. By default, browsers restrict requests between different origins unless the server explicitly allows it using CORS headers.

Example of a CORS Error Scenario

  • Frontend: Runs on http://localhost:3000 (React, Vue, or another client-side framework).

  • Backend: Flask API running on http://127.0.0.1:5000.

  • Request: A fetch or XMLHttpRequest call from the frontend to http://127.0.0.1:5000/transcribe_speech.

  • Issue: Since the frontend and backend are on different ports, the browser blocks the request due to CORS restrictions.

Fixing CORS in Flask

To resolve this issue, you need to configure your Flask backend to include appropriate CORS headers.

Solution: Using Flask-CORS

The easiest way to handle CORS in a Flask application is by using the flask-cors package.

Steps to Fix the Issue:

  1. Install Flask-CORS

    pip install flask-cors
  2. Modify Your Flask App Update your Flask server code to allow CORS by importing and initializing CORS.

    from flask import Flask, request, jsonify
    from flask_cors import CORS

    app = Flask(__name__)
    CORS(app) # Enables CORS for all routes

    @app.route("/transcribe_speech", methods=["POST"])
    def transcribe_speech():
    return jsonify({"message": "Speech transcribed successfully"})

    if __name__ == "__main__":
    app.run(debug=True)
  3. Allow Specific Origins If you want to allow only specific origins instead of enabling CORS for all requests:

    CORS(app, origins=["http://localhost:3000"])
  4. Enable CORS for Specific Routes

    from flask_cors import cross_origin

    @app.route("/transcribe_speech", methods=["POST"])
    @cross_origin(origin='http://localhost:3000', headers=['Content-Type'])
    def transcribe_speech():
    return jsonify({"message": "Speech transcribed successfully"})

Alternative Fixes

Setting Headers Manually

Instead of using Flask-CORS, you can manually set the headers in your response:

from flask import Flask, request, jsonify

app = Flask(__name__)

@app.after_request
def add_cors_headers(response):
response.headers["Access-Control-Allow-Origin"] = "*"
response.headers["Access-Control-Allow-Methods"] = "GET, POST, PUT, DELETE, OPTIONS"
response.headers["Access-Control-Allow-Headers"] = "Content-Type"
return response

Using Proxy in Development

If modifying the backend is not an option, you can set up a proxy in your frontend to avoid CORS issues.

  • For React (in package.json):

    "proxy": "http://127.0.0.1:5000"
  • For Vue (in vue.config.js):

    module.exports = {
    devServer: {
    proxy: "http://127.0.0.1:5000"
    }
    };

Conclusion

CORS errors in Flask applications are common but can be easily resolved by configuring your backend to send the correct headers. Using flask-cors is the simplest approach, but manual configuration or setting up a proxy are also viable solutions. By implementing one of these fixes, you can ensure smooth communication between your frontend and backend.





Fixing CORS Issues in Flask Applications Using flask_cors

Understanding the CORS Issue

Cross-Origin Resource Sharing (CORS) is a security feature implemented in web browsers that restricts web pages from making requests to a different domain than the one that served the web page. This is done to prevent malicious websites from accessing sensitive user data on other sites.

In a Flask-based web application, you may encounter a CORS error when trying to make an API call from a front-end client (such as a React or JavaScript-based web application) to a Flask backend running on a different port or domain. The error message typically looks like this:

Access to fetch at 'http://127.0.0.1:5000/transcribe_speech' from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Root Cause of the Issue

By default, Flask does not include CORS headers in its responses. This means that if a browser detects an AJAX request to a different origin, it blocks the request due to security policies unless the server explicitly allows it.

The error occurs because the Flask server is not configured to handle CORS requests properly, and the browser refuses to process the response due to missing Access-Control-Allow-Origin headers.

Fixing the Issue with flask_cors

The easiest way to resolve this issue in a Flask application is by using the flask_cors package, which automatically adds the necessary CORS headers to the responses.

Step 1: Install flask_cors

If you haven't already installed flask_cors, you can do so using pip:

pip install flask_cors

Step 2: Enable CORS in Your Flask Application

Modify your Flask application to import and use CORS from flask_cors.

Option 1: Enable CORS for the Entire Application

This method enables CORS for all routes in your Flask app.

from flask import Flask, request, jsonify
from flask_cors import CORS

app = Flask(__name__)
CORS(app) # This will allow all domains to access your API

@app.route('/transcribe_speech', methods=['POST'])
def transcribe():
data = request.json # Process your request here
return jsonify({"message": "Speech transcribed successfully!"})

if __name__ == '__main__':
app.run(debug=True)

Option 2: Enable CORS for Specific Routes

If you want more control over which routes allow CORS, you can enable it on specific endpoints:

from flask_cors import cross_origin

@app.route('/transcribe_speech', methods=['POST'])
@cross_origin() # This will add CORS headers only to this route
def transcribe():
data = request.json # Process your request here
return jsonify({"message": "Speech transcribed successfully!"})

Option 3: Restrict CORS to Specific Origins

For added security, you can allow only specific origins instead of enabling CORS globally:

CORS(app, resources={r"/transcribe_speech": {"origins": "http://localhost:3000"}})

This ensures that only requests from http://localhost:3000 are allowed, preventing unauthorized access from other domains.

Step 3: Restart Your Flask Server

After making these changes, restart your Flask server:

flask run

Now, your front-end application should be able to successfully communicate with your Flask backend without encountering CORS errors.

Conclusion

CORS errors in Flask applications are a common issue when working with front-end and back-end applications running on different domains or ports. By using the flask_cors package, you can easily enable CORS for your application and avoid these errors while maintaining security.

By properly configuring CORS, you can ensure that your APIs remain accessible to your web clients while preventing unauthorized cross-origin requests.


Tags: Python,Web Development,Technology,

Friday, March 14, 2025

Why Most Job Seekers Are 'Never' Hired. Kerala Techie Shares 6 Reasons - Viral Post

To See All Articles About Layoffs: Layoffs Reports
It has been observed that many job seekers find it difficult to get a job or get through job applications. After getting stuck in a cycle of job applications and rejections, they are not able to figure out what went wrong. However, this one post is going viral on social media, which tells social media what could be the possible reasons that 'most of the job seekers are never hired.'

The post was shared by a Kerala-based techie who shared six reasons that ''why most of job seekers are not able to get jobs.'' He also elaborated on the mistakes that professionals should avoid making. His post based on the personal experiences in job hunting and mentoring candidates, Abhishek Nair listed key mistakes that prevent job seekers from breaking into the industry in X post.

Nair said in his post, ''A recruiter friend of mine recently revealed why 90% of job seekers never get hired. Recently, over a casual chai meet, one such recruiter friend - who manages hiring for a lean travel tech startup - shared the 6 biggest reasons why most job seekers never get hired.''

In his conversation, he compiled the list of reasons explaining why job seekers are missing out on opportunities and how can they be avoided.

The Key Reasons

(1) Zero Practical Experience - ''In today's world, where it's easier than ever to build websites and projects, if your resume or portfolio lacks solid projects, you don't deserve a job. You don't need to build the next Facebook or Twitter — but a calculator app won't cut it either. Build decent projects that push your limits while showcasing your skills at the same time!'' (2) Applying Blindly - ''Spraying your resume to every job listing on LinkedIn isn't a job search strategy — it's desperation. Most recruiters can smell a mass application from a mile away. Apply to fewer jobs, but customize your resume and cover letter to show you're genuinely interested in that company and that role.'' (3) Zero Personal Brand - ''If your only presence online is a private Instagram account and a LinkedIn profile with 12 connections — you're invisible to recruiters. The easiest way to stand out is to show your work publicly. Write about what you're learning, share your projects, or just document your journey — even if you're a beginner.'' (4) No Networking - ''Game Most jobs aren't found on job boards — they're found through people. If you're not building relationships with devs, recruiters, or hiring managers on X, LinkedIn, or Discord communities, you're making your job search 10x harder. Your first 10 DMs will probably get ignored — but that 11th DM could change your career.'' (5) Resume Full of Buzzwords - "Hardworking, self-motivated team player with a passion for technology" Cool. So is everyone else. Instead of stuffing your resume with generic adjectives, focus on: What problems you've solved, What tools you used, What impact you made. Let your work speak louder than the buzzwords.'' (6) Waiting for the "Perfect Job" - "I'll apply once I learn one more framework." "I'll start networking once I finish my portfolio." "I'll post on LinkedIn once I know more." Bro... Nobody is coming to save you. Start with whatever you have, however imperfect it is. The best opportunities come to those who are already in motion — not those waiting to be ready.'' The post has since gone viral and garnered over 20 thousand views. Many netizens have applauded the post for deep insights. Ref
Tags: Layoffs,Management,

United States to Google - Sell Google Chrome to…

To See All Articles About Technology: Index of Lessons in Technology
The Justice Department doubled down Friday on its demand that Google sell off its Chrome web browser, signaling that the Trump administration is continuing the Biden administration's aggressive approach to reining in technology giants.

In a court filing, the department reiterated its request that Judge Amit P. Mehta force Google to divest Chrome and end practices that allowed the search giant to maintain what the court ruled last year was an illegal monopoly in online search.
The proposal says that Google must "promptly and fully divest Chrome, along with any assets or services necessary to successfully complete the divestiture, to a buyer approved by the Plaintiffs in their sole discretion, subject to terms that the Court and Plaintiffs approve."

"Google's illegal conduct has created an economic goliath, one that wreaks havoc over the marketplace to ensure that — no matter what occurs — Google always wins," the government said in Friday's filing. "The American people thus are forced to accept the unbridled demands and shifting, ideological preferences of an economic leviathan in return for a search engine the public may enjoy."
The proposal follows Judge Mehta's landmark August 2024 ruling that Google illegally maintained its search monopoly by paying web browsers and smartphone manufacturers to feature its search engine. During the 2023 trial, evidence showed Google paid $26.3 billion for these arrangements in 2021 alone.

"Through its sheer size and unrestricted power, Google has robbed consumers and businesses of a fundamental promise owed to the public—their right to choose among competing services," the DOJ statement accompanying the filing claims.

Judge Mehta found that about 70 percent of US search queries happen through portals where Google is the default search engine, with Google's revenue-sharing agreements making it impossible for smaller search rivals to compete. During the 2023 trial, evidence showed Google paid $26.3 billion in 2021 for deals ensuring default placement on devices and browsers. Google argued users chose its search engine because it was superior to competitors like Microsoft's Bing or DuckDuckGo.
The Justice Department is urging Google to end its paid agreements with Apple, Mozilla, and smartphone manufacturers that make Google the default search engine. Additionally, it is seeking a court order that would require Google to allow competing search engines to display its results and access its data for the next decade.

DOJ makes changes to its earlier proposals to Google

In a revision from earlier proposals, the government no longer demands Google divest its artificial intelligence products, instead requiring the company to notify federal and state officials before proceeding with AI investments.
The filing was signed by Omeed A. Assefi, who is leading the antitrust division while Trump's nominee, Gail Slater, awaits Senate confirmation.

Google, which plans to appeal Judge Mehta's ruling, filed its own proposal Friday that maintained its position that minimal changes are needed. The company suggests allowing continued payments for prime placement but with less restrictive agreements that permit other search engines to compete for placement on phones and browsers.
"The government's proposals would harm America's consumers, economy and national security," Google spokesman Peter Schottenfels said in a statement.
Google's chief legal officer, Kent Walker, previously called the government's proposal a "radical interventionist agenda" that would "endanger the security and privacy of millions of Americans" and stifle innovation.

Judge Mehta is scheduled to hear arguments on the competing proposals in April, though Google has already indicated it will appeal whatever remedy is ordered, likely beginning a years-long legal process.

Ref
Tags: Technology,Investment,Management,

Thursday, March 13, 2025

Having multiple accounts on Google, now it may get deleted.

To See All Articles About Technology: Index of Lessons in Technology

Message Post Login

Message From Google Support

Ref: Google Support

Reasons as stated on Google Support site

Pricing of Different Speech-to-Text APIs (As of Mar 2025)

To See All Articles About Technology: Index of Lessons in Technology
1: GOOGLE

https://cloud.google.com/speech-to-text/pricing?hl=en

https://cloud.google.com/speech-to-text?hl=en
2: ASSEMBLY AI https://www.assemblyai.com/pricing
3: DEEPGRAM https://deepgram.com/pricing
4: OPEN AI https://platform.openai.com/docs/pricing
5: WHAT IF WE WERE TO HOST OUR OWN API (BASED ON A MODEL FROM HUGGINGFACE)? PYTHON ANYWHERE
Tags: Technology,Large Language Models,Generative AI,

Challenges Faced During PythonAnywhere Hosted Offline ASR (Automatic Speech Recognition) Development

To See All Articles About Technology: Index of Lessons in Technology

Developing an Automatic Speech Recognition (ASR) system on PythonAnywhere, especially with a free-tier account, presents multiple challenges. Below, we outline these challenges along with possible approaches to mitigate them.

1. Storage Constraints on PythonAnywhere Free Account

PythonAnywhere's free-tier provides limited disk space, making it difficult to host and run ASR models effectively.

  • Whisper Tiny, the smallest variant of OpenAI's Whisper ASR models, is ~155MB in size.
  • The model and its dependencies must fit within the available storage.
  • Solution: Implement periodic clean-up scripts to remove unused files and logs.

2. Audio Processing Errors on PythonAnywhere

When processing microphone recordings via Flask, we encountered the following error:

"Error processing audio: expected scalar type double but found float"

This issue arises due to incompatible audio formats when using libraries like Librosa and Soundfile.

  • The Chrome browser's WebRTC API records audio in Opus format inside a WebM container.
  • This format needs conversion before it can be processed by Librosa or Whisper.
  • Fix: Use FFmpeg or PyDub to convert the WebM/Opus file to a standard 16kHz WAV file before feeding it into the ASR model.

3. Low Accuracy of Transcription

Despite being optimized for size, Whisper Tiny struggles with accuracy, especially for:

  • Short phrases (e.g., "Hello 1-2-3", "Good morning")
  • Accents and noisy environments

Possible Solutions:

  • Try a slightly larger model like Whisper Base (289MB) for better recognition.
  • Fine-tune the model with domain-specific audio data.
  • Use a noise reduction filter to clean the input audio before transcription.

4. High Latency in Processing

ASR models require significant computational power, which is limited on PythonAnywhere's free-tier.

  • The transcription process takes too long for real-time applications.
  • PythonAnywhere's free-tier does not support GPU acceleration, making inference slower.

Potential Solutions:

  • Move to a more powerful cloud hosting solution (e.g., Render, Google Colab, AWS Lambda with GPU).
  • Use a streaming-based approach to process audio in chunks rather than all at once.
  • Explore lightweight ASR models like Deepgram or Vosk for real-time transcription.

5. Uncharted Issues & Future Roadblocks

Since ASR is a complex task, there are additional concerns that we have yet to explore:

  • Speech length limitations: How long can a single audio file be before processing fails?
  • Continuous speech recognition: Can we implement real-time transcription for a Read-Along application?
  • Handling different languages and accents effectively.

Exploring Alternative Solutions

Option 1: Try a Different Cloud Hosting Platform

  • Render, Google Cloud Run, or AWS Lambda may provide more flexibility.
  • Some platforms offer GPU access, which speeds up ASR model inference.

Option 2: Use an API-Based ASR Service

Instead of running Whisper locally, we can leverage APIs for speech-to-text:

  • OpenAI Whisper API – Paid but provides high accuracy.
  • Deepgram ASR API – Fast and accurate for real-time speech recognition.
  • Google Speech-to-Text API – Excellent for multi-language support.

By integrating a cloud-based ASR API, we eliminate local processing constraints and benefit from better accuracy and scalability.


Final Thoughts

PythonAnywhere provides a convenient way to deploy Python-based applications, but it may not be ideal for ASR workloads. While Whisper Tiny can run within the free-tier constraints, issues like format mismatches, processing time, and accuracy make it challenging to implement a production-ready ASR system.

Next Steps:

  • Try alternative cloud hosting solutions with better compute resources.
  • Test API-based ASR services to reduce processing latency.
  • Optimize the audio processing pipeline to improve compatibility and accuracy.

Would love to hear your thoughts or experiences with running ASR models in constrained environments! 🚀🔊

Tags: Large Language Models,Technology,Cloud

Wednesday, March 12, 2025

If You Follow Your WHY, Then Others Will Follow You (End Note)


All Book Summaries
"BANG!" The gun fires and the race is on. The runners take off across the field. It rained the day before and the ground is still damp. The temperature is cool. It is a perfect day for running. The, line of runners quickly forms a pack. Like a school of fish they come together as one. They move as one. The pack sets a pace to maximize their energy for the whole race. As with any race, in a short period of time the stronger ones will start to pull ahead and the weaker ones will start to fall behind. But not Ben Comen. Ben was left behind as soon as the starter gun sounded. Ben's not the fastest runner on the team. In fact, he's the slowest. He has never won a single race the entire time he's been on the Hanna High School cross-country track team. Ben, you see, has cerebral palsy.
Cerebral palsy, a condition often caused by complications at.
birth, affects someone's movement and balance. The physical prob- lems endure for a lifetime. Misshapen spines create a twisted pos- ture. Muscles are often withered and motor reflexes slow. Tightness in the muscles and joints also affect balance. Those with CP often have an unsteady gait, their knees knock and their feet drag. To an outsider, they may seem clumsy. Or even broken.

The pack pulls farther and farther ahead while Ben falls farther and farther behind. He slips on the wet grass and falls forward into the soft earth. He slowly picks himself up and keeps going. Down he goes again. This time it hurts. He gets back up and keeps run- ning. Ben won't quit. The pack is now out of sight and Ben is running alone. It is quiet. He can hear his own labored breathing.
He feels lonely. He trips over his own feet again, and down he goes yet another time. No matter his mental strength, there is no hiding the pain and frustration on his face. He grimaces as he uses all his energy to pull himself back to his feet to continue running. For Ben, this is part of the routine. Everyone else finishes the race in about twenty-five minutes. It usually takes Ben more than forty- five minutes.
When Ben eventually crosses the finish line he is in pain and he is exhausted. It took every ounce of strength he had to make it. His body is bruised and bloodied. He is covered in mud. Ben inspires us, indeed. But this is not a story of "when the going gets tough, the tough get going." This is not a story of "when you fall down, pick yourself up." Those are great lessons to learn, without a doubt, but we don't need Ben Comen to teach us those lessons. There are dozens of others we can look to for that, like an Olympic athlete, for example, who suffered an injury just months before the games only to come back to win a medal. Ben's lesson is deeper.
Something amazing happens after about twenty-five minutes.
When everybody else is done with their race, everyone comes back to run with Ben. Ben is the only runner who, when he falls, someone else will help pick him up. Ben is the only runner who, when he finishes, has a hundred people running behind him.
What Ben teaches us is special. When you compete against everyone else, no one wants to help you. But when you compete against yourself, everyone wants to help you. Olympic athletes don't help each other. They're competitors. Ben starts every race with a very clear sense of WHY he's running. He's not there to beat anyone but himself. Ben never loses sight of that. His sense of WHY he's running gives him the strength to keep going. To keep pushing. To keep getting up. To keep going. And to do it again and again and again. And every day he runs, the only time Ben sets out to beat is his own.

Now think about how we do business. We're always competing against someone else. We're always trying to be better than someone else. Better quality. More features. Better service. We're always comparing ourselves to others. And no one wants to help us. What if we showed up to work every day simply to be better than our- selves? What if the goal was to do better work this week than we did the week before? To make this month better than last month? For no other reason than because we want to leave the organization in a better state than we found it? All organizations start with WHY, but only the great ones keep their WHY clear year after year. Those who forget WHY they were founded show up to the race every day to outdo someone else in- stead of to outdo themselves. The pursuit, for those who lose sight of WHY they are running the race, is for the medal or to beat some- one else.

What if the next time when someone asks, "Who's your com- petition?" we replied, "No idea." What if the next time someone pushes, "Well, what makes you better than your competition?" we replied, "We're not better than them in all cases." And what if the next time someone asks, "Well why should I do business with you then?" we answer with confidence, "Because the work we're doing now is better than the work we were doing six months ago. And the work we'll be doing six months from now will be better than the work we're doing today. Because we wake up every day with a sense of WHY we come to work. We come to work to inspire people to do the things that inspire them. Are we better than our competition? If you believe what we believe and you believe that the things we do can help you, then we're better. If you don't believe what we believe and you don't believe the things we can do will help you, then we're not better. Our goal is to find customers who believe what we believe and work together so that we can all succeed. We're looking for people to stand shoulder-to-shoulder with us in pursuit of the same goal. We're not interested in sitting across a table from each other in pursuit of a sweeter deal. And here are the things we're doing to advance our cause ..." And then the details of HOW and WHAT you do follow. But this time, it started with WHY.

Imagine if every organization started with WHY. Decisions would be simpler. Loyalties would be greater. Trust would be a common currency. If our leaders were diligent about starting with WHY, optimism would reign and innovation would thrive. As this book illustrates, there is precedence for this standard. No matter the size of the organization, no matter the industry, no matter the product or the service, if we all take some responsibility to start with WHY and inspire others to do the same, then, together, we can change the world.
And that's pretty inspiring.