Essa pessoa não existe

Muito impressionante o site https://thispersondoesnotexist.com.

Toda vez que o site é recarregado, uma nova imagem sintética de uma pessoa é gerada.

O método utilizado é o de Redes Neurais Adversárias (GAN), e o próprio site indica o link https://www.youtube.com/watch?v=u8qPvzk0AfY para saber mais.

Assustador, não?

O Gandhi nuclear

Mahatma Gandhi, o líder indiano conhecido mundialmente pela filosofia da não-violência, torna-se um crápula sanguinário, detonador de bombas atômicas, no jogo Civilization. Seria isso um erro de código?

O jogo “Civilization” tem o objetivo de evoluir civilizações. Infelizmente, nunca joguei o mesmo para comprovar ou não a veracidade, mas diz a lenda que o líder indiano Gandhi começa pacífico nas primeiras fases, e depois que a Índia desenvolve bombas atômicas, ele se torna agressivo a ponto de usar e abusar das mesmas!

Uma explicação possível envolve um erro de código: um overflow.

A agressividade dos líderes seria um número de 1 a 10, e Gandhi começa com o menor número possível, 1. A variável com a agressividade é armazenada num tipo inteiro sem sinal, com um byte (8 bits).

Um inteiro sem sinal com 8 bits armazena inteiros de 0 a 255 (equivale a 2^8 − 1).

Quando as civilizações atingem a era democrática, todos os jogadores têm decréscimo de dois pontos na agressividade. Opa. Se Gandhi começa com 1, ele ficaria com -1 no final. Só que, na aritmética computacional, ocorre um overflow (ou melhor, um underflow), e o -1 equivale ao valor 255.

Ou seja, o pacífico Gandhi se tornaria 25 vezes mais terrível do que o mais terrível dos outros líderes!

Tal caso é ensinado em escolas de computação, como exemplo de overflow.

O que dizem os criadores?

Há várias investigações sobre o tema. Em resumo, eles negam que a lenda acima seja verdade. Gandhi teria um comportamento tão igual quanto o esperado. Talvez pela Índia ter mais chance de desenvolver bombas atômicas, pode ser que pareça que Gandhi tenha esse comportamento.

De qualquer forma, é uma situação tão inusitada que os criadores incorporaram de propósito esse comportamento bizarro a Gandhi, a partir de Civilization V, como uma piada e um easter egg.

Recomendo os links abaixo para maiores detalhes técnicos.

Sei que esse episódio gerou uma série de memes engraçados.

Algumas fontes:

https://en.wikipedia.org/wiki/Nuclear_Gandhi

Livro Humble Pi – Matt Parker

Easy AI e Explainable AI

“Não há benefício em ter modelos complicados”

Baseado em palestra de Cynthia Rudin, Duke University, na Informs 2022.

A Inteligência Artificial (IA) tradicional é uma caixa-preta: entramos com dados (digamos, um milhão de fotos diversas) e com os outputs desejados (quais das fotos são rotuladas como gatinhos ou não), e o circuito interno é uma caixa-preta a ser treinada (uma rede neural de dezenas de camadas e milhares de neurônios por camada). O grande poder da IA dos últimos 10 anos derivou de conseguirmos melhorar essa caixa-preta cada vez mais.

Uma grande desvantagem desse tipo de método é como a rede neural vai se comportar com input totalmente desconhecido? Com algum caso nunca antes visto? Pode ser que ela classifique corretamente, pode ser que dê um resultado totalmente esdrúxulo.

Exemplos abundam, de como “enganar” uma IA.

Em métodos tradicionais de modelagem, entramos com inputs, as regras de decisão, e saímos com os resultados. Pode ser extremamente complicado deduzir ou criar tais regras de decisão.

Como unir o poder da IA moderna e ainda assim termos controle das decisões? Essa é a linha de pesquisa da “IA Explicável”, ou “Explanable AI”.

Na mesma linha, o “Easy AI” baseia-se na noção de que modelos simples podem ser quase tão poderosos quanto modelos complexos, com vantagens de serem mais robustas e validáveis junto ao usuário final.

