Mais recentes

Conteúdo técnico, ferramentas e experiências práticas da IceNex.

terça-feira, 16 de janeiro de 2024

Monero - Mineração de criptomoeda com um Raspberry!



Fala pessoal, tudo bem?

Uma das coisas que acho fantástico na tecnologia é a infinidade de criações que são possíveis.
São tantas áreas e avanços que contemplam esse mundo, que realmente ficaríamos horas e horas conversando e o assunto não teria fim.

Um assunto que acho muito legal, é quanto as criptomoedas. Claro que isso é minha humilde opinião. 

Mas o que são criptomoedas?

São formas de moeda digital que utilizam criptografia para garantir transações seguras e controlar a criação de novas unidades. Aqui estão alguns pontos-chave:
  1. Moeda Digital Descentralizada: São ativos digitais que existem apenas em formato eletrônico e não são emitidos por governos ou bancos centrais. Em vez disso, são descentralizadas, operando em uma rede de computadores através de tecnologias como blockchain.


  2. Blockchain: A maioria das criptomoedas utiliza o blockchain, um registro público e imutável de todas as transações feitas com essa moeda. O blockchain é formado por blocos de transações encadeados de forma segura e cronológica.


  3. Segurança e Criptografia: As transações e a criação de novas unidades de criptomoeda são protegidas por criptografia avançada. Isso garante a segurança e autenticidade das transações, permitindo a transferência de fundos de forma confiável e transparente.


  4. Decentralização e Consenso: As criptomoedas geralmente operam em uma rede descentralizada, o que significa que não há uma autoridade central controlando as transações. O consenso entre os participantes da rede é alcançado por meio de protocolos específicos, como o Proof of Work (PoW) ou Proof of Stake (PoS).


  5. Diversidade e Uso: Existem milhares de criptomoedas, cada uma com suas características e propósitos distintos. Algumas são usadas como investimento, outras para transações do dia a dia e outras ainda para aplicações específicas, como contratos inteligentes.


  6. Volatilidade e Speculação: O mercado de criptomoedas é conhecido por sua volatilidade. Os preços podem variar significativamente em curtos períodos, o que torna o investimento em criptomoedas um campo de alto risco e muitas vezes especulativo.

Em resumo, as criptomoedas são formas digitais de dinheiro que operam em uma rede descentralizada, usando criptografia para garantir segurança e permitir transações entre usuários sem a necessidade de intermediários tradicionais, como bancos.


O intuito desse post não é dar uma visão ampla sobre criptomoedas, nem muito menos recomendar que você compre, venda, minere criptomoedas, nem recomendar o uso de qualquer exchange ou carteira onde você pode armazenar suas criptomoedas. Mas sim, trazer de uma forma bem legal do uso da tecnologia para isso.

Para esse "laboratório" nós vamos precisar:
  • Um Raspberry PI 3 ou 4;
  • Cartão SD;
  • Fonte de alimentação para seu Raspberry PI;
  • Uma cold wallet para Monero (cripto que iremos abordar nesse laboratório);
  • E um pool para que possamos fazer parte da blockchain de mineração de Monero;
Mas é possível isso?
A resposta é SIM!!!

Mas o que é Monero?

Monero é uma criptomoeda que se destaca por sua ênfase na privacidade e anonimato das transações. Ao contrário do Bitcoin, que é pseudo-anônimo, as transações na rede Monero são completamente privadas e não rastreáveis.

Como funciona:

  1. Privacidade: A Monero utiliza um protocolo chamado "Ring Confidential Transactions" (RingCT) e "Ring Signatures" para mascarar o remetente, o destinatário e o valor da transação. Isso é feito misturando as transações de várias fontes, tornando praticamente impossível rastrear uma transação específica.


  2. Ring Signatures: Esta tecnologia mistura as chaves de assinatura de várias transações, tornando impossível identificar qual chave específica foi usada para assinar a transação.


  3. RingCT: Ele oculta o valor das transações, permitindo que as transações sejam verificadas sem revelar o valor exato transferido.


    Proof of Work (Prova de Trabalho): Assim como o Bitcoin, a Monero usa um sistema de mineração para adicionar novas transações ao blockchain. No entanto, a Monero utiliza um algoritmo de mineração diferente (CryptoNight), que é otimizado para ser executado em CPUs comuns, tornando a mineração mais acessível para usuários comuns.

No geral, a Monero se concentra em fornecer um alto nível de privacidade e fungibilidade, onde cada unidade de moeda é indistinguível das outras. Isso a torna atraente para aqueles que valorizam a confidencialidade nas transações financeiras.


É isso mesmo, com isso já podemos iniciar a mineração das nossas próprias criptomoedas.
Vale reforçar que não é aquele poder de mineração igual temos com Bitcoin, por exemplo. Esse tipo de mineração precisamos de placas potentes, sistemas de refrigeração ... considerando que tudo isso gasta-se muita energia também.

A mineração do Monero é mais modesta e "simples", tanto que podemos fazer isso com um Raspberry. 😬

Então não espere ter milhões do dia pra noite, nem valores expressivos ...
A ideia aqui é didaticamente inserir o assunto e ainda por cima usufruir desses recursos tecnológicos e mostrar para o que podemos usar. Ok, se você pensou: "Baita coisa de nerd isso!!!"... Pois é... você entendeu... rsrs

