Categorias
Artigos

Apps e programas que um pesquisador usa

Inspirado por uma série de episódios anuais do Cortex, aqui está uma lista dos apps e programas que eu, um pesquisador de Engenharia, uso diariamente (para fins de trabalho):

iPhone

  • Drafts – quando você abre o Drafts, ele imediatamente abre uma página em branco, sem eu precisar explicitamente criar uma nova nota. A minha versão de “manter cartões de anotações” o tempo todo comigo conforme recomendado por David Allen e Anne Lamott;
  • Todoist -para consultar minhas tarefas;
  • Outlook – app de email que uso por nenhuma razão específico para usar e nenhuma razão específica para deixar de usar. Meu relacionamento com e-mails é o seguinte: eu abro regularmente, arquivo 90%, mando 5% para o Evernote, respondo os 2% rapidamente no iPhone, e deixo os outros 2% para responder com calma no PC;
  • Kindle – para sempre ter um livro à mão (e leio muito coisa técnica);
  • PCalc – porque eu sou engenheiro, e como todo bom engenheiro, uso com modo RPN;
  • NetNewsWire – sei que a internet diz para não acompanhar notícias, por isso vou consultando ao longo do dia meus blogs favoritos (muitos deles relacionados ao trabalho);
  • Forest – um app que faz crescer uma árvore no seu celular e, se você sai do app para consultar o Instagram, email, WhatsApp etc, a árvore morre. Bom para se concentrar!

Windows

E é assim que eu trabalho.

Categorias
Artigos

Linguagens de programação que todo pós-graduando deve saber: a Tríade da Ciência de Dados

Se você está iniciando em uma carreira de pesquisa, você vai ter de tratar dados experimentais ou numéricos e apresentar seus resultados. Não há escapatória além de aprender a programar, e isto vale para todas as áreas; John MacFarlane, por exemplo, é professor de filosofia e um grande nerd.

Para mim, existem três linguagens básicas que você deve saber e estudar continuamente, e vou apresentar na ordem em que acho que devem ser estudadas. Também, como eu sou o Fábio, eu vou dar dicas de livros, que ainda são muito superiores a simples tutoriais para realmente aprender algo.

Python

Se você está começando, este é um excelente primeiro passo. Python é uma linguagem simultaneamente fácil de aprender e poderosa; é bastante geral, e tem bibliotecas para processamento de arquivos, interfaces web e cálculo numérico e matricial.

Eu uso Python regularmente para meus projetos de Engenharia desde 2011. No meu mestrado, criei scripts para pegar os arquivos que o sensor de pressão da minha bancada escrevia e criar gráficos de pressão x tempo para cada teste que eu havia feito. No meu doutorado, criei dois programas que resolviam as Equações de Maxwell para duas geometrias diferentes de ímãs permanentes e calculavam o campo magnético gerado por cada uma. Atualmente, mantenho alguns programas de simulação de poços de petróleo e cálculo de propriedades de óleos.

Uma boa introdução geral é este livro, enquanto este aqui é excelente e mais voltado para área de dados.

R

Você pode usar Python para praticamente qualquer tarefa, mas sempre há benefícios em conhecer mais linguagens. Bjarne Stroustrup, criador da linguagem C++, diz que um salto fundamental para alguém que sabe programar é passar de uma para duas linguagens: o conhecimento de uma alimenta o estudo da outra.

Acontece isso comigo ao estudar R, uma linguagem voltada à Estatística. Embora eu não use muito scripts em R em si, o conhecimento que tenho da linguagem me faz pensar melhor na organização das tabelas de dados, e em como posso juntar todas as simulações que faço em uma única tabela que é filtrada e transformada (e.g. calcular a média de todas as linhas da tabela mestre que correspondem a uma mesma condição de pressão) para diferentes tarefas. Esse conhecimento me acompanha mesmo quando escrevo os programas em Python.

Estes dois livros são excelentes e fundamentais para começar a estudar dados de maneira mais séria.

Julia

Julia é uma linguagem bem mais moderna que as outras, e bastante focada na rapidez de execução. Novamente: ao estudar e praticar Julia, eu posso tanto escrever scripts nessa linguagem como pensar em como acelerar meus programas em Python e R. Se você já tem um sistema que quer otimizar, sugiro fortemente aprender Julia; o ecossistema de bibliotecas está crescendo rapidamente.

