Arquivo da tag: Software Livre

Como copiar textos da Folha e outros sites que não deixam

Alguns sites começaram a abusar de um recurso super interessante do JavaScript para acabar com uma das características mais importantes da Internet: a capacidade de copiar/colar.

O tratamento dos clipboard events (oncut, oncopy e onpaste) deveria servir para permitir que os programadores façam coisas legais quando você copia/cola um texto (por exemplo, um processador de textos online pode inserir/remover formatação), mas tenho visto cada vez mais ele ser usado para adicionar uma mensagem de copyright no final de um texto copiado, impedir usuários leigos de copiarem textos na web e evitar que se cole coisas que você copiou em formulários.

O que mais me incomoda (e que me levou a escrever esta postagem) é que, hoje, quem copia um trecho de uma reportagem da Folha (para guardar, compartilhar numa rede social ou o que quer que seja) acaba colando:

Para compartilhar esse conteúdo, por favor utilize o link http://www1.folha.uol.com.br/fsp/bla-bla-bla ou as ferramentas oferecidas na página. Textos, fotos, artes e vídeos da Folha estão protegidos pela legislação brasileira sobre direito autoral. Não reproduza o conteúdo do jornal em qualquer meio de comunicação, eletrônico ou impresso, sem autorização da Folhapress (pesquisa@folhapress.com.br). As regras têm como objetivo proteger o investimento que a Folha faz na qualidade de seu jornalismo. Se precisa copiar trecho de texto da Folha para uso privado, por favor logue-se como assinante ou cadastrado.

Não é incrível (e sintomático) que o grupo que gerencia o portal mais importante da Internet no Brasil (UOL) tenha uma concepção tão atrasada da rede? Ok, não dá nem pra dizer que isso nos surpreende depois da censura da Falha e do paywall.

Sem mais delongas: isso merece ser hackeado. Neste post, proponho algumas soluções simples para você poder voltar a copiar e colar no seu navegador como sempre fez. Minha preferida, como sempre, é a última.

Solução trivial para quem usa Linux

Antes de sugerir soluções de verdade, convém observar que quem usa Linux (X11) pode copiar selecionando um texto (sem apertar Ctrl+C ou qualquer outra combinação esdrúxula de teclas) e colar apertando o botão do meio do mouse. Quando se copia/cola dessa forma, o navegador não emite os temidos eventos oncopy/onpaste (ou seja, tudo funciona normalmente).

Rodolfo Mohr também observou que você pode copiar um texto selecionando-o, clicando com a tecla direita na seleção e em “Pesquisar no Google”. Uma aba vai abrir com a pesquisa no Google e você pode copiar o texto lá. É um hack válido, embora incômodo.

Somente Firefox: usando about:config

Se você usa Firefox, pode desabilitar os clipboard events digitando, na barra de endereços, em about:config. Talvez ele diga que é perigoso e peça para você clicar num botão dizendo que sabe o que está fazendo. Pode confiar. Em seguida, procure a chave dom.event.clipboardevents.enabled e clique duas vezes nela para mudar seu valor para false. Reiniciando o navegador, o recurso copiar/colar estará funcionando normalmente (ou talvez nem precise reiniciá-lo).

Extensões (para Firefox, Chrome e Opera)

Não tem o que explicar. Simplesmente clique no nome do seu navegador e instale: Firefox, Chrome, Opera.

Editado em 01/04/2014, 22:30: A extensão que eu havia colocado para Chrome só desabilita o tratamento de eventos onpaste em formulários. Se você conhecer alguma extensão similar a do Firefox ou a do Opera, me avise pelos comentários.

Desabilitando sob demanda via JavaScript

É muito importante ter em mente que aplicações web como processadores de texto podem usar os eventos oncut/oncopy/onpaste para coisas úteis. Por isso, é desejável desabilitar esses eventos somente em sites específicos.

Não encontrei nenhuma extensão que faça isso, mas um código simples em JavaScript para recuperar o comportamento padrão dos eventos em um determinado site (testei no Firefox e no Chrome) é:

all = document.querySelectorAll("*");
fn = function(e) {
    e.stopPropagation();
    return true;
}
for (var i = 0; i < all.length; i++) {
    all[i].oncut = fn;
    all[i].oncopy = fn;
    all[i].onpaste = fn;
}

Se digitarmos isso no console (Shift+Ctrl+J), as funções copiar/colar devem voltar a funcionar.

Userscript

A solução anterior nos permite criar um userscript para desabilitar o tratamento dos eventos apenas no site da Folha:

// ==UserScript==
// @name Permite copiar textos da Folha
// @include http://*.folha.uol.com.br/*
// ==/UserScript==
 
window.onload = function() {
    all = document.querySelectorAll("*");
    fn = function(e) {
        e.stopPropagation();
        return true;
    }
    for (var i = 0; i < all.length; i++) {
        all[i].oncut = fn;
        all[i].oncopy = fn;
        all[i].onpaste = fn;
    }
}

Portanto, se você quiser copiar do site da Folha sem preocupações (e sem desabilitar os eventos em outros sites), pode instalar as extensões GreaseMonkey (Firefox) ou TamperMonkey (Chrome), e então esse userscript clicando neste link: falha.user.js.

Bookmarlet

Acho o método acima (do userscript) o melhor para copiar da Folha. No entanto, é conveniente ter um método mais genérico. Por isso, criei um bookmarklet, isso é, um pequeno script que podemos executar clicando num botão na barra de favoritos (neste caso, para restaurar o comportamento padrão das funções copiar/colar).

Aqui está ele: Restaurar copiar/colar

Para instalar, arraste esse link para sua barra de favoritos. Para usar, clique sempre que precisar copiar um texto e então copie normalmente.

Viva a Internet!

Um passo à frente na disputa pela Internet

A aprovação do Marco Civil da Internet na Câmara foi uma grande vitória. O projeto, cuja criação contou com a participação de ativistas digitais e movimentos pela democratização da mídia, é pedagógico. Pela positiva, mostra como o Estado deve tratar a Internet: fazendo uma guerra contra as empresas de telecomunicações para defender seus usuários, não se aliando a elas para nos vigiar e censurar.

O destaque dado ao princípio da neutralidade no texto coloca o Brasil na vanguarda de um debate que tem sido travado por todo o planeta. A rede deve ser aberta e seus roteadores não devem poder discriminar o tráfego que encaminham a fim de aumentarem o lucro dos provedores de serviço. Isso é importante porque permite que a Internet seja construída coletivamente e usada para todo tipo de comunicação independentemente do quanto se paga para se estar dentro dela.

É verdade que algumas grandes empresas se unem a nós para defender a neutralidade. Isso acontece porque essa característica da Internet também é fundamental para o desenvolvimento econômico liberal. Sem neutralidade, há uma barreira econômica enorme para o surgimento de novos produtos e protocolos, o que contraria o interesse das startups do Vale do Silício e outras empresas que lucram criando serviços nas pontas da rede.

Entretanto, a aprovação do Marco Civil não pode ser explicada pela aliança com esses setores. O projeto de lei, que havia surgido em 2009, ganhou fôlego depois de junho de 2013, momento de dois eventos muito mais significativos: os vazamentos de Edward Snowden e a volta de grandes protestos no Brasil.

Primeiro, porque a espionagem dos Estados Unidos sobre a população brasileira e sobre a própria presidente Dilma fez com que o governo percebesse a necessidade de se posicionar favorável à garantia de direitos fundamentais na Internet. Segundo, porque a percepção de que com mobilização é possível vencer, a importância da comunicação alternativa e a necessidade da defesa da democracia na rede ficaram evidentes a partir dos levantes que mudaram o país.

Ao mesmo tempo que comemoramos, cabe a nós seguir disputando a Internet para que ela sirva cada vez mais para potencializar a disseminação de contra-informação e a organização coletiva. Essa compreensão nos coloca a tarefa de garantir que o Marco Civil seja aprovado também no Senado e sancionado pela Presidente, mas deve ir além disso.

Há muitas disputas sobre a Internet que temos que vencer antes de dizer que ela é um espaço livre e democrático. Projetos de inclusão digital e de investimento em software livre foram abandonados pelo governo e precisam ser retomados. A forma como foi conquistada a aprovação do Marco Civil na Câmara mostra que a única maneira de arrancar isso é com muita pressão.

Além disso, é urgente intensificar a campanha de solidariedade a Snowden. A vida dele, junto com a dos jornalistas e ativistas organizados em torno dele e do WikiLeaks, está no centro da disputa do espaço virtual em escala global. É hora de cobrar coerência do governo exigindo que o Brasil conceda asilo a Snowden!

Publicado originalmente no Juntos.

Richard Stallman é um dos hackers mais importantes da história. Quando era estudante de doutorado em Ciência da Computação no MIT, viveu a transição dos dias em que todos os programas eram abertos para os dias em que as ideias computacionais se tornaram privatizáveis através do modelo do sofware proprietário.

Ao perceber que não tinha mais o direito de mexer no código da sua impressora para fazer ela funcionar como ele gostaria, nem poderia compartilhar os programas que gostava com seus amigos, o americano ficou preocupado com o que poderia ser a computação no futuro se esse modelo fosse o único. Não quis ser conivente. Imediatamente largou o doutorado, escreveu o sistema operacional GNU (os aplicativos que compõem o que é injustamente chamado somente de Linux e são usados na grande maioria dos grandes servidores do planeta) e lançou o GNU Manifesto, que deu origem ao software livre.

No final de 1985, Stallman fundou a Free Software Foundation (FSF) e pelos últimos quase 30 anos escreveu e viajou o mundo para divulgar o software livre e combater patentes de software, DRM e outros sistemas técnicos e legais que ameaçam a liberdade dos usuários de computador.


Julian Assange tornou-se o inimigo número 1 do imperialismo ao divulgar, através do WikiLeaks, informações que os grandes capitalistas não queriam ver divulgadas. Alguns exemplos são a explicação de mortes de civis no Iraque (incluindo o conhecido vídeo Collateral Murder, que mostra o ataque de dois helicópteros americanos a um grupo de civis em Bagdá e inclui a morte de dois jornalistas da Reuters e duas crianças), negócios diplomáticos e esquemas de corrupção envolvendo governos, bancos e grandes empresas.

O australiano encontra-se refugiado na Embaixada do Equador em Londres há mais de 1 ano. Se sair do conjunto de salas onde vive, no terceiro andar de um pequeno prédio, será imediatamente preso pela polícia britânica e extraditado para a Suécia, de onde pode ser enviado aos EUA. A situação não o fez parar de lutar. O WikiLeaks segue publicando e Assange acaba de criar o Partido WikiLeaks, na Austrália, pelo qual ele será candidato a senador nas eleições em setembro.

Além disso, lançou no final do ano passado o livro Cypherpunks (com Jacob Appelbaum, Jeremie Zimmermann e Andy Muller-Magoon), no qual discute a liberdade e o futuro da internet. O livro tem tudo a ver com os vazamentos de Edward Snowden e com a luta da qual Richard Stallman foi símbolo durante toda a sua vida. Num texto publicado há poucos dias no jornal The Guardian (que encontra-se traduzido aqui), ele fala sobre como a criptografia e o software livre são importantes na luta anti-imperialista.


O perfil do WikiLeaks no Twitter divulgou nesta madrugada que Richard Stallman e Julian Assange se encontraram ontem a noite para discutir a campanha pela liberdade de Edward Snowden e Bradley Manning.

Há uma tentativa constante de cooptar o movimento do software livre e separá-lo de outras lutas por liberdades fundamentais. Certa vez, ouvi de um ativista pelo software livre confrontado por perguntas sobre o mundo contínuo (aquele que indignou Pitágoras porque não cabe nem em infinitos bytes) que “sua luta é só para o software ser livre, não para todas as coisas”.

Por isso o encontro de Assange com Stallman é tão importante. Mais do que o encontro de dois homens, simboliza o encontro de movimentos com ideias que combinam e são fundamentais para construir outro mundo, mais livre e mais igualitário, que depende de ativistas hackers e não-hackers para se tornar real. É tempo de nos juntarmos e atuarmos em todas as frentes.

789758853

E-books devem ampliar nossa liberdade, não reduzí-la

ATENÇÃO: Este conteúdo foi publicado há 5 anos. Eu talvez nem concorde mais com ele. Se é um post sobre tecnologia, talvez não faça mais sentido. Mantenho neste blog o que escrevo desde os 14 anos por motivos históricos. Leia levando isso em conta.

Li o texto “E-books must increase our freedom, not decrease it” (de Richard Stallman) no boletim da Free Software Foundation de julho/2012. É sobre os livros digitais e os dispositivos (como o Kindle, da Amazon) que estamos usando para lê-los. O texto foi escrito especialmente para o jornal britânico The Guardian, mas achei os problemas que o Stallman levanta bem relevantes e suas ideias para solucioná-los muito interessantes. Por isso, fiz uma tradução livre e descompromissada, que compartilho abaixo. Quem tiver sugestões para melhorar a tradução, por favor entre em contato.


Eu adoro o livro The Jehovah Contract e eu gostaria que todo mundo gostasse dele também. Por isso, eu o emprestei pelo menos seis vezes nos últimos anos. Livros impressos deixam a gente fazer isso.

Porém, eu não posso fazer isso com a maioria dos e-books comerciais. “Não é permitido”. E se eu tentar desobedecer, não vou conseguir porque o programa que roda nos e-readers possui recursos maliciosos chamados Digital Restrictions Management (ou DRM) para restringir minha leitura. Os e-books são encriptados de forma que apenas softwares maliciosos são capazes de abrí-los.

Muitos outros hábitos com os quais nós, leitores, estamos acostumados, “não são permitidos” para e-books. Usuários de Amazon Kindle, por exemplo, não podem comprar um livro anonimamente (com dinheiro). Os livros do Kindle normalmente estão disponíveis apenas pela Amazon e a Amazon faz com que os usuários se identifiquem. Logo, a Amazon sabe exatamente que livros cada usuário leu. Num país como o Reino Unido, onde você pode ser processado por possuir um livro proibido, isso é mais do que hipoteticamente orwelliano.

Além disso, você não pode vender o e-book depois de lê-lo (se a Amazon triunfar, os sebos onde eu passei muitas tardes serão história). E você não pode dá-lo para um amigo também, porque, de acordo com a Amazon, você nunca realmente foi dono dele em primeiro lugar. A Amazon requer que os seus usuários assinem um End User License Agreement (EULA) que diz isso.

Na verdade, você não pode nem mesmo ter certeza de que ele ainda estará na sua máquina amanhã. Há algum tempo atrás, pessoas lendo 1984 num Kindle tiveram uma experiência bem orwelliana: seus e-books desapareceram bem diante de seus olhos. A Amazon usou um recurso malicioso chamado “back door” para deletá-los remotamente (queima de livros virtual! É isso que Kindle significa?). Mas não se preocupe: a Amazon prometeu nunca mais fazer isso. Exceto por ordem do Estado.

Com software, ou o usuários controlam o programa (software livre) ou o programa controla o usuário (software não-livre). As políticas da Amazon para e-books imitam as políticas de distribuição de softwares não-livres, mas não é essa a única a relação entre os dois. Os recursos maliciosos dos softwares descritos acima são impostos aos usuários através de programas que não são livres. Se um programa livre tivesse um recurso malicioso como aqueles, algum usuário hábil em programação o removeria e então disponibilizaria uma versão corrigida para todos os outros usuários. Mas usuários não podem alterar software não-livre, o que o transforma num instrumento ideal para exercer o poder sobre o público.

Qualquer uma dessas usurpações da nossa liberdade é razão suficiente para dizer não. Se essas políticas se limitassem apenas à Amazon, nós as ignoraríamos. Porém, as políticas dos outros negociantes de e-books são bem parecidas.

O que me preocupa mais é o prospecto de perder a opção do livro impresso. O jornal The Guardian anunciou leituras apenas digitais: em outras palavras, livros disponíveis apenas pelo preço da liberdade. Eu não vou ler nenhum livro com esse preço. Daqui a cinco anos, serão cópias não-autorizadas as únicas cópias eticamente aceitáveis para a maioria dos livros?

Não precisa ser dessa forma. Com pagamento anônimo na internet, pagar por downloads de e-books sem DRM e sem EULA respeitaria nossa liberdade. Lojas físicas poderiam vender tais e-books por dinheiro, como a música digital em CDs — ainda disponíveis mesmo que a indústria da música esteja incentivando agressivamente serviços restritos com DRM como o Spotify. Lojas físicas de CDs enfrentam os custos de um inventório caro, mas lojas físicas de e-books poderiam apenas escrever cópias dos livros no seu pendrive. Aí o pendrive novo seria o único item físico a ser armazenado e vendido pela loja, para caso você precise.

O motivo que as editoras dão para suas práticas restritivas com e-books é a proibição aos usuários de compartilhar cópias. Eles dizem que isso é para benefício dos autores, mas mesmo que isso fosse de interesse dos autores (de autores bem famosos talvez), não pode justificar DRM, EULA ou o Digital Economy Act (DEA) que persegue leitores por compartilhar. Na prática, o sistema de copyright faz um péssimo trabalho no apoio aos autores a não ser os mais populares. O principal interesse de outros autores é ser mais conhecido, então compartilhar seu trabalho beneficiaria eles assim como os leitores. Por que não mudar para um sistema que funcione melhor e seja compatível com o compartilhamento?

Um imposto sobre conectividade à Internet, junto à linha geral da maioria dos países da União Europeia, poderia funcionar bem se três pontos forem acertados. O dinheiro deve ser coletado pelo Estado e distribuído de acordo com a lei, não dado para uma entidade de gestão privada; ele deve ser dividido entre todos os autores, e nós não devemos deixar as empresas pegarem nada deles; e a distribuição do dinheiro deve ser baseada numa escala móvel, não numa proporção linear à popularidade. Eu sugiro usar a raiz cúbica da popularidade de cada autor: se A é 8x mais popular que B, A recebe 2x o que B recebe (não 8x o que B recebe). Isso ajudaria muitos escritores razoavelmente populares adequadamente em vez de enriquecer poucas estrelas.

Outro sistema é dar a cada e-reader um botão para enviar uma pequena quantia (talvez 25 libras no Reino Unido) para o autor.

O compartilhamento é bom e, com tecnologia digital, o compartilhamento é fácil. (Digo, a redistribuição não-comercial de cópias exatas.) Então o compartilhamento tem que ser legal e evitar compartilhamentos não pode uma desculpa para transformar e-books em algemas para os leitores. Se e-books significam que a liberdade dos usuários precisa ou ser ampliada ou ser reduzida, nós precisamos exigir que ela seja ampliada.

A polêmica em torno do Marco Civil da Internet

ATENÇÃO: Este conteúdo foi publicado há 5 anos. Eu talvez nem concorde mais com ele. Se é um post sobre tecnologia, talvez não faça mais sentido. Mantenho neste blog o que escrevo desde os 14 anos por motivos históricos. Leia levando isso em conta.

O Marco Civil da Internet surgiu em oposição ao projeto de lei do então senador Eduardo Azeredo (PSDB/MG) conhecido como AI-5 Digital, que buscava vigiar e controlar o que nós fazemos na internet. O conteúdo original daquele projeto era bizarro, prevendo cadastro prévio e identificação de todos os usuários de internet, utilização dessa identificação para prender para quem baixa músicas online, censura de sites arbitrariamente sem aviso prévio e outros absurdos do tipo. Algo muito parecido com a lei SOPA nos EUA.

A proposta do Marco Civil foi a de criar uma lei no sentido contrário. Em vez de criar uma legislação para punir simples usuários da rede, vários ativistas do software livre e da internet livre se organizaram para escrever (mediando com governo e empresas) uma “constituição” para a internet, que respeitasse a liberdade de expressão e garantisse direitos jurídicos para os seus usuários.

Seria um erro ser contra (por princípio) toda e qualquer legislação que verse sobre a internet. A internet é uma rede grande e descentralizada. Nós, usuários comuns, somos pontinhas nessa rede (folhas) conectados ao mundo por poucas empresas de telecomunicações (provedores), que possuem poder para fazerem o que quiserem com a nossa comunicação com essa grande rede.

(nesse diagrama, um ISP é o seu provedor e você nem aparece, mas é uma pequena folha ligada apenas a ele)

Os provedores de internet no mundo inteiro se aproveitam de seu poder para ganharem dinheiro. Isso se faz de várias formas, desde vendendo uma alta velocidade de internet e entregando apenas 20% dela (é essa a norma da Anatel pra banda larga!), até priorizando determinados tipos de comunicação.

Os exemplos dessa priorização são variados e, embora a gente às vezes não perceba, acontecem no mundo inteiro: de operadoras de celular que bloqueiam (ou limitam) comunicação através do protocolo UDP para impedir que seus usuários usem VoIP via 3G em vez de pagarem por ligações (conheci vários casos trabalhando com VoIP móvel no imo) até provedores que diminuem a velocidade de torrents ou jogos online. Isso pra não falar de denúncias sobre sites que abrem muito mais rápido do que outros (vamos supôr que você é o dono da Telefônica e o Google é seu parceiro — aí você pode dar uma forcinha pra o Google ser melhor que seu concorrente Yahoo fazendo o Yahoo demorar mais pra abrir para os seus usuários).

Por isso, regulamentações que garantam o princípio da neutralidade na rede (isso é, segundo a Wikipedia, o princípio de que todas as informações que trafegam na rede devem ser tratadas da mesma forma, navegando a mesma velocidade) são muito importantes.

Nesse sentido, é motivo para comemorarmos que, com o Marco Civil, o Brasil tenha a chance de ser pioneiro na criação de uma lei que garanta neutralidade na rede. Não é exagerado dizer que essa possibilidade impressiona ciberativistas do mundo inteiro.

Porém, o lobby (das empresas de telecomunicações, as mesmas para as quais o governo já cedeu com um Plano Nacional de Banda Larga que vai garantir seus lucros sem levar internet de qualidade para mais lugares do país) e a falta de compromisso do governo com as pautas que dizem respeito à democratização das comunicações e à internet (falta de compromisso que tirou de Brasília um cara como o Sérgio Amadeu no final de 2005 e congelou as políticas pró-software livre desde lá), está ameaçando o texto do projeto a dois retrocessos inaceitáveis.

O primeiro diz respeito justamente à neutralidade. O texto atual do projeto prevê exceções a esse princípio. Essas exceções seriam regulamentadas por ninguém mais ninguém menos que a Anatel, entidade que representa os interesses do oligopólio das telecomunicações no Brasil.

Já o segundo foi um dos pontos mais polêmicos dos projetos SOPA, PIPA e Azeredo. O texto atual do Marco Civil determina que sites e provedores sejam obrigados a tirar do ar conteúdos quando há uma simples denúncia, antes mesmo dessa denúncia ser julgada. Na prática, alguém poderia denunciar meu site por infringir algum direito autoral e, antes mesmo de eu me defender, meu servidor seria obrigado a tirar meu site do ar. Um precedente terrível de censura.

Sem consenso sobre esses pontos (ainda bem), a votação do Marco Civil já foi adiada cinco vezes. Na última terça (13), foi adiada para a próxima terça (20). Fiquemos atentos, porque o texto que será votado e o resultado dessa regulamentação podem ter consequências muito importantes, para o bem ou para o mal, para a internet. De fato, o futuro da internet como a conhecemos hoje dependerá muito (embora não só) das decisões sobre neutralidade na rede que forem tomadas em legislações pelo mundo inteiro.

WordPress plugin: Admin Anti-forget Alarm

ATENÇÃO: Este conteúdo foi publicado há 6 anos. Eu talvez nem concorde mais com ele. Se é um post sobre tecnologia, talvez não faça mais sentido. Mantenho neste blog o que escrevo desde os 14 anos por motivos históricos. Leia levando isso em conta.

I wrote a small WordPress plugin to prevent users from publishing a post without excerpt or thumbnail, or with a too big excerpt, or with a too small thumbnail, or with an uppercase-only title.

This screenshot is showing some of the messages the plugin displays in portuguese.

For some of my websites it’s important to require the editors to fix some stuff before publishing something, and it looks like this is a useful feature for other people as well. There is even a Require Thumbnail plugin in the WordPress Plugin Directory that seems to do one of the things I’ve just implemented.

The plugin works with two different types of requirements: ths first generates errors (i.e., you can’t publish if you don’t fix it) and the second generates warnings (i.e., you will receive a message but you can proceed to publish if you really want to do that).

I thought of not releasing the plugin (because it’s written in Portuguese and you don’t have a cool interface to decide what’s required yet), but in a fashion of overstated bazaar I decided to push the code anyway (without putting in the WordPress plugin directory, of course) so that other people can collaborate if they want to. Take a look :)

Github project home page: https://github.com/tmadeira/antiforget
Git repository to clone: https://github.com/tmadeira/antiforget.git
Code (PHP): https://github.com/tmadeira/antiforget/blob/master/antiforget.php
Download: antiforget.zip (this is pre-alpha: I provide no warranty!)

Retrospective: new plugin for WordPress

ATENÇÃO: Este conteúdo foi publicado há 6 anos. Eu talvez nem concorde mais com ele. Se é um post sobre tecnologia, talvez não faça mais sentido. Mantenho neste blog o que escrevo desde os 14 anos por motivos históricos. Leia levando isso em conta.

I’ve just wrote my first WordPress public plugin, that I’m licensing under GPL v3. This post is to make it public. I’m writing in English because the WordPress plugin directory asks me to provide a plugin page to host the files there and I’ll provide the URL of this post. Update: The plugin is now in the WordPress plugin directory: wordpress.org/extend/plugins/retrospective/


The website of the brazilian newspaper O Estado de São Paulo has a nice way to display news in a retrospective-style (check this screenshot or this link — Flash required).

Wouldn’t it be nice if we could display WordPress posts in our pages and categories in the same way just by using a shortcode? The possibilities are many. That’s why I wrote the Retrospective plugin for WordPress.

It has at least two advantages over the version you just saw:

  1. Does not require Flash (its implementation uses only CSS and JavaScript/jQuery)
  2. Has a option to respect the (time-)scale of the posts.

Its use is very simple. Wherever you add the shortcode [retrospective] the plugin will draw that cool retrospective. The shortcode supports several attributes:

  • count — limit the number of posts to be displayed (default = 10; use -1 to display all)
  • cat — display posts with category IDs comma-separated (default = display all posts)
  • width — the width of the timeline in pixels (default = 600)
  • delay — the time of the focus change animation in milisseconds (default = 1000)
  • scale — if set, respect the time scale in the distances between the points in the timeline (default = false)
  • image_width, image_height — the dimensions of the thumbnail images in pixels (default = 300×180)
  • image_border_size — the size of the image’s border in pixels (default = 7)
  • image_border_color — the color of the image’s border in hexa RGB (default = 000000)
  • image_margin — the space between the images (default = 5)
  • date_format — the date format in PHP format (default = d/m/Y)

For example, here is a [retrospective count=5 cat=20 image_border_color=2F5971] call:


Some screenshots

Here is a screenshot from juntos.org.br with scale=true (in the link you can see it working):

And here is a screenshot from a fresh WordPress install (TwentyEleven theme without modifications):


Customizing

Post thumbnails

For better results, I suggest always adding post thumbnails to your posts and using registered image sizes in image_width and image_height attributes.

Styling retrospectives

The generated HTML is very easy to style (but just be careful with margins and paddings, they’re set with !important attribute — I did it to try not to break with any theme). Here is a sample:

<div id="retro-uniquehash" class="retrospective">
    <!-- TIMELINE -->
    <ul class="time">
        <li rel="0"><a href="permalink" style="left:0px;"><span>date</span></a></li>
        <li rel="1"><a href="permalink" style="left:300px;"><span>date</span></a></li>
        <li rel="2"><a href="permalink" style="left:600px;"><span>date</span></a></li>
    </ul>
 
    <!-- PHOTOS -->
    <div class="photos">
        <ul>
            <li rel="0"><a href="permalink" title="title">
                <img src="file" class="wp-post-image" /></a></li>
            <li rel="1"><a href="permalink" title="title">
                <img src="file" class="wp-post-image" /></a></li>
            <li rel="2"><a href="permalink" title="title">
                <img src="file" class="wp-post-image" /></a></li>
        </ul>
    </div>
 
    <!-- POSTS -->
    <ul class="posts">
        <li rel="0"><a href="permalink" title="title"><h2>Title <span>(date)</span></h2>
            <p>Excerpt</p></a></li>
        <li rel="1"><a href="permalink" title="title"><h2>Title <span>(date)</span></h2>
            <p>Excerpt</p></a></li>
        <li rel="2"><a href="permalink" title="title"><h2>Title <span>(date)</span></h2>
            <p>Excerpt</p></a></li>
    </ul>
</div>

Styling a specific retrospective

The generated hash takes in consideration all the attributes sent to the shortcode and also how many retrospectives appeared before in the parsing of the actual page. I made it that way to allow users to set up two exactly equal retrospectives in the same page. Because of that, I don’t recommend setting styles for #retro-uniquehash. I think a reasonable solution for this issue is to make something like

<div id="something_that_makes_sense">[retrospective]</div>

when inserting the shortcode and then styling #something_that_makes_sense .retrospective.


Download

Here is the code for download:* retrospective.zip
* Warning: Please consider I’m using a bazaar approach here. Be aware that the plugin probably has a lot of bugs (and please tell me if you catch any).

I hope you enjoy it. Have fun and please let me have your feedback! :)

Ataque, não: protesto!

ATENÇÃO: Este conteúdo foi publicado há 6 anos. Eu talvez nem concorde mais com ele. Se é um post sobre tecnologia, talvez não faça mais sentido. Mantenho neste blog o que escrevo desde os 14 anos por motivos históricos. Leia levando isso em conta.

por Richard Stallman (Free Software Foundation)

O Stallman escreveu algo parecido com o que eu estava há semanas sentindo necessidade de escrever. Explica por quê tirar sites do ar não requer inteligência, o que é DDoS e o que é botnet. Não chama os manifestantes de moleques como fazem alguns petistas aqui no Brasil e responsabiliza a vigilância, os interesses capitalistas e os governos pelos protestos. Texto muito interessante. Recomendo!

Os protestos online feitos pelo grupo Anonymous são equivalentes a uma manifestação na internet. É um erro classificá-los como atividade de grupos hackers (uso da astúcia brincalhona) ou de crackers (invasão de sistemas de segurança).

O programa que os manifestantes usam, chamado LOIC, já vem pré-configurado, de modo que nenhuma astúcia é necessária para rodá-lo, e ele não invade o sistema de segurança de nenhum computador.

Os manifestantes do Anonymous não tentaram assumir o controle do site da Amazon e nem roubar dados da MasterCard. Eles entram pela porta da frente de uma página, que simplesmente não é capaz de suportar tantos visitantes ao mesmo tempo.

Chamar os protestos organizados por eles de “ataques de negação de serviço” (DDoS) também está errado. Um ataque DDoS propriamente dito é feito por meio de milhares de computadores zumbis. Alguém invade o sistema de segurança destes computadores (com frequência recorrendo a um vírus) e assume remotamente o controle sobre eles, programando-os para formar uma botnet (rede de zumbis, que é um sistema em que computadores aliciados desempenham automaticamente a mesma função) que atende em uníssono às suas ordens (neste caso, a ordem é sobrecarregar um servidor). A diferença é que os manifestantes do Anonymous em geral fizeram eles mesmos que seus próprios computadores participassem do protesto.

A comparação mais adequada seria com as multidões que foram, em dezembro de 2010, protestar diantes das lojas da Topshop (cadeia de varejo de moda no Reino Unido). Aquelas pessoas não invadiram as lojas e nem subtraíram dali nenhuma mercadoria, mas certamente provocaram um grande inconveniente.

Eu não gostaria nem um pouco se minha loja (supondo que eu tivesse uma) fosse alvo de um protesto de grandes proporções. A Amazon e a MasterCard tiveram uma reação parecida, e seus clientes ficaram irritados. As pessoas que tinham a intenção de fazer uma compra na Topshop naquele dia também devem ter ficado incomodadas.

A internet não pode funcionar se os sites forem constantemente bloqueados por multidões, assim como uma cidade não funciona se suas ruas estiverem sempre tomadas por protestos. Mas, antes de declarar seu apoio à repressão dos protestos na internet, pense no motivo de tais protestos: na internet, os usuários não têm direitos.

Como ficou claramente demonstrado no caso do WikiLeaks, devemos suportar sozinhos as consequências daquilo que fazemos na rede.

No mundo físico, temos o direito de publicar e vender livros. Quem quiser impedir a publicação do livro tem de levar o caso a um tribunal. Para criar um site na rede, porém, precisamos da cooperação de uma empresa de concessão de domínios, de um provedor de acesso à internet (ISP) e, com frequência, de uma empresa de hospedagem, e cada um desses elos pode ser individualmente pressionado a cortar o nosso acesso.

Nos Estados Unidos, nenhuma lei exige explicitamente tal precariedade. Em vez disso, ela está encarnada nos contratos que essas empresas estabeleceram como normais, com o nosso consentimento. É como se todos nós morássemos em quartos alugados e os senhorios pudessem despejar qualquer um sem notificação prévia.

A leitura também é feita apesar das consequências. No mundo físico, podemos comprar um livro de maneira anônima, usando dinheiro. Uma vez que ele nos pertença, temos a liberdade de oferecê-lo como presente, emprestá-lo ou vendê-lo a outra pessoa. Temos também a liberdade de guardá-lo. Entretanto, no mundo virtual, os e-readers têm algemas travas digitais que impedem o usuário de oferecer como presente, emprestar ou vender um livro, além das licenças que proíbem tal prática. Em 2009, a Amazon usou as portas dos fundos de seu e-reader para apagar remotamente milhares de cópias de 1984, de George Orwell, de aparelhos Kindle. O Ministério da Verdade foi privatizado.

No mundo físico, temos o direito de pagar em dinheiro e receber em dinheiro — mesmo de modo anônimo. Na internet, só podemos receber dinheiro com a aprovação de organizações como PayPal e MasterCard, e o Estado de vigilância rastreia os pagamentos a todo instante. Leis como a Ata da Economia Digital, que castigam os acusados antes de serem confirmadas as suspeitas, estendem esse padrão de precariedade à conectividade com a internet.

Por meio dos softwares não-livres, aquilo que você faz em seu próprio computador também é controlado pelos outros.

Os sistemas da Microsoft e da Apple contam com algemas digitais — recursos projetados especificamente para restringir a liberdade de ação dos usuários. O uso contínuo de um programa ou recurso também é precário: a Apple manteve uma porta dos fundos no iPhone para poder apagar remotamente aplicativos instalados. Uma porta dos fundos observada no Windows permite que a Microsoft instale alterações no software sem pedir permissão.

Dei início ao movimento do software livre com o objetivo de substituir o software proprietário que controla o usuário por programas que respeitem a liberdade. Com o software livre, podemos ao menos controlar aquilo que os programas fazem em nossos próprios computadores. O programa LOIC, usado pelos manifestantes do Anonymous, é um software livre; em particular, os usuários podem ler seu código fonte e alterá-lo, impossibilitando assim que ele imponha recursos maliciosos como fazem Windows e MacOS.

O Estado americano atual é um nexo de poder para os interesses corporativos. Como ele precisa fingir que serve ao povo, este Estado teme que a verdade seja revelada. Daí decorrem suas campanhas paralelas contra o WikiLeaks: as tentativas de esmagá-lo por meio da precariedade da internet e limitar formalmente a liberdade da imprensa.

Desconectar o WikiLeaks equivale a sitiar manifestantes em uma praça. Ataques preventivos da polícia provocam uma reação; então eles usam os pequenos delitos das pessoas enfurecidas para afastar a atenção dos grandes delitos do Estado. Assim, a Grã-Bretanha deteve o manifestante que se pendurou de uma bandeira, mas não o homem (supostamente um policial) que rachou o crânio de um estudante. Da mesma maneira, os Estados tentam aprisionar os manifestantes do Anonymous, e não os torturadores e assassinos que trabalham para o poder.

No dia em que nossos governos processarem os criminosos de guerra e nos contarem a verdade, o controle das multidões na internet será o mais urgente dos problemas que nos restarão. Será um regozijo se eu testemunhar a chegada deste dia.

Tradução: Augusto Calil (um pouco modificada, porque acredito que o tradutor confundiu software livre com software gratuito em alguns pontos)

A palestra do Chris Hofmann (Mozilla) e outros destaques do 2º dia do 12º FISL

ATENÇÃO: Este conteúdo foi publicado há 6 anos. Eu talvez nem concorde mais com ele. Se é um post sobre tecnologia, talvez não faça mais sentido. Mantenho neste blog o que escrevo desde os 14 anos por motivos históricos. Leia levando isso em conta.

A palestra do Chris Hofmann, da Mozilla Foundation, superou minhas expectativas. Acho que não esperava muito por causa de traumas com gringos que vem falar em nome de programas grandes/populares e acabam decepcionando. Mas é claro que com a Mozilla tinha que ser diferente. Chris contou a história do Firefox justificando a necessidade de sua existência desde que foi criado (época em que o Internet Explorer representava mais de 95% dos navegadores e parecia impossível inovar a web) até hoje, quando as empresas (e os navegadores escritos por elas) cada vez mais ignoram a privacidade de seus usuários. Comprovou esse ponto com duas citações, uma do CEO do Google e outra do CEO do Facebook (Eric Schmidt e Mark Zuckerberg, respectivamente), que mostravam seu total desprezo pelos dados que compartilhamos nesses sites.

Prosseguindo nesse sentido, ele fez o paralelo entre uma proposta do congresso dos Estados Unidos em 2001 (que propunha que o governo controlasse e-mails, documentos, cartão de crédito e sites acessados pelos usuários) com o Google de hoje (Google Mail, Google Docs, Google Checkout, Google Analytics — respectivamente). A partir daí, falou do funcionamento do Firefox Sync, que, diferentemente do sincronizador do Chrome, criptografa as informações antes de mandar para o servidor (portanto, deixando a Mozilla sem acesso aos dados dos usuários) e também fez um apelo para que usemos a checkbox “I do not want my data to be tracked” dos novos Firefox para que ao menos mandemos uma mensagem para os sites dizendo que não estamos de acordo com a forma como elas estão nos vigiando nesses tempos. Sua fala foi um bom complemento ao que o Alexandre Oliva (da Free Software Foundation) colocou ontem, sobre a violação de privacidade que tem aumentado muito também nos sistemas operacionais de telefones celulares.

Chris concluiu agradecendo e incentivando os presentes a continuar espalhando o Firefox ajudando seus parentes e amigos a migrarem, usando versões beta, reportando bugs, ajudando com traduções e se envolvendo mais com a comunidade Mozilla.

