sábado, 31 de agosto de 2019

Ciência de Dados - Fatos e Verdades da Tecnologia

Nesses anos todos que estou na área de Informática ouço muitas opiniões pessoais, que não passam disso: "opiniões pessoais". Por exemplo: "A linguagem  Java não é usada para Data Science", só que a verdade é que pode-se dizer que a linguagem não é usada pelos profissionais de Data Science, mas é fortemente usada na construção das ferramentas de Data Science, tais como, Weka, Hadoop e Pentaho.

Outra opinião: "Python está subindo muito, logo, será a linguagem mais usada no mundo", verdade o Python já atingiu a 3ª Posição no Ranking do TIOBE porém a anos fica bringando para se manter nessa posição (que foi a mais alta que conseguiu atingir) nunca chegando nem perto das linguagens Java e C que lideram o ranking. Não se iluda, Python é uma linguagem de Script, não é compilada e sim interpretada e não possui capacidade nem corpo para ser performática, porém é muito fácil de aprender, por esse motivo é usada por Cientistas de Dados, que só precisam de uma linguagem para simular seus modelos.


Outra opinião: "Bancos não relacionais estão tomando a preferência do mercado", sim os bancos não relacionais estão se tornando bem populares porém não chegam nem perto dos grandes líderes como Oracle, MySQL, MS-SQL e Postgres. O mais bem colocado no ranking do DB-Engines é o MongoDB na 5ª Posicão.

Mais uma opinião: "O Cassandra, em breve, deve dominar o mercado", bem como disse anteriormente a preferência continua com os bancos relacionais e acredito que por muitos anos veremos algo híbrido surgir, o Apache Cassandra é um excelente banco, livre e já possui uma excelente maturidade, mas para que isso aconteça terá de vencer bancos como MongoDB, Postgres ou Oracle e mostrar para que veio.

Continuando com outra opinião: "Ferramentas de Análise de Dados deveriam ser feitas somente no Excel", se estamos falando realmente de "Análise de Dados" isso envolve o processamento de muitas informações e não uma simples amostra. Além disso, não se engane, o Excel (ou o Calc - do LibreOffice) são excelentes ferramentas mas de longe conseguem se manter com grandes cargas de dados, inclusive uma boa alternativa a ambos é o Open Refine que possui filtros para limpeza dos dados.

Por favor, não interprete que estou recriminando essas pessoas ou suas opiniões, como disse no começo são "opiniões pessoais" e acredito que cada um tem direito a sua. Porém, devemos sempre saber discernir o que é verdadeiro ou não atrás dessas opiniões.

Obrigado e até a próxima
Fernando Anselmo

quarta-feira, 7 de agosto de 2019

Ciência de Dados - Pacote Inicial

Vamos começar uma nova trilha aqui no blog com o foco totalmente voltado para Ciência de Dados, bom se viveu em Marte nos últimos 4 anos provavelmente não deve ter ouvido nada sobre o que é Ciência de Dados, Big Data, Aprendizado de Máquina, Deep Learning, Internet das Coisas, Estatística Aplicada e Análise Aplicada. Caso contrário notou que esses temas abarrotam a média escrita, falada e solidificada (como diria Odorico Paraguassú).

Por Onde Começo?

Essa é a principal pergunta que todos me fazem, Neste caso mostrarei o ferramental básico para se usar o Aprendizado de Máquina (Machine Learning) com Python. Consideremos o Python 3.6 que é o mais utilizado então já vai de pré-requisito, porém existem outras bibliotecas para se intalar. Considere que o software principal é o Anaconda, que além de empacotar tudo de uma maneira muito funcional, ainda tem um painel de controle para instalações de outras bibliotecas: https://www.anaconda.com/download/.

Se desejar uma IDE (além do Jupyter que já vem com o Anaconda), atualmente usa-se muito o Visual Studio Code, recomendo: https://code.visualstudio.com/. Não sabe Python? Siga o tutorial básico desse site: https://www.tutorialspoint.com/python/index.htm.

Algumas bibliotecas podem ser adicionadas de acordo com a necessidade. Lembrando que é sempre preferível verificar se a biblioteca já não está disponível no Anaconda, para evitar maiores dores de cabeça. As básicas e já instaladas são:
Essas são as básicas e não é apenas necessário conhecê-las deve-se comê-las com farinha (ou açaí), temos mais três softwares para formar um bom conjunto:

