Postagens

Mostrando postagens de 2009

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...

Ponto de Restauração Automático

Você pode automatizar a criação de pontos de restauração do Windows. Para isso basta criar um arquivo com a extensão .VBS e inserir o seguinte código: Set sr = getobject("winmgmts:\\.\root\default:Systemrestore") msg = "Novo Ponto de Restauração criado." & vbCR msg = msg & "Listado: " & vbCR msg = msg & "Ponto de Restauração automático em " & Date & " " & Time If (sr.createrestorepoint("--- Ponto de restauração automático ---", 0, 100)) <> 0 Then MsgBox "Criação de ponto falhou!" End If Depois basta arrastar o arquivo criando para a pasta Iniciar > Programas > Inicializar. Assim, cada vez que você iniciar o Windows o script criará um ponto de restauração. Você também pode agendar (Iniciar > Programas > Acessórios > Ferramentas de Sistema > Tarefas Agendadas) a execução do programa com a periodicidade que você desejar. O programa pode ser baixado daqui :

VirusTotal

Encontrei por acaso um serviço bem interessante na rede: é o VirusTotal . "VirusTotal é um serviço que analisa arquivos suspeitos e proporciona uma rápida detecção de vírus, worms, cavalos de tróia, e todos os tipos de arquivos maliciosos detectados por vários mecanismos de antivírus."

Quadrado Mágico - Parte 1

Irei publicar uma série de postagens sobre algoritmos para resolução dos Quadrados Mágicos . A postagem de hoje é bem simples e tem algumas limitações (por exemplo, só aceita quadrados de grau 3). Mas minha intenção é justamente essa: pegar o algoritmo e ir tornando-o mais complexo e mais genérico. No futuro, tentarei adaptar esse algoritmo para resolução de outro quebra-cabeças que gosto muito: SUDOKU. Mas vamos ao que interessa, que é o código do programa. Desenvolvi em Delphi, mas ele é simples e facilmente adaptável a outras linguagens: {$APPTYPE CONSOLE} program qm; uses SysUtils, Windows, Dialogs, Math, Forms; const GRAU = 3; // Grau do quadrado GRAU2 = GRAU*GRAU; // Total de elementos do quadrado TOTAL = (((1 + GRAU2) * GRAU2) div 2) div GRAU; // Soma total a ser alcançada type TAQuad = array[1..GRAU2] of integer; // Tipo Quadrado var q: TAQuad; limite: int64; // -------------------------------------------------------- // Mostra...

Falta de criatividade

Por que os nomes de sistemas, em sua grande maioria, são siglas e começam com a letra S? SCP (Sistema de Contas a Pagar), SCR (Sistema de Contas a Receber), SCE (Sistema de Controle de Estoque), SGE (Sistema de Gestão Empresarial), e por aí vai. Sejam criativos!

BlueScreenView

Imagem
O utilitário BlueScreenView , um freeware da NirSoft, mostra a mesma mensagem que você recebe na Blue Screen of Death (Tela Azul da Morte). É uma maneira muito mais prática e fácil de tentar resolver o problema, pois era comum ter que anotar os dados numa folha de papel ou tirar uma foto da tela.

Removendo caracteres especiais de uma string

Algumas vezes precisamos remover alguns caracteres especiais de uma string. A maneira mais fácil de fazermos isso é utilizando as expressões regulares. Seu uso não é nenhum bicho de 7 cabeças. Segue aqui, um exemplo em ColdFusion. texto = 'Somente_Numeros e Letras 123456*'; retorno = reReplace(texto, '[^[:digit:][:alpha:]]', '', 'all'); // resultado: SomenteNumeroseLetras123456

Visualizando código fonte com SyntaxHighlighter

