Só pra não dixar o blog parar ;P

Opa, como estou começando a pesquisar e estudar pra minha monográfia estou mais do que atarefado, além de estar trampando dae já viu né.  Então só pra não deixar o blog parado vou mandar aqui uma dica já velha, afinal quem não conhece o Blender?  Para aqueles que não conhecem já está na hora de conhecer né!

O blender é um programa livre/free, que se assemelha a programas de modelagem e animação 3D como 3D max e cia.  E o mais legal, o blender é free.  Então pra deixar todos com um desejo de ter o blender e aprender a mexer nele vejam esse curta de animação 3D feito completamente no blender.  É amigos, completamente no blender.

Big buck bunny

E claro o site do blender onde você vai poder baixar o blender e vários tutoriais em inglês, mas pra quem não tem paciência de ler em inglês tem esse.

É o post é chocho, mas até eu ter tempo vai ser assim :P.

Add comment Julho 22, 2008

A salvação da lavoura (GetDataBack - Recuperar arquivos de HD defeituoso)

Ufa!  Hoje, ou melhor ontem, me deparei com a seguinte situação um hd retirado de uma outra máquina que eu deveria fazer backup e formatar, resolveu frescar e não querer ser lido pelo sistema de arquivos do XP.  Sabe-se lá o que aconteceu, mas o hd perdeu a formatação dos arquivos, ou pelo menos o ponteiro para onde ele deveria começar, bem não sei e não importa, apesar de ainda tá pagando SO e dever saber disso, não importa.

Para solucionar esse problema penei um pouco na net até achar problemas parecidos com o meu.  Então achei algo falando sobre programas de recuperação de arquivos de HD queimados, ou danificados, ou de arquivos que haviam sido deletados do pc sem querer, ou sei lá.  De todos eles, e olhe que baixei muitos, o melhor sem duvida é o GetDataBack.  Ele enxergou meu hd com defeito, e recuperou tudo bonitinho.  Realmente uma maravilha.   E está é minha recomendação de software, ele é free para testar, e após achar os seus arquivos, se forem apenas imagens ou arquivos , txt, doc, ou qualquer um outro que exista algum programa no seu pc para manipular, basta clicar no arquivo que ele irá abrir, caso contrário, e é o recomendado, você clica em copiar, mas para poder usar essa função a licença tem que ser comprada, custa em torno de $79.   Mas caso você não queira comprar, agente sabe que sempre há uma solução por ai na net, não é?  Só que como o intuito do blog é apenas informativo, não irei dizer onde achar o crack, serial ou sei lá o que pra liberar ele, procurem!!.

Veja a imagem do salvador dos HD’s abaixo =].

Onde achar o GetDataBack

GetDataBack

Add comment Junho 29, 2008

Três vezes GTK

Há muito tempo atrás quando mal conhecia o que eram GUI’s, comecei a estudar algo chamado Tk, mas precisamente Tcl/Tk. Comecei a estudar esta linguagem quando vi que o aMSN era todo feito nela. Minha ambição era criar um aMSN ou melhora-lo (hehe), mas infelizmente faculdade rouba nosso tempo, tempo no qual poderia-mos está aprendendo sozinho, mas temos que tirar a nota X pra poder passar, etc. Mas o que raios esse papo tem haver com GTk? Acho que nada, foi só pra introduzir o artigo (hehe), mas espere! Tem sim haver, estamos falando de GUIS, e assim como Tk GTK é uma Biblioteca para criar aplicações gráficas. Ao contrário do que aconteceu com meus estudos em Tcl/Tk, com relação a GTK eu fui adiante e hoje estudo três linguagens diferentes que fazem uso desta mesma biblioteca, dai vem o título deste artigo e também o assunto do mesmo.

Neste artigo pretendo apresentar a todos a biblioteca GTK usada no gnome das distribuições linux. Também pretendo mostrar três linguagens que fazem uso desta biblioteca, e deixar que você escolha a mais poderosa, a mais fácil ou a que você sabe, para que você crie suas aplicações gráficas utilizando GTK.

