Arquivos de Categorias: Computação

WooCommerce não mostra os produtos

Estou utilizando o plugin WooCommerce para uma página de “Família Vende Tudo” e coloquei o plugin Ultimate WooCommerce Auction Plugin para permitir que conhecidos dêem lance até uma data específica.

Infelizmente é um pouco arcaico… exportei todos os produtos, importei no Excel, editei o que precisa, salvei o arquivo como CSV, importei novamente e pimba! Nenhuma categoria mostrava nenhum produto mais.

Tentei de tudo: ativei, desativei e excluí plugins, mudei página principal, refiz permalinks e nada… pelo menos descobri que o problema estava no plugin Ultimate WooCommerce Auction Plugin, ao desativar, os produtos reapareciam.

Depois de pesquisar mais um pouco entendi: ao importar novamente o arquivo CSV, produtos que já tiveram lances ou vendas continham metadados a mais e ao reimportar o CSV ele deixava essas metadatas em branco para os produtos que não tinham vendas ou lances e o plugin não conseguia tratar direito.

Sugestão: apaguei os metadados em branco direto no banco de dados com o comando abaixo:

delete FROM `wp_uadciu_postmeta` where meta_value = '' and meta_key not in ('_tax_class', '_menu_item_xfn')

Como instalar Python no Mac

Desde que comprei meu Macbook estou usando-o para fins cotidianos como qualquer outro usuário de Mac usaria, mas ao deparar-me com um problema que podia ser resolvido programaticamente, resolvi instalar o Python no Mac para criar um programa.

python-on-mac

Como sempre fiz no Mac, acreditei que era só baixar no site https://www.python.org/downloads/ a versão para Mac OS X e instalar… só que não! Até pode funcionar, mas não é a melhor forma (como percebi depois). Eu precisava de uma biblioteca que só funciona no Python 2 e eu tinha instalado o Python 3.4.3, quando instalei o Python 2.7.10 ele não funcionou…

Depois de muito pesquisar, cheguei no passo a passo que descrevo abaixo. Grande parte veio deste vídeo no youtube.

  • Baixe o XCode no AppStore
  • Abra o XCode e vá em Preferences -> Locations -> e verifique que tem um Command Line Tools selecionado
  • Abra o terminal (clica no lupa no canto direito superior da tela e digita terminal)
  • Execute o comando “xcode-select –install” (sem as aspas – vai instalar o Command Line Tools)
  • Instale o Home Brew
  • Execute o comando “brew doctor”
  • Execute o comando “brew install python3”
  • Execute o comando “brew linkapps python3”
  • Execute o comando “brew doctor”
  • Execute o comando “brew install python”
  • Execute o comando “brew linkapps python”
  • Execute o comando “brew doctor”
  • Edite o arquivo .profile que está na pasta home (~) e inclua a seguinte linha “export PATH=/usr/local/share/python3:/usr/local/share/python:$PATH”
  • Edite o arquivo /etc/paths e deixe a linha “/usr/local/bin” como sendo a primeira
  • Feche e abra o terminal
  • Verifique as versões do Python que foram instaladas com os seguintes comandos: “python –version”  e “python3 –version”

O Mac já vem com uma versão do Python instalada – ela não pode ser atualizada e precisa ser mantida ou o Mac OS para de funcionar. Para verificar a versão do Python preinstalada no Mac execute o comando “/usr/bin/python –version”

O editor de Python que estou usando é o gratuito PyCharm Community Edition, que baixei e instalei normalmente do site do PyCharm.

Para configurar o PyCharm pra usar o Python que foi instalado tem de ir em PyCharm -> Preferences -> Project: Python -> Project Interpreter -> clicar na engrenagem -> adicionar os paths /usr/local/bin/python e /usr/local/bin/python3 e selecionar um dos dois para ser o default.

Convergência Apple

Cada vez mais os dispositivos eletrônicos se comunicam, mas a Apple consegue fazer isso com tanta maestria que eu sempre me surpreendo.

Faz uns 20 anos que meu sonho era ter um computador Mac, mas por questões orçamentárias não era possível. Tenho um iPhone, que quase aposentou meu computador e recentemente adquiri um Macbook. Apaixonei.

Recebo ligação no celular e consigo atender pelo notebook, isso é muito interessante. Consigo pelo notebook mandar iMessage para meus contatos que têm iPhone, sem que eles precisem instalar nada. Instalar impressora é tão simples quando mandar imprimir.

