Postagem em destaque

WSL: Backup e Restauração

Imagem
Às vezes você tem um drive mais rápido (SSD) que o outro (HD). É o meu caso: meu drive C, é um SSD de 256 GB e meu drive D, é um HD de 512 GB. Um é pequeno e rápido; outro é grande e lento.  Meu drive C, por ser pequeno, acabou ficando sem espaço. Então fui pesquisar por grandes arquivos (usei o excelente TreeSize Free para isso) e descobri um tal de ext4.vhdx que tinha 29 GB. Esse arquivo é a imagem do disco do WSL no Windows e é normal ficar grande. O problema é que mesmo você apagando arquivos ele não diminui. E quando você usa o Docker, a situação se agrava rapidamente. Então, descobri uma maneira de compactar esse arquivo/disco. É um comentário da KarolineWss numa issue do WSL. Funciona maravilhosamente bem. Tanto que consegui diminuir praticamente pela metade o arquivo.  Mas para fazer isso, claro, pesquisei como fazer backup (e restauração). Esse artigo é sobre isso. E com um bônus, esse o arquivo fica numa localização meio complicada para humanos, mas fazendo um bac...

O poder da mente sobre a matéria

Um GEA (Gerador de Eventos Aleatórios) ou REG (Random Event Generators) produz uma série de 0 (zeros) e 1 (uns), e por serem aleatórios deveriam ser gerados na mesma quantidade. Através do uso da mente, supostamente seria possível alterar a quantidade de 0s ou 1s geradas.

Como sou curioso e cético, resolvi verificar se isso é verdade. E para tanto, fiz um pequeno programa em Delphi (clique aqui para fazer o download do programa). O programa é simples: durante 5 segundos são gerados e contabilizados milhares (depende do seu computador) de números 0 e 1. Após isso o resultado (números de 0, números de 1 e relação entre eles) é impresso na tela e o processo é repetido indefinidamente.
program GEA;

uses
 Windows, SysUtils, Dialogs, forms;

var
 n0, n1: integer;
 i, t: longint;

begin
  Randomize;
  Repeat
    t := getTickCount();
    n0 := 0;
    n1 := 1;
    repeat
      for i := 1 to 100 do begin
       if int(random(2)) = 0 then
         inc(n0)
       else
         inc(n1);
      end;
      sleep(1);
    until (getTickCount() - t) > 5000;
    writeln(Format('%d;%d;%1.3f', [n0,n1,n1/n0]));
  until false;
end. 

Algumas considerações: utilizei o gerador de números aleatórios do próprio Delphi, ou seja, ele não é 100% aleatório. Falo isso, pois John von Neumann comentou certa vez:
"Qualquer um que considere métodos aritméticos para produzir dígitos está, certamente, cometendo um pecado".
Fiz alguns testes e não consegui nenhum efeito digno de nota. Até parece pesquisa eleitoral, pois a relação entre 0s e 1s sempre ficou dentro do limite de 3% para mais ou para menos, ou seja, praticamente o mesmo número de 0s e 1s foram gerados. Mas acho que a falha foi minha pois pensar na Sandy talvez não afete o GEA!

Comentários

Postagens mais visitadas deste blog

Netflix não mostra ícone de streaming

Google Hacking

Radar no KM 175 da BR101