Arquivos de Categorias: Computação - Page 4

Nova Hospedagem

Infelizmente não teve jeito. Onde eu hospedava meu blog, “pediram gentilmente” para eu sair… Disseram que nos Termos de Serviço tinha uma cláusula dizendo que não era possível consumir mais que 500mb de transferência por dia… e eu já estava perto dos 3gb por dia.

Conseqüência: o blog ficou 4 dias fora e eu corri pra arrumar uma nova hospedagem, migrar e reconfigurar tudo. Agora eu tenho 500gb de espaço em disco e 5tb (isso mesmo 5 terabytes) de transferência por mês, dão 166gb por dia, bem distante daquela frescura de 0,5gb por dia…

Nem sei se vou mais usar o Amazon S3, mas irei instalar o WP Super Cache, pra deixar a exibição das páginas mais leve.

Limite de Banda

Ontem e hoje durante o dia não li meu e-mail pessoal e quando fui ler em casa vi uma notificação do meu servidor de hospedagem dizendo que esse mês eu já tinha utilizado 42Gb de banda, 2 gigas acima do meu limite…

Na hora entrei em contato com eles e solicitei mais 10 gigas (que vão me custar $8), mas mesmo assim o site ficou 2 horas fora, com a infame mensagem de Bandwidth Limit Exceeded

Solicitei a eles uma alteração no IIS para retornar as páginas compactadas, mas não sei se serei atendido. Vou colocar cache no meu webservice de consulta cotação Bovespa, tentar otimizar o HTML do blog e deixar todas as imagens hospedadas no Amazon S3. O plugin Amazon S3 plugin for WordPress promete fazer todo o gerenciamento dessa hospedagem e vou instalá-lo.

Liguei o AWStats do domínio para ver o que consome mais banda e o que tem mais acesso, para tomar mais ações. Sei que é possível compactar os arquivos css (Cascading Style Sheet) e js (JavaScript) e provavelmente farei isso.

Se alguém souber de mais algo que posso fazer, por favor, deixe um comentário.

MapReduce vs Relational Database

Just because you’ve got the best hammer in the entire world doesn’t make everything a nail. If you’ve got a screw, even a cheap, old, rusty screwdriver is going to do a better job. And MapReduce is a lot better than a cheap, old, rusty screwdriver.Mark C. Chu-Carroll

HTML 5

Saiu hoje o rascunho do HTML 5 no W3C e o que mais me surpreendeu foi ver que um editor é do Google (trabalhou no Mozilla, no Opera e agora está no Google) e o outro é da Apple (ele trabalhou na Netscape, no Mozilla, agora trabalha com o Safari, ajudou na criação do Firefox e escreveu a especificação do XUL).

A Microsoft rodou!

Tech-Ed, WPF, MVC e Adobe AIR

Tech-Ed 2007

Hoje eu fui no Tech-Ed, evento da Microsoft onde são apresentadas palestras com novidades e dicas do mundo Microsoft.Uma palestra que me fez soltar aquele “oooohhhh!!” frente a uma inovação tecnológica foi a do WPF (Windows Presentation Foundation).

Em 1979 (eu ainda nem era nascido), Trygve Reenskaug propôs o conceito de MVC (model-view-controller) para o projeto do Smalltalk (influenciador do Java), nos já míticos laboratórios da Xerox, em Palo Alto (lá foram inventados a Ethernet, a impressora à laser, o mouse e a interface gráfica – hoje conhecida popularmente como Windows, apenas para citar alguns). O conceito é bem simples: separar a apresentação (view) da camada de negócio/dados (model), utilizando para isso uma “ponte” (controller).

Ainda hoje é um parto fazer um site web cuja apresentação está desacoplada do conteúdo, sendo que é 100% viável implementar dessa forma utilizando CSS com HTML ou CSS com XML e XSLT ou DHTML… imagina isso então em uma aplicação desktop!

O WPF coloca o MVC em prática (sem citar essa sigla, como é natural em produtos MS), incluindo inúmeras facilidades (que só funcionam no Windows, como é natural em produtos MS), mas o grande pulo está na possibilidade do mesmo código rodar tanto no desktop quanto na web.

