10 maio

Não consegue abrir a calculadora do Windows? Tente reinstalá-la

Vira  e mexe, minha calculadora deixa de funcionar no Windows 10. Acho que alguma atualização do sistema que acaba deixando ela quebrada. Percebo isso quando eu tento rodar a calculadora e ao invés de ela aparecer, surge a tela “Abrir com”, perguntando com qual aplicativo eu quero abrir (não faz sentido nenhum realmente).

Para resolver isso, você pode desinstalar e instalar a calculadora novamente, através do PowerShell, seguindo estes simples passos:

  1. Clique no botão “Windows”, digite “powershell”. Vai aparecer ele nas primeiras opções.
  2. Clique com o botão direito no ícone do “Windows PowerShell”, e “Executar como administrador”. Confirme que você quer isso mesmo.
  3. Para remover a calculadora, execute o comando:
  4. Para reinstalar a calculadora, use o comando (uma linha só):

Pronto, isso para mim bastou e agora consigo usar novamente a calculadora do Windows.

Fonte

How can I reinstall Windows 10’s calculator app?

20 out

Como encontrar um arquivo no Unix

Revivendo uma postagem de 05/10/2010, que vira e mexe eu preciso relembrar pois esqueço fácil rs. Tinha postado neste mesmo blog, mas tive problemas com o BD e perdi ela, mas felizmente consigo recuperar através do Internet Archive. Vamos a ela:

Eu, como bom usuário de Windows antes de 95, convivi muito com o DOS e seus comandos que lembro até hoje. Um deles era o dir/s, muito usado para saber quantos MB eram usados por meus jogos ou para procurar algum arquivo no disco.

Pois bem, o tempo passou e novamente me vejo querendo saber onde está um arquivo no disco, ou querendo saber quanto meu diretório home está usando de espaço do disco. Até aí tudo bem, o problema é que agora estou num ambiente Unix. E agora?

Depois de algumas pesquisas, vi que não é tão difícil assim também não.

ESPAÇO UTILIZADO

Para saber quanto de espaço foi utilizado no diretório home (~), basta usar o comando du:

Este comando mostra o espaço em disco utilizado, os parâmetros h e s são para mostrar os resultados de maneira fácil de ler e apenas do arquivo/diretório em questão, respectivamente. Sem o s ele mostra o espaço usado por cada arquivo no diretório.

PROCURANDO UM ARQUIVO

Para procurar um arquivo, o comando utilizado é o find. Este comando é muito poderoso, consegue encontrar arquivos e diretórios por nome, por data e hora de modificação, e muitas outras maneiras. Por exemplo, se eu quero encontrar o .jar do oracle, que eu sei o nome (ojdbc14.jar), a linha de comando é a seguinte:

Porém, no meu caso, as mensagens de erro ficam poluindo muito a tela (muitos diretórios sem permissão para leitura), e também como demora demais o processo para encontrar arquivos na máquina inteira, eu direciono a saída padrão para um arquivo, a saída de erro para /dev/null e faço rodar em segundo plano, tudo isso com esta linha de comando aqui:

Bacana né? O > redireciona a saída padrão, o 2> a saída de erro e o & faz o processo rodar em 2º plano.

Fonte: http://linuxgazette.net/issue54/tag/15.html

 

17 maio

Resolver problema de tela preta em conexão de área de trabalho remota

Hoje aconteceu comigo algo inusitado ao conectar no meu serviço através da conexão de área de trabalho remota, também conhecido por RDP e Remote Desktop: após o login, a tela ficou preta e não saía disso.

Achei que a máquina estava “pensando” ainda, pois ela tem pouca memória RAM, e aguardei, mas nada de aparecer a tela. Conseguia conectar também pelo SSH e já pensei em reiniciar a máquina, mas tinha vários arquivos abertos e todos no ponto que precisava olhar.

Foi então que busquei uma alternativa pra isso, e consegui encontrar: bastou entrar com as teclas Ctrl+Alt+End, que envia um Ctrl+Alt+Del na máquina remota, e apertar no botão “Cancelar”, simples assim.

27 abr

Logoff um usuário pela linha de comando

Aqui em casa, uso um computador para trabalhar e jogar, que fica no meu escritório, mas é comum minha esposa ou meu filho usar o PC uma hora ou outra.

Porém, normalmente eles não fazem logoff, e fica portanto com possíveis janelas de browser e jogos abertos.