A Apple TV é uma atração a parte. Eu usava o Playstation 3 para assistir Netflix na TV (minha TV é burrinha), mas o consumo de energia do PS3 é considerável, já basta a TV de plasma. Fiquei em dúvida entre pegar um Chromecast da Google ou a Apple TV pelo dobro do preço e num momento consumista peguei a Apple TV. Ótima escolha!

AirPlay no iPhoneConsigo de forma incrivelmente simples, pelo wi-fi, sem instalar nada em lugar nenhum, transmitir a tela do laptop ou do celular para a TV, bastando clicar no ícone do AirPlay. O que eu acabei de descobrir é que consigo transmitir um video do celular para a Apple TV, assistir na minha TV em tela cheia HD com home theater e tudo mais e ainda continuar usando o celular para outras funções, como WhatsApp, Facebook, navegar na net sem interferir no video que é exibido na TV.

Programas Indispensáveis no Windows

Sempre que eu formato meu Windows (o que aliás, acontece em média a cada 2 anos) eu preciso reinstalar todos os softwares. Muitos amigos já me perguntaram quais programas eu acho indispensáveis no computador, então fiz a lista abaixo. Os dois primeiros eu comprei todos os outros são gratuitos.

Tem ainda alguns drivers que preciso instalar:

  • Impressora HP
  • Webcam Logitech
  • Roteador Cisco
  • Placa de Vídeo NVidea
  • HD Western Digital

Edição de Vídeo para YouTube no Windows

Adoro fotografar mas não sou de ficar filmando pra não ter o trabalho de editar vídeos, mas neste fim de semana minha filha ficou tão feliz ao receber uma festa surpresa que quero editar o filme que fiz, para que meus amigos e familiares possam ver a alegria dela no YouTube.

Tentei seguir a dica do Devin Supertramp, meu casual filmmaker preferido, pra exportar vídeo para o Youtube mas ele usa o software Compressor 4 pro Final Cut Pro, que só funciona em um Mac. Como não sou um feliz proprietário de um, resolvi tentar o gratuito Windows Movie Maker, da Microsoft.

O resultado ficou bom. Consegui cortar parte do início, parte do fim e salvar o arquivo em um formato que o YouTube aceita.

PS3 Media Server não encontra PS3: como resolver

O Windows é como a Matrix, chega uma hora em que é necessário formatar e começar tudo de novo.

Formatei meu Windows 7, configurei tudo zero bala e feliz da vida instalei o fantástico PS3 Media Server, um servidor de mídia (vídeos, fotos e músicas) para o Playstation 3.

PS3 Media Server

Foi aí que começou a penitência: nem ferrando PS3 Media Server reconhecia o Playstation… minha configuração é a seguinte:

  • Playstation 3 Slim 160Gb ligado na rede via cabo Ethernet
  • Roteador DLink DI-524
  • Windows 7 Professional 64bits com Service Pack 1
  • Processador Intel Core Quad Q9400 @ 2.66GHz com 4GB de memória RAM
Liberei portas no Firewall do Windows, configurei IP fixo, redirecionei porta do roteador, fiz de tudo e nada do PS3MS reconhecer o PS3…
Quando já estava quase desistindo, após muito vasculhar na Internet, encontrei um comando mágico que resolveu todos os meus problemas:

netsh advfirewall firewall add rule name="allow PMS" dir=in protocol=tcp localport=5001 security=notrequired

O que esse comando faz é adicionar uma regra no firewall do Windows para permitir entrada de dados via protocolo TCP na porta 5.001, desabilitando toda e qualquer verificação de segurança nessa conexão. Eu não encontrei como configurar isso na tela de configuração do Firewall, só por linha de comando mesmo.

Vírus em PowerPoint, Word e Excel

Eu nunca abro uma apresentação em PowerPoint que me é enviada por e-mail, inclusive minha mãe parou de mandá-los para mim. Eu nunca confiei neles, por achar que poderiam ter vírus, trojans, malwares, códigos malicioso… qualquer coisa do gênero.

Hoje eu confirmei minha suspeita. A Microsoft publicou um add-in para validação de arquivos no Office 2003 e Office 2007 para passar a verificar arquivos Excel (arquivos com extensão .xls ou .xlt), PowerPoint (arquivos com extensão .ppt, .pps ou .pot) e Word (arquivos com extensão .doc ou .dot). Essa funcionalidade já existe no Office 2010.

Segundo a própria página da Microsoft:

File format attacks exploit the integrity of a file, and occur when the structure of a file is modified with the intent of adding malicious code. Usually the malicious code is run remotely and is used to elevate the privilege of restricted accounts on the computer. As a result, an attacker could gain access to a computer that was not previously accessible. This could enable an attacker to read sensitive information from the computer’s hard disk drive or to install malware, such as a worm or a key logging program.

Eles finalmente admitiram que apresentações do PowerPoint, planilhas do Excel e documentos do Word são susceptíveis a transmitir vírus ou programas maliciosos que podem ler informações do disco rígido e instalar softwares, como um keylogger, que consegue capturar logins e senhas digitadas.

O plugin vai eliminar este problema? Segundo uma pesquisa feita pela CERT não vai. Ele é efetivo em aproximadamente 50% dos casos.

Em outras palavras, a chance de um arquivo do Office com vírus ser aberto sem detectar o vírus é a mesma de se jogar uma moeda para cima e cair “cara”. Pense então na possibilidade de, em uma semana, receber 10 documentos infectados. A chance do Office detectar e bloquear a abertura de todos eles é a mesma de jogar a moeda para cima 10 vezes e me todas elas cair “cara”. Pode tentar… é beeeem difícil.

Meta: blog mais rápido

Não estou nem um pouco satisfeito com o tempo de carregamento do meu blog e quero deixá-lo rápido novamente.

Por coincidência vi hoje no O Velho uma notícia sobre o CloudFlare, que promete aumentar a disponibilização de um site, tornando-o mais rápido. Caiu como uma luva.

Antes de utilizá-lo, fiz algumas checagens de tempo de carregamento com algumas ferramentas bem interessantes:

Ainda tenho muito o que fazer… mas já tenho um norte.

Visitas, Sazonalidade e Velocidade

Não conheço nada que explica o que é sazonalidade melhor que o padrão de visitas em meu blog. Nos dias úteis as visitas atingem seu ápice e durante os fins de semana elas caem drasticamente. O gráfico abaixo mostra o número de visitas diárias desde o início do ano. Nem é preciso dizer que cada vale é um fim de semana e que os vales maiores são feriados prolongados…

Visitas do HoloCoCos @ TNT em 2011

Visitas do HoloCoCos @ TNT em 2011

Já a velocidade de carregamento das páginas do blog… está difícil abaixar para um valor aceitável. O tempo médio de carregamento de cada página chegou a incríveis 25 segundos, uma eternidade para os padrões da Internet de hoje em dia. O gráfico abaixo mostra bem isso.

Velocidade do blog HoloCoCos @ TNT em 2011

Velocidade do blog HoloCoCos @ TNT em 2011

Já utilizei os plugins WP Super Cache, WP Minify e W3 Total Cache, mas não adiantou muito, como pode ser comprovado pelo gráfico acima. Ontem então tirei o W3 Total Cache do blog e já houve uma melhora significativa no tempo de carregamento.

Definitivamente não gostei do plugin W3 Total Cache, que além de ter deixado o site mais lento, ainda é difícil de configurar, com um minify que não funciona para todo JavaScript ou CSS e principalmente por causar incontáveis erros 500 (Internal Server Error) e 404 (Page not Found) no blog.

Vou deixar o blog um tempo sem nenhum plugin de cache e depois volto para o confiável WP Super Cache pra comparar.

Blog Hackeado

Há algum tempo criei um blog para meu grande amigo Marcelo, onde ele escrevia sobre Reiki, com o criativo nome de “Rei Ki“.

Por acaso vi uma mensagem no Google Webmasters entitulada: “Notice of Suspected Hacking on http://sjdr.com.br/” que me deixou deveras preocupado.

Dear owner or webmaster of http://sjdr.com.br/,

We are writing to let you know that some pages from http://sjdr.com.br/ will be labeled as potentially compromised in our search results. This is because some of your pages contain content which may harm the quality and relevance of our search results. It appears that these pages were created or modified by a third party, who may have hacked all or part of your site. Many times, they will upload files or modify existing ones, which then show up as spam in our index.

The following are some example URLs which exhibit this behavior:

  • http://caminhantes.sjdr.com.br/pqo-walgreens-printable-pharmacy-coupons.htm
  • http://reiki.sjdr.com.br/owl-0293-oosl.htm

O pior é que as URLs realmente existiam, cheias de spam, ou seja, o blog foi realmente hackeado.

Acessei o blog via FTP e não achei os arquivos, então dei uma olhada no .htaccess e encontrei a artimanha:

RewriteEngine On
RewriteRule owl-(.*).htm$ wp-content/plugins/swift-smtp/Swift/lib/Swift/Authenticator/PopB4Smtp/_notes/style.css.php [L]

Ou seja, qualquer arquivo “owl-*.htm” seria redirecionado para um script dentro da pasta do plugin swif-smtp. Provavelmente esse script tinha algum bug e foi através dele que o blog do Marcelo foi invadido.

Apaguei todos os arquivos do blog, atualizei o WordPress, plugins e tema nas últimas versões e excluí o nefasto swif-smtp.

O pior de tudo é que o blog foi invadido em 16 de Março (data de criação dos scripts hackeados), o Google descubriu em apenas 10 dias, me mandou uma mensagem avisando e só dia 16 de Junho, 90 dias depois, eu percebi…

Importar comentário do DotComment no WordPress

Em 2001, época em que criei meu blog, os blogs não possuíam sistema de comentário, eram mais como um diário. Algumas soluções surgiram para tentar transformar um blog em um “chat”: Reblogger, Haloscan, SnorComments, DotComments, entre outros menos famosos. A extinção deles foi consolidada quando o Blogger, maior publicador de blogs da época, criou seu próprio sistema para comentar.

O grande problema desses sistemas alternativos é que quase todos utilizavam uma base de dados centralizada, que quando deixava de funcionar ou era desativada, sumia com todos os comentários de todos os blogs. Por isso eu usava o DotComments, que grava os comentários em um arquivo de texto no meu servidor.

Em 2007 quando migrei o blog do Blogger para o WordPress consegui levar os 1,846 posts que havia escrito lá e ainda manter suas URLs, mas os comentários que estavam em arquivos textos não eram exibidos. Sabiamente incluí como metadado do post no WordPress o ID que ele tinha no Blogger, para futuramente poder carregar os comentários no WordPress.

Hoje finalmente esse dia chegou!

DotComments2Wordpress

DotComments2Wordpress

Construí um aplicativo em C#.NET que lê todos os arquivos com extensão “.comment” em um diretório e cria comandos SQL de INSERT para inserir todos os comentários no post certo do WordPress! Importei um total de 1.604 comentários em 507 posts!

Quem quiser usar, o programa é esse. Quem quiser saber como eu fiz, o código fonte é esse.

Java faz, .Net corre atrás

O Java da Sun (atualmente Oracle) nasceu em 1995 e vem evoluindo desde então. Tem como principais ambientes de desenvolvimento o NetBeans da Sun (atual Oracle), o Eclipse da Eclipse Foundation, o InteliJ da JetBrains e o o JDeveloper da Oracle.

O Framework .NET da Microsoft que tem o C# como carro chefe nasceu 7 anos depois, em 2002, com algumas melhorias em relação ao Java, muitas das quais o Java acabou incorporando em versões posteriores. A evolução da linguagem foi bem rápida, tendo o Microsoft Visual Studio como o ambiente padrão de desenvolvimento.

Nos anos nos quais Java dominava sozinho a base de usuários e novas APIs prosperou. Quando o C# entrou na briga, trazendo consigo uma legião de Microsoft lovers entediados com o já ultrapassado Visual Basic 6, a briga ficou boa. Aqui tem uma lista de diferenças entre Java e C#.

Uma característica interessante que percebo hoje é que muitas das APIs para .NET são adaptações de APIs já existentes para Java. Isso é bom tanto para o mundo Java, que mantém o controle do design da arquitetura destas APIs quanto para o mundo .NET, que ganha de bandeija APIs com a mesma arquitetura robusta e confiável desenvolvida para Java.

Ao desenvolver um gerador de relatórios em C# .NET, utilizei diversas APIs oriundas do mundo Java:

Melhor Internet 3G

Hoje, finalmente, aderi à tecnologia 3G. Cansei-me de usar internet no notebook através do 2G do celular, via bluetooth. Uma lástima!

Peguei um plano de 2GB mensais na TIM, com velocidade média máxima de 3Mbps e média mínima de 1Mbps. Quando terminar a franquia de 2GB, a velocidade fica limitada a 300Kbps, sem cobrar o absurdo de R$ 102,40 por Gigabyte adicional como as outras operadoras cobram (Oi, Vivo e Claro). A mensalidade é de R$ 80,00.

