O poder da colaboração

“Eu trabalho sozinho em casa. Sempre trabalhei. Foi assim que iniciei o desenvolvimento do Linux. Não o iniciei como um projeto colaborativo, mas sim como um entre vários projetos que tinha feito na época. Em parte, porque eu precisava ver o resultado final, mas, principalmente, porque eu apenas gostava de programar”.

Assim Linus Torvalds descreve o início do desenvolvimento de um software (mais especificamente, o núcleo de um sistema operacional) lançado em 1991 e que, atualmente, está em dois terços de todos os servidores da Internet; nos 500 maiores supercomputadores do mundo; em 75% dos smartphones (o Android é baseado no Linux); nos sistemas de controle de tráfego aéreo e em inúmeros equipamentos médicos. O Grande Colisor de Hádrons e o foguete Falcon 9, da SpaceX, usam o Linux em seus sistemas de controle. Também é possível que ele esteja na sua Smart TV, no seu roteador de Internet e, futuramente, na sua geladeira e no seu carro autônomo.

Um software criado por um jovem finlandês hoje influencia mais as nossas vidas do que qualquer outro, desafiando empresas como a Microsoft e Apple e sendo fundamental para os negócios de outras gigantes como o Facebook, Google e Amazon.

São vários os fatores que levaram o Linux ao sucesso, assim como outros softwares livres/código aberto, mas os principais, sem dúvida, se resumem à colaboração. De acordo com um relatório apresentado em 2017 pela Linux Foundation, uma organização sem fins lucrativos criada para fomentar o crescimento do Linux, desde 2005, 15.637 desenvolvedores de mais de 1.400 empresas contribuíram para o Linux. Apenas em 2016, foram mais de 4.300 desenvolvedores.

Nas organizações, isso não é uma novidade. Uma cultura de colaboração resulta em inovação, melhores produtos, maior produtividade e capacidade de agir rapidamente. Especialmente no setor de tecnologia da informação, as metodologias mais recentes de desenvolvimento e manutenção de softwares priorizam o trabalho colaborativo. Não à toa, as empresas emergentes (startups) criam espaços de trabalho que encorajam esse comportamento.

A tecnologia é fundamental para conseguirmos realizar a conexão entre os colaboradores e aprimorarmos a comunicação em grande escala. De acordo com um porta-voz do Slack, uma plataforma de colaboração que atualmente supera os 8 milhões de usuários diários, “estamos nos estágios iniciais de uma transformação de 100 anos sobre como as pessoas vão trabalhar e se comunicar”. O próprio Linus Torvalds enxergou a necessidade de uma nova ferramenta para organizar melhor as contribuições que são feitas para o Linux e criou um sistema de controle que se tornou o padrão de fato para o desenvolvimento colaborativo de software.

Embora pesquisas recentes mostrem que as pessoas são mais produtivas quando trabalham sozinhas, a criação e desenvolvimento de novas ideias é cada vez mais um processo colaborativo. A ciência hoje se tornou muito complexa e especializada para que uma única pessoa consiga avanços significativos. O próximo passo da evolução do nosso conhecimento não depende mais de alguns poucos cérebros privilegiados, mas de como conectamos eficientemente a maior quantidade de cérebros hiper-especializados na pesquisa e desenvolvimento. O Linux é a prova disso.

Continuar lendo


Utilização de CPU em sistemas Linux multi-thread

O Hyper-threading (HT) é uma tecnologia da Intel introduzida nos processadores Xeon em 2002 que permite que um núcleo do processador execute mais de uma thread de uma única vez.

O Hyper-threading simula dois processadores lógicos em um único núcleo de processador físico. Recursos do processador físico como cache de memória, unidade lógica e aritmética, barramentos, são compartilhados entre os processadores lógicos. Naturalmente, os processadores lógicos competem por estes recursos e ficam aguardando se as unidades desejadas já estiverem sendo usadas.

Apesar de simular dois processadores lógicos, o Hyper-threading não oferece o dobro de desempenho como um núcleo físico. Segundo a Intel, o aumento de desempenho é de até 30%, dependendo da configuração do sistema. Os ganhos são mais expressivos em ambientes multitarefa.

O kernel Linux enxerga o processador lógico, correspondente a thread adicional do Hyper-threading, como um núcleo tradicional. Por exemplo, um processador com 6 núcleos e Hyper-threading habilitado totaliza 12 núcleos.

O problema é que as ferramentas padrões de monitoramento das distribuições Linux (top, mpstat, vmstat, etc) consideram que todos os processadores têm o mesmo desempenho e não refletem os efeitos colaterais do compartilhamento de recursos do Hyper-threading.

Supondo que 6 processos single-thread estejam em execução neste sistema, considerando que cada um utilize 100% de um núcleo do processador, as ferramentas de monitoramento irão mostrar o total de utilização de processamento em 50%. Entretanto, como sabemos que as threads não oferecem desempenho similar aos dos núcleos, este percentual está incorreto.

Não há uma maneira simples de resolver este problema. Outros sistemas operacionais, como o AIX, calcula o percentual total fazendo aproximações com base no desempenho estimado de cada thread. Especificamente no Linux é importante não tratar os valores de processamento de forma isolada quando estiver realizando o monitoramento e estabelecer um threshold para o percentual total abaixo de 70%.

Referências:

Continuar lendo


Ganhe dinheiro sem precisar trabalhar

Não se trata aqui daqueles anúncios duvidosos na Internet que prometem uma renda diária maior do que o salário da maioria dos brasileiros somente para você ficar sentado na frente do computador ou dicas de como investir na bolsa de valores.

