Blog

Content before 2026 was migrated and some information might have been lost.

Python e RSS

Published on May 19, 2013.

Python possui uma biblioteca/módulo que implementa um parser para RSS1.

Neste post iremos mostrar como utilizar essa biblioteca.

Lendo o feed a partir de uma URL

Para carregar o feed disponível em http://www.feedforall.com/sample.xml utilizamos:

>>> import feedparser
>>> d = feedparser.parse('http://www.feedforall.com/sample.xml')
>>> type(d)
<class 'feedparser.FeedParserDict'>
>>> d.keys()
dict_keys(['feed', 'status', 'updated', 'updated_parsed', 'encoding', 'bozo', 'headers', 'etag', 'href', 'version', 'entries', 'namespaces'])

Como você pode observer, o retorno é um dicionário.

Analizando o feed

Alguns elementos comuns do feed são:

More ...

Python e NNTP

Published on May 19, 2013.

Python possui uma biblioteca/módulo que implementa o lado do cliente do protocolo NNTP1.

Neste post iremos mostrar como utilizar essa biblioteca para enviar novas mensagens para um grupo local do Leafnode-2 (o Leafnode-2 foi configurado em ../../../2013/05/19/leafnode2.

Grupos locais no Leafnode-2

Os grupos locais são informados no arquivo /etc/leafnode/local.groups. Para a criação de grupos locais adicione linhas seguindo a sintaxe abaixo:

news.group.name<TAB>status<TAB>descrição

e.g., :

local.test       y    Local Unmoderated Group

no arquivo /etc/leafnode/local.groups tomando o cuidado de utilizar tab para separa os campos.

More ...

Leafnode-2

Published on May 19, 2013.

Leafnode-2 é um servidor NNTP, i.e., um servidor de newsgroup/usenet. Neste poste irei mostrar como instalá-lo e configurá-lo.

Preparação

Primeiro é preciso criar um usuário um um grupo chamado news. :

# useradd news
# passwd news
# grep news /etc/passwd
news:x:500:500::/home/news:/bin/bash
# grep news /etc/group
news:x:500:

Depois de criado o usuário e o grupo news verifique se o sistema possui um Fully Qualified Domain Name (FQDN), e.g.,

  • Se possuir um domínio, utilize-o em conjunto com um subdominio e o hostname da máquina,
  • Utilize um serviço de DNS dinâmico para conseguir um dominio gratuitamente,
  • Utilize o serviço de news individual.net que poderá lhe dar um FQDN gratuitamente.

Verique se o FQDN está corretamente configurado em /etc/HOSTNAME e /etc/hosts. Se precisar, utilize:

More ...

Liberdade de expressão e direito autoral

Published on May 18, 2013.

Note

This post was previous published at blog.rgaiacs.com. Some links might got broken during the conversion from reStructuredText to Markdown.

Note

Este post é uma homenagem a Tiradentes cuja morte, no Brasil, é comemorada em 21 de abril.

Note

Meus mais sinceros agradecimentos ao Matheus Guimarães Mello por me indicar a obra que serviu de inspiração para este post.

Essa semana comecei a ler "Coding Freedom: The Aesthetics and the Ethics of Hacking" de Gabriella Coleman (se tiver interesse a autora disponibiliza uma cópia eletrónica da obra em sua página pessoal tanto em pdf como em epub que é licenciado sob CC BY-NC-ND 2.5).

More ...

Google Hangouts

Published on May 18, 2013.

Embora o título sugira que este seja um post em favor do Google Hangouts, este post na verdade é o oposto.

Meus agradecimentos ao Panaggio pela notificação que motivou este post.

Para que não conhece, XMPP é um padrão “aberto” baseado em XML para comunicação de texto (e vídeo) pela infraestrutura da internet. (mais informações aqui).

O XMPP, também conhecido por Jabber, é utilizado por vários serviços de conversa via texto, incluíndo: Google Talk e Facebook Chat.1

More ...