Para quem pretende lidar com Redes Neurais e Deep Learning, existem quatro grandes frameworks: TensorFlow, Keras, PyTorch e Theano. Mas antes é bom ler um material introdutório sobre Redes Neurais. Na disciplina de Psicologia Conexionista e Psicobiologia do professor Antônio Carlos Roque: http://sisne.org/Disciplinas/PosGrad/PsicoConex/. Deseja entender como essas redes funcionam através uma explicação visual? Enão visite o "parquinho" do TensorFlow em: http://playground.tensorflow.org.

Depois de ler agora é hora de instalar o TensorFlow. A instalação é um pouco enjoada, então todo cuidado é pouco. Siga os seguintes passos:
  • Instalar o CUDA Toolkit, e cheque se as variáveis do sistema estão corretas (cheque mesmo, existe chances de não terem sido colocadas corretamente pela instalação)
  • Instalar os drivers do CUDA Toolkit
  • Instalar o cuDNN
  • Instalar o TensorFlow, versão CPU ou GPU (de preferência tenha só uma instalação)

É sempre recomendável seguir o passo-a-passo do próprio TensorFlow. Até o link do Stack Overflow dos erros mais comuns tem lá: https://www.tensorflow.org/install/. Ou use o Docker que é bem mais tranquilo. Veja mais em https://www.tensorflow.org/install/docker.

Instalou? Testou? Rodou? Agora não sabe pode onde começar? O próprio TensorFlow tem bons tutoriais para começar a lidar com ele. Recomendo dois tutoriais:

Quer mais tutoriais? Tem também: https://www.tensorflow.org/tutorials/. Nos tutoriais isso fica claro: aprenda a usar o TensorBoard, gerenciador e visualizador das redes neurais do TensorFlow. Até salvar o estado atual da rede para recarregar depois é possível: https://www.tensorflow.org/learn ou quer sentir alguns exemplos na prática? Visite o GitHub do Imanol Schlag em
http://ischlag.github.io e clone alguns projetos. Outras opções?


Achou uma base que deseja trabalhar? Quer sabe como o pessoal anda resolvendo um determinado problema? Então prepare-se para ler artigos, prepare-se para ler MUITOS ARTIGOS e que provavelmente estarão postados aqui: https://arxiv.org/.

Não gosta de ler é prefere vídeos? Vamos a eles, ficou com alguma dúvida em relação a como alguma rede funciona? Provável que o Siraj Raval já tenha explicado: https://www.youtube.com/channel/UCWN3xxRkmTPmbKwht9FuE5A. Quer alguma inspiração de que problema atacar? Deseja saber o que está sendo feito academicamente e comercialmente na atualidade da área? O canal do Deep Learning Brasil, produziu uma playlist com aulas do curso de Deep Learning, com listas de exercícios e até arquiteturas avançadas já implementadas: https://www.youtube.com/channel/UCWg0CObS-JnEtjW69eGh89A. Por fim, na UFG temos a matéria Redes Neurais Profundas, incluídas semestralmente na pós-graduação do Instituto de Informática, onde você pode acompanhar tanto presencialmente quanto remotamente, pois todas as aulas são gravadas. Acompanhe o cronograma da próxima turma pelo site: http://www.inf.ufg.br/mestrado/

Deseja mais alguns sites confiáveis para explicações sobre qualquer problema, O'Reilly Media (https://www.oreilly.com/) e o Medium (https://medium.com/). Não gostou dessa lista e quer um curso próprio para a área? Tem lista disso também:

Esse é apenas uma recomendação básica para ferramentas iniciais na área (existem muitas dessas listas por aí). Usando isso você poderá dar o pontapé inicial e começar a experimentar o que Ciência de Dados pode trazer de novidade.

Obrigado e até a próxima
Fernando Anselmo

quinta-feira, 9 de agosto de 2018

Empregabilidade - Big Data e eu com isso

Até 2003 conseguimos em toda a história da humanidade produzir 5 Exabytes de informação, exatamente apenas 5 (ou alguns podem pensar tudo isso?). Pois saiba que atualmente produzimos isso a cada 2 horas. Antigamente lotar um disco de 1 Terabyte de dado era uma coisa imaginável, hoje compramos um HD com essa quantidade e achamos pouco. O processamento usado na Apolo 11 poderia rodar facilmente em 2 Nitendos.


