Arquivo da categoria: Tutorial

Uma lista de tarefas é suficiente | Life Method

Print

Voltar para o índice.

Se a sua vida é organizada de forma simples e você ainda resiste bravamente a abrir mão da simplicidade, mesmo tendo que enfrentar o mundo complexo à sua volta, uma lista simples de tarefas é suficiente. As tarefas entram na sua lista, como numa lista de compras, você as executa e marca como completadas ou, simplesmente as apaga depois de prontas. Como numa lista de compras. Não vamos debater com você sobre isto ser insuficiente na maioria dos casos. No post Escala versus complexidade há uma citação que reproduzo abaixo que expressa bem o problema:

[…] existe uma lei universal e sagrada dos sistemas complexos: “a complexidade de um sistema realizando uma tarefa deve ser tão grande quanto a complexidade da tarefa”.

Mas vamos deixar isto prá lá por enquanto. A sua vida é simples, não?

Uma lista simples é o que oferecem as várias ferramentas de To Do List que existem por aí. Nós vamos usar a Web. Nossa escolha inicial é usar o Google Calendar para fazer a nossa lista. Para manter a coisa um pouco mais manejável vamos renomear o nosso calendário default oferecido pela Google para Inbox. Por que não To Do List? Poderia ser mas queremos começar usando um nome que vamos manter depois. Vamos também criar outro calendário com o nome Done (Veja como em Criar uma nova agenda).

Nota: Para manter os calendários nesta ordem, Inbox e Done, use algum truque baseado em prefixos que você achar melhor.

Mas uma lista de tarefas num calendário não viola a função precípua de um calendário que é agendar compromissos com data e hora para ocorrer? Por que escolhemos o Google Calendar? Bem, o Google Calendar é rápido, funciona bem no celular (é rápido nele também), pode ter facilmente os seus calendários compartilhados na sua totalidade ou para eventos específicos, e tem capacidade offline e sincronização razoáveis.

Mas como vamos conviver com tarefas com data e hora ou somente data (eventos All Day no Google Calendar)? Bem, se são tarefas podemos evitar estabelecer uma hora para executá-las. Criamos eventos All Day para representá-las. Mas ainda assim vamos ter que voltar no tempo para a sua data de criação para que elas apareçam. Mesmo voltando para a data das tarefas ainda teremos que clicar no alto do calendário para ver os eventos All Day. Se estivermos considerando todas as nossas tarefas ASAP o fator temporal é irrelevante. Podemos deixar as tarefas onde elas foram criadas e usar o botão Agenda para ver a lista. Para localizar a data quando foi criado o primeiro evento podemos usar o botão Month. Então, vendo a nossa lista com o botão Agenda podemos começar a executar as tarefas (Todas elas All Day) assim que for possível. Como fazemos com a nossa lista de compras. Quando formos à rua fazemos as compras. Quando tivermos tempo e energia executamos as nossas tarefas. De cima para baixo ou em outra ordem com uma prioridade que está pairando na nossa mente. Cada tarefa executada pode ser eliminada do calendário ou movida para o calendário Done.

Life Method Calendars

O esquema de manejo sugerido acima pode funcionar bem com uma lista simples e não muito grande (e se espera que não cresça muito se você não for dado a uma procrastinação). O calendário não foi projetado para lidar com tarefas e sempre vai haver uma fricção com o nosso uso ad hoc. O uso do calendário desta forma não justifica o esforço. Nos próximos post vamos combinar duas ou três ferramentas Web para o nosso sistema completo para lidar com mais complexidade e dividir o problema.

Introdução | Life Method

Print

Voltar para o índice.

Life Method é um metódico sistema de controle das tarefas que podem alavancar e fazer diferença para a sua vida. Se você não for um pouco metódico ou sistemático o suficiente para organizar sua vida então este método não é para você. Mas a carga é mínima e pode ser ajustada de acordo com o que você é capaz de realizar.