Aqui, vale introduzir a definição de “Rashomon set”: conjunto de soluções quase iguais. Dentre todas as soluções possíveis para um problema (digamos, criar um classificador), há uma gama de soluções com desempenho quase igual (dentro de uma margem de erro).

Dentre as soluções quase iguais, haverá aquelas que serão mais simples e as que serão extremamente complexas – a recomendação aqui é pegar a mais simples.

Nota: a inspiração do nome é o filme Rashomon, de Akira Kurosawa, onde 4 testemunhas contam 4 histórias diferentes para o mesmo episódio (um crime ocorrido). Por sua vez, o filme foi inspirado em alguns contos de um dos maiores escritores do Japão de todos os tempos, Akutagawa Ryunosuke – notadamente os contos “Rashomon” e “Into the groove”.

Exemplo. Em desafio realizado pela palestrante, uma árvore de decisão com pouquíssimas linhas conseguiu replicar o que uma rede neural bem mais complexa faria.

Uma árvore de decisão é uma regra simples, como ilustrado abaixo, de ir classificando o resultado através de parâmetros nas entradas de dados.

Um modelo simples, como a árvore de decisão, tem diversas vantagens. Vai gastar menos energia em implementação, vai ter transparência para mostrar o funcionamento e tem comportamento generalizável para casos nunca antes vistos.

Com as regras de decisão expostas, fica mais simples levar o modelo para as pessoas que entendem o processo em questão criticarem, auditarem o mesmo. E sempre é bom ter validação de especialistas humanos nos modelos. Não devemos ter a arrogância de achar que um algoritmo vai sempre superar a lógica e intuição humana.

Conclusões

Explainable AI é uma das linhas de pesquisa mais ativas do mundo atual. Vantagens: double check, simplicidade, avaliação de riscos, validação do processo.

Uma IA caixa-preta pode ser útil para uma máquina de lavar. Porém, quem será responsável por um bug no sistema elétrico? Ou um acidente com carro autônomo? Daí a importância de entendermos minimamente os modelos.

O Rashomon set é o conjunto de soluções quase iguais.

Modelos simples podem ser extremamente efetivos, com vantagens de robustez, transparência e facilidade de validação com especialistas da área.

Note que é um problema difícil chegar numa árvore de decisão simples e efetiva – ou, como diria Steve Jobs, “A simplicidade é a maior das sofisticações”.

Veja também:

O projeto de mercados, e como a matemática pode salvar vidas

A palestra de encerramento do Informs 2022 foi de Alvin Roth, professor da Harvard Business School e Prêmio Nobel de Economia 2012. Foi uma aula espetacular, com direito a um case extremamente interessante sobre transplante de rins, da qual faço um resumo aqui.

O tema de estudo de Roth é “Como criar regras para bons mercados?”. Ele estudou e ajudou a desenhar marketplaces diversos, em sua carreira.

Características a serem consideradas do mercado:

– Espessura

– Congestionamento

– Segurança

– Simplicidade

A espessura diz respeito ao número de participantes. O marketplace da Amazon, com milhares de vendedores e compradores, é muito mais interessante do que um marketplace de amigos da escola, que será muito menor.

O congestionamento diz respeito a diversos gargalos, seja tempo de transação, restrições diversas, que tornam o mercado ineficiente.

A segurança me lembra os primórdios do e-commerce, meados dos anos 2000. Poucos estavam acostumados com cartão de crédito. Além disso, quem garantiria que o comprador entregaria o produto, após o pagamento? O feedback com a reputação do vendedor, ou o marketplace garantindo devolução ajudaram a dar segurança aos participantes.

Simplicidade é o que o próprio nome sugere. Um mercado simples e direto é melhor a um mercado complicado.

Exemplo. No início, o trigo era negociado por cada comprador para cada vendedor. Uma revolução ocorreu quando houve a padronização de qualidades de trigo como commodity. Com isso, houve aumento da espessura do mercado (mais compradores poderiam comprar de mais vendedores o trigo da mesma qualidade), além de segurança (rating confiável de qualidade) e simplicidade (ao invés de combinações de compradores e vendedores, todo mundo no mesmo mercado).