A preparação do Raspberry você pode seguir esse procedimento: Instalando o Raspberry PI

Após a configuração do Raspberry, vamos acessa-lo via ssh e para isso você pode utilizar a ferramenta de sua preferência (Putty, CMD, terminal, etc).

No meu caso, vou utilizar o terminal do MacOS conectando por SSH.

Primeira coisa a se fazer é atualizar os repositórios do Raspberry. Para isso vamos digitar o comando:

$ sudo apt update



Agora precisamos fazer os pré-requisitos, que nada mais é do que instalação de alguns pacotes/programas:

$ sudo apt install git build-essential make libuv1-dev libssl-dev libhwloc-dev -y



Agora vamos fazer o clone do repositório do Git com o programa que vamos usar para fazer a mineração:

$ git clone https://github.com/xmrig/xmrig.git



Com o comando "ls -la", podemos ver que agora temos um diretório/uma pasta com o nome xmrig.


Para entrar no diretório xmrig, vamos utilizar o seguinte comando cd e em seguida vamos precisar criar um novo diretório chamado build com o comando mkdir. Dessa forma:

$ cd xmrig ; mkdir build



Esses outros arquivos e diretórios, eles já existem pois foram clonados através do comando git, ok?

Agora, nós vamos precisar entrar no diretório build que criamos e rodar um comando do linux para compilar o programa. A grosso modo, esse comando vai pegar os arquivos que estão nesse diretório do xmrig e criar nosso programa para mineração.

$ cd build ; cmake ..



Em seguida:

$ make



É normal demorar um pouco, teremos que esperar a compilação do programa finalizar.


Um ponto importante além de minerar uma criptomoeda, é o local onde ela será armazenada.
Vamos entender aqui alguns pontos:

O programa que estamos compilando no Raspberry será responsável por participar em pool de mineração, neste caso da cripto Monero, mas essas quantidades de cripto que você minerar no pool não podem ficar lá. De certo modo não é correto e seguro, então é recomendado que dado algumas quantidades mineradas você as transfira para sua carteira. 

Pode ser uma exchange? Pode! Mas também não é recomendado.

Uma exchange é o equivalente a uma corretora para troca, compra e venda de criptomoedas. Exemplo: Binance, Foxbit, Mercado Bitcoin, etc.
Algumas cobram taxas de transação (acho que todas na verdade), cobram pela transferência... mas acontece que você precisa delas para negociar suas criptos. Posso deixar tudo lá? Pode! Mas é por sua conta e risco. Se ocorrer algum problema com a exchange, você pode ser impedido de sacar, transferir, etc. Se a exchange for hackeada também... pode acontecer de você perder todas as suas criptos.

Aqui no nosso laboratório, nós vamos instalar uma carteira específica para receber os Moneros que forem minerados.

Você pode baixar acessando o link https://www.getmonero.org/, Downloads, Monero Gui Wallet:


Indo um pouco mais para baixo nessa tela de Downloads, você irá escolher a opção de acordo com seu sistema operacional.

Basicamente a instação é NNF (Next, Next, Finish).

Após a instalação você precisará abrir a Wallet e fazer a configuração dela.

Clicar na opção para criar uma nova carteira:



Defina um nome:


Na tela seguinte irá aparecer um conjunto de palavras que será necessário você salvar (tira foto, manda por e-mail, salva num Drive da vida... sei lá) ... mas você vai precisar disso caso queira recuperar em algum momento sua carteira e suas criptos.
A própria Wallet vai fazer um teste no passo seguinte para ver se você anotou tudo certinho.




Será necessário criar uma senha para a Wallet:


E por fim, clicar em "Create Wallet":


Podem ficar em paz, como eu criei essa carteira apenas para poder tirar os prints, ela não foi finalizada hahaha

Bem, agora nós precisamos fazer parte de um pool de mineradores. Para este caso, eu utilizei o https://moneroocean.stream/

Mas por que precisamos usar um pool de mineração?
Acontece que mesmo sendo possível a mineração de forma mais fácil da cripto Monero, mesmo podendo utilizar um Raspberry para isso, ele não tem grande poder computacional. Deste modo, se unir a um pool, faz com que as coisas acontecem de forma mais rápida. Unindo forçar, esse poder de processamento aumenta e assim conseguimos mais blocos minerados com um intervalo de tempo menor do que se fosse tudo feito sozinho.

Agora, nós vamos precisar juntar essas três pontas: o software que compilamos no Raspberry, o endereço do pool de mineração de Monero e o endereço da sua Wallet para que sejam feitos os depósitos dos seus Moneros.

Para isso, precisamos voltar no Raspberry e executar o seguinte comando:

Dentro daquela pasta build que compilamos o programa, Ok?

$ ./xmrig -o gulf.moneroocean.stream:10128 -u 438748DUuohdsoa8dsd80890948e9w8re90f0dsf89dsf0sd98r9djjadpaida9du9a0dua09sdu09asud0as9du0asud9u -p piJP

Onde: 
  • ./xmrig - é o formato para execução de programas de mineração;
  • -o - parâmetro para fornecermos o endereço do pool de mineração que neste caso é o gulf.moneroocean.stream na porta de comunicação 10128
  • -u - é o endereço da sua walleta. Isso mesmo, aquela que instalamos e configuramos. O endereço dela você consulta no menu do lado esquerdo "Receber" -> "Endereço" -> "Endereço primário"
  • -p - parâmetro para identificação dos mineradores dentro do pool. Neste caso eu coloquei como piJP, mas você pode escolher qualquer outro nome que faça sentido para você
