Ir para o conteúdo
ou

Software livre Brasil

Tela cheia
 Feed RSS

Helio Loureiro

27 de Maio de 2009, 0:00 , por Software Livre Brasil - | Ninguém está seguindo este artigo ainda.

Migrando seus dados pra um disco novo

1 de Abril de 2021, 15:18, por Home - helio.loureiro.eng.br - 0sem comentários ainda

Essa dúvida surgiu no grupo de Ubuntu do Telegram (https://t.me/ulboficial) e ao invés de responder lá eu preferi escrever um artigo sobre isso.

O método que uso, principalmente em laptops novos, é basicamente o mesmo desde... acho que aprendi a fazer isso por volta dos anos 2000.  Era um capítulo do venerado livro "Unix Power Tools", a bíblia dos scripts pra sysadmins.

Livro Unix Power Tools Livro Unix Power Tools

Eu primeiramente insiro o HD novo e particiono.  Não vou usar o exemplo de LVM, que é mais simples, mas o mais cabeludo que é quando se cria todas as partições que vai usar.  Então digamos que eu adicione um novo HD que aparecerá para mim como /dev/sdb (pra facilitar).  Supondo que o particionamento seja o seguinte:

  • /dev/sdb1: /boot
  • /dev/sdb5: /
  • /dev/sdb6: /home

O passo seguinte, após formatar as partições no formato desejado (eu geralmente uso XFS), é montar essas partições em um local onde possa copiar os dados.  Eu normalmente uso o /mnt pra essa finalidade.

root@goosfraba ~# mount /dev/sdb5 /mnt
root@goosfraba ~# mount /dev/sdb1 /boot
root@goosfraba ~# mount /dev/sdb6 /home

Uma vez com tudo montado é fazer cópia de um lado pro outro evitando copiar o /mnt, que já está em uso com o disco novo, e diretórios como /proc, /dev ou /sys, que são criados durante o boot.  E pra isso eu uso o comando tar.

root@goosfraba ~# tar cvf - --exclude=./proc --exclude=./sys --exclude=./dev --exclude=./mnt -C / . | tar xf -C /mnt

Com isso o disco já está todo pronto em /mnt.  Resta corrigir o boot.  Pra isso eu uso chroot pra acessar o disco novo a partir de /mnt e montando tanto /proc quanto /dev pro grub localizar o disco corretamente.

root@goosfraba ~# mkdir /mnt/{proc, dev}
root@goosfraba ~# mount --bind /proc /mnt/proc
root@goosfraba ~# mount --bind /dev /mnt/dev
root@goosfraba ~# chroot /mnt
root@chroot ~$ grub-install /dev/sdb 

Assumindo que vá remover o primeiro disco, /dev/sda, e sdb será o novo sda, nada mais é preciso.  Agora caso vá ficar com sdb como disco principal, então é preciso modificar as entradas do /etc/fstab pra conter os dados corretos do novo disco.

Ao terminar e antes de rebootar, tenha com você o disco de instalação em mãos pra utilizar o modo de recuperação em caso de algum problema (e não precisar ficar colocando o disco antigo).



Rodando um webserver localmente em Python

26 de Março de 2021, 20:40, por Home - helio.loureiro.eng.br - 0sem comentários ainda

Toda vez que gravamos o Unix Load On (Canal Unix Load On), eu acabo fazendo uma seleção tosca do que vamos falar.  Isso sempre me deu uma coceira de resolver.  E nada melhor que o bom e velho Python.

Hoje eu coloquei as mangas de fora e fiz funcionar.  No bom e velho modo script: rodo num shell, e pego o resultado.  Mas cheguei no ponto em que gostaria de que isso estivesse disponível em modo web, pra eu poder mostrar durante o programa diretamente no browser.

O Python fornece o módulo SimpleHTTPServer, que aliás parece que no Python3 virou uma classe de http.serve.  Mas tem.  Ele mostra o filesystem via interface http a partir de onde você chama o módulo.  Não deveria ser complicado fazer o output do meu script ir pra uma interface http.  E realmente foi o que fiz.


def start():

    class Handler(BaseHTTPRequestHandler):
        def do_GET(self):
            self.send_response(200)
            self.send_header("Content-type", "text/html")
            self.end_headers()
            client_ip, client_port = self.client_address
            reqpath = self.path.rstrip()
            print(f"request from {client_ip}:{client_port} for {reqpath}")
            article = get_final_article()
            title = get_title(article)
            link = get_link(article)
            response = f"""
<h1>Title: <a href="http://helio.loureiro.eng.br/{link}">{title}
<h2>Link: <a href="http://helio.loureiro.eng.br/{link}">{link}</a></h2>
""" 
            content = bytes(response.encode("utf-8"))
            self.wfile.write(content)

Se leu com atenção vai ver que a linha do artigo eu pego em "article = get_final_article()".  Isso retorna algo como:

* [Linux developers get ready to wield the secateurs against elderly microprocessors • The Register](https://www.theregister.com/2021/01/11/linux_olld_cpus/)

Dai o restante é sanitizar cada um pra mostrar corretamente.

O script todo pode ser visto aqui: https://github.com/helioloureiro/homemadescripts/blob/master/random_article.py

O resultado no console é algo parecido com isso aqui:


./random_article.py 
127.0.0.1 - - [26/Mar/2021 21:31:27] "GET /newarticle? HTTP/1.1" 200 -
request from 127.0.0.1:46060 for /newarticle?
 = Articles =
 * /helioloureiro/canalunixloadon/blob/master/pautas/2016030.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2016040.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2016041.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2016050.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2016051.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2016090.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2016100.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2016110.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2016120.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2017010.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2017020.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2017030.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2017040.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2017060.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2017061.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2017070.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2017080.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2017110.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2018030.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2018050.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2018060.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2018080.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2018100.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2019020.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2019040.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2019070.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/2019110.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/20200717.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/20200807.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/20201001.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/20201015.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/20201029.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/20201115.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/20201204.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/20210121.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/20210205.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/20210215.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/20210312.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/20210325.md
 * /helioloureiro/canalunixloadon/blob/master/pautas/20210410.md
Latest: /helioloureiro/canalunixloadon/blob/master/pautas/20210410.md
https://raw.githubusercontent.com/helioloureiro/canalunixloadon/blob/master/pautas/20210410.md
Article selected: * [Linux developers get ready to wield the secateurs against elderly microprocessors • The Register](https://www.theregister.com/2021/01/11/linux_olld_cpus/)
title: Linux developers get ready to wield the secateurs against elderly microprocessors • The Register
article: * [Linux developers get ready to wield the secateurs against elderly microprocessors • The Register](https://www.theregister.com/2021/01/11/linux_olld_cpus/)


Atualizando pra FreeBSD 13.0

19 de Março de 2021, 17:44, por Home - helio.loureiro.eng.br - 0sem comentários ainda

Já faz anos que deixei de usar FreeBSD como principal systema operacional, inclusive no meu laptop.  Um dos motivos que me levaram a isso na época foi o fato da hibernação não funcionar corretamente (naquela época).  O post que fiz da migração foi esse aqui: Migrando para OpenSuse.  Como mudei pra Suécia pra virar um desenvolvedor de software em Linux, não fazia muito sentido continuar ou tentar voltar ao FreeBSD como sistema principal.

Mas sempre tentei manter um pé por ali.  FreeBSD é um sistema fantástico pra ser usado.  E com as facilidades de CPUs com múltiplos núcleos e avanço no sistemas de virtualização, ficou fácil ter sempre à mão uma VMzinha com o diabinho rodando.

Meu eu sempre criava a VM, usava por um tempo, e depois removia.  Simplesmente parei de fazer upgrades.  Só testava algumas features e ficava por isso mesmo.

Após uma explicação muito boa do sistema de upgrades feita pelo Garga (@rbgarga) no grupo de FreeBSD (FUG-BR) no Telegram (https://t.me/fug_br), eu resolvi experimentar.

A explicação:

Existem 3 casos de uso do freebsd-update:


1. Atualizar de X.Y pra X.Y-p1
2. Atualizar de X.Y pra X.Y+1
3. Atualizar de X.Y pra X+1.Y

No caso 1, apenas correções de segurança, então vc vai rodar freebsd-update fetch install, reboot e já era.

No caso 2, como vc tá atualizando pra uma nova versão de kernel, dentro da mesma série, vc vai fazer freebsd-update -r X.Y+1 upgrade pra ele baixar tudo o que precisa, aí vai fazer freebsd-update install pra ele instalar o kernel novo, então reboot no kernel novo, confere que tá tudo em ordem e freebsd-update install novamente pra ele atualizar o world, aí vc reinicia ( ou faz um reboot se for possível ) e pronto.

No caso 3 você tá trocando de major version, do 12 pro 13 por exemplo, então vc repete o processo do caso 2, porém, depois do segundo freebsd-update install vc vai estar em um sistema rodando world e kernel do 13, porém com pacotes ainda do 12.  Então vc atualiza todos os pacotes e depois roda o último freebsd-update install pra ele remover todos os arquivos antigos do 12 que não são mais usados no 13 (equivalente ao make delete-old delete-old-libs).  Se rodar isso antes de reinstalar todos os pacotes, com certeza vai quebrar coisas

Então segui as direções num upgrade do 12.2-RELEASE pro 13.0-RC1, o caso 3.


root@freebsd:~ # freebsd-update -r 13.0-RC1 upgrade
src component not installed, skipped
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 12.2-RELEASE from update4.freebsd.org... done.
Fetching metadata index... done.
Inspecting system... done.

The following components of FreeBSD seem to be installed:
kernel/generic kernel/generic-dbg world/base world/base-dbg world/doc
world/lib32 world/lib32-dbg

The following components of FreeBSD do not seem to be installed:

Does this look reasonable (y/n)? y

Fetching metadata signature for 13.0-RC1 from update4.freebsd.org... done.
Fetching metadata index... done.
Fetching 1 metadata patches. done.
Applying metadata patches... done.
Fetching 1 metadata files... done.
Inspecting system... done.
Fetching files from 12.2-RELEASE for merging... done.
Preparing to download files... done.
Fetching 10251 patches.....10....20....30....40....
[editado]
....10230....10240....10250 done.
Applying patches...
Fetching 638 files... ....10....20....
[editado]
...620....630.... done.
Attempting to automatically merge changes in files... done.
 
The following file will be removed, as it no longer exists in
FreeBSD 13.0-RC1: /etc/motd
Does this look reasonable (y/n)? y
The following files are affected by updates. No changes have
been downloaded, however, because the files have been modified
locally:
/var/db/etcupdate/log
The following files will be removed as part of updating to
13.0-RC1-p0:
/boot/boot1.efifat
13.0-RC1-p0:
/boot/boot1.efifat
/boot/gptboot.efifat
/boot/kernel/aha.ko
[...]
The following files will be added as part of updating to
13.0-RC1-p0:
/boot/fonts
/boot/fonts/10x18.fnt.gz
/boot/fonts/10x20.fnt.gz
/boot/fonts/11x22.fnt.gz
[...]
The following files will be updated as part of updating to
13.0-RC1-p0:
/.cshrc
/.profile
/COPYRIGHT
/bin/[
/bin/cat
/bin/chflags
[...]
To install the downloaded upgrades, run "/usr/sbin/freebsd-update install".
root@freebsd:~ # /usr/sbin/freebsd-update install
src component not installed, skipped
Installing updates...
Kernel updates have been installed.  Please reboot and run
"/usr/sbin/freebsd-update install" again to finish installing updates.
root@freebsd:~ # reboot
Mar 10 11:39:50 freebsd reboot[65100]: rebooted by root
Mar 10 11:39:50 freebsd syslogd: exiting on signal 15
[...]
root@freebsd:~ # uname -a
FreeBSD freebsd 13.0-RC1 FreeBSD 13.0-RC1 #0 releng/13.0-n244639-60e8939aa85: Fri Mar  5 05:01:01 UTC 2021     root@releng1.nyi.freebsd.org:/usr/obj/usr/src/amd64.amd64/sys/GENERIC  amd
64
root@freebsd:~ # /usr/sbin/freebsd-update install
src component not installed, skipped
Installing updates...
Scanning //usr/share/certs/blacklisted for certificates...
Scanning //usr/share/certs/trusted for certificates...

Completing this upgrade requires removing old shared object files.
Please rebuild all installed 3rd party software (e.g., programs

/bin/[
/bin/cat
/bin/chflags
[...]
To install the downloaded upgrades, run "/usr/sbin/freebsd-update install".
root@freebsd:~ # /usr/sbin/freebsd-update install
src component not installed, skipped
Installing updates...
Kernel updates have been installed.  Please reboot and run
"/usr/sbin/freebsd-update install" again to finish installing updates.
root@freebsd:~ # reboot
Mar 10 11:39:50 freebsd reboot[65100]: rebooted by root
Mar 10 11:39:50 freebsd syslogd: exiting on signal 15
[...]
root@freebsd:~ # uname -a
FreeBSD freebsd 13.0-RC1 FreeBSD 13.0-RC1 #0 releng/13.0-n244639-60e8939aa85: Fri Mar  5 05:01:01 UTC 2021     root@releng1.nyi.freebsd.org:/usr/obj/usr/src/amd64.amd64/sys/GENERIC  amd
64
root@freebsd:~ # /usr/sbin/freebsd-update install
src component not installed, skipped
Installing updates...
Scanning //usr/share/certs/blacklisted for certificates...
Scanning //usr/share/certs/trusted for certificates...

Completing this upgrade requires removing old shared object files.
Please rebuild all installed 3rd party software (e.g., programs
installed from the ports tree) and then run "/usr/sbin/freebsd-update install"
again to finish installing updates.
root@freebsd:~ # reboot
Mar 11 17:25:34 freebsd reboot[43513]: rebooted by root
Mar 11 17:25:34 freebsd syslogd: exiting on signal 15
[...]
root@freebsd:~ # file /usr/local/bin/htop
/usr/local/bin/htop: ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, for FreeBSD 12.0 (1200086), FreeBSD-style, stripped

root@freebsd:/usr/ports/ports-mgmt/pkg # pkg update -f
Updating FreeBSD repository catalogue...
Fetching meta.conf: 100%    163 B   0.2kB/s    00:01
Fetching packagesite.txz: 100%    6 MiB   6.4MB/s    00:01
pkg: No trusted certificates
Unable to update repository FreeBSD
Error updating repositories!

E fiquei travado nesse problema de "no trusted certificates" pra atualizar os pacotes.

Levei um tempo buscando solução, que indicavam pegar os certificados do /usr/src, que eu não instalo mais, mas achei a informação de ouro que corrigiu o problema.  A instalação sobrescreveu a configuração em /etc/pkg/FreeBSD.conf e isso causou o erro.  Bastou trocar o parâmetro "signature_type" para "none" que consegui atualizar os pacotes pra binários do FreeBSD-13.0-RC1.


root@freebsd:~ # cat /etc/pkg/FreeBSD.conf  
# $FreeBSD$ 
#   echo "FreeBSD: { enabled: no }" > /usr/local/etc/pkg/repos/FreeBSD.conf
# 

FreeBSD: { 
  url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly", 
  mirror_type: "srv", 
  signature_type: "none", 
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes 
}
 

Sobre o FreeBSD-13.0?  Não muito a dizer até onde mexi, mas tem novas features interessantes que espero testar mais a fundo.  No momento estou deixando o ambiente preparado pra talvez fazer uma palestra dobre Python no FreeBSD.



Minha experiência de quase COVID na Suécia

5 de Março de 2021, 17:08, por Home - helio.loureiro.eng.br - 0sem comentários ainda

Com o spoiler to título, já sabem que não tive COVID.   Mas fiquei doente, bastante, e vou contar como funcionou o sistema de saúde sueco.

Tudo começou numa segunda-feira (tinha de ser coisa de segunda-feira mesmo), ao fim do dia.  Comecei a sentir aquela típica dor nas costas e calafrios de febre.   Não deu outra: 39°C de febre dali uma meia hora.   Como eu já tinha tido uma virose um tempo atrás, já sabia que o procedimento era aguardar pelos menos 2 dias antes de entrar em contato com o sistema de saúde.

Passado os 2 dias, nada da febre baixar, então procurei o sistema de saúde.  Se é uma emergência, o número é 112.  Do contrário, o número é o 1177.   É possível acessar o sistema de saúde por web também, através do https://1177.se, mas eu preferi por telefone.  Ao ser atendido, uma das opções é pra continuar em inglês.  Sei que existem suportes a outras línguas como árabe e eritréia (na verdade não sei como chamam a língua da Eritréia em português, que fica Eritrean em inglês).  Fiquei uns 2 minutos na espera até que alguém atendeu a ligação.  Conversamos sobre os sintomas e a pessoa disse que realmente poderia ser COVID.  Então eu teria de estar isolado em casa, o que já tinha feito desde o primeiro dia, e pedir o teste pra confirmar.   Pra eu não ter de decifrar como pedir o teste, foi enviado um SMS com o link direto pra eu fazer o pedido.  E fiz.

Eu tinha ligado no terceiro dia de manhã, mas o teste só foi entregue no dia seguinte, pois a fila de gente pedindo era grande.  Foi entregue em casa por um motorista de táxi.  Ele me telefonou antes de chegar avisando que estava a caminho.

O kit de teste era esse aqui:

Nada de muito sofisticado.  Um cotone, um prato descartável, uma cápsula pra conter o cotonete e saquinhos plásticos pra fechar tudo.  Minhas informações estava no QR-code borrado.  Veio tudo em sueco mas...

instruções em inglês no site.

Fiz a coleta, ligue de novo pro motorista e deixei a amostra do lado de fora da porta.

Nesse meio tempo segui apenas a recomendação que passaram: tomar algum remédio pra baixar a febre e não ficar o tempo todo na cama.  Doses de paracetamol deram conta do recado.

No mesmo dia em que fiz o exame eu já recebi o resultado.  Era umas 10 ou 11 horas da noite, mas veio por SMS.  Teste negativo.

Foi um grande alívio, mas mesmo assim passei 5 dias com febre.  Liguei no 1177 no dia seguinte e eles disseram que poderia mesmo ser uma gripe.  Mas em caso da febre continuar persistindo eu deveria buscar o posto de saúde próximo de casa pra buscar ajuda.  Não precisei.

Não houve nenhuma recomendação ou sugestão pra usar coisas como cloroquina ou ivermectina, remédios que fazem a cabeça dos brasileiros.  Apenas algo pra manter a febre baixa.  E beber bastante água.

Talvez no próximo post eu explique um pouco como funciona o sistema de postos de saúde aqui.



Pandemia escandinava (artigo de junho de 2020)

19 de Fevereiro de 2021, 18:34, por Home - helio.loureiro.eng.br - 0sem comentários ainda

Esse é um artigo meio que requentado.  Eu o preparei no ano passado pra uma edição da Revista do Espírito Livre sobre a pandemia que no fim nunca foi lançada.  O que descrevo é um retrato de como estava a situação da Suécia na época.   Estamos em 2021 e muita coisa mudou.  E pra pior.  Mas isso eu deixo pra comentar mais pra frente em outro artigo.

---

 

Não acompanho muito de perto como está a pandemia no Brasil.  Mas vejo pelas notícias que chegam por aqui que está uma bagunça geral e que em certos pontos citam a Suécia como referência.  E não só no Brasil: nos EUA também vejo muitas pessoas citando a Suécia como exemplo, no início como bom, e ultimamente como mau.

 

Eu já vivo no coração da escandinávia, em Estocolmo na Suécia, mais de 5 anos e vou descrever um pouco de como foi e está sendo enfrentada a pandemia por aqui, como as coisas mudaram, como tudo foi afetado.  Vou aproveitar o parágrafo pra pedir desculpas pelos ângulos das fotos.  Todas foram tiradas de uma câmera gopro que uso em meu capacete quando estou andando de bicicleta.  E como é um bicicleta road, o ângulo sai um pouco pra baixo.

 

A Suécia não decide sua política pública de saúde por meio de ministros ou governo.  Existe uma autoridade de saúde que publica os fundamentos das políticas a serem adotadas e todos seguem.  O governo poderia ir contra o que é recomendado mas essa autoridade é composta por epidemiologistas especialistas.  A cara do órgão é Anders Tegnell, epidemiologista reputadíssimo que chefiou inclusive equipes na luta contra ebola.  É ele quem geralmente aparece no relatório diário que é feito sobre a evolução da epidemia.   Não somente ele, mas a equipe que trabalha lá decide quais são as medidas adotadas por aqui.

 

Foto de Frankie Fouganthin retirada da wikipedia sobre Anders Tegnell. Foto de Frankie Fouganthin retirada da wikipedia sobre Anders Tegnell.

 

 

Mas nem tudo são flores.  Muitos outros cientistas, também renomados, são contra as medidas adotadas aqui.  E chegaram mesmo a fazer uma carta pública contra Tegnell.  Mas aparentemente aqui a ciência fala mais alto e ele continua sendo o chefe por lá.

 

Entre as decisões tomadas pra conter o avanço da doença, foram decretadas as seguintes medidas: distanciamento social, creches e escolas primárias abertas, restaurantes e bares só atendem clientes sentados em mesas e existem espaçamentos de 1 mesa entre cada mesa, que trabalhem de casa os que puderem, completo isolamento de asilos, e permitidos agrupamentos com menos de 50 pessoas.

 

Essas medidas parecem simples e fogem do padrão de lockdown que muitos outros fizeram como solução, como foram os casos da Espanha e da Itália.  O argumento aqui foi que não existe nenhum estudo comprovando a eficácia do isolamento, que uma vez tendo as pessoas novamente em circulação, o vírus espalhará como faria normalmente e que as pessoas não são estúpidas.  Todos entendem que há uma pandemia lá fora.

 

Isso resultou em ruas vazias.  Muitos pequenos negócios estão falindo, inclusive restaurantes e bares que podem ficar abertos.  As ruas costumam ficar desertas.  O empreendedor que dirigia táxi ou uber está praticamente sem trabalho.  Serviços como cabeleireiros estão vazios.  Lojas estão às moscas.  Não declarar lockdown não foi o que salvou o comércio aqui.  Pra amenizar os efeitos econômicos da pandemia, o governo editou uma série de pacotes de ajuda, como pagar 40% do salário de quem teve o número de horas trabalhadas reduzidas, sendo a empresa arcando com 50% e os 10% restantes seriam por conta do trabalhador.  E até mesmo o pagamento de financiamento de casa pode ser suspenso por mais de 1 ano.



Foto de uma sexta-feira às 6 horas da tarde no centro de Estocolmo. Foto de uma sexta-feira às 6 horas da tarde no centro de Estocolmo.

 

 

Mesma rua, um pouco à frente da foto anterior.  Algumas pessoas nas mesas de fora, o que dá a sensação de estar cheio, mas são apenas essas pessoas.  Dentro o bar estava vazio.



Como não estamos em lockdown o governo recomenda que todos saiam de casa pra fazer exercícios e aproveitar o sol, que é uma coisa rara na Suécia e costuma sumir por longos 4 meses de pesado inverno.   O ponto que levam em questão é que para saúde mental é importante as pessoas manterem hábitos saudáveis como andar pelos parques, andar de bicicleta ou correr.  E muita gente segue essa recomendação por aqui, inclusive eu.

 

Keepers of the cog rule #6:  Free your mind and your legs will follow. Keepers of the cog rule #6: Free your mind and your legs will follow.

 



E quem olhar bem atentamente pras fotos vai perceber que não há quase ninguém usando máscaras.  Esse é outro ponto controverso, mas a autoridade de saúde diz que não há comprovação da eficácia do uso de máscaras contra o COVID-19.  Por favor não enviem mails ou mensagens me xingando ou links pra artigos que dizem o contrário.  Eu não sou a autoridade sueca, que conta com médicos especialistas em doenças infecciosas.  Mas em geral é o que acontece quando comento esse item.

 

Qual o resultado pra essa política?  Até agora o número de mortos é muito acima dos outros países nórdicos, mas todos implementaram lockdown.  Esse é o grande drama do modelo sueco: as pessoas não estão enclausuradas em casa, mas isso fez com que o número de mortos fosse grande.  Um dos maiores do mundo (estamos chegando ao número de 5 mil mortos com o número de mortos por dia caindo).  O argumento é que não faltaram leitos em UTI pra essas pessoas, o que é verdade.  Houve preparo com até hospital de campanha sendo criado em 2 semanas, e que foi desmontado recentemente por falta de uso.  No pico da contaminação da doença o número de leitos utilizados foi por volta de 500 dos 1500 disponíveis.  Atualmente esse número é abaixo de 400.  A taxa de mortalidade do vírus é muito alta em idosos, que foi onde a Suécia admite que errou: deveria ter bloqueado acesso aos idosos desde o início.  E treinado melhor os funcionários de asilos, pois há relatos de que muitos foram trabalhar sem equipamentos de proteção adequados e mesmo alguns com sintomas de gripe. 

 

Outro ponto que as estatísticas mostraram foi que os mais afetados em sua maioria eram idosos de famílias de imigrantes.  A teoria é de que ao contrário dos suecos, existem pessoas de diferentes idades vivendo na mesma residência e isso permitiu o espalhamento da doença mais facilmente entre esses avôs e avós que viviam com os netos na mesma residência.   Nesse ponto traçam um certo paralelo com o que aconteceu na Itália, onde dizem ser algo parecido em termos de moradia.

 

Ao contrário dessas famílias, o povo nórdico gosta de viver sozinho.  O índice de pessoas que vivem só é algo em torno de 56% da população.  Bom… não posso nem reclamar pois sou praticamente parte dessa estatística.

 

Praia sueca.  Não lotada mas com pessoas.  E todas mantendo distância.  E sem máscaras. Praia sueca. Não lotada mas com pessoas. E todas mantendo distância. E sem máscaras.

 



Escrevi bastante sobre o corona vírus e como a sociedade nórdica tem enfrentado o mesmo, mas não escrevi nada sobre software livre.  Dos eventos que eu em geral participava, todos viraram online ou serão online.  Das atividades que teríamos, como hackathons, todas ou foram online ou foram canceladas.  Eu sou do board de organização da PyCon Sweden e esse ano já definimos que será online, e copiado como foi feita com a bela experiência da conferência Pyjamas, criado no Brasil.   Mesmo que por milagre a doença amenize, ninguém acredita que as todos se sentirão seguros em estar em um aglomerado com 200 a 500 pessoas juntas.  Não esse ano.  E talvez nunca mais.

 

Como nossa organização sempre foi online, pouca coisa mudou.  Mantemos nossas reuniões bi-semanais por conferência via browser e salvamos as minutas no github.  Usamos o telegram pra conversas rápidas e mesmo manter os interessados na conferência a par do que está sendo feito.

 

E seguimos em frente.

 

Então acho que era isso que eu tinha pra descrever sobre como estamos enfrentando a pandemia aqui na Suécia.    A receita parece simples, mas por aqui as coisas são levadas à sério.   Então se quiserem seguir o exemplo sueco minha dicas são: fiquem em casa o máximo que puderem, ao sair de casa mantenham a distância de 2 metros ou mais uns dos outros, caso isso seja difícil usem máscaras, e lavem bem as mãos e com bastante frequência.

 

Hélio Loureiro

 



Tags deste artigo: #debian #debianbr #debianse #softwarelivre #freesoftware #linux #python