Encontro de prática - Wiki

Fizemos quarta-feira, eu e Ronaldo Richieri, o primeiro encontro de prática de wiki, na BioRitmo.

O Alblum também apareceu por lá para ajudar.

O objetivo principal era conseguirmos trazer uma idéia melhor para os participantes sobre o que é uma wiki, porque alguém iria querer usar wiki, etc.

Nossa dinâmica fluiu muito bem, e conseguimos (eu, Ronaldo, Luciana, Roberta, Cláudio, Vanessa, Eric e Rogério) atingir resultados muito bons.

Na metanóia, temos o conceito "jugular", que define o que esperamos ouvir do nosso cliente no decorrer ou ao término de um projeto.

Nesse primeiro encontro, esperávamos ouvir algo como:

"Aqui podemos compartilhar, aprendendo uns com os outros! É fácil!"

E chegamos bem perto, só que ouvimos as partes "Compartilhar" , "Aprender", e "É fácil" em separado.

Michael Dell usa Ubuntu

Lendo a notícia interessante no BrLinux (Leia »), encontrei um comentário de Isaque Vieira:

Cheira a marketing puro...

Não e por nada não mas não e estranho que pouco tempo depois de começar (mesmo que devagar até demais) a querer utilizar o linux aparecer uma noticia como essa?
Eu acho um pouco estranho pelo menos devido as campanhas de marketing da Dell que estão rolando sobre o linux e o fato de que a versão da distro que esta instalada seja um beta.
A máquina (desktop/notebook) de um alto executivo não e lugar para se ter nenhum beta, de qualquer software que seja....

E postei a seguinte resposta:

Cheiro de Marketing?

Caro amigo Isaque, o sistema operacional GNU/Linux tem muitos anos de vida. A iniciativa Ubuntu, é uma das mais expressivas até hoje no pedaço, por permitir usuários sem interesse direto em desenvolvimento de software utilizar esse sistema de magnífica segurança e liberdade.

Há uma estatística de que atualmente 70% dos desenvolvedores no mundo utilizam software livre.

Com certeza CEOs têm que estar à frente em seu tempo, e usar linux é um claro sinal disso.

Poderia até se pensar que a iniciativa da Dell de instalar linux em suas máquinas para venda seja relacionada a casos de uso bem sucedidos, inclusive o do CEO Michael Dell.

Até mesmo a gigante Microsoft voltou o grande Olho no pico da torre para o mundo Linux, e está investindo em um projeto com a Novell que envolve o SuSE (uma distro GNU/Linux).

A Microsoft inclusive mantém um repositório de software livre !
GNU/Linux, e o Ubuntu já têm grande visibilidade, e a Dell está ajudando muito com isso agora.

Falando de Beta, o Ubuntu 7.04 já teve seu release, portanto não é beta. Mas tem a decência de admitir que aprimoramentos virão, e que não se trata da perfeição, mas um caminho que pode levar até ela.

Traduzindo o MediaWiki

Quando se instala o MediaWiki, muitas vezes vêm de brinde várias mensagens da inteface em inglês ou com erros de ortografia.

Na wiki da Papagallis (nova empresa em que trabalho), da qual participo ativamente no desenvolvimento do conteúdo, há um artigo sobre o assunto.

Segue o link:
wiki.papagallis.com.br/Ortografia_e_tradução_Mediawiki

Traduzindo o WordPress

Como podem ver, meu blog ainda não tem tudo traduzido.

Isso porque os temas fornecidos para wordpress geralmente não são feitos visando compatibilidade com o sistema de tradução wordpress.

Inclusive, para quem quer utilizar wordpress MU, para hospedagem de múltiplos blogs em um só sistema, aparece um grande desafio, pois tradução deste não existe para pt_BR, e sequer o arquivo POT (modelo com textos originais para tradução) pode ser encontrado com facilidade.

Depois de muito esforço consegui encontrar, e iniciei a tradução. Neste processo descobri as vantagens de utilizar um KDE bem configurado. o KBabel (KDE), oponente do POedit (GNOME) possui suporte a correção ortográfica facilmente configurável, além de exibir corretamente os caracteres codificados em HTML escapes (á = á).

Para tanto, provavelmente será necessário baixar e instalar o dicionário aspell-pt_BR e configurar seu KDE para utilizá-lo. Depois diss, abra o seu arquivo .po com o KBabel (padrão do KDE), e mãos à obra.

Outra facilidade é que basta girar o scroll do seu mouse sobre o campo de texto traduzido, e o programa mostra a próxima entrada a ser traduzida.

Penetras no BarCamp!

Sábado, 24 de março.

Desculpem o lag... Esse post ficou perdido como rascunho por um tempo...

Eu e o Ronaldo Richieri Fomos pra sampa, com destino ao Barcamp São Paulo de mala e cuia, sem a certeza de que conseguiríamos entrar. Junto com a gente, foram o Algarra e o Hudson, mas esses tinham feito a coisa certa: Haviam se inscrito...

A minha vontade de participar era grande, pois o conceito de desconferência é muito interessante, e o tema era ainda mais instigante (Web 2.0).

No final conseguimos entrar e participar, e foi uma experiência muito construtiva. Agora, o papo ainda continua no grupo Google do evento.

Aqui vai o link para o site Barcamp São Paulo .

Movido: AMSN 0.97b

in

Este artigo foi movido para: aMSN mais bonito

Yahoo e Universal vs YouTube

Várias empresas nos Estados Unidos tentam desesperadamente combater o gigante recém-comprado pela empresa Google, o YouTube.

Isso porque é desafiador demais um serviço que dá as rédeas para o usuário. A liberdade de expressão e compartilhamento de impressões, opiniões e conhecimento através do vídeo digital tende a provocar a ira de quem está perdendo as rédeas.

No começo deste mês, a Viacom processou a Google, alegando que o website YouTube a teria causado um prejuízo de 1 bilhão de dólares, por diversos motivos. Alegam que o YouTube facilita e encoraja o infringimento dos direitos autorais.

Agora o grupo News Corp está se juntando com a NBC Universal para tentar derrubar o gigante YouTube. A idéia é distribuir conteúdo das duas empresas através dos parceiros de distribuição, que por enquanto são: Yahoo, a Time Warner (AOL), e a Microsoft (MSN).

Resumindo, a programação será restrita à programação das duas emissoras, e estará disponível em uma faixa de tempo determinada pelas empresas. Isso poda toda a liberdade e facilidade que temos no YouTube: Achar uma infinidade de coisas, e assistir quando e quantas vezes eu quiser.

Além disso, o conceito mais encantador do YouTube, que é o fato de ele permitir aos usuários o upload de vídeos, é completamente ausente na empreitada.

Resumindo, essa iniciativa não passa de mais um "TheirTube" (assim como o rádio e a TV tradicionais), controlado pela camada manipuladora da sociedade. Dificilmente isso impactará no YouTube, que continuará representando a liberdade de expressão, e entregando o leme na nossa mão.

Afinal, nós somos a web!

Me inspirei o seguinte artigo (inglês): http://www.forbes.com/technology/.../antitube.html

Progresso de Upload com PHP 5.2+

O desafio é criar uma barra de monitoramento de progresso para uploads de arquivo, quando se está utilizando AJAX.

Pode até se achar que isso é frescura, mas no caso de envio de arquivos grandes, isso pode ser bastante útil.

Há muita gente na web dizendo que é impossí­vel fazer isso apenas com PHP. Até certo ponto isso é verdade, pois até pouco tempo, o PHP só obtinha acesso a REQUESTs completos, e o progresso de upload, obviamente, só pode ser medido durante o REQUEST.

A solução encontrada foi usar Perl em paralelo, num bem-bolado que pode trazer problemas. O fornecido script CGI feito em Perl recebe o POST, e consegue acessar os dados do REQUEST enquanto ele está em andamento.

Exemplo: http://br.php.net/features.file-upload (Em inglês)

Isso seria a única saída para o problema no caso de se usar uma versão do PHP inferior à 5.2. Isso porque, da versão 5.2 em diante, o PHP suporta um gancho que pode ser usado para lidar com o progresso do upload. Você pode usar uma extensão PECL já existente (uploadprogress) para mostrar um medidor do progresso de um upload.

Tendo em vista que a documentação para essa extensão é escassa, aqui vai uma simples receita de bolo.

