Substitua as mensagens de erro de login do seu blog WordPress por mensagens aleatórias, à sua escolha.

O WordPress informa, na tela de autenticação, se você errou o nome de usuário ou a senha.

O problema é que esta informação pode ser valiosa a um agressor, uma vez que, se souber que uma das entradas está correta, metade do trabalho de invasão já estará completo.

Em princípio, eu recomendaria suprimir qualquer mensagem. Deixa tudo em branco e não informe absolutamente nada. Se você está realmente preocupado com a segurança do seu site, é melhor deixar o agressor no vácuo total.

O código que vou te apresentar, abaixo, foi criado por Sérgio Costa e pode ser facilmente alterado para exibir nenhuma mensagem (conforme recomendei acima) ou exibir frases aleatórias, de uma lista, que você mesmo vai fornecer.

Deve ser inserido dentro do arquivo functions.php, da seguinte forma:

<?php
// Insert into your functions.php and have fun creating login error msgs
function guwp_error_msgs() { 
    // insert how many msgs you want as an array item. it will be shown randomly 
    $custom_error_msgs = array(
        '<strong>YOU</strong> SHALL NOT PASS!',
        '<strong>HEY!</strong> GET OUT OF HERE!',
    );
    // get random array item to show
    return $custom_error_msgs[array_rand($custom_error_msgs)];;
}
add_filter( 'login_errors', 'guwp_error_msgs' );
?>

Outras sugestões de aplicação

Uma sugestão (minha) é evitar usar frases “provocativas” — por que elas podem acabar servindo de incentivo a uma pessoa maliciosa.

Alterar o functions.php tem, pelo menos, um ponto negativo: em caso de atualização do tema, o arquivo será suprimido para dar espaço para a nova versão. Para evitar isso, use temas filhos do WordPress.

Outra abordagem, é incluir o código sugerido pela Lilly Freitas em um plugin — que não é apagado nas atualizações.

Neste caso, crie o arquivo de plugin dentro da pasta /wp-content/plugins/ e o ative no painel de controle do WordPress.

O código original do Sérgio Costa: https://gist.github.com/zergiocosta/72f87176b236ed0c6e13

O código do plugin da Lilly Freitas: https://gist.github.com/lillyfreitas/fb5744f776af11f9958f2c8744139dfb

Dell XPS 13 é o melhor laptop para programadores Linux?

A linha de notebooks Dell XPS é uma das mais caras da empresa e, provavelmente, do mercado.
Com acabamento e componentes “de primeira”, contudo, estes equipamentos são as alternativas da Dell aos concorrentes da Apple ou da Sony/Positivo (Vaio), entre outros.

Leves, os notebooks XPS podem ser facilmente carregados de um canto a outro (em casa ou no escritório) — o que favorece as pessoas que gostam ou precisam trabalhar em ambientes diferentes.

Em artigo recente, no LinuxJournal, o colunista Petros Koutoupis fez uma análise do Dell XPS 13 Developer Edition Laptop, um produto do projeto Sputnik da Dell.

O projeto não tem correspondente no Brasil, mas o notebook está lá, presente nos canais de venda da empresa — com algumas diferenças.

O modelo testado por Koutoupis, vendido nos EUA, vem com 16 Gb de memória RAM e Ubuntu 18.04 LTS pré-instalado. No Brasil, a Dell insiste em vender uma máquina incrível como essa, com um sistema operacional ruim (você sabe qual…) — o que significa que vamos ter o (delicioso) trabalho de formatar e instalar o nosso SO preferido.

O review do Dell XPS 13

