Introdução: Pygame (pt. 1)

Este tutorial foi feito com juh durante nosso grupo de estudos python. Pygame serve como interface da biblioteca SDL.

Desenhando um rectângulo com “pygame.Surface”

Passo 1

Abra um editor de texto e digite:

import pygame
import os, sys
from pygame.constants import *

Isso importará as bibliotecas pygame, os, e sys para utilizar no nosso programa.

Passo 2

Agora vamos criar a nossa tela onde o jogo vai acontecer. Para isso a gente vai criar uma variável que chamamos de “tela” e vamos dar para ela um tamanho de 300 x 200:

tela = pygame.display.set_mode((300, 200))

E também vamos dar uma cor de fundo em RGB com o parâmetro “fill”. Nós escolhemos para a cor de fundo a cor branco.

tela.fill((255, 255, 255))

Passo 3

Vamos criar um rectângulo e colorir ele de vermelho. Para isso a gente chama nosso rectângulo de “rect1″ e criamos ele com as medidas de 50 de largura e 100 de altura. O modelo para esta linha de código seria:

nome = pygame.Surface((largura, altura))

no nosso caso seria assim:

rect1 = pygame.Surface((50, 100))

E para colorir ele de vermelho a gente usa este modelo de código:

nome.fill((vermelho, verde, azul))

Que no nosso programa seria:

rect1.fill((255, 0, 0))

Passo 4

A gente já desenho um rectângulo mas falta ainda um passo para ele aparecer na tela. a gente precisa juntar nosso rectângulo “rect1″ no fundo “tela” com o parâmetro “blit”:

fundo.blit(objeto, (posição x, posição y))

que no nosso caso seria assim:

tela.blit(rect1, (125, 50))

Passo 5

E finalmente colocamos esta linha para que apareça tudo. pygame.display.update()

O código final deve parecer algo assim:

import pygame
import os, sys
from pygame.constants import *

tela = pygame.display.set_mode((300, 200))
tela.fill((255, 255, 255))

rect1 = pygame.Surface((50, 100))
rect1.fill((255, 0, 0))

tela.blit(rect1, (125, 50))

pygame.display.update()

E o resultado é:

pygame rect

pygame rect

Publicado em Tutorial | Com a tag , , | Deixar um comentário

Flisol DF 2010

Um pouco atrasado este post… mas o Flisol 2010 foi um sucesso. A gunga (nossa entidade jurídica) apoiou o evento fazendo toda a identidade visual (vejam no site). Uma das coisas mais legais foi ter conhecido o pessoal do partido pirata aqui no DF.

Fizemos 3 modelos de estampas e serigrafamos no local. Clique na imagem para baixar o svg (CC BY-NC-SA onde se aplica).

Estampas FLISOL

Veja algumas fotos do dia.

Publicado em Download, Evento | Com a tag | Deixar um comentário

Cartilha sobre Práticas Agroecológicas

Compartilhamos a cartilha “Práticas Agroecológicas para Agricultura Familiar no Cerrado” que fizemos em 2009 para o GT de Reforma Agraria da Universidade de Brasília e o movimento Via Campesina. Ela foi distribuída para varias famílias de agricultores no DF e entorno. Práticas sustentáveis como a Permacultura e Agroflorestas são discutidas e estimuladas. Aqui tem uma lista de grupos de pessoas que desenvolvem a permacultura no Brasil. Entre eles estão nossos amigos do Sítio Geranium e do GEPEC.

Práticas Agroecológicas para Agricultura Familiar no Cerrado

Lembramos que esta cartilha foi diagramada usando Scribus e as ilustrações foram feitas a mão e coloridas usando o Inkscape e Gimp.

Disponibilizamos o arquivo fonte (.sla) do scribus para quem gostaria de usar ou modificar o layout.

Arquivo Fonte (.sla) de Cartilha GTRA
Publicado em Openbook | Com a tag , , , | Deixar um comentário