Como já sou cliente pós pago na TIM, o modem saiu de graça, sem fidelização, senão sairia por R$ 96,00. Teoricamente se amanhã eu cancelar o plano, continuo com o modem, sem ter de pagar multa alguma. Li as letrinhas pequenas dos contratos e não encontrei nenhum “porém”… mas está difícil de acreditar.

O que não consigo entender é o departamento de marketing das operadoras de celular…

Tanto no site quanto na loja da Oi a franquia de 2GB sai por R$ 70,00 mensais (até o fim do ano fica em R$ 50,00 mensais), com velocidade de 300kbps. Após consumir a franquia, ou paga-se o extorsivo valor de R$ 0,10 por megabyte ou fica sem conexão. O modem custa R$ 180,00 mas levando-0 junto com o plano ele sai por R$ 150,00. Só compensa para quem já tem um modem e usa Internet muito pouco, pois o modem na Oi é o mais caro das 4 teles, além de oferecer a pior velocidade e cobrar megabytes excedentes, sem opção de continuar navegando com redução de velocidade.

No caso da Vivo o plano de franquia de 2GB sai por R$ 90,00 mensais, com velocidade de 1Mbps, modem a R$ 10,00 e ao consumir os 2GB há a opção de navegar com velocidade limitada a 128kbps ou pagar os 10 centavos por MB. No primeiro mês há um desconto de R$ 40,00 na mensalidade. Tanto a velocidade mínima quanto a máxima são menores que as da TIM, além da mensalidade ser 12% mais cara. Quem for cliente pós-pago da TIM e ganhar o modem, em 3 meses a TIM já é mais vantajosa, financeiramente falando. Que não for cliente e tiver de pagar os R$ 96,00 do modem na TIM, por 1 ano a Vivo é financeiramente mais vantajosa, mas depois passa a ser mais cara.

No site da TIM só encontrei (após muito procurar, está super escondido) o plano de internet POR HORA!!!!! Eu usava isso em 1996, quando a Internet estava começando no Brasil. Como minha idéia é deixar o notebook conectado no trabalho, no horário comercial, utilizarei aproximadamente 180 horas mensais, excedendo inclusive as as 120 horas do maior plano. Só vejo vantagem nesse plano para quem ainda não usa Internet e quer experimentar. Isso não tem futuro, já que a tendência de utilização de Internet é ficar cada vez mais conectado. O Google já tem um sistema operacional que roda na Internet, sem precisar armazenar nada no computador, a grosso modo.

Não fui na loja da Claro, mas eles são iguais à Oi. Após consumir a franquia, ou paga-se 10 centavos por megabyte excedente ou fica sem conexão. O marketing deles é tão cara de pau que merece um post exclusivo! É pior que a internet por hora da TIM.

Estou conectado há 30 minutos, já baixei 125,2 MB e enviei 2,9MB, por conta de atualizações do Windows e do anti-virus. Certamente extrapolarei os 2GB de franquia, mas continuarei navegando com uma velocidade aceitável e não pagarei nada a mais por isso. Essa promoção da TIM tem o melhor custo-benefício, sem dúvidas.

Full HD

Desta vez quando digo “Full HD” não estou me referindo à qualidade de vídeo “Full High Definition”, mas ao Hard Disk do meu computador que está lotado até o talo!

Meu HD, cheio até a borda

Meu HD, cheio até a borda

Será que isso justifica comprar um HD Western Digital Caviar Green de 2TB? Ele é extremamente silencioso,  consume pouca energia e esquenta pouco, com 64MB de buffer (modelo WD20EARS).

O problema é o preço…

Vou ver se algum conhecido vai pros Estados Unidos, pois na Amazon sai por aproximadamente R$ 130! Senão compro na KabuM mesmo. Já comprei algumas coisas nessa loja, é muito boa.

Windows 7 reiniciou do nada

Que estranho, hoje estava usando o computador quanto ele do nada reiniciou… mas de forma organizada: foi fechando os programas, parando os serviços e reiniciou…

O evento abaixo foi gerado:

O processo C:\Windows\system32\services.exe (DESKTOP-SP) iniciou reiniciar do computador DESKTOP-SP pelo usuário AUTORIDADE NT\SISTEMA por este motivo: Não foi encontrado um título para esta razão
Código de razão: 0x30006
Tipo de encerramento: reiniciar
Comentário: O Windows deve ser reiniciado agora porque o serviço Chamada de procedimento remoto (RPC) foi finalizado de forma inesperada

Aparentemente o Windows detectou algum vírus ou trojan no computador, parou tudo e reiniciou.