quarta-feira, 9 de agosto de 2023

Redes e as frases sinceras


Cursei uma disciplina como ouvinte no primeiro semestre de 2023. A disciplina é básica no currículo e foi importante na revisão de conceitos. Vou ser vago pois a ideia é só destacar as frases que ouvi no curso. Ressalto que as frases não são minhas. As frases eu as considero como pérolas pois são fruto de anos de trabalho e experiência sincera do professor, que não vou identificar pois a ideia é destacar as frases. As frases tem o tom jocoso mas de nenhum modo preconceituoso pois vem da visão de um profissional que de fato trabalhou aqueles temas. Mas posso dizer que para mim como ouvinte foram momentos de leveza, um escape humorístico e que, claro, ajuda na pedagogia. O post pode ficar curto pois não são muitas frases. Em algumas delas vou dar contexto, claro que não é uma tentativa de explicar a piada. Mas para não dizer que foi pouco trabalho vou produzir imagens com cada uma das frases.

Frase 1
Há profissionais que não engolem o Java, mas se dão muito bem o Javascript, que de fato não faz parte da plataforma Java. O JavaScript surgiu em 1995 e é posterior ao Java que surgiu em 1991. As linguagens são de empresas diferentes. Javascript recebeu este nome como jogada de marketing, uma tentativa de popularização. Javascript teve vários nomes antes de ter este definitivo. Foi primeiro chamado de  Mocha e depois LiveScript. Então sim, é possível mostrar todo o seu desgosto com o Java e amar o Javascript.

Frase 2
As tecnologias de frontend (ou front-end) são todos os recursos que realiza uma interação direta com o usuário que consiste principalmente na interface gráfica. Essas tecnologias tem seu valor, claro ! Porém em relação às tecnologias de backend que englobam o que podemos considerar o que é mais fundamental em redes de computadores e que está muito relacionado aos serviços, protocolos, sistemas e a fundamentação matemática, estatística, física e até filosófica. 

Frase 3
Sem comentários

Frase 4
Sim, não só os protocolos mas toda a fundamentação de conexões de rede, tem um quê de espetacular na medida em que apesar dos avanços principalmente em termos de velocidade, a base, o fundamental se manteve. Daí o seu valor. Para corroborar esse ponto de vista menciono a Association for Computing Machinery - ACM. A ACM é uma sociedade científica dedicada à Computação. ACM analisa, reconhece e laureia de diferentes formas os avanços computacionais com impactos positivos na sociedade. Assim sendo o principal prêmio da ACM é o A. M. Turing Award (Prêmio Turing) - considerado o prêmio Nobel da Computação. Em 2004 o Prêmio Turing foi concedido a Vinton Cerf e Robert Kahn pelo trabalho pioneiro em internetworking, incluindo o projeto e implementação do TCP/IP. Em 2016 foi laureado Tim Berners-Lee pela invenção da World Wide Web, o primeiro navegador web, e os protocolos e algoritmos fundamentais que permitiram a escalabilidade da web. Em 2022, Robert Metcalfe foi laureado pela invenção, padronização e comercialização da tecnologia Ethernet. Então SIM, há grande valor nesses avanços.

Frase 5
Pelas mesmas razões da frase anterior, o TCP/IP tem uma performance tão excelente que é sugerida sua utilização aos modelos de predição.

Frase 6
Pela experiência pessoal do profissional, parte dos trabalhos em Engenharia de Software tem muito de "blá", lero-lero e pouca entrega, ao contrário dos conceitos de Redes que tem que ser eficientes, performáticos caso contrário não são usados, virar padrão então fica impossível. 

Frase 7
O conceito original de heurística (procedimento mental simples que ajuda a encontrar respostas adequadas para perguntas difíceis) pode dar margem sim para seja "um chute" aleatório. Então, entre amigos numa brincadeira, cabe sim rebaixar a heurística a este patamar.

