Compartilhando sem servidor: file.pizza

🍕💾 Anota aí: esse site permite compartilhar arquivos diretamente entre o teu computador e o de outra pessoa.

Tu arrasta o arquivo pra janela do site file.pizza, mas ele não vai pra "nuvem": o site gera uma URL (e um QR Code, pra quem preferir) que tu pode passar pra outras pessoas, que aí fazem o download diretamente da tua aba do navegador (e só enquanto ela permanecer aberta e conectada).

Se tu preferir, dá pra colocar senha, também.

Navegando nos diretórios do terminal com CDPATH e bash-completion

Venho trazer a palavra da variável $CDPATH e do utilitário bash-completion, que juntos facilitam muito navegar pelos diretórios do seu sistema, quando usamos o terminal.

Não são recursos novos1, mas não conhecê-los leva os usuários a criarem soluções trabalhosas2 e frequentemente menos intuitivas para resolver a mesma questão: como chegar rapidamente ao subdiretório desejado, sem ter que digitar o caminho inteiro dele a cada vez.

A variável $CDPATH faz pelo comando ‘cd’ o que a variável $PATH faz pelos executáveis: quando definida, ela indica uma lista de diretórios onde o sistema irá procurar o subdiretório que o usuário mencionar como parâmetro do comando ‘cd’.

Por exemplo: se eu estiver no diretório ~/bin, e desejar ir para o diretório ~/devel/social/feedbot, o comando usual seria: cd ~/devel/social/mastodon-bot, porém se o diretório ~/devel/social fizer parte da lista que está no $CDPATH, bastará digitar cd mastodon-bot.

O mecanismo é simples: quando você usa o comando cd, a shell se encarregará de procurar o diretório mencionado dentro de cada um dos diretórios incluídos no $CDPATH e, assim que encontrar, completará a mudança de diretório. Há exceções e casos especiais, claro, mas o funcionamento básico é esse.

No meu caso, a variável está definida no arquivo ~/.bashrc, com uma linha como esta:


export CDPATH=".:..:$HOME/devel/social:$HOME/devel/:$HOME:/Volumes/WINCHESTER:/Volumes/SSD2TB"

Note que a minha lista acima começa com menção aos diretórios . e ... Isso não é obrigatório, mas garante que a shell sempre inicie a pesquisa pelo diretório corrente (ou .) e pelo pai do diretório corrente (ou ..).

Só isso já seria suficiente para adiantar a vida de quem passa os dias no terminal, mas o utilitário bash-completion traz um conforto a mais, para quem usa a shell Bash: com ele, o completamento automático (com a tecla Tab) no comando cd também passa a considerar a variável $CDPATH - em uma solução intuitiva e prática, que se torna natural já na primeira vez que você usa.

Você pode saber mais sobre o bash-completion e suas múltiplas outras utilidades na página dele no GitHub, mas considere que o provavelmente o seu sistema operacional ou distribuição tem um pacote pronto para instalá-lo (caso não tenha vindo instalado como default), e talvez até indique ou se encarregue de gerar as duas linhas que precisam ser inseridas no ~/.bashrc para ativar esse recurso a partir da abertura da sua próxima shell interativa.

No meu caso foi só instalar via Homebrew, colocar as linhas no ~/.bashrc, abrir um novo terminal, e começar a usar. Fácil e imediato.

 
  1.  Segundo a documentação do Open Group, a variável $CDPATH surgiu na shell do Unix System V (1983), mas mesmo antes disso o BSD já tinha um recurso análogo, na forma do parâmetro cdpath, na sua C Shell.

  2.  Não que reinventar a roda deixe de ser uma oportunidade interessante de aprendizado e até de entretenimento…

Uma sugestão para recebermos melhor os novos usuários brasileiros do Fediverso

Uma configuração simples nas instâncias Mastodon com inscrições fechadas pode facilitar com que os usuários encontrem outras instâncias brasileiras para se inscrever, sem serem levados sempre às instâncias gigantes internacionais.

(agradeço ao Santiago Lema pela sugestão original que deu origem a este texto)

