 Jefferson,  29 de julho de 2017, blog, wordpress Confiram na Categoria BUZZ.
Quem não participava do meu stream no Google Buzz precisa ter em mente que era outra forma de blogar, muito mais dinâmica. Eu tinha alguma coisa na cabeça e escrevia sobre ela imediatamente. Como resultado os posts parecem rascunhos, porque realmente eram. O melhor destes posts está nos comentários.
Este ainda é um trabalho em andamento. 110 posts estão com comentários sabidamente faltando. Os que eu tenho conhecimento estão marcados com a tag FaltamComentarios. Estes comentários terão que ser recuperados manualmente de outras fontes. Se vocês encontrarem algum post sem essa tag onde pareça estar faltando algo, por favor me avisem com um comentário no próprio post.
Além disto, muitos posts faziam links para outros posts e estes links obviamente foram quebrados. Eu vou corrigir isso assim que puder.
Agradeço a Saulo Benigno. Sem ajuda dele é incerto se eu teria terminado esse trabalho.
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  27 de julho de 2017, blog, wordpress Graças à ajuda de Saulo Benigno, que fez o grosso do trabalho de conversão em março, eu finalmente estou na fase final do processo para importar o primeiro e maior grupo de posts. Contando com os comentários o blog vai crescer 70%.
Existem ajustes que precisam ser feitos mas eu concluí que é melhor fazê-los depois da importação. O mais sério deles foi provocado por um bug no exportador da Google que limitou todos os posts a um máximo de 20 comentários e por causa disso eu tenho cerca de 110 posts cujos comentários precisam ser conferidos com os emails do buzz no gmail.
Eu estou avisando porque apesar de estar fazendo simulações em um blog de teste algo sempre pode dar errado que me obrigue a tirar este blog do ar para consertar. Outro problema pouco provável mas possível é que vocês que estão lendo através de feeds de repente tenham 930 posts não lidos no leitor. A única precaução que pude tomar foi datar corretamente os posts no passado. A reação que cada leitor de feed vai ter eu não posso antecipar.
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  04 de julho de 2017, Segurança, webmasterwork, wordpress Meu site não tem SSL e enquanto não resolvo isso minhas credenciais de acesso a meus blogs são transmitidas de uma forma que pode ser facilmente interceptada por alguém em posição de fazer um ataque “man in the middle” como o provedor de acesso. Para tornar isso um problema menor eu ativei autenticação em duas etapas em todos os blogs usando o plugin Google Authenticator.
Minha primeiríssima pergunta ao tentar decidir se isso era uma boa idéia foi: como eu desativo isso se algo der errado e eu não puder mais fazer login no blog? Mas é muito simples, bastando entrar no meu site via FTP (esse é outro problema de segurança a tratar em outro dia) e apagar o diretório correspondente ao plugin.
Como o próprio nome do plugin escancara, ele é compatível com a app Google Authenticator, que eu já uso para acessar minha conta Google. Ao ativar o plugin aparece uma nova seção na página “seu perfil” da administração do blog, onde você pode gerar o “Segredo” que você então insere na app.

É tão simples que eu já deveria estar usando há muito tempo. Uma informação a mais vai ser pedida a cada login:

Isso não resolve o problema de interceptação completamente, porque você continua vulnerável a um “sequestro de sessão” (é, segurança de dados é coisa de doido) já que os cookies que evitam que você tenha que redigitar sua senha a todo momento continuam sendo transmitidos sem criptografia e podem ser interceptados. Você pode minimizar isso também ao não marcar “lembrar-me” na tela de login e sempre fazendo logout ao terminar. Assim os cookies terão uma validade mais curta.
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  31 de agosto de 2016, wordpress Este post possui recursos que pode ser complicado ou impossível acessar na versão mobile do blog e/ou com uma touchscreen. Versão desktop e mouse recomendados.
Como uma imagem vale por mil palavras, melhor começar passando o mouse sobre a imagem abaixo:

Se nada aconteceu, me avise nos comentários dizendo que browser e versão você está usando.
Essa minha necessidade não é nova. Quem me acompanha desde o review do DVP642 sabe que eu tinha o hábito de comentar as fotos que publicava. Na época eu só precisava adicionar a biblioteca javascript overlib e, a parte mais chata do processo, criar um image map de cada imagem com os comentários. Esse processo era apenas parcialmente visual e um tédio por isso eu não lamentei muito quando minha mudança para o WordPress me impediu de continuar usando-o.
O processo com overlib além de ser um tédio tinha o inconveniente de que você tinha que passar com o mouse sobre cada ponto da imagem à procura de comentários. Como se pode ver esse problema não existe com o plugin Demon Image Annotation (DIA), que mostra imediatamente todos os pontos comentados. E mais: eu posso demarcar e adicionar notas de forma totalmente visual. Ao contrário da overlib, que eu usava quase a contragosto, está sendo um prazer usar DIA.
Mas eu só posso dizer isso agora que DIA está funcionando. Eu venho há semanas (esporadicamente, é claro) apanhando para fazer o plugin funcionar neste blog. Ele funcionou imediatamente em outros de meus blogs onde instalei só para tirar a dúvida mas aqui sequer ele parecia instalado. Agora parece estar OK mas não estou certo do que fiz para resolver o problema. Quando eu testei da última vez há umas duas semanas não funcionava e quando testei ontem estava funcionando. Cache do wordpress? Erro meu? Não sei.
Notas para leitores:
- Ao passar o mouse sobre a imagem ela é imediatamente alinhada à esquerda e não volta mais para o alinhamento central. Isso é coisa do plugin e não sei resolver;
- O plugin permite que até vocês leitores façam comentários sobre as imagens. Mas como eu não consegui ver a utilidade disso para o tipo de imagem que publico, achei melhor desabilitar o recurso. Se eu estivesse fotografando paisagens ou “arte” eu acharia mais útil. Porém se conseguirem me apontar a utilidade eu poderei rever isso. No site do desenvolvedor existe um live demo mostrando como isso funciona;
- O meu nome aparece em cada um dos comentários devido a essa característica “colaborativa” do plugin. Não há opção para desativar essa exibição, mesmo com apenas uma única pessoa comentando.
Notas para interessados em usar o plugin no próprio blog:
- Infelizmente o autor não atualiza nem o próprio site há três anos e não responde na página de suporte do plugin há um ano. Os problemas encontrados no plugin vão precisar ser resolvidos pelo próprio usuário;
- Se você copiar a imagem entre posts mantendo o “ID”, todos os comentários acompanham, como acontece na imagem acima. Se eu editar aqui, automaticamente a imagem no post original é editada também.
- Mesmo você sendo o Admin os comentários adicionados por você caem em uma fila de moderação do próprio plugin. Eles ficam visíveis somente até você atualizar a página e somem. Isso me deixou confuso por vários minutos porque mesmo depois de achar os comentários na fila de aprovação eu não entendi o linguajar do plugin. O que eu achei que estava aprovado na verdade estava “desaprovado”. Aliás parece que quem escreveu os textos no plugin não domina a língua inglesa, conforme nota a seguir;
- O plugin fica exibindo em todo lugar no dashboard do wordpress o texto “Important: Please update the new version of settings and usage” que dá a entender que você precisa fazer alguma atualização nas configurações. Depois de muito tempo tentando encontrar essa atualização eu estou convencido de que o plugin quer dizer que você deve se “atualizar a respeito” ou “familiarizar” com a nova versão das configurações. Eu escreveria “be aware of” ou “take a minute to review” no lugar de “update”;
- Se habilitar DIA com ID automático não fizer absolutamente nenhuma diferença visual nas suas imagens, pode estar havendo um conflito com outro de seus plugins;
- Por default o plugin habilita comentários em todas as imagens. Como isso não é um fotolog e cada imagem com comentários habilitados cria um pequeno problema visual no fluxo do blog eu decidi definir manualmente cada imagem onde os comentários vão aparecer. Para isso é necessário acrescentar manualmente uma atributo à tag da referida imagem. Infelizmente isso pode ser um aborrecimento quando você tem muitas imagens em um texto longo. Como o WP não tem recurso na UI para acrescentar um atributo visualmente, você tem que reverter para o HTML, achar a referência à imagem na munheca e acrescentar o atributo à tag;
Eu estou aberto a sugestões de alternativas de anotação de imagens.
12/08/2017
Quando pedi ajuda no fórum de suporte do plugin Calculated Fields Form (CFF) para o fato de CFF parar de funcionar ao ativar tanto a versão 3.6 quanto a 3.7 do DIA, o autor gentilmente me mostrou que o autor do DIA cometeu um erro grosseiro. O WordPress vem com sua própria versão da biblioteca Jquery e o autor do DIA decidiu usar outra, mais recente, e em vez de usá-la apenas no seu plugin fez a modificação valer para o blog inteiro.
Isso é muito ruim. Provavelmente diversos outros plugins que eu testara sem sucesso aqui no blog podem ter falhado por causa disso.
O problema está em imageannotation.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
function dia_jquery() { wp_register_style( 'annotate-style', plugins_url( '/css/annotation.css', __FILE__ )); wp_enqueue_style( 'annotate-style' ); wp_deregister_script('jquery'); wp_register_script( 'jquery', '//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'); wp_enqueue_script( 'jquery' ); wp_deregister_script('jquery-ui'); wp_register_script('jquery-ui', '//code.jquery.com/ui/1.11.2/jquery-ui.min.js'); wp_enqueue_script('jquery-ui'); wp_deregister_script('jquery-annotate'); wp_register_script('jquery-annotate', plugins_url( 'js/jquery.annotate.js' , __FILE__ ),array('jquery')); wp_enqueue_script('jquery-annotate'); wp_deregister_script('jquery-annotate-config'); wp_register_script('jquery-annotate-config', plugins_url( 'js/jquery.annotate.config.js' , __FILE__ ),array('jquery')); wp_enqueue_script('jquery-annotate-config'); } |
Como se pode ver, nas linhas 5 e 6 o autor desabilita a versão do jquery que vem com o wordpress e habilita uma versão específica 2.1.1 hospedada pela Google. Mais à frente, nas linhas 9 e 10 ele faz o mesmo com uma biblioteca jquery que proporciona interface com o usuário. E mais à frente ele de novo troca as bibliotecas usadas pelo wordpress pelas suas próprias versões, desta vez instaladas junto com o plugin.
O que ele faz nas linhas 5 e 6 é o que provoca o maior dos problemas. Todo autor de plugin (bem, obviamente quase todo ele) espera usar o jquery que vem com o wordpress. Ao fazer essa mudança para acomodar uma necessidade sua o autor de DIA criou um problema para todos os outros plugins que usam jquery!
A solução imediata é comentar as linhas 5 e 6. Isso deixa a operação do plugin mais lenta mas aparentemente não há outro efeito colateral. Idealmente devemos comentar as linhas 9 e 10 também, mas isso impede a adição de novas notas porque a UI fica sem os botões. Por hora eu vou deixar habilitado mas eu tenho que ter em mente que qualquer problema de UI que eu encontrar ao testar um novo plugin pode ser provocado por isso.
Muitos erros no LOG
Desde 28/07/2016, quando provavelmente eu comecei a fazer meus testes, o plugin está com um problema e eu não havia notado. Encontrei um arquivo wp-admin\error_log com 57MB e mais de 72 mil erros relacionados com uma alteração de tabela mal sucedida:
Erro de banco de dados do WordPress Duplicate column name ‘note_post_ID’ para a consulta ALTER TABLE wp_demon_imagenote ADD note_post_ID bigint(20) NOT NULL AFTER note_comment_ID; feita por do_action(‘admin_init’), WP_Hook->do_action, WP_Hook->apply_filters, call_user_func_array, dia_admin_init, dia_createtable
Um ALTER TABLE só deveria acontecer na instalação do plugin mas às vezes o erro ocorre uma vez a cada segundo! Eu editei o arquivo imageannotation.php comentando uma das linhas que faz um ALTER TABLE e aparentemente o problema foi resolvido:
|
|
$sql = "ALTER TABLE `".$table_name."` ADD `note_post_ID` bigint(20) NOT NULL AFTER `note_comment_ID`;"; // $wpdb->query($sql); //Desativado por Jefferson em 12/08/2017 $dia_pluginver = $dia_curVersion; |
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  31 de agosto de 2016, Hostgator, wordpress Já virou tradição: todo ano em setembro tem greve dos correios. Eu não espero que esse ano seja diferente. Preparem-se.
A hostgator mandou uma mensagem educada dizendo que eu não tenho mais opção a não ser manter minhas instalações do wordpress atualizadas. Ou eu faço isso ou eles farão à minha revelia antes de terminar o mês. Isso tem uma grande probabilidade de dar **rda com o plugin que dá suporte a downloads da instalação principal (usada também aqui) entre outras coisas. Eles dizem que podem detectar e atenuar “a maioria” do problemas. Eu não fiz nada a não ser fazer backup. Vamos ver no que vai dar.
Hello,
Hostgator is dedicated to keeping your account secure and working smoothly. Our commitment to open source software and an intuitive web experience makes your online success our number one priority.
Maintaining up-to-date WordPress installations is an important part of protecting the content on your Hostgator account. After scanning your WordPress site(s), we found the following installations are out of date:
xxxxxxxxxx
In 3 days, we will start automatically updating to the latest version of WordPress. Your website will remain online during this process. You can also manually update your WordPress site(s) and review the compatibility of your themes and plugins.While not common, updates may adversely affect the functionality of a site in cases where WordPress core files have been edited or the site is running unsupported themes or plugins. However, the automated update process will detect and mitigate most problems.
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  06 de dezembro de 2015, blog, wordpress Eu ainda estava usando a versão 3.1. Espero que não quebre nada, mas o carregamento da página inicial está estranhamente lento aqui.
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  22 de abril de 2015, wordpress Tomei essa decisão por livre e espontânea pressão da Google. Mas eu deveria ter feito isso há muito mais tempo.
A pressão veio de uma decisão da Google que foi apelidada de Mobilegeddon (Armageddon Móvel). Desde ontem a Google passou a levar em conta se um site é “amigável para dispositivos móveis” ao atribuir o ranking das suas buscas. Eles até oferecem um teste para avaliar se o site é compatível.
Eu achei que o WordPress já fizesse isso automaticamente, mas tive uma dupla surpresa ao testar isso hoje, usando o meu celular via 3G. Além de não ter uma versão móvel, e justamente por isso, abrir a primeira pagina deste blog consumiu em poucos segundos cerca de 5MB. Metade da minha franquia diária. E ainda assim nada se aproveitava porque eram muitas imagens parcialmente carregadas. Se eu tivesse deixado continuar possivelmente teria consumido toda a minha franquia. Raios… o WordPress não gera uma versão mobile nativamente…
E olha que eu uso o telefone celular para navegar na web até em casa. Eu só não visito os meus próprios sites com ele…
Em alguns segundos de pesquisa já tinha uma possível solução: o plugin WPtouch. Agora quem visitar este blog em um dispositivo móvel verá algo completamente diferente. E passa no teste da Google.

