20 Mil Léguas Sub-pythonicas

Filipe Fernandes

April 5, 2018

whoami

Filipe Fernandes

(ocefpaf)

Oceanógrafo Físico por profissão, programador por acaso, educador por paixão.

ps aux != “work”

O que é oceanografia?

(em 3 slides)

  • um curso essencialmente científico com foco primariamente acadêmico;
  • bases em física, química, biologia, e geologia;
  • oceanógraf@s sabem um pouco de tudo, mas nada em profundidade.

next(slides)

O que todos acham que é:

next(slides)

O que realmente é:

next(slides)

Mas nem tudo é trabalho

next(slides)

O mercado de trabalho…

ps aux | grep “work”

IOOS/RAs

ps aux | grep “volunteer work”

ps aux | grep “academia”

if bad_results: break

climatecode

Evasão da academia

ps aux | grep “OSS work”

ps aux | grep “OSS work”

  • Apenas uma inspiração para não programadores na audiência.
  • Projeto inicial era de um oceanógrafo!
  • Fernando Perez é Físico e desenvolveu o projeto durante o doutorado.
  • Minha participação foi pequena: nbconvert.

  • Comunidade do UK Met Office no GitHub.
  • Todo o trabalho deles é OSS.
  • Um exemplo de como um órgão governamental deve agir!

https://github.com/SciTools

Iris

Cartopy

  • Começo turbulento
  • Muito academicismo e pouco Software
  • Suporte da UNESCO e SCOR/IAPSO Working group 127

  • Uma organização aberta a toda comunidade oceanográfica que se interessa por programação.
  • A ideia é não ter vínculos com governo, empresas, universidades, etc.
  • Um espaço aberto à todos.

gridgeo

gridgeo

python-ctd

pocean-core

Metadata is love

erddapy

erddapy

folium

  • provavelmente o projeto de maior alcance fora de área de Met/Ocean
  • comunidade com crescimento orgânico e rápido
  • missão: facilitar a instalação de software

Por que?

community

@conda-forge/core

objetivo

  • Segue os moldes do UK Met Office.
  • Gerencia Software, uso das tecnologias, dados, e projetos no GitHub.
  • O objetivo principal é melhorar a passagem do conhecimento através de várias gerências.

Data Demo Center

https://ioos.github.io/notebooks_demos

Notebook time!

Já que o assunto é Ciência

  • Quantos aqui tem um diploma em ciência básica?
  • Quantos não mais praticam essa ciência no dia-a-dia?
  • Quem se (re-)encontrou na área de tecnologia/data science?

Quem faz ciência?

  • constrói e organiza conhecimento
  • testa explicações sobre o universo:
  • sistematicamente,
  • objetivamente,
  • de forma transparente,
  • e reprodutível.

Ciência conta com:

  • revisão pelos pares
  • ceticismo
  • transparência
  • atribuição
  • prestação de contas
  • colaboração
  • e impacto!

Exemplo: missão da UFSC

Qualidade, Inovação, Atuação, Inclusão, Internacionalização, Liberdade e responsabilidade, Autonomia, Democrática e plural, Otimização administrativa, Transparência, Ética.

O ponto é

Fazer ciência não é tão diferente assim de programação!

Mas “codar” ciência não é fácil?

O que eu, profissional da tecnologia, tenho isso?

Por que devo me importar?

clique aqui para ver o notebook

Colocando a mão na massa!

Consigo ver o mar subindo? (Spoiler: não!)

http://pangeo.pydata.org

sea-surface-height.ipynb

Quer dizer, com um super cluster, jupyter, python, xarray, dask, kubernetes, data cloud, e +70 Gigas de dados, sim!

sea-surface-height.ipynb

Scientific Software pledge

  • Desenvolver Software aberto desde o início, sempre que possível.
  • Contribuir para a sustentabilidade do Software que uso e dependo.
  • Aplicar práticas propostas de engenharia de software de acordo com as necessidades e recursos reais do projeto.

Scientific Software pledge..

  • Ajudar os pesquisadores a melhorar a qualidade do seu software sem julgar.
  • Publicar as contribuições intelectuais do meu software de pesquisa.
  • Documentar (incluindo instruções de uso e exemplos de entrada e saída), pacotes, releases, e versões arquivadas do meu software.

Resumo

  • É difícil conseguir unicórnios para programação científica.
  • Mas não precisamo de unicórnios, precisamos apenas de uma ponte entre programadores e cientistas.

Perguntas?