Na versão atual do Mastodon, o usuário que tenta se inscrever em uma instância fechada recebe uma mensagem (aparentemente) amistosa de que ali não há vagas mas ele pode procurar outra instância, porque são todas interligadas:


Diálogo com botão que leva ao site JoinMastodon e avisa: Não é possível criar uma conta em mastodon.nudecri.unicamp.br no momento, mas atente que você não precisa de uma conta especificamente em mastodon.nudecri.unicamp.br para usar o Mastodon.

(A mensagem acima é a de um servidor localizado na Unicamp, mas poderia ser da maioria das instâncias brasileiras que não estão aceitando novas inscrições no momento: ontem no início da noite eu acessei todas que conheço, e 8 delas exibiram essa mesma mensagem, quando pressionei o botão de criar a conta – e várias outras exibiram variações, incluindo algumas bem menos amistosas.)

Não há nada de errado em exibir essa mensagem, claro – ela é a mensagem default, e está correta.

O que ela tem de menos amistoso, entretanto, é que o botão “Encontrar outro servidor” leva ao site Join Mastodon, que dá preferência a indicar a instância internacional e gigante mastodon.social, e oferece poucas instâncias brasileiras – no meu acesso de ontem, havia só duas instâncias brasileiras visíveis lá, sendo que uma estava fora do ar e a outra é voltada só a usuários de Curitiba.

O labirinto das instâncias internacionais

Quando o usuário chega por meio do Join Mastodon, é grande a chance de ele ir parar na instância gigante mastodon.social, e nem conseguir descobrir onde estão as demais comunidades de brasileiros, ou como fazer para se conectar com outras pessoas em seu idioma – como muitos de nós já tivemos oportunidade de acompanhar.

Muitos chegam diretamente por lá, via resultado de buscas ou outras formas, e aí temos pouco a fazer imediatamente – mas é tristemente irônico quando um usuário sabe da existência de uma instância nacional, visita o site dela, clica no botão de criar conta, e acaba direcionado ao Join Mastodon – graças ao diálogo de "instância lotada".

É daí que vem a grande sacada ao alcance dos admins, que eu vi colocada em palavras pela primeira vez pelo Santiago – que também mantém uma das duas listas atualizadas de instâncias brasileiras que eu conheço (a outra é mantida por mim):


Toot do Santiago Lema, em março de 2025, sugerindo que para expandir o Fediverso para fora do seu centro, as mensagens de “instância lotada” poderiam passar a listar outras instâncias amistosas das proximidades, ao invés de continuar perdendo as pessoas via Join Mastodon.

Concordo com o Santiago. E tirar o botão que leva ao Join Mastodon não é simples, porém é fácil melhorar a mensagem que aparece do lado esquerdo do diálogo de "instância lotada".

Como editar a mensagem na sua instância

Todo admin de servidor Mastodon pode ir em Administração / Configurações do servidor / Inscrição e editar a mensagem personalizada, como na tela abaixo:


Tela de edição da mensagem de servidor com inscrições fechadas, com uma mensagem em HTML indicando duas listas de instâncias brasileiras.

No exemplo acima, que é o do servidor que eu mantenho, note que é possível incluir código HTML, incluindo negritos, links e mais.

A mensagem que eu configurei tem link para a lista de instâncias brasileiras do BR-Linux (mantida por mim) e para a do Rednet (mantida pelo Santiago), e sugere que o usuário acesse uma das duas para criar sua conta em uma instância brasileira imediatamente.

Você pode copiar e colar (e editar como quiser):

Este servidor não pode aceitar novos usuários no momento, mas <b>outras instâncias brasileiras estão abertas para novas inscrições</b>, e elas são todas interligadas! <p>Consulte a <a href="https://mastodon.br-linux.org/instancias/">lista do BR-Linux</a> ou a <a href="https://brasil.rednet.social">lista do Rednet</a> para escolher outra instância brasileira agora mesmo!

Caso a lista do Santiago, ou a minha, incluam servidores que você não desejaria indicar, outra alternativa é fazer seu link diretamente para um ou mais servidores abertos que você aprova. Ou se você não gostar da minha lista, mas gostar da do Santiago, ou vice-versa, pode deixar o link só para uma das duas, também.

