Pesquisar este blog

quarta-feira, 20 de dezembro de 2023

Seu código é um vaso de plástico

  

Seu código é um vaso de plástico

https://www.linkedin.com/pulse/seu-código-fonte-é-como-um-vaso-feito-de-plástico-leonardo-k-shikida 

Programação Defensiva, Orientação por Objeto, Linguagens para as Massas. O título original desse post ia ser este.

Uma das minhas grandes birras com o Facebook é que ele é propositalmente ruim de fazer busca em conteúdo antigo. Então todo o conhecimento ali é perene. Porque não interessa ao facebook referenciar coisas antigas e estragar o cache deles. Facebook vive do fluxo, igual ao Tweeter.

Falando disso porque o Kiko começou uma discussão bacana sobre Java e suas burocracias e gente boa fez comentários pertinentes, mas eles irão se perder para sempre no conteúdo não-indexável do Zuck.

O artigo está aqui e os comentários estão aqui.

Ele já escreveu algo sobre código legado que também vale a leitura.

Eu queria falar um pouco aqui sobre a computação como linguagem, mas não como linguagem de programação, mas como linguagem de intenções e interpretações. O código fala, então parto do artigo do Kiko sobre código legado (a melhor definição que eu conheço de código legado é o código que está em produção. Entrou em produção, tornou-se legado, igual ao carro zero que virou carro usado ao pisar na estrada).

Ao contrário de muita gente de hoje em dia, eu aprendi Orientação por Objeto primeiro e uma linguagem orientada por objeto depois. Eu sou das antigas, aprendi C e Pascal e depois foi aquele parto para aprender Java. Acho que a experiência mais assustadora de Java é seu Hello World verboso e a primeira coisa que me veio à cabeça foi "por que? por que tanta coisa para dizer tão pouco?".

Diga-me então você, desenvolvedor. Por que?

Foi um semestre de orientação por objeto ministrado pelo legendário professor Bigonha (uma das estrelas do departamento da ciência da computação da UFMG, uma combinação de conhecimento e didática incomuns) apoiado num livro clássico do Bertrand Meyer, uma das cabeças por trás de Eiffel, e por conseguinte, de Java. Nenhum livro me influenciou mais na vida computeira que este livro. Se eu pudesse escolher um livro somente, seria este.

A computação se tornou social quando o primeiro programa de computador foi escrito a quatro mãos. A gente aprende rápido sobre a importância da segunda opinião na primeira sessão de debug em que você pede ajuda ao seu colega para achar o bug que seu olhar viciado não vê, e aprende a odiar o próximo quando recebe o código de outra pessoa para dar manutenção (o famoso "código bom é código meu").

Dizem que código deveria ser escrito como se um psicopata que sabe onde você mora fosse dar manutenção nele. E também dizem que a documentação do código é o código em si. Provavelmente a verdade está perto destas duas coisas.

Para permitir código feito por muitas pessoas ao mesmo tempo, criamos o aspecto social do código que é a sua organização, para podermos lidar com sua complexidade. Não criamos apenas padrões de codificação (que carregam consigo parte da cultura daquela linguagem), mas também criamos um processo de evolução da própria linguagem, que torna a linguagem de programação não apenas uma ferramenta, mas uma instituição, que decide sobre sua evolução, sobre a entrada de novos recursos (features), sobre a manutenção do código legado ou sobre a difícil escolha de abrir mão dessa compatibilidade em nome de mudanças estruturais no código (veja Perl).

Tudo numa linguagem de programação tem uma intenção. Tudo o que foi feito teve uma razão de ser. Tanto no seu programa quanto na sua linguagem.

Fora o livro do Meyer, uma das coisas que mais ajuda é tirar certificações. Certificações em si tem pouca importância prática, mas se forçar a estudar para tirá-las é inestimável. Não porque ela te força a aprender como a linguagem é, mas porque ela te leva a refletir porque ela é como é.

Uma vez, um colega de trabalho, muito mais inteligente do que eu, resolveu codificar na mão uma classe que já existia nas Collections do Java. Não porque ele era burro, nem porque era cabeça dura. Ele simplesmente fez isso porque ele achou que codificar aquele "util" era fácil o suficiente e iria resolver o problema dele. Mas eu chamei outro colega de trabalho (também mais inteligente do que eu) para me ajudar a convencê-lo de que aquilo não era uma boa idéia. 

Não porque ele ganhava em reutilizar código (reutilizar código exige aprender algo novo e isso nem sempre é mais rápido que codificar a sua solução), mas porque usar Collections naquele caso era programar para o outro, programar dentro da cultura da linguagem Java. Programar usando algo que o outro já sabe, que ele está familiarizado.

O processo de familiarizar com outra cultura é difícil e mexe com nosso orgulho. Eu gosto de me iludir achando que sou melhor eticamente, moralmente e tecnicamente que as outras pessoas, mas uma análise criteriosa certamente me dirá o contrário. É o que eu chamo da regra do 60/90. Por causa de uma pesquisa relatada neste livro (uma literatura pseudo-científica divertida para se ler no aeroporto e não ser levada tão a sério) que dizia que 90% dos pais se consideravam bons ou ótimos enquanto 60% dos pais consideravam os outros pais medíocres. :-)

Um dia eu fui parar numa fábrica de software CMMI-5 (uma das épocas mais felizes da minha vida, de verdade). Lá tinha um padrão de codificação que estabelecia regras que iam desde a obrigatoriedade do uso de chaves em IFs até a nomenclatura de métodos. Um dos arquitetos de lá me falava sobre a importância da conformidade de todos com o padrão. "Para quando outro desenvolvedor pegar seu código, ele achar que é o dele e não precisar pensar".

Para uma fábrica de software, ou para qualquer comunidade de computeiros que trabalhe junto, não precisar pensar na hora de pegar o código alheio é um benefício muito grande perto do problema de descobrir tudo de novo diante do código dos outros. É como viver em sociedade. Escolhemos abrir mão de pequenas liberdades individuais em prol de algo maior e comum (a medida em que isso ocorre geralmente consiste na diferença entre uma posição política e outra). 

