Nov 8

Durante a SACE 2008 (Semana de Arte, Cultura e Esportes) do CEFET-PB, fui chamado para desenvolver um simples quadro de medalhas. A SACE foi modelada de uma forma que cada curso do CEFET representava algo como um país nas olimpíadas, e ai as medalhas iam sendo acumuladas nas diversas modalidades.

hmm… revisando o post pra publicar, pensei em você que buscou no google por como fazer essa transformação de CDR -> SVG e ia ter que ler esses vários parágrafos inúteis abaixo. Assim, se você é um desses, pule diretamente para o 7º parágrafo, considerando esse como o segundo. :)

A parte de desenvolvimento foi rapidamente desenvolvida usando PSP (Python Server Pages) - iih, que Igor não leia isso - e nem banco de dados em si eu precisei usar (pela simplicidade do quadro, optei por persistir e serializar objetos com pickle mesmo). Um (simples também) painel de controle pra o pessoal do DCE adicionar as medalhas, e uma função de comparação dos atributos do objeto Curso para ajudar o sort() do python a ordenar eles direitinho.

Mas, como esse post não é dedicado a python ou a que tecnologias\idéias foram necessárias para desenvolver o quadro (apesar de que vou adicionar a etiqueta Python nas categorias desse post :D) eu encontrei um problema que julguei mais complicado, a logomarca do Cefet-PB que estava em formato .cdr.

Uso Inkscape para fazer (as poucas) artes que preciso (e só realmente quando preciso meeesmo!), e apesar do Corel Draw e do Inkscape trabalharem com imagens vetoriais, o Corel tem um formato proprietário de arquivos enquanto o Inkscape basicamente gera um .svg, um arquivo XML que descreve as formas bidimensionais desenhadas no editor. Se você não sabe se uma imagem é ou não um desenho vetorial basta dar um zoom nele e ver se os pixels ficam mais aparentes ou se tudo continua com qualidade perfeita. Esse é o principal indicio de que seu desenho é vetorial.

Assim, pensei em refazer a logomarca no Inkscape, tarefa que ia levar um tempinho mas que ia valer a pena, afinal não ia usar essa logomarca apenas nesse quadro de medalhas (hmm será que o simbolo formado por árvores, rios ou coisa assim vai me ajudar no trabalho de Ciências do Ambiente?) e enquanto tentava desenhar a elipse que envolve a logomarca resolvi procurar no Google se existia uma outra maneira de pegar aquele maldito .cdr e trabalhar com ele no Inkscape.

Foi ai que achei o ator principal desse post, o Uniconvertor, ferramenta desenvolvida pela sk1project e que funcionou muito bem aqui. Feita em Python e com muito código (tem um modulo pra cada tipo de desenho, como de gradientes, elipses, retangulos, espiral e etc) bastou eu baixar aqui e usar o easy_install que ela já estava pronta pra ser usada:

flavio@doritos:~$ uniconv
UniConvertor 1.1.3

USAGE: uniconv [INPUT FILE] [OUTPUT FILE]

Converts one vector graphics format to another using sK1 engine.
sK1 Team (http://sk1project.org), copyright (C) 2007,2008 by Igor E. Novikov

Allowed input formats:
AI  - Adobe Illustrator files (postscript based)
CDR - CorelDRAW Graphics files (7-X3,X4 versions)
CDT - CorelDRAW templates files (7-X3,X4 versions)
CCX - Corel Compressed Exchange files
CMX - Corel Presentation Exchange files (CMX1 format)
SVG - Scalable Vector Graphics files
FIG - XFig files
CGM - Computer Graphics Metafile files
AFF - Draw files
WMF - Windows Metafile files
SK  - Sketch/Skencil files
SK1 - sK1 vector graphics files

Allowed output formats:
AI  - Adobe Illustrator files (postscript based)
SVG - Scalable Vector Graphics files
CGM - Computer Graphics Metafile files
WMF - Windows Metafile files
SK  - Sketch/Skencil files
SK1 - sK1 vector graphics files
PDF - Portable Document Format
PS  - PostScript

Example: uniconv drawing.cdr drawing.svg

flavio@doritos:~$

Aí foi fácil. Olha só o exemplo? uniconv logomarca_cefetpb.cdr logocefetpb.svg e txã, a logomarca estava gerada em formato svg. Tudo bem que precisei fazer algumas alterações (a elipse veio preenchida, e alguns pontos foram tratados como linhas ao invés de figuras mesmo) mas funcionou que foi uma beleza.

Nov 6
Tirinha #03
Posted by Flávio Ribeiro in Tirinhas on 11 6th, 2008| icon3No Comments »

huahuauhauhahuahu pego do xkcd.com, mas visto nos itens compartilhados do Google Reader!

Nov 4
Alterando o MOTD do Ubuntu Server
Posted by Flávio Ribeiro in Linux on 11 4th, 2008| icon3No Comments »

Pra quem não sabe o que é, o MOTD (Message of the day) é aquela mensagenzinha que aparece sempre que você se loga no SSH ou faz login no modo texto. É algo mais ou menos assim:

flavio@localhost’s password:
Linux doritos 2.6.24-21-generic #1 SMP Tue Oct 21 23:43:45 UTC 2008 i686

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

To access official Ubuntu documentation, please visit:
http://help.ubuntu.com/
Last login: Tue Nov  4 16:05:15 2008 from localhost
flavio@doritos:~$

Para alterar esses textos, não basta editar o /etc/motd (isso no Ubuntu Server). Fiz algumas mudanças nele e essas alterações foram resetadas ao reiniciar o servidor. Foi ai que vi que o /etc/motd é apenas um link para /var/run/motd. Então, para alterar de verdade o MOTD no Ubuntu Server você precisa editar é o /var/run/motd.

Mas se você quiser tirar a linha Last Login, já é nas configurações do ssh:

flavio@doritos:/var/www$ cat /etc/ssh/sshd_config | grep PrintLastLog
PrintLastLog yes
flavio@doritos:/var/www$

Pronto, trocou nessa linha yes por no e a linha Last Login ao logar por SSH não vai aparecer mais, apesar de eu recomendar deixar ela sempre aparente.

Recomendo também um ASCII Generator pra você fazer firulas no MOTD: http://www.network-science.de/ascii/