Já havia visto em vários blogs, o código de alguns programas bem formatado, com realce de cores, etc. Resolvi ir atrás e descobri que foram feitos utilizando a biblioteca SyntaxHighlighter . Se você quiser utilizá-lo em seu blog siga o roteiro abaixo. 1. Entre em Layout > Editar HTML e insira o seguinte código logo acima da tag </HEAD> : <link href="http://alexgorbatchev.com/pub/sh/2.1.364/styles/shCore.css" rel="stylesheet" type="text/css"> <link href="http://alexgorbatchev.com/pub/sh/2.1.364/styles/shThemeDefault.css" rel="stylesheet" type="text/css"> <script src="http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shCore.js" type="text/javascript"> <script src='http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shBrushCpp.js' type='text/javascript'/> <script src='http://alexgorbatchev.com/pub/sh/2.1.364/scripts/shBrushJava.js' type='t...

ODIN - Open Disk Image in a Nutshell

Imagem
Descobri um software muito interessante: ODIN - Open Disk Image in a Nutshell. Ele permite criar uma cópia de uma partição e restaurá-la posteriormente. É muito simples de usar e não é necessário instalá-lo, basta descompactar e executar. É muito útil para que gosta de testar, instalar, desinstalar diversos programas. Download: ODIN - Open Disk Image in a Nutshell

Lista de serviços do Windows

Esses dias fiz algumas alterações na inicialização de alguns serviços do Windows e depois não lembrava mais quais eu tinha habilitado/desabilitado. Para resolver esse problema, fiz um pequeno programa em Delphi que salva o status de inicialização de todos os serviços. Depois de compilá-lo, basta executar diretamente no Prompt de Comando. program SaveSvc; {$APPTYPE CONSOLE} uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Registry; var reg : TRegistry; list: TStringList; arq: text; i, n: integer; nomeArquivo: string; begin if paramstr(1) '' then nomeArquivo := paramstr(1) else nomeArquivo := 'services.reg'; // cria a lista, vazia, em memória list := TStringList.Create; // cria o registro reg := TRegistry.Create; // localização da chave reg.RootKey := HKEY_LOCAL_MACHINE; // abre a chave dos serviços reg.OpenKeyReadOnly('\SYSTEM\CurrentControlSet\Services') ; // popula a lista com todos os serviços reg.GetKeyNames...

Aplicação dos Logaritmos na Prática

Quando você está estudando logaritmos em Matemática, dificilmente alguém vai lhe dizer qual uma aplicação prática para isso. Mas saiba que existe: Suponha que você esteja construindo um gráfico com o número de acessos a um site. Num determinado período, de manhã por exemplo, o número máximo de acessos foi 43 às 11:00. À tarde, o número máximo de acessos foi 951. Para determinar qual o valor máximo no eixo y, basta utilizar a fórmula: maxY = 10 ^ (int(log(n)) + 1), onde n = 43 maxY = 10 ^ (int(log(n)) + 1) maxY = 10 ^ (int(1,6334) + 1) maxY = 10 ^ 2 maxY = 100 Já para o número de acessos feitos à tarde, ficaria assim: maxY = 10 ^ (int(log(n)) + 1), onde n = 951 maxY = 10 ^ (int(log(n)) + 1) maxY = 10 ^ (int(2,9781) + 1) maxY = 10 ^ 3 maxY = 1000 Pronto, de manhã o gráfico teria o eixo Y com o valor máximo igual a 100 e à tarde, com o valor máximo igual a 1000.

Exemplos de uso do NirCmd

O programa NirCmd permite você automatizar algumas tarefas de maneira muito simples, por exemplo: • Screenshot nircmd savescreenshot c:\temp\scr~%currdate.yyyyMMdd%_~%currtime.HHmmss%.png • 10 screenshot com intervalo de 1 minuto entre eles nircmd loop 10 60000 savescreenshot c:\temp\scr~%loopcount%.png • Deixa o pendrive como "read-only" nircmd regsetval dword "HKLM\System\CurrentControlSet\Control\StorageDevicePolicies" "WriteProtect" "1" • Deixa o pendrive como "writable" nircmd regsetval dword "HKLM\System\CurrentControlSet\Control\StorageDevicePolicies" "WriteProtect" "0"