Frase 8
O Cálculo Numérico corresponde a um conjunto de ferramentas ou métodos usados para se obter à solução de problemas matemáticos de forma aproximada. Esses métodos se aplicam principalmente a problemas que não apresentam uma solução exata. Já o machine learning se propõe a fazer predições automáticas baseado em um conjunto de dados que "aproxima" as predições da realidade usando recursos, métodos, conceitos da área de Inteligência Artificial. A semelhança dos conceitos EXISTE ! E é um grande insight. Defensores de qualquer uma das áreas podem ficar chateados com este tipo de afirmação mas ela não é de modo algum totalmente desconectada da realidade.   

Frase 9
Para mim esta é uma das melhores, ela não é tão polêmica, mas é o reconhecimento da supremacia do SO Android que é versátil o suficiente para rodar nas mais diferentes arquiteturas e plataformas. Daí ele ser um candidato a equipar nossa versão cibernética.



sábado, 5 de agosto de 2023

Ferramentas de IA


No passado recente os avanços na área de Inteligência Artificial em seus múltiplos desdobramentos tem sido tão vertiginoso que apontar tais desdobramentos é estar fadado à rápida desatualização. Com relação às ferramentas, idem. Ainda assim é possível verificar quais ferramentas e recursos estão disponíveis e alguns tornam-se referência podendo ser utilizados por mais tempo. Lembrando que a lista não é recomendação. A maioria das ferramentas indicadas são para desenvolvedores e são em geral baseadas nas IAs mais famosas.

1. Soluções voltadas a código. Soluções que escrevem, depuram ou explicam códigos. Não vou citar as três principais pois já são muito famosas - ChatGPT, GitHub Copilot, OpenAI Codex


DeepCode - A principal proposta da DeepCode é a geração de um código seguro ou da análise de segurança de outros códigos. A desenvolvedora do DeepCode destaca as qualidades do produto e se propõe a demonstrar em como o DeepCode pode de fato melhorar códigos existentes e propor novas soluções.

Figstack - Com o Figstack o programador poderá obter a explicação linha a linha do que o código faz. Este recurso permite ao Figstack ser uma boa solução para documentação de código. A ferramenta também traduz código entre uma linguagem de programação para outra. Outro recurso disponível nesta ferramenta é avaliar a eficiência do código submetido (em inglês Big O) e claro faz sugestões de melhorias. 




2. Soluções voltadas a vida prosaica do empreendedor como criação de imagens, áudios, vídeos e outros automatizações. 


Fliki - Fliki é uma ferramenta AI para transformar texto em vídeos com vozes e assim você deixa de pagar uma fortuna para produtoras pois vídeos simples o Fliki dá conta. Não tentei ao ponto de me aprofundar, mas o vídeo inicial dá uma ideia boa das possibilidades. O próprio YouTube poderia ter mais recursos tais como esse, quem sabe no futuro, por enquanto Fliki e similares ajudam os criadores de conteúdo.

Runway - Outra ferramenta com tecnologia de IA como a primeira, porém Runway gera vídeos muito mais sofisticados. O Runway foi projetado para criadores de todos os tipos, seja você um escritor experiente ou um iniciante em busca de ajuda. Boa alternativa para geração de material de divulgação de projetos e negócios.

Resemble - O Resemble é uma ferramenta de IA exclusiva que permite criar narrações de alta qualidade e semelhantes a humanos em segundos de maneira natural e o menos sintetizado possível e em vários idiomas. O que o torna útil para dublagens. Você pode usá-lo para adicionar narração de nível profissional aos seus vídeos ou podcasts. É perfeito para criar narrações para materiais de marketing, tutoriais e demonstrações de produtos. 

HyperWrite - HyperWrite é uma poderosa ferramenta de escrita; Conta com 93 módulos diferentes todos voltados para a escrita de texto. De e-mails, artigos, teses, documentação de sistemas, etc, o HyperWrite se dispõe a gerar texto claro, conciso e preciso. O HyperWrite também possui funcionalidade integrada para melhorar a legibilidade e gramática. Além disso, permite fácil compartilhamento e colaboração em documentos, o que é especialmente útil para equipes remotas e desenvolvedores que trabalham em projetos de código aberto.