O resultado é que o usuário que tentar criar conta na sua instância fechada verá um convite com chances de o levar a criar conta em outra instância de brasileiros:


Diálogo incluindo o texto: Este servidor não pode aceitar novos usuários no momento, mas outras instâncias brasileiras estão abertas para novas inscrições, e elas são todas interligadas! Consulte a lista do BR-Linux ou a lista do Rednet para escolher outra instância brasileira agora mesmo!

É isso: segui a sugestão do Santiago da forma descrita acima, e convido outros admins para que façam o mesmo, adaptando a mensagem às suas preferências e, naturalmente, incluindo apenas links que estiverem alinhados aos valores de suas comunidades.

A dica acima é específica para o Mastodon, que é o servidor que eu administro, mas fico à disposição para linkar as instruções de vocês sobre como admins de outros serviços do Fediverso podem fazer procedimentos similares, se quiserem - mandem o link nos comentários!

Em conclusão, além de agradecer ao Santiago pela sugestão e por manter há tanto tempo a sua lista de instâncias brasileiras, também quero fazer uma menção honrosa à instância masto.donte.com.br – a única entre as 27 que eu visitei ontem que já exibia, a quem tenta criar conta, uma mensagem indicando uma das listas de instâncias brasileiras. Parabéns pelo senso de inclusividade!

O app Ivory para Mastodon agora também funciona com o GoToSocial e com o Snac

Serviços eficientes para acesso ao Fediverso ganham mais uma opção de interface, disponível a partir de ontem.

Eu uso o Ivory para acessar o Mastodon a partir do celular e do computador, e esse meu acesso é por meio da instância social.br-linux.org, rodando o Mastodon.

E o Ivory continua a oficialmente a ser um cliente para o Mastodon – porém, a partir da versão 2.3, lançada ontem, os desenvolvedores avisam que ele também pode ser usado para acessar contas do GoToSocial e de outros serviços que (diferente do Mastodon) usem identificadores alfanuméricos para representar os posts – nos comentários do aviso de lançamento, um usuário confirmou que funcionou bem com uma conta do minimalista Snac, por exemplo.

Tanto o GoToSocial quanto o Snac exigem bem menos recursos e requisitos para instalar e manter, quando comparados com o Mastodon – e poder contar com mais clientes compatíveis pode ser um impulso a mais para quem está pensando em ter sua própria instância em equipamentos de pequeno porte, ou hospedagens de baixo custo.

Até eu, que estou bem satisfeito com minha instância do Mastodon, estou pensando de novo em experimentar essas alternativas, para ver melhor como são – pois ambas me agradam muito, conceitualmente – e estão presentes em várias instâncias brasileiras.

Curti a novidade do Ivory.

Voltamos a ter comentários no blog - via Mastodon!

Agora você pode comentar nos posts aqui do Trilux, e ler os comentários dos outros leitores, como se estivéssemos de volta a 2005.

Este meu blog pessoal completa 20 anos em dezembro e, após anos com comentários desativados (e sem a menor vontade de voltar a interagir com o Disqus), eu os reativei com um toque nerd extra: o acesso a eles é via Mastodon, com uma integração que funciona bem em sites estáticos (mas não só neles).

Com esse recurso, usuários de quaisquer serviços on-line conectados ao Fediverso podem comentar, incluindo todos aqueles que são populares no Brasil: GoToSocial, Sharkey, Pleroma, Friendica, Akkoma, Snac – e o próprio Mastodon. Já a conexão entre o blog e o Fediverso é feita usando a API do Mastodon (no meu caso, por meio da instância do BR-Linux).

Posts com comentários ativados mostram os comentários dos leitores, logo abaixo do texto do post, e também ganham um botão que permite comentar (direcionando para a thread no Fediverso associada ao post do blog, para ser exibida diretamente na instância em que você tem conta).


Meme do Homem Aranha, com duas versões do personagem apontando uma para a outra. Em uma delas há a legenda 'Respostas no Mastodon', e na outra, 'Comentários no Blog'.
As respostas na thread do Mastodon são os comentários do blog, e vice-versa, automaticamente.