Ao final, você deverá ver um resultado semelhante à esse:


Para acompanhar seu progresso quanto a mineração, você acessar o site do pool https://moneroocean.stream/ e onde aparece o campo "Your Monero Address ...", você adiciona o endereço da sua Wallet que foi o mesmo utilizado com o comando xmrig.

Vai demorar um tempo até processar e atualizar a página e até você conseguir suas primeiras criptos. 

Estes serão os campos onde o XMR Total Que foi o total minerado e XMR Paid é o valor que você já transferiu do pool para sua carteira.

Pontos importantes!

  1. Você pode ajustar o valor a ser transferido automaticamente para sua carteira quando ele for atingido, porém, o Monero Ocean cobra uma pequena taxa para isso (até aí OK, eles mantém todo pool de mineração);
  2. Existem um valor mínimo para poder fazer a transferência;
  3. Você pode criar envio de e-mails para acompanhar isso;
Clicando neste botão:


Você terá acesso a parte de configuração de threshold e pagamento:


Outro ponto importante!

Quando você transfere suas criptos do pool para sua carteira, eles são seus de fato e estão salvos no seu computador.
Posso perde-las? Sim, sempre pode! Basta você esquecer a senha, as palavras de recuperação, se seu computador for invadido e seus dados criptogrados também, mas de fato, é a forma mais segura de se manter e salvar suas criptos.

Não vou entrar no mérito de carteiras do modelo cold Wallet, isso fica pra próxima.

Entendido isso, fica uma dúvida agora: "Mas como então eu posso vender ou trocar meus Moneros?"

Você precisa transferi-las da sua Wallet para uma Exchange e lá dentro você faz tudo isso.
Este passo fica complicado de mostrar, por que cada exchange tem seu layout e opções, então vai depender da qual foi escolhida por vocês. Inclusive se tal Exchange tem a cripto Monero no seu portfólio. 

Mas basicamente, na wallet do seu computador, você vai no menu "Enviar" -> No campo endereço você irá informar o endereço da sua conta na Exchange (algumas criam endereços diferentes pra cada cripto) -> clicar em Enviar.


É isso.
Espero que todos se animem de explorar a mineração de Monero e fazer todo esse procedimento. 😃

Reforçando... isso é legal demais!!! rsrs

Abs e até a próxima pessoal.
:wq!

terça-feira, 9 de janeiro de 2024

Raspberry PI - Instalando o Raspberry PI OS

Salve pessoal, tudo bem?

Uma das coisas mais legais que já criaram sem dúvidas é aquela plaquinha pequena, apenas com conexão USB, rede, HDMI, fonte de alimentação e com Wifi.

Isso mesmo, o Raspberry ...

Existe uma infinidade de coisas que podemos fazer com ele, dentre um desses usos está a mineração de criptomoedas.

Isso mesmo! Mesmo ele não tendo um elevado poder de processamento (se comparado com um PC ou Notebook) e praticamente nenhum se comparado com as mineradoras de Bitcoin, é possível com um Raspberry minerar criptomoedas.

A ideia aqui é primeiro mostrar como preparar um Raspberry, como instalar o Raspberry PI OS, como conectar ele na internet e como acessá-lo sem a necessidade de um monitor, teclado e mouse... E posterior, como prepara-lo para minerar uma cripto chamada Monero.

Para isso, vamos precisar:

  • 1 Raspberry PI (neste caso estou usando o 3);
  • O programa Raspberry PI Imager;
  • Um cartão SD para comportar o SO (aqui estou usando um de 16GB);
  • Uma fonte de alimentação para ligar a placa;
  • Um PC ou Notebook para baixar a imagem do PI OS, instalar o programa para gravação da Imagem, e entrada ou algum adaptador para conectar o cartão SD;
Aqui no meu exemplo, eu vou fazer utilizando um Macbook com MacOS instalado. Devido a isso, eu preciso utilizar um adaptador para conseguir conectar nele o cartão SD.

Mas vamos lá, tendo tudo em mãos... Vamos primeiro baixar a Imagem do PI OS direto do site do projeto: http://downloads.raspberrypi.org

Para facilitar, vou colocar direto o link para o diretório com as versões de imagem que podemos utilizar - http://downloads.raspberrypi.org/raspios_lite_arm64/images/


Aqui eu utilizei a versão mais recente que é essa abaixo:


Clique no respectivo nome de imagem para fazer download (2023-12-11-raspios-bookworm-arm64-lite.img.xz)

Assim que o Download finalizar, vamos baixar o Raspberry PI Imager, que é um programa para nos ajudar  nessa parte de gravar a imagem do PI OS no cartão SD.

Você pode baixar ele através do site oficial do projeto - https://www.raspberrypi.com/software/

Basta escolher a versão pertinente ao seu sistema operacional. Mas resumo da instalação ... NNF (Next. Next, Finish).

Assim que ele for instalado, vamos abri-lo:


Aqui, nos vamos focar em dois campos apenas: Operating System, onde iremos escolher a imagem que baixamos no primeiro passo e Storage, onde iremos escolher o cartão SD, que é o destino final onde o Imager vai fazer todo trabalho de instalação do sistema operacional.