Não bastasse haver um padrão, haviam reuniões periódicas de peer-review onde seus erros eram apontados pelo dedão do grande irmão da empresa. Minha primeira reunião desse tipo me trouxe obviamente revolta. Como ousavam questionar meu código diante daqueles padrões estúpidos. Ok, não era com essas palavras, mas era como eu me sentia, e tempos depois, quando EU era o revisor, eu me lembrava de tudo o que eu tinha sentido quando era o novato que se sentia invadido.

Isso porque, até o momento em que você programa com outras pessoas na sua equipe, seu código é seu castelo. Você fez com o seu suor, seu conhecimento, do jeito que você gosta. Dizem que a pornografia é o conto de fadas masculino, porque ali, tudo acontece do jeito que você queria. Pois bem, o código de uma pessoa só é sua própria pornografia computeira, digamos assim :-).

Eu faço questão de deixar claro os sentimentos porque não estamos falando do código e dos design patterns. Estou falando deste animal vivente que é o computeiro, provavelmente você, que está lendo.

Noutra ocasião, também discuti com outro colega de trabalho (que admiro até hoje) sobre o fail early. Não lembro exatamente sobre o que eu estava fazendo de errado, acho que eu estava tentando tratar as exceções enquanto isso impedia o sistema de expor suas falhas. Ele ganhou a discussão e eu aprendi algo novo.

As tais metodologias ágeis são baseadas nesta concepção da computação como um fenômeno social, de equipe. No fundo, o que ela prega é que a equipe resolva seus conflitos, internamente e com o cliente. Ela cria pequenos artefatos e rituais que, emboram pareçam o pão fatiado para computeiros, provavelmente já foram estudados à exaustão por alguém da sociologia, depois de visitarem muitas tribos indígenas. Computeiros deviam ler sobre sociologia. Já tivemos um presidente sociólogo mas nunca um presidente computeiro.

Agora entra a programação defensiva. Programar de forma defensiva é programar para os outros. Para o outro. É largar a sua pornografia para adotar a pornografia do processo :-). É ser social. É deixar claro para o outro o que você queria com aquele código.

Uma vez, eu peguei um sistema para desenvolver que era uma bomba. Não havia forma fácil de fazê-lo, mas a fábrica só podia contar com pouca gente boa e muita gente júnior então o código não podia ser difícil a ponto de impedir sua manutenção. Quando eu me sentia frustrado, eu escrevia código difícil, como forma de liberar a frustração. Agressividade passiva, dizem. 

Um belo dia, um colega de trabalho bom de serviço veio me perguntar o que significava 1 linha do código, que usava uma operação de XOR. Pense na última vez que você usou um XOR para montar uma interface gráfica. Aliás, pense o que faz um XOR ou como se escreve isso em Java. Lá estava eu, sendo um exibido egoísta babaca numa sociedade computeira que devia ser harmoniosa e altruísta. Lá estava eu, compondo BeBop e pensando "só um músico de jazz foda é capaz de tocar essa passagem". Era isto que se passava na minha cabeça.

A documentação é o código porque não há tempo hábil para manter código documentado. Não há. Java nem sequer checa se seu javadoc condiz com a assinatura do método, até onde eu saiba. Mas se seu método é público, isso diz muita coisa. E o livro do Meyer vai te explicar isso do ponto de vista teórico.

Um dia eu peguei um código aberto escrito por um biólogo americano, que em termos de computação, era um excelente biólogo. Variáveis globais por todos os lados. Pecado mortal para refatoração. Martin Fowler não é um gênio por causa do conceito de refactoring de código. Ele é um gênio porque apenas codigo BEM MODULARIZADO pode ser refatorado. É importante perceber a diferença. E eu precisava pegar aquela aplicação em swing e portar para a web. Como fazer isso num código de alguém que sequer sabia o que era MVC? Ele não estava programando para os outros.

Programação defensiva não é proteger o código de erros somente. É proteger também o código dos erros dos outros porque ele não foi feito para ser compreensível.

Outra coisa poderosa de Java e da orientação por objeto. A faca de dois legumes do aspecto dinâmico da linguagem. Você primeiro instancia e depois usa. É uma forma de compartimentar o erro. Um bug pode existir no seu código por uma eternidade, até que ocorra a condição que cause o bug. Alguns bugs vivem anos e anos no seu código. 

A cada nova versão, bugs antigos somem e outros surgem. O bug vem da nossa atividade humana de programar. Sempre estaremos lutando contra eles e eles sempre estarão surgindo. Poder compartimentar código e seus erros é o que permite um sistema ser desenvolvido por muita gente. É o que nos aproxima daquela engenharia que constrói represas, foguetes, aviões. A programação é social porque os projetos ficaram grandes demais. E as ferramentas se tornaram um problema por si só, porque as ferramentas também são software. E assim lidamos com a complexidade.

Java é verboso. É verboso porque é feito para computeiros serem sociais. Para poder fazer sistemas grandes, Para poder lidar com rotatividade de mão de obra. Para que eu possa tirar férias e o projeto não parar. Código fonte é apenas uma forma de expressar conhecimento sobre algo. Uma linguagem verbosa exige que vc se expresse, talvez mais do que vc gostaria. Nem todo mundo escreve bem ou resolve bem um problema, mas entender o que você faz é importante. Entender sua intenção. Lidar com a complexidade. Quebrar o problema e compartimentar seus erros.

Eu digo que Java é o Karatê das linguagens de programação. Sou faixa branca de tudo. Algumas artes marciais são práticas, como o Krav Magá, ensinam você a lidar com situações. Outras, trazem consigo uma história e uma filosofia por trás, como o Kung Fu. Outras, são modernas, como o Aikidô. Outras, foram feitas para as massas como o Karatê.

Karatê é uma boa luta para ensinar para tropas. As pessoas aprendem "kata"s, que são aqueles movimentos de golpes que vc repete à exaustão. Soldados costumam ser pessoas comuns, muitas vezes humildes, você não pode exigir muito conhecimento prévio. Você precisa dar para elas instruções curtas e simples, e principalmente, efetivas. Dificilmente você vai ver um mestre de karatê no UFC, mas as guerras não são vencidas com super soldados. São vencidas por pessoas comuns.