Antes de falar dessas três linguagens vamos dá uma olhada no histórico da biblioteca GTK.

GTK quer dizer Gnome tool kit, e é usado inteiramente no gnome. Um dos aplicativos gráficos mais famosos do mundo open source, o gimp, possui sua parte gráfica toda feita em GTK. Além de ser fácil de aprender, esta biblioteca é muiltiplataforma, logo você vai poder criar aplicações unix ou win32. Mas como criar tais aplicações e quais as três linguagens que você disse que fazem uso da GTK? São elas PHP-GTK2, C e Python, isso claro sem citar tantas outras que também fazem uso da GTK.

Agora é a hora da verdade, vou mostrar três exemplos de codigos diferentes nestas três linguages e vocês escolhem em qual delas deseja começar a programar usando GTK.

Em C


#include <gtk/gtk.h>

static void destroy( GtkWidget *widget,
                     gpointer   data );

int main( int   argc,
          char *argv[] )
{
    GtkWidget *window ,*label;

    gtk_init (&argc, &argv);
    //Cria a janela e a ponhe no topo
    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    //Da um tamanho a janela
    gtk_window_set_default_size(GTK_WINDOW (window),300,200);
    //Da um titulo a janela
    gtk_window_set_title(GTK_WINDOW (window),"Ola mundo");

    //Cria o label com a frase Ola mundo :P!
    label = gtk_label_new("Ola Mundo :P!");
    //Adiciona o label a janela
    gtk_container_add(GTK_CONTAINER (window), label);
    //Adiciona a funcao destroy para fechar a janela
    g_signal_connect (G_OBJECT (window), "destroy",
		      G_CALLBACK (destroy), NULL);

    //Diz pra mostrar todos os widgets da janela
    gtk_widget_show_all (window);
    //loop do gtk
    gtk_main ();

    return 0;
}
//Funcao pra quando clicar no x da janela ela fechar
static void destroy( GtkWidget *widget,
                     gpointer   data )
{
    gtk_main_quit ();
}

Achou em C complicado? Então que tal em PHP-Gtk2.

PHP-Gtk2


<?php

$wnd = new GtkWindow();
$wnd->set_title('Olá mundo');
$wnd->set_size_request(300,200);
$wnd->connect_simple('destroy', array('gtk', 'main_quit'));

$label_ola= new GtkLabel("Olá Mundo :P!'");
$wnd->add($label_ola);

$wnd->show_all();
Gtk::main();
?>

Se ainda assim você achou difícil ou não gostou de PHP-Gtk2, então tenta ai no python.

Python


#!/usr/bin/env python
# -*- coding: utf-8 -*-

import pygtk
pygtk.require( '2.0' )
import gtk

def main():
	window = gtk.Window(gtk.WINDOW_TOPLEVEL)
	window.set_title( "Ola Mundo" )
	window.set_size_request(300,200)
	window.connect('destroy',gtk.main_quit)

	label = gtk.Label(' Ola Mundo :P!' )
	window.add(label)

	window.show_all()

	gtk.main()

if __name__ == '__main__':
	main()

E ai está os três códigos fazem a mesma coisa, mostram uma janela com um label dizendo “ola mundo”. Agora se você não conhece nenhuma dessas linguagens ou não gosta delas há outras opções para você, eis a lista de linguagens que fazem uso da Gtk:

C++  	gtkmm
C# 	Gtk#
Java 	java-gnome
Python 	PyGTK
Perl 	gtk2-perl
R 	RGtk2
Guile 	guile-gnome
Ruby 	Ruby-GNOME2
PHP 	PHP-GTK
Ada 	GtkAda
OCaml 	LablGTK
Haskell Gtk2Hs
Lua 	lua-gtk
S-Lang 	SLgtk 	      

Viu quantas possibilidades você tem. Até aquela linguagem verborratica e chata que começa com J usa o Gtk. E além disso você pode usar o Glade que é uma ferramenta onde você pode construir sua interface gráfica sem digitar código, apenas fazendo uso do projeto que o Glade gera e utilizando um parser. Mas essa historia fica para uma próxima oportunidade. A quem desejar aprender mais sobre Gtk, dêem uma olhada nas referências ou se liguem aqui no Core Code que em breve vou criar um tutorial de C gtk, pygtk e claro php-gtk2 com o uso do glade e sem o uso do glade.

