 Jefferson,  27 de agosto de 2024, Eu comecei a fazer um backup total do Redmi Note 10 Pro da minha irmã via USB e fiquei intrigado com a demora para copiar a pasta Android (já tinha levado uma hora e previa demorar mais nove horas) e os nomes estranhos dos arquivos exibidos durante a cópia indicavam que eram obviamente arquivos temporários. Analisando o que já havia sido copiado constatei que esses arquivos eram da pasta Android\com.miui.gallery\files\gallery_disk_cache\small_size (provavelmente thumbnails). O Windows já havia copiado 56mil arquivos e eu tinha motivos para acreditar que isso era apenas metade. Ora, eu já flagrei apps Android tendo problemas para manipular meros 1000 arquivos numa pasta, então ter 56mil pode ser a causa de vários problemas de congelamento e lentidão de que minha irmã estava reclamando*. E como é o que o cache de Gallery pode ter mais de 56mil arquivos se o número de fotos e vídeos nem chega perto disso? Para efeito de comparação, a pasta \gallery_disk_cache\full_size tinha meros 2mil arquivos.
Para adicionar insulto à injúria, o app Gallery tem uma opção de “limpeza”, que não inclui apagar o próprio cache. Ela se limita a se oferecer para apagar suas fotos maiores e as que ele acha que estão duplicadas (aquelas várias fotos que a gente tiram em momentos ligeiramente diferentes, torcendo para que em pelo menos uma delas ninguém esteja de olhos fechados).
O gerenciador de apps do Android também não me deu a opção de apagar os arquivos. Só me disse que Gallery estava ocupando 3.6GB. Não havia opção “Clear Data” e a opção “Clear Cache” tem outro alvo.
O app Files do Android nem conseguia exibir o conteúdo da pasta. Ficava travado com a tela em branco.
Depois de pensar um pouco sobre as possíveis consequências, resolvi o problema apagando a pasta small_size pelo mesmo app Files, então fechei o app Gallery e abri de novo. A pasta foi recriada e novos arquivos foram inseridos no cache.
O tamanho ocupado pelo App Gallery foi reduzido para 1.40GB.
* Falando como usuário e programador: Como regra geral, ter muitos arquivos em uma mesma pasta é sempre má idéia. O app que as cria pode até ter desenvolvido uma estratégia para lidar com isso, mas outros apps e atividades de manutenção podem (e provavelmente vão, no caso de 56mil arquivos) se perder. O correto é criar várias pastas e uma das estratégias que uso na falta de um critério mais específico é criar uma pasta nova todo dia ou todo mês, dependendo da quantidade de arquivos que minha aplicação tende a criar. E um desenvolvedor não implementar um processo para purgar os arquivos temporários criados por sua aplicação de tempos em tempos é um grande não-não para mim.
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  27 de agosto de 2024, A conta google gratuita (15GB) da minha irmã está lotada e por isso há mais de um ano o backup das fotos do celular Android dela não estava sendo feito. Eu parei para fazer a manutenção, constatei que a maior parte do espaço está ocupado por fotos e vídeos e esbarrei em um problema atrás do outro:
- A interface que o Google Photos e o Google Drive oferecem é péssima. É difícil fazer o download em massa das fotos e a soma do espaço ocupado pelas pastas como exibido pela interface não chega nem perto dos 10GB que o Google Drive diz que está sendo ocupado por fotos;
- Por causa do problema acima decidi usar o Google Takeout para fazer o download em massa das fotos e simplesmente apagar tudo (se é que a interface do Google Photos vai me permitir achar tudo) mas aí o problema mais estranho aconteceu: eu refiz o backup do Google Takeout três vezes mas ele consistentemente termina dizendo que tenho 40GB de fotos para baixar em 20 arquivos de 2GB. Eu pedi apenas as fotos e em cada um dos backups eu deselecionei algumas pastas tentando determinar em que pasta está o bug, mas não teve jeito. Como a cada tentativa o Takeout leva mais tempo (agora está levando horas) provavelmente para desestimular os múltiplos backups, eu desisti no terceiro e agora estou baixando os 40GB;
- Os dois primeiros backups eu não consegui nem começar a baixar. Firefox e Chrome em um computador com Windows recém instalado ficam acusando ERR_TOO_MANY_REDIRECTS. Eu achei ridículo ter que apagar cookies para resolver isso e decidi testar com uma aba anônima e aí esse problema foi resolvido.
Como uma conta de 15GB dos quais 5GB são e-mail tem 40GB de fotos para baixar?
Ainda bem que o plano Verizon tem download ilimitado porque já gastei 16GB hoje. Quando eu descompactar os arquivos e descobrir onde está o problema eu vou explicar aqui.
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  25 de agosto de 2024, Ainda estou em Dublin.
Os problemas começaram quando eu não consegui acessar nenhuma página do reddit. Eu estava tentando descobrir por que o hotspot do meu celular não funcionava com o chip da Vodafone e um resultado promissor apareceu em uma busca no Google apontando para o reddit, mas toda tentativa de acesso acusava ERR_CONNECTION_CLOSED. Pensei que seria algo temporário mas no dia seguinte aconteceu o mesmo.
Por que Reddit estaria negando acesso a moradores de Dublin?
Dias depois eu tentei acessar um certo site, mais conhecido que o reddit, e apareceu uma mensagem da Vodafone dizendo que para ter acesso eu teria que ir a uma loja da operadora para apresentar meus documentos (passaporte serve) comprovando que eu tinha mais que 18 anos.

