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.
No verão de 1997, a espaçonave Pathfinder, da NASA, aterrissou na superfície de Marte, e começou a transmitir imagens incríveis e icônicas para a Terra. Mas dias depois, algo terrível aconteceu. As transmissões foram interrompidas. Na verdade, Pathfinder estava procrastinando: se mantendo totalmente ocupada, mas falhando no trabalho mais importante.
What was going on? There was a bug, it turned out, in its scheduler.
O que estava acontecendo? Acontece que havia um vírus no seu escalonador.
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.
Todo sistema operacional tem o que chamamos de escalonador, que informa à CPU o tempo que deve dedicar a cada tarefa antes de passar para outra e para qual deve passar. Normalmente, os computadores alternam suas várias obrigações de forma tão fluida que criam a ilusão de fazer tudo simultaneamente. Mas todos nós sabemos o que acontece quando as coisas dão errado.
This should give us, if nothing else, some measure of consolation. Even computers get overwhelmed sometimes.
Isso poderia ser um prêmio de consolação para nós. Até mesmo os computadores podem ficar sobrecarregados.
Maybe learning about the computer science of scheduling can give us some ideas about our own human struggles with time.
Talvez aprender sobre a ciência do escalonamento possa nos dar algumas ideias
One of the first insights is that all the time you spend prioritizing your work
sobre os problemas que os humanos têm com o tempo.
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.
Uma das primeiras ideias é que todo o tempo que gastamos priorizando o trabalho não está sendo usado para realizá-lo. Suponhamos que ao verificar sua caixa de entrada você analise todas as suas mensagens, selecione a mais importante, responda essa mensagem e repita o processo. Parece sensato, mas tem um problema.
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.
É o que chamamos de algoritmo de tempo quadrático. Com uma caixa de entrada com o dobro de mensagens, esses passos levarão o dobro do tempo e você terá que fazer o dobro do mesmo processo! Isso significa fazer a mesma coisa quatro vezes.
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.
Os programadores do sistema operacional Linux encontraram um problema similar em 2003. O Linux colocava cada uma de suas tarefas em ordem de importância, e às vezes gastava mais tempo ordenando as tarefas do que as executando. A solução encontrada pelos programadores foi substituir esse ordenamento por um número limitado de cestos de prioridades. O sistema era menos preciso sobre o que fazer na sequência, mas mais do que compensou por isso gastando tempo fazendo progresso.
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.
Assim, quanto aos e-mails, insistir em sempre fazer o mais importante primeiro pode nos levar a um colapso. Organizar uma caixa de entrada três vezes mais cheia do que o normal pode levar nove vezes mais tempo para limpá-la. O melhor seria responder em ordem cronológica ou até mesmo aleatória! Surpreendentemente, às vezes, deixar de fazer as coisas em uma ordem perfeita pode ser a melhor forma de fazê-las.
Another insight that emerges from computer scheduling has to do with one of the most prevalent features of modern life: interruptions.
Outra ideia oriunda do escalonamento de computadores tem a ver com uma das maiores questões da vida moderna: interrupções.
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.
Quando um computador passa de uma tarefa para outra ocorre a chamada mudança de contexto, marcando onde parou de executar a tarefa, tirando da sua memória dados antigos e inserindo novos. Cada uma dessas ações tem um custo.
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.
A ideia aqui é que existe uma troca fundamental entre produtividade e capacidade de resposta. Terminar tarefas críticas significa minimizar a troca de contextos. Mas ser responsivo significa reagir a todo momento. Esses dois princípios estão basicamente em tensão.
Recognizing this tension allows us to decide where we want to strike that balance.
Reconhecer essa tensão nos permite decidir onde queremos atingir esse equilíbrio.
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.
A solução mais óbvia é minimizar as interrupções. A menos óbvia é agrupá-las. Se não há mensagens que exigem resposta em menos de uma hora, então é exatamente com essa frequência que devemos checá-las; não mais do que isso.
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.
Na ciência da computação, essa ideia é chamada de interrupção coalescente. Mais do que lidar com as coisas conforme aparecem: o mouse foi movido? Apertou uma tecla? Baixou um arquivo? O sistema agrupa essas interrupções baseado em quanto tempo elas podem esperar.
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.
Em 2013, a interrupção coalescente desencadeou uma melhoria massiva na vida útil da bateria dos laptops. Isso porque evitar interrupções permite que um sistema verifique tudo de uma vez, retornando rapidamente ao modo de economia de energia.
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.
Ocorre conosco o mesmo que ocorre com os computadores. Talvez adotar uma abordagem similar permita que nós, usuários, recuperemos a atenção, e nos devolva uma das coisas mais raras na vida moderna: o descanso.