Pesquisando uma solução para fazer logoff deles sem ter de ir em “Trocar usuário”, me deparei com uma postagem no site Superuser: Log off a disconnected user remotely, do usuário thePurpleMonkey.

Não é exatamente o que eu preciso, porém a resposta do usuário Luiz Angelo me deu o caminho das pedras.

Para verificar quais sessões estão rodando na máquina, no prompt de comando basta digitar o comando qwinsta:

Como pode ser observado, temos uma coluna “ID” ali, e é o valor dessa coluna que passamos para o comando logoff. Numa janela de comando com privilégios de admin, basta executar o comando:

E pronto, assim que o comando retorna, a sessão do usuário que você passou já não existe mais.

05 jan

Adicione uma linha com os número no teclado do Google do Android

Muitas vezes estou digitando no teclado e fico procurando os números, aí tenho que apertar a tecla que mostra os números e mais um monte de coisa que eu não precisava, por exemplo.

Costuma acontecer isso em diversas situações, como ao digitar senhas, ou quando você manda um zapzap dizendo que achou uma promoção muito boa no mercado e quer passar o preço.

Pensando nisso em outras coisas, o Google inclui no seu teclado, agora chamado de Gboard, uma opção exclusivamente para isso. Para encontrar e ativar a opção é muito simples.

  1. Abra o menu de configurações do GBoard, pelo teclado segure a tecla da vírgula até aparecer e selecione o ícone da engrenagem.
  2. Em seguida, escolha a opção Config. do teclado Gboard.
  3. Escolha a opção preferências
  4. Ative a opção “Linha de números”.

Fonte: How to Add a Persistent Number Row to Android’s Gboard Keyboard

 

05 jan

Adicionar rotas automaticamente com arquivo de lote ao conectar VPN usando o Agendador de Tarefas

Aqui no serviço, para podermos fazer os testes em desenvolvimento ou fazer nossos programas se comunicarem com o mainframe, precisamos realizar uma conexão VPN para acessar os servidores de nosso cliente.

Além de fazer isso, temos que executar como administrador um arquivo que adiciona as rotas ao nosso cliente. E a cada 10 conexões, em 11 eu esqueço de rodar esse arquivo.

Pesquisei então uma maneira de automatizar isso, e encontrei um modo de adicionar rotas automaticamente com arquivo de lote ao conectar VPN usando o Agendador de Tarefas do Windows.

Para isso, comece executando o prompt de comando como administrador: clique no botão iniciar, escreva cmd, no resultado da busca clique com o botão direito em cmd.exe e clique em “Executar como administrador”

Executar prompt de comando como administrador

Executar prompt de comando como administrador

Em seguida, é só executar o comando abaixo, substituindo o caminho informado para o caminho correto do seu arquivo batch e SUA_VPN pelo nome dado para sua conexão VPN.

Isso é tudo em uma linha só, ok? Como eu precisei adicionar rotas, precisei usar o prompt de comando elevado e passar os parâmetros /RL HIGHEST, caso não tenha necessidade e for fazer algo que não precise disso, como abrir um site de algum IP dessa rede que conectou ou coisa do tipo, pode fazer em um prompt de comando normal e retire a parte /RL HIGHEST do comando.

Fontes

30 ago

Woocommerce – Verificando a assinatura no Webhook

Nos últimos tempos, tenho trabalhado bastante com PHP e em alguns projetos escolhi usar o WordPress, que já uso aqui no blog, estou habituado e é relativamente fácil conseguir material sobre ele na internet.

Desses projetos, um deles é uma loja virtual, e comecei a conhecer e utilizar o famoso plugin do WooCommerce, que transforma seu WordPress em uma loja virtual totalmente funcional.

Nesse projeto, surgiu a necessidade de quando ocorrer determinados eventos na loja, como a criação do pedido, comunicar o evento para um outro sistema. Foi aí que descobri a existência dos Webhooks do WooCommerce.

O que é Webhook

Segundo a Wikipedia, Webhooks são callbacks HTTP definidos pelo utilizador, e isso realmente resume muito bem.

Quem está acostumado já em trabalhar com eventos no Javascript por exemplo, entenderá fácil. No WooCommerce, algumas ações como criar ou atualizar um produto e criar um pedido, geram eventos. Nesses eventos, o motor do WooCommerce pode chamar páginas na Web passando algum conteúdo, semelhante no jQuery que quando algo acontece em determinado seletor você chama uma função definida por você. Assim, basta criar uma página que receberá este conteúdo e processar de alguma maneira.