Quando você clicar em Choose OS, iremos clicar em Use custom:


Vamos selecionar a imagem que baixamos:


Em seguida vamos clicar em Choose Storage:


Aqui cabe um ponto de atenção. É sempre bom tomar cuidado com o dispositivo a ser escolhido, se você tiver mais de um cartão SD conectado com PC ou Notebook, se você tiver algum pendrive, etc. Pois ao término do procedimento ele irá apagar tudo que existe gravado, OK?

Devemos chegar na tela de seleção com as seguintes informações:


Clicar em Next ...

Na tela seguinte, vamos clicar em Edit Settings:



Aqui iremos configurar nosso usuário e senha para acesso ao Raspberry PI OS, podemos colocar um hostname para ele, configurar a rede Wifi e habilitar o acesso SSH, que é o acesso remoto via linha de comando.


Hostname eu irei manter o padrão, que é raspberrypi, username vou colocar meu nome mesmo (joao), mas fique a vontade para colocar um username de sua preferência, uma senha para esse login (joao), o nome da minha rede Wifi e a senha para conectar nela.

Em services, eu apenas habilitei o acesso SSH.


Terminando de editar tudo, clicar em Save. E por fim, clicar em Yes para poder aplicar as alterações feitas e gravar tudo isso no cartão SD:


O Imager irá enviar um alerta, informando que tudo que está gravado (tendo ou não) neste cartão SD, será apagado.
Clique em Yes para continuar...


Agora é só acompanhar o processo de gravação da tela inicial do Imager:


Como vai demorar um pouco, sugiro que você tome um café! ☕

Quando terminar, você irá receber uma mensagem informando que você pode remover o cartão SD:


Agora que essa parte da gravação da imagem do PI OS terminou, você pode inserir ele na placa do Raspberry e ligá-lo na energia.

Como nós configuramos o Wifi, ele irá conectar automaticamente (pelo menos é isso que deve acontecer, dando tudo certo). 

Tá ... Mas como eu vou saber o IP que ele irá receber do meu modem Wifi?
Bem, para isso, você precisará conectar no seu modem através da central admin e ver na lista de IPs conectados o hostname que você deu para o seu Raspberry.


Agora você pode utilizar o CMD, Putty, terminal, qualquer outra ferramenta que você utilize para se conectar via SSH no Raspberry com o usuário e senha que você inseriu durante a configuração do Imager.


Pronto!
Já temos um Raspberry PI, com SO instalado, configurado para acessar a internet e com conectividade na nossa rede interna via SSH.

É isso...

O próximo post, iremos preparar esse carinha para minerar uma cripto chamada Monero.

Abs e até a próxima.
:wq!

quinta-feira, 2 de novembro de 2023

Inteligência Artificial na criação de imagens

Fala pessoal, tudo bem?

A inteligência artificial vêm redefinindo muito a maneira como criamos e interagimos com imagens. Mais precisamente com a criação de imagens.

Através da IA, com suas redes neurais e algoritmos avançados, está capacitando artistas, designers mas principalmente amadores, pessoas que nunca desenharam nada (as vezes só os bonecos de palitos rs) a produzirem verdadeiras obras de arte, com visual impressionante e até riqueza de detalhes.

Podemos até mesmo criar imagens com a IA no estilo Pixar. Que diga-se de passagem, foi uma febre aí nas últimas semanas.

Aqui vai uma lista de sites que você pode começar a brincar um pouco com a IA e o poder de criação de imagens.

Obs.: Muitos sites podem liberar alguns "créditos" para que assim você possa fazer uma degustação e caso seja útil para seu trabalho ou mesmo para seu hobbie podem existir assinaturas. 

A maioria vai solicitar um cadastro também, OK?

  1. Runway ML (runwayml.com): Oferece uma variedade de modelos e ferramentas para criar e experimentar com imagens geradas por IA.


  2. Deep Dream Generator (deepdreamgenerator.com): Baseado no algoritmo DeepDream do Google, permite transformar suas fotos em imagens psicodélicas geradas por IA.


  3. Artbreeder (artbreeder.com): Permite criar novas imagens combinando e ajustando imagens existentes usando IA. É uma plataforma divertida para experimentar diferentes estilos visuais.


  4. Runway ML's DALL-E (runwayml.com/dall-e): Esta é uma implementação do modelo DALL-E, que é conhecido por gerar imagens a partir de descrições de texto. Você pode experimentar essa IA online.


  5. DeepAI (deepai.org): Oferece várias ferramentas baseadas em IA, incluindo a geração de imagens a partir de texto, estilização de imagens e muito mais.


  6. PaintsChainer (paintschainer.preferred.tech): Um serviço que utiliza IA para colorir desenhos e ilustrações automaticamente.


  7. Nvidia GauGAN (nvidia.com/en-us/research/ai-playground): Uma ferramenta que permite pintar paisagens em estilo livre e, em seguida, traduzir esses traços em paisagens realistas com IA.


  8. Deep Dream (deepdreamgenerator.com): Baseado na tecnologia de aprendizado profundo do Google, permite criar imagens surrealistas transformando suas fotos em obras de arte geradas por IA.


  9. This Person Does Not Exist (thispersondoesnotexist.com): Mostra retratos de pessoas que não existem, criados por uma rede neural generativa.


  10. DeepArt.io (deepart.io): Permite aplicar estilos artísticos a suas fotos usando IA, inspirados por artistas famosos.


    Eu tomei uma "liberdade poética" e fiz um teste o qual vou compartilhar com vocês neste post. Quem diria que o Papa Francisco é um multi-instrumentista?






    Ou quem poderia imaginar que o Steve Wonder pilota um barco sozinho?


    Ou até mesmo, quem poderia imaginar que uma das mentes mais brilhantes do mundo é um esportista nato?



    Todas essas imagens foram criadas através de uma das ferramentas de I.A compartilhadas neste post.
    Legal né?
    Muito!!!

    Mas é claro, que em alguns aspectos temos que tomar muito cuidado e até os próprios sites já possuem alguns mecanismos do que permite criar ou não.

    Agora é soltar a criatividade e colocar a I.A para trabalhar e além de diversão, utilizar nos negócios como campanhas, flyers, etc.

    Bom divertimento pessoal.
    Abs

    :wq!