Sob o ponto de vista do colunista do LinuxJournal, o equipamento apresenta alguns pontos negativos. E vamos falar deles primeiro:

  • Não é um grande problema, mas é desagradável ainda se deparar com a tecla “windows” (tecla Super). Talvez não seja tão caro a Dell nos fazer a gentileza completa, substituindo o layout desta tecla por algo mais agradável.
  • A sensibilidade do touchpad e do touchscreen irão pedir um tempo para você se acostumar. No caso da tela sensível ao toque, pode acontecer de ativar o Dock do Ubuntu involuntariamente, ao ajustar a tela. O mesmo vale para a proximidade das teclas direcionais com as teclas PgUp e Pgdn — pedem um tempo para se acostumar.
  • A posição da câmera, na parte inferior da tela, oferece um péssimo ângulo (de cima para baixo) para você se mostrar para as pessoas. E, se você se preocupa com a privacidade, neste local, não é tão fácil tapar a câmera.
  • Além da entrada para fones de ouvido e cartão microSD, o resto é USB-C. Portanto, planeje a compra de adaptadores, caso pretenda conectar equipamentos antigos ao laptop.
  • Por fim, o autor relatou alguns problemas com o modo hibernação — a maquina não voltava, obrigando-o a desligar e ligar novamente o sistema. Isto significa que você provavelmente terá que fazer alguns ajustes: desligando a hibernação ou estendendo o período antes da suspensão.

Entre os pontos positivos, o autor destacou os seguintes:

  • O design externo — linhas simples e leveza do produto.
  • Tela sensível ao toque, extensa e suporte a 4K.
  • O áudio é de ótima qualidade — o que inclui um microfone que permite realizar videoconferências com total clareza.
  • O consumo de energia é muito bom. Além disso, o laptop permite checar o nível da bateria através de indicadores de led, na parte lateral, sem a necessidade de ligar ou sair do modo de suspensão. O autor deu nota máxima para este quesito.
  • A performance é tudo o que se espera deste produto da Dell — ou seja, é excelente.

conclusões

Koutoupis relatou ter tido uma experiência muito positiva com a máquina &mdash: “é poderosa e plenamente capaz de lidar com todo tipo de situações encontradas por desenvolvedores”.

Por ser leve, oferece mobilidade facilitada, permitindo que você o carregue para todos os lugares e retome o seu trabalho de maneira muito eficiente.

O sistema operacional Ubuntu brilha e mostra perfeita integração ao hardware.

Vale o investimento, de acordo com Petros.

Referências

Artigo de Petros Koutoupis: https://www.linuxjournal.com/content/review-dell-xps-13-developer-edition-laptop.
Página da Dell no Brasil: https://www.dell.com/pt-br/shop/notebooks-dell/novo-xps-13/spd/xps-13-9370-laptop.
Informações sobre o projeto Sputnik: https://elias.praciano.com/2017/06/conheca-o-projeto-sputnik-uma-parceria-entre-a-canonical-e-a-dell-para-oferecer-laptops-com-ubuntu-para-desenvolvedores/.
Outros posts sobre produtos Dell: https://elias.praciano.com/?s=dell+notebook.
Página da loja Dell na Amazon: https://amzn.to/2PuiyuQ.

Como concatenar strings na shell do Linux

Concatenar ou juntar cadeias de caracteres (ou, simplesmente, strings), na shell (ou linha de comando) do Linux é um trabalho fácil e descomplicado.
Apenas fique atento a alguns detalhes… e tudo terminará bem. 😉

O procedimento pode ser muito útil dentro de shell scripts ou para uso em arquivos de configuração do Bash.
Você pode concatenar strings dentro do seu .bashrc, para obter resultados ou “hackear” o seu sistema.

Para sermos objetivos, abra um terminal e vamos definir as seguintes variáveis, como exemplo:


variavel1="elias"
variavel2=".praciano"
variavel3=".com"

A concatenação consiste, de maneira resumida, em juntar os valores das 3 strings, acima. Isto pode ser feito assim:


meusite=$variavel1$variavel2$variavel3
echo $meusite

elias.praciano.com

Note que não precisa usar o símbolo ‘$’ ao definir as variáveis. Mas é obrigatório no momento de se referir e fazer operações com elas.

