João Paulo Ferry

Ócio-Criativista!

PHP, Vue, JavaScript, Bootstrap, jQuery, HTML e WordPress


Windows 10 e uebLOCK

O Microsoft Windows 10 já está disponível como uma atualização gratuita e, além de várias melhorias, o sistema traz consigo um navegador totalmente novo, o Microsoft Edge!

Se por um lado a notícia é boa, por outro há algo que deva ser alertado: devido às grandes modificações realizadas no Windows, e ao próprio navegador, o uebLOCK NÃO é compatível com o sistema!

Ou seja, se você é cliente uebLOCK e deseja continuar usando o aplicativo NÃO faça o upgrade caso contrário o programa deixará de funcionar. Infelizmente não há uma previsão de quando, ou se, uma nova versão do uebLOCK será disponibilizada.

Se você usa o Windows 10 e quer um software de segurança eu sugiro o Kaspersky, que pode ser obtido através deste link.

Fica aí a dica!

24/11/16 Primeiros passos: git + github

E eis que finalmente resolvi criar vergonha na cara e começar a aprender git, rs. Pois então vamos às anotações iniciais:

Depois de instalar o git propriamente dito (no meu caso isso foi feito no Windows) o primeiro passo foi registrar uma conta no github. Em seguida criei um Novo Repositório (hello-world) através da interface web do próprio github.

Com a conta e repositório criados, abri o Git Bash e executei os comandos:

git clone https://github.com/uebbi/hello-world.git
cd hello-world
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

Note que no primeiro push tive que informar meu usuário e senha – posteriormente esses dados foram salvos pelo Windows / Credentials.

Um detalhe importante é que ao usar o comando clone a opção remote é configurada automaticamente. Se você não está clonando um repositório e deseja enviar arquivos para um então você deverá configurar a entrada remote manualmente:

git remote add origin https://github.com/uebbi/hello-world.git

E mais um adendo: a palavra origin é apenas um alias para o endereço!

Pronto! O básico do básico, rs. Mais informações aqui.

Fica aí a dica!

27/10/16 Mint: Tela boot parada em initramfs

O problema: após uma queda de energia, ao iniciar o computador (Linux Mint), o sistema cai na janela de prompt do initramfs.

A solução: Digite exit para que o sistema tente recuperar os erros automaticamente e, caso não seja possível, execute o comando fsck e aplique as correções de forma manual:

fsck /dev/sda1

Fica aí a dica!

14/10/16 WTF: Spotify Web Player + Flash + Chrome

O problema: Eis que ao acessar o Spotify (pelo navegador) após a última atualização do Chrome (53.0.2785.143 m) o site insiste em solicitar a instalação do Flash Player – o que não ocorria antes.

A solução: Ajustar a permissão de execução de plugins no Chrome.

Para isso vá em:

Configurações > Mostrar configurações avançadas > Privacidade > Configurações de conteúdo > Plugins > Gerenciar exceções

Em seguida em Novo padrão de nome do host insira https://[*.]spotify.com e em Comportamento escolha Permitir.

Pronto! Recarregue a página do Spotify.

Fica aí a dica!

22/09/16 Iptables + DNAT + Port Range

Normalmente, ao realizarmos DNAT o comum é realizar redirecionamentos usando apenas uma porta:

iptables -t nat -A PREROUTING -i wan -p tcp --dport 80 --to-destination 10.0.0.1:8080

Todavia você também pode usar a opção de range:

iptables -t nat -A PREROUTING -i wan -p tcp --dport 1000:200 --to-destination 10.0.0.1:8080

E também de multiport:

iptables -t nat -A PREROUTING -i wan -p tcp -m multiport --dport 22,80,3389 --to-destination 10.0.0.1:8080

Mas e se você quiser que um determinado range seja redirecionado para diferentes portas? Por exemplo, que as conexões na portas do range 2294:2296 sejam direcionadas para o range 1194:1196? Saiba que isso é possível:

iptables -t nat -A PREROUTING -i wan -p udp --dport 11094:11097 -j DNAT --to 10.0.0.1:1194-1197

Fica aí a dica!

09/09/16 Instalando a impressora Brother MFC-8952DW no Linux

Para instalar a impressora Brother MFC-8952DW no Linux abra o Terminal e execute:

$ wget bit.ly/linuxbrprinter -O install.zip && unzip install.zip && rm install.zip
$ sudo bash linux-brprinter-installer-2.0.0-1

Depois de executar os comandos acima o assistente de instalação será executado e você deverá então informar alguns dados.

Em Input model name informe o modelo da impressora: MFC-8952DW

Em seguida confirme a instalação dos pacotes e os Termos de Uso. Em “Will you specify the Device URI?” responda “Y” e então escolha a opção relativa a “Specify IP address“. Informe o IP da impressora. Aceite mais alguns Termos de Uso e aguarde o final da instalação.

Fica aí a dica!

05/09/16 Ubuntu: erro ao realizar o upgrade

O problema: Eis que hoje fui realizar o upgrade (sudo do-release-upgrade) de um servidor Ubuntu 14.04.5 e ao realizar o procedimento me deparei com um erro de falta de espaço na partição boot.