segunda-feira, 9 de outubro de 2023

Inteligência Artificial - Entrevista Silvio Meira no Programa Roda Viva - TV Cultura

Fala pessoal, tudo bem?

Compartilhando aqui uma entrevista muito legal do Silvio Meira no programa Roda Viva da TV Cultura, falando de várias coisas e principalmente sobre Inteligência Artificial.

Temos como "fake news', privacidade de dados e regulamentação de redes sociais também são outros temas abordados na entrevista.

Silvio Meira é professor, fundador/cientista chefe da TDS Company e também um dos fundados do Porto Digital, presidindo o conselho de administração. O Silvio é fera!!!


Link do vídeo


domingo, 24 de setembro de 2023

Inteligência Artificial e Dilemas Éticos


Fala pessoal, tudo bem?

De uns tempos pra cá, parece que a grande "bola da vez" no mundo da tecnologia, é a Inteligência Artificial ou apenas I.A.

Claro que como um grande fã e amante de tecnologia, eu acho esse assunto incrível, além é claro das possibilidades de uso.

Mesmo se tratando apenas de tecnologia, existe um assunto que não pode ser ignorado ou sequer ser deixado de lado num primeiro momento.  Estou falando da Ética!
Pode não parecer num primeiro momento, mas I.A (é assim que irei tratar o termo Inteligência Artificial),  está relacionado diretamente com questões éticas, mais do que se imagina.

Na minha opinião, assim como tudo na vida, tem bônus e ônus e mediante a isso, decidirmos pelo que vale a pena. A I.A. também envolve esse dilema.

Vamos para um exemplo do lado bom da I.A.:

Avanço mais rápido e até revolucionário de áreas como saúde, educação, direito, segurança e transporte.

Interessante, não?!

Agora temos dilemas éticos que podem vir junto com a I.A.:

Privacidade, transparência,  responsabilidadess, questões legais e sociais, mercado de trabalho (relação direta com desemprego), fins militares... E por aí vai.

Mas o que é "ética"?

De acordo com o dicionário Aurélio (sim, pode me chamar de velho rs, pra mim eu estou virando um clássico rs):

É o estudo dos juízos de apreciação que se referem à conduta humana susceptível de qualificação do ponto de vista do bem e do mal, seja relativamente à determinada sociedade, seja de modo absoluto.

Simplificando ...

Algo moral, íntegro, digno, honesto, honrado, correto, certo, decente.

Mas então, o que vem a ser ética na I.A.?

- São discussões sobre os valores que precisam e devem orientar a criação,   uso e controle desse tipo de tecnologia.

Temos que lembrar e reforçar que por trás da I.A., temos humanos envolvidos,  sejam os programadores ou mesmo os idealizadores/patrocinadores, financiadores disso.

Simplificando de novo:

Pode haver um conflito de interesse, segndas intenções, fazendo assom o uso indevido por trás da I.A.

Vamos destrinchar isso um pouco mais, para ficar mais claro.

  • Algoritmo

Para aqueles que não estão familiarizados com o que são algoritmos, aqui vai uma explicação:

Em matemática e ciência da computação, um algoritmo é uma sequência finita de ações executáveis que visam obter uma solução para um determinado tipo de problema. Segundo Dasgupta, Papadimitriou e Vazirani; "Algoritmos são procedimentos precisos, não ambíguos, padronizados, eficientes e corretos."

Fonte: https://pt.wikipedia.org/wiki/Algoritmo

Mediante a base de dados utilizada no treinamento, podemos reproduzir preconceitos e discriminações  existentes na sociedade atual.

Com este tipo de viés, decisões injustas e com desigualdade podem ser tomadas.

Isso ocorendo com a I.A. que está sendo utilizada na justiça ou recrutamento, quando falmos de seleção de pessoas para os mais diversos fins, já pensou?

É preciso que técnicas, diretrizes, controles e normas sejam desenvolvidas e aplicadas para evitar isso.

Exemplo: Sistemas de reconhecimento facial. Dependendo do modelo utilizado, ele pode "excluir" determinados reconhecimentos de pessoas por não estar dentro do "padrão" que ele conhece.

  • Privacidade

Podemos usar I.A. quando à necessidade de coleta e processamento de dados, seja numa forma branda ou até mesmo de forma massiva.

Mas e se esses dados, forem dados pessoais?  Dados sensíveis? 
Como fica a privacidade?
E se esses dados forem utilizados  para vigilância?