Com o café etíope, algo similar. Após a implementação de teste cego de qualidade e commoditização, o mercado cresceu, melhorou em qualidade e simplicidade.

Mercado de rins

O “mercado” de rins não é um “mercado”, no conceito de troca de órgãos por dinheiro, até porque isso é ilegal e imoral na maior parte do mundo.

Há uma fila de 100 mil pessoas e 20 mil mortes por ano. É muito comum a pessoa que necessita de um rim ter um doador da família (a mãe, o pai, irmão). Porém, nem sempre o doador vai ser compatível com o paciente – tipo sanguíneo e outros testes analisam essa compatibilidade.

É possível fazer uma doação cruzada: o doador de um paciente ser compatível com outro paciente, e vice-versa.

Aqui, uma nota. Para uma doação cruzada, é necessário ter 4 salas cirúrgicas simultâneas (duas para retirar e duas para transplantar). Isso porque um atraso entre as cirurgias pode fazer um possível doador “mudar de ideia” nesse meio tempo, tornando a vida do outro paciente um pesadelo (além de continuar com o problema nos rins, perdeu o seu doador).

É aqui que entra a matemática. Que tal formar cadeias cada vez mais longas? Há um limite para tal, por conta da necessidade de salas simultâneas, mas teoricamente é possível.

Há doadores e receptores mais universais que outros, que são “fáceis” de encaixar e promover trocas. Há os mais difíceis também, de modo que é claramente um problema de matching, resolvível via programação inteira. É como ter um grafo direcional, com a função objetivo de formar a maior quantidade de conexões possíveis.

Nota: o próprio Roth citou que as técnicas e solver modernos facilitam muito a análise matemática. Na época em que o estudo começou, esse problema era um desafio bem maior do que é hoje.

Outro desafio é o acesso à informação. Hospitais são instituições privadas, que, a seu modo, concorrem por pacientes. É tentador fechar doações “fáceis” no próprio hospital, e deixar as “complicadas” para o pool nacional de doações.

Adicionalmente, há doadores externos. Como temos dois rins, é possível doar um e continuar a vida (só não pode beber muito). Esses doadores altruístas não precisam da doação de um rim, de modo que eles podem iniciar uma cadeia de doações. Antigamente, o rim dele era doado ao primeiro compatível da fila. Hoje, é doado a quem conseguir iniciar o gatilho da cadeia de cirurgias mais longa possível. Além disso, há o benefício adicional de que não é necessário ter operações simultâneas – é possível esperar um tempo entre cirurgias. Não há muito prejuízo se alguém “quebrar o link”, porque o paciente continua como antes, na fila, e com o seu doador intacto.

Roth cita que houve uma cadeia de 30 doações em 2012, o que não seria possível sem o seu trabalho.

Além do trabalho citado, há diversas outras questões. Por exemplo, expandir o banco de dados de países para troca de rins é bom, porque engrossa o mercado. Porém, o Irã permite a compra de órgãos por dinheiro. Quem garante que alguém rico o suficiente não compre um rim no Irã e inclua no pool americano para se beneficiar? São questões éticas que geram inúmeros debates.

Conclusões

O trabalho de Alvin Roth é um trabalho aplicado, muita mão na massa, para ajudar as pessoas de verdade – seja no caso dos rins, seja em outros mercados que ele ajudou a melhorar. Ele mostrou, nas palestras, fotos dele acompanhando cirurgias reais, a fim de dimensionar melhor a cadeia de trocas.

Para mim, é muito inspirador, no sentido de utilizar muita técnica, pesquisa operacional, e ter resultado prático direto na vida das pessoas.

Recomendação de livro: “Como funcionam os mercados”, de Alvin Roth.

https://amzn.to/3TyRUxT

Veja também:

A Lei de Gall

Sabe aquele sistema perfeito, pensado nos mínimos detalhes para resolver todos os problemas de alguma área da empresa? Pois é, ele nunca vai existir. Muito menos, se for construído do zero.

“Um sistema complexo desenhado do zero nunca funciona e não pode ser remendado para fazer funcionar” – John Gall, no livro Systemantics.

Um sistema complexo (que funciona) necessariamente evoluiu de um modelo simples que funciona.

