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 nave Pathfinder da NASA aterrou na superfície de Marte, e começou a transmitir imagens incríveis para a Terra. Mas alguns dias depois, ocorreu uma coisa terrível. As transmissões pararam. O Pathfinder estava, de facto, a falhar, mantendo-se ocupado, mas falhando a sua missão mais importante.
What was going on? There was a bug, it turned out, in its scheduler.
O que se passava? Ao que parece, havia um erro no planificador.
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.
Todos os sistemas operativos têm o que se chama um planificador que diz ao CPU quanto tempo deve demorar em cada tarefa antes de mudar e para qual deve mudar. Feito corretamente, os computadores movimentam-se tão bem entre tarefas, que dão a ilusão de fazerem tudo em simultâneo. Mas todos sabemos o que acontece quando as coisas correm mal.
This should give us, if nothing else, some measure of consolation. Even computers get overwhelmed sometimes.
De certa forma, deve servir-nos de consolo que, por vezes, até os computadores ficam sobrecarregados.
Maybe learning about the computer science of scheduling can give us some ideas about our own human struggles with time.
Aprender a ciência da planificação informática talvez nos possa elucidar sobre a nossa luta contra o tempo.
One of the first insights is that all the time you spend prioritizing your work is time you aren't spending doing it.
Uma das primeiras impressões é que todo o tempo que gastamos a estabelecer prioridades no trabalho
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.
é tempo que não passamos a fazer essas tarefas. Por exemplo, quando vemos a caixa do correio, vemos todas as mensagens e escolhemos a mais importante. Depois de tratarmos dela, repetimos tudo de novo. Parece razoável, mas há 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.
Isto é conhecido por algoritmo de tempo quadrático. Com uma caixa de correio cheia, esta operação demora o dobro do tempo e precisamos de fazer o dobro disso! Isto significa que o trabalho quadruplica.
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 operativo Linux descobriram um problema semelhante em 2003. O Linux classificava cada uma das tarefas por ordem de importância, e, por vezes, passava mais tempo a classificar as tarefas do que a fazê-las. A solução contraintuitiva do programador era substituir toda esta classificação por um número limitado de "pacotes" prioritários. O sistema era menos preciso sobre o que fazer a seguir mas compensava ao passar mais tempo a progredir.
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.
Em relação aos "emails", insistir em fazer a coisa mais importante primeiro podia levar ao colapso. Acordar com uma caixa de correio três vezes mais cheia que o normal podia demorar nove vezes mais a limpar. É melhor responder cronologicamente ou até de forma aleatória! Às vezes, desistir de fazer algo por uma ordem perfeita pode ser a chave para as conseguir fazer.
Another insight that emerges from computer scheduling has to do with one of the most prevalent features of modern life: interruptions.
Outra conclusão que surge da programação do computador relaciona-se com uma das características mais frequentes da vida moderna:
When a computer goes from one task to another, it has to do what's called a context switch,
as interrupções. Quando um computador passa de uma tarefa para outra,
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.
tem que fazer o que se chama uma mudança de contexto, marcando o seu lugar numa tarefa, retirando os dados antigos da memória e inserindo novos dados. Cada uma destas 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 é que há uma troca fundamental entre produtividade e capacidade de resposta. Fazer um trabalho sério significa minimizar as trocas de contextos. Mas ter capacidade de resposta significa reagir quando algo surge. Estes dois princípios estão essencialmente em conflito.
Recognizing this tension allows us to decide where we want to strike that balance.
Reconhecer este conflito permite-nos decidir onde queremos colocar 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 óbvia é minimizar as interrupções. A solução menos óbvia é agrupá-las. Se nenhuma notificação ou "email" requer uma resposta, mais urgente do que, digamos, uma vez por hora, então é essa a frequência com que devem ser vistas, mais vezes não.
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.
Em informática, esta ideia chama-se interrupção coalescente. Em vez de lidar com as coisas à medida que vão surgindo: "Oh, mexeram no rato?" "Carregaram numa tecla?" "Outro ficheiro instalado?" o sistema agrupa estas interrupções baseando-se no tempo em que podem ser adiadas.
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 trouxe enormes melhorias na duração da bateria dos portáteis, porque adiar as interrupções permite que o sistema verifique tudo de uma só vez, para rapidamente voltar a um estado de baixo consumo da bateria.
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.
Tal como com os computadores, isto também nos acontece. Talvez, a adoção de uma abordagem semelhante, permita que os utilizadores, possam recuperar a atenção e recuperar uma das coisas cada vez mais rara nos tempos modernos: