Formate um documento do Google Docs nas normas

Enviado em 21/02/2010

Logo do Google DocsMuitas pessoas ainda torcem o nariz para o Google Docs e preferem continuar usando o Microsoft Word. É claro que o Word tem centenas de funções que o Google Docs não tem. Mas quem usa todas elas?

Estou usando o Google Docs para criar o meu TCC sobre o OpenSocial. Entre os motivos que me levaram a usar estão:

  • Posso acessar o meu TCC de qualquer lugar, precisando apenas de uma conexão com a internet. Está sem internet? Com o Google Docs offline posso continuar editando o documento, e quando a conexão com a internet voltar, ele sincroniza automaticamente com a versão online.
  • Compartilhei o meu TCC com o meu orientador, assim ele pode ver o andamento do trabalho e até mesmo editá-lo.
  • O Google Docs armazena revisões dos documentos, ou seja, a cada modificação uma revisão é criada. Com isso posso ver, por exemplo, como estava o meu TCC a duas semanas atrás, quais alterações foram feitas e por quem.
  • Sei que o meu TCC estará protegido na nuvem do Google. Mas é claro, sempre é bom fazer um backup frequente do documento para o seu PC ou outro local.

O Google Docs apresenta algumas complicações a mais para os mais leigos:

  • As páginas não têm largura fixa, diferente de um documento do Word, por exemplo. Para resolver isso é fácil: vá no menu "Visualizar" e clique em "Página com largura fixa". Com isso você terá uma visão semelhante a um documento do Word. E essa configuração será lembrada toda vez que você abrir o documento.
  • Não existem separações de páginas, tudo é apresentado em um texto único. No entanto, você pode inserir quebras de páginas, que serão usadas na impressão ou quando você exportar o documento. Para isso, posicione o cursor do mouse no lugar onde deseja inserir a quebra de página, clique no menu "Inserir" e clique em "Quebra de página (para impressão)".
  • Só é possível inserir numeração de páginas na versão de impressão do documento.

Formatação

O que aumenta a resistência das pessoas ao Google Docs é a questão da formatação do documento, pois um trabalho acadêmico deve seguir as normas da instituição de ensino, que geralmente são baseadas nas normas da ABNT. No Word é fácil formatar margens, parágrafos, fontes, espaçamentos etc. Para fazer isso no Google Docs, é necessário um conhecimento um pouco mais avançado.

Para formatar um documento do Google Docs de acordo com as normas da UTFPR, criei algumas declarações CSS para serem aplicadas a um documento. Para isso, vá no menu "Editar" e clique em "Editar CSS". Então copie e cole lá o trecho abaixo:

*, html, body {
  margin: 0;
  padding: 0;
}
html {
  color: #000;
  padding: 3cm 2cm 2cm 3cm;
}
body {
  font-family: Arial;
  font-size: 12pt;
}
h1, h2, h3, h4, h5, h6 {
  font-family: Arial;
  font-style: normal;
  margin: 3pt 0 3pt 0;
}
h1 {
  font-size: 14pt;
}
h2, h3, h4, h5, h6 {
  font-size: 12pt;
  font-weight: normal;
}
p {
  margin: 0;
  text-indent: 1.5cm;
}
ul {
  margin-left: 1.5cm;
}
p, ul {
  font-family: Arial;
  font-size: 12pt;
  line-height: 150%;
  text-align: justify;
}
blockquote {
  border: none;
  font-size: 10pt;
  line-height: 100%;
  margin-left: 4cm;
  text-align: justify;
}
#WritelyTableOfContents { /* Formata o sumario gerado pelo Google Docs - Menu Inserir -> Sumario */
  background: none;
  border: none;
  font-family: Arial;
  font-size: 12pt;
}
#WritelyTableOfContents a {
  color: #000;
  line-height: 100%;
  text-decoration: none;
}
#WritelyTableOfContents ol {
  margin-left: 25px;
  padding-left: 0;
}

As seguintes declarações CSS formatam o documento da seguinte maneira:

  • Margens esquerda e superior com 3 cm e margens direita e inferior com 2 cm
  • Fonte Arial com tamanho 12
  • Títulos primários com tamanho 14
  • Cor do texto em preto
  • Parágrafos com alinhamento justificado, recuo de primeira linha de 1,5 cm
  • Citações com fonte tamanho 10, espaçamento simples e margem esquerda de 4 cm

Atenção: em nenhum momento você irá apenas exportar o documento no formato Word, ODT ou PDF e ele estará pronto. Você irá utilizar o Google Docs apenas para a elaboração do texto. Os estilos passados acima ajudam a manter algumas formatações na hora que você exportar o documento, facilitanto o seu trabalho.

Após exportar o documento final, algumas formatações deverão ser feitas:

  • Crie a capa e a folha de rosto.
  • Ajuste as margens se necessário.
  • Insira a numeração das páginas de acordo com as normas.
  • Insira a numeração nos títulos e subtítulos.
  • Gere o sumário automático.

Logo do Microsoft WordA Microsoft já conta também com o Microsoft Office Live Workspace, um serviço semelhante ao Google Docs.

Veja abaixo uma comparação entre o mesmo documento no Google Docs e no Microsoft Word:

Google Docs x Microsoft Word

Bookmarklet para pegar um texto selecionado

Enviado em 25/12/2009

Usuário de computadorO que é um bookmarklet?

É um pequeno programa em JavaScript que é armazenado como uma URL nos favoritos do navegador. Entre os usos de um bookmarklet (também chamado de favlet ou favelet) estão:

  • modificar a aparência de uma página;
  • extrair dados de uma página;
  • submeter um página para um serviço de validação ou tradução ou qualquer outro serviço;
  • submeter um texto selecionado em uma página para um serviço de busca ou para qualquer outro serviço.

Para você criar um bookmarklet você deve criar um favorito e colocar um trecho de código JavaScript no lugar do endereço (URL) do favorito. Ou, como é mais usado, arrastar um link que tenha o trecho do código para os favoritos do navegador. Estando o bookmarklet criado, é só você clicar no favorito que foi criado para executar o código, assim como você clica em qualquer outro favorito.

Exemplos

O Google disponibiliza vários bookmarks em seus serviços (para usá-los arraste o link para os seus favoritos):

Vou usar o exemplo do bookmarklet de tradução do Google para criar um bookmarklet que faça uma busca neste blog com o texto selecionado em uma página.

O código JavaScript do bookmarklet que faz a tradução usando o serviço do Google é o seguinte:

var t = ((window.getSelection && window.getSelection()) || (document.getSelection && document.getSelection()) || (document.selection && document.selection.createRange && document.selection.createRange().text));
var e = (document.charset || document.characterSet);
if (t != '') {
location.href = 'http://translate.google.com.br/translate_t?text=' + t + '&hl=pt-BR&langpair=auto|pt&tbb=1&ie=' + e;
} else {
location.href = 'http://translate.google.com.br/translate?u=' + escape(location.href) + '&hl=pt-BR&langpair=auto|pt&tbb=1&ie=' + e;
};

Em primeiro lugar, o programa tenta pegar o texto que está selecionado e armazená-lo na variável t:

var t = ((window.getSelection && window.getSelection()) || (document.getSelection && document.getSelection()) || (document.selection && document.selection.createRange && document.selection.createRange().text));

Em seguida, ele armazena o encoding de caracteres da página na variável e:

var e = (document.charset || document.characterSet);

E por último ele faz uma verificação: se algum texto foi selecionado, o valor das variáveis t e e são passados com parâmetros na URL de tradução que será carregada. Se nenhum texto foi selecionado, a URL da página atual (location.href) será passada como parâmetro:

if (t != '') {
location.href = 'http://translate.google.com.br/translate_t?text=' + t + '&hl=pt-BR&langpair=auto|pt&tbb=1&ie=' + e;
} else {
location.href = 'http://translate.google.com.br/translate?u=' + escape(location.href) + '&hl=pt-BR&langpair=auto|pt&tbb=1&ie=' + e;
};

As URLs do serviço de tradução do Google são:

  • http://translate.google.com.br/translate_t: para traduzir textos
  • http://translate.google.com.br/translate: para traduzir páginas inteiras
E os parâmetros que devem ser passados são:
  • text: o texto a ser traduzido;
  • u: a URL a ser traduzida;
  • hl: o idioma da interface (host language);
  • langpair: o par de linguagens que será usado para a tradução. No exemplo é usado auto|pt, ou seja detecta o idioma de origem automaticamente e traduz para o português;
  • ie: encoding da página.

Vamos criar agora o bookmarklet que fará a busca em nosso blog por qualquer texto selecionado. Ele será idêntico ao exemplo mostrado acima, a única diferença é que a URL para o qual será passado o parâmetro (o texto selecionado) será:

http://cleber.net.br/search/node/[parametro]

E no caso de nenhum texto estar selecionado, será exibido uma caixa de diálogo pedindo algum texto:

var t = ((window.getSelection && window.getSelection()) || (document.getSelection && document.getSelection()) || (document.selection && document.selection.createRange && document.selection.createRange().text));
if (t != '') {
location.href = 'http://cleber.net.br/search/node/' + t;
} else {
t = prompt('Era para você selecionar um texto errr! Agora digite um abaixo:', '');
if (t && t != '') {
location.href = 'http://cleber.net.br/search/node/' + t;
} else {
alert('Desisto!');
}
};

Para utilizar este bookmarklet, arraste o botão abaixo para a sua barra de favoritos. Depois em qualquer página que você estiver é só clicar nele.

Buscar em cleber.net.br

Abaixo alguns links com diretórios de bookmarklets:

Dissecando o Gmail

Enviado em 16/02/2010

Gmail DeliveryO webmail do Google, o Gmail (Google Mail na Alemanha e Reino Unido), que faz aniversário no dia 1º de abril (sério), deixou te ter o status beta no dia 7 de julho do ano passado (2009). É reconhecido pelo seu pioneirismo no uso da técnica Ajax, e é referência também quanto a usabilidade, performance e interação com o usuário. Por isso, nada melhor do que estudá-lo e usá-lo como inspiração.

Especificações Técnicas

A interface do Gmail é construída sob a plataforma Google Web Toolkit (GWT) e tudo isso roda no Google Servlet Engine (GSE) e Google GFE/2.0 (Google Front-End), que por sua vez rodam em Linux. O Google Servlet Engine - nome oficial: Open Google Servlet Engine (OpenGSE) - foi desenvolvido por um time de engenheiros do Google e é usado em muitos produtos do Google - internamente e publicamente.

O Google Web Server (GWS) é o nome do servidor web que o Google utiliza para a sua infraestrutura. Especula-se que se trata de uma compilação do Apache Web Server com mudanças nos cabeçalhos.

Carregando...

A cada vez que uma sessão do Gmail é iniciada, uma página contendo um documento vazio é carregada. O único elemento visível é a mensagem com o status do carregamento da página (div id="loading"), além da mensagem que é exibida caso o carregamento estiver demorando muito. O tamanho aproximado desta página é de 7 KB.

E se o usuário tenta carregar a página do Gmail de um navegador que não tenha suporte a JavaScript? Para isto existe a tag do HTML chamada noscript. O que estiver escrito dentro desta tag será exibido no navegador caso o JavaScript não estiver presente ou estiver desabilitado. No caso do Gmail, será exibida a mensagem:

O JavaScript tem que ser ativado para que você possa usar o Gmail no modo de exibição padrão. Porém, aparentemente, o JavaScript está desativado ou é incompatível com o seu navegador. Para usar o modo de exibição padrão, ative o JavaScript alterando as opções do navegador e tente novamente.

Para usar o modo de exibição em HTML básico do Gmail, que não requer JavaScript, clique aqui

Se quiser visualizar o Gmail em um celular ou dispositivo semelhante, clique aqui.

Essa mensagem que se encontra dentro da tag noscript está inserida no cabeçalho (head) da página do Gmail! Não deveria estar no corpo (body)? Tentei acessar o Gmail em português usando o Firefox 3.6 e com o JavaScript desabilitado mas a mensagem não apareceu, apenas mostra a tela do "carregando".

Esta página HTML inicial é responsável por carregar as toneladas de JavaScript que serão usadas na sessão. A partir daí, qualquer interação com o servidor é feita com o bom e velho Ajax.

Cabeçalho

Na figura abaixo você vê uma imagem mostrando o cabeçalho (head) da página do Gmail.

Cabeçalho do Gmail

A página usa o charset (codificação de caracteres) UTF-8. Isso permite que uma infinidade de caracteres possam ser representados, como os do alfabeto árabe, chinês, japonês etc. É muito comum vermos sites utilizando o ISO-8859-1 (Latin1). Com essa codificação é possível usar apenas caracteres do alfabeto latino. Funciona perfeitamente para nós latinos. Mas vivemos em um mundo globalizado, e não podemos limitar um site ou um sistema web a uma região apenas.

A única vantagem do ISO-8859-1 sobre o UTF-8 é a questão dos acentos, pois para o UTF-8 a palavra acentuação é diferente de acentuacao. Já para o ISO-8859-1 elas são equivalentes, e isso facilita em pesquisas e ordenações. Mas isso pode ser contornado. Por tanto, utilize UTF-8 nos seus sites e sistemas. O Google é esperto e usa.

Logo do Gmail

No cabeçalho do Gmail também notamos alguns códigos JavaScript inline. Esse tipo de código torna o carregamento da página mais rápido, já que não é necessária uma requisição HTTP para o carregamento de um arquivo JavaScript externo. No entanto, o código fica mais feio e dificulta a manutenção. Esses JavaScripts inline vistos acima fazem três operações:

  • Define o horário do carregamento da aplicação em uma variável global: var startTime=(new Date).getTime();
  • Define, na variável global BrowserSupport_, se o navegador é suportado;
  • Faz verificação dos cookies.

É óbvio que todo o código JavaScript do Gmail não é apenas aquilo ali em cima. As milhares de linhas de JavaScript que dão vida ao Gmail encontram-se em outro lugar.

Finalmente no cabeçalho da página principal também encontramos códigos CSS inline. Se analisarmos bem, veremos que algumas declarações CSS se repetem. Essas declarações CSS não têm muito valor, pois elas servem apenas para a página inicialmente carregada, que como foi dito no início deste post, possui poucos elementos. Na verdade tudo o que vemos quando carregamos o Gmail está em um... iframe, que é um recurso do HTML que permite inserir uma página HTML dentro de outra.

Os Iframes do Gmail

O coração do Gmail é composto por 4 iframes:

  • js_frame: contém a maioria do código JavaScript da aplicação.
  • hist_frame: responsável por manter o histórico da navegação, isto é, permitir o uso dos botões Voltar e Avançar do navegador.
  • sound_frame: possui um objeto flash reponsável por emitir os sons do bate-papo.
  • canvas_frame: é o único iframe que é visível pelo usuário. É nele que fica tudo o que se vê na tela.

Na figura abaixo podem ser observados os 4 elementos iframe do Gmail no corpo da página:

Iframes do Gmail

Para cada operação feita no Gmail (pesquisa, paginação etc), o atributo src do iframe é modificado. Esse atributo indica a página carregada no iframe. A modificação desse valor faz com que um novo código seja carregado no iframe. Esse novo código então é responsável por atualizar a interface do usuário. Todas as requisições HTTP que acontecem entre a ação do usuário e a atualização da tela são feitas de forma que a latência seja a menor possível.

Na figura acima também pode ser vista a div "loading", responsável pela primeira tela que é vista quando o Gmail está sendo carregado. O restante do código-fonte do Gmail é composto por intermináveis elementos com IDs e classes CSS de nomes muito estranhos (vY, nH, diLZtc, dJ, pi e coisas assim), muitas tabelas (já ouviu falar de tableless?) e por aí vai. Claro que quem gera tudo isso automaticamente é o Google Web Toolkit. Dê uma olhada na beleza do código-fonte gerado:

Código-fonte do Gmail

Bonito não? Mas o que importa é a saúde, ou seja, se funciona bem, o que no caso do Gmail é verdadeiro.

O Gmail utiliza diversas outras técnicas para otimizar o desempenho, como fazer o "minify" do JavaScript e do CSS, ou seja, remover espaços em branco, diminuir nomes de variáveis, juntar aquivos etc. E também utiliza-se das melhores práticas do Yahoo e do próprio Google para deixar a aplicação mais rápida.

Para saber mais sobre o funcionamento do Gmail "por baixo dos panos", há um excelente artigo sobre isso no wiki da Universidade de Stanford.

Exibir o favicon de qualquer site

Enviado em 25/11/2009

FaviconsQualquer site que se preze possui um favicon, abreviação do inglês favorites icon, ou ícone dos favoritos, que nada mais é do que uma imagem (ou ícone) associada a um site. Criar um favicon é fácil. Por isso é interessante colocar o favicon de um site junto com o seu link. Muitos serviços já fazem isso, como o Google Profile, que exibe os favicons dos links associados ao perfil.

Métodos para inserir um favicon

O significado original da definição de um favicon surgiu com o Internet Explorer 4 e consistia em colocar um arquivo chamado favicon.ico no diretório raíz do servidor web. Assim, automaticamente o navegador pegaria esse ícone e usaria na exibição dos favoritos. Os navegadores atuais suportam qualquer outro formato de imagem além do formato ICO do Windows.

Como não existe um método padrão para incluir uma imagem em uma página como um favicon, muitos programadores utilizam mais de um método ao mesmo tempo. São basicamente três maneiras:

  • Usar a meta tag <link rel="icon" type="image/png" href="http://exemplo.com.br/icone.png"> no cabeçalho da página. Esse é o método recomendado pela W3C.
  • Usar a meta tag <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" /> no cabeçalho da página. Esse é o método mais usado e é reconhecido pela maioria dos navegadores.
  • Colocar o favicon como um arquivo chamado favicon.ico no diretório raíz da página. Todos os navegadores suportam esse método por razões de compatibilidade, mas é o menos flexível.

Jeito Google de ser

Por falta de um padrão, não existe uma forma fácil de se exibir o favicon de qualquer site. O falecido serviço Google Shared Stuff (S2) não existe mais, mas deixou uma herança: uma URL que permite recuperar o favicon dos sites. A URL retorna uma imagem no formato PNG com tamanho 16x16 e que pode ser exibida via HTML usando a tag img, no seguinte formato:

http://www.google.com/s2/favicons?domain=[url]

Onde [url] deve ser substituído pela URL do site do qual se deseja pegar o favicon. Por exemplo, veja o seguinte código HTML:

<img src="http://www.google.com/s2/favicons?domain=g1.com.br" height="16" width="16" />

O resultado visto no navegador será a seguinte imagem: Favicon

Mas existe um problema (Google fail) nessa URL do Google: ela só funciona quando o nome do arquivo for favicon.ico. Mas muitos sites utilizam outros métodos para inserir o favicon. Então, quando a URL do Google não acha o arquivo favicon.ico, ela exibe uma imagem GIF do planeta Terra. Por exemplo, o site www.md.utfpr.edu.br não possui um arquivo chamado favicon.ico na sua raíz, então a seguinte imagem será exibida: Favicon. Passando o parâmetro &alt=feed junto com a URL, será exibida a imagem padrão dos feeds RSS caso não seja encontrado o favicon. Por exemplo, a URL http://s2.googleusercontent.com/s2/favicons?domain=www.md.utfpr.edu.br&alt=feed retorna a seguinte imagem: Favicon

Apesar de não ser o melhor, muitos projetos utilizam essa URL. Você pode testar o serviço aqui, colocando a URL de um site (ex.: cleber.net.br)

 

getfavicon.org

O site getfavicon.org possui um serviço melhorado. Ele lista todos os métodos usados em um site para inserir um favicon e permite várias configurações de exibição, usando a seguinte URL:

http://www.getfavicon.org/?url=[url]/[nome].[extensao]

Onde:

  • [url]: a URL do site do site do qual se deseja pegar o favicon
  • [nome]: um nome qualquer para o arquivo
  • [extensao]: formato da imagem que será gerada. Pode ser png, gif, jpg ou ico.

A imagem gerada possui resolução padrão de 16x16. É possível definir uma resolução para a imagem, usando a URL http://www.getfavicon.org/?url=[url]/[nome].[resolucao].[extensao], onde [resolução] deve ser substituído pelo valor (no máximo 128).

Você pode testar o serviço aqui, colocando a URL de um site (ex.: cleber.net.br).

 

 

Veja alguns exemplos:

Favicon PNG: http://www.getfavicon.org/?url=cleber.net.br/favicon.png
Favicon JPG: http://www.getfavicon.org/?url=cleber.net.br/favicon.jpg
Favicon GIF 25x25: http://www.getfavicon.org/?url=cleber.net.br/favicon.25.gif
Favicon PNG 32x32: http://www.getfavicon.org/?url=cleber.net.br/favicon.32.png

Lista de favicons

Lista de favicons para do site cleber.net.br

getfavicon.appspot.com

Esse site, construído usando o Google App Engine, é o mais inteligente. Ele recupera o favicon fazendo uma busca também na tag link do cabeçalho. A URL deve ser usada no seguinte formato:

http://getfavicon.appspot.com/[url]

Onde [url] é a URL completa do site, incluindo os protocolos HTTP ou HTTPS. Por exemplo, o favicon do site www.md.utfpr.edu.br, que nos serviços anteriores não era encontrado, pode ser exibido usando a URL http://getfavicon.appspot.com/http://www.md.utfpr.edu.br.

Veja o favicon: Favicon

