Postagens

Postagem em destaque

Huguinho e Zezinho surfando com granizo

Imagem
Certa vez, em outubro de 2023, Huguinho e seu amigo Zezinho foram surfar no final da tarde. O vento estava forte e a chuva, constante. Quando chegaram perto da praia, mal conseguiam segurar suas pranchas. O mar estava bem mexido, e ainda tiveram que andar cerca de 1 km até o pico. Quando estavam se aproximando, começou a cair granizo! Dava para ouvir claramente o barulho das pedras contra as pranchas. Eles se abrigaram embaixo do posto avançado dos salva-vidas, mas não adiantou muito. Ficaram olhando o mar — que estava bem agitado e quebrando bem longe — e perceberam que estava difícil passar a arrebentação. Como o granizo não parava, decidiram entrar assim mesmo. Logo que entraram no mar, o granizo cessou, mas aí começou o verdadeiro desafio: passar a arrebentação. Depois de levar várias séries na cabeça e quase sem forças, finalmente conseguiram. E começaram os raios! Quando estavam quase decidindo sair por causa deles, os raios pararam. Ufa! É algo estranho: você está lá, só você (c...

Atual Momento da IA: ChatGPT

A inteligência artificial é um tema que vem ganhando cada vez mais espaço na nossa sociedade e tem a capacidade de mudar a forma como vivemos e trabalhamos. Atualmente, estamos testemunhando um marco na evolução da IA, com modelos como o ChatGPT liderando o caminho. O ChatGPT é um modelo de linguagem de ponta desenvolvido pela OpenAI. Ele foi treinado em milhões de páginas da web e possui uma incrível capacidade de compreender e gerar texto natural. Isso significa que ele pode responder a perguntas, escrever textos e até mesmo criar conversas com humanos, sem que eles percebam a diferença. O sucesso do ChatGPT é resultado de anos de pesquisa e desenvolvimento, e ele está mudando a forma como vemos a inteligência artificial. Antes, modelos de IA eram incapazes de compreender o significado por trás das palavras e apenas respondiam com base em padrões previamente programados. Agora, com o ChatGPT, a IA tem a capacidade de aprender e evoluir ao longo do tempo, tornando-se cada vez mais hu...

Dica rápida: .gitignore não "funciona"

Caso você tenha um arquivo que já estava versionado, e você agora quer removê-lo do versionamento, é necessário limpar o cache local do repositório. Para isso basta executar: git rm -r --cached <path_e_nome_arquivo>

Falha ao acessar a API da Binance

De uns tempos pra cá, meu programa que monitora o preço de ações e criptomoedas (tenho um post sobre isso), passou a receber a mensagem:  "Service unavailable from a restricted location according to 'b. Eligibility' in https://www.binance.com/en/terms. Please contact customer service if you believe you received this message in error."  Depois de muito pesquisar, descobri o problema: meu programa fica hospedado nos EUA, e eu uso o endereço base https://api.binance.com . A solução é bem simples, troque o endereço base por https://api.binance.us . O único porém é que alguns assets não existem no novo endereço. Por exemplo:  https://api.binance.us/api/v3/ticker/24hr?symbol=ETHBRL . Nesse caso, a única solução é trocar o ETHBRL por ETHUSD.

VSCode não roda?

Esses dias fiz uma atualização do VSCode (gosto de manter os softwares atualizados) e ele simplesmente não abriu mais. Clicava no ícone e ele abria e já fechava em seguida. Depois de muita pesquisa, não descobri o problema. Daí comecei a operar em modo desespero: Primeiro, tentei acessar sem nenhum extensão, pois imaginei que poderia ser um problema de compatibilidade de uma extensão com a nova versão do VSCode. Para isso rodei o comando: code --disable-extensions E nada. Ele simplesmente não dava sinal de vida. Em tempo: se precisar desinstalar uma extensão problemática via linha de comando use: code --uninstall-extersion <ext-id> O <ext-id> você consegue com o comando: code --list-extensions Depois, tentei baixar versões mais antigas, mas também não adiantou. https://code.visualstudio.com/updates Nessas horas a experiência conta muito: resolvi renomear o arquivo settings.json, e deu certo. Ele estava corrompido. Daí foi fácil descobrir o problema do arquivo e corrigir. Es...

Paradoxo Final: sem anúncios

Quando comecei o blog, em 2009, nunca pensei em ganhar dinheiro. Mas como alguns posts fizeram sucesso e tive meses que alcancei mais de 34 mil visualizações, o dinheiro começou a entrar. Quer dizer, os trocados, pois em 13 anos ganhei menos de 130 dólares.  De todo modo, em virtude disso, mantive os anúncios. E como somos acomodados por natureza, e mesmo o blog tendo muito menos visualizações, mantive os anúncios. Mas esse final de semana resolvi removê-los, afinal, não escrevo para ganhar dinheiro (até que gostaria, mas não tenho tempo), escrevo porque eu gosto. Então, espero que aproveitem a nova cara do Paradoxo Final.

Como traduzir (legendar) qualquer vídeo do Youtube

Imagem
Às vezes você encontra um vídeo no Youtube com a solução do seu problema, mas ele está em uma língua que você não domina. Normalmente, você olha se tem legenda, e na maioria dos casos ou não tem, ou só tem na própria língua do vídeo Aí você abandona o caso, certo? O que muita gente não sabe é que o próprio Youtube permite você legendar em qualquer língua (que ele tenha disponível).  O segredo é clicar em Legendas primeiro, e depois em Configurações. Assim, aparecerá a opção "Traduzir automaticamente". Ao clicar nessa opção, basta escolher o idioma da tradução. Clique no ícone Legendas e no item de menu Legendas Clique em Traduzir automaticamente Selecione o idioma Voilá! Infelizmente se você fechar o vídeo será preciso executar o processo novamente.

Dicas Go - #1 - Goroutines

Imagem
Já falei um pouco sobre concorrência em Go , mas percebi que não fui muito esclarecedor, por isso vou fazer uma outra abordagem, mais detalhada, sobre esse assunto. O código completo dos programas está no final do texto. Vamos imaginar que você queira fazer um programa que faça acesso à uma API algumas vezes e retorne o resultado como string. Para não tornar o programa muito complexo, utilizei uma pesquisa fake, que simula um retorno e gasta  100 milissegundos. Ao rodar o programa sequencial.go, vemos na tela uma saída como a abaixo: Como esperado, os resultados são listados em ordem, de "golang 0" à "golang 19". E o tempo gasto, pouco mais de 2s, também não é nenhuma surpresa (20 vezes 100 milissegundos mais algum tempo do resto do código). A coisa começa a melhorar quando rodamos o programa concorrente.go. O tempo gasto reduziu de 2s para 100ms. Qual é a mágica? São as goroutines! Se reparar bem, são poucas mudanças em relação ao código original (na verdade, essa ...