Barry O’Reilly’s book Residues: Time, Change, and Uncertainty in Software Architecture introduces Residuality Theory, a new approach to software design rooted in complexity science. The core idea is that systems should be designed not just to handle known risks, but to survive and adapt to unexpected stressors.
The principles in the book can be adapted to ultrarunning:
1. Embrace Uncertainty
• Accept that you can’t predict every challenge (weather, injury, gear failure, unexpected fatigue). Instead of planning for every possible problem, prepare to adapt to whatever arises.
2. Identify Your Residues
• Determine which aspects of your preparation and mindset will survive under stress: mental resilience, basic nutrition strategies, pacing discipline, and the ability to problem-solve.
3. Stress-Test Yourself
• In training, simulate extreme or random scenarios: run in bad weather, practice with limited sleep, test gear failures, and rehearse how you’ll respond to setbacks.
4. Reduce Coupling
• Avoid over-reliance on any single strategy, piece of gear, or plan. Build redundancy: carry backup essentials, have multiple fueling options, and develop mental routines for when things go wrong.
5. Focus on Attractors
• Recognize the states you tend to fall into under stress (panic, negative self-talk, tunnel vision) and develop strategies to shift toward positive attractors (calm focus, problem-solving, gratitude).
6. Stay in the Moment
• Focusing on immediate needs and adapting continuously, rather than rigidly following a pre-set plan.
Summary of Residuality Concepts in ultrarunning:
• Stressors: Injury, weather, gear failure, insects, food.
• Residues: Mental toughness, relentless movement.
• Attractors: Panic, calm focus, problem-solving.
• Incidence Matrix: Mapping stress to body/mind/gear/food.
Pro tips:
• Embrace Uncertainty: Train your mind to expect the unexpected
• Stress-Test Your Mind: Deliberately challenge yourself in training
• Focus on What Survives: Identify your core strengths
• Segment and Adapt: Break the race into small, manageable parts
• Reflect and Learn: After each race or tough training session, review what worked and what didn’t.
Unexpected Stressors to Prepare for in a 200-Mile Race
• Severe Sleep Deprivation: Expect to experience deep fatigue, poor decision-making, and even hallucinations. Your sleep plan will likely need to change during the race.
• Extreme Emotional Highs and Lows: Emotions can swing wildly, with lows feeling overwhelming and highs almost euphoric. Mental resilience is crucial.
• Gear Failures: Items like hydration bladders, shorts, or shoes may break or wear out. Bring backups for critical gear.
• Unpredictable Physical Issues: Beyond common issues like chafing and nausea, be ready for severe blistering, overheating, nosebleeds, and unexpected injuries.
• Nutrition and Hydration Problems: Appetite loss, GI distress, and trouble keeping food down are common. Flexibility in nutrition strategy is key.
• Weather and Environmental Changes: Be prepared for sudden shifts in weather or terrain that can impact your pace and safety.
• Logistical Surprises: Aid station closures, route changes, or crew miscommunications can occur. Adaptability is essential.
• Cognitive Challenges: As fatigue builds, you may struggle with navigation, memory, and simple tasks. Trust your crew and have clear plans for critical decisions.
• Unexpected Pacing Issues: Going out too fast or too slow can have major consequences later in the race. Be ready to adjust your strategy on the fly.
Reducing System Coupling
Reducing system coupling—making sure different parts of a system are less dependent on each other—relates to managing your energy during a 200-mile race by allowing you to adapt more flexibly when things go wrong. If your race plan, nutrition, pacing, and mental strategies are tightly linked (highly coupled), a problem in one area (like stomach issues) can cascade and disrupt everything. By keeping these elements loosely coupled, you can adjust one without causing a breakdown in others. For example, if you can’t eat solids, you can switch to liquids without panicking or losing pace; if you need to slow down, your mental strategy can shift to focus on short-term goals rather than overall time. This modular approach helps conserve energy and maintain resilience throughout the race, even when unexpected stressors arise.
Key points when applying to a 200-Mile Ultramarathon
• Embrace Uncertainty and Adaptation: Just as architectures must survive unpredictable collapses, ultramarathon runners must expect plans to fail—weather changes, fatigue, nutrition issues, or mental lows will occur. Prepare to adapt on the fly, rather than relying on a single rigid race plan.
• Focus on Resilience, Not Perfection: Train to handle adversity, not just to run fast. Include sessions that simulate race-day chaos—sleep deprivation, unexpected terrain, or nutrition problems—to build “crumple zones” in your mental and physical preparation.
• Continuous Learning and Adjustment: After setbacks in training or races, analyze what failed and adjust your approach, just as O’Reilly suggests observing system collapses to improve architecture. Each race or long run becomes a “residue” that informs future strategies.
• Humility and Pessimism: Accept that you can’t predict every challenge in a 200-mile race. Approach the event with humility, anticipating that things will go wrong and planning how to respond, rather than trying to control every variable.
• Think for Yourself: Avoid copying others’ strategies blindly. Adapt training and race tactics to your unique context, needs, and experiences, as O’Reilly recommends for architects.
By internalizing these principles, you’ll be better equipped to handle the inevitable unpredictability and adversity of a 200-mile ultramarathon—thriving not because everything goes right, but because you’re ready when things go wrong.