The Art of Impossible - Steven Kotler
A Peak Performance Primer
"This is [...] a practical playbook for impractical people."
"The only thing more difficult than the emotional toil of pursuing true excellence is the emotional toil of not pursuing true excellence."
"More meaningful does not typically mean more pleasant."
"Whenever the impossible becomes possible, there's always a formula."
"Personality doesn't scale. Biology scales."
During flow our cognition is massively changed. Creativity, learning, empathy, environmental awareness and collaboration are as much as 500% above baseline.
"Flow is to extreme innovation what oxygen is to breathing."
"When it comes to tackling the impossible, flow is necessary but not sufficient."
“Motivation is what gets you into this game; learning is what helps you continue to play; creativity is how you steer; and flow is how you turbo boost the results beyond all rational standards and reasonable expectations."
I. Motivation
1. MOTIVATION DECODED
"Motivation [...] is actually a catch-all for three subsets of skills: drive, grit and goals."
Drive is emotional motivation like curiosity, passion, and purpose.
Goals is knowing where we want to get to.
Grit is persistence when things get difficult.
Elite performers "stack" their fuel. Physically by making sure their nutrition, sleep, and health are on point, and psychologically by aligning things like curiosity, passion, and purpose.
Drivers can be split into extrinsic (money, fame, sex) and intrinsic (curiosity, meaning, mastery, autonomy,...).
"As high-minded as something like 'meaning and purpose' might seem as a driver, this is actually evolutions's way of saying: Okay, you've got enough resources for yourself and your family. Now it's time to help your tribe and your species get more."
Intrinsic drivers take over once a basic level of extrinsic ones are met.
Ultimately motivation and drive boil down to neurochemistry, particularly dopamine, norepinephrine, oxytocin, serotonin, endorphins, and anandamide.
2. THE PASSION RECIPE
"The easiest way to start stacking intrinsic drivers is with a list."
Write down 25 things you're curious about. The more detailed and specific, the better.
Then look for overlaps of several of them. When multiple interests intersect, it triggers your pattern matching mechanism, and leads to powerful releases of dopamine.
"By stacking motivations, that is, layering curiosity atop curiosity, we're increasing drive but not effort.”
Learning about the history and technical language of a subject might feel like a waste of time, but it's actually a powerful anchor that helps our memory and understanding.
Adding "public successes" where you talk about your interests, even just to friends, and get positive reinforcement can be a massive boost to our passion.
"At this point in the process, it's time to transform the fire of passion into the rocket fuel of purpose."
"Neurobiologically, purpose alters the brain. It decreases the reactivity of the amygdala, decreases the volume of the medial temporal cortex, and increases the volume of the right insular cortex. [...] All these changes seem to have a profound impact on our long-term health. [...] Additionally, from a performance standpoint, purpose boosts motivation, productivity, resilience, and focus."
By shifting the attention away from self-rumination, it's also a protector against anxiety and depression.
Want to dream big, identifying a "massively transformative purpose" MTP that intersects with our passions.
3. THE FULL INTRINSIC STACK
Curiosity, passion and purpose are a great start, but they are not enough to reach the impossible. For that we also need to add autonomy and mastery.
"If autonomy is the desire to steer your own ship, mastery is the drive to steer that ship well."
Companies like Google and 3M show how giving even just a few hours of autonomy to each employee can have huge results.
Making your own schedule can be critical for sleep and making sure you are aligned with your chronotype.
"Exercise is a non-negotiable for peak performance."
Building flow activities into our day that are playful and not part of work is also important.
"Mastery is the desire to get better at the things we do. It's devotion to craft, the need for progress, the urge to continually improve."
"When we work hard toward an important goal - that is, when we pursue mastery - dopamine levels spike."
"Flow follows focus."
Flow triggers all help us shift our attention to the present moment, either through dopamine/norepinephrine release, or by reducing cognitive load.
"Start chasing the high of incremental improvements."
4. GOALS
Want to break down the impossible into a long series of difficult but achievable goals, to give clear direction to our drive.
Clear goals are one of the easiest ways to increase motivation and boost performance.
"Because the brain is a prediction engine and consciousness is a limited resource, fear and goals are the basic building blocks of our reality."
[q] "Big goals significantly outperform small goals, medium-sized goals, and vague goals." - Gary Latham
"MTPs, utilized properly, aren't aspirational, they're filtrational: they weed out the work that doesn't matter."
"High, hard goals" (HHGs) are the sub-step that helps us accomplish our larger mission.
Counterintuitively, research shows that talking about your goals publicly reduces the chances of achieving them.
"The act of telling someone about your goal gives you the feeling that the goal's already been achieved. It releases the dopamine you're supposed to get afterward, prematurely."
HHGs should be further broken down into clear short-term (say daily) goals.
"At a very basic level, this is exactly what the road to impossible looks like - a well-crafted to-do list, executed daily."
"Clear goals act as a priority list for the brain, lowering cognitive load and telling the system where to expand its energy."
Clear daily goals are great triggers for flow.
"Impossible is always a checklist."
5. GRIT
[q] “No pressure, no diamonds.” - Thomas Carlyle
Regularly doing hard things teaches the brain to associate persistence with dopamine rewards.
Six types of grit. The grit to…
persevere
control your thoughts
master fear
be your best when you’re at your worst
train your weaknesses
recover
Psychologists consider three levels of wellbeing:
Moment-to-moment “happiness,” a hedonic approach to life.
“Engagement,” a high-flow life where happiness comes through a pursuit of challenges rather than pleasure.
“Purpose,” same as engagement but with an added sense of having a bigger impact.
Studies show that the grittier a person, the higher their level of wellbeing, and despite embracing hard things, they actually experience a deeper sense of happiness.
Willpower is a big part of perseverance. It’s linked to our energy levels, and depletes throughout the day, so it helps to schedule things right (hard things first) and carefully choose/design our environment.
“For sustained perseverance, the research shows, a growth mindset is indispensable.”
[q] “Get obsessed, stay obsessed.” - John Irving
“Quite often, passion feels like frustration on the inside and looks like obsession from the outside. Peak performers must learn to tolerate enormous amounts of anxiety and overwhelm.”
“Passion doesn’t make us gritty. Passion makes us able to tolerate all the negative emotions produced by grit.”
[q] “High performance is 90 percent mental. And most of the mental edge comes from being able to control your thoughts.” - Micheal Gervais
Positive self-talk, mindfulness, and gratitude all help with controlling our thoughts, and teach us to focus on the positive.
Almost all peak performers struggle with fear of some kind. What sets them apart is that they find it more bearable to run towards the fear rather than away from it.
Fear is a great source of attention and motivation.
Should establish a regular fear practice, taking physical, emotional, intellectual, or creative risks in a controlled but increasing way.
“The goal is to become comfortable with being uncomfortable.”
Peak performers use fear as a compass.
“Going in the direction that scares you the most amplifies attention and this translates into flow. […] Our real potential lies on the other side of our greatest fears.”
[q] “The grit that matters most is learning to be your best when you’re at your worst. This is really the difference between elite-level performers and everyone else. And you have to train this kind of grit.” - Josh Waitzkin
When you’re not feeling great, it’s easy to make excuses. But that’s exactly when you should push, and tap into those energy reserves you didn’t know you had. If you do that in training, you’re prepared for bad situations when it actually matters.
Ask several friends to identify your weaknesses (to avoid your own bias), then find the most mentioned physical, emotional, and cognitive weaknesses and work on them.
“It’s hard for peak performers to relax. […] You absolutely have to get gritty about recovery.”
Key recovery tools should be good sleep, active recovery (e.g. yoga, nature walks, sauna, …) and occasional total resets, stepping away from everything for a few days.
6. THE HABIT OF FEROCITY
“Excellence always has a cost. On a daily basis, if your goal is greatness, then you’re going to put just about every available hour towards that goal.”
“It’s hard to achieve the amazing by accident. You have to dream big.”
Peak performers all share a “habit of ferocity”: When they come across a challenge, they immediately lean in. They are attracted to challenge.
[q] “Figure out what you would die for, then live for it.” - Peter Diamandis
II. Learning
7. THE INGREDIENTS OF IMPOSSIBLE
Since flow requires a certain level of challenge, a continuous flow lifestyle also requires lifelong learning.
“Psychologists consider lifelong learning foundational to satisfaction and wellbeing.”
8. GROWTH MINDSETS AND TRUTH FILTERS
We need to develop our own rigorous “truth filters” to assess the information around us in fast and reliable ways.
“You can’t get to impossible on bad information.”
9. THE ROI ON READING
“If you’re interested in learning, then you’re interested in books.”
Blogs are less condensed than long-form articles, which in turn are less condensed than books.
“Books are the most radically condensed form of knowledge on the planet.”
Talks are great for igniting curiosity but don’t have the depth and detail of books.
10. FIVE NOT-SO-EASY STEPS FOR LEARNING ALMOST ANYTHING
“Step One: The five books of stupid”
Pick five books on a subject and read them without judging your understanding too harshly.
“Biologically, a lot of learning comes down to pattern recognition, and most of that takes place on an unconscious level.”
Take notes in a notebook on three points: the historical narrative, key terminology, and anything that gets you excited.
This stage is about knowledge acquisition, skill acquisition is separate.
“Step two: Be the idiot”
Step one should have filled you with lots of questions. Now it’s time to seek out experts, leaving your own pride at home, and let them do the talking.
“Step three: Explore the gaps”
By following your own curiosity rather than a standard curriculum you should eventually get “slow hunches,” a feeling for gaps in the knowledge which none of the experts covers, or a new relation to a different domain.
“Step four: Always ask the next question”
Seek out experts that disagree with the standard narrative of a field.
“Step five: Find the narrative”
Condense all your learning into a story and tell it to both people with no background, as well as experts.
11. THE SKILL OF SKILL
Pareto’s principle, the 80/20 rule, is great for skill acquisition. Focus on the 20% of material that gets you 80% of the results.
Only the core skills should be approached differently, for anything else 80/20 is the shortcut to overall mastery.
12. STRONGER
“The best way to increase flow is to spend as much time as possible on activities that utilize one or more of our five top strengths.”
Focusing on our strengths accelerates learning and motivation. Weaknesses get dragged along and improved in the process.
13. THE 80/20 OF EMOTIONAL INTELLIGENCE
Your support network has a big influence over whether you see something as an interesting challenge or a dangerous threat.
Neurobiologically, high EQ means a good ability to manage the brain’s emotional systems: fear, lust, care, play, rage, seeking and panic/grief.
“EQ remains one of the highest indicators of high achievement.”
Four areas of EQ: self-awareness, self-management, social awareness, and relationship management.
14. THE SHORTEST PATH TO SUPERMAN
Rather than early specialization, many top performers actually try and abandon a lot of different things, until they find “match fit.”
“When flow is the reward, learning shifts from something done consciously, with energy and effort, to something done automatically, out of habit and joy.”
III. Creativity
15. THE CREATIVE ADVANTAGE
“If your interest is high achievement, creativity matters.”
“In the infinite game of peak performance, motivation gets you into the game, learning allows you to continue to play, but creativity is how you steer.”
Alfred North Whitehead apparently coined the term “creativity” only in 1927.
Our cerebral cortex is much larger than other animals’, allowing us to put a break into the instinctive action-reaction cycle and allowing us to consider options, as well as simulate their results.
Creativity is “the production of novel ideas that have value.”
Three overlapping neural systems are involved in creativity: attention, imagination, and salience.
Imagination network more technically known as default mode network (DMN).
“When switched on, it’s the brain in daydreaming mode, stimulating alternative realities and testing out creative possibilities.”
Default mode network and executive attention network actually work in opposition and switch each other off, but creatives can transition between the two with far more fluidity.
Three Bs: bend, break, and blend.
Salience network is the master switch that orchestrates the other two.
16. HACKING CREATIVITY
An active anterior cingulate cortex (ACC) is required for insight moments. And good mood activates the ACC.
ACC monitors the ideas of the DMN and identifies valuable ones, brining them up to our conscious attention.
For creativity, we want to consider the big picture. Mood again is important (fear gets us to focus rather than think wide), but time in nature with literally open view can also help.
Solitude is important for creativity.
When starting a new creative task, starting with something weird or unfamiliar is much better than starting with the easy and familiar. It primes you for making unusual connections.
Constraints and limits drive creativity.
“If creativity is required, not knowing where you’re going is the fastest way to never get there.”
Read outside your core domain and allow yourself to daydream if an idea catches your interest. This gives our pattern recognition system a great chance to come up with new and useful ideas.
17. LONG-HAUL CREATIVITY
Staying creative over decades requires to continually reinvent ourselves.
You have to get comfortable with learning and applying things outside your comfort zone.
“The Ferriss Four”: Daily exercise, keep a maker schedule, take long walks, and ask better questions.
Momentum is critical. Stopping the day’s work while still excited and with clear direction may seem counterproductive but it carries momentum to the next day.
“Long-haul creativity, [Sir Ken] Robinson believes, requires a low-level, near-constant sense of frustration.”
Remembering that the competition is always chasing you can be a great motivator.
“Creativity is almost always a byproduct of passionate hard work and not the other way around.”
“I always set out to write great sentences, but I never set out to write a great sentence.”
Creatives often combine personality traits from opposite extremes. Specifically, Mihaly Csikszentmihalyi identified ten “both/and” characteristics of creatives:
Energetic and sedate
Smart and naive
Playful and disciplined
Fantastical and realistic
Extroverted and introverted
Ambitious and selfless
Conservative and rebellious
Humble and proud
Passionate and objective
Sensitive to others and cold as ice
While the source of creativity, these opposites can also lead to emotional rollercoasters and difficult social interactions.
18. THE FLOW OF CREATIVITY
“Nature builds creatives; nurture tears them down. Growing up, according to this research, was the number one risk factor for squelching innovation."
As our executive attention network matures, less creative/divergent ideas pass through its filter. Except in flow, where all the networks work well in harmony.
“Flow is the brain on creative overdrive. It mimics all the inventiveness that comes with being four years old, just, you know, without the downside of having a four-year-old brain.”
IV. Flow
19. THE DECODER RING
Flow can even be a source of mystical experiences.
During extreme focus, to conserve energy the brain can shut down regions that are not critical, such as the right posterior parietal lobe, which helps us navigate through space and gives us a sense of where our body ends. Without that sense it’s essentially like you’re becoming one with the universe, or at least with whatever you are focusing on.
20. FLOW SCIENCE
Nietzsche was maybe the first thinker who studied peak performance through a modern scientific approach.
Mihaly Csikszentmihalyi coined the term flow and studied the concept intensively in the 1970s and after.
Flow has six core physiological characteristics:
Complete concentration
Merger of action and awareness
Sense of self vanishes
Altered sense of time
Paradox of control
Autotelic experience
“People who scored off the charts for overall well-being and life satisfaction were the people with the most flow in their lives.”
During peak performance and flow, our brain is actually less active, not more.
“Transient hypofrontality”: Our prefrontal cortex shuts down, handing over control to the faster and more energy efficient subconscious thinking. This also shuts down self-monitoring and our sense of past and future.
21. FLOW TRIGGERS
Initial research pointed at three main flow triggers: clear goals, immediate feedback, and challenge-skill-balance. But we now know of 19 more triggers.
All these triggers work by pushing attention into the present moment, through releasing norepinephrine and/or dopamine, and/or by lowering cognitive load.
Complete concentration, autonomy, and curiosity-passion-purpose are three more internal triggers.
“Peak performers routinely turn down opportunities, even fantastic ones, if those opportunities reduce autonomy.”
To really give flow a chance, should block out at least 90 to 120 minutes, ideally more, with completely zero distractions.
Statistically, surgeons are the only type of physician that actually get better over time after leaving medical school, because they receive immediate feedback.
Should set a “feedback buddy,” someone to share clear and concise feedback with without fluff or subjective opinions.
Societal norms and values can be tricky for peak performers and can weigh them down if they don’t manage to navigate/balance them properly.
“Demand more excellence from yourself.”
Extended triggers are high consequences, rich environments, and deep embodiment.
Rich environments actually contain three triggers: novelty, unpredictability, and complexity.
Montessori education offers some of the highest flow educational environment.
Creativity is a combination of pattern recognition and risk taking, both of which neurobiologically aid flow through dopamine release.
“Make creativity a value and a virtue. Your life needs to become your art.”
Flow can also happen in groups with a shared goal and collective ambition.
22. THE FLOW CYCLE
Flow is actually a cycle with four phases that you have to pass through one at a time.
“Unpleasantness is a built-in part of the experience. It’s an unavoidable biological necessity.”
Stage one: Struggle.
“Optimal performance begins in maximum frustration.”
During struggle we acquire knowledge and skills. But at this stage it still feels uncomfortable and effortful.
[q] “Many people find [flow] so great and high an experience that it justifies not only itself, but even living itself.” - Abraham Maslow
Flow redeems the struggle, and lies beyond struggle. For peak performers, frustration and struggle are actually a compass, because they know what lies beyond it.
Stage two: Release.
Release is the incubation period where information moves over from our conscious to our subconscious mind.
Low-grade physical activity (a hike, long car drive, playing an instrument, etc) works best.
Stage three: Flow.
Once in the zone, need to avoid the main flow blockers distraction, negative thinking, non-optimal arousal, and lack of preparation.
Stage four: Recovery.
Flow is a high-energy state, so we need to recover from it. But it requires active recovery.
“After a hard day, even the extra energy it takes to take a long bath can feel like a Herculean task. Well, Hercules up, because there’s no choice.”
23. ALL TOGETHER NOW
Seven daily and six weekly practices that are non-negotiable.
Daily:
90 to 120 minutes of uninterrupted concentration
5 min for distraction management (preparing for the next day)
5 min for making a clear goal list (preparing for the next day)
5 min for daily gratitude practice
20 min for release/mindfulness
25 min to learn and load the pattern recognition system through reading outside your core area
7 to 8 hours of sleep
Weekly:
2 to 6 hours of high-flow fun activity (surfing, dancing, skiing, …)
60 min, 3 times a week: challenging exercise session
20 to 40 min, 3 times a week: active recovery (sauna, massage, light yoga, …)
30 to 60 min, once a week: train a weakness or being your best when you’re feeling the worst
30 to 60 min, once a week: get feedback on the work you do during your daily high focus blocks
120 min once per work: social support, making time for other people
“Creativity and the pursuit of mastery should be built into everything you do."
China and Japan have reached an agreement over the release of wastewater from Japan’s destroyed Fukushima nuclear power center. The deal prepares the way for China to restart Japanese seafood shipments it banned because of concerns over the wastewater.
Representatives from both countries announced on September 20 a deal had been reached. Japanese Prime Minister Fumio Kishida said the agreement had established a level of “mutual understanding” on the issue.
China’s government began banning sales of seafood coming from Japan more than a year ago. Officials said they were concerned the wastewater – which was treated to remove radioactive material – might poison seafood products sold in China.
Japan has repeatedly said its testing and monitoring efforts have shown the treated wastewater presents no risk of radioactive poisoning to humans.
Operators of the Fukushima center announced in June 2023 that they had begun testing the process of releasing treated wastewater into the sea. The water first passes through equipment designed to remove harmful materials. Japan’s government says the processed water is considered “treated,” not “radioactive.”
But experts say it is impossible to remove all radioactive material from the wastewater. Government officials have said tritium – a radioactive form of hydrogen – is the only substance that cannot be removed from the water. However, they say the material is not considered harmful in small amounts.
The water release program began in August 2023. Officials said it was a necessary part of cleanup efforts at the Fukushima center. Three reactors there suffered meltdowns after a 2011 earthquake and huge ocean waves destroyed the plant’s cooling systems. The disaster forced 160,000 people to flee surrounding areas that were affected by radioactive material.
The agreement itself does not immediately remove China’s ban on Japanese seafood imports. Kishida told reporters Chinese negotiators said the deal begins the process for China to “revisit its import restrictions” on the seafood products.
The agreement calls for Japan to establish a long-term program in which international experts will carry out independent testing and monitoring. Kishida told reporters the government agreed to additional monitoring methods on the treated wastewater.
A Chinese foreign ministry official said his country still has concerns about the safety of Japanese seafood products. Chinese and Japanese experts are expected to come together in the coming months to work on China’s safety concerns. The official noted the ban will likely be lifted on products over time.
Before the ban, China was Japan’s biggest market for seafood exports. In the first half of 2024, Japanese exports of agriculture, forest and fish products fell for the first time since 2020. The decrease is blamed partly on China’s seafood ban.
The International Atomic Energy Agency (IAEA) has worked with Japan on its monitoring efforts involving the released wastewater. The head of the organization, Director General Rafael Grossi, welcomed the latest agreement between China and Japan.
Grossi praised Japan’s government "for its continued engagement with the IAEA.” He also thanked the Chinese side for taking part in “constructive” negotiations with IAEA officials leading up to completion of the deal.
Paul, an apostle of Christ Jesus by the will of God, To the saints who are in Ephesus, and are faithful in Christ Jesus: Grace to you and peace from God our Father and the Lord Jesus Christ.
Blessed be the God and Father of our Lord Jesus Christ, who has blessed us in Christ with every spiritual blessing in the heavenly places, even as he chose us in him before the foundation of the world, that we should be holy and blameless before him. In love he predestined us for adoption as sons through Jesus Christ, according to the purpose of his will, to the praise of his glorious grace, with which he has blessed us in the Beloved. In him we have redemption through his blood, the forgiveness of our trespasses, according to the riches of his grace, which he lavished upon us, in all wisdom and insight making known to us the mystery of his will, according to his purpose, which he set forth in Christ as a plan for the fullness of time, to unite all things in him, things in heaven and things on earth.
In him we have obtained an inheritance, having been predestined according to the purpose of him who works all things according to the counsel of his will, so that we who were the first to hope in Christ might be to the praise of his glory. In him you also, when you heard the word of truth, the gospel of your salvation, and believed in him, were sealed with the promised Holy Spirit, who is the guarantee of our inheritance until we acquire possession of it,to the praise of his glory.
For this reason, because I have heard of your faith in the Lord Jesus and your love toward all the saints, I do not cease to give thanks for you, remembering you in my prayers, that the God of our Lord Jesus Christ, the Father of glory, may give you a spirit of wisdom and of revelation in the knowledge of him, having the eyes of your hearts enlightened, that you may know what is the hope to which he has called you, what are the riches of his glorious inheritance in the saints, and what is the immeasurable greatness of his power toward us who believe, according to the working of his great might that he worked in Christ when he raised him from the dead and seated him at his right hand in the heavenly places, far above all rule and authority and power and dominion, and above every name that is named, not only in this age but also in the one to come.
And he put all things under his feet and gave him as head over all things to the church, which is his body, the fullness of him who fills all in all.
Back in July, we were authorized to acquire five boxes of green letterhead stationery. That amount should be ample fo the entire year. Kate took a quick jet to Phoenix, Arizona, to enjoy the weather and to have time to begin fall duties with the Girl Scouts of America. Please just fix the copier quickly so that we can minimize our downtime and get productivity back in shape. We have to meet our monthly quota.
Earth scars Earth because Earth earthquakes Earth wind, surface. however, that Earth.
In my younger and more vulnerable years my father gave me some advice that I've been turning over in my mind ever since. "Whenever you feel like criticizing anyone," he told me, "just remember that all the people in this world haven't had the advantages that you've had."
Well this seems to be a waste of my time. That is nine hundred nicker in any shop you're lucky enough to find one in, and you're complaining about two hundred? What school of finance did you study? It's a deal, it's a steal, it's the sale of the beeping century! In fact, beep it Nick, I think I'll keep it!
Archaeopteryx lived in the Late Jurassic around 150 million years ago, in what is now southern Germany, during a time when Europe was an archipelago of islands in a shallow warm tropical sea, much closer to the equator than it is now. Similar in size to a Eurasian magpie, with the largest individuals possibly attaining the size of a raven, the largest species of Archaeopteryx could grow to about 0.5 m in length.
class Frame:
"""A Frame represents a specific point in the execution of a program.
It carries information about the current types of expressions at
that point, arising either from assignments to those expressions
or the result of isinstance checks. It also records whether it is
possible to reach that point at all.
This information is not copied into a new Frame when it is pushed
onto the stack, so a given Frame only has information about types
that were assigned in that frame.
"""
def __init__(self, id: int, conditional_frame: bool = False) -> None:
self.id = id
self.types: dict[Key, Type] = {}
self.unreachable = False
self.conditional_frame = conditional_frame
self.suppress_unreachable_warnings = False
def __repr__(self) -> str:
return f"Frame({self.id}, {self.types}, {self.unreachable}, {self.conditional_frame})"
Assigns = DefaultDict[Expression, List[Tuple[Type, Optional[Type]]]]
class ConditionalTypeBinder:
"""Keep track of conditional types of variables.
NB: Variables are tracked by literal expression, so it is possible
to confuse the binder; for example,
```
class A:
a: Union[int, str] = None
x = A()
lst = [x]
reveal_type(x.a) # Union[int, str]
x.a = 1
reveal_type(x.a) # int
reveal_type(lst[0].a) # Union[int, str]
lst[0].a = 'a'
reveal_type(x.a) # int
reveal_type(lst[0].a) # str
```
"""
# Stored assignments for situations with tuple/list lvalue and rvalue of union type.
# This maps an expression to a list of bound types for every item in the union type.
type_assignments: Assigns | None = None
def __init__(self) -> None:
self.next_id = 1
# The stack of frames currently used. These map
# literal_hash(expr) -- literals like 'foo.bar' --
# to types. The last element of this list is the
# top-most, current frame. Each earlier element
# records the state as of when that frame was last
# on top of the stack.
self.frames = [Frame(self._get_id())]
# For frames higher in the stack, we record the set of
# Frames that can escape there, either by falling off
# the end of the frame or by a loop control construct
# or raised exception. The last element of self.frames
# has no corresponding element in this list.
self.options_on_return: list[list[Frame]] = []
# Maps literal_hash(expr) to get_declaration(expr)
# for every expr stored in the binder
self.declarations: dict[Key, Type | None] = {}
# Set of other keys to invalidate if a key is changed, e.g. x -> {x.a, x[0]}
# Whenever a new key (e.g. x.a.b) is added, we update this
self.dependencies: dict[Key, set[Key]] = {}
# Whether the last pop changed the newly top frame on exit
self.last_pop_changed = False
self.try_frames: set[int] = set()
self.break_frames: list[int] = []
self.continue_frames: list[int] = []
def _get_id(self) -> int:
self.next_id += 1
return self.next_id
def _add_dependencies(self, key: Key, value: Key | None = None) -> None:
if value is None:
value = key
else:
self.dependencies.setdefault(key, set()).add(value)
for elt in subkeys(key):
self._add_dependencies(elt, value)
def push_frame(self, conditional_frame: bool = False) -> Frame:
"""Push a new frame into the binder."""
f = Frame(self._get_id(), conditional_frame)
self.frames.append(f)
self.options_on_return.append([])
return f
def _put(self, key: Key, type: Type, index: int = -1) -> None:
self.frames[index].types[key] = type
def _get(self, key: Key, index: int = -1) -> Type | None:
if index < 0:
index += len(self.frames)
for i in range(index, -1, -1):
if key in self.frames[i].types:
return self.frames[i].types[key]
return None
def put(self, expr: Expression, typ: Type) -> None:
if not isinstance(expr, (IndexExpr, MemberExpr, NameExpr)):
return
if not literal(expr):
return
key = literal_hash(expr)
assert key is not None, "Internal error: binder tried to put non-literal"
if key not in self.declarations:
self.declarations[key] = get_declaration(expr)
self._add_dependencies(key)
self._put(key, typ)
def unreachable(self) -> None:
self.frames[-1].unreachable = True
def suppress_unreachable_warnings(self) -> None:
self.frames[-1].suppress_unreachable_warnings = True
def get(self, expr: Expression) -> Type | None:
key = literal_hash(expr)
assert key is not None, "Internal error: binder tried to get non-literal"
return self._get(key)
def is_unreachable(self) -> bool:
# TODO: Copy the value of unreachable into new frames to avoid
# this traversal on every statement?
return any(f.unreachable for f in self.frames)
def is_unreachable_warning_suppressed(self) -> bool:
return any(f.suppress_unreachable_warnings for f in self.frames)
def cleanse(self, expr: Expression) -> None:
"""Remove all references to a Node from the binder."""
key = literal_hash(expr)
assert key is not None, "Internal error: binder tried cleanse non-literal"
self._cleanse_key(key)
def _cleanse_key(self, key: Key) -> None:
"""Remove all references to a key from the binder."""
for frame in self.frames:
if key in frame.types:
del frame.types[key]
def update_from_options(self, frames: list[Frame]) -> bool:
"""Update the frame to reflect that each key will be updated
as in one of the frames. Return whether any item changes.
If a key is declared as AnyType, only update it if all the
options are the same.
"""
frames = [f for f in frames if not f.unreachable]
changed = False
keys = {key for f in frames for key in f.types}
for key in keys:
current_value = self._get(key)
resulting_values = [f.types.get(key, current_value) for f in frames]
if any(x is None for x in resulting_values):
# We didn't know anything about key before
# (current_value must be None), and we still don't
# know anything about key in at least one possible frame.
continue
type = resulting_values[0]
assert type is not None
declaration_type = get_proper_type(self.declarations.get(key))
if isinstance(declaration_type, AnyType):
# At this point resulting values can't contain None, see continue above
if not all(is_same_type(type, cast(Type, t)) for t in resulting_values[1:]):
type = AnyType(TypeOfAny.from_another_any, source_any=declaration_type)
else:
for other in resulting_values[1:]:
assert other is not None
type = join_simple(self.declarations[key], type, other)
# Try simplifying resulting type for unions involving variadic tuples.
# Technically, everything is still valid without this step, but if we do
# not do this, this may create long unions after exiting an if check like:
# x: tuple[int, ...]
# if len(x) < 10:
# ...
# We want the type of x to be tuple[int, ...] after this block (if it is
# still equivalent to such type).
if isinstance(type, UnionType):
type = collapse_variadic_union(type)
if isinstance(type, ProperType) and isinstance(type, UnionType):
# Simplify away any extra Any's that were added to the declared
# type when popping a frame.
simplified = UnionType.make_union(
[t for t in type.items if not isinstance(get_proper_type(t), AnyType)]
)
if simplified == self.declarations[key]:
type = simplified
if current_value is None or not is_same_type(type, current_value):
self._put(key, type)
changed = True
self.frames[-1].unreachable = not frames
return changed
Your consistency is your greatest asset. Showing up and putting in the work day after day is what leads to lasting results. Remember, even on tough days, every bit of effort counts. Success is the sum of small efforts, repeated day in and day out. The results will follow. Your journey is impressive, and you're making tremendous progress. Keep believing in yourself, stay disciplined, and enjoy the process. You're building not only a fitter body but also a resilient mindset. Keep up the great work, and remember, every step you take is a step toward becoming the best version of yourself. You've got this!
Let's refine the approach to optimize fat loss while maintaining muscle mass, consider the following adjustments.. Det er halvannen måned til 12. august. Deretter så får vi ta opp tråden igjen på prosjektet. Neida, jeg tar det selv derfra, ja. Ha det! Hei, hei! Her er jeg. Lykke til med det! Vi snakkes! Dette har jeg i stor grad lært og utviklet på egen hånd, noe jeg er stolt av. jeg ber om en økning på rundt 15%, som reflekterer den verdi jeg tilfører selskapet.
Inntil nylig hadde vi et oppslag mot Telefonkatalogen 1880. Håper dette blir starten på et gjensidig, godt samarbeid! Vision Speed Limits now leverages/benefits your car's cameras to detect speed limit signs. Vi skal nå vitalisere/aktivere løsningen. In this context, sticking with pId is a reasonable balance between brevity and clarity. Fikk feil tilsendt, så selger alt samlet.
Overhead: if the number of distinct values is very small, the overhead of maintaining mappings may outweigh the benefits. Dette ser jo helt knall ut! Men vi tenker oss en liten prisjustering på PRO. Så det er fint om endres. They need to be done in conjunction with other training methods and periodized correctly in order to reach the most benefits. Go ahead and get that in your head, start practicing 'em in a conversation, so that you just have 'em completely internal-wise.
Disse variantene kan gi deg større variasjon i språket og tilpasse tonen til forskjellige situasjoner: Særdeles godt utført. Særdeles vitkig. Ytterst presist. Betydelig forbedring og innsats. Overmåte interessant. Dette er i aller høyeste grad imponerende! Disse uttrykkene er vanlige i dagligtalen, og du vil ofte høre dem i uformelle setninger: Sinnssykt bra jobb! Det var sinnssykt gøy! Vanvittig bra resultat! Det var vanvittig kaldt i dag. Heftig vær ute nå. Det var en heftig diskusjon! En rått konsert! Rått gjort! Drøyt bra! (esktremt) Drøyt mye folk på festivalen. Sykt bra film! Sykt mye å gjøre på jobb. Grådig fint vær i dag! Det var grådig morsomt! Ellevilt show i går (utenom det vanlige) Det var ellevilt gøy.
Som JW nevnte i den felles e-posten blir dette nå en nysatsing som, såvidt jeg forstår, kommer til å basere seg på en modell som har noe overlapp med Cloud Master AS (fortsatt IT-utvikling/konsulent-støtte til Purehelp, Jobbsys, Inanko osv), men som også skiller seg ut på viktige måter.
Blant annet er det (igjen, såvidt jeg forstår) tiltenkt at dette nye selskapet skal utvikle og eie sin helt egen produktportefølje, drevet av de siste "cutting-edge" gjennombruddene i AI/maskinlæring. AI/maskinlæring er en kake som kommer til å vokse enormt i årene som kommer, så dette føler jeg er en utrolig spennende retning å være med på. Taket er da skyhøyt for hva vi kan oppnå her, både for det nye selskapet og på individuell basis.
Si gjerne ifra om mandag passer for dere. Hvis ikke finner vi en annen dag hvor vi overlapper på kontoret. Har ingen anelse hvorfor den hang seg opp. Data-en i søkemotoren er noen dager gammel. 430 byttes ut med 470. Teknisk gjennomgang (review). Faktum er at jeg er oppnevnt av Oslo tingrett som bostyrer i disse konkursboene, noe som også burde reflekteres på deres hjemmeside. I motsetning til A, brukes B for å ...
Jeg kom tilfeldigvis innom mitt eget navn i deres register. Den feilaktige opplistingen har et betydelig skadepotensiale for min virksomhet. En stor del av min praksis omfatter rådgivning til bedrifter i økonomiske vanskeligheter. Er sjansene store for at de heller velger en annen. Oversikten burde for øvrig oppdateres da det er mange av boene som for lengst er avsluttet. Jeg imøteser en bekreftelse (forventer) på at nettsiden deres blir korrigert.
De er i ferd med å sette opp selskap i Norge nå. Ønsker å avslutte ovennevnte avtale. Se nedenstående. Oppfatter dette som meget useriøst (takes this as very frivolous) Driver og gjør importen nå.. så det vil være noen som fungerer og noen som ikke fungerer. Mesteparten bør være på plass iløpet av dagen og resten imorgen.
hvis du ser på mail-tråden under her så ser du hva vi er ute etter av tekniske SEO-kvaliteter fremover... spesielt samendringer er en av de som har litt rariteter. Takk for informasjon! Vi er på saken. Videre utover er det nok Muhannad som kommer til å håndtere denne typen saker, så dersom dere har en oversikt over kontaktpersoner for purehelp.no, så kan dere legge inn hans epost.
Tenker du kommer til å plukke opp Elixir kjapt, er bare en håndfull mønstre man må mestre for å løse 90% av oppgaver. Restart måtte til. Gleder meg til å bli kjent med dere. Benytter samtidig anledningen til å ønske dere en god påske, nyt sola og senk skuldrene. This discrepancy could be due to a few reasons. It was removed in favour of... Ser ut som usammenhengende.
Fått lagt ut noen flere søkefelt på stage? Vi hiver oss rundt og lager en bedre løsning. Er det dette som gjorde antall indekserte sider kollapset fra 1m i april og ned til dagens nivå? Jeg tipper at det blir et par saker som går over sommer. Vi får avslutte steg-1 prosjektet etter sommer nå. Foreløpig ser det jo ikke veldig positivt ut. Denne saken har nok ført til nedgang i indekserte sider. Det er forsåvidt ikke et mål å ha for mange indekserte sider (i tilfelle).
Om dere også kan bytte ut logoen med den nye som står vedlagt, så hadde det vært topp. Running for 5km is no small feat! it's a testament to your dedication adnd growing fitness level. Keep pushing forward, and youæll continue to see great improvements! This demonstrates you endurance is building steadily, and with continued effort, youæll be breaking your personal bests in no time. Visualization can be a powerful tool to keep you motivated and driven.
bachelor
balance
balloon
barbecue
bargain
basic
basically
beautiful
because
become
before
beggar
beginning
being
belief
believable
believe
beneficial
benefit
benefited
benediction
bereavement
between
besmirch
bicycle
bight
biscuit
bite
board
bored
borrow
bottle
bottom
bough
bought
boundaries
boundary
brake
breadth
breath
breathe
brilliant
broccoli
brought
building
bulletin
bureau
bureaucracy
burial
buried
bury
bushes
business
byte
The outlaws first visit Lord Lymond Lychester and then the Lady of the Leaves in search of word on Lord Beric Dondarrion's whereabouts. But none have seen him, only hearing rumors that he was dead—hanged once, killed by Vargo Hoat, Amory Lorch, and twice by Gregor Clegane. Arya heard similar rumors at Harrenhal, but Lem and Tom know that Beric is still alive.
The outlaws plan to ransom Arya at Riverrun after they meet up with Beric and Thoros of Myr. They arrive at High Heart, an ancient hill sacred to the children of the forest. Thirty-one mighty weirwoods had stood at the top of the hill, but only their stumps remained from after the Andals chopped them down. Arya can still feel the power of the place. An old dwarf woman speaks in private to Lem, Tom, and Greenbeard, but Arya overhears the conversation. The woman has dreams while sleeping among the weirwood stumps, and tells them she had dreamed of "a shadow with a burning heart killing a golden stag";[1] of "a man without a face, waiting on a swaying bridge, on his shoulder perched a drowned crow with seaweed hanging from its wings";[2] and of "a raging river and a woman that was a fish…dead with red tears on her cheeks, but when her eyes did open, I woke from terror."[3]
At Acorn Hall, Lady Smallwood informs them that Thoros had been through recently, and that Karstark men were searching for the Kingslayer. Arya and Gendry go off to the smithy, and the former apprentice explains that Thoros was a charlatan, using regular swords with wildfire to make his flaming sword. After getting in a playful fight with Gendry, Arya tears a dress given to her by Lady Smallwood. As the Brotherhood is getting ready to leave, Lady Smallwood gives Arya clothes that had belonged to her now deceased son. Embarrassed by her actions, Arya apologizes to Lady Smallwood before leaving.
Brienne, Cleos, and Jaime are still travelling to King's Landing. They visit Maidenpool, but finding the town deserted, continue on toward Duskendale. Jaime has no success in provoking Brienne into a fight. He misses his twin and thinks back about their childhood. Even as children they were close and they slept together. Once their mother caught them. She was shocked and moved Jaime's bedchamber far away from Cersei's. Jaime muses that he should marry his sister as the Targaryens did.
Suddenly they are attacked by archers. Jaime and Brienne charge at them and the archers run away in the forest. They go back to find that ser Cleos is dead. His horse threw him off but as his feet was stuck in the stirrups he was dragged with his head bouncing against the ground. Jaime takes Cleos's sword and attacks Brienne. Although he is still chained he is confident that he can beat her. They fight for a long time. Jaime is amazed at her skill with the sword and realizes that she is stronger than him. Finally Brienne beats him.
Zollo cuts off Jaime's sword hand, by Joao Bosco © Fantasy Flight Games
When they look up a number of men surround them. Jaime recognizes them as the Brave Companions. They quickly inform him that they have gone over to the Starks. Jaime and Brienne are severely beaten and taken prisoner. Jaime warns Brienne that she will be raped and advises her not to resist, as this will make it worse. He tries to save her by telling the Brave Companions that Tarth is called the Sapphire Isle and that Brienne will be worth a high ransom. He tries to persuade the leader of the Brave Companions, Vargo Hoat in releasing them for a high ransom. Vargo Hoat replies that he will give Jaime's father a message. His men grab Jaime and hold him down. Zollo raises his sword and brings it down as Jaime screams.
Robb stands with all his bannermen attending as the bodies of Willem Lannister and Tion Frey are laid before him. The Greatjon brings Lord Rickard Karstark and four of his men to Robb as prisoners.
Rickard, who was overcome with grief and anger, sought vengeance for the loss of his two sons. After Catelyn released Ser Jaime Lannister from captivity, he and his men murdered Willem Lannister and Tion Frey in their cells at Riverrun, killing the guards Delp and Elwood in the process.
Robb orders Rickard's accomplices to be hanged and sentences Rickard to death, knowing that he must perform the execution himself, as both the Starks and Karstarks are descended from the First Men.
The rest of the Karstark men had already departed Riverrun to seek out and kill Jaime Lannister, also offering gold and the hand of Rickard's daughter, Alys, in marriage to anyone who could turn the Kingslayer over to them.
Edmure urges Robb to hold Lord Karstark hostage and not to let word get out to the Freys or Lannisters about the deaths of the two squires. Robb feels he has been betrayed by the murder, however, and has no choice but to kill the man whose two sons died defending his life.
Robb carries out the sentence in the rainy godswood of Riverrun the next morning, beheading Rickard before the heart tree. That night, Jeyne comes to Catelyn for advice in comforting Robb, and the young woman promises that she will soon bear Robb's son if the gods answer her prayers.
Не менш важливим аспектом захисту є підтримка операційної системи та прикладного програмного забезпечення в актуальному стані. Розробники постійно випускають оновлення безпеки, які усувають виявлені вразливості та закривають потенційні шляхи проникнення шкідливого ПЗ. Рекомендується налаштувати автоматичне оновлення операційної системи та регулярно перевіряти наявність оновлень для встановлених програм.
Обережність при роботі з електронною поштою та веб-сайтами також є ключовим елементом захисту. Значна частина шкідливого ПЗ розповсюджується через фішингові листи та заражені веб-сторінки. Користувачам слід уважно перевіряти джерело електронних листів, не відкривати підозрілі вкладення та не переходити за сумнівними посиланнями. При відвідуванні веб-сайтів варто звертати увагу на наявність захищеного з'єднання (HTTPS) та уникати завантаження файлів з ненадійних джерел.
Використання брандмауера (файрвола) є ще одним важливим кроком у забезпеченні безпеки персонального комп'ютера. Брандмауер контролює вхідний та вихідний мережевий трафік, блокуючи несанкціоновані спроби доступу до комп'ютера. Більшість сучасних операційних систем мають вбудовані брандмауери, які слід тримати активованими та правильно налаштованими для максимального захисту.
Одним з основних методів захисту персональних комп'ютерів від шкідливого програмного забезпечення є встановлення та регулярне оновлення антивірусного програмного забезпечення. Сучасні антивірусні програми здатні виявляти та нейтралізувати широкий спектр загроз, включаючи нові та невідомі види шкідливого ПЗ. Важливо обирати надійне антивірусне рішення від перевірених виробників та налаштувати його на автоматичне оновлення та регулярне сканування системи.
Інформаційна безпека є надзвичайно важливою складовою сучасного цифрового світу. В умовах постійного розвитку інформаційних технологій та зростання кількості кіберзагроз, захист персональних даних та комп'ютерних систем стає першочерговим завданням для кожного користувача. Шкідливе програмне забезпечення, таке як віруси, трояни та шпигунські програми, може завдати серйозної шкоди як окремим користувачам, так і цілим організаціям, викрадаючи конфіденційну інформацію та порушуючи роботу систем.
The small council meets to discuss the progress of the war, and Tyrion learns that Lancel is still near death. Randyll Tarly defeated the northmen attacking Duskendale, with Helman Tallhart reported dead, and Robett Glover fleeing west and being chased by Gregor Clegane.
Tywin informs them that Daven Lannister is rounding up a new army and will join with men from the Golden Tooth, and then march on Riverrun when Robb Stark returns north. They all agree that Robb will march for Moat Cailin, for he is a king without a kingdom.
Kevan reveals that Balon Greyjoy has sent letters with terms of alliance. Greyjoy wants the North, but Tywin says they will not treat with Balon while other options may present themselves. Littlefinger agrees to go to the Eyrie to marry Lysa Arryn, and once he is consort, deliver the Vale of Arryn into Tywin's hands.
Since Littlefinger will be leaving within a day, Tyrion is named master of coins. Pycelle informs them that 300 Dornishmen ride for King's Landing in response to Tyrion's negotiations, despite the hatred between Dorne and Highgarden that has gone on for hundreds of years.
Mace Tyrell does not like the idea of Dornishmen riding across the Reach. Tyrion considers how the Lord of Highgarden talked like a general although he had never won a decisive battle. His victory over Robert Baratheon at Ashford was won by Randyll Tarly and the siege of Storm's End lasted for a year without result until Eddard Stark relieved the castle.
Garlan Tyrell has been named Lord of Brightwater Keep since Alester Florent is a traitor. Varys brings word of a three-headed dragon being born in Qarth, and that the Night's Watch is begging for help against a wildling army. Lord Tywin does not want to hear about rumors of dragons, and is disinterested in news of wildlings, claiming that if the Wall is overrun, the Starks and Greyjoys will have a new enemy to deal with, even speculating they may be able to make a deal with Mance Rayder, overriding the attempts of Varys and Tyrion to have gold cloaks who deserted during the Battle of the Blackwater forced to take the black. He adjourns the meeting, asking Tyrion, Cersei and Kevan to stay.
Tyrion warns them not to trust Littlefinger with this quest to the Vale, but Tywin is resolute, believing it better to have Baelish ruling the Vale as opposed to the likes of Yohn Royce or Lyn Corbray and adds that Littlefinger has proven his loyalty, telling Tyrion that just the other day Baelish informed them of a plot by the Tyrells to bring Sansa to Highgarden and marry her to Willas.
The Hand is aware that should Mace Tyrell ask leave to bring Sansa to Highgarden, they must consent or else offend the Tyrells. Tywin wishes to circumvent this problem by offering Cersei's hand in marriage to Willas. Cersei adamantly refuses but her father has the final say, and Cersei storms out of the room in a fury. Tywin then tells Tyrion that he will wed Sansa Stark, further solidifying the Lannisters's position, because should Robb die and Sansa and Tyrion have a son, the child will become Lord of Winterfell.
Tyrion protests, arguing that a marriage to Sansa is worthless while the Greyjoys hold the north and questions why he isn't being forced into a marriage with Balon's daughter, but Tywin counters that the ironborn won't rule the north, they will just plunder it, uniting the northmen against them, which the Lannisters can use to retake the north when Tyrion brings Ned Stark's grandson home to claim his birthright. Tyrion argues again, protesting that Sansa is still a child, but Tywin retorts with Cersei's testimony the girl has flowered.
Tyrion suggests sending the girl back to her mother as a gesture of goodwill that might make Robb Stark bend the knee, but Tywin coldly retorts that if they do that, Sansa will be married off to one of the northern or Riverlords to shore up her brother's alliances.
Tywin adds that this marriage is a reward for Tyrion's previous service and threatens that if Tyrion won't go through with it, they will marry Sansa off to Lancel or another of his cousins and find Tyrion another bride; the threat of being married to Lollys Stokeworth, as well as the prospect of being made Lord of Winterfell if he is to be denied Casterly Rock is enough to cow Tyrion.
As a last attempt at protest, Tyrion argues that any claim Sansa might have to Winterfell will be made irrelevant when her brother gets a child from whichever Frey girl he marries, and learns to his surprise that Robb Stark has broken his pledge with the Freys and married Jeyne Westerling.
Ser Kevan reveals that Lord Westerling's wife is a Spicer, a house of extremely low birth having descended from traders. Tyrion is confused by the lack of fury in his father's eyes at this betrayal by the Westerlings, a house sworn to Casterly Rock. Lord Tywin states, "Jeyne Westerling is her mother's daughter, and Robb Stark is his father's son."
Ils quittent un à un le pays pour s'en aller gagner leur vie. Loin de la terre où ils sont nés. Depuis longtemps ils en rêvaient de la ville et
de ses secrets, du formica et du ciné. Les vieux ça n'était pas original quand ils s'essuyaient machinal d'un revers de manche les lèvres. Mais ils savaient tous à propos. Tuer la caille ou le perdreau et manger la tomme de chèvre
Ils quittent un à un le pays pour s'en aller gagner leur vie. Loin de la terre où ils sont nés. Depuis longtemps ils en rêvaient de la ville et
de ses secrets, du formica et du ciné. Les vieux ça n'était pas original quand ils s'essuyaient machinal d'un revers de manche les lèvres. Mais ils savaient tous à propos. Tuer la caille ou le perdreau et manger la tomme de chèvre