Isso não pode ser caracterizado como um ambiente de controle? Perseguição?

A vigilância excessiva causa isso.

Parece até o modelo de regimes autoritários.

Precisam ser estabelecidas regras muito claras quanto ao uso de dados pessoais e a vigilância por parte da I.A.

Exemplo: Semelhante ao primeiro exemplo, sistemas de vigilância com reconhecimento facial utilizados em locais normalmente públicos, mas não limitados apenas a estes.

  • Autonomia e responsabilidades

Existem sistemas de I.A. que são utilizados para tomadas de decisão.
Eles trabalham de forma autônoma,  ou seja, não possuem intervenção humana.
À partir deste momento, ele passa a ter responsabilidade  por essas decisões?

Hoje, um dos sistemas autônomos  talvez mais comum e que a maioria de nós conhecemos, são os carros autônomos.
Agora, imagine que esse carro autônomo causou um acidente  (não vamos neste momento entrar no mérito de qual acidade).

Quem é o responsável?

Novamente, precisamos discutir e que sejam estabelecidas regras, critérios e até leis para atribuição de responsabilidades.

  • Discriminação/Exclusão social

Assim como comentado na ética envolvendo "algoritmos", precisamos garantir e trabalhar para que a I.A. sempre seja justa e imparcial.

A I.A. precisa ser inclusiva e sem discriminação.

  • Mercado de trabalho

Como qualquer nova tecnologia, a I.A. também causa uma grande preocupação no mercado de trabalho. Essa preocupação relacionada mais diretamente a demissões e extinsão de alguns cargos.

Afinal, a I.A. pode substituir humanos em suas funções?
Na minha visão e opinião,  pode sim. Sem sombra de dúvidas!

O trabalho que deve ser feito em cima disso, está relacionado nas formas que essa transição deve ocorrer.

Os trabalhadores precisam começar serem desenvolvidos para as novas habilidades necessárias, para que estes ocupem os novos cargos e possam executar em sua totalidade as novas funções e responsabilidades.

Todo mundo tende a ganhar com essa transição justa, de forma assistida e acma de tudo ... Mais humanizada.

  • Uso em questões militares

Não deveria  ser novidade para ninguém  os medos e o poder devastador e bombas atômicas e guerras nucleares, certo?

Imagine agora toda essa potência devastadora se unindo aos poderes da I.A.?

Tenso, não é?

Drones autônomos podem tanto atingir um alvo com extrema precisão, quanto tomar decisões sem instruções humanas.

Nesse contexto de uso militar, é um pouco mais complicado. Afinal cada país tem suas leis, regras e ambições quanto a este assunto, guerras, armamento, espionagem, etc. Podemos não desenvolver I.A. para esse fim, mas nada impede que outros países o façam.

Agora foi apenas uma abordagem macro das questões mais importantes que envolvem o encontro desses dois temas: Ética e I.A.

O tema I.A. por sí só, é muito extenso e complexo. Somando agora as questões éticas, isso aumenta de forma exponencial, envolve preocupações legítimas e importantes para o bem-estar da sociedade e até sobrevivência de nações.

Ainda existe muita água para rolar quanto à tudo isso, mas vamos acompanhar!

Pra você que chegou até aqui, um abraço e até a próxima.

:wq!

sábado, 20 de maio de 2023

I.A - Inteligência Artificial

O que é inteligência artificial?

De forma bem simples e objetiva, é a capacidade de uma máquina reproduzir atividades/competências como se fosse um ser humano. Atividades como:

  • Raciocínio;
  • Aprendizado;
  • Criatividade;
  • Planejamento;
  • Reconhecer padrões;
  • Inferência ( 1. ação ou efeito de inferir; conclusão, indução. | 2. Lógica: operação intelectual por meio da qual se afirma a verdade de uma proposição em decorrência de sua ligação com outras já reconhecidas como verdadeiras. );
A parte legal disso tudo, está no fato de que a I.A (daqui pra frente vamos utilizar I.A para referir a Inteligência Artificial, ok?) vai aprendendo de forma autônoma.
Conforme ela tem interações, ela vai aprendendo e fazendo com que sua base de conhecimento cresça e cada vez mais tenha condições de atender inicialmente novas interações.

Outro ponto importante está na ideia de que ela possa executar atividades manuais/motoras que geram desgaste em humanos ou até mesmo animais.

Veja alguns exemplos:

Drone sobrevoando o campo

Imagem extraída de Forbes

Robô em um armazém

Imagem extraída de Mundo Conectado

Cão robô segurança

Imagem extraída de Tilt UOL

São apenas alguns exemplos, mas já é possível ter uma ideia da abrangência que a I.A pode ter para os mais diversas atividades e funções.

Como ponto principal disso tudo está em melhorar a eficiência, previsão e segurança.

Mas calma aí... Então ela vai substituir pessoas e alguns determinados trabalhos?
Se formos pensar "friamente", sim. Mas se formos pensar em um contexto mais abrangente o que deve ocorrer é uma troca de funções e por consequência disso a adaptação das pessoas quento as novas atuações.

