h1

Enpaitando tudo II – A missão!

outubro 12, 2007

Não não.
Voltar a postar não é questão de ter mais tempo livre.
O truque [estou aprendendo com a peixinha-tomadora-de-coca-cola] é aproveitar bem o tempo.
O último post, por exemplo, foi feito em sala de aula. Não que eu estivesse burlando regras! É que quando entrei na sala a professora me avisou que eu ja havia pago aquela disciplina semestre passado [e sido aprovada].

Vamos à carga!

Que bom que nosso ambiente python ja funfa no pendrive! Agora ja daria pra migrar de uma máquina pra outra do lab sem precisar recomecar todo o processo de configuracao [e sem senha de admin]. Masssssssss… [em homenagem a freeeeenk] iriamos precisar de GTK! Nosso zipador precisava de uma interface gráfica bonita e agradável!
Só baixar e instalar o gtk ora essa!
Ledo engano.. Oo

Explico!
Quando voce ta lidando com python [o comum, sem ser portable] a instalacao pode ser simplificada por um “pacotao da alegria”. Esse tutorial aqui explica direitinho isso.
O pacotão instala coisas como Glade, Runtime Gtk, libglade e por aih vai..

A ordem eh essa aqui:
– Python
– GTK + Glade (pacotao da alegria)
– PyGtk (binding, isto é, ponte entre o Python e o Gtk)

Mas pra o portable python esse pacotão não pega! Oo
Com a ajuda de Marcelo estabelecemos essa receita pro sucesso.

Separe um Python Portable limpo, recém dezipado.
Baixe e instale cada um desses componentes:
Gtk pra development
Pycairo
Pygobject
Pygtk

Esses produtos são todos gratuitos e de qualidade!

Provavelmente nao vai funfar na primeira instalacao!!
Especialmente se voce ja tiver o ambiente Python instalado na sua maquina!
=)

Mas algumas gambiarras sao possiveis.
De toda forma, assim que eu conseguir uma conexao decente [segunda no cefet] subo o ambiente portable ja pronto e configurado pro GTK!!!! =D

[ ]’s

Agradecimentos especiais ao meu primo Jesus que me aguentou durante o post!!!
=D Bjo dui!

h1

Tirando o atraso

outubro 11, 2007

Aiai…

Tem um mói de post pendente..
Comecemos entao!

Semestre passado tivemos uma cadeira (não me lembro o nome pra variar ¬¬) que paguei junto com a peixinha. Pro projeto final fizemos um zipador em paitú com gtk!

Comecamos a enfrentar problemas logo de cara!
Os computadores da nossa sala de aula rodam windows e nós não temos acesso á senha de admin das maquinas… Pra complicar aqui não existe um help desk de fato. Como fazer para configurar nosso sisteminha do mal?

Foi aí que Marcelo Lira nos socorreu com o Portable Python!!
Isso mesmo senhoras e senhores!! Um ambiente python, com o Scite [um editor simpatico codado em lua criado unicamente pra testar/mostrar uma code engine chamada Scintilla] e com coisas como o Django e o SQLite, prontinho pra baixar [14 mb] e pra dezipar [35 mb]. Pronto! Ta funcionando! =)

No caso da gente o projeto exigia GTK…
Entao ainda tivemos que fazer uma serie de configuracoes e talz.
Posto isso em breve, agora to atrasada!!!
=*

h1

Roda, roda, roda que a IDE é um sonho que vai compilaaaarrr

outubro 5, 2007

Pois bem, assumindo a máxima: “não pergunta que eu respondo” e para deixar meu legado por aí, caso eu tenha um troço e vá “estudar geologia nos campos celestes”, resolvi postar como se compila algo em C + GTK no terminal. Mastigadinho para quem está começando.
Vai ter que ter na sua máquina(opa, lembrando que eu estou falando de GNU/LINUX em Debian):
– GTK, óbvio
– O famoso pacote build-essential (vai instalar gcc e um monte de coisa necessária para começo da brincadeira, mas se você já tem o negócio pronto, falo o gcc, não precisa do build-essential)
– pkg-config (ele vai dizer ao gcc onde se “esconde” o gtk – na verdade não só o gtk, ele é um dedo-duro no sistema hehehehe… ele retorna informações sobre bibliotecas instaladas)

Agora o legal é saber se seu sistema já tem isso, ou exatamente o que você vai precisar. Execute
dpkg -l | less

Digite
/o que você vai procurar

Tipo
/pkg-config

Aperte o “n” do teclado para mostrar a próxima ocorrência.

Para sair
q
(de quit)