Da mesma forma, a TI não é feita de gente excepcional do Google, mas por pessoas comuns. Java é uma linguagem para pessoas comuns. A máquina virtual abstrai o que é específico da plataforma não somente pela portabilidade (útil porém rara, alguém já viu a necessidade de um sistema projetado para linux ter que ser portada para windows? é muito mais fácil e barato rodar noutra máquina, oras). A linguagem verbosa te força a ser claro na sua intenção (compare com códigos ofuscados intencionalmente em C ou Perl). É uma linguagem ubíqua (adoro esse termo - significa onipresente, mas foi traduzida como pervasiva) e portanto serve desde o server-side até sistemas android e raspberry pis da vida.

Java é uma das linguagens da commoditização da nossa profissão. A Microsoft não fez C# à toa. Eles sabem da importância de se ter uma grande comunidade de desenvolvedores à disposição no mercado. Estar no mercado é ruim porque os salários tendem a achatar, e é bom porque da mesma forma, dificilmente você ficará sem emprego. A mediocridade (que significa estar no meio e não estar embaixo) pode ser visto tanto do ponto de vista de ser dispensável quanto de ser empregável. 

Muitas vezes, do ponto de vista da empresa, é muito mais vantajoso você ter gente que sabe java em suas fileiras porque você quer ter elasticidade para contratar e demitir rápido do que começar um projeto numa linguagem obscura como Ruby por exemplo, por mais features incríveis que a linguagem te traga.

Acho que já falei demais, deixa eu tentar concluir isso aqui.

Em computação, tudo tem uma intenção. Existe o interesse de quem bolou a linguagem, da empresa que banca sua insituição (no caso de Java, a Oracle, e antes, a Sun). Existe a intenção do contratante. Existe a sua intenção como desenvolvedor. Existe a intenção dos outros da sua equipe. 

E existe a do cliente, que raramente quer ver seu código, que é como um vaso de plástico.

Ninguém se pergunta como aquele vaso de plástico foi feito desde que você possa plantar algo nele e ele dure pelo menos alguns anos.

quinta-feira, 6 de abril de 2023

The next revolution will be psychological, not technological

Why do we buy what we buy? Rory Sutherland, Vice Chairman of worldwide creative advertising agency Ogilvy Group, reveals why advertising has an influence on us, how it effects our daily lives and why we like certain brands more than others.


An interview during TEDxAmsterdam 2012 with Rory Sutherland and Tinkebell.
https://www.youtube.com/watch?v=ZbIkKRcD86w

Rory Sutherland in a Highlights & Quotes video (0:27)
https://www.youtube.com/watch?v=IB32XXQfUu8

When someone describes himself as the “fat bloke at Ogilvy” (a quote from his twitter profile), you know you are about to witness a special kind of speaker on the red dot.

Rory Sutherland is, to use his more official title, the Vice Chairman of the Ogilvy Group, a worldwide creative advertising agency. He was a classic teacher when first working at the agency, and his first big account was Microsoft – back in the days when they did not have the Windows system yet. Rory thought of the many possibilities that the Internet medium had to offer, even in its limited form compared with today.

The cult of measurebation

Rory Sutherland is a believer in new technologies, and an avid sharer of insights on advertising and social media. He takes the stage today to tell us about the next revolution.

Starting with the claim that the word “clicker” is the same in every language, he talks about words being popularized and creating new demands. For instance the term “measurebation.” This “cult” comes from the world of digital photography. People that are obsessed with all the new qualities and features of the newest camera model: the lens, metrics etc., but “they take shit pictures.” Hence: measurebaters understand one measure, but not the other.

Rory continues by citing different people, mostly Austrian (“I will go bing whenever I cite someone from Austria” – and he did bing a lot). If you want to model human behavior, you require much more complex mathematics. It is like clouds and clocks: one is complex and there are non linear relationships; the other is measurable and predictable. According to the Austrian school (bing) “economics should be subordinate to psychology.” To Rory, the next revolution will be psychological and not about measurable values: creating something, but finding ways to make people actually value it. Basically, to better understand how people behave and use things: “you can add more value and create less by also looking at things from the other side.”

Measurebaters are obsessed with measuring things in the real world. They measure things like “how long you que, but not what makes it so annoying to wait,” two different things. Hence what measurebators change, according to what they have measured, does not match with the actual problems in the real human world. According to Rory, this is “where spreadsheets get dangerous.” Measurebation is “inappropriate in many facets of life.” Looking at the business side of life, measurebaters compare their companies to other companies, and start to compete for the same things or measures. Companies ticking this way end up being the same. Not really adventurous in business.

Be irrational

With his background in the world of advertising, Rory sheds light on the questions why advertisements manage to influence us and why we like some brands more than others. When we as consumers are asked about our most meaningful customer experience, these are most of the time the ones where it cost the company trouble to make us happy, and there was no self interest attached (Rory refers to this a “game-theoretic approach”). Unfortunately business life demands justifications for every decision taken: “you get fired for being creative and not for being rational.” So when your company’s competion is measurebating and being rational, why not try to be irrational? You might even succeed and be liked by your customers: because you made an effort to be different and see things from their not so measurable human point of view.

So, it all comes down to such human thing as “liking” something – a brand or product. Rather than technological aspects winning us over to spend our money on something we saw on TV or stared at while waiting for our public mode of transportation.

Watch Rory Sutherland on the TEDxAmsterdam 2012 stage:
https://www.youtube.com/watch?v=iZ7Svia1ebk


segunda-feira, 27 de março de 2023

Entrevista de emprego difícil é “perda de tempo”, diz Google

De acordo com VP de pessoas do Google, perguntas difíceis só servem para o recrutador “se sentir esperto”; segundo ele, boas notas também não são relevantes

Talita Abrantes - Publicado em 20 de junho de 2013 às, 17h14.

https://exame.com/carreira/entrevista-de-emprego-dificil-e-perda-de-tempo-diz-google/ 

São Paulo – Depois de ficar entre as dez empresas com as entrevistas de emprego mais difíceis e de fazer perguntas como “Quantas bolas de tênis cabem em um ônibus escolar?” e “Como você resolveria o problema do trânsito em São Paulo?”, o Google volta atrás e admite que questões para “quebrar a cabeça” dos candidatos durante o processo de seleção (como as mencionadas acima) são uma “perda de tempo”.