Parece meio confuso, mas vamos para um exemplo:
  • Um robô que entra em uma mina para explorar. Dado os riscos de enviar uma pessoa ou um grupo de pessoas (vide casos de vários que já ficaram presos dentro de minas, fora risco de lesões, desabamento, etc), ao enviar um robô com câmera, sensores e condições de se adaptar ao lugar, precisaremos de pessoas que irão operá-lo manualmente caso aconteça alguma coisa, mas isso sendo feito de um local seguro. Acompanhar as descobertas feitas pelo robô, os dados capturados e apoiar nas estratégias do que fazer e como fazer.
Outro exemplo:
  • Como em uma das imagens que compartilhamos acima, um drone sobrevoando e coletando dados do campo. Muitos até fazem atuações como controle de pragas, questões envolvendo estudo da plantação, dentro outros. Ainda assim é necessário uma pessoa acompanhando e monitorando tudo, controlando o voo do drone. Agora imagine tudo isso sendo feito por um humano, tendo que andar e percorrer toda extensão de terra da plantação, carregando equipamentos pesados e desconfortáveis, inalando o cheiro de produtos tóxicos, exposto ao calor extremo, chuva, etc.
Mas como chegar em tudo isso e ter esse resultado final?

Através da receita: Big Data + Computação em Nuvem utilizando modelos de dados (lembrando que um bom modelo de dados ou melhor, o correto para determinada situação, faz toda diferença) e no final = máquinas inteligentes.

Existem tipos de I.A?
Existe sim ... Vamos a eles...

Até o presente momento, temos 3:
  • I.A Limitada (ANI)
  • I.A Geral (AGI)
  • Superinteligente (ASI)
I.A Limitada (ANI)

Esse modelo é conhecido como I.A "fraca", tendo inteligência mas atendendo a um único propósito.
Armazenar um grande volume de dados para realizar atividades complexas mas de acordo como foi programado para fazer.
Tem a capacidade de fazer cálculos complexos e tudo isso com muita rapidez.
Dentro da I.A limitada, ainda temos duas subcategorias:
  • Máquinas reativas: armazena de certo modo poucos dados e reage a poucos estímulos de acordo com sua configuração;
  • Memória limitada: armazena mais dados que o modelo anterior e os utiliza para tomada de decisão. Esse modelo aprende com base em escolhas anteriores de outros usuários, oferecendo conteúdos semelhantes;
I.A Geral (AGI)

É considerada uma I.A mais "forte", próximo a uma nível humano, tendo capacidade de resolver tarefas semelhantes as realizadas por humanos.
Aprendendo através de machine learning, compreende e reage a estímulos específicos.
Aqui também temos duas subcategorias:
  • Máquinas cientes: tem a capacidade de compreender estímulos que recebe para processar as informações;
  • Máquinas autoconscientes: tem a consciência de si própria e do que está ao seu redor, tornando de certo modo mais fácil a compreensão de estímulos externos. Sua reação se assemelha a um ser humano.
Superinteligência (ASI)

Está em fase de estudos e seu futuro ainda é uma incógnita por diversos fatores, dentre eles questões legais e talvez regulatórias.
Estima-se que ela será superior a inteligência humana, com capacidade de realizar tomadas de decisões e armazenar dados também.
Existe uma ideia, uma possibilidade, de essa I.A ser superior a mente humana (que loucura né? rs), mesmo que pouco, e sendo mais inteligente podendo assim executar atividades impossíveis para humanos. Pelo menos isso é o esperado ou apenas o desejo.

Embora muito se fale e se tenha acesso hoje quanto a I.A, ainda existe um longo caminho entre sua maior popularização, acesso e acima de tudo, como, quando e por que/quem ela pode e deve ser utilizada.
Como reflexão disso... vale lembrar que existem tantas coisas que foram feitas pensando no uso do bem e foram convertidas também para o uso do mal.
Outro ponto é... muito já se percorreu para chegar onde chegamos mas é claro que ainda podemos ir muito mais longe com a I.A.

Por hora é isso.
Até a próxima pessoal.
:wq!

sábado, 22 de outubro de 2022

O que é Cloud Computing?


Cloud Computing

Salve pessoal. Tudo bem?

Mas afinal, o que é Cloud Computing?

Traduzindo de forma literal, Computação em Nuvem:

"É uma tecnologia que permite acesso remoto a softwares, armazenamento de arquivos e processamento de dados por meio da internet. É uma alternativa para você acessar dados importantes de qualquer computador, em qualquer lugar."


Origem: SalesForce


Trazendo para nosso dia a dia, é o fato de você poder construir serviços e soluções sem a necessidade de comprar servidores, equipamentos de Storage, equipamentos de rede (em partes) ou até mesmo sem a necessidade de realmente ter que desenvolver algo do zero.


Quando listamos o necessário no modelo "tradicional" de antigamente, temos:


  • CPD's ou Data Centers;
  • Aquisição de hardware (servidores, switches, roteadores, firewalls, storages, dentre outros);
  • Cabeamento;
  • Estrutura de ar condicionado;
  • Controles de acesso e segurança física;
  • Mão de obra especializada para suporte e instalação do equipamentos;
  • Contratos de manutenção de hardware;
  • Seguro;
  • Dentre outros ...
Claro que nem todas as empresas tinham esse total de soluções e equipamentos, mas é só pra elencar alguns dos principais serviços que antes precisávamos adquirir para podermos começar a prover nossos serviços aos clientes, sejam internos ou externos.

Tá, mas até aí, qual o problema?

