jan 7

I ever like to use the python.vim to program in Python. It’s a enhanced version of the python syntax highlighting for VIM.

I use regular expressions very often, so I did some changes in python.vim to make better the highlight to regular expressions. I sent it to the plugin’s author, but he didn’t like because it doesn’t works fine with multiline expressions like:

re.search(r’(?P<id>[0-9A-Fa-f]*)!?\*?\s*’
‘(?P<size>[\d]*)….(?P<date>.{12}).* ‘
‘(?P<from>.*)’, value)

or

re.search(r’(?P<id>[0-9A-Fa-f]*)!?\*?\s*\
(?P<size>[\d]*)….(?P<date>.{12}).* \
(?P<from>.*)’, value)

The most times I use the regular expressions in a single line, so it is very useful to me. It will highlight groups, quantifiers e etc.

If it’s useful to you, just apply the patch to your python.vim:

http://www.focolivre.org/arquivos/regex_patch

nov 25

Já faz quase dois anos que eu tenho um notebook Acer 4520, na época que eu comprei eu já usava Linux porém não conhecia muito bem o software livre, e por isso, não me preocupei em comprar um hardware 100% compatível.

Minha placa de vídeo é uma nvidia 7000M, e não é suportada pelo “nv”, por isso eu tive que obrigatoriamente usar o driver proprietário durante um bom tempo. A alguns meses o nouveau passou a suportar muito bem a minha placa e por isso eu não preciso mais do driver proprietário. Tudo bem, eu não tenho aceleração 3D e até tive que parar de testar o GnomeShell por causa disso, mas torço para que o nouveau evolua mais.

A placa wireless é uma broadcom BCM4311 (rev1), e para ela funcionar bem eu precisava de um firmware proprietário. Recentemente o OpenFWWF passou a suportar minha placa wireless e eu não mais preciso de um firmware proprietário para ela funcionar.

Enfim, pode ter demorado um pouco, mas finalmente o meu hardware funciona com software 100% livre, ou 99% devido aos blobs no kernel. De qualquer forma, isso é bem legal e se você também possui um desses dispositivos, saiba que existem alternativas livres e use-as para que elas possam melhorar cada vez mais.

out 3

Um problema muito grande que eu sempre tive com o VIM foi encontrar bons esquemas de cor. Existem muitos, muitos mesmo, mas a maioria deles é com fundo preto e eu não gosto nem um pouco de ficar o dia inteiro olhando para uma tela preta, é muito cansativo aos olhos, prefiro fundo branco.

Depois de muito procurar consegui um que me agradou muito, e que inclusive, recomendo a todos. O nome dele é “Eclipse” e eu até fiz algumas alterações nele para se adequar melhor ao meu gosto.

Você encontra screenshots e o link para baixá-lo no seguinte endereço:

http://axisym3.net/jdany/vim-color-schemes/

E as minhas modificações você pode baixar aqui:

http://www.focolivre.org/arquivos/eclipse.vim

* O que mudei foi a cor dos comentários e adicionei alguns outros grupos.

Bom, o fato foi que o tempo passou (muito) e eu enjoei dele, e esse era um problema realmente muito grande já que eu sou chato demais pra conseguir um outro tema que realmente me agrade. Decidi então fazer um para não ter problema, e até que ficou legal:

C:                                     Python:                             Perl:

tango_vim tango_vim1 tango_vim2