TC e Richard Stallman cantando

Um pequeno vídeo filmado usando um Nokia N95 durante a visita do Richard Stallman na Casa de Cultura Tainã em Campinas – SP no dia 22/6/2009. A Casa Tainã é uma referência para o movimento de software livre e dos pontos de cultura. Tocando violão é TC, o pai da casa. Durante a visita do Stallman mostramos o estúdio de áudio que usa só software livre para produção e apresentamos o projeto da Rede Mocambos. Podem ver algumas fotos da visita aqui. TC também fundou a Orquestra Tambores de Aço e até que eu saiba é o único cara no Brasil que consegue afinar os steel drums.

Publicado em Vídeo | Com a tag , , , | Deixar um comentário

Tutorial Básico de GPG

GPG Logo

Este é um tutorial básico feito com Tiago Bugarin em Pipa – RN de como usar as ferramentas de anonimidade na internet. Para saber mais sobre GPG e Tor basta pesquisar sobre eles.

O GPG usa o método de chaves pública e privada (secreta) para assegurar a transferência de informações entre pares. Neste modelo cada usuário cria uma chave privada e outra pública. A privada é guardada consigo e não é passada adiante. A pública é enviada aos pares com os quais se deseja realizar trocas de informações de forma segura por criptografia. É crucial neste método que a chave privada seja guardada pelo criador e somente por este usada. Esta chave não deve ser trafegada pela Internet.

Para criar a nossa chave escrevemos no terminal gpg –gen-key e segue os passos ate ter a chave.


[livre@220 ~]$ gpg --gen-key
gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.</code>

Por favor selecione o tipo de chave desejado:
(1) DSA and Elgamal (default)
(2) DSA (apenas assinatura)
(5) RSA (apenas assinatura)
Sua opção?

É recomendado escolher a opção 1, que é a opção padrão.


DSA keypair will have 1024 bits.
ELG-E keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048)

2048 é a opção padrão, apertando a tecla “Enter” ela é escolhida.


Por favor especifique por quanto tempo a chave deve ser válida.
 0 = chave não expira
 <n>  = chave expira em n dias
 <n>w = chave expira em n semanas
 <n>m = chave expira em n meses
 <n>y = chave expira em n anos
 A chave é valida por? (0)

Note que no lugar de “<n>” você colocaria um numero. Por exemplo “2m” seria 2 meses.


 You need a user ID to identify your key; the software constructs the  user ID
 from the Real Name, Comment and Email Address in this form:
 "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"</code>Nome completo: farid
 Endereço de correio eletrônico: farid@qualquercoisa.org
 Comentário: teste de chave gpg

Basta preencher os campos acima e trocar meus dados pelos seus. E o resultado seria assim:

</pre>
<div id="terminal"><code> Você selecionou este identificador de usuário:
 "farid (teste de chave gpg) <farid@qualquercoisa.org>" </code></div>
<div>
<pre>

E escolhemos a opção “O” de “Ok”, assim:


Muda (N)ome, (C)omentário, (E)ndereço ou (O)k/(S)air? o
 Você precisa de uma frase secreta para proteger sua chave.

Apos ter escolhido sua frase secreta, o programa comença a gerar nossa chave gpg. E aparece na tela alguma coisa assim:


Precisamos gerar muitos bytes aleatórios. É uma boa ideia realizar outra
 atividade (digitar no teclado, mover o mouse, usar os discos)  durante a
 geração dos números primos; isso dá ao gerador de números aleatórios
 uma chance melhor de conseguir entropia suficiente.
 ++++++++++++++++++++..++++++++++++++++++++.+++++.++++++++++++++++++
 ++..++++++++++..++++++++++.+++++..+++++.+++++..+++++.+++++++++++++++++++
 +.++++++++++...............>+++++..................................................................+++++
 Precisamos gerar muitos bytes aleatórios. É uma boa ideia realizar  outra
 atividade (digitar no teclado, mover o mouse, usar os discos)  durante a
 geração dos números primos; isso dá ao gerador de números aleatórios
 uma chance melhor de conseguir entropia suficiente.
 +++++..++++++++++++++++++++++++++++++...+++++.++++++++++++++++++++++++
 ++++++.+++++.++++++++++++++++++++++++++++++.++++++++++++++++++++..++++
 +++++++++++.+++++>.++++++++++>+++++>+++++..................................................................+++++
 ^^^
 gpg: key E1D458BB marked as ultimately trusted
 chaves pública e privada criadas e assinadas.</code>gpg: a verificar a base de dados de confiança
 gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
 gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f,  1u
 pub   1024D/E1D458BB 2008-07-25
 Key fingerprint = 2EC2 34C7 B9C6 5F88 1452  FCCB A5A7 8DC6  E1D4 58BB
 uid                  farid (teste de chave gpg)  <farid@qualquercoisa.org>
 sub   2048g/1B2F852E 2008-07-25

Podemos conferir nossa chave segura escrevendo gpg –list-keys:


[livre@220 ~]$ gpg --list-keys
 /home/livre/.gnupg/pubring.gpg
 ------------------------------
 pub   1024D/E1D458BB 2008-07-25
 uid                  farid (teste de chave gpg)  <farid@qualquercoisa.org>
 sub   2048g/1B2F852E 2008-07-25

Agora vamos criar uma chave publica para poder trocar arquivos criptografados com outras pessoas.
o formato para fazer isso é: gpg –export -o nome_do_arquivo nome_do_usuario

</pre>
<div id="terminal"><code> gpg --export -o chave_publica-Farid farid </code></div>
<div>
<pre>

Agora vamos importar uma chave publica com gpg –import nome_de_chave. No nosso a chave se chama “chave_publica_de_tiago”

</pre>
<div id="terminal"><code> [livre@220 ~]$ gpg --import chave_publica_de_tiago
 gpg: key 4528A0A0: public key "Tiago Bugarin (Minha primeira chave  GPG) <tiago@gpg.org>" imported
 gpg: Número total processado: 1
 gpg:               importados: 1
 [livre@220 ~]$ </code></div>
<div>
<pre>

Podemos conferir com gpg –list-keys que a importação deu certo.

</pre>
<div id="terminal"><code> [livre@220 ~]$ gpg --list-keys
 /home/livre/.gnupg/pubring.gpg
 ------------------------------
 pub   1024D/E1D458BB 2008-07-25
 uid                  farid (teste de chave gpg)  <farid@qualquercoisa.org>
 sub   2048g/1B2F852E 2008-07-25</code>pub   1024D/4528A0A0 2008-07-25
 uid                  Tiago Bugarin (Minha primeira chave GPG)  <tiago@gpg.org>
 sub   2048g/301E7CF1 2008-07-25
[livre@220 ~]$
<pre>

Agora vamos criptografar um arquivo (no nosso caso uma foto que se chama foto-importante.png) para enviar para Tiago de Farid.

</pre>
<div id="terminal"><code> [livre@220 ~]$ gpg -e -r Tiago foto-importante.png
 gpg: 301E7CF1: There is no assurance this key belongs to the named  user</code>pub  2048g/301E7CF1 2008-07-25 Tiago Bugarin (Minha primeira chave  GPG) <tiago@gpg.org>
 Impressão da chave primária: 98A5 AB9B 4801 506A 0328  3DE7 EBA4  A9A2 4528 A0A0
 Impressão da subchave: 3018 054A 2978 3E12 8AD1  B728 6E31  5418 301E 7CF1
It is NOT certain that the key belongs to the person named
 in the user ID.  If you *really* know what you are doing,
 you may answer the next question with yes.

Use this key anyway? (y/N) y
 [livre@220 ~]$
<pre>