Sou um fã do David Allen e o seu GTD (Já escrevi sobre GTD antes em vários posts). Já tentei várias ferramentas e formas de organizar minhas tarefas seguindo as orientações do GTD. No entanto um dos conselhos que não consegui seguir foi o de não colocar datas nas minhas tarefas. Logo entendi a razão do conselho quando não conseguia cumprir as tarefas e perdia bastante tempo movendo-as para a frente no tempo. O conselho do Allen era para colocar data e hora apenas nos compromissos envolvendo terceiros ou prazos fatais. O resto devia ser classificado como tarefas ASAP (As Soon As Possible). Como eu tinha muita insegurança sobre se não esqueceria de fazer algo importante caso não soasse um alarme para me lembrar de uma tarefa ou eu pudesse filtrar o que deveria fazer primeiro era difícil seguir o conselho.

Há também o problema da “mente do macaco” esvoaçando como uma borboleta no meio do paraíso de néctar oferecido pelas flores, hoje a Internet. Ou melhor seria dizer: pulando de galho em galho?

[…] na meditação o que fazemos é nos tornarmos amigos da “mente do macaco”. A “mente do macaco” é sempre inquieta, quer fazer alguma coisa, sempre quer ter trabalho. Você pode dar trabalho para a “mente do macaco”. Normalmente é ela quem dá um trabalho para você, esse é o problema. Agora você pode dar trabalho para a “mente do macaco”! Agora você pode se tornar o chefe e ser mais livre e a “mente do macaco” se torna o empregado. Mas o trabalho é a meditação! [Ou usar o Life Method! ;-)]

Buda Virtual

Ela está o tempo todo a nos estimular transformando todos em sofredores compulsórios da síndrome DDA. O artigo Meet the Life Hackers, do Clive Thompson (Leia em português), explana abundantemente sobre o tema das interrupções e seus efeitos sobre a nossa produtividade. Fala-se muito que o computador, que iria nos liberar dos trabalhos maçantes e aumentar explosivamente a nossa produtividade, jogou em nossas corcovas de camelo uma acachapante miríade de tarefas e  interrupções que anda enlouquecendo todo mundo. A solução não é o ludismo de quebrar os computadores (o que não seria nem possível pois eles estão “desaparecendo” imersos em objetos mais prosaicos e escondidos em fazendas de servidores tornando-se cada vez mais uma presença ubíqua e ao mesmo tempo invisível, fantasmagórica, arrastando suas correntes virtuais). E não há fuga possível pois estamos imersos no centro desse caos, como no olho do furacão, que ao contrário do que se diz é calmo, e a fuga nos leva para a periferia onde os ventos do nosso fracasso são cada vez mais fortes.  Life Method procura dar um rumo melhor à mente do macaco. A meditação é a solução budista para o problema. Life Method pode ser parecido com uma meditação. Menos contemplativa, mais ativa, “caindo de boca” na vida.

Recentemente voltei a refletir um pouco mais sobre o problema e usando os conceitos do GTD, Eisenhower Square e Time Block (Ver em português) configurei um sistema que parece razoável para o meu uso e que, talvez, faça sentido para você também.

ProfStef: Sintaxe da mensagem: Cascata

pharo

Tutorial do Pharo.

Abra o tutorial em português do ProfStef na lição Sintaxe da mensagem: Cascata.

pharo6-pharo-tutorials-submenu

pharotut-profstef-cascading-lesson

 

Nota:

Nesta lição será usado o Transcript, uma espécie de área de saída para exibição de resultados, que pode ser aberto programaticamente com Transcript open ou através do menu World.

pharotut-world-transcript-open