É o que Laszlo Bock, vice-presidente de operações para pessoas do Google, afirmou em entrevista ao New York Times, publicada ontem: “Quantas bolas de golfe cabem em um avião? Quantos postos de gasolina existem em Manhattan? Uma total perda de tempo. Elas não preveem nada. Elas servem principalmente para fazer o entrevistador se sentir esperto”, disse ao jornal americano.

Ele chegou a esta conclusão após analisar dez mil entrevistas feitas por funcionários do Google e relacionar o que os entrevistadores avaliaram sobre cada candidato com o desempenho que os aprovados tiveram no trabalho. O resultado do levantamento? Não havia nenhuma relação entre o que o recrutador valorizava e a maneira como os contratados trabalhavam, depois. 

Para Bock, as entrevistas comportamentais estruturadas são as que, realmente, funcionam. “O interessante sobre as entrevistas comportamentais é que quando você pede para que alguém fale com base na própria experiência (...) você vê como ele, realmente, interage em uma situação do mundo real e (...) o que ele considera difícil”, afirmou. 

Boas notas não contam

Se responder às questões mais difíceis de entrevista de emprego não diz muito sobre a maneira como você irá trabalhar depois de contratado, as notas que conseguiu durante a graduação dizem muito menos, segundo o Google.

A pesquisa feita na empresa mostrou que a nota média dos candidatos na faculdade também não é um bom argumento para prever se ele será um bom profissional no futuro. “Depois de dois ou três anos, sua habilidade para ‘performar’ no Google não tem nenhuma relação com seu desempenho quando estava na escola porque as habilidades exigidas na faculdade são muito diferentes”, disse. “Você também é, fundamentalmente, uma pessoa diferente. Você aprendeu e cresceu, você pensa sobre as coisas de uma maneira diferente”. 

Para ele, os ambientes acadêmicos são artificiais. “As pessoas bem sucedidas são (...) as que foram condicionadas a ter sucesso naquele ambiente”, afirmou. “Uma das minhas frustrações quando estava na faculdade é que você sabia o que o professor queria em uma resposta específica. (...) É muito mais interessante resolver problemas onde não há uma resposta óbvia”. E ele deu a entender que é este tipo de pessoa que o mercado precisa. 

Segundo ele, o número de pessoas sem diploma de ensino superior que trabalham no Google cresceu nos últimos anos. “Temos equipes em que 14% dos profissionais são pessoas que nunca foram para a faculdade”, disse ao New York Times. 


Veja, a seguir, algumas das perguntas difíceis que o recrutadores do Google já fizeram na entrevista de emprego, segundo os próprios candidatos:

  1. Se você fosse Larry Page por um dia, o que você faria?
  2. Como você resolveria o problema de trânsito em São Paulo?
  3. Por que a mídia digital é melhor que a convencional?
  4. Quanto é dois elevado a 64?
  5. Imagine um armário repleto de camisetas. É muito difícil encontrar uma camiseta nele. Então, como você organizaria o armário para encontrá-las facilmente?
  6. Projete um plano de evacuação para São Franscisco
  7. Você é o capitão de um navio pirata e sua tripulação fará uma votação para definir como o ouro será dividido. Se menos da metade dos piratas concordar com sua proposta, você será morto.Como você recomendaria um meio para dividir o ouro de forma a ganhar uma boa recompensa mas ao mesmo tempo sobreviver?
  8. Explique, em três sentenças, o que é uma base de dados para seu primo de oito anos. 
  9. Que método você usaria para encontrar uma palavra no dicionário? 
  10. Como você armazenaria 1 milhão de números telefônicos? 
  11. Se você fosse o gerente de produto do Google Adwords, como faria um plano de marketing desse produto?
  12. Quem são os principais concorrentes do Google e como Google compete com eles?
  13. Se você fosse o gerente de marketing de produto do Gmail, como faria um plano de marketing para alcançar 100 milhões de clientes em seis meses?
  14. Quanto você acha que o Google fatura diariamente apenas com as propagandas no Gmail?

terça-feira, 22 de junho de 2021

Norma Técnica para Exame de Múltipla Escolha

Norma Técnica para elaboração de exames de múltipla escolha, que proporcionam efetiva avaliação do estudante:

1. Tipos de item

  • Itens de identificação de resposta.
Nesse caso, são apresentadas alternativas e o examinado deve marcar a alternativa correta.

2. Diretrizes para a redação de itens fechados

2.1. Orientações gerais:

  • Estipular cuidadosamente o objetivo do item – determinar qual conhecimento ou habilidade pretende verificar. (descritor)
  • Selecionar aspectos importantes e significativos – desprezar aspectos irrelevantes e triviais.
  • Cada item deve avaliar somente um descritor.
  • Evitar perguntas ardilosas.
  • Não utilizar itens que podem ser respondidos com base apenas no uso da lógica e do senso comum.

2.2. Aspectos relacionados à redação:

  • O vocabulário empregado deve ser adequado ao nível de conhecimento lingüístico dos examinados.
  • O enunciado do item deve ser claro e inequívoco.
  • O item deve ser conciso, evitando-se a inclusão de dados desnecessários à solução.
  • O enunciado deve incluir os dados que forem comuns a todas as alternativas das respostas.
Exemplo: A menina saiu pelo:
A) caminho.
B) canto.
C) fundo.
D) mundo.
  • A linguagem negativa deve ser evitada, pois pode confundir os examinados. Se for inevitável o uso de negativas, destacar a palavra que expressa a negação. Jamais usar dupla ou tripla negação.
  • As regras gramaticais e ortográficas devem ser observadas.
  • A alternativa correta deve ser exata, clara e abrangente.

3. Regras para elaboração dos itens
3.1. Gerais

  • Todos os itens devem ser inéditos.
  • Os itens devem conter quatro alternativas. (¹)
  • Os itens devem corresponder rigorosamente ao que solicita o descritor.
  • Os itens devem ser autônomos, nenhum deles pode oferecer pistas para a resposta de alguma outra.
  • Deve-se considerar o tempo exigido para a leitura.