Pronto, agora foi criado um arquivo criptografado que se chama “foto-importante.png.gpg” que podemos mandar para tiago.

Para tiago poder descriptografar o arquivo que mandamos ele precisa ter a chave privada. e digitar gpg nome_do_arquivo.gpg

</pre>
<div id="terminal"><code> [tiago@zimbo ~]$ gpg foto-importante.png.gpg</code>You need a passphrase to unlock the secret key for
 user: "Tiago Bugarin (Minha primeira chave GPG)  <tiago@gpg.org>"
 2048-bit ELG-E key, ID 301E7CF1, created 2008-07-25 (main key ID  4528A0A0)
Digite a frase secreta:

gpg: encrypted with 2048-bit ELG-E key, ID 301E7CF1, created  2008-07-25
 "Tiago Bugarin (Minha primeira chave GPG)  <tiago@gpg.org>"
 [tiago@zimbo ~]$
<pre>

Este tutorial foi um exemplo, e agora vamos apagar as chaves ficticias publicas e privadas usando o comando gpg –delete-keys para publicas e logo apos gpg –delete-secret-keys para a privada.

</pre>
<div id="terminal"><code> [livre@220 ~]$ gpg --delete-keys Tiago
 gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software Foundation, Inc.
 This is free software: you are free to change and redistribute it.
 There is NO WARRANTY, to the extent permitted by law.</code>pub  1024D/4528A0A0 2008-07-25 Tiago Bugarin (Minha primeira chave  GPG) <tiago@gpg.org>
Delete this key from the keyring? (y/N) y
 [livre@220 ~]$ gpg --delete-secret-keys farid
 gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software Foundation, Inc.
 This is free software: you are free to change and redistribute it.
 There is NO WARRANTY, to the extent permitted by law.

sec  1024D/E1D458BB 2008-07-25 farid (teste de chave gpg)  <farid@qualquercoisa.org>

Delete this key from the keyring? (y/N) y
 This is a secret key! - really delete? (y/N) y
 [livre@220 ~]$
<pre>

Existe tambem um jeito de apagar tudo de um comando so: gpg –delete-secret-and-public-keys

</pre>
<div id="terminal"><code> [tiago@zimbo ~]$ gpg --delete-secret-and-public-keys Tiago Farid
 gpg (GnuPG) 1.4.7; Copyright (C) 2006 Free Software Foundation, Inc.
 This program comes with ABSOLUTELY NO WARRANTY.
 This is free software, and you are welcome to redistribute it
 under certain conditions. See the file COPYING for details.</code>sec  1024D/4528A0A0 2008-07-25 Tiago Bugarin (Minha primeira chave  GPG) <tiago@gpg.org>
Delete this key from the keyring? (y/N) y
 This is a secret key! - really delete? (y/N) y

pub  1024D/4528A0A0 2008-07-25 Tiago Bugarin (Minha primeira chave  GPG) <tiago@gpg.org>

Delete this key from the keyring? (y/N) y

pub  1024D/E1D458BB 2008-07-25 farid (teste de chave gpg)  <farid@qualquercoisa.org>
 [tiago@zimbo ~]$
<pre>
Publicado em Tutorial | Com a tag , | Deixar um comentário

Última fase do livro TEIA 2008

Este livro foi feito na integra em software livre no sistema GNU/Linux Arch, usando Scribus 1.3.5.1, Inkscape 0.47, Gimp 2.6.7 e CMYKTool 0.1.2. A principio consideramos o uso de Krita para o tratamento de imagens já que trabalha com espaços de cor em 16bits e tem suporte CMYK, mas era muito lerdo na hora de aplicar as alternações no tratamento de cor. O fato de termos muitas imagens a serem tratadas fez com isso fosse um fator para desqualifica-lo. Também consideramos o uso de Cinepaint mas preferimos ficar com o bom e velho Gimp. Já que o Gimp não edita em CMYK tivemos que editar as fotos nele e depois converter para CMYK usando o CMYKTool.

