[„Podle toho, jak trávíme dny, strávíme samozřejmě i svůj život.“] V létě roku 1997 přistála planetární sonda Pathfinder z NASA na povrchu Marsu a začala přenášet neuvěřitelné, ikonické fotografie zpátky na Zem. Ale o několik dní později se něco strašně pokazilo. Přenos skončil. Pathfinder ve skutečnosti prokrastinoval: byl pořád plně vytížený, ale svou nejdůležitější práci nezvládal.
In the summer of 1997, NASA's Pathfinder spacecraft landed on the surface of Mars, and began transmitting incredible, iconic images back to Earth. But several days in, something went terribly wrong. The transmissions stopped. Pathfinder was, in effect, procrastinating: keeping itself fully occupied but failing to do its most important work.
Co se stalo? Zjistilo se, že má chybu v plánovači.
What was going on? There was a bug, it turned out, in its scheduler.
Každý operační systém má něco, čemu se říká plánovač, který říká CPU, jak dlouho má pracovat na každém úkolu, než se přepne na další, a na který se má přepnout. Pokud je navržen správně, počítače plynule plní svoje různé odpovědnosti a navenek působí, jako by vše dělaly naráz. Ale všichni víme, co se stane, když se něco pokazí.
Every operating system has something called the scheduler that tells the CPU how long to work on each task before switching, and what to switch to. Done right, computers move so fluidly between their various responsibilities, they give the illusion of doing everything simultaneously. But we all know what happens when things go wrong.
Když nic jiného, tímhle bychom se mohli aspoň trochu utěšovat. I počítače mohou být občas přepracované.
This should give us, if nothing else, some measure of consolation. Even computers get overwhelmed sometimes.
Možná se můžeme z počítačové vědy o plánování poučit a získat nějaké nápady, jak se sami můžeme popasovat s časem.
Maybe learning about the computer science of scheduling can give us some ideas about our own human struggles with time.
Prvním poznatkem je to, že stanovování priorit nás obírá o čas, který jsme měli trávit prací. Například, když si kontrolujete poštu, procházíte všechny e-maily a vybíráte, který je nejdůležitější. Jakmile ho najdete, hledáte další. Zdá se to smysluplné, ale má to háček.
One of the first insights is that all the time you spend prioritizing your work is time you aren't spending doing it. For instance, let's say when you check your inbox, you scan all the messages, choosing which is the most important. Once you've dealt with that one, you repeat. Seems sensible, but there's a problem here.
Říká se mu algoritmus kvadratického času. Máte-li ve schránce dvakrát tolik e-mailů, zaberou porovnávání dvakrát tolik času a budete jich muset udělat dvakrát tolik! To znamená čtyřnásobnou práci.
This is what's known as a quadratic-time algorithm. With an inbox that's twice as full, these passes will take twice as long and you'll need to do twice as many of them! This means four times the work.
Programátoři operačního systému Linux se setkali se stejným problémem v roce 2003. Linux ohodnotil každý úkol podle důležitosti a někdy strávil více času hodnocením úkolů, než jejich plněním. Programátoři oproti běžné praxi nahradili kompletní vyhodnocování omezeným počtem „prioritních košů“. Tento systém neurčoval tak přesně, co dělat dřív, ale místo toho mu zbylo více času na zpracovávání úkolů.
The programmers of the operating system Linux encountered a similar problem in 2003. Linux would rank every single one of its tasks in order of importance, and sometimes spent more time ranking tasks than doing them. The programmers’ counterintuitive solution was to replace this full ranking with a limited number of priority “buckets.” The system was less precise about what to do next but more than made up for it by spending more time making progress.
Takže, co se týče e-mailů, trvat vždy na vyřešení toho nejdůležitějšího vás může dovést až ke zhroucení. Zpracování schránky třikrát plnější než normálně může trvat devětkrát déle. To už by bylo lepší odpovídat chronologicky nebo v náhodném pořadí! Když oželíte dělání věcí v dokonalém pořadí, může to být překvapivě klíčem k jejich dokončení.
So with your emails, insisting on always doing the very most important thing first could lead to a meltdown. Waking up to an inbox three times fuller than normal could take nine times longer to clear. You’d be better off replying in chronological order, or even at random! Surprisingly, sometimes giving up on doing things in the perfect order may be the key to getting them done.
Další poznatek, který se odvíjí od plánování v počítači, má co do činění s převládajícím rysem moderního života: vyrušováním.
Another insight that emerges from computer scheduling has to do with one of the most prevalent features of modern life: interruptions.
Když počítač přechází z jednoho úkolu na druhý, musí takzvaně přepnout kontext, označit místo v jednom úkolu, přesunout stará data z paměti a nová data do paměti. Každá z těchto akcí něco stojí.
When a computer goes from one task to another, it has to do what's called a context switch, bookmarking its place in one task, moving old data out of its memory and new data in. Each of these actions comes at a cost.
Jde tu o důležitý kompromis mezi produktivitou a responzivností. Dokončit důležitou práci znamená minimalizovat počet přepnutí kontextu. Být responzivní znamená reagovat kdykoliv se něco stane. Tyto dva principy vyvolávají napětí.
The insight here is that there’s a fundamental tradeoff between productivity and responsiveness. Getting serious work done means minimizing context switches. But being responsive means reacting anytime something comes up. These two principles are fundamentally in tension.
Uvědomění si tohoto napětí nám umožňuje rozhodnout, kde chceme dosáhnout rovnováhy.
Recognizing this tension allows us to decide where we want to strike that balance.
Zřejmým řešením je minimalizovat počet vyrušování. Méně obvyklým řešením je seskupit vyrušení dohromady. Pokud notifikace nebo e-mail nevyžaduje urgentní odpověď častěji než, řekněme, jednou za hodinu, pak přesně tak často bychom je měli kontrolovat, ne častěji.
The obvious solution is to minimize interruptions. The less obvious one is to group them. If no notification or email requires a response more urgently than once an hour, say, then that’s exactly how often you should check them. No more.
V počítačové vědě se tomu říká slučování přerušení. Namísto řešení věcí tak, jak přijdou – Ó, pohla se myš? Někdo zmáčkl tlačítko? Stáhla se další část souboru? – systém slučuje tato přerušení dohromady v závislosti na tom, jak dlouho si mohou dovolit čekat.
In computer science, this idea goes by the name of interrupt coalescing. Rather than dealing with things as they come up – Oh, the mouse was moved? A key was pressed? More of that file downloaded? – the system groups these interruptions together based on how long they can afford to wait.
V roce 2013 umožnilo slučování přerušení velké zlepšení životnosti baterie laptopů. To proto, že pozdržení přerušení umožní systému zkontrolovat vše najednou a poté rychle vstoupit do stavu s nízkou spotřebou.
In 2013, interrupt coalescing triggered a massive improvement in laptop battery life. This is because deferring interruptions lets a system check everything at once, then quickly re-enter a low-power state.
Stejně jako u počítačů je to i s námi. Třeba nám, uživatelům, umožní aplikování stejného přístupu zbavit se roztěkanosti a získat zpátky věc tak vzácnou v moderním životě: odpočinek.
As with computers, so it is with us. Perhaps adopting a similar approach might allow us users to reclaim our own attention, and give us back one of the things that feels so rare in modern life: rest.