3.2. Conteúdo

  • Assegurar correção conceitual.
  • Considerar o cotidiano dos alunos e da sala de aula.
  • Evitar as “pegadinhas”, intencionais ou não.
  • Não cobrar nomenclatura desligada do contexto.
  • Não cobrar fórmulas memorizadas.
  • Excluir qualquer referência discriminatória quanto à etnia, religião ou gênero.
  • Apresentar um único problema que não envolva muitas etapas.
  • Os itens não devem ser respondidos com base somente na lógica e no bom senso.
  • Não produzir item que envolva preferências pessoais ou críticas de juízo.

3.3. Linguagem

  • Empregar vocabulário simples e nacionalmente conhecido.
  • Utilizar linguagem adequada à idade e ao desenvolvimento cognitivo dos alunos.
  • Usar somente textos simples nos itens das disciplinas específicas, de modo a medir a competência nessa área, sem exigências maiores em leitura.
  • Redigir o enunciado afirmativamente, salvo se não houver exigência em contrário. Caso o descritor exija uma formulação negativa, as palavras de cunho NEGATIVO devem ser DESTACADAS.
  • Não empregar dupla negativa. (Quem não saiu não foi…)
  • Não usar palavras ou expressões como NUNCA, SEMPRE, TODO(A), TODOS(AS), TOTALMENTE, SOMENTE, ABSOLUTAMENTE, COMPLETAMENTE.

3.4. Enunciados

  • Formular enunciados completos e independentes, de modo que o aluno possa responder sem ler as alternativas.
  • Buscar originalidade sem sofisticação, tendo como referência a sala de aula.
  • Incluir no enunciado todos os termos comuns às alternativas.
  • Não usar a expressão: É possível afirmar que. (²)

3.5. Alternativas

  • Ordenar as alternativas segundo uma ordem lógica (alfabética, cronológica, crescente, etc…).
  • Não criar alternativas com expressões: Todas as anteriores, nenhuma das anteriores. (³)
  • Assegurar que todas as alternativas sejam equivalentes em relação à forma, comprimento e estrutura gramatical.
  • Distratores devem ser plausíveis e homogêneos. Dessa forma, o aluno não acerta por exclusão.
  • As alternativas não devem conter detalhes irrelevantes, nem conteúdos absurdos.
  • As alternativas não devem conter ambigüidades.
  • As alternativas não devem conter umas às outras, nem devem ser análogas, equivalentes.
  • Se o enunciado for uma pergunta, alternativas começam com maiúsculas e terminam com ponto; se for frase incompleta, as alternativas aparecem em minúsculas e termina com ponto.

3.6. Formato e apresentação

  • Conferir o gabarito.
  • Conferir coerência gramatical entre enunciados e alternativas.
  • Utilizar ilustrações adequadas e relevantes em relação ao item.
  • Observar as normas da ABNT na apresentação de textos, de figuras e referências bibliográficas.
  • Avaliar a apresentação visual, tendo a clareza como critério.

¹ Questiona-se o uso de cinco alternativas, bem como o uso de N.D.A. (nenhuma das acima/anteriores) tendo em vista um estudo sobre estatística, que indica que a quinta alternativa geralmente é inócua ou desperdiçada, bastando apenas quatro alternativas para surtir o efeito desejado de avaliar. Quaisquer números acima de quatro alternativas terá o mesmo efeito que apenas quatro.

² Faz-se um melhor emprego utilizando-se: “É correto afirmar que“.

³ Utilizar-se de técnicas como as descritas caracterizam uma questão de Verdadeiro/Falso travestida.

quinta-feira, 16 de maio de 2019

O conceito do que é vida

"Talvez, o importante para nos preocuparmos não seja quando a vida começa, mas sim, quando ela faz falta."

Nós humanos não sabemos definir o que é a vida de forma bem determinada. A palavra é polissêmica. E todos nós apelamos para uma intuição bastante tácita deste conceito.

  • Vida pode ser considerada atividade orgânico-biológica;
  • Vida pode ser considerada a partir de criaturas que podem se reproduzir de forma independente, e por isso os vírus não seriam classificados como vivos, pois eles dependem de uma outra criatura para poderem se multiplicar;
  • Vida pode ser considerada a partir do momento da fecundação de dois gametas.
  • Vida pode ser considerada a partir da formação da primeira célula do sistema nervoso-neurológico.

Estes conceitos de 'estar vivo' estão sempre atrelados a existência de atividade celular. E dentro desta determinação, podemos dividir a vida em duas categorias: Seres vivos conscientes e seres vivos não conscientes.

Ou seja, na categoria dos não conscientes como bactérias, plantas-vegetais, peixes, aves, a vida é uma instância que pode ser tirada.

Na categoria dos seres conscientes pairam os humanos. E na categoria dos semi-conscientes estão os animais de estimação, aves, gatos, cães e outros seres que demonstram inteligência limitada como primatas-símios e golfinhos. Em geral esta semi-consciência vem de nossa classificação arbitrária sobre incomunicação. Estes grupos de criaturas não tem uma linguagem interpretável que seja equiparada aos idiomas praticados pelos humanos.

Até aqui, parece que a capacidade de se comunicar é fator essencial para determinação da auto-consciência, ou pelo menos da nossa capacidade de exprimir que somos seres auto-conscientes. Se um gorila é auto-consciente, ele não se demonstra capaz de nos explicar que ele também se reconhece como criatura pensante.

Mas, suponha, em um exercício mental, que você está andando de automóvel, então você escuta um barulho de buzina estridente quando de repente, sem entender bem o que está acontecendo (ou o que aconteceu) você abre seus olhos. Já não está mais dentro do automóvel. Logo percebe que está no quarto de um hospital.

Sua primeira preocupação: Será que eu estou bem?
Você se dá conta que sofreu um acidente.

Sente suas pernas, movimenta suas mãos. Se lembra quem você é, todas as suas memórias estão ainda contigo. Sente medo, frio na barriga. Quer receber visita dos parentes e pessoas amadas. E espera que a outra pessoa que estava no veículo não tenha se ferido gravemente. A possibilidade de pensar que ela foi ao óbito lhe faz querer chorar.

Enfim, você está vivo. Certo? Sobreviveu ao acidente.

