14/07/17 WordPress: Disable autocomplete on wpLink

Dica rápida para aqueles que estão usando o wp_editor no front-end do site e querem desativar o autocomplete na inserção/edição de links: crie a função abaixo no seu functions.php e seja feliz, rs:

add_filter( 'wp_link_query', 'disable_link_query', 10, 2 );
function disable_link_query( $results, $query ) {
  return '';
}

Note que o filtro será aplicado também no back-end, se você não deseja isso use a função is_admin para criar a exceção.

Fica aí a dica!

 

14/06/17 LibreOffice Calc + Incremento automático em fórmulas

Já fazia “um tempo” que eu não utilizava o Calc e eis que hoje precisei criar uma planilha e nela utilizar a função PROCV em determinadas células.

Como esperado, criei a fórmula numa célula específica e quis replicá-la em mais linhas porém ao fazer isso o programa automaticamente incrementava as referências. A dúvida: como impedir isso?

A solução: deve-se inserir o “$” antes de cada parte que deve permanecer constante.

Exemplo:

PROCV(H2;Cargos.B1:C4;2)

Se você quer que a referência à matriz B1:C4 se mantenha constante então deve adicionar o “$” antes das referências, tanto para as colunas (letras) e linhas (números):

PROCV(H2;Cargos.$B$1:$C$4;2)

Fica aí a dica!

13/06/17 MariaDB / Mysql + AUTO_INCREMENT

Dica rápida: se você percebeu que naquela sua tabela, configurada com uma determinada coluna como chave primária e autoincrementada, o número total de linhas é diferente do valor do autoincremento, não se desespere, queries que não são executadas com sucesso (como nos casos de duplicate error) também fazem com que o o valor do autoincremento seja modificado!

Mais detalhes e opções de como “contornar”  a situação, podem ser lidas nesse link.

Fica aí a dica!

 

 

21/03/17 Error notice: stream_socket_client(): php_network_getaddresses: getaddrinfo failed

O cenário: Ao tentar enviar um e-mail através do WP-Mail-SMTP a mensagem não é enviada e você recebe o erro abaixo:

Connection: Failed to connect to server. Error number 2. "Error notice: stream_socket_client(): unable to connect to ssl://smtp.gmail.com:465 (php_network_getaddresses: getaddrinfo failed: Nome ou serviço desconhecido)

O motivo: o mesmo problema de resolução de nomes / DNS causado por alguma configuração errada ou lentidão na rede já mencionado aqui no blog. Ao não conseguir resolver o endereço smtp.gmail.com a mensagem não é enviada.

A solução: Abra o arquivo hosts e insira a linha abaixo:

64.233.186.109  smtp.gmail.com

Fica aí a dica!

08/03/17 O WordPress não conseguiu estabelecer uma conexão segura com o WordPress.org

O cenário: Ao acessar o Painel de Administração do WordPress você percebe que ele está bem lento e ao abrir determinadas configurações se depara com a seguinte mensagem de erro:

Ocorreu um erro inesperado. Algo pode estar errado com o WordPress.org ou a configuração deste servidor. Se você continuar a ter problemas, tente o Fórum de Suporte. (O WordPress não conseguiu estabelecer uma conexão segura com o WordPress.org. Contate o administrador do servidor

O motivo: provavelmente sua conexão de internet está lenta e com isso a resolução DNS do endereço api.wordpress.org (usado em vários lugares no Painel de Administração) demora ou mesmo não ocorre.

A solução: Abra o arquivo hosts e insira a linha abaixo:

66.155.40.202    api.wordpress.org

Fica aí a dica!

03/01/17 XenServer + HP DL360p Gen8: Migrando para Raid 1+0

Recentemente precisei migrar uma configuração RAID num servidor HP DL360p Gen8, que já possuía o XenServer com várias VMs, passando de RAID 1 (2 discos) para RAID 1+0 (4 discos) e resolvi postar aqui algumas observações.

O procedimento foi simples, instalei os discos e em seguida usei o ACU (Array Controller Utility) para expandir a capacidade de armazenamento. Bastou selecionar a opção “Expand” e marcar os novos HD’s. O procedimento de “Transforming” levou algumas horas mas ao final tudo ocorreu sem problemas.

Como o XenServer já estava instalado (“Local Storage” configurado através de LVM2 / GPT) foi necessário redimensionar a partição. Nesse caso eu tinha a opção de seguir as dicas desse post ou usar o Gparted – acabei usando esse último.

Ah, apenas pra constar, a controladora RAID utilizada no servidor foi a HP Smart Array P420i e todo o procedimento foi feito com o servidor “offline”.

Fica aí a dica!

20/12/16 Ho! Ho! Ho!

Há alguns meses minha GTX 560Ti resolveu parar de funcionar e desde então venho mirando a compra de uma GTX 1070 G1 Gaming da Gigabyte (GV-N1070G1 GAMING-8GD) – que uma semana antes da Black Friday chegou a ficar em R$1889,00 mas que hoje em dia aparece por absurdos R$2.279,90!

A ideia era simplesmente esperar o preço cair, haja vista que tenho alguns jogos de PS3 no “estoque” que ainda precisam sofrer “baixa”, e essa compra provavelmente só ocorreria lá pra março de 2017 (e olha lá, rs)!

Porém, meio que no impulso e motivado pelo espírito natalino (mentira, é basicamente a vontade aguçada de jogar Cities: Skylines e Diablo 3: The Darkening of Tristram) acabei comprando hoje (20/12/16) a GTX 1060 G1 Gaming 3GB (GV-N1060G1 GAMING-3GD)

Isso mesmo, acabei comprando de fato uma placa bem inferior àquela que eu inicialmente queria mas que com certeza vai atender ao meus anseios. A decisão pela GTX 1060 de 3GB (e não de 6GB) veio depois de assistir à esse vídeo.

Aparentemente é o melhor custo benefício para quem pretende jogar em Full HD. O investimento: R$1.042,92 (sendo que 43,02 foram gastos com o frete via SEDEX).

Detalhe: nos EUA a mesma placa está custando $219.99. A cotação do dólar hoje? R$3.36 – basta fazer as contas!

Fica aí a dica!

14/12/16 npm: como atualizar um determinado pacote?

Imagine que seu projeto use um determinado pacote do npm e que uma nova versão do mesmo foi disponibilizada adicionando uma nova funcionalidade ou corrigindo algum bug, como atualizar a sua versão local?

Simples, acesse o Node.js command prompt e execute:

npm update <nome-do-pacote>

Note que a entrada relativa ao pacote no seu package.json não será atualizada, você precisa fazer isso manualmente. Mais informações aqui.

Um comando bem útil é:

npm outdated

Ele irá exibir quais as versões localmente instaladas, aquelas requeridas (configuradas no package.json) e as últimas oficialmente disponíveis de todos os pacotes do seu projeto.

Fica aí a dica!

13/12/16 4G: cobrança indevida de dados

O problema: eis que percebi que meus créditos estavam sendo “sugados” diariamente do meu pacote Tim Beta mesmo não usando nenhum dos serviços (Ligações / Internet / SMS). Depois de pesquisar um pouco descobri que a causa é o 4G!

Pelo que li, a conexão 4G LTE usado no Brasil é uma rede exclusiva de dados, ou seja, mesmo ao realizar ligações você na verdade está usando VoIP. Por isso, independentemente de você estar com a conexão de dados desabilitada no celular, o simples fato de se conectar à rede 4G irá fazer com que o sistema da Tim (ou qualquer outra operadora) considere que você fez uso de internet e consequentemente irá lhe cobrar – no caso do Tim Beta Diário Combo você é cobrado em R$1,00 (um real) por dia de uso.

A solução: Alterar o tipo de conexão para 3G. No caso do Android, o caminho é:

Configurar > Mais > Redes Móveis > Selecione o Chip / Operadora > Tipo de rede Preferencial > 3G

Como é de se esperar, planos semanais ou mensais ou que não sejam tarifados por uso não sofrem desse problema.

Todavia, se você possui algum plano de cobrança diária e usa 4G, fique atento.

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!