12 julho 2024

Resolvendo problema de timezone com Python (ZoneInfoNotFoundError) no Termux

Tenho experimentado usar o Termux para escrever e executar alguns pequenos programas no meu Android. Algumas provas de conceito, ideias ou teste rápidos. Porém recentemente após instalar e tentar rodar um projeto que implementa o i18n recebi a seguinte mensagem de erro no traceback do Python:

File "/data/data/com.termux/files/usr/lib/python3.11/zoneinfo/_common.py", line 24, in load_tzdata raise ZoneInfoNotFoundError(f"No time zone found with key {key}") zoneinfo._common.ZoneInfoNotFoundError: 'No time zone found with key America/Sao_Paulo'
 

A falha ocorreu pelo fato de não existir esse timezone America/São Paulo no sistema. Para resolver isso de forma pontual, encontrei um pacote Python tzdata que serve justamente como fallback para sistemas que não contém os dados dos timezones.

pip install tzdata

09 julho 2024

Homelab com um ARM

Recentemente tenho me aventurado em manter ativo um servidor local em casa. Minha ideia principal é manter alguns softwares de backup que sincronize principalmente meus documentos e fotos. Além de servir como um pequeno servidor de serviços locais como Git, Backup e Mídia, por exemplo.

Essa ideia surgiu pela necessidade de automatizar com mais autonomia algumas tarefas de backup, mas além disso, também pelo fato de eu ter um pequeno dispositivo ARM disponivel em casa e que provavelmente não teria mais utilidade. Muito conhecido como TV Box, esses mini computadores em sua grande maioria são equipados com processador ARM, geralmente da Amlogic ou da Rockchip com alguma versão do Android instalado. O meu é da Rockchip, sendo mais especifico é um RK3318 e nele veio o Android 9 que posteriormente foi substituido pelo GNU/Linux Debian (Armbian).


Configuração da máquina

Tenho em mãos um ARM Rockchip RK3318 Quad-Core (1,8GHz) com 4GB de RAM e 64GB de memória interna (flash) e um HD adicional de 1TB. O sistema é um Debian 12 para processadores ARM (ou para ser mais exato, o Armbian).


Esses computadores são conhecidos por serem simples e sucintos em recursos de hardware. Todos os componentes são soldados na placa, impedindo a troca ou expansão, como por exemplo a memória interna ou a memória RAM. Mas nada que seja um impedimento para esse primeiro experimento com servidores caseiros.

Primeiro serviço

A principal função atualmente do meu servidor é manter meus backups em funcionamento.

Gosto de manter meus documentos e fotos sempre disponível e seguro, afim de evitar alguma catastrofe¹ nas nuvens.

Eu costumava armazenar meus documentos em alguns HD’s e fazia todo o processo de baixar e organizar de forma manual. Porém comecei a experimentar uma ferramenta mais eficiente que minha força de vontade de fazer manualmente, talvez o RCLONE seja um baixador melhor.

Atualmente tenho um script shell similar a isso:

rclone sync --interactive /mnt/homecloud/photos remote:album/newAlbum

Que executo (por enquanto) manualmente dentro de uma sessão do GNU Screen.

Considerações finais

Meu plano é fazer melhorias pequenas e continuas no meu servidor. Inicialmente minha principal necessidade era manter meus backups seguros e locais, porém existem outras possibilidades de uso além disso.

Algumas ideias que achei intessantes para meu dia a dia, seriam ter um servidor de mídia (DLNA) e um servidor de arquivos disponível na REDE com Samba, além de um DNS local nomeando os endereços de IP para nomes humanamente memorisaveis (homelab.local?).

Hoje todo o processo é bem manual e sem qualquer ferramenta de monitoração, apenas o bom e velho SSH e o HTOP.

02 agosto 2023

RetroCON 2023

Neste domingo (30), tive o prazer de estar presente no primeiro evento de retro games de São Paulo, a RetroCON. Foi uma experiência incrível. A quantidade de GAMES disponíveis para jogar era imensa; ficaria até difícil listar todos aqui. Talvez eu nem tenha conseguido ver todos. Dos que joguei e me lembro, destacam-se: Atari 2600, Mega Drive, Super Nintendo, Xbox 360, Arcade (ou fliperama) e Playstation 4. É curioso mencionar o Playstation 4, mas ele estava lá para rodar o Top Racer, um jogo moderno com visual e mecânica retrô que lembra muito o Out Run do Mega Drive.

Não houve apenas vídeo games para jogar. Havia diversos estandes para comprar camisetas, pôsteres, jogos, apresentações de games retrô e também uma exposição mostrando a história e as gerações dos games ao longo do tempo.

De lá, trouxe um pôster do SONIC 3. A escolha foi realmente difícil, dada a variedade de opções, tamanhos e alguns até com molduras!

Além de decorar meu escritório com um pôster de um dos meus jogos favoritos, ele também servirá como uma boa lembrança desse evento.

Fiz alguns poucos registros fotográficos desse dia épico:





Jogos novos para games antigos;



Encerramento do evento com palavras finais dos organizadores