Menção honrosa ao 1Tools. 1Tools oferece uma vasta miscelânea de recursos, a princípio gratuitamente. Apesar de ter testado, a variedade é tanta que é difícil não haver pelo menos uma que não resolva bem as dores de desenvolvedores e empreendedores. 


3. Soluções para comunidades de desenvolvedores, infraestrutura em nuvem e IA. Apesar da tentativa de classificação das ferramentas nessa categoria, cada uma das indicações aqui é uma mistura de plataforma, rede social, comunidade e ferramentas de desenvolvimento em IA.

Keras - Definição da Wikipédia sobre o Keras - "O Keras é uma biblioteca de rede neural de código aberto escrita em Python.". Keras funciona normalmente com outras ferramentas tais como: TensorFlow, Microsoft Cognitive Toolkit, R, Theano, ou PlaidML. Projetado para permitir experimentação rápida com redes neurais profundas, ele se concentra em ser fácil de usar, modular e extensível. Foi desenvolvido como parte do esforço de pesquisa do projeto ONEIROS (Open-ended Neuro-Electronic Intelligent Robot Operating System). François Chollet, autor do Keras, explicou que o Keras foi concebido para ser uma interface, e não uma estrutura de aprendizado de máquina independente. Ele oferece um conjunto de abstrações mais intuitivo que facilita o desenvolvimento de modelos de aprendizado profundo, independentemente do back-end computacional usado. O Keras é a principal biblioteca de desenvolvimento de redes neurais. A pesar do propósito inicial Keras se tornou muito mais que foi proposto.

Kaggle - Kaggle é uma comunidade online para competições em ciência de dados. Kaggle foi fundado em 2010 por  Anthony Goldbloom and Ben Hamner e foi vendido em 2017 para o Google. Kaggle disponibiliza, datasets (conjunto de dados), cursos, ambientes de desenvolvimento para a comunidade competir na busca de soluções para os mais diversos problemas. Ótimo ambiente para evoluir no aprendizado e na busca de soluções no estilo de gamefication através do qual os participantes recebem distintivos conforme seu avanço e participação na comunidade.

Hugging Face - Hugging Face tem uma proposta similar a do Kaggle, porém seu foco é a construção de aplicações utilizando Machine Learning. Sua plataforma permite que usuários compartilhem seus datasets e modelos de aprendizado de máquina. A companhia foi fundada em 2016 por Clément Delangue, Julien Chaumond e Thomas Wolf. Hugging Face possível uma infraestrutura similiar ao do GitHub para manutenção de repositórios, modelos, datasets, aplicações web e suporte a discussões.

Google Colab - O Colaboratory ou “Colab” é um produto do Google Research, área de pesquisas científicas do Google. O Colab foi criado a partir de um fork do projeto Jupyter que oferecia serviços para computação interativa entre múltiplas linguagens de programação. O Google porém integrou os recursos do Jupyter em sua infraestrutura e disponibiliza "células" de programação (chamados de notebooks) como se fosse arquivos do Google Drive além de oferecer capacidade de processamento em nuvem. O Colab permite que qualquer pessoa escreva e execute código Python arbitrário pelo navegador e é especialmente adequado para aprendizado de máquina, análise de dados e educação. Pelo Colab também é possível aplicações de maior porte pois o Google vende capacidade computacional para maiores demandas. As demandas pequenas entretanto podem ser atendidas gratuitamente. Menção honrosa nesta parte de infraestrutura escalável em nuvem vai para a Amazon Web Services - AWS

PapersWithCode - Este site se propõe a disponibilizar de maneira livre e aberta artigos, códigos, datasets, métodos e resultados de avaliação relativas a NLP (Neural Language Processing) e Machine Learning. Todo o conteúdo do site é licenciado sob a licença CC-BY-SA (mesma da Wikipedia) que permite a contribuição de todos. Paperwithcode também disponibiliza materiais sobre Astronomia, Física, Ciência da Computação, Matemática e Estatística.

O site é um ponto de partida para saber sobre as novidades mais "quentes" e o state-of-the-art de diferentes áreas de pesquisa, porém com foco nas áreas citadas acima.