Usei apenas as cores da paleta do projeto Tango (http://tango.freedesktop.org).

Na verdade, o fundo eu deixei por padrão em branco porque achei mais agradável pra mim, mas para o tema ficar completamente com as cores do Tango, apenas coloque o seguinte no seu .vimrc (assim o fundo também estará de acordo com o tango):

let g:bg_tango = 1

**obs: Não sei porque mas no Firefox a imagem esta ficando com a cor um pouco diferente.

Segue o link para baixá-lo:

http://www.vim.org/scripts/script.php?script_id=2799

ago 9

preview_dialogEu sempre fico querendo contribuir com todo software que eu utilizo, isso é realmente difícil, você quer ajudar em tudo, mas no final não consegue ajudar em nada. Finalmente eu consegui contribuir um pouco para o VIM (que é um dos meus software favoritos).

Quando eu vejo alguém reclamando de algum software livre, eu costumo brincar dizendo “a culpa é sua”, isso porque o código fonte está disponível e se o software está com algum problema, a culpa é sua. É apenas uma brincadeira que costumo fazer. Outro dia um colega meu (um dos que eu costumo brincar dessa forma) me pediu uma ajuda para editar um arquivo css, ele estava usando o Netbeans e quando ele passou o mouse sobre uma definição de cor, apareceu uma pequena janela mostrando-a, na hora eu achei bem legal e disse a ele “Pô que legal isso ai hein?”, ele logo aproveitou a oportunidade e disse “o seu VIM faz isso?”, eu respondi que não, e ele mais uma vez aproveitou e disse “a culpa é sua”.

Obviamente eu não podia deixar barato e escrevi um plugin que faz isso, gravei um vídeo mostrando na prática (se você usa o firefox 3.5 nem precisa baixar o vídeo, você pode vê-lo prelo próprio navegador):

http://www.focolivre.org/arquivos/preview_dialog.ogg

É isso, quando você passa o cursor sobre uma cor ou uma imagem, ele exibe uma janela (usando GTK). Ao pressionar qualquer tecla a janela é fechada e você pode continuar editando seu arquivo normalmente.

Ele é extremamente útil para editar arquivos css, mas pode ser usado para qualquer coisa e em qualquer tipo de arquivo.

Você o encontra no seguinte link:

http://www.vim.org/scripts/script.php?script_id=2734

Não deixe de me mandar um e-mail (taylonsilva@gmail.com) no caso de sugestões ou dúvidas.

ago 3

devhelp Eu já estava buscando a muito tempo uma maneira de centralizar toda a documentação que eu preciso usar constantemente. Tinha que ser offline porque uma das poucas coisas uteis que se faz fora da internet é programar e para isso preciso da documentação offline. O DevHelp era a única solução (realmente boa) que eu havia encontrado, porém, existe pouca documentação no formato do devhelp. Procurei uma maneira de converter html para o formato xml do devhelp porém não encontrei, até existe um script no código fonte do devhelp porém ele não funcionou e eu estou procurando algo que realmente não me dê trabalho.

Acabei encontrando o projeto “HTML Help Books, lá tem muita documentação no formato do devhelp, mas ainda assim nem metade do que eu preciso. Felizmente, nesse mesmo projeto existe um script feito em python que converte arquivos .chm para o formato do devhelp. É extremamente fácil encontrar documentação em chm, tanto que muitas  das que eu precisava como Python, Django, Postgresql e Jquery foram facilmente encontradas. Basta então converter o chm para .devhelp:

Baixe o script em:

http://htmlhelp.googlecode.com/files/pyhtmlhelp-0.5.tar.gz

Ele suporta vários formatos, e reconhece esses formatos através da extensão do arquivo, então para converter para o formato do devhelp, basta definir o arquivo de destino com o formato “.tgz”:

hhconvert.py arquivo_origem.chm arquivo_destino.tgz

Existe também um script que cuida de toda a instalação dessa documentação no devhelp (ele simplesmente copia o conteúdo do arquivo .tgz par a pasta “~/.local/share/devhelp/books/”):

http://htmlhelp.googlecode.com/svn/trunk/misc/devhelp-install

Para instalar?

./devhelp-install arquivo.tgz

Pronto! Basta abrir o DevHelp e a documentação estará lá:

devhelpscreen

Continuo procurando uma maneira fácil e rápida de converter os arquivos HTML diretamente para o devhelp, se alguém tiver alguma dica, por favor me avise =)

jun 22

27-bill_sala_aulaNão há dúvidas de que a única melhor maneira de aprender a programar é programando. Porém, existem outras coisas que ajudam muito no aprendizado, e uma delas é ler códigos de bons programadores. Essas duas coisas unidas deveriam ser suficientes para que qualquer pessoa realmente interessada aprendesse a programar. Por isso, professores não só de cursos de ciência da computação mas também de sistema de informação, engenharia da computação entre outros, deveriam incentivar que os alunos programassem e lessem bons códigos, mas infelizmente isso nem sempre acontece.

Os laboratórios das faculdades rodam sistemas operacionais proprietários, os professores indicam e incentivam o uso de compiladores, máquinas virtuais, IDEs de programação e muitas outras coisas proprietárias. Empresas como a Oracle e a Microsoft oferecem gratuitamente palestras, licenças de seus produtos entre outras coisas para os alunos, e a faculdade acha isso legal, mas será que esses produtos de código fechado, ajudam no aprendizado do aluno?

Responder sim para essa pergunta seria no mínimo uma hipocrisia, pelo simples fato de que não se pode aprender sobre algo que ninguém além do próprio desenvolvedor conhece