Uma boa introdução a Julia é este livro online.


Se você quer aprender mais sobre alguma dessas linguagens, diga aqui nos comentários!

Categorias
Artigos

Minha jornada em aprender R (ou: o conflito entre foco e exploração)

Eu me sinto em um conflito intelectual enorme entre dois aspectos de trabalho, simbolizados por duas grandes influências minhas: Cal Newport (foco e prioridade é tudo que importa) e Austin Kleon (como deve se expor ao máximo de influências e roubar delas para fazer a sua arte).

Exceto que este conflito não existe. Cal Newport lê no mínimo 5 livros por mês, sobre assuntos variados, e Austin Kleon fala da importância de desligar suas notificações e ter uma boa estação de trabalho onde se concentrar. O trabalho consiste em ciclos de se aprofundar e explorar.

O que me leva a um objetivo vago na minha vida profissional, que é aprender a linguagem de programação R, uma ferramenta bastante focada em estatística e ciência de dados.

Eu não consigo me lembrar como comecei a me interessar por isso, mas se fosse apostar, diria que foi quando Dr. Drang linkou algum post de Kieran Healy, um professor de Sociologia da Duke University que posta sobre como criar gráficos muito interessantes e ricos usando R . Isso deve fazer uns 5 anos, por volta de 2017.

Em 2019, quando comecei a utilizar bastante os conceitos de ciência de dados e quis aprender mais, comprei os livros da foto acima, mas nunca mergulhei de fato.

Nesse ano de 2022, decidi que era de mergulhar nisso. Mas aí está o problema: como vou priorizar isso dentro do meu problema de foco? Eu não preciso estudar R, e não vou ter proveito imediato.

Porém , foi numa tarde onde tirei uns 90 minutos para começar a ler o livro R for Data Science que me deparei com um exemplo do livro sobre dados experimentais de motores – uma biblioteca de R tem uma tabela já pronta. Por que essa minha empolgação? Porque eu ministro duas disciplinas sobre motores, e já consigo pensar em muitas maneiras de explorar esses dados na sala de aula. Sem essa perda de tempo brincando de estudar, eu talvez nunca teria chegado nesse exemplo.

Brincando com RStudio

Brincando em mais algumas sessões de trabalho, o resultado é saber produzir um gráfico como esse:

Aqui nós temos dados de alguns motores catalogados pela Agência de Proteção Ambiental dos EUA entre 1999 e 2008. Há uma tendência geral de queda da eficiência: motores maiores consomem mais combustível. Mas! Há outros fatores em jogo: a linha de tendência mais inferior mostra apenas veículos de tração nas 4 rodas, que são consistentemente menos eficientes que veículos de tração em 2 rodas (o leitor sabia disso?). Analisando por classes, vemos que na faixa de cilindradas maiores há exemplos de carros que são mais eficientes que outros: 2seaters, ou carros esportivos de 2 lugares. Esse veículos usam motores potentes, mas consomem menos que um SUV de mesmo tamanho, porque são mais leves, com menos perdas no sistema de transmissão; eu acredito também que o sistema de exaustão desses veículos esportivos faça diferença, com conversores catalíticos de parede metálica, mais fina, que têm menos perdas de potências (à custa de mais emissões).

Essa discussão de um parágrafo acima é muito útil para ser levada para a sala de aula. Eu perdi tempo estudando R?

Agora estou nessa situação; tirando algumas sessões de trabalho a cada mês para avançar na leitura desses livros, encaixando no meu planejamento semanal. Tenho sonhado em finalmente escrever apostilas de notas de aulas usando bookdown, de maneira que o código para resolver exercícios seja parte do texto, e divulgar essas notas de aula para o Brasil todo. O ecossistema de R põe muita ênfase na publicação e compartilhamento de dados – algo que não vejo em Python, por exemplo, daí o meu interesse em uma ferramenta nova (já que tenho usado Python para meus projetos científicos há mais de 1o anos).

Como a leitora faz para balancear entre o foco e a exploração? O leitor consegue achar tempo no meio da semana para simplesmente explorar algum assunto e “ver no que vai dar”?