Ir para o conteúdo
ou

Software livre Brasil

Tela cheia
 Feed RSS

Blog

27 de Maio de 2009, 0:00 , por Software Livre Brasil - | Ninguém está seguindo este artigo ainda.

PubSub with XMPP4R-Simple

18 de Março de 2009, 0:00, por Software Livre Brasil - 0sem comentários ainda

As I already told you, I am using XMPP4R-Simple in an internal project. For this, I’d have to add PubSub capabilities to it, and I did when I decided to get serious with git. Today I committed a version with integration of various patches by other forks I found on GitHub plus a lot of improvements on PubSub functions.

With this version it’s simple to use PubSub like this:


require 'xmpp4r-simple'

# Simple function just to parse an event
require 'time'
def parse_event(event)
  item = event.children[0]
  node = item.node
  time = nil; item.each_element("//published") { |e| time = Time.parse(e.text) }
  text = nil; item.each_element("//body") { |e| text = e.text }
  return { :item => item, :node => node, :time => time, :text => text }
end

# Create the clients
im1 = Jabber::Simple.new "im1@example.com", "password" 
im2 = Jabber::Simple.new "im2@example.com", "password" 

# im1 creates a node
im1.create_node("/some/node")

# im2 subscribe to that node
im2.pubsubscribe_to("/some/node")

# We'll start a simple thread to get the events coming from that node to im2
Thread.new { loop {
  sleep 1 while ! im2.received_events?
  im2.received_events { |event|
    h = parse_event(event)
    puts ">>> Got an event from node #{h[:node]} published at #{h[:time]} with text #{h[:text]}" 
  }
}}

# Now im1 just publishes anything to that node.
im1.publish_atom_item("/some/node", "This is my node", "This is the content of my node")

# The thread should capture the event and run puts on the hash from parsing.

PubSub is great, isn’t it?



É tempo de fisl de novo!

14 de Março de 2009, 0:00, por Software Livre Brasil - 0sem comentários ainda

É, já começou. Em breve teremos outra edição do Fórum Internacional Software Livre. Muita coisa aconteceu desde que começou (e desde que me integrei ao comitê organizador)... o evento cresceu e amadureceu rapidamente, tornando-se, talvez, o mais importante no cenário nacional e um dos mais importantes no cenário internacional.

A edição desse ano (de número 10) está sendo chamada de “edição especial”. Claro que sei de muita coisa dos bastidores (e muita coisa que será surpresa para os participantes, por isso não posso divulgar), mas o “especial” dessa edição, mais do que nunca, vai ser construído pela comunidade. Já vi que canais como Facebook e Twitter além do tradicional Orkut estão ativos para o evento e, sabendo que Marcelo Branco está a frente esse ano, já deve ser suficiente para inferir o sucesso da edição.

Já vi o nascimento e a morte de diversos eventos de software livre… Alguns grandes como o FISL, ameaçando tirar-lhe a posição de destaque que conquistou. Mas durante todo o tempo em que estive envolvido, o FISL foi ficando… Todos os anos alguém me pergunta o que eu acho q mantém o FISL vivo, mesmo diante das inúmeras adversidades por que todos os eventos passaram.

Um ingrediente para o sucesso do FISL é a rotatividade. No comitê organizador, pessoas vem e vão, sempre encontrando terreno fértil para as suas melhores idéias, provando que o importante é a renovação: a cada ano o FISL se reinventa. Muitas vezes, paga o preço da inovação: quando decidimos que o sistema de inscrição de um fórum de software livre devia ser, igualmente, software livre não previmos que um erro de programação poderia gerar uma multidão ansiosa diante dos guichês de chegada. Sim, o erro foi corrigido desde então, mas tivemos de ouvir por mais de uma vez “se tivessem usado o software não livre X, nada disso teria acontecido”... Talvez não, mas os princípios do FISL sempre foram mais importantes e sempre deram força para prosseguir.

No entanto, cada vez mais estou convencido que o modelo do FISL é o seu coração, e é o motivo que o mantém forte diante das adversidades: não é uma feira, é um fórum… um lugar aberto para que a comunidade se encontre e, de quebra, assista a algumas palestras sobre algo de seu interesse.

Na Roma antiga, o fórum era o lugar mais importante, onde todos os cidadãos de encontravam. Na Grécia, o ágora (equivalente ao fórum) era o centro político e social, sede das decisões que eram emanadas da reunião dos cidadãos, do coletivo. Seria demagógico dizer que pensei no FISL quando estive nesses dois locais, mas retrospectivamente falando, as semelhanças não podem ser ignoradas. Não é a toa que a principal e maior área da planta do FISL é dedicada aos coletivos de software livre, às comunidades e aos grupos de usuários; não é a toa que as palestras são propostas (e avaliadas) pela comunidade, e que apenas um punhado delas é reservada aos patrocinadores. É tão fácil ver dois hackers combinando um encontro no FISL quanto é fácil imaginar dois cidadãos romanos combinando um encontro em frente ao templo de Pollux e Castor.

Enfim, um grande evento é construído por grandes pessoas. Não estou aqui me referindo ao comitê organizador… Estou me referindo a todos os participantes do FISL: você faz o fórum…

Nos vemos lá!