Por sorte dos alunos (e minha, já que sou um deles), muitas ferramentas que são padrões de mercado são também livres, exemplos disso são o Eclipse e o Netbeans (IDEs de programação largamente utilizadas nas faculdades), e está ai a única chance dos alunos conseguirem tirar proveito de algum código bem escrito, porque se depender dos professores (ou do colegiado como um todo), apenas o que é “padrão” de mercado será utilizado não importando se isso ajudará no aprendizado ou não.

mai 24

É com enorme prazer que o Projeto Fedora Brasil anuncia que já está disponível para download a 5ª edição da Revista Fedora Brasil.

Neste número fizemos uma abordagem especial à suite de escritórios BrOffice.org e fomos brindados com um editorial escrito pelo Gustavo Pacheco, sócio-fundador do BrOffice.org. Aproveitamos o ensejo para iniciar a série sobre BrOffice.org para uso avançado, então, se você quer saber todo o potencial do BrOffice.org este é um bom momento para começar a sua coleção.

Como sempre, escolhemos um jogo muito interessante: Secret Maryo Chronicles é um remake bastante especial de um jogo clássico que todo mundo conhece e com certeza vai agradar até mesmo aos jogadores mais exigentes.

Nem GNOME nem KDE, nós o convidamos a conhecer o Enlightenment, que promete transformar seu desktop numa obra de arte e, de quebra, fomos conversar com o Professor Gregory Kriehn, do departamento de engenharia da Universidade do Estado da Califórnia – e pai do repositório Enlightenment para Fedora.

Igor Soares analisa de forma clara a complexa situação dos drivers proprietários no mundo Linux e as aulas de Shell Script finalmente deixam a fase introdutória, agora sob a pena de Fabiano Caixeta Duarte. Tem mais: segurança com SPA, controle de banda, Conexões 3G e Yumex.

Faltou algo? Que tal a estreia das nossas tirinhas de humor?

Faça seu download: http://www.projetofedora.org/Revista

mai 21
KDE por um tempo?
icon1 Taylon | icon2 Idéias malucas | icon4 05 21st, 2009| icon32 Comments »

Não… apenas por um dia200px-kde_logosvg

A primeira distribuição Linux que eu utilizei foi o Conectiva 10, na época a Conectiva já não existia mais, porém eu não sabia disso XD e logo depois de descobrir, instalei o Mandriva. Depois vieram muitas outras e isso não vem ao caso, o fato é que no inicio eu utilizei muito mais o KDE do que o Gnome. Eu tinha um computador bem ruim na época e o KDE ficava muito pesado, o Gnome também não ficava muito bom, por isso eu adorava o Fluxbox e o XFCE. Durante muito tempo eu não tive nenhuma preferência muito grande por ambiente gráfico nenhum, o XFCE ficava melhor na minha máquina, mas eu sabia que o KDE e Gnome tinham muito mais recursos então eu meio que achava tudo bem equilibrado e depois que consegui um computador melhor, passei a utilizar o que vinha por padrão na distribuição (naquela época eu vivia testando um monte de distribuições, ôôôô saudade daquela vida de atoa XD).

O tempo passa, as coisas mudam, nossas ideias e conceitos evoluem, e depois de um tempo eu percebi que eu simplesmente não conseguia utilizar outro ambiente gráfico que não fosse o Gnome. Eu já não podia mais utilizar o KDE, achava um absurdo aqueles menus gigantes que não cabiam na minha tela, e ainda por cima, eu gostava mais das aplicações do Gnome.

Quando o pessoal do KDE começou a divulgar os planos do KDE 4 eu pensei, “nossa, legal, acho que agora o KDE vai ficar mais simples, mais bonito, vou querer ver isso”, e até acompanhei por um tempo o desenvolvimento dele. O fato é que não mudou nada, apesar de ter ficado muito mais leve, continuava tudo feio, tudo grande demais (só porque eu uso óculos não quer dizer que eu não enxergo os ícones e menus na tela).

Mais um tempão se passou, agora o KDE já está na versão 4.2 e eu novamente pensei “e agora? será que dá pra usar o KDE?”.

Resolvi instalar o KDE para ver como andam as coisas por lá, pretendia usa-lo durante esses dias que faltam para o lançamento do Fedora 11, porém infelizmente não foi possível XD, eu não consegui ficar mais de um dia com ele não.

Tenho que confessar que me surpreendi muito com a beleza dele, ele está bonito, muito bonito, isso é fato, mas não adianta ser bonito sem ser simples. Continuo ficando perdido nos menus, e na infinidade de opções inúteis que ele me apresenta.

O lançador de aplicativos (ALT+F2) é péssimo, lento e não cumpre bem sua função. Ao utilizar várias áreas de trabalho, as janelas minimizadas continuam aparecendo em todas as áreas, ou seja, muito menos funcional que no caso do Gnome, que exibi a janela minimizada apenas na área de trabalho em que a janela se encontra.