Como bônus, quem estiver no Fediverso e interagir com a thread associada ao post do blog também terá sua resposta refletida nos comentários - caso as configurações de privacidade do usuário e de seu post permitam, é claro. O acesso é feito diretamente (sem gravar cópias!) entre o navegador do usuário e a instância, que gerencia a privacidade conforme a configuração da conta que comentou.

Você também pode: A configuração desse sistema de comentários integrados – engenhosamente criado pelo dev Michael Thomas, a quem agradeço! - não foi das mais complexas (precisou colocar 2 arquivos no servidor, e editar o template dos posts), e eu documentei um passo a passo com detalhamento técnico, que está disponível em mastocomments.disquete.online para quem quiser experimentar.

O @Biloti já experimentou, validou o meu guia passo a passo, e agora as aulas do curso on-line de cálculo numérico dele já contam com comentários via Fediverso.

* * *

Agora temos comentários novamente, portanto. Por favor comportem-se e não me levem ao arrependimento :)

Como é ter autismo: mais um exemplo de como funciona para mim

Superei de novo os meus obstáculos invisíveis entre a percepção de uma necessidade e a decisão de resolvê-la – e agora vou trabalhar pra que eles deixem de ser invisíveis para mim.

É difícil explicar, no dia a dia, como é a experiência de ter autismo, por isso venho anotando e compartilhando alguns exemplos práticos da minha vida, porque talvez ajude a contextualizar para quem tem interesse em compreender e conviver melhor com quem passa por essas situações.

No começo do ano eu já havia escrito sobre a forma como o meu autismo coloca uma barreira entre a percepção de um desejo ou necessidade – como fome e frio – e a tomada de decisão (ou iniciativa) necessária a resolver isso – como pegar um prato de comida ou vestir um agasalho.

Encontro uma barreira entre a percepção de um desejo ou necessidade – como fome e frio – e o gatilho da iniciativa necessária a resolvê-la.

Não é que eu nunca tenha a reação – diria que na maioria das vezes eu tenho. O que acontece é que às vezes alguma outra coisa fica no caminho: geralmente uma decisão tomada antes dessa percepção aparecer (aqui o obstáculo é via rigidez cognitiva), ou alguma coisa que esteja ocupando 100% da minha capacidade de dar atenção naquele momento (aqui é via hiperfoco).

Juntando a fome e a vontade de comer, só que não

Neste fim de semana, esse fenômeno que eu narrei no início do ano aconteceu de novo e, como na vez anterior, eu acabei percebendo a tempo, e atuando – e só mais tarde caiu a ficha do que tinha acontecido.

Na vez anterior, foi algo mais imediato e direto: eu percebi que estava com sede e, apesar de estar em frente à geladeira aberta e na qual havia água gelada, não conectava esses dois fatos na forma da decisão que racionalmente é a óbvia: beber água. A causa era a rigidez cognitiva: eu estava preparando o café da manhã, e fui à geladeira para pegar o leite. Naquela hora, até pensei: "preciso lembrar de voltar aqui depois do café, pra tomar uma água, porque estou com sede".

Neste final de semana, foi algo que envolvia mais passos: logo que acordei, vi por acaso uma foto de uma comida que eu sei preparar, e é fácil de fazer, e pensei: "poxa, seria bom almoçar isso". Note que era sábado, eu tinha tempo (isso foi pelas 9 da manhã), os ingredientes são fáceis de obter, o preparo é rápido mas... eu simplesmente não tive a ideia de preparar esse almoço.

Curiosamente, devido ao que eu estava fazendo naquele dia, por várias vezes ao longo da manhã eu vi a mesma foto (que era desse mesmo prato, preparado por mim aqui em casa, meses antes), e em todas as vezes eu voltei a perceber a vontade de comer aquela refeição – mas essa vontade não se converteu em ação nenhuma: em nenhum momento eu percebi que PODIA almoçar aquilo.

De novo, é o obstáculo invisível entre a percepção do desejo e a decisão de resolvê-lo.