Isso quer dizer que estamos crescendo exponencialmente nossa capacidade e em breve como daremos conta de tudo isso? A resposta é simples "Novas Tecnologias de Base". Para quem não é da área quando um site Web demora mais de 5 segundos para ser carregado o site é rotulado como lento. 5 segundos (basta contar de 1 a 5 devagar). O maior culpado dessa "demora" está em sua base HTML, JavaScript e CSS.

Com o tempo vimos que surgiram HTML 5 e CSS 3. O JavaScript começa a sofrer mudanças agora com a chegada (em 2017) com o WebAssembly. Linguagens como Java, C++, Python e Assembly ganham cada vez mais espaço pois se mostraram eficientes no tratamento de dados, outras como C# e PHP vem continuamente caindo nas pesquisas. Sinto muito aos fãs mas não sou eu que estou falando isso, basta uma consulta em listas em institutos como Tiobe para verificar a veracidade dessas informações.

Estamos, graças a quantidade de dados que produzimos chegando em um novo patamar porém serão necessários profissionais que lidem com isso. Novos bancos que manipulam Exabytes de informação precisam ser gerenciados e manipulados para que se extraia conteúdo útil disso e pessoas precisam estar dispostas a entender todo esse novo conceito (e não se agarrar aos antigos).

O maior problema como sempre são as pessoas que não desejam a mudança (mesmo ela estando na porta) e acham que o velho SQL conseguirá manipular toda a carga de informação existente. Não vai. Novas máquinas tem surgido a cada dia, mais rápidas, mais eficazes. Novos softwares tem surgido para acompanhá-las basta ver a evolução de sistemas como o Android 9 (que emprega Inteligência Artificial para melhor gerenciar a bateria) ou das distribuições Linux (que abandonaram totalmente o conceito de tela preta e se tornaram páreo para o Windows e o MacOs).

Facebook já possui o reconhecimento automático de fotos e pode prever com 70% de acerto quem é a pessoa, o Google e a IBM investem pesado em AI. Faça uma pesquisa no Mercado Livre sobre algum produto que este aparecerá como destaque em muitos outros sites.

As minhas questões para uma reflexão são: O que estou aprendendo agora que pode me ajudar a entender esse panorama? Fico me amarrando a velhos conhecimentos aprendidos ou pretendo aprender novos? Consigo jogar na lixeira todos os anos de conhecimento para criar novos? Ou vou ficar dizendo para mim mesmo: Isso não vai afetar nada, vai apenas agregar.

A empregabilidade tem a ver com essas coisas, tem a ver o quão rápido você consegue se adaptar a novas tecnologias e não tentar bater de frente a elas simplesmente porque a linguagem que você amava está morrendo. Quer saber o que penso se Java morrer? Foi bom enquanto durou, o que tenho que estudar agora? Xiblots? O Rei está morto, vida longa ao Rei.

Bem vindo a nova Era da Informação.

Obrigado e até a próxima
Fernando Anselmo

sábado, 23 de junho de 2018

Empregabilidade - Do you speak english?

Como está seu nível de Inglês? Para algumas empresas isso pouco importa entretanto em um mercado globalizado como está se tornando o nosso isso será essencial. Nas grandes empresas (ou Multinacionais) existem os chamados "empregados chaves", são aqueles que dominam outros idiomas e conseguem conversar fluentemente com os clientes mais importantes. Em caso de uma promoção adivinhe qual funcionário será escolhido?


Falando francamente permita-me lhe expor, por experiência própria, o que aprendi sobre o estudo de um novo idioma: Primeiro, considere-se uma criança de 2 anos de idade que está começando a aprender a falar, então use livros de inglês nessa faixa etária, sim aqueles bobinhos mesmo. Segundo, uma criança vive em um mundo rodeada da língua que está aprendendo, ou seja, rádio, TV, amigos, leitura está tudo naquele idioma então o máximo que puder se acercar a isso melhor. Terceiro (e o mais importante), uma criança não tem vergonha de falar errado, falou "ome" ao invés de "róm" (Home) para ela pouco importa desde que se faça entender.

Agora vamos para a segunda fase, seu vocabulário está "very good" porém não consegue escrever um texto. Uma dica para isso é: Simplifique. Traduza rapidamente a frase para o inglês: Está tudo caminhando conforme o planejado. Muitas pessoas já se perdem na primeira palavra "Está", seguindo para a tradução literal de "caminhando" para "walking" (devia aproveitar e colocar um "dead"). O Português tem sua origem no "Latim" que era uma língua dos "Nobres" apenas pessoas muito refinadas usaram a língua dos Romanos. O Inglês tem sua origem nas Línguas Nórdicas, usadas pelos "Bárbaros" e comerciantes, esses caras possuiam zero de cultura e falavam apenas o necessário para se fazerem entender, então: "As planned, everything is OK".