Baixe e experimente a IDE CodeLobster, para desenvolver seus projetos.

Há várias IDEs para quem deseja usar o sistema operacional GNU/Linux para programar.
Algumas são específicas para algumas linguagens e outras são bem mais abrangentes.

O CodeLobster é uma IDE multiplataforma, voltada para a programação PHP, mas pode atender a outras linguagens também — tipo CSS, HTML, JavaScript etc. — como seria de se esperar de uma ferramenta voltada para desenvolvedores web.
Logo do CodeLobster e descrição do produto

Sua proposta inicial é ser leve e rápido (light-weight). Por isto, requer muito pouco espaço em disco para ser instalado.
O projeto foi desenvolvido a partir da construção de um editor de textos e evoluiu para um ambiente de desenvolvimento integrado.

Atualmente, há versões disponíveis para Windows, MacOS e Linux (Mint, Debian, Ubuntu e outros desta mesma ramificação).

Através de plug-ins o aplicativo pode ter funcionalidade estendidas para usar CMSs e frameworks populares — o que inclui o CakePHP, CodeIgniter, Drupal, Joomla, Symfony, Twig, WordPress, Yii, Node.js, JQuery, AngularJS, BackboneJS etc.

Download e instalação

Mesmo tendo versões voltadas a várias plataformas, neste artigo só irei abordar a sua instalação no Linux (Debian 10, para ser mais específico).
Instalação do CodeLobster via apt, na linha de comando

Faça o download da versão voltada à sua plataforma de trabalho, no site (link ao final do post) e abra um terminal para executar a instalação via dpkg. O procedimento é o mesmo em qualquer distro baseada no Debian, como é o caso do Ubuntu, do Mint etc.:


sudo dpkg --install ~/Downloads/codelobsteride-1.1.0_amd64.deb 

Feita a instalação. já é possível executar o programa — da linha de comando, no terminal ou na GUI.
codelobster via dash no GNOME do Debian

Primeiro uso e ajustes iniciais

Claro que não gostei da interface padrão do aplicativo…
Mas ele tem temas alternativos muito bonitos, principalmente com fundos escuros — os meus preferidos.
Sugiro dar uma olhada nestas opções, disponíveis em View/Visual Style.
Relação de temas do CodeLobster

Em seguida, altere o idioma da interface para o que achar mais adequado. O português (europeu) é o que está disponível na versão que usei.
Acesse a configuração pelo menu Tools/Preferences. Em seguida, localize a aba IDE, à esquerda e toque em General.
À direita, no painel, selecione o idioma (Interface Language) de sua preferência.
Painel geral do Codelobster

Preço do produto

O CodeLobster IDE é distribuído, no site, em uma versão gratuita – que expira em 30 dias.
A versão Professional pode ser adquirida no próprio site, por 99,95 dólares/ano. A assinatura dá direito ao uso em até 3 dispositivos diferentes.
codelobster logo

Referências

As versões dos pacotes de instalação do CodeLobster IDE para MacOS, Windows e Linux, podem ser baixadas neste site: http://www.codelobsteride.com/#download.

Use Ubuntu para programar em Python

O sistema operacional GNU/Linux é, na minha humilde opinião, o mais adequado para a programação de computadores.
Neste sentido, qualquer uma das principais grandes distribuições do Linux pode satisfazer plenamente um(a) profissional de desenvolvimento.

Já escrevi sobre qual a melhor distro para programar — clique no link para saber qual a minha opinião sobre o assunto.

Neste post, vou mostrar como preparar o Ubuntu 18.04 LTS Bionic Beaver para desenvolvimento na linguagem de programação Python.
É claro que o Ubuntu, já na instalação mínima, vem com interpretadores, de sobra, para você começar a programar em Python. Mas algumas ferramentas adicionais podem tornar o ambiente ainda melhor para quem já é profissional ou, mesmo, para estudantes.