E esses modelos simples são simples porque necessariamente focam em aspectos mais relevantes do negócio e deixam outros de fora, ou a serem resolvidos por outros, ou com regras sub-ótimas.

Sempre penso em algumas situações que corroboram a Lei de Gall:

  • Sistemas que só funcionam em PPT, e na prática o analista roda o resultado que quer por fora (ex. tinha um de roteirização que conheço assim, por conta de várias restrições não mapeadas no software). Mas, no PPT e no discurso, é o supersistema que está rodando
  • Gente (principalmente TI) criticando as minhas inúmeras planilhas simples (que bem ou mal rodam até hoje e estão evoluindo)
  • Antigamente, existia um desejo de colocar tudo dentro do SAP ou o sistema ERP equivalente. Hoje, migrou o foco para a nuvem, e aí vem esse desejo de ter tudo na nuvem. Nem tudo precisa ser dentro do SAP ou da nuvem, principalmente sistemas simples em processos em evolução
  • Como saber o que funciona ou não, o que realmente é importante ou não? O que detalhar a fundo e o que deixar mais geral? O melhor jeito é testando contra a realidade, e deixando os resultados falarem por si

Juntando camadas e camadas de modelos simples, depois de um tempo, temos um modelo bastante complexo e funcional.

A Lei de Gall está em enorme acordo com a visão que tenho da realidade, e contra PPTs de consultorias estratégicas, startups que querem redesenhar o mundo inteiro.

Um último exemplo é a evolução das espécies. O ser humano não foi projetado desde o início para ser como é hoje. Foi um processo evolutivo, gradual de descobertas e adaptações simples, passo a passo, excruciantemente longo, até chegar aos dias atuais – e continua evoluindo.

Portanto, tenha a Lei de Gall como referência para trabalhos futuros.

Veja também:

Qual o futuro da computação quântica no Brasil?

Essa foi uma das perguntas da trilha #QuantumComputing, estreante na The Developer’s Conference 2022, da qual tive a honra de palestrar.

O componente básico da computação tradicional, o transistor, vem diminuindo de tamanho, o que se traduz na Lei de Moore: o poder computacional dobra a cada 18 meses, para um mesmo custo. Porém, há um limite físico, e o limite é o tamanho de um átomo (estamos quase chegando no limite).

Um computador quântico tem um paradigma de computação fundamentalmente diferente. Enquanto um bit assume valores 0 ou 1, um qubit pode assumir qualquer superposição entre 0 e 1, além de podermos controlar as probabilidades com outro superpoder, o emaranhamento.

Aplicações potenciais em simulação de moléculas químicas, otimização combinatória, comunicação e criptografia (tanto para quebrar a criptografia RSA atual quanto para criar protocolos à prova de espiões).

A julgar pelo interesse dos participantes e pelas aplicações possíveis, o futuro será brilhante!

Parabéns aos organizadores e aos contatos significativos, alguns dos peso-pesados do Brasil.

Alguns links:

https://thedevconf.com/tdc/2022/business/

https://cryptoid.com.br/conectividade-tecnologia-criptografia-id/computacao-quantica-sera-debatida-no-tdc-business-em-sao-paulo/

Tela da Matrix no Excel

Que tal reproduzir a tela do filme Matrix no Excel?

É necessário ativar macros. Para mudar os valores, teclar CTRL + SHIFT + A (é um atalho para rodar a macro).

É uma macro mais ou menos simples.

 – Definir a área de trabalho (60 linhas e 100 colunas)

 – Pintar o fundo de preto e a fonte do caractere de verde claro

 – Para cada coluna, escolher uma linha inicial aleatória e um tamanho aleatório do vetor

 – A partir da linha inicial ir preenchendo aleatoriamente caracteres até o tamanho máximo

 – Uma melhoria foi pintar o último caractere de branco

Para download, usar o link: https://1drv.ms/x/s!Aumr1P3FaK7joDZw0SVX0hktLsYV

Ainda não está tão legal quanto no filme, mas Neo, estou chegando lá!

Veja também:

https://ferramentasexcelvba.wordpress.com/