Referências

http://www.gtk.org/

http://library.gnome.org/devel/gtk-tutorial/stable/c24.html

www.php-gtk.com.br

gtk.php.net

www.kksou.com/

www.pygtk.org/

Add comment Maio 22, 2008

Python para nokia serie 60 (parte I)

A alguns dias atrás o pessoal do INdT ( Instituto Nokia de Tecnologia) esteve aqui em natal oferecendo cursos grátis de pyS60 e Maemo, a plataforma para os internet tablet pc da nokia. Infelizmente eu mesmo tendo me inscrito no começo das inscrições não consegui uma vaga no curso de pyS60, apesar de pessoas que se inscreveram bem depois de mim terem conseguido, estranho isso, mas tudo bem acontece. Como não vale a pena chorar o leite derramado resolvi correr por fora e cumprir meu papel de autodidata e estudar sozinho.

Para você que assim como eu ficou de fora do curso ou tem vontade de aprender sozinho como programar python nos S60. Vai aqui alguns passos do que você precisa e nos próximos post’s alguns exemplos simples de códigos, links, etc. Vale salientar que não vou dá um curso de pyS60 aqui, vou apenas introduzir alguma coisa para os curiosos como eu e dar dicas de links, alias no meu del.icoi.us já se encontram vários links sobre este assunto. Quando eu finalmente estiver por dentro dos vários módulos para essa plataforma ai sim eu irei me aprofundar, mas precisando o que eu souber eu respondo blza =].

PASSOS

1) Baixar o python pra sua maquina: http://www.python.org/ftp/python/2.5.2/python-2.5.2.msi

Obs.: Eu não disse lá no começo, mas infelizmente não tem um emulador dos S60 para linux, logo temos que programar no windows mesmo, por isso o msi ali no link.

2) Baixar o Symbian OS (emulador): http://www.forum.nokia.com/info/sw.nokia.com/id/4a7149a5-95a5-4726-913a-3c6f21eb65a5/S60-SDK-0616-3.0-mr.html
A versão é a 3rd Edition (262 MB). Atentem para o detalhe que você deve ser cadastrado no forum.nokia.com para poder baixar.

3)Baixar PyS60 SDK: http://sourceforge.net/projects/pys60, e baixe a versão: PythonForS60_1_4_2_SDK_3rdEd.zip. Dentro deste arquivo zip contém o sdk_files.zip. Depois de instalar o Symbian, pegue o arquivo sdk_files.zip que você baixou acima e descompacte dentro da pasta: C:\Symbian\9.0\S60_3rd.

Feito tudo isso clique abra o seu emulador: Menu Iniciar->Programas->Series 60 Developer Tools->3rd Edition SDK -> 1.0 -> Emulator. Aqui no meu pc ficou trash a resolução tive que mexer nisso, mas dá pra rodar legal.

Quando você fizer isso eis o que deve aparecer na sua tela:

Pronto esse é o tal emulador. Mas onde tá o python? e onde tá a cobrinha que dizem no blog da semana da mobilidade? Pois é não tem ali, eu demorei um pouquinho pra achar mas vamos lá, selecione com o mouse ou o cursor do emulador a opção Instalat. Clica em opções->open e vai aparecer isso aqui:

Opa, lá está o python. Agora abra o python, clique em opção, vai aparecer um menu, selecione open.

Selecionando mais uma vez opção vai aparecer um menu onde você pode escolher entre um console interativo (você digita o código nele, igual ao console normal de python) ou você pede pra rodar um script. E é isso que vamos fazer.

Feito isso irá aparecer uma lista de scripts python que já vem como exemplo no emulador, ai é só selecionar um e por pra rodar. Eu baixei um script que tem na pagina do tutorial do pyS60 que mostra um pop up com uma mensagem informativa (This work) e coloquei na pasta onde ficam os scripts (C:\Symbian\9.1\S60_3rd\Epoc32\winscw\c\python), alias é desse modo que você terá que fazer para testar os seus quando estiver aprendendo.