Python 2 ou Python 3

O Python 2 vem caindo gradualmente em desuso, mas ainda há aplicações importantes do sistema, escritas nesta versão da linguagem.
Por este motivo, softwares (interpretadores, bibliotecas etc.) voltados para as duas versões ainda são encontrados.
Neste texto, vamos nos concentrar na versão 3 da linguagem, contudo.

Você pode verificar quais versões do interpretador Python há no seu Linux, digitando ‘python’ e pressionando a tecla Tab logo em seguida.
As versões disponíveis serão exibidas no terminal.
O comando ls também pode ser usado, para obter esta informação:


ls /usr/bin/python*

/usr/bin/python            /usr/bin/python3
/usr/bin/python2           /usr/bin/python3.6
/usr/bin/python2.7         /usr/bin/python3.6m
/usr/bin/python2.7-config  /usr/bin/python3m
/usr/bin/python2-config    /usr/bin/python-config

interpretadores Python no Ubuntu

Apesar da quantidade “expressiva de pythons”, há apenas 3 versões instaladas no meu sistema (python2, python3 e python 3m). O restante é link simbólico para o programa correspondente.

Use o parâmetro ‘–version’ para saber qual a sua versão padrão:


 python --version

Python 2.7.15rc1

A série 2.x é padrão justamente por causa dos vários scripts do sistema que ainda a usam — e você não deve mudar isto.
Ensinei como contornar a situação, para quem só quer usar a versão 3, neste post.

Instale IDEs gráficas para Python

Basicamente, qualquer uma das grandes IDEs pode ser usada para programar em Python. Se você já tem a sua preferida, pode relaxar e continuar a usá-la.
Se quiser experimentar algo novo, sugiro algumas IDEs feitas pela comunidade de programadores(as) Python, que podem trazer recursos e benefícios interessantes para quem usa esta linguagem predominantemente.

Pressione a tecla Super e procure o “Ubuntu software”, para entrar na loja (interface GUI para os respositórios) do Ubuntu.
instalar software no ubuntu

Dentro da loja faça uma busca (Ctrl + F) por ‘python ide’, para ver as opções específicas que você tem.
Atualmente, no meu sistema, há:

  1. A série de PyCharm, com IDEs voltadas para aplicações comerciais, científicas, educacionais etc. A PyCharm Pro é projetada para profissionais desenvolvedores(as).
  2. A Eric Python IDE, também projetada pelo pessoal que programa em Python. É uma opção leve e ágil. Falei mais dela aqui.
  3. Por fim, Thonny é uma IDE com recursos úteis para quem está estudando a linguagem. Vem com um depurador embutido, capaz de visualizar todos os passos conceituais da execução de um programa Python.

ide para python

Não se prenda a estas opções.
Experimente outras buscas, como ‘ide devel’, para encontrar bem mais opções.

Sugiro a leitura do artigo 5 IDEs para programar no Linux, para obter mais opções de ferramentas para desenvolvimento.

Instale o PIP

O pip (não é picture in picture) é um gerenciador de pacotes e serve para instalar novos softwares, bibliotecas e ferramentas para Python.
No Ubuntu, use o apt para instalar o gerenciador:


sudo apt install python3-pip

Mesmo especificando a versão “3” do Python, na linha de comando (acima), o procedimento ainda instala o pip para a versão 2 da linguagem.
Desta forma, você terá à sua disposição o pip2 e o pip3:

pip2 --version

pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)
pip3 --version

pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)

Instale o bpython

Isto não é obrigatório.
Estudantes da linguagem podem gostar de usar uma shell com recursos de realce de sintaxe.
ubuntu loja

O aplicativo pode ser encontrado na lojinha do Ubuntu, ou pode ser instalado via linha de comando.

Você tem experiência em programação Python?! Quais aplicativos adicionais sugere para instalação no Ubuntu?