O que estava me impedindo era a mesma rigidez cognitiva que se manifestou no episódio da água gelada: eu já tinha comprado ingredientes para o almoço de sábado, então a decisão sobre o que almoçar não voltava a estar disponível pra mim. E isso não é num sentido de "já está decidido, portanto não posso mudar" – é num sentido de que eu não lembro, ou não atino, ou de alguma outra forma não volto a pensar nesse assunto. De novo, é o obstáculo invisível entre a percepção do desejo e a decisão de resolvê-lo.

Curiosamente, ou talvez perversamente, isso só se aplica quando são decisões sobre as minhas necessidades mais básicas, e às percepções sensorias (olfato, paladar, frio, dor, fome, etc.) – quando se trata do que é racional, eu sou bastante resolutivo e tenho iniciativa, inclusive quando se trata de situações profissionais, acadêmicas ou de apoio a outras pessoas.

Teve final feliz

Ao contrário da vez anterior, dessa vez a ficha não caiu sozinha – mas teve um plot twist a meu favor, e eu acabei almoçando o que queria desde as 9 da manhã.

Isso só aconteceu porque, perto do meio-dia, quando fui preparar o almoço que já estava planejado, descobri que eu tinha guardado os ingredientes no congelador, e não na geladeira, então eles estavam indisponíveis. Foi só aí, quando se abriu, por situação externa, uma janela para recálculo de rota, que apareceu a percepção óbvia desde o princípio: eu QUERIA comer outra coisa.

A partir daí, foi tudo na sequência natural: fui no comércio próximo comprar os ingredientes do prato que eu estava a fim, preparei, almocei e adorei, com direito a complemento de maionese, farofa e pão francês fresquinho.

Naquele momento, eu já sabia que, se não tivesse faltado o ingrediente do almoço default, eu teria passado em branco por essa vontade. Mas só no dia seguinte percebi que era a repetição dessa mesma dinâmica, em que eu nem chego a registrar conscientemente a perda da oportunidade: é como se ela de fato não existisse.

É incrível porque é completamente invisível, não é nem mesmo algo que eu possa me policiar para reagir – o que me falta não é a reação, mas a percepção da conexão entre ela e o estímulo presente. Não tenho algo específico a vigiar, ainda.

Mas talvez seja como aquela situação do motociclista que está em um ângulo que o retrovisor do carro não mostra, e haja uma técnica ou uma ferramenta para que eu possa ativamente procurá-lo antes de mudar de pista.

Eu vencerei isso, tenho certeza, mas por enquanto vou deixar a porta aberta para aparecerem os caminhos.

* * *

Uma nota ao leitor: sabendo da boa vontade de todos, quero deixar registrado que eu compartilho essas experiências para que outras pessoas possam entender os desafios do TEA, a partir da forma como eles se manifestam em mim. Nesse sentido, eu topo sim conversar sobre o assunto, mas quero destacar que não estou em busca de sugestões de solução por parte dos leitores - essa é uma jornada que eu preciso fazer no meu tempo, com as minhas próprias descobertas, a partir da minha rede de apoio.

Unix: cat ao contrário é tac ou é tail -r?

As diferenças de parâmetros entre utilitários do Unix (incl. BSD e Mac) e de similares como o GNU (nas coisas que o padrão POSIX não prevê) exigem uma expansão de memória para a gente lembrar de tudo.

Além de coisas como diferenças no grep e no tar, na aritmética de datas usando o date, etc., tem também as coisas que são feitas com comandos completamente distintos.

Por exemplo, no BSD a gente lista um arquivo em ordem inversa (da linha final até a linha inicial) com ‘tail -r’. No GNU, é com ‘tac’ (cat ao contrário).

Haja memória.

Como um líder pratica a delegação

Uma amiga me pediu (como Administrador que sou) dicas sobre delegação, porque vai ocupar pela primeira vez uma posição em que será responsável por gerenciar uma equipe, e não tem experiência com o ato de delegar – que é transferir a outra pessoa da equipe a execução de tarefas (sem abrir mão da responsabilidade pelo resultado).