Já abordamos antes o efeito da colocação de um ; (ponto e vírgula) entre duas mensagens em uma lição anterior (quando usamos a mensagem #at:put:). Vamos detalhar mais um pouco aqui.

Abra um Playground e um Transcript. Digite o que vê abaixo, selecione e Do it.

pharotut-transcript-cascading

No primeiro grupo não se usa cascata.

Na segundo se usa o operador ; de cascata e desta forma as mensagens #show: são enviadas para o Transcript sem precisar repetir o receptor.

No terceiro se usa parênteses e as mensagens #show: são enviadas ao objeto retornado. Neste último caso a segunda e terceira mensagem #show é enviada ao objeto Transcript porque ele é o retorno da expressão Transcript show: ‘cinco’ e também da expressão (Transcript show: ‘ cinco ‘) show: ‘ seis ‘.

Como veremos mais adiante no tutorial o retorno default de uma mensagem é o próprio objeto receptor a não ser que seja especificado outro retorno como acontece com a mensagem #at:put:, que retorna o segundo argumento.

Se você experimentar remover os parênteses do último grupo obterá um erro.

pharotut-show-show-show-no-understand

A mensagem com palavras chaves #show:show:show: “não é entendida” pelo objeto Transcript. Veremos mais sobre isto no futuro.

Voltar à página do tutorial.

ProfStef: Precedência matemática

pharo

Tutorial do Pharo.

Abra o tutorial em português do ProfStef na lição Precedência matemática.

pharo6-pharo-tutorials-submenu

pharotut-math-precedence-lesson

A ordem de execução das mensagens das expressões matemáticas é por default sempre da esquerda para a direita.

Nota:

A expressões matemáticas são construídas somente com mensagens binárias. Embora se pareça com uma regra estritamente sintática a ser reforçada pelo compilador esta ordem é, na verdade, uma consequência de um encadeamento de mensagens enviadas aos números, que são objetos, e aos objetos retornados da avaliação da mensagem precedente. É o que acontece no exemplo desta lição com a primeira expressão 2 * 10 + 2. A avaliação da expressão pode ser descrita da seguinte forma: 2 recebe a mensagem binária * com o argumento 10 e retorna 20 (um objeto). Agora 20 recebe a mensagem + com o argumento 2 e retorna 22.

A introdução de parênteses muda esta mecânica conforme já foi explicado antes num contexto mais amplo do que o de expressões composta exclusivamente de mensagens binárias.

Não deixe de experimentar todas as expressões e sinta se livre para alterá-las à vontade para ver os efeitos.

 

Voltar à página do tutorial.

ProfStef: Sintaxe da mensagem: Parênteses

pharo

Tutorial do Pharo.

Abra o tutorial em português do ProfStef na lição Sintaxe da mensagem: Parênteses.

pharo6-pharo-tutorials-submenu

pharotut-parentesis-lesson

A ordem de execução das mensagens é alterada com o uso de parênteses de forma similar ao que acontece em expressões matemáticas. Primeiro se avalia o que está entre parênteses.

Vamos remover os parênteses nas expressões mostradas acima para ilustrar as consequências. Deixaremos a expressão não modificada acima da qual os parênteses foram removidos.

pharotut-parentesis-removed

Os valores nas duas primeiras expressões mudam radicalmente. Isto pode causar erros no programa difíceis de perceber.

A terceira expressão lança um erro após os parênteses serem removidos. O inteiro 200, objeto da classe SmallInteger, não “entende” (understand) a mensagem bottomRight que passou a ser enviada ao mesmo após a remoção dos parênteses.

Voltar à página do tutorial.

ProfStef: Sintaxe da mensagem: ordem de execução

pharo

Tutorial do Pharo.

Abra o tutorial em português do ProfStef na lição Sintaxe da mensagem: ordem de execução.

pharo6-pharo-tutorials-submenu

Pharo 6 ProfStef BR Lição Ordem de execução

A ordem de execução das mensagens é primeiro as mensagens unárias (unary), depois as binárias (binary) e, finalmente, aquelas com palavras chaves (keywords).

Vamos colocar parênteses supérfluos nas expressões mostradas acima para ilustrar a ordem, considerando que os parênteses indicam a ordem da mesma forma que em expressões matemáticas.

pharotut-precedence-ilustrated-with-parentesis.png

Inspecione as várias expressões para apreender detalhes sobre os retornos das expressões.

Voltar à página do tutorial.

ProfStef: Sintaxe da mensagem: mensagens com palavras chaves

pharo

Tutorial do Pharo.

Abra o tutorial em português do ProfStef na lição Sintaxe da mensagem: mensagens com palavras chaves.

pharo6-pharo-tutorials-submenu

pharotut-keyword-messages-lesson

Mensagens com palavras chaves (keyboard messages) são estruturadas como <objeto receptor> <palavra-chave1>: <argumento2> <palavra-chave2>: <argumento2> … podendo ter um número arbitrário de argumentos acima de zero.

Por exemplo: Color r:1 g:0 b:0 é uma mensagem com 3 argumentos. E representa a cor vermelha.

pharotut-keyword-messages-color-rgb-inspect.png

Inspecione as várias expressões para apreender detalhes sobre os retornos das expressões.

Voltar à página do tutorial.