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...

Iniciando o Windows Terminal com layout pré-definido (4 janelas)

Imagem
Se você gosta ou precisa usar o Windows Terminal (WT), talvez já tenha sentido a necessidade de abrir várias abas. Mas dependendo do que você faz, várias abas não são assim tão confortáveis para trabalhar, . Por exemplo: você sobe um servidor numa aba e em outro dispara comandos CURL para verificar se sua API está respondendo a contento. Nesse caso, você precisa ficar alternando entre as abas para ver o resultado. E se desse para ver tudo de uma só vez?  O melhor é que dá sim. E é fácil! Basicamente, você chama o executável do WT (wt.exe) passando alguns argumentos. Nesse link , tem uma descrição completa dos argumentos. Uma janela como a de cima, pode ser obtida com o comando: wt.exe -M -d d:\temp ; sp wsl.exe ~ ; mf left ; sp -d d:\dev ; mf right; sp -d d:\bin\monitor Uma breve descrição dos argumentos utilizados acima: -M maximiza a tela -d abre a janela em um determinado diretório sp (split-panel) divide uma janela/painel mf (move-focus) move o foco numa direção (...

Upload com PHP+JQUERY em AJAX e na mesma página

Se você já perdeu horas procurando um código em PHP que funcionasse para fazer o upload de imagens mas que fizesse isso com AJAX e ainda por cima na mesma página, espero que esse post te ajude! Crie uma pasta para armazenar as imagens que aqui chamo de upload. Copie e cole o código abaixo (testado com XAMPP localmente): <?php if(isset($_FILES['file']['name'])){    /* Pega o nome do arquivo*/    $filename = $_FILES['file']['name'];    /* Local onde sera salvo o arquivo*/    $location = "upload/".$filename;    $imageFileType = pathinfo($location,PATHINFO_EXTENSION);    $imageFileType = strtolower($imageFileType);    /* Extensoes validas */    $valid_extensions = array("jpg","jpeg","png");    /* Checa a extensao do arquivo */    if(in_array(strtolower($imageFileType), $valid_extensions)) {       /* Faz o upload */       move_uploaded_file($_FILES['file']['...

O dia que o Australian Crawl chegou à Balneário Camboriú

Imagem
Já falei um pouco do Australian Crawl aqui . O que não contei é que fui um dos primeiros a ouvir a banda em Balneário Camboriú. Como diz o Lito, do Aviões e Músicas: "Senta que lá vem história" (pequena, mas é uma história).  Estamos falando do início dos anos 80, e naquela época para ouvir alguma música nova, era só através de fitas. E eu dia, na casa de um primo de Florianópolis, ouvi essa banda. Claro que fiz uma cópia. Mas gostei tanto que fui atrás da história de como ela chegou no Brasil: um amigo dele tinha ido à Indonésia e parece que ele conseguiu através de um australiano que estava ou morava lá. Não sei se é verdade ou não, mas é o que me contaram.  Quando voltei para casa, em Balneário Camboriú, passei a ouvir a fita diariamente (e várias vezes ao dia). E não deu outra: alguns amigos ouviram, gostaram, copiaram e daí viralizou. Tinha um amigo que falava: "Xande, tu é o primeiro cara que ouviu Australian aqui!".

Huguinho, surfe e tubarões

Imagem
Certa vez, após voltar da Oktoberfest, Huguinho decidiu surfar para curar a ressaca, pois todos sabem que Coca-Cola não cura ressaca:  Huguinho, Oktober e Coca-Cola.   Só que aquele dia, o mar estava grande e quebrando bem longe da areia.  Talvez não estivesse tão grande... Depois de pegar algumas (boas) ondas, Huguinho vai um pouco mais para outside para descansar um pouco. Não demorou muito e apareceram vários golfinhos em sua volta.  O que era Mas na hora, ainda meio grogue, a centenas de metros da areia, sozinho na imensidão do oceano, ele achou que fossem tubarões.  Até hoje não se sabe de ninguém que saiu tão rápido da água! O que Huguinho achou que era

Dica rápida em Golang - blank identifier

Se você está usando o pacote database/sql com mysql e recebe a mensagem "Commands out of sync. Did you run multiple statements at once?", verifique se você não está usando um "blank identifier" no retorno da função "Query", por exemplo. _, err := db.Query("...") nesse caso, basta pegar o primeiro retorno (rows) e chamar o método Close() rows, err := db.Query("...")defer rows.Close()

Como aprender a programar

Imagem
Estava assistindo um vídeo do Fabio Akita, "A Dor de Aprender | Que Cursos/Livros"  e em determinado momento, ele falou sobre os microcomputadores antigos, da década de 80, como o TK95. E logo depois ele pergunta: "Como pessoas como eu, quando criança, conseguimos aprender a programar num ambiente muito mais hostil do que hoje em dia?". Isso me fez lembrar do meu início como programador, em 1985, mesmo ano que comecei a surfar. Já explico o que o surfe tem a ver com isso. Como ele mesmo diz, naquela época as máquinas eram extremamente limitadas. Perto de agora, a situação realmente não era fácil: não existia internet, poucos livros e cursos, e principalmente não existia o Github. No máximo, algumas revistas como Micro Hobby e Micro Sistemas.  O meu primeiro computador foi um TK2000  e ele vinha com um manual que ensinava o básico do Basic (isso soou estranho). Meu pai também sabia um pouquinho: ele criou um programa que escolhia um número aleatório e você tentava ad...

Google Hacking

Imagem
Segurança digital Quando vemos um ataque a um grande site pensamos que o hacker provavelmente utilizou ferramentas sofisticadas, etc. O que nem todo mundo sabe é que muitas vezes facilitamos tanto o ataque que o hacker só precisa fazer uma pesquisa no Google para descobrir como invadir. Antes de prosseguir, uma explicação: o Google consegue trazer tantos resultados (incluindo login e senhas) porque seus robôs (também chamados de spiders ou webcrawlers) vasculham constantemente a internet e indexam as páginas. O problema ocorre quando alguém deixa um arquivo TXT com as senhas utilizadas no desenvolvimento do site, por exemplo, e o site está permitindo a indexação desses arquivos. Isso é mais comum do que você imagina, conforme iremos ver mais abaixo. Esclarecimentos Não é meu intuito ensinar ninguém a fazer algo ilegal, pelo contrário, o objetivo é dar ferramentas para que você descubra as fraquezas do seu site e dessa maneira, possa fazer os ajustes necessários para diminuir as vulnera...