My project in the Qiskit Mentorship Program 2022

At last, I finished my project, “VQE optimization with dynamic shot scheduling”, in the Qiskit Mentorship Program 2022!

Here, some conclusions and tips for those who want to learn a lot in the raising field of Quantum Computing.

What is Qiskit and what is the Advocate Program?

Qiskit is the IBM programming language for Quantum Computing.

The Qiskit Mentorship Program is an initiative of IBM, to match Qiskit Advocates enthusiasts and IBM Quantum specialists, to increase contributions / participation in this small community of aficionados.

It is a great chance to learn a bit more about Quantum Computing, also to do a small contribution to the community.

About the prerequisites:

A prerequisite is to be a Qiskit Advocate. To be an advocate, the first step is to pass a test on Qiskit language, the IBM Certified Associate Developer. It also requires contributions in this field (a paper, or articles).

After that, you can apply to the Qiskit Advocate program. There is a yearly process to that. Once approved, you will be part of an exclusive group, and eligible to the Mentorship Program.

About the mentorship program and timeline of the project

There are two mentorship programs per year.

My application began in February 2022, with a list of projects suggested by mentors and necessary skills.

There are several themes, including tutorials, optimization, quantum machine learning and so on. The advocates can candidate to work in the projects, and, if they are accepted, the match is made. It is possible to have groups of advocates working together in the project.

A list of projects for QAMP can be consulted at [1].

From official kickoff to final showcase, we have three months to deliver the project, with the help of the mentor. In my case, my mentor was Julien Gacon, from Germany, currently working at IBM Swiss.

There are two intermediary checkpoints, first a kick meeting to show the status of the works, and the second, a written report.

I did a weekly meeting with the mentor, using Zoom. Besides, chat and exchange of information via Slack platform. In today’s world, we have several tools that makes it very easy to work with anyone around the world.

About the project: “VQE optimization with dynamic shot scheduling”

Despite the confusing name, the idea is not so strange for those who know a bit of optimization.

Let’s go bit by bit (or qubit by qubit).

In current near term quantum era, variational algorithms (like VQE — Variational Quantum Eigensolver) can be very useful. Those are hybrid classical-quantum: one part of the circuit is quantum (the encoded problem), and another part is classical (the parameters that minimize the output of the circuit).

There are applications of VQE in the simulation of chemical molecules, for example.

In current quantum era, those are problems in VQE like circuits:

– Shots (evaluations of the circuit) are expensive in a real quantum computer

– Noise is a problem

There are several possible approaches to maximize performance:

– Choosing better Ansatz (circuits that represent the problem)

– Changing how to choose the cost function

– Use and tuning of several gradient and non-gradient methods

In the case of my project, we used a strategy that adapts the number of shots. In general terms, more noise, more shots are necessary.

The method is based on the paper of Kubler at al. [2], where he cites adaptive shots is the most efficient optimizer, looking at the total number of shots. The algorithm has the name ICANS (individual Coupled Adaptive Number of Shots).

How to measure the noise? A proxy for noise is the variance of results of shots. The bigger the variance, the bigger the noise, and then, more shots are necessary, in next round of optimization.

This method estimates the number of shots per round, also per partial derivative of the gradient.

I hope now the title of the work is clearer: VQE optimization (the hybrid quantum classical circuit) with dynamic shot scheduling (different shots per round per partial derivative, more noise more shots).

The tests we made, based on benchmarks against Gradient Descent and SPSA, confirmed results of reference papers.

As a deliverable, I wrote a code in Qiskit, with iCANS as new subclass of VQE. I opened a pull request on Github, to incorporate this code in Qiskit. It was my first contribution in an open source project.

Conclusion

In the end of the program, IBM kindly offers a certified badge for those who completed all the steps of the program:

(https://www.credly.com/badges/8c43a076-9de1-4af2-b054-e903473a7869).

I hope this little description of the program could clarify some questions and inspire more people to join us in this beautiful journey.

Quantum computing is a promising field. According to McKinsey: “Big pharma could apply quantum computing to protein structure and interactions, an opportunity worth $200 billion. Telecoms could use it to optimize their capital spending, worth a potential $50 billion to $70 billion.” [3]

Thanks, IBM, for the opportunity and my mentor Julien Gacon for the patience and dedication.

By Arnaldo Gunzi, Project Manager on Advanced Analytics, AI and Quantum Computing, in a big paper & pulp industry in Brazil.

Follow me on LinkedIn: https://www.linkedin.com/in/arnaldogunzi/

[1] https://github.com/qiskit-advocate/qamp-spring-22

[2] An Adaptive Optimizer for Measurement-Frugal Variational Algorithms. Jonas M. Kübler, Andrew Arrasmith, Lukasz Cincio, Patrick J. Coles https://arxiv.org/abs/1909.09083.

[3] https://www.mckinsey.com/business-functions/mckinsey-digital/our-insights/tech-forward/the-path-forward-for-quantum-computing

Computação Quântica na capa da Scientific American Brasil, junho de 2022

Fico feliz ao ver o meu tema favorito de todos os tempos começando a ganhar destaque!

Enquanto a computação clássica usa o bit, 0 ou 1, o paradigma da computação quântica é o qubit (quantum bit), que pode ser 0, 1, ou qualquer superposição entre ambos os valores. A superposição vale até o qubit ser medido, e então o valor colapsa para 0 ou 1 (lembra do gato de Schrödinger, ao mesmo tempo vivo e morto, até alguém abrir a caixa?).

Além da superposição, outra propriedade-chave é o emaranhamento: dois qubits podem ficar entrelaçados, de modo que ambos colapsem para o mesmo valor quando medidos – o que Einstein chamou de “Ação fantasmagórica à distância”.

O artigo foca em correção de erros. Erros sempre existem e sempre existirão, devido à ruído na comunicação, decoerência de qubits, etc. É importante ter taxa de erro baixa e tratar os erros que acontecerem.

Em computação clássica, uma forma de fazer correção de erros é inserindo redundância. Posso simplesmente replicar o valor: se quero transmitir 0, posso repetir o mesmo três vezes (000). Se, por algum ruído, o 000 virar 010, tenho como saber que há algo estranho e corrigir a informação.

Replicar qubits não funciona. Um qubit não pode ser clonado (teorema da não-clonagem). A técnica para correção de erros deve ser mais sutil e indireta: usar qubits auxiliares emaranhados com os qubits de dados, como uma grade quadrada bidimensional, parecendo um tabuleiro de xadrez. Esta técnica é chamada de “código de superfície”.

Porém, o código de superfície é denso demais, e a autora (Zaira Nazario, da IBM) relata interferência entre qubits, nos computadores quânticos a supercondutores da IBM.

Por fim, o artigo comenta outra configuração entre qubits de dados e auxiliares que eles estão pesquisando, o layout “hexadecimal pesado”. Este lembra um grid de hexágonos, que tem a vantagem de ser menos denso que o layout do tabuleiro de xadrez, mitigando problemas. É o estado-da-arte da correção de erros quântica.

Mais do que o conteúdo técnico, é muito bom ver este tópico sendo discutido nas revistas de divulgação científica.

Aplicações potencialmente disruptivas de Quantum computing: cybersegurança, otimização combinatória e simulação de moléculas químicas.

Aproveitando. Gerencio um grupo de whatsapp sobre #quantumcomputing, com os amigos da Brazil Quantum e outros entusiastas sobre o tema. Para quem quiser receber notícias como essa, o link é: https://lnkd.in/dRm_MbD4 (vou desativar o mesmo em 24h, para evitar spammers).

Post no Linkedin.

Destaques de Hanover 2022 – Cybersegurança

Cybersegurança é extremamente importante no mundo de hoje, e foi um dos temas quentes abordados na feira de Hannover 2022. Seguem algumas reflexões:

  • Ocorre um cyberataque a cada 39 s, e houve aumento de 300% durante pandemia
  • 85% mais Malwares atualmente (Wanna Cry, Log4J)
  • Evolução diária, difícil prever
  • Além da segurança em IT, mais dois elos frágeis: OT e supply chain. 2/3 dos ataques ocorrem via supply chain
  • Arquitetura Zero trust. Antigamente, era só uma barreira externa, quem passasse tinha acesso a todo o sistema. Agora, mesmo com acesso permitido, o escopo de atuação é limitado e há constante checagem de acesso
Sobre zero trust network. Natalia Oropeza, Chief Cybersecurity Officer, Siemens

  • Chart of trust: grupo de fornecedores e reguladores, para troca rápida de informação sobre ataques
  • A maioria das empresas não possui um plano de respostas a incidentes. Quando possui geralmente não há procedimentos claros contendo as responsabilidades de cada área, pessoas treinadas ou ferramentas para auxiliar na análise e investigação
  • Muitas vezes se compram ferramentas tecnológicas para atender solicitações de acionistas, clientes, etc. Porém não se sabe como e quando usar essas ferramentas

Tendências:

  • Corrida evolutiva do tipo predador-presa. A evolução de ataques está sujeita à Lei de Moore, daí tomar cuidado
  • Fronteiras OT-IT aumentando (dispositivos na nuvem, edge computing, IOT), por consequência aumenta a necessidade de ferramentas e processos de proteção
  • O primeiro passo é fazer o gerenciamento de riscos
  • Depois, conhecer bem a topologia do seu sistema e ter um inventário dos ativos
  • Ter definida de forma clara as responsabilidades de cada área / pessoas
  • Em caso de um incidente a empresa precisa ser proativa e saber onde e como coletar as evidências para melhorar na investigação
  • Possuir empresas parceiras para consultoria, implementação de SIEM (Security Information and Event Management) e outras ferramentas de análise

By Arnaldo Gunzi / Guilherme Bittencourt

Veja também:

Meetup Computação Quântica

Tive a honra de ser convidado para um Meetup do Centro de #Analytics Raízen, para comentar do meu tema favorito: computadores quânticos.

Discutimos conceitos básicos Bit x Qubit, sobreposição, entanglement. Algumas aplicações possíveis: quebrar criptografia atual, criar uma nova criptografia à prova de espiões, avanços em algoritmos de otimização e de simulação de moléculas químicas.

Como o pessoal ali é fera, também pediram algumas demonstrações na linguagem #Qiskit, da #IBM.

Por fim, experimentos que venho conduzindo na #Klabin e algumas das (enormes) dificuldades encontradas para fazer esta tecnologia virar realidade na prática.

Em resumo, #quantumcomputing é uma tecnologia que pode ser disruptiva (ou não) nos anos vindouros: se vingar, alguns setores da indústria e do governo podem sofrer enorme impacto, se não vingar, pelo menos parte da teoria será útil para atacar problemas do mundo atual, por uma perspectiva completamente nova.

Caça-Palavras em Excel-VBA

Para que comprar Caça-Palavras em bancas de jornal? Crie o seu próprio passatempo personalizado com suas palavras.

Segue para download (https://1drv.ms/x/s!Aumr1P3FaK7joBK0yc8350kgX5rH) uma implementação em VBA.

Basta listar as palavras a serem escondidas e rodar, com macros ativadas.

É uma rotina relativamente simples, e um bom exercício é tentar reescrevê-la do zero.

O procedimento é:

– Ler as strings

– Para cada uma, sortear se a posição é horizontal ou vertical

– Pelo tamanho, verificar quais as posições iniciais onde a palavra “cabe”

– Sortear uma posição inicial

– Verificar se a palavra inteira coincide com outras palavras já postas e repetir até conseguir

– Preencher casas restantes com letras aleatórias

O “Modo debug” não preenche o restante com letras aleatórias, é só para conferir se a lógica funciona.

É possível adaptar para deixar mais fácil e lúdico, para crianças: mudar a fonte, aumentar tamanho das células, cores, etc…

A cada vez que rodar, um resultado diferente vai ser gerado.

No exemplo a seguir, inseri um “BLUEBERRY” a mais.

Outro exercício computacional é o inverso: a partir do caça-palavras, tentar descobrir onde está a palavra, a partir de uma lista – basta algumas varreduras com loop “for”.

Dica: Coloco no link a seguir alguns dos trabalhos mostrados nesse espaço.

https://ferramentasexcelvba.wordpress.com/