Under 15 ( Child )
Access denied. This content is unsuitable for persons under the age of 15. If you are a Prepay customer and over 15 and under 18 please talk to your parent or guardian about verifying your age. If you are over 18 please bring proof of your age to a Vodafone Agent for Age Verification. Valid proof of age can be one of the following: Passport, Driving Licence or National Age Card. If you are on a Pay Monthly account please contact the person who pays the bill
A primeira coisa que me chamou atenção no texto é que aqui se você tiver pelo menos 15 anos pode acessar conteúdo “maduro” se tiver autorização dos pais. Confere com a minha percepção de que a Europa é oficialmente bem menos puritana que, por exemplo, os EUA. Mas depois caiu a ficha: Se a Vodafone está monitorando minha navegação, será que o bloqueio ao reddit é da Vodafone?
Então eu tentei acessar outros sites 18+ e a maioria deles acusou o mesmo erro ERR_CONNECTION_CLOSED do reddit em vez de aparecer a mensagem da Vodafone.
Tentei acessar usando o celular da minha irmã e… nenhum problema. Com site algum. O chip da minha irmã também é da Vodafone mas ela está registrada lá. Eu comprei meu chip anonimamente porque aqui você não é obrigado a apresentar documentos simplesmente para ter uma linha celular. Nada de ter que “digitar CPF” para poder usar a linha pré-paga.
Então eu baixei o Tor (cujo site também é bloqueado pela Vodafone, mas o app você consegue baixar da play store) e tentei de novo. Problema resolvido. Fiquei surpreso ao constatar que você pode até assistir a vídeos normalmente, porque eu esperava que o roteamento, gratuito, pela rede Tor tivesse uma penalidade nesse sentido.
Com o bônus da operadora de telefonia não poder xeretar nos meus fetich… errr… “hábitos de navegação”.
Embora o reddit tenha uma seção para maiores de 18 anos me espanta que o fórum inteiro, que discute dezenas de milhares de temas diferentes, tenha sido bloqueado por isso. Mas é bem melhor acreditar nisso do que acreditar que o governo irlandês deseja que você se identifique ao acessar o reddit para poder monitorar o que você discute.
E com isso o Tor passou a fazer parte do meu kit de ferramentas. O acesso a algum site não está funcionando como deveria? Vamos ver se realmente está fora do ar.
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  15 de agosto de 2024, É. Meu planejamento não contava com isso.
Estou novamente na Irlanda e compramos um chip da Vodafone que por 20 euros me dá acesso ilimitado de alta velocidade à internet por 28 dias, mas esbarrei em um problema: os quatro telefones que trouxemos são incapazes de compartilhar a internet desse chip via Wi-Fi, o que me impede de usar o acesso no meu notebook.
O sintoma é que você conecta ao hotspot e recebe um endereço IP local, mas nada passa. Nem mesmo um ping.
Telefones que não funcionaram como hotspot:
- Motorola Edge 40
- Motorola G54
- 2x Samsung A11
Quando minha irmã está conosco ela compartilha o acesso do chip Vodafone dela, mas compramos esse chip para mim justamente porque ela eventualmente tem que sair para trabalhar e sem ela ficamos sem comunicação. O acesso 5G da Vodafone é tão bom que ela não tem necessidade de gastar extra com internet fixa no apartamento.
O chip dela também não compartilha quando colocado nos meus telefones. Mas o chip novo que compramos compartilha no telefone (Xiaomi redmi note 10 pro) dela. Então não é um problema do chip. É alguma incompatibilidade com os telefones.
Eu consegui compartilhar com o notebook via USB, mas funciona erraticamente e ainda assim não resolve o problema de compartilhar com o celular de mamãe.
Acabamos por comprar outro chip para a minha mãe, mas ainda assim eu preciso que minha irmã esteja aqui para poder usar o notebook.
Descobri que aparentemente é possível compartilhar a internet entre dois telefones android usando bluetooth, mas todas as minhas tentativas de conectar o Motorola G54 com o Edge 40 ou estes com os Samsung A11 via bluetooth fracassaram. Um enxerga o outro, mas a conexão é desfeita uma fração de segundos depois.
Alguém tem alguma sugestão?
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  20 de julho de 2024, As que uso hoje são:
Abaixo apenas uma lista das funções que utilizo. As ferramentas são geralmente capazes de muito mais.
Para extrair o áudio do arquivo – Eu tenho um monte de arquivos que baixei do Instagram com citações motivacionais ou inspiradoras retiradas de apresentações, shows (George Carlin, por exemplo), filmes, etc., mas somente me interessa o que é dito. Quero colocar todo o áudio junto em uma pasta do meu celular e ficar ouvindo um após o outro.
- Shutter Encoder (função “extrair”).
Para dividir o filme em segmentos – Tenho vários vídeos aqui que ficam mais fáceis de classificar e encontrar em buscas se divididos em um arquivo por capítulo/cena.
- Lossless Cut – Você também tem a opção de fazer a marcação de capítulos no mesmo arquivo, mas nunca usei.
- Shutter Encoder (função “cortar sem recodificação”)
Para mudar o container sem recodificar – Por exemplo, de MKV para MP4 e vice-versa. Às vezes seu aparelho não suporta um determinado container, apesar de suportar os codecs usados. Mudar o container é um processo que não provoca degradação da qualidade.
- Lossless Cut (Export -> Output Container Format)
- Shutter Encoder (função “reencapsular”)
Para converter para x.265 e/ou de 4k para 1080p – Isso reduz dramaticamente o espaço ocupado pela maioria dos vídeos. Claro, x264 ainda é o padrão de mercado, com muita coisa, incluindo TVs e telefones, capaz de decodificação no hardware. O suporte a x265 no hardware ainda não é comum e muitas vezes a decodificação por software não é viável.
- Handbrake – Tenho vídeos de 6GB x264 que ficaram com menos de 500MB e não consegui notar diferença de qualidade. Claro, eu também converti de 4k para 1080p