Este é o resultado. Espero que tenha ajudado a quem deseja começar nesse “mundo”. Em breve irei postar alguns exemplos, estou bolando criar um aplicativo interessante e depois postar aqui explicando como o mesmo funciona. Para quem deseja aprender logo e quer fuçar na documentação e se virar sozinho dêem uma olhada nas referências e no meu del.icio.us ok!.

Referências

http://semanadamobilidade.blogspot.com

http://www.mobilenin.com/pys60/menu.htm

Add comment Maio 18, 2008

pygtk + pygame

Há algum tempo venho estudando pygtk e pygame, e recentemente tive a idéia de migrar um jogo, feito por um colega, de C++ para pygame. Como o jogo original possui uma interface gráfica bonitinha, então pensei “tenho que fazer o mesmo com o python, mas como?” Pois até então nunca tinha trabalhado com pygtk e pygame juntos. Resolvi vasculhar na net algo sobre e encontrei uma solução ótima e simples (alias como tudo em python). A solução é criar um gtk.DrawingArea e dentro dele mapear uma superfície SDL, no nosso caso a tela do pygame (pygame.display()). Uma vez que você fez isso é só manipular o seu código pygame no seu display e pronto. Agora eu vou deixar de enrolar e mostrar e explicar o tal código.

CODE

# Proof of concept for PyGTK+Pygame
# Seo Sanghyeon

import os, pygame, gtk, pygtk
import random
def pygame_hack(widget):

def callback(widget, *args):

handle = widget.window.xid
size = widget.size_request()
os.environ['SDL_WINDOWID'] = str(handle)
pygame.display.init()
pygame.display.set_mode(size)

widget.connect(’map-event’, callback)

def fill_random(widget):

screen = pygame.display.get_surface()
r = random.randrange(255)
g = random.randrange(255)
b = random.randrange(255)
screen.fill((r, g, b))
pygame.display.flip()

def main():

win = gtk.Window()
win.connect(’destroy’,gtk.main_quit)
box = gtk.VBox()
win.add(box)
custom = gtk.DrawingArea()
custom.set_size_request(300,200)
pygame_hack(custom)

box.pack_start(custom)
button = gtk.Button(Random fill)

button.connect(clicked‘,fill_random)

box.pack_start(button)

win.show_all()
gtk.main()

if __name__ == __main__:

main()

De todo o código a parte mais importante é a função pygame_hack. É nessa parte do código que pegamos o ID da nossa DrawingArea e copiamos para ser o ID da nossa SDLWINDOW, e é isso que faz com que o display do pygame rode dentro dela.

Neste código abaixo pegamos o XID, ou código do X da nossa janela.

handle = widget.window.xid

Neste outro copiamos o XID da nossa DrawingArea pra dentdo da nossa SDLWINDOW.

os.environ['SDL_WINDOWID'] = str(handle)

Essa pequena applicação mostra uma janela pygtk com um botão que quando acionado preenche o display do pygame dentro do DrawingArea com uma cor que foi selecionada randomicamente. Ver imagem abaixo.

Viu tudo muito simples. Só tem um problema não roda no windows pois ele não consegue pegar o XID, ainda estou procurando um jeito de fazer isso no ruindows, mas no linux roda normal, então tá otimo. O legal desse exemplo é que ele mostra e dá ideias, além de você poder por um display do pygame, você pode por um display do opengl e fazer uma aplicação bem interessante. Afinal com python nem o céu é o limite =].

Como o intuito deste artigo é apenas explicar como por o pygame dentro da janela do gtk não vou explicar todo o código linha a linha, mas se alguém tiver alguma duvida sobre comenta ai que eu respondo.


(more…)

Add comment Maio 17, 2008


Arquivos

Categorias

 

Agosto 2008
S T Q Q S S D
« Jul    
 123
45678910
11121314151617
18192021222324
25262728293031

Links

del.icio.us/kirotawa

Autores