sábado, 24 de setembro de 2011

Sage: uma alternativa aos pacotes matemáticos comerciais

Vários problemas em engenharia, e em outras ciências, são resolvidos com ferramentas matemáticas como sistemas de álgebra computacional (Mathematica, Maple) e sistemas para cálculo numérico (como o MATLAB).

O problema desses três pacotes é o custo deles: mesmo as licenças para fins acadêmicos não são baratas (US$ 199 não me parece barato para um estudante :). Se a sua universidade ou empresa tem o programa, muito bom, mas se ela não tem? Sobram 2 alternativas: faça-você-mesmo ou usar alternativas livres.

Embora seja plenamente possível desenvolver um programa (por exemplo, usando a NumPy, a SciPy, a GSL etc...) que resolva o mesmo problema, isso traz aquela desagradável sensação de reinvenção da roda.

Já para a segunda opção, um dos meus maiores problemas com as alternativas livres era justamente a falta de integração das diversas ferramentas, e fazê-los falar entre si às vezes era uma saga épica.

Para resolver essa necessidade, a ferramenta que acabei adotando foi o Sage, cujo objetivo é criar uma alternativa open-source viável às ferramentas como o Maple, o Mathematica, o MATLAB etc... usando as várias ferramentas livres já existentes (mais de 90, conforme os próprios desenvolvedores).

E justamente é essa a maior qualidade dele, na minha opinião: não se reinventa a roda, aproveita-se o trabalho que já existe, apenas implementando lógica para fazer a interface entre essas ferramentas (quisera eu que todos os softwares livres pensassem assim).

Uma das motivações para esse projeto é também servir de contraponto à arquitetura fechada das caixas pretas comerciais, justamente pela necessidade de "tudo ser aberto para inspeção" - ou seja, a reprodutibilidade necessária ao método científico. 

Ele nasceu voltado à matemática pura, como atestam os diversos papers que o citam, mas também é plenamente utilizável para a matemática aplicada, as engenharias etc... Embora seja uma pena que a documentação pouco ou nada fale sobre esses usos.

Para quem já desenvolve em Python, melhor ainda: ele pode ser usado como um ambiente de desenvolvimento para aplicações científicas nessa linguagem, também sendo possível utilizar as diversas bibliotecas para ela disponíveis.

Outra característica bastante útil dele é a possibilidade de executá-lo em um servidor dedicado e acessado via web (acredito que nenhuma ferramenta comercial faça isso por padrão), tornando ele interessante para uso em sala de aula.

Aliás, se você não quiser instalá-lo para testar (o download tem mais de 300MB, por ser inteiramente auto-contido, não precisa de dependências externas), pode fazer isso pela internet, especialmente para os usuários Windows (não há versão nativa ainda, nem compilada no Cygwin - espera-se que isso mude logo).

(figura: fractal de Mandelbrot plotado no Sage)

terça-feira, 13 de setembro de 2011

De engenheiros e crimes

Infelizmente, o tratamento para crimes ambientais no Brasil (e na maioria dos outros países - proteção anti-reacionário BRAZIU EH UMA MERDA MIMIMI) é frouxo. Uma multinha ali (que a empresa paga facilmente com um dia de lucro), um puxão de orelha acolá, e continua-se poluindo, desmatando etc... impunemente.

Basta lembrar do nosso abominável novo código florestal, amplamente defendido pela bancada ruralista, e das usinas faraônicas que alguns defendem (aposta quanto que elas vão ser superfaturadas e pagaremos o pato nas nossas contas?). Enquanto isso, o Brasil, fascinado pelo progresso na forma de grandes obras, e ainda embasbacado pelo pré-sal (justamente quando lá fora tenta-se cortar o vício do petróleo) deixa o potencial eólico e solar livre para quem vier de fora, mas isso é assunto para outro post.

E depois de tudo isso, pinta-se de verde. Plantam-se umas arvorezinhas aqui e acolá, não se jogam dejetos tóxicos nos rios, compram-se umas páginas numa revista para mostrar que a empresa não fez mais do que o dever de casa, faz-se uma campanha de consciência ambiental, as ações sobem, e todo mundo fica satisfeito com o suposto desenvolvimento sustentável dela. Mesmo que o ramo de atuação dessa empresa seja incompatível com a sustentabilidade. Greenwashing em sua melhor forma. E nessas horas, pergunto sobre uma categoria de profissionais envolvidos nessas empresas, a saber: engenheiros.

Toda grande empresa tem (ou ao menos deveria ter) engenheiros responsáveis pela sua operação, e vários outros participaram do projeto dela. Pergunto se são eles complacentes com os crimes ambientais da empresa, com as falhas de projeto que foram deixadas e não sanadas - assim contradizendo o Código de Ética Profissional das Engenharias, que afirma:

Da intervenção profissional sobre o meio

VI - A profissão é exercida com base nos preceitos do
desenvolvimento sustentável na intervenção sobre os ambientes
natural e construído e da incolumidade das pessoas, de seus bens
e de seus valores.

Porém, pouca ou nenhuma punição se vê; não lembro de ter visto nenhum caso de engenheiros perdendo seu direito ao exercício da profissão após a indústria ou empresa pela qual ele é responsável ser punida por crimes ambientais (ou por outros crimes cometidos no exercício da sua profissão).

 
Da mesma forma que um médico imprudente ou negligente pode perder seu registro profissional, o mesmo deverá acontecer com os engenheiros que deixam assinar e executar uma construção com falhas de projeto, ou uma planta (odeio esse termo, qual o problema com fábrica, unidade etc...?) que intencionalmente polui e causa impactos ambientais graves.


O mesmo é válido para a segurança no trabalho. É obrigação do engenheiro fazer valer as normas, fiscalizar o trabalho para que ele esteja sendo feito corretamente (sem espaço para gambiarras, fuga das especificações etc...), de forma eficiente e econômica. Onde está o engenheiro nessas obras, onde funcionários foram pegos trabalhando sem equipamentos de proteção?

É uma pena que, a julgar pelo modelo de crescimento que queremos ver, os impactos podem ficar para trás e serem resolvidos (com um jeitinho ali, outro aqui) anos depois, quando já começarem a prejudicar a todos, ou simplesmente quando não representarem mais progresso. E nós? Num legítimo momento Classe Média Sofre, pagando a conta das obras faraônicas e a bolsa-multinacional de cada dia (legal ver que nenhum neoliberalismo resiste a um bom presentinho de um governo), ao mesmo tempo em que acompanhamos o faça o que eu digo, não faça o que eu faço.