Porém, como toda página, ela é aberta publicamente, e alguém com a URL pode tentar enviar dados falsos para ele, por exemplo para dar um desconto de 99% no próprio pedido. Para evitar isso, um dos cabeçalhos enviados para a página contém uma assinatura, que deve ser verificada para confirmar a identidade de quem enviou aquele conteúdo. E é para isso que estamos aqui!

Na rede, não consegui encontrar nenhum exemplo prático em PHP, além da documentação atual nessa parte não ajudar muito, e tive um pouco de dificuldade em entender como isso poderia ser feito, então vou compartilhar com vocês o meu método, que é extremamente simples e fácil.

Verificando o X-WC-Webhook-Signature

O cabeçalho que contém a assinatura se chama X-WC-Webhook-Signature. Para calcularmos o nosso valor para comparar com ele, vamos precisar dos dados do conteúdo e do valor do campo “Segredo” quando cadastramos o Webhook, em Woocommerce > Configurações > API dentro do painel do WordPress.

Webhook do WooCommerce

Webhook do WooCommerce

Com esse valor e o conteúdo, precisamos utilizar a função do PHP hash_hmac e codificar o retorno para base64. Para isso, criei esta função abaixo que faz tudo isso já:

Bem simples e direta, apenas uma linha pra fazer tudo que precisamos. Com isso, já sabemos se podemos confiar no conteúdo enviado ou não.

Abaixo, um exemplo bem simples de script, que apenas escreve as informações recebidas e a checagem de assinatura em arquivo:

 

15 maio

Adicionar Vhost no XAMPP

Recentemente eu precisei adicionar um Vhost para minha instalação do Xampp. Tenho trabalhado bastante com PHP no último ano e minha pasta htdocs já estava um caos, então para me organizar melhor resolvi procurar informações sobre eles.

Minha instalação do Xampp não é recente (5.6.3 e hoje já temos a 5.6.21), mas mesmo assim só encontrei informações muito antigas e que não funcionam mais, portanto estou escrevendo este post para o pessoal que também passar por isso, e pra mim também quando me esquecer como faz.

Primeiro criei uma pasta para armazenar os arquivos do trabalho, e dentro dela criei outra onde será apontado o Vhost propriamente dito. Dentro também crie uma pasta para os logs:

Em seguida, altere o seu arquivo hosts, no Windows 10 64 bits ele se encontra em C:\Windows\System32\drivers\etc, adicionando uma linha no final. Será necessário permissão de administrador para salvar, caso não queira abrir o documento num editor de textos como administrador, pode copiar o arquivo hosts para a área de trabalho, editar normalmente e copiar e colar de volta para a pasta C:\Windows\System32\drivers\etc que neste momento o Windows irá perguntar pela permissão de administador:

Caso queira adicionar mais de um endereço apontando para o mesmo IP, no nosso caso o computador local, só precisa dar um espaço e adicionar outros domínios na mesma linha, como por exemplo:

Feito isso, só falta a configuração do Apache, que deve ser feita no arquivo D:\xampp\apache\conf\extra\httpd-vhosts.conf. Note que a primeira configuração é para manter o atual conteúdo do Apache no mesmo local (http://localhost), caso contrário não será possível acessar a pasta antiga novamente:

Pronto, agora reinicie o Apache, caso ele esteja rodando, coloque algum index.html na sua pasta htdocs de trabalho e tente acessar http://trabalho.localhost para verificar se tudo está certo.

Obrigado por ler até aqui, e aproveite e deixe seu comentário ou alguma sugestão nos comentários.

01 dez

Fone de ouvido com som saindo só de um lado

Um problema muito comum nos fones de ouvido é quando só sai som de um lado. Esse problema acontece muito comigo, não sei se sou descuidado ou se os fones que comprei são todos descartáveis mesmo.

O grande problema que isso dá é não poder ouvir nada de um dos lados, e isso prejudica muito em músicas ou vídeos que queira assistir.

Para remediar isso, no Windows 10 (mas acho que a partir do 7 já é assim) você pode clicar com o botão direito no ícone do alto-falante, selecionar dispositivos de reprodução. Na tela seguinte, dê dois cliques para abrir as propriedades do alto-falante, vá na aba aperfeiçoamentos, deixe desmarcado “Desativar todos os efeitos sonoros” e na lista abaixo dele marque “Virtualização de fone de ouvido”.

Não é talvez tão bom como colocar ele em Mono, ou melhor ainda como consertar ou comprar um fone novo, mas já quebra um galho.