Então seu nível agora é "Read and Write" porém ainda falta o "Listen" e como resolver esse problema? O telefone tocou e do outro lado é um "gringo" que fala a terrível palavra: "Hello?", você relaxa e respira fundo e timidamente solta: "Hello!", sabendo que em seguida vai ter que soltar um bolo de frases do tipo: "I'm sorry mas no ti compreendo, not iudestend, veja bem, see well,..., Goodbye". Voltando a criança, como disse ela está imersa no mundo da língua que está aprendendo, calma não vou dar o conselho que você deva ir para os EUA ou Inglaterra, o que vou lhe dizer é, pare de ouvir música.

Quantas horas tem seu dia de atividades? E nessas quantas horas de música ouve (para lhe ajudar a distrair dos ruídos)? Multiplique isso por 365 dias, e é esse total de horas que está desperdiçando por ano. Mas estou aprendendo inglês, não está, está se enganando como se engana tentando fazer dieta (já que você não vai viver assim). Vamos lá, a menos que pegue a letra da música e se sente com um dicionário e traduza-a, pegue as frases e as defina seu tempo verbal, veja os verbos e as palavras usadas talvez estará aprendendo algo, tipo: o que nunca falar para sua paquera se está ouvindo algo do tipo "Every breath you take... I'll be watching you" - sim, você e o Governo Americano (sai fora chiclete).

E se não fizer nada disso e só escutar a música? Primeiro seu cérebro guardará a melodia da música, segundo ele guardará a batida e terceiro analisará a quantidade de "dopamina" (prazer) que isso lhe proporciona (criando uma escala se vale a pena o gasto ou não). E quanto a letra? Prá quê ele vai perder esforço nisso? Já ouviu uma música Árabe ou Japonesa? Seu nível desses idiomas deve ser bom, não? Fala pelo menos uma palavra? Você pode passar (inclusive já passou) anos fazendo isso e não entender absolutamente nada.


O que quero lhe propor é algo diferente. A "Penguin Books" possui uma série de livros, que são divididos por níveis: Easystarts - 200 palavras-chaves, Beginner - 300, Elementary - 600, Pre-Intermediate - 1200, Intermediate - 1700, Upper - 2300 e Advanced - 3000. Além disso os livros acompanham um CD contendo a leitura deste. Essa leitura do livro é chamada de "Audiobook" (ja falei sobre isso aqui). E esse considero o melhor método para romper a última fase do "Listen", abaixo você encontra uma amostra de um AudioBook contendo o clássico Rapunzel.



Por fim, te aconselho que descarte a legenda (pelo menos em português, se quiser usar em inglês sem problemas) de filmes e seriados, assine a CNN ou a BBC e passe a ver as notícias em Inglês (na Internet existe a "Rádio Livre"). Use o máximo de horas para melhorar seu vocabulário, aprimorar seu ouvido e falar, mesmo que seja apenas lendo um livro em voz alta para você mesmo (mas garanto que seu(ua) filho(a) vai adorar lhe ouvir).

Thank's and until next time
Fernando Anselmo

domingo, 10 de junho de 2018

Empregabilidade - Perguntas na era do Blockchain

Adoro as coisas da tecnologia principalmente no que diz quisito a moda, coloquei a palavra "Blockchain" no título porém este texto trata da "nova geração de perguntas realizadas por entrevistadores". Ou seja, "Blockchain" está adquirindo o significado de mudança (perdendo, ainda bem, aquele sentido de algo relativo a bitcoin) - Prometo uma nova postagem para falar sobre blockchain.

Vamos ao que interessa, você se prepara completamente para fazer uma entrevista, certo? Pesquisa a empresa que deseja trabalhar, manda o currículo personalizado e adequado para a empresa (não algo genérico - pois ninguém gosta de genéricos), certo? No dia da entrevista prepara-se para não chegar de modo algum atrasado, certo? E chega lá dança nas 5 primeiras perguntas que são as seguintes:
  • Nos conte o que você aprendeu e como fez para aprender qualquer nova tecnologia este ano?
  • Participa de algum grupo de tecnologia?
  • Além da área de tecnologia, quais são "as outras" áreas que você detém alguma espécie de conhecimento?
  • Participa de algum projeto de contribuição a sistemas comunitários? Quais?
  • Possui algum projeto de sistema publicado em algum repositório publico? Possui contribuições?