Outros destaques, curiosidades e citações aleatórias

  1. O Irmão Pedro Ost definiu software livre de uma forma legal: “Em vez de eu me adaptar ao programa que vem, o programa tem que se adaptar à minha realidade.”
  2. Jacob Appelbaum falaria sobre o projeto Tor e sobre censura na internet. Provavelmente teria sido uma palestra interessantíssima — eu esperava que fosse uma das melhores deste FISL, ainda mais pelas coisas recentes que aconteceram no mundo –, mas infelizmente seu avião atrasou. Por conta disso, Jeremy Allison, do Samba e do Google, fez uma palestra sugerindo cloud computing para substituir sistemas de arquivos em rede (NFS, Samba). Eles seriam baseados em busca (no lugar de sistemas de arquivos baseados em árvores de diretórios). A ideia de basear sistemas de arquivos em buscas é divertida, mas a sugestão de manter seus dados longe é preocupante, ainda mais vinda de um funcionário do Google.
  3. Esperava muito mais da mesa sobre ética hacker com Sérgio Amadeu, Alexandre Oliva e Nelson Pretto. Pelos nomes e pelo tema, esperava que fosse um dos grandes eventos deste FISL, mas não foi nada demais. Uma fala curiosa do Sérgio: “O hacker é um individualista, mas não é o individualista que a cultura de massa criou. É um individualista colaborativo. Se realiza quando consegue enfrentar o desafio e compartilhar com os outros.”
  4. Foi bastante interessante a palestra do Deivi Lopes Kuhn sobre software livre no governo federal. Anotei algumas coisas e vou deixar pra sistematizar e publicar comentários em breve, num post a parte (devido à densidade do conteúdo).

Destaques do 1º dia do 12º Fórum Internacional do Software Livre

ATENÇÃO: Este conteúdo foi publicado há 6 anos. Eu talvez nem concorde mais com ele. Se é um post sobre tecnologia, talvez não faça mais sentido. Mantenho neste blog o que escrevo desde os 14 anos por motivos históricos. Leia levando isso em conta.

Seguem alguns registros aleatórios do que vi no primeiro dia (29/06) deste FISL em Porto Alegre.

Software livre

“Debater software livre não é discutir trocar Windows pra Linux. Isso é o de menos. Debater, e mais importante, militar pelo software livre, é criar redes para transformar o mundo.”

(Wilkens Lenon)

“A liberdade de software não é útil só pra quem escreve o programa, mas para todos, da mesma forma que a liberdade de imprensa não é útil só pra quem escreve, mas pra todos, porque você pode escolher o que escutar (ou o que usar).”

(Alexandre Oliva)

Cloud computing

“Onde há nuvem há tempestade. Computação em nuvem é pior do que computação privativa porque você não tem nenhuma das quatro liberdades. Mais que isso: além de não ter acesso ao programa, você não tem acesso aos seus dados.”

(Alexandre Oliva)

“Software livre rodando na nuvem é tão maléfico quanto software proprietário rodando na nuvem.”

(Rodrigo R. Silva)

Sobre Flash

“O Gnash é uma máquina virtual. O Gnash não é solução, nem que funcione. A solução é não precisar rodar uma aplicação alienígena no seu computador para assistir um vídeo.”

(Felipe Sanches)

Formatos fechados

“Delimitam, controlam, bloqueiam, aprisionam e criam dependência. Documentos não são como blocos de papel: daqui a 10 anos eu consigo ler o que está escrito num papel, mas dependo de uma empresa pra conseguir ler um formato fechado.”

(Sérgio Amadeu)

Além das citações

  1. Numa mesa sobre educação e inclusão digital, Sady Jacques mencionou que seria interessante ter fundamentos de ciência da computação nas escolas. É algo que eu acho muito importante e, entre o pessoal de OBI/Maratona, discutimos com frequência. Surgiu a ideia de lançar um abaixo-assinado.
  2. No Encontro de Hackers GNU+Linux-libre, foi discutida a importância de termos firmwares livres. Recomendou-se enviar e-mails para as empresas cobrando o código dos firmwares.
  3. Na audiência pública com Tarso Genro, Alexandre Oliva citou por minutos problemas que governos e pessoas tiveram confiando em software proprietário. São bons exemplos para habituais discussões. Não lembro de todos, mas aqui vão alguns: a guerra entre Argentina e Inglaterra em que os mísseis (comprados da França) não funcionavam contra navios ingleses; a Microsoft ter usado criptografia com apenas 40 bits nos computadores dos usuários durante anos, permitindo que o governo americano descriptografasse o que os usuários de Windows faziam; recentemente espionando conversas no Skype; o Gmail ter um backdoor para o governo dos EUA (que China usou para invadir recentemente); a Sony processando pessoas que descobriram como usar um computador para instalar o que quisessem nele (o Playstation 3); a Nintendo destruindo videogames a distância; a Amazon deletando e-books do Kindle a distância (ironicamente, o livro 1984); o iPhone e o Android anotando todos os lugares por onde o usuário passa junto com informações sobre redes sem fio e mandando para a Apple / o Google; o celular distribuído para crianças com câmera acionada pela sua escola.
  4. Na mesma audiência, Sérgio Amadeu falou da importância que tem os governos abrirem seus bancos de dados e todas as informações que têm em formato aberto e em redes P2P, sugerindo uma democracia radical em que todos os usuários da internet possam baixar rápido e processar as informações (data mining), de forma que grupos organizados (e desorganizados) possam controlar gastos e decisões públicas. Ideia interessante. Outras ideias interessantes da mesma fala, para pensar mais a respeito: analogia entre rede elétrica e a internet (alguém controla se você liga um liquidificador ou um chuveiro?); recursos educacionais abertos (professores remixam o material que usam); biotecnologia de garagem (nunca escrevi ou pesquisei muito sobre o tema, que é uma aplicação legal da cultura hacker fora do computador).