Esse é o tema gratuito do WPtouch. Não é nenhuma belezura, mas também não é feio. E pelo menos no Chrome para Android você sempre pode requisitar a versão Desktop da página, se não gostar da versão móvel.
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  10 de outubro de 2013, blog, smilies, wordpress Eu geralmente só atualizo qualquer software quando tenho um motivo bom. E no caso de um software como o wordpress onde uma atualização pode dar uma tremenda dor de cabeça, o motivo precisa ser muito bom. Eu esbarrei nesse motivo essa semana: o Media Manager do 3.6 é bem melhor que o da versão 3.2 que ainda estou usando e deve facilitar minhas postagens.
Fiz diversos backups para o caso de algo dar errado, principalmente com os plugins que considero importantes. Vamos ver o que acontece.
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  17 de dezembro de 2012, spam, wordpress Apesar do nome, esse plugin também atua sobre comentários e tem um modo de operação bem amplo e radical. Se você, leitor, não estiver conseguindo mais postar comentários, por favor me avise com um comentário no Geringonças e Gambiarras dizendo qual browser, nome de usuário e email que você está usando. O plugin bloqueia também por IP, o que pode ser um problema, já que a maioria usa IP não-fixo para navegar na internet e pode pegar um IP que tenha sido usado anteriormente por um spammer e esteja em uma blacklist. Como sobrou muito pouco spam depois que implementei o script de palavras proibidas, eu desliguei a opção de checar o IP.
O plugin também tem a opção de bloquear pela ausência do campo HTTP REFERER, o que supostamente indicaria que o spammer não está submetendo o form de comentários através do meu site. Porém dando uma olhada na lista de comentários eu constatei que um monte de comentários legítimos, de Luciano, Walter, Marcel, etc., estão vindo também com o REFERER em branco, por isso eu desliguei essa opção também.
Esse plugin bloqueia o spammer de forma que o comentário ou registro sequer seja feito. Nada de colocar na caixa de spam para eu ter que perder meu tempo analisando depois.
Eu achei esse plugin especialmente interesante por causa dessas características:
- Bloqueia também registros falsos. Coisa que o Akismet não faz;
- Coloca um falso formulário inteiro de comentário em cada página. Esse formulário só pode ser visto pelos bots. Se um formulário desses for submetido, o IP é imediatamente considerado hostil e bloqueado (isso independe do bloqueio por IP que eu desliguei, que é baseado em blacklists);
- Oferece uma blacklist de palavras que se usadas no nome ou email provocam o bloqueio imediato. Eu não creio que um leitor vá usar as palavras “viagra”, “captcha” e “penis” nesses campos, mas spammers usam. O Akismet detecta isso mas joga na caixa de spam e não vejo sentido em armazenar isso se é claramente hostil;
Está em teste. Será desligado se criar problemas para os meus leitores.
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  08 de dezembro de 2012, spam, wordpress Não, eu não estou falando de mandar para a caixa de spam. Isso o Akismet já faz muito bem. O que eu vou explicar aqui bloqueia o comentário no momento em que está sendo postado, antes mesmo de passar pelo Akismet.
Nos últimos meses tenho sido bombardeado por milhares de comentários de spam mensais que provavelmente vem do mesmo spammer, divulgando uma dúzia de sites de mala direta (que hoje é sinônimo de spam). Vejam neste blog um exemplo de como esse spammer se comporta. A página recebeu 65 comentários e todos seguem o mesmo padrão.
A predominância desse spammer é tão grande que eu acabo de apagar cerca de 1600 spams, filtrando pelos nomes desses sites, e só restaram uns dez que nada tinham a ver com eles. Ou seja: se eu conseguisse barrar a postagem da propaganda dessa dúzia de sites, minha caixa de spam estaria sempre razoavelmente limpa.
Eu fiz uma pesquisa semanas atrás e não consegui achar nenhum plugin que fizesse isso. Todos os plugins que encontrei limitam-se a jogar mensagens para a caixa de spam. E isso o akismet já faz. Mas com milhares de mensagens que são indubitavelmente spam na caixa, você fica praticamente impossibilitado de detectar as mensagens que cairam lá acidentalmente.
Hoje, depois de ficar de saco cheio por ter que filtrar e apagar essas mensagens de novo, quando “não custaria nada” ao wordpress checar uma lista de doze palavras, fiz uma nova busca e encontrei a solução.
Não é tão simples quanto instalar um plugin, mas também não é nada difícil. Aqui está o código adaptado para as minhas necessidades:
//Acrescente isso no final de functions.php (é um arquivo do tema, não do wordpress)
//pode ser imediatamente antes da linha final com um "?>".
function in_comment_post_like($string, $array) {
foreach($array as $ref) { if(strstr($string, $ref)) { return true; } }
return false;
}
function drop_bad_comments() {
if (!empty($_POST['comment'])) {
$post_comment_content = $_POST['comment'];
$lower_case_comment = strtolower($_POST['comment']);
// Lista de palavras banidas.
// Comentários com essas palavras serão automaticamente deletados
// e quem postou, se não for um bot, verá um alerta.
$bad_comment_content = array(
'viagra',
'hydrocodone',
'xanax',
'tramadol',
'lorazepam',
'adderall',
'dexadrine',
'no prescription',
'oxycontin',
'without a prescription',
'sex pics',
'family incest',
'online casinos',
'online dating',
'cialis',
'ecadastro.com.br',
'seomaster.com',
'divulgaemail.com',
'listadeemails.com',
'casaemail.com.br',
'acertemail.com',
'maladiretasegmentada.com.br',
'busquemail.com.br',
'boliche.com.br',
'kitsucesso.com',
'emailsvip.com.br',
'kitdeemail.com',
'amoxicillin'
);
if (in_comment_post_like($lower_case_comment, $bad_comment_content)) {
wp_die( __('Seu comentário contém palavras ou expressões banidas.') );
}
}
}
add_action('init', 'drop_bad_comments');
O que achei especialmente interessante é que se um humano colocar uma dessas palavras em um comentário legítimo (“viagra” é um exemplo), seu comentário não vai se perder no vazio, porque o script vai responder com “Seu comentário contém palavras ou expressões banidas.”, bastando então clicar no botão Voltar do browser para poder editar o comentário. O script nem tenta dizer o que o gatilhou, entretanto.
Pode testar à vontade. Tente postar um comentário com uma dessas palavras e veja o que acontece.
Nesta outra página você encontrará uma versão mais elaborada, que faz um log no servidor de cada tentativa, com texto, IP, etc.
OBS.: Faça um backup de functions.php antes de fazer qualquer mudança. Uma simples vírgula que você esqueça de colocar pode fazer você perder o acesso ao blog. Aconteceu comigo e fui obrigado a transferir um backup que eu tinha do arquivo por FTP, porque o editor do wordpress não funcionava mais.
Edit: é claro que eu poderia usar um captcha, mas isso acaba enchendo o saco dos leitores legítimos.
(Prefira clicar em "Responder" se estiver comentando um comentário)
|
|
Eu não sei se funciona com o Google Buzz > https://web.archive.org/ < mais este site já me ajudou e ajuda muito
Obrigado por me lembrar da Wayback Machine, mas o histórico dela para o meu stream no Google Buzz, tem apenas 10 itens, dos quais metade são avisos de que a página não existe mais.
Mais eu avisei ( que não sabia se ia funcionar ) mais o pior e os sites que usam o robots.txt para não ser indexados em qualquer sistema de busca como o Googlebot que também não são indexado no sistema do Wayback Machine
Eu não sugeri que não tivesse avisado. Apenas mostrei o resultado. Você não tinha como saber o URL de meu stream, já que ele desapareceu há anos.
Retirei 13 posts da minha lista de incompletos, com a inserção manual de 147 comentários.
O mais “animado” é o post do meu review do headset BH-503.
Processei mais 4 posts. Total de 85 comentários inseridos.
O mais animado foi o sobre jornalismo analfabeto
A busca do blog estava com problemas. Nenhum dos 928 posts estava indexado pelo Relevanssi. O problema parece estar resolvido agora, mas pode haver algo errado ainda.