Aquelas perguntinhas básicas sobre: conhece linguagem X ou sistema Y já deveriam ter a resposta no currículo. Nenhum empresa atual faz uma entrevista para saber o que já está escrito no currículo (para isso que ele está personalizado e não genérico), elas querem é saber o que você faz da sua vida. Não, ninguém quer lhe espionar. Deixe-me colocar assim, ao adquirir um bem desejamos saber qual a vantagem que aquele bem nos proporcionará. Quantas vezes já ouviu a frase: "O maior bem de uma empresa são os seus funcionários".

Então o RH agora quer saber o quão valioso você será para a empresa, uma pessoa que não se interessa em mais nada a não ser criar o ABC diário da empresa vale muito menos que um profissional que vai muito além das espectativas. Alguém com iniciativa própria, que estuda porque sabe que lá na frente terá a recompensa, que faz muito além do que lhe foi pedido e que propõe soluções que aumentarão a eficiência e o lucro da empresa.

Você não é contratado para realizar o "espetacular", você é contratado para fazer bem um determinado trabalho. Quem faz um trabalho "espetacular" é valorizado. É isso que muitos trabalhadores não entendem. Existe dentro da empresa uma grande diferença entre estar contratado e ser valorizado. As pessoas me criticam quando falo isso, mas uma Empresa não é uma República, alí é uma Ditadura. Você não faz seu horário (isso pode até ser discutido), você está ali porque recebe benefícios para estar (não faz isso porque ama o local), existem regras rígidas (por mais que se digam que são flexíveis) e sempre existe alguém que dá as ordens (que não serão contradizidas).

Então para de "choradeira" (principalmente) em grupos de discussão dizendo que não existem vagas para profissionais, existem sim, o que não existem são profissionais. Para de dizer que não recebe aumento a X tempo se você faz exatamente o que foi contratado para fazer com o salário estipulado para isso.

Agora vamos a um segundo fator: "Criatividade" ou "Pensar fora da Caixinha", se conseguir passar pela primeira fase da entrevista (com as perguntinhas) vai ter que encarar a segunda fase que é algo realizado com o que você tem de criativo. Veja bem, a criatividade está em todos nós, assim como a lógica, para novamente  de dizer que você não tem lógica (você não conseguiria realizar nenhuma tarefa básica sem ela) ou que você não é criativo (já criou algo? Um brinquedo, uma maneira nova de sair de um problema, fez algo que ninguém pensou?). Você pode é dizer que tem um nível baixo de criatividade ou lógica.

Por que estou falando sobre "criatividade" e "lógica", porque são elementos contrários, a "lógica" tem a ver com a "racionalidade das ações". Observe a frase: Coloquei fogo na minha mão pois ela estava gelada e queria aquecê-la rapidamente, não pensei que doesse tanto. Essa frase foi dita com extrema lógica, a pessoa (ou criança) que fez isso não fez sem motivo, tinha um motivo e o raciocínio correto (o fogo esquenta). Se deu errado ou a solução foi idiota (programadores é que o digam de alguns sistemas) é outro problema.

Criatividade, o início da palavra já dá a dica "Criação", ato de conceber algo jamais imaginado ou, como prefiro, "pensar fora da caixinha". Calma, nessa segunda parte as empresas também usam testes criativos. Observe a imagem abaixo:


Uma resposta possível coloquei de cabeça para baixo. Como assim "uma resposta possível"? O ato de ser criativo envolve várias respostas para uma mesma pergunta, não existe a resposta pronta existe é seu nível de imaginação. É como um bom filme que podem existir milhares de finais possíveis.

Mas pode ficar aliviado pois várias empresas usam esse segundo teste apenas para descobrir um potencial candidato acima da média pois o primeiro já é o suficiente para a contratação.

Obrigado e até a próxima
Fernando Anselmo






sábado, 2 de junho de 2018

Mercado - Comprei um computador Ultra Moderno e agora?

A primeira coisa que tive que aguentar com o novo Inspiron 22 3000 foi a assistente Cortana do Windows que não me deixava entrar no sistema enquanto não configura-se tudo e tudo o que eu queria era baixar a ISO do Ubuntu 18.04 e um programa para gerar um PenDriver bootável.