- Shutter Encoder supostamente também faz isso (está no nome), mas estou acostumado com os resultados de Handbrake.
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  19 de julho de 2024, Ok. É um software de segurança, mas…
Essa atualização era crítica? Fechava a porta para algum CVE de severidade 8+? Tinha que ser feita assim, distribuindo de uma vez para o máximo de clientes possível ou podia ser feita em estágios? Hoje em dia eu sou cético quanto ao senso de responsabilidade da maioria dos desenvolvedores de software. Muita atualização é empurrada apenas porque um módulo de um framework que é usado apenas em uma seção do código porque é a ferramenta da moda foi atualizado pelo desenvolvedor lá de longe-pra-cacete-do-leste-europeu, que eles nem sabem quem é e nem por que foi atualizado. É insano.
Inicialmente eu não queria culpar a Microsoft por essa ca**da mas, pensando bem, já passou da hora da “Recuperação do Sistema” do Windows ser realmente capaz de “recuperar o sistema”. As ferramentas disponibilizadas pela MS para que o usuário comum se proteja desses eventos são uma piada. Esse tipo de coisa deveria há muito tempo ser um mero inconveniente resolvido com um reboot e no máximo meia dúzia de cliques do mouse.
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  14 de julho de 2024, Me digam se vocês conseguem enxergar algum sentido nisso.
A autorização de exame é um procedimento onde o usuário anexa o pedido de exame feito pelo médico e aguarda que a Hapvida autorize, para só então você poder marcar o exame.
Não é um processo interativo. Não há uma pessoa do outro lado atendendo você em tempo real. E a autorização muitas vezes leva *dias* para ser concedida.
O paciente, claro, deveria poder fazer essa solicitação no horário que fosse mais conveniente.
Então hoje, domingo, eu decidi abrir uma nova solicitação para a minha mãe e descobri que só posso fazer isso de segunda a sexta e em um horário restrito:

Isso só não é mais bizarro do que aquela vez em que o site da Lognet parou de aceitar vendas fora do horário de funcionamento da loja física
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  24 de junho de 2024, A versão simples:
Você precisa do Inkscape instalado.
Crie um arquivo powershell no Bloco de Notas com o seguinte conteúdo:
Get-ChildItem *.svg | ForEach-Object { & “C:\Program Files (x86)\Inkscape\bin\inkscape.exe” $_.FullName –export-filename “$($_.FullName -replace ‘\.svg$’, ‘.pdf’)” }
Edite o caminho indicado no arquivo para apontar para a sua cópia do inkscape. Geralmente você pode deixar assim mesmo.
Salve como “conv.ps1” na mesma pasta que os arquivos SVG.
Crie um arquivo “conv.bat” com o seguinte conteúdo:
powershell -executionpolicy bypass -File conv.ps1
e salve na mesma pasta.
Se Inkscape estiver em execução, feche.
Agora execute conv.bat. Se tudo correr bem os arquivos *.pdf vão aparecer silenciosamente na mesma pasta.
Eu me baseei na dica encontrada aqui .
Porém essa solução simples tem vários problemas que são resolvidos a seguir.
A versão complicada
Você precisa do Inkscape e do pdftk free instalados. Nesta versão do meu script você precisa copiar pdftk.exe para o diretório onde estiverem os seus arquivos SVG.
Crie um arquivo powershell no Bloco de Notas com o seguinte conteúdo:
OBS: Não sou proficiente em powershell e você vai encontrar meus vícios de outras linguagens no script.
$SVGCount = @( Get-ChildItem *.svg ).Count;
Write-Host 'Número de arquivos SVG para processar: ' $SVGCount
$PDFCount = @( Get-ChildItem *.pdf ).Count;
if ($PDFCOunt -gt 0) {
Write-Host 'Encontrei ' $PDFCount ' arquivos PDF na pasta.'
$ArquivosApagados=$false
$confirmation = Read-Host "Para apagar todos os arquivos PDF da pasta, tecle s, seguido de ENTER.
Ou apenas ENTER para prosseguir sem apagar.";
if ($confirmation -eq 's') {
Write-Host 'Apagando os arquivos PDF';
$ArquivosApagados=$true
Get-ChildItem *.pdf | ForEach-Object { $_.Delete()}
}
}
else {$ArquivosApagados=$true}
Write-Host 'Convertendo todos os arquivos SVG da pasta para arquivos PDF.';
Write-Host 'Você pode interromper a qualquer momento com CTRL+C.';
#Sem uma pausa entre cada conversão o número de arquivos criados pelo Inkscape frequentemente é menor
#que o número de arquivos SVG. Com 100ms funciona na maioria das vezes para mim ao converter 25 arquivos
#simples em um Ryzen 5 5600G com 24GB de RAM, mas com 10ms ou menos os problemas acontecem.
#Eu não sei ainda a razão, mas eu imagino que se seus arquivos forem mais complexos ou em maior
#quantidade ou sua máquina for menos robusta você vai precisar aumentar essa pausa.
Get-ChildItem *.svg | ForEach-Object { & "C:\Program Files (x86)\Inkscape\bin\inkscape.exe" $_.FullName --export-filename "$($_.FullName -replace '\.svg$', '.pdf')"
Start-Sleep -Milliseconds 100}
if($ArquivosApagados)
{
#O Inkscape é executado de forma assíncrona e quando chegamos a este ponto do script,
#mesmo tendo 25 arquivos SVG na pasta, apenas 2 arquivos PDF foram gerados no meu PC.
#É preciso usar estratégias para esperar que o Inkscape termine
Write-Host 'Esperando que a contagem de arquivos PDF chegue a ' $SVGCount;
$PDFCount = @( Get-ChildItem *.pdf ).Count;
while ($PDFCount –lt $SVGCount)
{
$i = @( Get-ChildItem *.pdf ).Count;
#Método alternativo de contagem
#$filepath = "."
#$filetype = "*.pdf"
#$i = [System.IO.Directory]::GetFiles("$filepath", "$filetype").Count
#Sem fazer essa checagem, vou escrever centenas de vezes a mesma contagem na tela
if ($i -gt $PDFCount){
$PDFCount=$i
Write-Host 'Número de arquivos PDF: ' $PDFCount;
}
}
}
else
{ #Se os arquivos PDF não foram apagados no início do script eu não tenho como me basear
#em contagem de arquivos para saber se inkscape acabou. Então eu arbitro uma pausa.
#Você pode ter que aumentar essa pausa para atender ao seu caso.
Write-Host 'Aguardando 5 segundos para dar tempo ao Inkscape antes de tentar combinar os arquivos...';
Start-Sleep -Seconds 5
$PDFCount = @( Get-ChildItem *.pdf).Count;
Write-Host 'Número de arquivos PDF: ' $PDFCount;
}
$NomeArquivoCombinado = "multipaginas.pdf"
#pdftk aborta a execução se encontrar o resultado de uma execução prévia. E isso
#vai acontecer se você tiver optado por não apagar os arquivos PDF lá no ínicio
if (Test-Path $NomeArquivoCombinado) {
Remove-Item $NomeArquivoCombinado -Force
}
#O fato do número de arquivos PDF ser o esperado não significa que o inkscape terminou
#de escrever o último deles. pdftk vai acusar erro e abortar se um dos arquivos PD
#ainda estiver em uso. Uma pequena pausa pode ser necessária.
Start-Sleep -Milliseconds 100
pdftk *.pdf cat output $NomeArquivoCombinado
Write-Host 'Terminado. Pressione qualquer tecla para sair...';
$null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');
Edite o caminho indicado no arquivo para apontar para a sua cópia do inkscape. Geralmente você pode deixar assim mesmo.
Salve como “conv.ps1” na mesma pasta que os arquivos SVG.
Crie um arquivo “conv.bat” com o seguinte conteúdo (propositalmente sem acentuação):
@Echo Off
REM sem isto, executar um script powershell no Windows fica desnecessariamente complicado
Powershell -executionpolicy bypass -File conv.ps1
REM Sem esta pausa você não verá a razão se erros de sintaxe no arquivo *.ps1 abortarem a execução.
REM Você pode removê-la quando tiver terminado de ajustar o script para os seus interesses
pause
e salve na mesma pasta.
Se Inkscape estiver em execução, feche.
Agora execute conv.bat. Se tudo correr bem os arquivos *.pdf vão aparecer silenciosamente na mesma pasta e você terá no final um arquivo “multipaginas.pdf” com a mescla de todos os outros.
Problemas desse processo:
- Não é possível determinar a ordem dos arquivos PDF na cópia final via script. Você precisa se certificar de que cada arquivo SVG esteja em ordem alfabética correspondente à posição desejada no arquivo PDF final. Por exemplo, se você tiver os arquivos “página1.pdf”, “página2.pdf”… “página100.pdf”, pode precisar renomear os primeiros com zeros na frente do número para a ordem ficar correta (“página001.pdf”);
- O fato do script apagar *.pdf por default requer que você saiba o que está fazendo ao colocá-lo em uma pasta qualquer. Você assume que sabe ao teclar “s” seguido de ENTER;
- Eu ofereço a opção de não apagar os arquivos PDF apenas por desencargo de consciência, porque eu não quero oferecer um script que apaga todos os arquivos PDF sem dar ao usuário a oportunidade de mudar de idéia. Porém se você escolher continuar sem apagar os arquivos e o inkscape não gerar todos os arquivos novos, os arquivos PDF existentes na pasta não vão corresponder aos SVG.
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  23 de junho de 2024, Eu vou precisar combinar periodicamente 37 arquivos PDF de um projeto e embora existam muitos serviços online que fazem isso por você de graça, nesse caso eu tenho um pequeno problema: o conteúdo desses arquivos não é algo que eu deva ficar enviando para qualquer serviço online por aí, seja gratuito ou pago.
Eu tenho um programa no meu computador que faz isso, mas usei pela única vez mais de um ano atrás e não consigo lembrar o nome. Acabou sendo mais fácil encontrar outro procurando no Google. PDFSAM Basic é gratuito e open source. Faz a combinação das páginas e muito mais. Eu usei a última versão de 32bits, que apesar de estar seis anos atrasada em relação à versão de 64 bits tem tudo o que quero e deve rodar em qualquer máquina Windows.
O único problema é ser em java. Mas ninguém é perfeito.
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  18 de junho de 2024, 
Cuidado para não ser enganado como eu fui pelas especificações. Apesar do farol ser especificado como 108W, o consumo dele em 24V com spot+flood ligados é de apenas 0,7A (16,8W). Fiquei tão surpreso que medi com três instrumentos diferentes. Na melhor das hipóteses, acreditando que há algum traço de honestidade, o fabricante deve estar tentando dizer que “ilumina o equivalente” a uma certa tecnologia que consome 108W.
O importante é que não foi comprado pela suposta potência, mas pelo poder de iluminação. E a amostra foi aprovada pelo cliente.
Comprei 15 unidades desse farol para um projeto. Vamos ver como se comporta e se sobrevive às condições cruéis da máquina. Custa em torno de R$60 em diversos vendedores no Mercado Livre.
Pelo menos o susto foi numa direção positiva. Eu fiz as contas no projeto reservando 1620W (67,5A) para essa iluminação e só vou precisar de 252W (10,5A).
(Prefira clicar em "Responder" se estiver comentando um comentário)
|
|
Também sofri com isso, o “full_size” e “small_size” estavam dando juntos quase 30gb, apaguei e resolveu problema de perfomance e também de espaço.