A maior surpresa foi ver as provas de cor e encontrar uma similaridade muito grande com o que víamos nos monitores. Usamos gerenciamento de cor no Gimp, Scribus e CMYKTool, mas confessamos que nunca tínhamos feito isso antes e estávamos apreensivos.

O maior problema foi com a fonte “Original Olinda Style”, que por algum motivo apareciam as letras “C” no PDF mas na hora de imprimir… nada. Resolvemos o problema as 4 da manhã vetorizando ela na hora de fechar o arquivo.



Publicado em Teia | Com a tag , , , , , | Deixar um comentário

Atualizando cache de fontes

Depois de ter instalado novas fontes no sistema é importante atualizar o cache. É só abrir o terminal e digitar sudo fc-cache -vf:

gunga ~  $  sudo fc-cache -vf
/usr/share/fonts: caching, new cache contents: 1 fonts, 10 dirs
/usr/share/fonts/100dpi: caching, new cache contents: 398 fonts, 0 dirs
/usr/share/fonts/75dpi: caching, new cache contents: 398 fonts, 0 dirs
/usr/share/fonts/OTF: caching, new cache contents: 208 fonts, 0 dirs
/usr/share/fonts/TTF: caching, new cache contents: 659 fonts, 0 dirs
/usr/share/fonts/Type1: caching, new cache contents: 38 fonts, 0 dirs
/usr/share/fonts/cyrillic: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/encodings: caching, new cache contents: 0 fonts, 1 dirs
/usr/share/fonts/encodings/large: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/local: caching, new cache contents: 28 fonts, 0 dirs
/usr/share/fonts/misc: caching, new cache contents: 59 fonts, 0 dirs
/usr/share/fonts/util: caching, new cache contents: 0 fonts, 0 dirs
/home/gunga/.fonts: caching, new cache contents: 2 fonts, 0 dirs
/home/gunga/.Fontmatrix/Activated: caching, new cache contents: 0 fonts, 0 dirs
/var/cache/fontconfig: cleaning cache directory
/home/gunga/.fontconfig: cleaning cache directory
fc-cache: succeeded
gunga ~  $

Pronto, agora voce verá as fontes nos programas sem ter que reiniciar o sistema ;)

Publicado em Sem categoria | Com a tag , | Deixar um comentário

Formato Livro TEIA

Escolhemos um formato horizontal de livro, não só pela praticidade dele mas também como simbolicamente lembrando do processo horizontal (pelo menos da equipe de comunicação) da construção TEIA.

Altura: 21,5cm

Largura: 31,5cm

Margens:

  • Dentro: 2cm;
  • Fora: 3cm;
  • Cima: 3cm;
  • Baixo: 2cm

Marca de Corte: 0,25cm (por lado)

Fonte:

  • Texto: BPG Cheulebrivi (11pt com espaçamento 15pt)
  • Título: Original Olinda Style (29pt com espaçamento 37pt)

Gerenciamento de Cores:

  • RGB: sRGB
  • CMYK: Euroscale Uncoated v2

Papel:

  • Capa: Couché Brilhante 180g Verniz Localizado
  • Miolo: Couché Fosco 90g
Publicado em Documentação, Teia | Com a tag , , | Deixar um comentário

Documentação Livro TEIA 2008

Estaremos iniciando a documentação do processo do desenvolvimento da 2ª versão do livro da TEIA 2008…

Vamos usar Scribus 1.3.5, Inkscape 0.46 (até poder compilar a 0.47 no Archlinux), Gimp 2.6, e Fontmatrix… vamos testar Krita, Cinepaint e Digikam para editar as imagens alem do Gimp que só usa 8 bits de cor…

O livro será dividido em duas partes:

1- Livro com fotos e textos institucionais;

2- Brochura do relatório da comissão dos pontos de cultura.

Publicado em Documentação, Teia | Com a tag , | Deixar um comentário