O Amarok melhorou muito desde a última vez que o vi. Mesmo assim, continuo achando tudo confuso demais na interface dele.

Outra aplicação do KDE que resolvi testar foi o Lokalize, e essa foi definitivamente A PIOR ideia que tive nos ultimos meses. Estou trabalhando na tradução de um documento ENORME (mais de 10000 strings), normalmente uso o POEdit para fazer as traduções, e ao abrir o esse arquivo .po, o POEdit chega a travar por alguns segundos (devido ao tamanho absurdo do arquivo). Pois bem, o Lokalize não só travou como deu um jeito de corromper o arquivo e me fazer mais de 2500 strings traduzidas, consegui recuperar muita coisa, mas infelizmente não foi possível recuperar tudo. Sendo assim, não preciso falar mais nada do Lokalize né?

O Gnome é perfeito, acho que é um projeto que se encaixa em praticamente todos os conceitos que eu julgo corretos para um ambiente gráfico (simplicidade, simplicidade, simplicidade, liberdade, entre outros), o KDE, na maioria das vezes, é bem diferente disso, o que faz com que naturalmente eu prefira utilziar o Gnome, mesmo assim, é preciso  dizer que o KDE está evoluindo muito e que eu torço por ele, uma vez que eu acho interessante existir um outro projeto para “concorrer” com o Gnome.

abr 19
O poderoso VIM
icon1 Taylon | icon2 Vim | icon4 04 19th, 2009| icon32 Comments »

vim_logoA cada dia que passa o VIM me surpreende mais, eu fico simplesmente maravilhado de ver as coisas que ele pode fazer, quanto mais você procura mais você acha, existe uma infinidade de plugins e scripts que fazem coisas realmente surpreendentes.

Sempre ouvi falar de outros editores, como o Emacs e o TextMate, ou de IDEs como o Anjuta, o Netbeans ou o Eclipse, porém eu fico sempre tão impressionado com o poder do VIM que as vezes penso como é possível existir algo mais eficiente que ele.

Eu nunca utilizei nenhuma IDE, mas ao analisar os recursos básicos do Anjuta, Netbeans ou Eclipse eu simplesmente não vejo nada que justifique o seu uso. O VIM faz tudo que eles fazem e muito mais, além de que a edição de texto  parece ser muito mais eficiente no VIM.

O Textmate eu descarto porque não é livre, mas o Emacs parece fazer tudo que o VIM faz, assim como o VIM parece fazer tudo que o Emacs faz.

Eu quero em breve utilizar o Emacs e também algumas IDEs para saber se realmente existe algo melhor que o VIM. Na verdade, descobrir isso se tornou um objetivo, eu preciso REALMENTE saber se é possível algum outro editor ou IDE superá-lo. Postarei aqui assim que tiver uma conclusão a respeito.

Por enquanto, continuarei usando o VIM e me surpreendendo cada dia mais com ele. Vou fazer também alguns posts a respeito dos recursos que eu utilizo, pois apesar de ter praticamente tudo espalhado pela internet, sempre é necessesário modificar alguma coisa para se adequar às suas necessidades e essas modificações pessoais sempre ajudam a compreender o funcionamento geral da coisa.

abr 9

O que é Shadow Filter?

Shadow Filter é (será) uma aplicação que gera filtros em pastas. Você pode criar filtros baseados no tipo dos arquivos contidos em uma pasta, fazendo com que eles sejam automaticamente movidos para o local desejado. O Shadow Filter será licenciado sobre GPL e é uma aplicação feita para o GNOME, usando C e GTK.

História

Eu queria aprender efetivamente a programar e parar de “testezinhos”. Resolvi então começar a desenvolver uma aplicação. Eu simplesmente não tinha nenhuma idéia do que fazer, e também não sabia qual linguagem usar. Inicialmente pensei no Python porém acabei fazendo em C, nenhum motivo especial, simplesmente parei de ficar pensando em qual linguagem fazer, e resolvi que seria C. Pedi a um amigo meu (que apesar de estudar direito e não estar muito afim de aprender computação, usa Fedora, provando que um usuário normal, com um pouquinho de boa vontade pode usar software livre) que me desse alguma idéia, então ele sugeriu que eu criasse um filtro para arquivos em pastas.