A solução: remover as versões antigas do kernel!

Primeiramente verifiquei a versão do kernel atualmente utilizada:

uname -r

Em seguida listei todas as versões instaladas:

dpkg -l | grep linux-image

E por fim removi as versões antigas (com exceção da última antes da atual, pois é uma boa prática manter ao menos uma versão anterior):

sudo apt-get purge "linux-image-..."

Fica aí a dica!

 

27/07/16 Bloqueando o Facebook com o iptables

Lembrete: para bloquear o acesso ao Facebook (inclusive via https) para um determinado IP da rede via iptables, eis a solução:

Habilite o module ipt_string:

modprobe ipt_string

E crie a regra:

iptables -D FORWARD -s "IP" -m string --algo bm --string "facebook.com" -j DROP

Fica aí a dica!

30/06/16 XAMPP + Virtual Hosts

Considerando que você instalou o XAMPP no Windows (C:\Xampp) e que agora gostaria de configurar um Virtual Host no Apache eis o procedimento.

No exemplo será criado um Virtual Host para o domínio hello.world. Criada a pasta do projeto no htdocs, deve-se editar o arquivo C:\Xampp\apache\conf\extra\httpd-vhosts.conf inserindo os dados abaixo:

<VirtualHost *:80>
    ServerName hello.word
    DocumentRoot "C:/Xampp/htdocs/hello.world"
    SetEnv APPLICATION_ENV "development"
    <Directory "C:/Xampp/htdocs/hellow.world">
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

Em seguida deve-se editar o arquivos hosts (%windir%\System32\drivers\etc\) inserindo o endereço do domínio:

127.0.0.1 hello.world

Por fim basta reiniciar o Apache!

Fica aí a dica!

28/06/16 Squid: TCP_MISS/000 ou TCP_HIT/000

Se você possui o Squid instalado e percebeu que no access.log existem várias entradas TCP_MISS/000 ou TCP_HIT/000 saiba que provavelmente o problema pode estar relacionado com o protocolo IPv6.

A solução: adicione a configuração abaixo no seu squid.conf

dns_v4_first on

E reinicie o servidor.

Fica aí a dica!

21/06/16 Dreamhost + WordPress + Falha no Login: 418 Unused

O cenário: você possui um site (WordPress) hospedado na Dreamhost e ao tentar realizar o login recebe como resposta o erro 418 e a seguinte mensagem:

Unused: The server encountered an internal error or misconfiguration and was unable to complete your request.

Saiba que isso ocorre pois você habilitou a opção Extra Web Security no momento da configuração da hospedagem e o mod_security está bloqueando seu IP (provavelmente por falhas consecutivas de login).

A boa notícia é que o bloqueio é temporário e dura somente 10 minutos. Nesse caso a solução então é simplesmente aguardar.

Fica aí a dica!

17/06/16 Javascript, Firefox, Android e um bug no toLocaleDateString

Eis que percebi que no Firefox, especificamente no Android, a função toLocaleDateString não funciona como esperado.

No teste que eu fiz, mesmo que o Firefox e o Android estejam em português (pt-br), a função toLocaleDateString sempre retorna o formato americano (mm/dd/aaaa) – mesmo que eu especifique na chamada da função o formato pt-br!

A alternativa que encontrei foi deixar a função de lado e usar a biblioteca moment.js

//Trocando isso
published = new Date(published).toLocaleDateString();

//Por isso
published = moment(published).format('DD/MM/YYYY');

Se você está com um problema parecido, já sabe uma solução.

Fica aí a dica!

15/06/16 Devaneios Jurídicos

A Lei Complementar 25, de 25/01/13, define a estrutura administrativa; O Decreto 5531, de 19/03/2013, cria o cargo de Coordenador VII e a Lei Complementar 33, de 12/03/2014, cria o cargo de Coordenador VIII – esse último com cinco vagas, sendo que atualmente três estão ocupadas!

Vai quê!

09/06/16 Otimizar SSD?

Então você recém adquiriu seu SSD e está procurando algumas dicas pra otimizar o seu uso, afinal o “bichinho” foi caro e você leu que operações de escritas podem diminuir a vida útil dele, certo? Hun, não é bem assim, pelo menos é o que demonstrou um teste realizado pelo pessoal do Techreport.com:

Over the past 18 months, we’ve watched modern SSDs easily write far more data than most consumers will ever need. Errors didn’t strike the Samsung 840 Series until after 300TB of writes, and it took over 700TB to induce the first failures. The fact that the 840 Pro exceeded 2.4PB is nothing short of amazing, even if that achievement is also kind of academic.

Se você não sabe inglês, o que está sendo dito ali em cima é que os discos só começaram a falhar depois de 300 Terabytes de escritas! É muita coisa! Você provavelmente já terá trocado de HD bem antes disso ocorrer.

Todavia parece que a única otimização de fato relevante é a habilitação do TRIM, e se você clicou no link anterior para saber do que isso se trata, leu que isso já vem ativado por padrão a partir do Windows 7 – e  saiba também que à partir do Ubuntu 14.04 e Mint 17.1.

Em síntese, se você comprou um SSD você não precisa fazer absolutamente nada!

Fica aí a dica!