O problema disso tudo é que requer investimento tanto inicial (Capex) quanto no decorrer do tempo (Opex).
Quando vamos comprar um servidor (não importa a marca e o fabricante), ele custa um determinado valor que normalmente é elevado, junto temos o contrato de manutenção para troca de peças e suporte do fabricante ou mesmo de uma empresa terceira, algum componente adicional que vai adicionar um novo custo no preço total.
O mesmo vale para os demais equipamentos em suas respectivas áreas de atuação.

Outro problema, as vezes precisávamos adquirir um determinado equipamento para subir um site de um e-commerce, só que precisamos lembrar que temos alguns períodos onde ocorre um volume maior de acessos dos clientes (black friday por exemplo), e o equipamento tem uma quantidade de recursos finito. Logo, precisamos de mais equipamentos para comportar o aumento de acessos. Para isso, antigamente nós tínhamos que comprá-los e ficar com eles ociosos nos períodos em que não tínhamos mais essa elevada quantidade de acessos.

Recurso parado é dinheiro perdido para companhia.

Ah, mas eu posso alugar quando for necessário!

Pois é, você pode! Mas você precisa lembrar que vai ser necessário espaço físico, parte elétrica, refrigeração, cabeamento, etc, etc, etc.
Dependendo da quantidade necessária você vai ter que contar que o locatário terá a quantidade, quanto mais perto desses períodos maior será o custo também ...

Fora que existe o tempo entre alocação (ou até mesmo na compra), preparação do ou dos equipamentos, entrega, instalação, configuração e liberação do ambiente para os técnicos começarem a prover os serviços e soluções.
Tempo também é dinheiro!

Foi aqui que a Amazon e outros players tiverem a sacada de prover tais recursos como serviço.

Você não precisa se preocupar a partir disso com quantidade de servidores físicos que vamos precisar comprar e/ou deixar parados no estoque para quando precisarmos usar, cabeamento, estrutura de ar condicionado, controle de acesso físico, etc.
Você não se preocupa mais com isso, essa preocupação e responsabilidade agora é do "aspira"(AWS).

Pensa bem ...
Todo aquele estudo de caso, size dos equipamentos, periféricos adicionais, cotação de preços, prazos de entrega, instalação física, atualizações de firmware/BIOS, troca de peças, toda aquela manutenção que você seria o responsável e ainda gastar por isso, agora a AWS faz pra você.

Poxa, mas de um servidor, agora preciso de mais quatro... Como eu faço?
A AWS já tem isso pronto pra você!
Mas eu só preciso usar esses quatro nessa semana, depois não vou mais precisar. Vou deixar parado lá no Data Center da AWS?
Jamais!!! Você paga por uso desses quatro nessa semana e depois devolve para AWS que ela libera para outro cliente quando precisar usar.

Veja que estamos falando isso de recursos computacionais (servidores), mas a ideia não se restringe apenas a eles.
Temos serviços de armazenamento, serviços de banco de dados, serviços de conectividade, dentro uma infinidade de outros serviços que a AWS oferece pra você.

Outra parte legal, você não precisa se restringir a uma única localidade. Você pode subir os seus serviços em locais espalhados de forma global.
Eu posso subir um site hospedado na AWS dos Estados Unidos, posso subir o serviço aqui no Brasil e replicar para os Estados Unidos. Existe um leque de possibilidades e de casos que você precisa estudar e avaliar para desenhar como ficaria isso.

Obs.: Existem questões regulatórias para alguns ramos de atuação que vão mudar de país para país, por isso você também precisa ficar atento a isso quando for escolher uma determinada Região para hospedar seus serviços.

Então para resumir, quando falamos de Cloud estamos falando de agilidade e praticidade para termos recursos de conectividade, recursos computacionais e de armazenamento através de um portal self-service.
Até mesmo de serviços pré-prontos, só jogar um código lá pra rodar ...

Só precisamos sempre ter em mente, que no final, a parte ali que não vemos, temos data center, servidores, equipamentos de rede, requisitos de segurança, contratos de suporte, etc ... mas essa parte a AWS que se preocupa.

Por hora é isso.
Abs e até a próxima!
:wq!

sábado, 15 de outubro de 2022

Cloud Computing (AWS)... e o retorno =]



Salve pessoal. Espero que estejam todos bem!

Andei meio sumido, várias mudanças foram acontecendo na minha trajetória profissional, etc... mas estamos de volta. 
A ideia é voltar e fazer uma séria de conteúdo falando sobre Cloud, mais precisamente sobre um conteúdo voltado para os serviços AWS.

Vamos falar sobre:

  • O que é Cloud Computing;
  • Alcance global AWS;
  • Principais serviços AWS (Core Services);
  • AWS Integrated Services;
  • Segurança;
  • AWS Access (console, SDK e CLI);
  • AWS Core Design / Well Architected Framework;
  • Billing and Pricing;
Vou tentar ao máximo separar em partes que tragam uma abordagem clara e bacana sobre cada assunto, embora vou ser sincero, tem alguns que são um pouco mais maçantes.

Este conteúdo já serve também de tabela para começarmos a entender sobre os serviços dos demais players (Azure, GCP, Oracle, dentro outros). Onde o conceito acaba sendo praticamente o mesmo, mudando apenas o nome, como é integrado ou disponibilizado e a ideia que cada player fez o serviço para ele funcionar.

É isso ... 
Bora preparar o conteúdo para ir disponibilizando.

Abs
:wq!