Você pode testar o serviço aqui, colocando a URL completa de um site (ex.: http://cleber.net.br).

 

CSS Sprite

Enviado em 30/10/2009

SpriteUma técnica muito utilizada em websites e sistemas web para diminuir o tráfego de banda e otimizar o desempenho é o CSS Sprite. A técnica consiste em juntar várias imagens em uma imagem só e utilizar os recursos do CSS para definir qual imagem será exibida. O tráfego de banda é menor por que ao invés de várias requisições para o servidor o navegador faz uma requisição apenas. Além disso, com menos requisições simultâneas, a página carrega mais rápido.

As propriedades do CSS responsáveis pela mágica são basicamente as seguintes:

  • background-image
  • background-position

Com background-image você define a imagem e com o background-position você indica qual parte da imagem deve aparecer. Vários tutoriais explicam melhor como utilizar a técnica e existem até geradores de imagem e classes CSS.

No seu site de busca, o Google utiliza uma imagem no formato PNG chamada de nav_logo.png (navegação + logo). Na verdade são várias versões da imagem. Cada nova versão da imagem é identificada com um número no final e colocada no endereço www.google.com.br/images. Confira todas as versões:

nav_logo2.png nav_logo3.png nav_logo4.png
nav_logo2.png nav_logo3.png nav_logo4.png
     
nav_logo5.png nav_logo6.png nav_logo7.png
nav_logo5.png nav_logo6.png nav_logo7.png

Um detalhe é que todas as imagens trazem o botão do Google Checkout, o serviço de compras do Google. No entanto, esse serviço não está disponível no Brasil. Levando em consideração que a imagem possui um tamanho de 5,27 KB, aproximadamente 4,45 KB são utilizados pela imagem do botão. O tempo de vida da imagem no cache do navegador (max-age) é de um ano (3153600 segundos). O Brasil tem 33 milhões de internautas e a maioria usa o Google como ferramenta de busca. Conclusão: o Google desperdiça por ano 140 GB em tráfego de banda por causa de apenas uma imagem! Para o Google, isso não é nada. Afinal, o YouTube gasta US$ 399 milhões com tráfego de banda e os seus lucros não conseguem cobrir esse valor.

Site da Casa Branca utilizando o Drupal

Enviado em 28/10/2009

Casa BrancaDurante o governo de George Bush, o site oficial da Casa Branca era gerenciado por um software proprietário. Mas a nova administração de Barak Obama queria uma alternativa mais flexível, e por isso delegou a empresa GDIT (General Dynamics Information Technology) a nova tarefa. A GDIT era a mesma empresa contratada para cuidar do site no governo anterior. Após meses de planejamento, eis que ressurge o novo site utilizando o Drupal como CMS. Visualmente o site continua o mesmo, apenas a sua estrutura que mudou. Os fóruns, blogs, comentários e outros recursos agora são gerenciados pelo Drupal.

A transição foi feita por quatro empresas, entre elas a Acquia, fundada por Dries Buytaert, o criador do Drupal. O site está rodando no sistema operacional Red Hat Linux com o servidor Apache, banco de dados MySQL e como motor de busca o Apache Solr, que é baseado na biblioteca Java Lucene.

Site da Casa Branca

GoTwitr - Site de automatização do Twitter construído com Drupal

Enviado em 23/10/2009

Acaba de ser lançado o GoTwitr, mais um site voltado ao Twitter. O mais interessante dessa vez é que ele foi criado utilizando o Drupal, o mesmo CMS que é utilizado neste blog. O site funciona como uma ferramenta para que os usuários do Twitter tenham mais facilidade em expandir e gerenciar suas comunidades no Twitter.

GoTwitr

A tecnologia do GoTwitr

O site utiliza a API Oauth do Twitter para automatizar o registro de usuários no Drupal. O protocolo Oauth permite essa automação sem que seja necessário que o usuário compartilhe sua senha com o site, o que poderia ser inseguro. É o mesmo protocolo utilizado pelos serviços do Google.

Para o site foram testados vários módulos do Drupal para o Twitter, mas acabaram usando a biblioteca PHP EpiTwitter e EpiOauth para desenvolver um módulo customizado.

SEO

Foram utilizado também outros módulos do Drupal para ajudar na otimização para as ferramentas de busca (SEO). Entre os módulos estão XML Sitemap, Global Redirect, Pathauto, Page Title e o Sitemap.

Necessidada por Velocidade

Fail whale

Como tudo relacionado ao Twitter consome muita banda, foram feitas algumas otimizações, como, por exemplo, instalar apenas as bibliotecas do Drupal que fossem absolutamente necessárias. Foi instalado também o Cache Alternativo do PHP (APC), assim o PHP poderia executar mais rápido. Em seguida foi instalado o Memcache, um sistema de cache para o PHP, e o módulo do Drupal Memcache para fazer a integração. Resultado: APC + Memcached = ~300% de aumento de velocidade.

Outras considerações

O site também faz uso da tecnologia AHAH, técnica similar ao Ajax (saiba mais) e que já vem junto ao Drupal, além de fazer proveito da API para construção de formulários.

O GoTwitr possui, além de outras ferramentas, o "Smart Follow", que permite que você veja todos os usuários que estão seguindo você mas que você não está seguindo de volta.

Fonte: drupal.org

O que se fala sobre o Brasil nos seriados estrangeiros

Enviado em 19/10/2009

Uma boa forma de se saber qual imagem os estrangeiros têm do nosso país é verificando o que é dito sobre ele nos filmes e seriados, principalmente os estadunidenses. Claro que na maioria dos casos existe uma visão estereotipada do Brasil. O caso mais recente de "destaque" do Brasil foi no espisódio Pinewood Derb, do South Park, em que por alguns segundos o presidente Lula aparece falando ao telefone. Existe também o famoso caso do episódio O Feitiço de Lisa, dos Simpsons, e do filme Turistas, de 2006 (filme tão ruim que chega a ser engraçado).

Lula no South Park
"Alô, Obama? Aqui quem fala é o companheiro Lula."

 

Fazendo uma pesquisa no site IMDb, que possui uma seção só com diálogos de filmes e seriados, é possível encontrar várias referências ao Brasil. Neste post serão mostradas as citações apenas em seriados. Em outro post será a vez dos filmes.

 

Alias (2001) {A Profecia (#1.16)}

Arvin Sloane: Com os recursos disponíveis finalmente localizamos o inimigo, que não teremos mais que nos referir como “O Homem”. Graças às fotos de vigilância obtidas no Brasil, confirmamos sua identidade. Ele é Alexander Khasinau.

Alias (2001)

Agente Marshall Flinkman: [em uma reunião, discutindo onde será a troca das armas de destruição em massa] Parece terrível!

[todo mundo fica olhando para ele]

Agente Marshall Flinkman: O quê? Brasil... Não é lá que eles têm aquelas… fitas… não biquinis… como vocês chamam?

Agente Jack Bristow: Tangas?

Andy Richter Controls the Universe (2002)

[Freddy está levando Andy e seus amigos para o Rio de Janeiro]

Keith: Acabei de falar com o piloto. Não estamos voando para o Rio. Estamos voando para o Mississippi.

Wendy: Mississippi, Brasil?

Freddy Pickering: Deve ter havido um mal-entendido. Eu vou falar com ele.

[Ele vai até a saída de emergência]

Jessica: Uh, o cockpit é assim.

Freddy Pickering: [assim que ele abre a porta] Vou dizer pra ele!

Barrados no Baile (1990) {Hazardous to Your Health (#5.18)}

Dylan McKay: [espionando Kevin e Suzanne] Sim, esses são eles. Aqui estão Kevin e Suzanne.

J. Jay Jones: Não, não. Agora eles se chamam Karl e Kitty Cavendish. Uma gracinha não? Erica ainda é Erica até onde eu posso dizer. Quero dizer, ele não tem um apelido.

Dylan McKay: Então, o que eles estão fazendo aqui?

J. Jay Jones: Oportunidades de negócios. Eles chegaram a algumas semanas de Santos, Brasil, cara. Eles têm uma companhia de importação lá em baixo, mas você pode apostar que é uma fachada para contrabando.

Dylan McKay: Drogas?

J. Jay Jones: Por que não? Da maneira que eu acho, ficou muito quente ou muito seco, e eles apenas foram a procura de pastos mais verdes.

Dylan McKay: Falando de verde, cadê meu dinheiro?

J. Jay Jones: Há 50 mil em um banco local, mas os enormes lucros estão escondidos em outro banco, com um número de conta secreta em algum lugar. Isso é o que vai nos enriquecer.

"Buffy the Vampire Slayer" (1997) {Lovers Walk (#3.8)}

[Spike fala sobre seu rompimento com Drusilla]

Spike: Ela não ia mesmo me matar. Ela apenas partiu. Ela não se importa o suficiente para cortar a minha cabeça ou colocar fogo em mim. Quero dizer, isso é pedir muito? Você sabe, algum sinal de que ela se importava? Foi essa trégua com Buffy que fez isso. Dru disse que teria sido mais fácil. E eu disse a ela que não significava nada o que eu estava pensando sobre ela o tempo todo, mas ela não se importou. Assim, chegamos ao Brasil e ela estava... ela era diferente. Eu dei-lhe tudo. Belas jóias, vestidos com belas garotas neles, mas nada a fazia feliz. E ela ia flertar. Eu peguei ela em um banco do parque saindo com um Demônio do Caos. Você já viu um Demônio do Caos? Estão todos de chifres, eles são nojentos. Ela só fez isso para me ferir. Então eu disse: "Eu não estou aguentando mais isso." E ela disse: "Ótimo." E eu disse: "Sim, eu tenho uma não-vida, você sabe." E então ela disse... Ela disse que ainda podemos ser amigos. Deus, eu sou tão infeliz.

Willow: Lá, lá.

Spike: Quero dizer, "Amigos." Como ela pode ser tão cruel?

Corner Gas (2004)

Brent LeRoy: O que vocês estão assistindo rapazes?

Hank Yarbo: Futebol, quer se juntar? Eu tenho um bom pressentimento sobre o Brasil.

Brent LeRoy: Não, eu não sei nada sobre futebol.

Hank Yarbo: É um esporte complexo. Levei bastante tempo antes de compreender as regras do jogo.

[tiros]

Hank Yarbo: Hey o que você está fazendo? Você não pode pegar a bola e correr com ela seu imbecil!

Paul Kinistino: Uh... isso é rugby.

Dançando com as Estrelas (2005/I) {Round 7 (#5.14)}

Len Goodman: [para Hélio Castroneves e Julianne Hough, que acabaram de dançar samba] Só por que você veio do Brasil não quer dizer necessariamente que você é bom no sama, da mesma maneira que você vir do Texas não significa que você será um bom presidente...

Daria (1997) {This Year's Model (#1.6)}

Quinn: Você tem que me deixar fazer isso, vocês sempre dizem que eu posso ser qualquer coisa que eu quiser!

Helen: Sim. Nós dizemos isso.

Daria: Isso me lembra: Posso tornar-se rainha do Brasil?

Frisky Dingo (2006) {Meet Awesome-X (#1.2)}

Xander Crews: Olha, eu não me importo que tipo de coisa "Meninos do Brasil" você fez lá dentro, mas eu ainda sou o chefe aqui. E nós estamos fazendo bonecos Awesome X e eles vão te dar um pé na bunda tão grande que provavelmente você vai ficar cego.

Dr. House (2004) {O Que for Preciso (#4.6)}

Dr. Gregory House: Seu idiota.

Dr. Samira Terzi: Quem você está chamando de idiota?

Dr. Gregory House: Quem sabia que John estava de passagem no Brasil, não na Bolívia.

Dr. Samira Terzi: Brasil?

Dr. Gregory House: [House se vira e encara o Agente Smith] Bem, então, eu acho, estou falando com você, idiota.

CIA Agent Smith: É a mesma região. É o mesmo parasita, as mesmas doenças.

Dr. Gregory House: Mas não a mesma língua. Na bolívia, castanha são castanhas. No Brasil, por outro lado, tem as castanhas-do-pará, literalmente, "Castanhas do Pará." Porque seria estúpido para as pessoas do Brasil chamá-las de Castanhas do Brasil.

CIA Agent Smith: Então ele comeu castanhas do Brasil. Grande coisa.

Dr. Gregory House: Não, ele comeu um monte de castanhas do Brasil, o que é uma grande coisa, por que elas contém selenium. Que, em altas doses, causa fadiga, vômito, irritação da pele, descamação das unhas e perda de cabelo. Isso soa familiar?

Just Shoot Me! (1997) {Guess Who's Coming to Blush (#7.1)}

Maya Gallo: Você pode pegar o Equal [adoçante].

Jack Gallo: Maya, eu posso pegar o Equal, posso ter o mel e o melado, eu posso ir para o Brasil, pegar um facão e cortar um talo de cana pura, mas tudo que eu quero é o Sweet and Low [adoçante]! Mas, aparentemente, o que eu quero é irrelevante!

[vai para o seu escritório]

Elliot DiMauro: O que ele tem?

Nina Van Horn: Leia as entrelinhas! O homem realmente gosta do Sweet and Low!

Reba (2001)

Reba: Hey, Jake. O que você está assistindo?

Jake Hart: O Weather Channel. Mais chuva no Brasil.

Spaced (1999) {Beginnings (#1.1)}

Daisy Steiner: Você tem uma alergia potencialmente fatal a castanhas do Brasil...

Tim Bisley: Sim. Eu não tenho lembranças do Natal de 1979. Se interessa, eu não tenho lembranças do Natal de 1994 também.

Daisy Steiner: Oh, por que não?

Tim Bisley: Eu não sei.

The Monkees (1966) {The Spy Who Came in from the Cool (#1.5)}

Boris: Madame, depois que entregarmos o microfilme, poderemos ir embora juntos como você prometeu?

Madame Olinsky: Sim, Boris, nós vamos para o Brasil.

Boris: Achei que você tinha dito Argentina?

Madame Olinsky: Tudo bem, Argentina.

Boris: Brasil é legal!

Os Pinguins de Madagascar (2008) {Eclipsado (#1.18)}

Kowalski: Skipper, eu acho que eu tenho o que você está procurando.

Skipper: Bilhante, Kowalski! Então quando é o próximo grande eclipse?

Kowalski: A partir de hoje, 27 anos, no Brasil.

Private: Ooh, eu sempre quis ir no Carnaval.

Os Simpsons (1989) {O Feitiço de Lisa (#13.15)}

Homer Simpson: Você não sabia que os meninos do Brasil são pequenos Hitlers? Eu vi isso em um filme cujo nome eu não me lembro.

Os Simpsons (1989) {Grift of the Magi (#11.9)}

Kent Brockman: [do canal de TV] Nossa manchete é que o buraco na camada de ozônio que devastou o Brasil no último verão aparentemente atingirá Springfield no inverno.

Bart Simpson: Wooh! Springfield detona!

Kent Brockman: [do canal de TV] Os habitantes estão sendo aconselhados a se recolher ao menos que você use óculos escuros ou seja muito, muito cabeludo. Experts recomendam classe nove, ou nível Robin Williams de cobertura de cabelo.

Carmen Sandiego (1991)

The Chief: Aqui está uma lista dos lugares aonde Carmem pode ter viajado: Quito, Equador... Lima, Peru... Bogotá, Colômbia... Santiago, Chile... Caracas, Venezuela... La Paz, Bolívia... Buenos Aires, Argentina... Georgetown, Guiana... Brasília, Brasil... Assunción, Paraguai... Paramaribo, Suriname... Montevideo, Uruguai... Cayenne, Guiana Francesa. Greg... Vamos para o mapa!

 

Fonte: IMDb

©2010 - Privacidade

Divulgar conteúdo