Era final do ano (2008) e eu iria viajar pra praia nas próximas semanas. Recolhi então uma grande quantidade de documentação do GTK, C, GLib, GLADE e fui para a viajem. Foi a semana na “praia” que mais rendeu na minha vida, desenvolvi toda a parte gráfica com o Glade e comecei a trabalhar com o GTK (eu já sabia alguma coisa de C), eu estava de férias então com mais ou menos um mês e meio o Shadow Filter chegou no ponto em que está hoje. Depois, com a volta às aulas o desenvolvimento parou, falta de tempo é a desculpa que mais ouvimos por ai, então não gosto de ficar sempre dizendo isso, mas REALMENTE eu não tenho tido muito tempo, trabalho de 8:30 às 17:30 e estudo de 19:00 às 22:40, chegando em casa por volta de 23:50.

Tá, e porque reescrever tudo em Python?

Simples, eu quero aprender Python e orientação a objetos. Até as férias do meio do ano, provavelmente não poderei me dedicar inteiramente a esse aprendizado, porém pretendo ao menos começar.

Eu acho que a única maneira de aprender a programar é programando, a linguagem eu realmente acho que é apenas um detalhe, e a escolha do Python se deve ao fato de ele ser largamente utilizado em projetos de software livre além de ser orientado a objetos. Eu poderia começar outro projeto, mas eu quero continuar desenvolvendo o Shadow Filter, não tenho nenhum motivo especial para isso (afinal, até acho que ele não será tão útil), apenas quero continuar. Então resolvi continuar o mesmo projeto porém em Python.

Vale a pena?

Não sei, eu aprendi muito escrevendo ele em C (apesar de não ter desenvolvido nem metade), aprendi muito sobre o GTK também, enfim, é coisa demais para aprender em pouco tempo. Não há nenhum problema com o C, pelo contrário, apenas quero aprender algo novo (apesar de ainda não saber o suficiente de C).

Agradecimentos

Gostaria de agradecer especialmente ao Allan por ter me dado essa idéia e ao Apu que fez o ícone/logo do projeto, e que inclusive precisa ser colocada de acordo com as especificações do Tango.

Agradecer também ao Gordo e ao Diego que me ajudaram com idéias para o nome e para a logo (apesar de que a idéia da logo acabou sendo do Apu mesmo), bom, agradecer até ao Henrique pela excelente sugestão dada quando eu ainda estava pensando no que fazer:

“Pelo que eu entendi, você tá pedindo idéia de programa pra poder fazer com essa linguagem aí. Apesar de eu nunca ter ouvido falar desse tel de “Python”, eu acho que posso te dar alguma idéia de programa.

Tipo, o engraçado é que eu pensei na hipótese de você desenvolver esse tal programa, com a idéia de alguém aqui, talvez até com a minha, e o trem for bom mesmo, você registrar como seu e ganhar montes de dinheiro. Você vai dividir com quem teve a idéia, né??

Hahahahha, brincadeira. Mas agora, falando sério, o programa que eu queria dar idéia pra você fazer é tipo um programa que me permita teletransportar pelo mundo. Ir de um lugar a outro na velocidade da luz. Como eu disse antes, não sei se essa linguagem permite isso, mas fica aí a dica.”

E obrigado a todos eles novamente, por terem agüentado os meus surtos quando algo funcionava XD.

Idéias para o futuro do Shadow Filter

Eu tenho algumas idéias legais para ele, em futuras versões será possível criar filtros baseados em extensões de arquivos, nome, data de modificação enfim, a intenção é tornar a criação de filtros o mais flexível possível. Ele irá monitorar a pasta e quando um arquivo for adicionado a ela, ele irá automaticamente mover/excluir/copiar o arquivo para a pasta especificada, caso seja um arquivo compactado ele irá detectar o conteúdo e fazer a ação devida. Haverá também um log com todos os filtros aplicados e quero também colocar a opção de automaticamente converter formatos de áudio e vídeo, resolvendo o meu problema de quando eu baixo algum mp3 e tenho que converter para OGG “manualmente”.

Não sei se vou terminar ou não de desenvolve-lo, até porque, os planos divulgados para o GNOME 3.0 (http://live.gnome.org/ThreePointZero/Plan) provam que o Shadow Filter realmente não será muito útil, mas o objetivo é aprender, se for um software útil melhor.

Se alguém tiver curiosidade em ver o código escrito até agora basta entrar em contato comigo, não acho que haja nenhuma necessidade de distribuí-lo ainda porque até agora, a única coisa que ele faz é criar filtros para arquivos de áudio, vídeo e imagem, além disso ele ainda não monitora a pasta, ou seja, ele é inútil (por enquanto).

Segue abaixo algumas screenshots dele:

screen_shadow tela_shadow1

« Previous Entries