O médico entra no quarto e diz que você pode se levantar. Mas ao se levantar, e sair de baixo dos cobertores, você se dá de cara com um espelho e toma um enorme susto: Percebe que seu corpo é todo de metal. Pernas, braços, tronco e cabeça, tudo reluzente, cromado...

"O que foi que aconteceu comigo?"

O médico explica que não conseguiram salvar o seu corpo. O incêndio consumiu tudo. E antes que o seu cérebro também parasse de funcionar, aplicaram-lhe uma técnica nova. Transferiram você pra um cérebro eletrônico. Já não existem mais células-orgânico-biológicas no seu corpo. Você é 100% mineral. Mas, o que lhe causa estranheza é que, apesar de sua consciência não ser mais subsidiada por um arcabouço orgânico, ainda assim você se sente vivo. Se lembra de tudo. Sabe quem é. Sensações, sentimentos, memórias, estão todas aí contigo. O seu novo corpo eletro-mecânico subsidiou 100% das suas atividades conscientes.

E agora? Você se sente vivo? Está vivo?

Portanto, a conceituação de vida pode não estar diretamente ligada à biologia (conforme os itens enumerados no começo deste texto), e talvez a conceituação do que é vivo nem esteja também ligada à questão da auto-consciência. Vida pode ser um elemento mais complexo do que um corpo biológico pode conter, mas, não percebemos esta relação assim como o peixe não percebe a água e nós não percebemos o ar ao nosso redor.

Essa é uma discussão interessante.

Uma conceituação de vida que eu venho percebendo é denominada por uma relação de 1:N (um para muitos) onde N é o número de relações sociais que 1 (o indivíduo) pode ter.

Um recém nascido jogado no lixo só sobrevive em uma relação onde N é >0 (maior que zero) e alguém se importa com ele. Ou seja, pelo menos uma pessoa (mais que zero ou nenhuma) tem que tirar essa criança do lixo e decidir cuidar dela, ou entregar a criança para alguém que cuide. Ou a criança morrerá sem ninguém saber ou sem ninguém sentir sua falta, inclusive a mãe (progenitora) que a rejeitou.

O aborto então, no caso, não passa a ter problema quando a relação é de 1:0 (um para zero), ou seja, a criatura não criou vínculos com outros seres vivos.

Infelizmente eu não tenho mais a referência bibliográfica de uma pesquisa muito interessante, mas que dizia que os bebês recém nascidos liberam feromônios para produzir ocitocina na mãe e no pai. Estes feromônios são responsáveis por evitar uma possível rejeição. O prazer químico causado nos pais faz a criança ser aceita.

Nesta linha de argumentação, também podemos pensar nos indigentes e moradores de rua, onde a relação é de 1:0 (um para nenhum). Quando um desconhecido morre na sarjeta, de frio, ou de fome, não aparece ninguém para se importar ou ficar triste. Ele morre sem comoção, ou ainda, vive como se estivesse morto, por não ter companhias. Um invisível para a sociedade. Ele é auto-consciente, tem atividade biológica, mas tanto faz se o universo tem nenhum ou 10 bilhões de criaturas conscientes e capazes de se comunicar verbalmente, pois ele não estabelece qualquer tipo de relação com nenhuma delas.

O que nos prende à sensação de querer estar vivo é a relação onde N>0, ou seja, você precisa ter pelo menos uma pessoa que se importa contigo. Nos presídios, até mesmo os mais valentões não suportam ser mandados para a cela solitária, e os que permanecem na solitária por muito tempo, ou voltam mansos para o convívio social, ou enlouquecem. Os presos, de modo geral, preferem ser molestados nas celas, pelos companheiros, do que permanecer em segurança na solitária.

Portanto, o meu parecer sobre o termo vida não está associado ao fator biológico, tampouco ao fator de auto-consciência. A vida, para fins funcionais, só pode ser exercida numa relação de 1:N (um para muitos) onde N>0 (o número de relações entre dois seres auto-conscientes deve ser maior que nenhum).