A fórmula para ganhar dinheiro sem precisar trabalhar é simples e conhecida séculos antes mesmo de Cristo: “Escolha um trabalho que você ame e não terá que trabalhar um único dia em sua vida.”. São palavras de Confúcio.

Quando gostamos do que fazemos, raramente nos sentimos desmotivados. Essa motivação é fundamental para adquirirmos novos hábitos relacionados à nossa produtividade, por mais simples que sejam. Quando não nos importamos com o nosso trabalho, a tendência é procrastinarmos.

Em minhas observações, verifiquei que a maioria daqueles que adotaram o GTD  de maneira plena ou estão no grupo dos trabalhadores compulsivos ou são os felizardos apaixonados pelo que fazem. Nesse segundo grupo, há uma mistura poderosa daquilo em que as pessoas são excelentes, do que as engaja e da sua ética – aquilo em que acreditam ter importância.

Caso você esteja em um emprego do qual não gosta, ou até mesmo odeia, ganhar dinheiro fazendo aquilo por que se é apaixonado pode parecer um sonho impossível. E se você nunca fizer qualquer esforço para conseguir isso, você está certo: tal coisa nunca irá acontecer.

O GTD pode ajudá-lo. Com uma abordagem de dividir para conquistar, a metodologia irá, em um primeiro momento, organizar suas ações, projetos atuais e áreas de responsabilidades. Ao concluir esse primeiro estágio, você estará preparado para dar o próximo passo: definir pequenas ações que irão aproximá-lo dos seus objetivos, de suas metas e de seus sonhos. À medida que conclui essas ações, você se sentirá mais motivado, retroalimentando o sistema.

E se você não souber ainda qual é a sua paixão? Não se preocupe – você está no mesmo barco que muitas pessoas. A chave é iniciar a pesquisa e continuar procurando até encontrá-la e, depois, pensar nas possibilidades de ganhar dinheiro fazendo o que gosta, sendo realista em relação às expectativas.

Continuar lendo


Integração da agenda com o Evernote

No GTD, a agenda é utilizada para cadastrar toda ação que precisa ser executada em uma data específica. Uma consulta médica, por exemplo.

Durante a etapa de revisão, a análise da agenda é fundamental para que se faça o planejamento do dia ou da semana, considerando os compromissos lá cadastrados. Contudo, pelo menos para a revisão diária, seria mais conveniente se as informações sobre os eventos da agenda estivessem disponíveis na caixa de entrada do Evernote.

Eu utilizo o Google Agenda. Nele é possível configurar as notificações de eventos para enviar um e-mail para o endereço da sua conta do Gmail e/ou gerar uma notificação através do aplicativo. No meu caso, esta segunda notificação aparece no celular.

Esta configuração de notificação pode ser definida para cada agenda e personalizada por evento. Na figura a seguir estou cadastrando uma consulta médica e configurando para notificar-me por e-mail um dia antes e através do celular 1 hora antes.

 

 

 

Como na revisão diária eu processo todas as caixas de entrada no início do dia, incluindo os e-mails da conta do Gmail, esta configuração já seria suficiente para que eu seja alertado sobre os meus compromissos com antecedência suficiente para fazer o planejamento diário.

Entretanto, como eu disse antes, seria mais conveniente se a notificação estivesse disponível na caixa de entrada do Evernote. E isso é possível através da criação de uma regra de redirecionamento no Gmail que envia todas as notificações para o e-mail da conta do Evernote.

Todas as mensagens direcionadas para a conta de e-mail do Evernote é automaticamente enviada para a caixa de entrada (caderno padrão).

Podemos descobrir qual é o endereço de e-mail da conta do Evernote com o procedimento a seguir:

O próximo passo é criar no Gmail a regra que redireciona as notificações para o e-mail do Evernote e exclui a mensagem logo em seguida. As regras de redirecionamento podem ser definidas acessando as configurações da conta de e-mail e depois a opção Filtros e Endereços Bloqueados.

Um exemplo de filtro de redirecionamento das notificações do Google Agenda:

 

Esta configuração provavelmente poderá ser adaptada para outros sistemas de agenda, visto que a maioria suporta o envio de notificações por e-mail e filtros de redirecionamento.

Agora que as informações estão concentradas na minha caixa de entrada do Evernote, consigo visualizar meus compromissos em momento oportuno e fazer meu planejamento com antecedência, conforme definido nas configurações da notificação do evento.

Continuar lendo


Boa comunicação e habilidade para trabalho em equipe

Essa descrição está sempre presente nos currículos graças à supervalorização que as empresas dão para o trabalho em grupo.

Adrian Furnham, psicólogo especialista em gestão, pesquisou a eficiência de técnicas de trabalho em grupo como o Brainstorming. Resumindo sua conclusão: ele não funciona. As pessoas são mais produtivas quando trabalham sozinhas.

Pergunta, Perguntas, Homem, Cabeça

Além do impacto na produtividade, as decisões que tomamos quando trabalhamos presencialmente em grupo são muitas vezes influenciadas pela habilidade verbal dos participantes, principalmente quando há dados insuficientes. Neste cenário, um dos vilões é o próprio meio de comunicação.

Salvo algumas exceções, onde a análise de comportamento é fundamental para a tomada de decisão, a comunicação virtual geralmente produz as melhores decisões. Afinal, nós podemos pensar e buscar mais dados antes de, por exemplo, responder um e-mail.

Pode parecer um sacrilégio corporativo, mas, na maioria dos casos, se você quer que um trabalho seja bem feito,  privacidade e comunicação virtual é melhor do que colocar várias pessoas em uma sala.

 

Continuar lendo