Muita gente me perguntou, mas o computador tem som embutido, HDMI, além do mais é touchscreen e será que isso tudo vai funcionar com o Ubuntu? Sim vai, primeiro não teria porque não funcionar e segundo que mesmo que não funcionasse não queria mais saber de Windows.

Depois de muitas telas de configuração da Cortana finalmente já estava acessando a Internet através da Wifi, exigência mais do que idiota que achei foi ser obrigado a criar uma conta na Microsoft senão não conseguiria prosseguir. Baixei a imagem e gerei o PenDriver sem problemas (o Edge até que tava bem colaborativo, eu acho que ele pensou: "Enquanto ele não acessar o site do Chrome ou do Firefox para me trocar está tudo de boa", mal sabia ele das minhas intenções). Mais um boot no computador e agora apertando F12 para escolher a entrada pelo PenDrive e partia para a instalação do novo sistema, que levou exatos 15 minutos.

Gravei um vídeo para mostrar as novas funcionalidades em tempo real e para você possa sentir que não perdi absolutamente nada de todos os recursos que a máquina tinha a me oferecer:

 

Um detalhe que achei bem estranho foi o tamanho que o Windows ocupava originalmente no HD de 1 TB, exatos 230 GB não sei se era por causa da Cortana ou de outra coisa só sei que absolutamente sem nenhum software instalado e só de Sistema Operacional "perdia" todo esse espaço. Agora já tenho por padrão instalado com o sistema LibreOffice, Editor de PDF, Loja de aplicativos, Python 2 e 3, player de MP3 e Vídeo e mais os seguintes softwares:
  • Java
  • R Studio
  • Kile - LaTex
  • Gimp
  • Octave
  • Calibre
  • Atom
  • OpenShot Video e SimpleScreenRecorder
  • Code::Blocks
  • PyCharm
  • Idea e Eclipse
E não chego a 120 Gb.

Não estou querendo dizer que o Windows é ruim estou dizendo que como desenvolvedor sei que o espaço no computador é algo essencial, sei que um sistema operacional é o coração de tudo o que estou fazendo e sei que sinceramente prefiro o Ubuntu, mesmo que perca qualquer nova funcionalidade no meu Computador Ultra Moderno. Coisa que não aconteceu.

Obrigado e até a próxima
Fernando Anselmo

domingo, 13 de maio de 2018

Sistema Operacional - Vírus no Linux isso existe?

Desde que comecei a usar o Linux dois tipos de softwares nunca mais tive notícias, primeiro aqueles softwares de organizar arquivos, não que o Linux não tenha (inclusive existe uma versão muito parecida com CClean para Linux) mas é que raramente nos preocupamos com isso o Kernel gerencia muito bem essa parte. E o segundo tipo são os anti-vírus. Peraí então o Linux não tem vírus? Vamos acertar a pergunta pois nenhum sistema tem vírus. OK, então não existe vírus criado para Linux? Sim, eles existem.

A diferença aqui é que você tem que ser muito ingênuo para pegá-los ou eles são muito mais expertos. Deixe-me contar um caso que ocorreu essa semana. Existe um jogo chamado 1024, foi criado um clone dele chamado 2048 só que o autor (espertamente) usava a máquina que estava instalado o jogo para realizar a mineração de moedas digitais (veja a matéria completa aqui).


Uma vez que foi descoberto, já que a diferença que para publicar um pacote na loja Snap obrigatoriamente é necessário mostrar o código-fonte, o autor da façanha, Nicolas Tomb, foi banido da loja juntamente com todos seus aplicativos.

Nesse caso me pergunto o seguinte: Em qual sistema operacional, esse tipo de vírus não conseguiria penetrar? Entendeu, essa é a diferença. São milhares de programadores analisando e investigando o sistema. Deixou passar batido um código pois nem te interessa ou mesmo não tem conhecimento? Sem problemas, seu vizinho que é um investigador por natureza, não roda nada sem antes dar uma olhada no código e caso encontre algo estranho reporta (e é atendido) e ações são rapidamente tomadas.

Não é que o Linux não deixe passar vírus, ou que não existem vírus criados para ele, é que para executá-los é necessária a permissão do "Super Usuário (SUDO)" e o consentimento do usuário humano. Só que uma vez que o problema é descoberto, rapidamente a solução é encontrada e disponibilizada assim o dano atingido torna-se mínimo e não compensa o esforço ou a criação de um vírus. Entendeu agora porque 100% dos Top 500 Supercomputadores mais rápidos do mundo rodam Linux?

Obrigado e até a próxima
Fernando Anselmo