Depois de tudo ok, vamos testar com um programinha básico. Para não imitar todo mundo, vamos fazer um “Pira, pirá, pirô”, ao invés de “Alô Mundo”. Uma documentação que eu gosto é a da GNOME.

#include <gtk/gtk.h>

int main(int argc, char **argv)
{
GtkWidget *janelinha_bonitinha;
gtk_init(&argc, &argv);
janelinha_bonitinha = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW (janelinha_bonitinha), “Pira, pirá, pirô”);
gtk_window_set_default_size(GTK_WINDOW(janelinha_bonitinha), 300,200);
gtk_widget_show(janelinha_bonitinha);
gtk_main();
return 0;
}

O comando para compilação é:
gcc -Wall -g teste.c -o teste `pkg-config – -cflags – -libs gtk+-2.0`

O ` é crase mesmo, não é aspa simples não.

Depois é só executar
./teste

e ver uma janelinha assim:

exemplo.png

Você pode saber se o pkg-config está pegando se executá-lo sem ser pelo gcc. A saída é algo parecido:
dea@biu-debian:~$ pkg-config –cflags –libs gtk+-2.0
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0

Bem… acho que dá para começar.

peixebeta

h1

II ENSL e Aracaju

outubro 3, 2007

Cada pessoa pode olhar determinada coisa sob diferentes aspectos. Decompus meu “eu” para falar sobre o II ENSL e Aracaju:

meu “eu” fresco: Aiiiiii!!!! Palestrantes, participantes, local, cidade, organização: tudo fofinho. Destaque para o fofo mais fofo que foi o menino de nove anos que estava falando do OLPC, Rodrigo Fischer.

meu “eu” técnico: As palestras contemplaram diversos temas, possibilitando que pessoas que fossem de outras áreas participassem. As de segurança tiveram um nível avançado e foram muito boas.Teve uma quantidade grande de gente, que poderam estar distribuidos em 4 palestras simultâneas, além de alguma oficina.

meu “eu” recifense: Que esquisito! A cidade não é cheia de lixo, nem tem pedinte, é planejada e a orla é um show. Os semáforos são mágicos: a gente se aproxima com o carro e eles vão abrindo.

meu “eu” religioso: Escolher uma distro é quase como escolher uma religião. Sendo assim, o evento foi religioso, com 3 dias de cultos ecumênicos onde pessoas de religiões diferentes conversavam(isso não aconteceu com todos não, teve um que “latiu” com a gente, só por causa da diferença de “religião”) e se abraçavam.

meu “eu” da área de humanas: É como sempre digo: o melhor desses encontro são as pessoas que você conhece lá.

E para finalizar o post, o meu “eu” sintético: O evento foi muito bom, numa cidade muito bonita, cheia de gente muito legal das quais já tenho saudade. A viagem e o evento me mostraram que tem como dar um “break” na correria que levo aqui em Recife, onde sempre existem milhares de coisas a serem feitas tudo no mesmo horário, os ônibus são sempre cheios, o trânsito sempre congestionado e somos todos viciados nisso. Foi um descanso não físico de fato, e sim dos “vícios” da rotina.

bjo,

PeixeBeta

h1

Manual do Nerd – Brincando com Fork Bomb

setembro 17, 2007

É bom ter amigos para fazerem alguns teste para nós, como esse aqui:
teste(){teste | teste & }; teste

Pedi para alguns amigos testarem o código acima pelo terminal do Linux:

– Ô fulano, testa esse código para mim, por favor – Falei.
– OK – Falou a vítima.
– Olha, não executa isso em servidor não, e salva as tuas coisas – Fui boazinha que avisei.
– E tu me avisa agora?? – Foi ingrato de não me agradecer(é certo que depois que executa é um pouco tarde).

Depois a pessoa ficava off-line, porque travava e tinha que reiniciar a máquina =D

O nome da brincadeira é fork-bomb e não perdoa. É uma forma de ataque para negação de serviço, onde um processo é criado, criando outro e outro e outro… em um loop infinito até que a máquina fique saturada de processos e então trave de um jeito que só resetando mesmo.

Com Windows a gente também pode brincar. Escreve no Notepad:
:s
start %0
goto s

Salva como “.bat” e executa. Pronto! ele vai abrir um monte de janelas do prompt e depois travar
=D

No Linux tem como se precaver disso. Através do ulimit pode-se reduzir a quantidade de processos em execução:
$ ulimit -u [numero_máximo_de_processos]

Ou então dar uma olhada no /etc/security/limits.conf e editar algumas coisinhas.

Ainda brinquei mais pelo instant messenger e também por e-mail. Não sei porque as pessoas ficavam off-line hehehehehehehehhe
Apesar de ter sido uma experiência legal(para mim) não dá para ficar dando uma de engenheira social por aí. Vá que alguém esteja, por exemplo, digitando algo importantíssimo como um e-mail com o planejamento da dominação do planeta? Eu entraria no topo da lista de pessoas a serem exterminadas! Não quero isso não. Ainda tenho outras coisa para pedir para testarem pra mim =D

h1

Algumas Ferramentas

setembro 17, 2007

No início era o vazio… Depois veio a interface gráfica e então biu(meu computador) pode conhecer algumas ferramentas de desenvolvimento no Linux. Entre as IDEs que mais gosto estão a SCITE(se bem que o propósito deste é ser editor de texto mesmo) e a ANJUTA.
As duas para funcionar, claro, e também dependendo da linguagem, tem que antes instalar gcc, pacotes cli, g++, make, python, ruby e por aí vai… Você que faz o cardápio de linguagens.
O Scite , que ainda é pouco conhecido, é bastante simples e minhas primeiras linhas de Ruby foram com ele. Tem um autocomplete bem simples e estilo de realce(inclusive para C#) de acordo com a linguagem selecionada a se trabalhar. Mostra número de linhas, compila e roda seus programinhas e mostra mensagens de compilação, execução e erro. Abaixo um print-screen do Scite:
scite
O Anjuta é um projeto mais elaborado. Oferece um terminal do sistema(gnome-terminal) e integração com CVS, que é coisa vital para quem programa devido às inúmeras versões de um mesmo criadas. Além de: estilo de realce, mostrar número de linhas, depurador, autocomplete, janela de projeto, zoom, permite edição dos comandos para compilação do código, editor de fonte… Abaixo um print-screen do Anjuta.
Anjuta
Ainda andei dando uma olhada no IDLE , IDE Python feita em Tkinter, que fornece um Shell Python. Bastante simples e leve. O que achei mais legal nele foi a opção “Open Module…” por onde se abre o código do módulo(os, zipfile, codecs…).
tkinter.png

Bem, ferramentas para desenvolvimento existem, esses são apenas alguns exemplos das ferramentas já existentes e disponíveis para Linux. Não são projetos perfeitos, mesmo porque estarão sempre em evolução, porém são exemplos de que para desenvolver em plataforma livre, não precisa ser rei de linha de comando, nem ter um curso de 6 meses numa escola especializada. Muito ao contrário, são bastante intuitivas e para começar basta instalar!

=*

h1

Conhecimento e promiscuidade

maio 25, 2007

“O conhecimento é promíscuo, se mistura.* ” Às vezes penso que a grande sacada do pensador, do filósofo, é traduzir com poucas palavras o que conhecemos e que é intrínseco. Tipo aquela inveja que a gente sente e que externamos como simples raiva, e não entendemos que é inveja até que alguém nos diga isso, ou apenas depois de muito nos analisarmos. Negamos a nós mesmos.
A promiscuidade é apenas mistura sem ordem. Pode dar uma olhada no dicionário, caso você suspeite que eu esteja usando de eufemismo. O conhecimento se mistura e dismistifica(ou não). O mesmo vinho tem gosto diferente para uma mesma pessoa, se entre o primeiro e o segundo gole essa pessoa conversou com alguém que entenda de vinho e esta lhe passou algumas dicas de degustação.
O conhecimento, além de promíscuo, altera a percepção em diversos níveis. Partindo da maçã que Adão comeu, da “Analogia da Caverna” de Platão até o  “Perceber é conceber” de Octavio Paz. Informações são jogadas a nós através de outdoors, spams, janelas de pop-up, outbus e etc, porém … o que é mesmo importante? Nem toda informação traz algum conhecimento que valha, isto é, se trouxer. E mesmo que batam em nossa porta informações importantíssimas, quantos de nós a deixamos entrar? A informação e consequentemente o conhecimento está sendo banalizado, sendo considerado um lugar-comum, algo que não chama mais tanta atenção. É ainda pior a questão sobre o que fazer com o conhecimento adquirido. Aí ele mostra mais uma face: a da embriaguez. Tem pessoas que se sentem no topo do mundo, ficam cegas e acabam por cair na armadilha do pensar que se é infalível. Quem seria assim com tanta informação fluindo em ondas que a gente nem vê?
Ainda penso que sábio mesmo foi Sócrates que disse saber nada saber. Ninguém detém a verdade absoluta e poucas são as barreiras em busca do conhecimento, o qual mexe com todos os sentidos, modifica mundos, contas bancárias e humores. Vou prometer deixar ele entrar caso ele bata na minha porta qualquer dia desses… quem sabe eu possa me contaminar e ver além do muro lá de casa. E o mais legal: contaminar as outras pessoas também.

*Alvin Toffler

peixe beta