This is an old revision of the document!
Sábado, 14 de janeiro de 2023
Wine
Um projeto que sempre admirei foi o Wine (Wine Is Not an Emulator). A tarefa de implementar a API do Windows e as diversas bibliotecas necessárias àquele ecossistema é longe de trivial. Não basta a complexidade inerente da implementar aquilo que está documentado, é necessário descobrir as “peculiaridades” das diferentes versões de implementação e as funcionalidades não documentadas. Tudo isso sem recorrer à reutilização de código vazado ilegalmente do Windows e afins.
Apesar de todos esses desafios, o que podemos observar hoje é que o Wine é um projeto bem sucedido! Temos programas Windows sendo executados em máquinas com Linux e MacOS, permitindo a portabilidade de aplicações Windows sem exigir a recompilação do software para as diferentes plataformas. Isso requer processos robustos e criteriosos quanto à qualidade. Desnecessário dizer quão valioso isso é para o estudo de Engenharia de Software.
Nesse intuito, comecei a estudar um pouco o Wine. Como primeiro passo, comer um pouco da própria comida e participar da comunidade no nível mais simples. Isso envolve a instalação e a participação nos fóruns. A instalação pode ser a partir do código fonte ou, preferencialmente, a partir de pacotes da própria distribuição Linux. A participação em fóruns dá-se pelos fórum propriamente ditos e canais de conversação.
Em relação a possibilidades relacionadas ao projeto de pesquisa, dados sobre a execução de casos de teste estão disponíveis. Diversas falhas e tarefas a serem realizadas (todo) são relatadas e, inclusive, elas podem ser utilizadas como oportunidade para implementação de correções e melhorias pelos estudantes.
Ética em Computação
Em outra seara, o Átila publicou um vídeo interessante sobre o problema do bonde, relacionado a decisões éticas em Computação. Quando em aulas da disciplina de Ética, profissão e cidadania em Computação, em 2017, eu abordei exatamente esse assunto. Embora seja uma decisão um tanto no limite, é um tópico de suma importância, que permite discutir a importância das decisões do profissional de Computação. Digo no limite porque existe muito que nós, profissionais da Computação podemos fazer antes de chegar ao ponto de tomar uma decisão daquele tipo. Obviamente deixa clara importância das decisões tomadas durante todo o processo de desenvolvimento de software, que apenas como ilustração são resumidas no extremo do problema do bonde. Também é importante discutir as implicações de, ao encontrar a dificuldade da decisão, optar por simplesmente não realizar a opção. Se no exemplo o veículo automotor autônomo pode ferir pessoas, cabe lembrar que a autonomia também pode ser utilizada para evitar acidentes ( tal como a situação estapafúrdia que aconteceu hoje em Curitiba, com uma pessoa dirigindo um caminhão de forma criminosa, colocando vidas em risco). Aproveitei e criei um tópico sobre isso no meu AVA.
Educação em Computação
O prazo de submissão de resumos para o Laboratório de Ideias foi prorrogado até 30 deste mês. Talvez seja viável submeter uma proposta relacionada ao trabalho da Mariana, mas no contexto de educação em Computação: https://www.overleaf.com/project/63c35daf791b00fcb4c9ea6f