1) Execute "pecl install uploadprogress", e adicione "extension=uploadprogress.so" ao seu arquivo php.ini .

2) Diga à extensão onde armazenar temporariamente as informações sobre cada upload. Por padrão, isso será guardado em "/tmp/upt_%s.txt" (onde %s deve ser substituído pela variável UPLOAD_IDENTIFIER, como será descrito abaixo). Você pode mudar isso na através da seguinte linha no arquivo de configuração: uploadprogress.file.filename_template = /caminho/para/algum_arquivo_%s.txt
Você deve adicionar apenas um '%s', ou a coisa toda irá falhar

3) Adicione um campo oculto bem no início do seu formulário de upload (isso é importante) , com o nome de UPLOAD_IDENTIFIER. O valor para esse campo deve combinar com a expressão regular "^[A-Za-z0-9_.-=]{1,64}$" , ou seja, possuir de 1 a 64 caracteres alfanuméricos, sendo que as letras podem ser maiúsculas ou minúsculas. Além disso, o valor deve ser único para cada upload.
Exemplo:

<input type="hidden"
name="UPLOAD_IDENTIFIER"
value="upld<?php md5(time());?>" />

4) Agora vem a parte da diversão... Mostrar a barra de progresso.
Vou descrever uma maneira bem simples de fazer isso, deixando bem claro que é possível fazer isso com muito mais requinte.

Quando o formulário for submetido, abra um popup aproveitando a ação do usuário (o click pode ajudar seu popup a não ser bloqueado) para mostrar o progresso. Essa janela deve ser atualizada repetidamente de poucos em poucos segundos, chamando um script que irá tratar os dados e exibir as informações, e gerar um medidor.

Esse script chama a função uploadprogress_get_info($id), onde $id é o valor do campo UPLOAD_IDENTIFIER do seu formulário. A função retornará falso caso não haja um upload relacionado, ou um array de informações sobre o upload. O array contém:

time_start
Data/Hora do início do upload (no mesmo formato da função time()).
time_last
Data/Hora da última atualização do progress de upload.
speed_average
Velocidade média. (bytes / segundo)
speed_last
Última velocidade medida. (bytes / segundo)
bytes_uploaded
Número de bytes recebidos pelo servidor até o momento.
bytes_total
O valor do cabeçalho HTTP "Content-Length" enviado pelo navegador.
files_uploaded
Número de arquivos já recebidos pelo servidor.
est_sec
Número estimado de segundos restantes para o término do processo de upload.

O valor speed_average é medido com base no número de bytes obtidos pelo servidor desde o início do upload, enquanto speed_last é baseado no número de bytes enviados desde a última atualização no progresso do upload. A informação sobre o progresso é atualizada cada vez que o PHP obtêm mais dados do cliente, então speed_last pode não ser muito preciso.

Nota 1) O valor bytes_total NÃO é reflexo do tamanho real do arquivo, mas sim do tamanho do REQUEST POST, que pode ser maior que o tamanho real do arquivo transferido.

Nota 2) Esse módulo realmente detecta apenas quanto do formulário com método POST foi recebido pelo servidor, e mantém uma contagem de quantas variáveis POST do tipo 'file' vão sendo encontradas. Então quando forem enviados vários arquivos em um mesmo formulário, não é possível fazer uma medição de progresso para cada arquivo, mas é possível obter a contagem de quantos arquivos já foram completamente transferidos.

Fonte: Documentação online do PHP, em um dos comentários:
http://br.php.net/manual/pt_BR/features.file-upload.php#71564

Google Web Toolkit

Genial!

A Google, sempre lançando as mais avançadas aplicações web.  Acho que demorei para descobrir, mas desde Maio de 2006, foi disponibilizado pela empresa americana um Kit de Ferramentas para desenvolvimento web, no qual foram desenvolvidas muitas das aplicações Google, o GWT (Google Web Toolkit - em inglês).

Fiquei maravilhado com o conceito de modelagem da Interface com o Usuário inteiramente em Java, e depois a conversão disso tudo para HTML+JavaScript+CSS

Vale a pena conferir, eu achei top.

Até!

Update: O GWT tem uma página em português: http://code.google.com/intl/pt-BR/webtoolkit/

Divulgar conteúdo