Liderar, você sabe, é algo que não só os chefes praticam – inclusive tem muito chefe incapaz de liderar. Da mesma forma, tem muitas maneiras de delegar, mas há dois elementos que caracterizam a delegação feita por líderes notáveis:

  1. Em relação à pessoa da equipe que receberá a delegação: o ideal é dizer qual o objetivo, quais os requisitos (ou critérios de aceitação), se colocar à disposição pra esclarecimentos e apoio, e aí sair do caminho e deixar a pessoa desenvolver o jeito dela de resolver - e ir ajustando aos poucos, ao longo de várias delegações, até o jeito dela e a expectativa do líder ficarem bem alinhados (em outras palavras: não microgerenciar!)
  2. Em relação à pessoa que passou ao líder a tarefa que foi delegada, o que se espera é que na hora de reconhecer os méritos, essa pessoa fique sabendo quem foi que apoiou o esforço - mas se, ao contrário, essa pessoa tiver reclamações ou críticas, a liderança assume a bronca sozinha, pra si, se colocando como integral responsável – afinal, ao contrário do esforço, a responsabilidade não se delega. Depois, já calmo, o líder transmite o feedback pro liderado, com foco em melhorar entregas futuras, e não em retransmitir a reclamação recebida.

Nem sempre dá, mas esses dois componentes, juntos, favorecem a iniciativa e o desenvolvimento, e formam uma equipe coesa, com gente que confia no líder, tanto abaixo quanto acima no organograma.

Devolução de dinheiro no Mercado Livre funcionou bem

Faz uns 10 dias comprei no Mercado Livre um HD externo pros backups deste ano, chegou na quinta – mas dentro do envelope tinha um mouse USB bem baratinho, e nada do meu HD.

Pedi providências pro vendedor na sexta, ele não respondeu até agora.

Mas aí veio a boa notícia: hoje abri reclamação no próprio ML (o form pediu descrição, foto da embalagem, do produto e da etiqueta).


Print da mensagem de conclusão do atendimento, recebida no site do Mercado Livre

Em 1 minuto tinha um humano falando comigo no Whatsapp, em 5 minutos o dinheiro estava de volta na minha conta.

Curti.

Encontrei o timer perfeito para gerenciar atenção

Um timer que pode ser acionado sem perder o seu fluxo de atenção: é só girar o cubo até a duração desejada ficar para cima.

Ao largar o cubo em cima da mesa com uma das faces numeradas para cima, uma contagem regressiva começa imediatamente na tela – sem botões nem sinais adicionais. Ao final, o alarme toca – e você pode escolher se quer alarme sonoro (em 2 níveis de volume) ou vibratório.

Gravei um vídeo curto (e sem palavras), mostrando o acionamento de um timer de 5 minutos:

Os controles de pausa e de zerar são igualmente simples: colocar o visor para cima inicia uma pausa, e colocá-lo para baixo zera e interrompe a contagem.

Ele é um timer de atenção, no sentido de que serve para nos interromper após o tempo planejado – seja porque queremos lembrar de fazer alguma coisa, ou porque queremos parar de fazer alguma coisa.

Pergunte a um amigo com TDAH ou a qualquer pessoa que precise gerenciar hiperfocos, e eles lhe dirão como é importante contar com algo confiável e simples para lembrar de começar ou parar alguma coisa.

É nesse contexto – por não precisar perder a escassa e preciosa atenção – que tem valor especial a praticidade de mal precisar desviar o olhar para definir timers de 5 minutos, 10 minutos, meia hora e uma hora.

Um detalhe: já você prefere um timer para cozinha, ou para a técnica pomodoro, eu não recomendaria este1. Por outro lado, ele pode ser uma solução adequada se o que você deseja é limpar a casa usando o método da Galinha Temporal.

Eu comprei o meu neste vendedor do AliExpress (é o modelo “A-White 1” - o modelo B é mais barato e mais básico), mas é provável que você também encontre em outros locais e até por preços melhores.

 
  1.  Embora ele até possa servir, já que tem, entre os seus controles, uma opção de colocar em modo manual, e aí você usa botões para definir a duração do timer e outras configurações