O processo é bem simples:

  1. através do Microsoft Expression Blend (uma mistura de Corel Draw, Adobe Ilustrator, Macromedia Flash e Microsoft Visual Studio .NET) um designer desenha ricamente a interface gráfica (que gera um arquivo XAML) – view
  2. no Visual Studio o desenvolvedor cria toda a lógica de negócio, manipulação de dados, tratamento de eventos, etc. (que gera um arquivo .cs, no caso do C#) – model
  3. o Framework .Net (utilizando o WPF) se encarrega juntar o XAML com o código – controller

Dessa forma, a mesma aplicação pode ser acessada tanto pelo browser, na Internet, como localmente no computador, pelo Windows, de acordo com a forma como foi compilado. Para alterar o layout, basta alterar o arquivo XAML (manualmente ou de forma transparente pelo Expression Blend) e pronto!

Pela mais pura coincidência, hoje li sobre o Google Analytics AIR, que é o já famoso Google Analytics, no desktop. Para isso, ele usa o Adobe AIR, que segundo o site:

Adobe® AIR™ is a cross-operating system runtime that allows web application developers to use their existing web development skills (HTML, Javascript, Adobe Flash®, Adobe Flex™, Ajax) to build and deploy rich Internet applications to the desktop.

Muito parecido com a definição do WPF no site:

Windows Presentation Foundation (WPF) provides developers with a unified programming model for building rich Windows smart client user experiences that incorporate UI, media, and documents.

Resumindo, Windows Presentation Foundation e Adobe AIR são quase o mesmo produto, desenvolvidos por empresas diferentes.

A Microsoft criou o Silverlight para competir com o Flash (agora Adobe Flash) e pelo visto a briga não parou por alí…

BIOS & upgrade de placa de vídeo

Minha placa de vídeo é uma NVidia GeForce 2 MX 400, lançada em 2001 (64mb de memória, AGP 4x, 200MHz de core, 350MHz de memória, 2,7Gb/s de banda, 32bits e DirectX 7), ou seja, uma porcaria!

Hoje eu vi preço das GeForce 6200 (256mb de memória, AGP 8x, 300MHz de core, 550MHz de memória, 8,8Gb/s de banda, 128bits e DirectX 9.0c) e GeForce 6600 GT (256mb de memória, AGP 8x, 500MHz de core, 900MHz de memória, 14,4Gb/s de banda, 128bits e DirectX 9.0c) e me animei a juntar dinheiro para fazer um upgrade mais que merecido.

Acabei achando em um site uma informação muito interessante sobre as configurações da BIOS recomendadas para placas de vídeo da NVIDIA:

  • Assign IRQ to VGA: Enable
  • PnP O/S Installed: Enable
  • VGA Pallet Snooping: Disable
  • PCI Bursting: Disable
  • PCI Latency Timer: 128
  • Peer Concurrency: Disable
  • Video BIOS Shadowing: Disable
  • Video RAM Cacheable: Disable
  • USWC: Disable/UC
  • Pipeline Cache Write: Disable
  • PCI 2.1 Compliance: Enable (necessário apenas quando usando placa de vídeo PCI)
  • Passive Release: Enable
  • Delayed Transaction:Enable
  • VGA Boot Sequence:AGP (quando usando placa de vídeo AGP)
  • Graphics Aperture Size: 128MB (quando usando placa de vídeo AGP)
  • AGP Turbo Read Mode: Disable
  • AGP Turbo Write Mode: Disable

Windows Automatic Update complicado

Certa vez vi no YouTube um vídeo satirizando a Microsoft, mostrando como seria a caixa (minimalista) do iPod se ela fosse feita pela Microsoft e não pela Apple.

Realmente a Microsoft gosta de complicar as coisas… tanto que quando começam a instalar as atualizações baixadas pelo Windows Update ou Automatic Update do Windows tem um passo só de “Inicializando a instalação”…

Windows Automatic Update

A não ser que “iniciar a instalação” seja algo extremamente complexo, pra quê colocar essa informação lá?

Google Analytics: mecanismos de busca e sites de referência

O Google Analytics é uma excelente ferramenta de acompanhamento de site. Com ele é possível fazer várias análises simples, como tráfego, palavras chaves, páginas acessadas, visitas, dados dos visitantes (resolução da tela, sistema operacional, browser, nacionalidade, etc.), duração da visita e muito mais. Outras características interessantes são as metas, os filtros e a possibilidade de fazer análises cruzadas (ex.: visitantes brasileiros que usam o IE e acessaram a página do Lost, vindos do Google nos últimos 5 dias).

O que eu mais analiso, depois das metas de cliques nos banners do Submarino, são as palavras chaves procuradas em mecanismos de pesquisa que levaram ao meu blog e os sites de referência (sites que linkam para mim), para poder entender meus visitantes.

Quando fiz o post sobre regularização de CPF no dia 13 de Agosto, vi que o número de visitas vindos de buscadores brasileiros (UOL, Terra, IG, etc.) aumentou consideravelmente, mas o Google Analytics considerava eles como site de referência e não como site de busca, não incluindo as palavras chaves no relatório e distorcendo a lista de sites de referência. É a alta no gráfico de visitas por site de referência abaixo.

Visitas nos últimos 30 dias que vieram de sites de referência

Para resolver o problema, no dia 24 de Agosto incluí no script do Google Analytics os mecanismos de busca que não estavam sendo contabilizados como mecanismo de pesquisa, adicionando o código abaixo no script do Urchin, resolvendo meu problema.

[code lang=”JavaScript”]_uOsr[24]=”buscador.terra.com.br”; _uOkw[24]=”query”;
_uOsr[25]=”busca.uol.com.br”; _uOkw[25]=”q”;
_uOsr[26]=”images.google.com.br”; _uOkw[26]=”q”;
_uOsr[27]=”busca.igbusca.com.br”; _uOkw[27]=”q”;
_uOsr[28]=”google.com.br”; _uOkw[28]=”q”;
_uOsr[29]=”search.mywebsearch.com”; _uOkw[29]=”searchfor”;
_uOsr[30]=”katatudo.com.br”; _uOkw[30]=”q”;
_uOsr[31]=”zoom.globo.com”; _uOkw[31]=”q”;[/code]

Update: o código acima está correto conforme a explicação oficial do Google, mas não está correto. Quando eu fiz existiam 25 posições utilizadas pelo Google Analytics, mas agora já são 33. O código correto é:

[code lang=”JavaScript”]_uOsr.push(“buscador.terra.com.br”); _uOkw.push(“query”);
_uOsr.push(“busca.uol.com.br”); _uOkw.push(“q”);
_uOsr.push(“images.google.com.br”); _uOkw.push(“q”);
_uOsr.push(“busca.igbusca.com.br”); _uOkw.push(“q”);
_uOsr.push(“google.com.br”); _uOkw.push(“q”);
_uOsr.push(“search.mywebsearch.com”); _uOkw.push(“searchfor”);
_uOsr.push(“katatudo.com.br”); _uOkw.push(“q”);
_uOsr.push(“zoom.globo.com”); _uOkw.push(“q”);[/code]

Como criar uma conta no MSN

Foi só fazer um post sobre o endereço do MSN e agora tenho visitas fazendo outras perguntas (abaixo). Portanto, vou dar o passo a passo:

  1. é necessário ter e-mail. Se você não tiver recomendo os gratuitos GMail do Google, Yahoo! Mail do Yahoo! ou o Windows Live Hotmail da Microsoft (tem como criar um @msn.com mas é em inglês)
  2. Se o e-mail não for do Hotmail, você precisa criar um Windows Live ID (antigo Microsoft Passport) com o seu e-mail
  3. Baixe o Windows Live Messenger (novo MSN) ou o MSN Messenger (MSN antigo) e instale o programa que você baixou (clique aqui para ler o passo-a-passo ilustrado)
  4. Pronto, agora é só informar seu e-mail e a senha (do e-mail do Hotmail ou do Windows Live ID, se seu e-mail não for do Hotmail)
  • abrir conta no msn
  • abrir msn
  • cadastrar msn
  • cadastro msn
  • conta msn
  • cria msn
  • criar conta gratuita msn
  • criar conta msn
  • criar msn
  • criar um msn hotmail
  • criar um novo msn
  • criar uma conta no msn hotmail
  • criar uma nova conta no msn
  • entrar no msn
  • faser msn
  • fazer um msn
  • fazer um novo msn
  • fazer uma conta no msn
  • instalar msn
  • msn gratis
  • nova conta no msn
  • novo msn

O que Os Simpsons nos ensinou

Uma vez (em 2003) li numa notícia no Slashdot a seguinte pergunta:

And does it make sense to buy a book about a GPLed piece of software?

Gostei de duas respostas:

  • Of course not, god knows that reading a man page or a how-to is much easier than an illustrated bound guide. – SuperDuG
  • This makes about as much sense as asking if you should buy “Moby Dick” or a Bible since they’re in public domain.  – L. VeGas

Um cara perguntou se valia a pena pagar por um livro sobre um software gratuito. Um respondeu que não, que é muito mais fácil ler o help do programa ou how-tos (como fazer) que ler um guia ricamente ilustrado, enquanto o outro disse que é o mesmo pensamento em perguntar se vale a pena comprar o livro Moby Dick ou a Bíblia, que são de domínio público.

Hoje em dia eu diria: você pagaria para assistir o filme “Os Simpsons”, cujo seriado passa gratuitamente na TV?

Cobol, Dercy Gonçalves e Oscar Niemeyer

Oscar NiemeyerSaiu hoje uma matéria na ComputerWorld entitulada “Mercado brasileiro sofrerá com falta de desenvolvedores Cobol” com alguns pontos interessantes:

  • Estima-se que cerca de 60 a 70% dos negócios no mundo todo ainda rode com base em programas desenvolvidos em Cobol.
  • …em evento promovido pela TCS na semana passada, um dos desafios encontrados pela empresa foi a falta de mão-de-obra especializada em Cobol.
  • O objetivo da empresa [Micro Focus] é terminar o ano de 2008 com 15 universidades ensinando Cobol a seus alunos, sendo que 10 das quais serão no Brasil.

Nessa matéria tinha um link de “Leia mais” para a matéria “As 10 habilidades em TI que estão mortas (ou quase)” e qual era a número 1?

1. Cobol – O bug do milênio foi a segunda fase de ouro para programadores Cobol, que já estavam começando a ter dificuldade em encontrar trabalho. Mas seis anos e meio depois, não há muitas perspectivas para o crescimento de tal linguagem. Por outro lado, enquanto universidades norte-americanas cortam de seus currículos a disciplina, muitos profissionais garantem que ainda há várias corporações rodando aplicativos críticos em Cobol. E, para elas, será preciso profissionais com esta habilidade.

Cobol, Dercy Gonçalves e Oscar Niemeyer são imortais! Se não morreram ainda, não morrem mais…

Medição de tempo de carga de páginas na Intranet

Quando se tem 5 servidores de produção rodando um mesmo site corportativo, tanto para Internet quanto para Intranet, é interessante medir o tempo de carregar cada página (page load time) desde sua requisição, para cada servidor, direto da estação do cliente na Intranet.

Na die.net tem um ótimo artigo onde ele compara tempos de carga de páginas Ajax com referência a vários objetos, em diferentes browsers e com diferentes configurações. Nele ele sugere um script que vai gravar no log do servidor (IIS ou Apache) o tempo de carga (no cliente) de cada página:

[code lang=”HTML”]








[/code]

O log seria mais ou menos assim:

10.1.2.3 – – [22/Aug/2007:12:42:45 -0300] “GET /timer.gif?u=http://exemplo.com.br/pagina.html&t=0.971 HTTP/1.1” 200 49 …

Ou seja, a página http://exemplo.com.br/pagina.html demorou 0.971 segundos para ser carregada.

No entanto, essa solução não leva em consideração o tempo gasto desde a requisição e processamento pelo servidor até que o browser do cliente receba a resposta para renderizar a página. Mesmo assim, utilizar essa solução em ambiente de produção é complicado por inúmeros motivos.

Achei então o IBM Page Detailer, que segundo o próprio site é uma “ferramenta gráfica que permite fornecedores de conteúdo web medirem rapidamente e confiavelmente a performance de páginas web no lado do cliente”.

Perfeito! Então é só baixar, instalar na máquina de um cliente, acessar os 5 servidores alternadamente e analisar o resultado! Infelizmente não tem como exportar/salvar o resultado da análise…

Update: também tem o Wireshark!
Update 2: o Internet Explorer Developer Toolbar mostra bastante coisa, mas não o tempo de carga…
Update 3: ainda da Microsoft, eles recomendam 3 ferramentas de debug de script. Com calma vou ver se alguma é tão boa quanto o Venkman.

Plugin Post Notification não envia e-mail

Configurar o e-mail aqui no WordPress tá mais complicado que eu imaginava… o Comment Email Responder está funcionando mas o Post Notification não… mesmo eu tendo instalado o Swift SMTP!

O primeiro plugin tem uma opção para enviar utilizar um “Formato Alternativo”, pois “The standard format for sender is “Name <email>”, which works fine most of the time. It can cause some problems in Windows hosting, so if you get an error when emailing a comment untick this box to use an alternative format” e com essa opção marcada ele não envia e-mails… e meu host é Windows. Pimba, taí a solução, o servidor só aceita From: [email protected], não aceita From: “Meu Nome” <[email protected]>.

Portanto existem três soluções:

  1. alterar o plugin Swift SMTP para verificar se o host é Windows e se for fazer um parser do header do e-mail para deixar apenas o e-mail (melhor solução, funciona para todos os plugins)
  2. alterar o plugin Post Notification para incluir uma opção de “Formato Alternativo”, como no plugin Comment Email Responder (melhor solução, corrige apenas o plugin Post Notification)
  3. alterar o código do plugin Post Notification para enviar apenas o e-mail (solução mais rápida, corrige apenas o plugin Post Notification)

Como tenho aula às 8:30, fiz a solução mais rápido. Basta ir em “Plugins” -> “Editor de Plugins” -> “Post Notification” e trocar a linha abaixo:

[code lang=”php”]$header .= “From: \”$from_name\” <$from_email>$hdr_nl”;[/code]

por

[code lang=”php”]$header .= “From: $from_email$hdr_nl”;[/code]

iTheme pt-br

iTheme em portuguêsEu sempre disse que o visual de sites na Internet chega a ser mais importante que seu conteúdo. Com meu blog então não poderia ser diferente, mas infelizmente eu sou uma lástima com design…

Foi então que eu encontrei no BlogAjuda o iTheme. Não é da Apple mas como qualquer produto dela é clean e bonito, só que diferentemente dos produtos do visionário Steve Jobs, é gratuito.

Como sou brazuca, traduzi o tema e também o disponibilizo aqui, com a mesma licença.

Ao fazer o download e utilizar este tema, você concorda com os seguintes termos:

  • Você NÃO pode revender este tema
  • Um link de volta para N.Design Studio deve ficar no rodapé (modificado ou não)
  • Você pode utilizar este tema para projetos pessoais ou comerciais
  • Você pode modificar, traduzir ou distribuir este tema

Download:

iTheme 1.1 traduzido para o português, versão 1.1

Change Log:

1.1 – Tooltips das caixas flutuantes em português
1.0 – Versão inicial

Boot por pendrive Windows & Linux

Sou um cara facilmente impressionável, um nerd que gosta do âmago da tecnologia, mas não tem saco de pentear bits.

Um outro cara, muito macho, colocou duas partições em um pen drive, uma bootavel com Linux e outra de dados visível no Windows. Não bastasse, compartilhou em 10 minutos de instruções o que fez em 3 dias quebrando a cabeça. Vale a visita.