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 backup e uma

Curiosity e suas 2,5 milhões de linhas de código

Após o sucesso do pouso da Curiosity, fiquei imaginando em que linguagem de programação foi utilizada, principalmente, no módulo de pouso. Meu palpite era na linguagem C, e depois de algumas pesquisas no Google, pude confirmar minhas suspeitas.

Agora, por que os programas rodam tão bem, visto que o computador (um RAD750) é bem modesto e são cerca de 2,5 milhões de linhas de código?

O primeiro ponto a ser observado é o sistema operacional. A nave usa o VxWorks. Talvez você não conheça o VxWorks pelo nome mas com certeza já utilizou algum produto que o utiliza. Veja a lista de produtos que usam este sistema operacional - é auto-explicativa.

O segundo ponto, são as regras de codificação seguidas, das quais destaco (são 31 regras no total):
  • Utilizar funções com poucas linhas de código, para tornar o código simples e compreensível;
  • Evitar o uso de recursão;
  • Verificar o fim dos loops;
  • Não utilizar alocação dinâmica de memória (após a inicialização);
  • Checar valor de retorno das funções;
  • Checar os parâmetros das funções.
Ou seja, nada demais: simplesmente clareza no código e cuidado na programação.

Fonte: JLOUIS Ramblings

Comentários

Postagens mais visitadas deste blog

Netflix não mostra ícone de streaming

Google Hacking

FTP não funciona no PHP