Os suicídios e uso de drogas, segundo esta pesquisa (https://www.cvv.org.br/blog/drogas-e-vicio-o-problema-pode-ser-a-gaiola/), podem estar relacionados a ausência 1:N onde N>0.
Ratos isolados em uma gaiola tornam-se viciados. Ratos que praticam atividades sociais não se viciam.

Ou seja, dos grupos de pessoas socialmente excluídas, algumas são capazes de cometer suicídio e outras se entorpecem ao ponto de não perceberem que existem.

Enfim. Por isso todos nós somos avessos à interrupção da vida por terceiros. O homicídio/assassinato se dá quando uma pessoa nos tira o convívio de alguém que estava dentro do nosso círculo de relação 1:N. A dor é maior para os que ficam (1) do que para os que se vão (N).

Portanto, se vamos interromper - legitimamente - o processo de 'vida' (biológica ou eletrônica) de uma criatura auto-consciente, muito provavelmente faremos esta interrupção quando esta criatura não interage:

* Uma pessoa doente em estado vegetativo e irrecuperável. E mesmo assim, quem está vivo ainda reluta em desligar os aparelhos, guiado pela noção do conceito de vida essencialmente biológica-celular-orgânica. Pense, e se o corpo inativo fosse todo de metal? Eletro-mecânico?

* Uma 'criatura' que ainda não teve tempo de se tornar pessoa e interagir pela primeira vez. A qual o potencial primeiro vínculo 1:1 (filho:mãe) não se estabelece. O nascituro está dentro do útero, em formação, mas já dispõe de uma relação 1:0, por não estabelecer vínculo entre outros seres, sejam o pai, tios, avós e principalmente a própria genitora. A gravidez poderá ser interrompida, e se não for, a criança poderá morrer abandonada. Neste caso, o elemento zero da relação 1:0 poderia ser preenchido por um estranho. Alguém que negocie com a genitora-gestante: Termine de gerar a criança e eu me responsabilizarei por equilibrar esta relação em 1:1+ sendo o primeiro tutor. A criança nasce e é levada embora por aquele que decidiu se responsabilizar por ela, estabelecendo a relação de recém-nascido:tutor-adotivo, potencializando, inclusive que a relação se estenda para 1:N a medida que a criança crescer e se relacionar com mais humanos.

Obs: Nada impede que a vontade de permanecer vivo seja de 1:N (um para muitos) onde este 'muitos' pode ser assumido pela figura de um animal doméstico que interage, ou até mesmo com um animal eletrônico, que interage. Há um fenômeno recente, nos países asiáticos, neste sentido, onde cada vez mais asiáticos estabelecem relações com seus assistentes virtuais.

Concluindo, talvez o conceito de estar vivo só faça sentido, para todos os efeitos, quando não estamos sós. E embora dê-se muito valor ao conceito de vida-orgânica-biológica-auto-consciente, ela sozinha parece não se sustentar. A vida-eletrônico-mecânica-auto-consciente, no futuro, talvez tenha o mesmo valor social que a sua modalidade celular-biológica, não porque elas são auto-conscientes, mas porque elas são capazes de estabelecer relações com pares, de forma que a importância destas relações é ambivalente para os seus participantes e a ausência de um afeta dramaticamente as sensações e os sentimentos do outro.

Eu ia deixar um mistério enigmático, mas acho melhor eu esclarecer, pois desta vez eu quero ser entendido. Estou anexando três imagens:

1. Além da Imaginação - Mitchell Chaplin é marcado na testa por ser condenado à 1 ano de invisibilidade. As pessoas tratam-no como se ele não existisse. http://devezemvez.blogspot.com/2009/03/marca-na-testa.html


2. Inimigo Meu - Um humano e um drac estão perdidos num planeta deserto. Embora as duas raças sejam inimigas de guerra, eles não se matam, porque, apesar de tudo, precisam ter alguém pra poder olhar e conversar, mesmo que seja um cara feia. https://www.youtube.com/watch?v=mmMBv-_Xm6Q "Você salvou minha vida, porque? - Eu preciso olhar para outra cara. Mesmo tão feia quanto a sua."



3. Terra, Conflito Final - Um alienígena Taelon, da galáxia Meruva. Eles vivem todos ligados em uma comunhão psíquica. Embora seus corpos sejam separados, suas mentes estão todas ligadas em uma rede. http://earthfinalconflict.wikia.com/wiki/Taelon

Talvez, o importante para nos preocuparmos não seja quando a vida começa, mas sim, quando ela faz falta.

sexta-feira, 3 de maio de 2019

INTELIGÊNCIA ARTIFICIAL: Policial, Juiz e Carrasco.

Eu fui bloqueado no Facebook por 72 horas.


Eu estava num chat PRIVADO do Facebook Messenger com o Fulano, Cicrano e Beltrano. Fui fazer uma piada sobre beber leite na teta da vaca. Digitei este termo no "Google Imagens" e o "Safe Search"[1] estava ATIVADO. Escolhi uma das fotos que tinha uma vaca e um garoto bebendo o leite direto da teta. Uma cena inocente, sem maldade. (Eu até poderia dizer "maldade está nos olhos de quem vê", mas neste caso, quem viu a imagem foi um Robô de Inteligência Artificial[2]. E assim como a gente, ele tem seus "preconceitos". A Inteligência Artificial é baseada no nosso sistema biológico, portanto, comete os mesmos erros que a gente.) Enfim, enviei a foto no chat do grupo. O Fulano viu, o Cicrano viu. Não deu tempo do Beltrano ver. Em 10 segundos, aproximadamente, a foto foi automaticamente removida. E eu recebi um pop-up dizendo que eu tinha sido bloqueado por 72 horas por violar os termos de conduta do site.

Isso é muito sério. As nossas conversas estão sendo monitoradas por um robô do Facebook. E isso pode acontecer com qualquer um de vocês: Você posta uma foto achando que está se divertindo e BOOM... receberá uma punição. E você não terá direito de reclamar, nem terá como recorrer. Os trabalhadores do Facebook simplesmente não te ouvirão e nem querem te ouvir. Nem há canal para registrar reclamação ou pedir revisão da sua condenação. Te tratam como gado mesmo, você é apenas mais um número de cadastro pra clicar em anúncios pagos. O Mark Zukeber é um desses garotos da nova geração do "politicamente correto" que acha que vai salvar o mundo da maldade, nem que pra isso tenha que estabelecer uma ditadura de 1984. Pra mim, ficou bem evidente esta intenção dele, ao falar para o Senado Americano. Em um trecho ele diz que se acha responsável e que tem que parar isso. Típica síndrome de super-herói. No ímpeto de praticar justiça absoluta, mata gente inocente.

Essa obsessão dele por fiscalizar conteúdo já é um perigo conhecido: Na tentativa de fazer justiça com 100% dos criminosos, você comete injustiça com 1% dos inocentes. Parece razoável? 100 para 1? De jeito nenhum. A Pena de Morte é polêmica justamente pois se você matar um único inocente na cadeira elétrica, terá feito mais mal do que se tivesse deixado 1% dos culpados impunes.

No filme Minority Report (A Nova Lei), com o Tom Cruise, há um tema parecido: Se os precognitivos não fazem previsões inequívocas e se existe uma chance da pessoa desistir de cometer o crime no último segundo, então a pessoa não será culpada. No filme, provar a possibilidade de incerteza significaria ter centenas de potenciais inocentes enviados às câmaras de transe.

Voltando ao assunto original deste post, infelizmente vocês não vão poder ver a foto, pois se eu postar ela aqui, vou ser punido novamente.

Há alguns anos eu tentei postar a foto do 0zama Bean L@d3n (não vou escrever o nome dele pra não ser banido novamente) e o post também foi apagado e eu também fui bloqueado, por suspeição de contaminação de vírus, disse a mensagem de bloqueio. Mas era um post público, onde eu ia criticar o terrorismo... mas não podia. E agora aconteceu mais restrição num canal privado, numa conversa apenas entre amigos.

A ficção alerta a gente sobre os perigos do futuro, e pensem que as empresas hoje já estão usando sistemas de monitoramento de formas bastante irresponsáveis. Em geral, o que eu percebo é uma visão mítica dos próprios programadores que desenvolvem estes sistemas. Pessoas que não entendem bem o que estão fazendo e acreditam cegamente nessa tecnologia, tamanho é a admiração pelo que fazem. Essa ingenuidade dos "profissionais" dessa área vai custar muito caro. Sistemas de Aprendizado de Máquina são como nossas Urnas Eletrônicas, criam um mito de infalibilidade, vendem uma panacéia pra mais tarde lamentar: "Meu Deus, o que foi que fizemos?!?!"

Enfim, fica o recado: Eu fui preso, julgado e condenado por um Robô de Inteligência Artificial. Cumpri pena. Mas sou inocente. E não vou receber nem um pedido de desculpas.

[1] Robô de Inteligência Artificial do Google que diz se uma imagem é conteúdo adulto ou livre.
[2] Robô de Inteligência Artificial do Facebook que determina se uma imagem viola os termos de conduta do Facebook.

Data original da publicação 20/07/2018:

quinta-feira, 2 de maio de 2019

Você tornou-se uma cobaia sem saber?

Se você não leu os termos de uso do Facebook, possivelmente tornou-se uma cobaia sem saber.



Facebook mostra avanços da inteligência artificial que remove conteúdo nocivo
https://g1.globo.com/economia/tecnologia/noticia/2019/05/01/facebook-mostra-avancos-da-inteligencia-artificial-que-remove-conteudo-nocivo.ghtml

Schroepfer reconheceu que o atual estado do algoritmo está longe de ser a solução necessária para esses problemas, mas que o trabalho de sua equipe é continuar nesse caminho. “É um trabalho complicado e é por isso que as pessoas estão céticas quando dizemos que estamos tentando resolver problemas de segurança no Facebook”

Em experimento secreto, Facebook manipula emoções de usuários

Um estudo detalhando como o Facebook manipulou secretamente o feed de notícias de aproximadamente 700 mil usuários com o objetivo de avaliar o "contágio emocional" desencadeou revolta na rede social.

Durante uma semana em 2012 o Facebook manipulou o algoritmo usado para distribuir os posts no feed de notícias do usuário para verificar como isso afetou o seu humor.

O estudo, conduzido por pesquisadores associados ao Facebook, pela Universidade de Cornell, e pela Universidade da Califórnia, foi publicado em junho na 17ª edição dos Anais da Academia Nacional de Ciência (http://www.pnas.org/content/111/24/8788.full.pdf).

Opção 'curtir' do Facebook revela mais do que se deseja, diz estudo

Uma pesquisa publicada mostra que analisar os padrões destas preferências pode dar estimativas surpreendentemente precisas sobre informações pessoais que o usuário não expõe, tais como raça, idade, Q.I., sexualidade, etc.

Cientistas da Universidade de Cambridge, no Reino Unido, e do Microsoft Research, divisão de pesquisas da gigante de softwate americana, desenvolveram um algoritmo que usa as opções 'curtir' - publicamente disponíveis a menos que o usuário faça configurações de privacidade mais rígidas - para criar perfis de personalidade, revelando potencialmente detalhes íntimos sobre sua vida.

Esses modelos matemáticos demonstraram uma precisão de 88% ao diferenciar homens de mulheres e de 95% em distinguir afro-americanos de brancos.

Tais algoritmos também conseguiram extrapolar informações como orientação sexual, se o usuário fez uso de drogas ou se seus pais se separaram.

Os dados podem ser usados em estratégias de propaganda e marketing, mas também poderiam fazer os usuários ficarem retraídos por causa da quantidade de dados pessoais revelados, afirmaram os cientistas.

"É muito fácil clicar no botão 'curtir', é sedutor", afirmou David Stillwell, estudioso de psicometria e co-autor da pesquisa.

"Mas você não percebe que anos depois todos aqueles 'curtir' são armazenados contra você", acrescentou.

Cristãos e muçulmanos foram corretamente classificados em 82% dos casos e uma boa precisão nas previsões foi alcançada nos status de relacionamento e uso de substâncias, entre 65% e 73%.

O estudo, publicado no periódico Proceedings of the National Academy of Sciences, é divulgado em meio a um intenso debate sobre privacidade online e se os usuários sabem quanta informação é reunida sobre eles. Outra pesquisa recente demonstrou que os usuários do Facebook começaram a compartilhar mais dados pessoais depois que a rede social revisou suas políticas e interfaces.

"Posso imaginar situações em que os mesmos dados e tecnologia são usados para antecipar visões políticas ou orientação sexual, trazendo riscos para a liberdade e até mesmo para a vida das pessoas", afirmou.

Veja, estão falando de "antecipar visões políticas, ou orientação sexual"... ou seja, uma pessoa que ainda não tem atitudes homosexuais e nem sabe que fará esta opção já pode ter sua opção identificada pela rede social.

A técnica que detecta depressão em posts do Facebook

Além de informações de localização do GPS, o aplicativo gravava a frequência em que o smartphone estava sendo usado, computando o tempo em que a tela estava ligada e desligada.

Como era de se esperar, a pesquisa também concluiu que pessoas com depressão passam mais tempo em casa. Outro ponto descoberto é que elas tem uma rotina irregular, podendo sair para o trabalho em horários diferentes, por exemplo.

O objetivo é, no futuro, ajudar os médicos no diagnóstico de pacientes com depressão de uma forma mais rápida. O teste conseguiu ter uma precisão de 87%.

Facebook expandirá inteligência artificial para ajudar a prevenir suicídio

Não se trata de uma realidade distante. Em novembro de 2017, o Facebook passou a fazer uso de uma inteligência artificial que identifica, a partir de padrões nos posts, pessoas que podem estar apresentando ideação suicida, ou seja, pensamentos suicidas. 

Após a identificação pela inteligência artificial, funcionários do Facebook podem analisar o caso, e reportar a autoridades sobre o risco. Segundo a multinacional americana, até setembro de 2018 mais de 1.000 autoridades haviam sido contatadas, após o risco ser detectado a partir de posts ou avisos de usuários.

A ferramenta foi lançada inclusive no Brasil. Procurada pela reportagem, a empresa afirmou, no entanto que não compartilha nenhum dado a respeito dos resultados, e não respondeu se autoridades chegaram a ser contatadas no país.

A estratégia levanta, no entanto, debates éticos sobre a privacidade dos usuários - a ferramenta do Facebook foi barrada na União Europeia por violar suas leis de proteção de dados.