tag:blogger.com,1999:blog-18193244055377794472008-11-10T10:03:30.754-03:00Blog do Petryoutra tentativa de manter um blog vivo na net...Marcos Daniel Petryhttp://www.blogger.com/profile/13496416580634204340marcospetry@gmail.comBlogger23125tag:blogger.com,1999:blog-1819324405537779447.post-5121028501416541672008-09-22T18:59:00.006-03:002008-09-22T19:10:19.442-03:002008-09-22T19:10:19.442-03:00Claro 3g no Ubuntu com sony MD300Até um tempo atrás estava usando o TIMWEB mas como a conexão aqui em Caxias do Sul é <s>uma porcaria</s> bem lenta, praticamnte sem acesso, migrei para a <a href="http://www.tresg.com.br/">Claro 3G</a>, a velocidade é maravilhosa! Não sei se a banda vai esguelar daqui a um tempo, mas tá ótima até o momento (o ultimo teste de velocidade ultrapassou o 1Mbps).<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JnDy_ajfcwY/SNgWNBrq-BI/AAAAAAAABg0/ZZyC_JUd6Pc/s1600-h/sonyericsson-md300.jpg"><img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_JnDy_ajfcwY/SNgWNBrq-BI/AAAAAAAABg0/ZZyC_JUd6Pc/s320/sonyericsson-md300.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5248969778746030098" /></a><br /><br /><br />O único problema é que com meu modem, ele não conectava no meuatravés do <a href="http://www.ubuntu.com">Ubuntu</a>, reconhecia somente como pendrive, depois de muita pesquisa vi que o dispositivo não está na lista de dispositivos compatíveis. Tentei de tudo! até mesmo a heresia de usar uma maquina virtual Windows com suporte a USB para tentar conectar o modem por lá, tudo sem sucesso... <br /><br />Bom, não sou um expert em Linux, mas me defendo ehhehe, portanto não sei direito o que houve, se foi depois de uma atualização do SO que ele passou a funcionar, ou se foi a regra do udev, mas depois de vários passo-a-passos, um deles funcionou! Agradeço ao <a href="http://laudecioliveira.org/">Laudeci Oliveira</a> por postar no blog dele os passo corretos (cara te devo uma biritas se algum dia te ver/conhecer! hehehe).<br /><br />Os passos que utilizei para conectar foram os seguintes:<br /><br />criei o arquivo 50-md300modem.rules dentro de /etc/udev/rules.d/ para criar uma regra que faça o udev montar corretamente o dispositivo:<br /><br /><code>mdpetry@dv9700:~$ sudo vim /etc/udev/rules.d/50-md300modem.rules</code><br /><br />e coloquei o seguinte código:<br /><br /><code>ACTION!=”add”, GOTO=”3G_End”<br />BUS==”usb”, SYSFS{idProduct}==”d0cf”, SYSFS{idVendor}==”0fce”, PROGRAM=”/bin/sh -c ‘echo 3 > /sys/%p/device/bConfigurationValue’”<br />LABEL=”3G_End”</code><br /><br />reiniciei o udev:<br /><br /><code>mdpetry@dv9700:~$ sudo /etc/init.d/udev restart</code><br /><br />instalei o wvdial e o gnome-ppp<br /><br /><code>mdpetry@dv9700:~$ sudo aptitude install gnome-ppp wvdial </code><br /><br /><br />e adicionei este conteudo no wndial do meu home:<br /><br /><code>mdpetry@dv9700:~$ vim .wvdial.conf </code><br /><br /><code>[Dialer Defaults]<br />Modem = /dev/ttyACM0<br />ISDN = off <br />Modem Type = USB Modem<br />Baud = 460800<br />Init = ATZ <br />Init2 = AT+CFUN=1<br />Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0<br />Init4 = AT+CGDCONT=1,"IP","bandalarga.claro.com.br"<br />Init5 = <br />Init6 = <br />Init7 = <br />Init8 = <br />Init9 = <br />Phone = *99***1#<br />Phone1 = <br />Phone2 = <br />Phone3 = <br />Phone4 = <br />Dial Prefix = <br />Dial Attempts = 1 <br />Dial Command = ATM1L3DT<br />Ask Password = off <br />Password = claro<br />Username = claro<br />Auto Reconnect = off <br />Abort on Busy = off <br />Carrier Check = on<br />Check Def Route = on<br />Abort on No Dialtone = on<br />Stupid Mode = off <br />Idle Seconds = 0 <br />Auto DNS = on<br />;Minimize = off <br />;Dock = off <br />;Do NOT edit this file by hand!</code><br /><br /><br />pronto! iniciei o gnome-ppp e a conexão da claro estava lá! conectei e funcionou sem problemas!<br /><br />alguns blogs falam q da pra melhorar a conexão alterando o dns e utilizar o do openDNS, eu não precisei a velocidade está boa assim...Marcos Daniel Petryhttp://www.blogger.com/profile/13496416580634204340marcospetry@gmail.com28tag:blogger.com,1999:blog-1819324405537779447.post-35194206204131424582008-09-03T08:46:00.003-03:002008-09-03T08:56:14.243-03:002008-09-03T08:56:14.243-03:00Palestra na Tche LinuxDia 27, sábado, estarei no evento da <a href="http://www.tchelinux.org/caxias/">TcheLinux</a>, na FTEC de Caxias do Sul, falando sobre o Django, onde mostrarei algumas das várias ferramentas do framework (admin, forms, generic views,...) e uma palhinha sobre o <a href="http://code.google.com/appengine/">Google App Engine</a>!<br /><br />Estão se você estiver à toa neste dia (o que é muito dificil ehhehe),morar perto de Caxias do Sul e estiver afim de fazer um programinha nerd, aparece lá!<br /><br />os detalhes do evento podem ser conferidos em: <a href="http://www.tchelinux.org/caxias/">http://www.tchelinux.org/caxias/</a>Marcos Daniel Petryhttp://www.blogger.com/profile/13496416580634204340marcospetry@gmail.com0tag:blogger.com,1999:blog-1819324405537779447.post-63638345676303575322008-07-04T09:21:00.004-03:002008-07-04T09:37:37.739-03:002008-07-04T09:37:37.739-03:00Proposta do TCC Aprovada!Acabei de receber um "OK" para minha proposta do meu trabalho de conclusão do curso de graduação!!<br /><br />A idéia basicamente é criar um gerador de código para o framework <a href="http://www.djangoproject.com/">Django</a> a partir de modelos UML, algo como o <a href="http://plone.org/products/archgenxml">archgenXML</a> mas com algumas técnicas de compiladores (GLC's, Analisadores Léxicos, Sintaticos, etc...)<br /><br />Para quem quiser mais informações, o link para proposta está publico no Google Docs<br /><a href="http://docs.google.com/Doc?id=d7zxc7q_71rbmszjdd">http://docs.google.com/Doc?id=d7zxc7q_71rbmszjdd</a><br /><br />ahh e também...qualquer ajuda é bem vinda! heheMarcos Daniel Petryhttp://www.blogger.com/profile/13496416580634204340marcospetry@gmail.com6tag:blogger.com,1999:blog-1819324405537779447.post-8813884848928705672008-05-16T13:44:00.003-03:002008-05-16T13:49:35.992-03:002008-05-16T13:49:35.992-03:00Django + mysql + clusterA noticia é meio antiga mas como não sabia to postando aqui...<br />Foi criado um <a href="http://softwaremaniacs.org/soft/mysql_cluster/en/">beckend</a> para o <a href="http://www.djangoproject.com/">django</a> pra utilizar o mysql em um clusters, ele permite que voce configure servidores master e slave e, e expecificar qual deles será utilizado através dos decorators!<br /><br />E tudo bem explicadinho como instalar, configurar e usar! :)Marcos Daniel Petryhttp://www.blogger.com/profile/13496416580634204340marcospetry@gmail.com0tag:blogger.com,1999:blog-1819324405537779447.post-3591616774746347122008-05-10T15:29:00.004-03:002008-05-10T15:37:26.740-03:002008-05-10T15:37:26.740-03:00jogo de damasPra tirar as traças do blog ehhe, acabei de acabar um trabalho da disciplina de Sistemas Distribuidos, ainda tem uns controles ptra fazer e algumas coisas pra acertar, mas tá entregável ehehhe...foi feito utiizando python o o módulo Socket. A interface gráfica tá meio tosca... mas quem kiser brincar com ele, ou até mesmo complementá-lo hehe aí vai o link <br />http://code.google.com/p/pydamas/Marcos Daniel Petryhttp://www.blogger.com/profile/13496416580634204340marcospetry@gmail.com0tag:blogger.com,1999:blog-1819324405537779447.post-5850476376697152642008-04-02T09:11:00.005-03:002008-04-02T14:44:01.365-03:002008-04-02T14:44:01.365-03:00Django e Python2.5 no dreamhost - Parte 2Bom depois de Configurado o Python, como visto no <a href="http://blog.mdpetry.net/2008/04/django-e-python25-no-dreamhost-parte-1.html">post anterior</a> é hora de colocar o django no ar. Ahh lembrando que o Django não é suportado oficialmente pela dreamhost por isso a instalação é um pouquinho...digamos...xarope ehhehe, mas é possivel sim!<br /><br />Usei como base para <a href="http://wiki.dreamhost.com/index.php/Django">esse post</a> a instalação do Django que está no wiki do Dreamhost, mas tinha dado uns probleminhas e, garimpando aki e ali... cheguei no resultado que vou passar para voces!<br /><br /><h4>Configurando o site no dreamhost</h4><br />bom pra começar, crie um dominio no painel de controle da Dreamhost, no meu caso criei um subdominio, mas o processo é o mesmo!<br /><br /><blockquote>Escolha “Manage Domains” e depois “Add New Domain / Sub-Domain”<br />Escolha oome para seu (sub)dominio, no meu caso coloquei django.mdpetry.net<br />Escolha “Extra web security” e “Fast CGI Support” e submeta o formulário</blockquote><br /><br />Depois crie uma base de dados e uma tabela para seu projeto (não vo ficar explicando isso, mas é bem fácil de fazer! :) )<br /><br /><h4>Configurando o Django</h4><br />Entre por ssh na sua conta, e no home seu usuário, crie uma pasta django e dentro dela a pasta django_projects, para adicionar os seus projetos.<br /><br />dentro da pasta ~/django, baixe o source do django, através do svn utilizando o comando:<br /><code>svn co http://code.djangoproject.com/svn/django/trunk/ django_src</code><br /><br />Altere o seu .bash_profile, adicionando as linhas:<br /><code>export PATH=$PATH:$HOME/django/django_src/django/bin<br />export PYTHONPATH=$PYTHONPATH:$HOME/django/django_src:$HOME/django/django_projects</code><br />e ative as mudanças digitando <code>source ~/.bash_profile </code><br /><br />agora entre no diretório django_projects e crie um novo projeto:<br /><code>django-admin.py startproject myproject</code><br /><br />Como de costume, ele criou uma série de arquivos, crie as pastas para os templates e para as imagens (geralmente eu as crio dentro da pasta do projeto, mas tanto faz onde elas serão criadas)<br />no meu caso criei a pasta templates e media.<br /><br />á no arquivo <span style="font-weight:bold;">settings.py</span> e altere as configurações:<br /><br />de banco de dados:<br /><code><br /> DATABASE_ENGINE = 'mysql' # 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'.<br /> DATABASE_NAME = 'django_db' # Or path to database file if using sqlite3.<br /> DATABASE_USER = 'usuario' # Not used with sqlite3.<br /> DATABASE_PASSWORD = 'senha' # Not used with sqlite3.<br /> DATABASE_HOST = 'djangomysql.mdpetry.net' # Set to empty string for localhost. Not used with sqlite3.</code><br /><br />de internacionalização:<br /><code> TIME_ZONE = 'America/Sao_Paulo'<br />LANGUAGE_CODE = 'pt-br'<br /> </code><br /><br />de templates:<br /><code>TEMPLATE_DIRS = (<br /> # Put strings here, like "/home/html/django_templates".<br /> # Always use forward slashes, even on Windows.<br /> "/home/mdpetry/django/django_projects/myproject/templates"<br /> )</code><br /><br />mídia:<br /><code><br /> MEDIA_ROOT = '/home/mdpetry/django/django_projects/myproject/media'<br /> MEDIA_URL = 'http://django.mdpetry.net/media/'<br /> ADMIN_MEDIA_PREFIX = '/admin_media/'</code><br /><br />insira a seguinte linha no .bash_profile<br /><code>export DJANGO_SETTINGS_MODULE=myproject.settings</code> e ative novamente o arquivo.<br /><br />após isso, sincronize o BD e crie u musuário para acessar a area de adminsitração com as suas alterações na pasta do projeto, digite:<br /><code>django-admin.py syncdb</code><br /><br /><h4>instalando e configurando o FASTCGI e o mod_rewrite</h4><br />vá até o subdominio criado e vaixe o script python<br /><br /><code>wget http://svn.saddi.com/py-lib/trunk/fcgi.py</code> e altere as permissões do arquivo <code>chmod 755 fcgi.py</code><br /><br />crie o arquivo dispatch.fcgi<br /><code>#!/home/mdpetry/opt/bin/python<br />import sys<br />sys.path += ['/home/mdpetry/django/django_src']<br />sys.path += ['/home/mdpetry/django/django_projects']<br />from fcgi import WSGIServer<br />from django.core.handlers.wsgi import WSGIHandler<br />import os<br />os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'<br />WSGIServer(WSGIHandler()).run()</code><br /><br />para o mod rewrite, crie o arquivo .htaccess:<br /><code>RewriteEngine On<br /> RewriteBase /<br /> RewriteRule ^(media/.*)$ - [L]<br /> RewriteRule ^(admin_media/.*)$ - [L]<br /> RewriteRule ^(dispatch\.fcgi/.*)$ - [L]<br /> RewriteRule ^(.*)$ dispatch.fcgi/$1 [L]<br /></code><br /><br />reinicia o python para validar as mudanças:<br /><code>pkill python</code><br /><br /><h2>Configurações finais</h2><br />altere as os links dos arquivos de midia para o projeto do django:<br /><code>ln -s $HOME/django/django_src/django/contrib/admin/media $HOME/django.mdpetry.net/admin_media</code><br /><br />adicione no arquivos settings.py do seu projeto a app de adminsitração:<br /><code><br />INSTALLED_APPS = (<br /> 'django.contrib.auth',<br /> 'django.contrib.contenttypes',<br /> 'django.contrib.sessions',<br /> 'django.contrib.sites',<br /> 'django.contrib.admin',<br /> )</code><br /><br />e no arquivos urls.py, deconmente a linahs da adminsitração tbem:<br /><code>(r'^admin/', include('django.contrib.admin.urls')),</code><br /><br />reinicie o python e na pasta do projeto instale o proejto com o manage.py<br /><code>pkill python<br />python manage.py syncdb</code><br /><br />e... ta pronto! se voce acessar http://django.DEUDOMINIO.com/admin, deverá aparecer a tela de login da interface de adminsitração do django!Marcos Daniel Petryhttp://www.blogger.com/profile/13496416580634204340marcospetry@gmail.com3tag:blogger.com,1999:blog-1819324405537779447.post-7085554136843018512008-04-01T19:18:00.005-03:002008-04-01T19:44:26.250-03:002008-04-01T19:44:26.250-03:00Django e Python2.5 no dreamhost - Parte 1Estava com alguns probleminhas para isntalar o <a href="http://www.djangoproject.com">Django</a> no <a href="http://www.dreamhost.com/">Dreamhost</a>, no meu caso, o servidor, depois de um tempo tentando estabelecer conexão, aparecia aquela indesejavel tela de erro 500, foi ai que o <a href="http://andrewsmedina.com/">Andrews</a> me deu a idéia de isntalar o python2.5, e de primeira deu tudo certo!<br /><br />bom os passos para instalar:<br /><br />Baixe o arquivo com o source do python e coloque numa pasta, no meu caso coloquei na opt do meu home, e após isso descompacte o arquivo:<br /><br /><code>cd ~<br />mkdir opt<br />wget http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tgz <br />tar xvzf Python-2.5.2.tgz<br /></code><br /><br />entre na pasta do source, e instale com os comandos abaixo:<br /><br /><code>./configure --prefix=$HOME/opt/ --enable-unicode=ucs4<br />make<br />make install</code><br /><br />após instalado, altere o .bash_profile:<br /><br /><code>vim ~/.bash_profile</code><br /><br />e insira a seguinte linha no arquivo:<br /><br /><blockquote>export PATH=$HOME/opt/bin/:$PATH</blockquote><br /><br />execute o arquivo e verifique a versão do python instalada!<br /><br /><code>source .bash_profile<br />python --version</code><br /><br />Ele irá retornar a versão correta do python no caso a 2.5.2<br /><br />Feito isso, será necessário instalar o módulo de conexão com o mysql, e agora com o python 2.5 vai se beem + fácil! :)<br /><br /><code><br />wget http://internap.dl.sourceforge.net/sourceforge/mysql-python/MySQL-python-1.2.2.tar.gz<br />tar xvzf MySQL-python-1.2.2.tar.gz<br />cd MySQL-python-1.2.2<br />python setup.py install</code><br /><br /><br />Amanha (ou depois hehe), posto como está configurado o djando na minha conta!Marcos Daniel Petryhttp://www.blogger.com/profile/13496416580634204340marcospetry@gmail.com1tag:blogger.com,1999:blog-1819324405537779447.post-55740764249030416232008-03-25T13:48:00.003-03:002008-03-25T14:05:13.562-03:002008-03-25T14:05:13.562-03:00Django (e vários outros projetos) estão aceitando estudantes para desenvolver aplicações no Google Summer of CodeVocê é estudante e está interessado em desenvolver algumas melhorias ou funções novas para o framework <a href="http://www.djangoproject.com/">Django</a>? o Django é um dos projetos que o Google Summer of code está bancando!<br />Se voce se acha que tem conhecimento suficiente, submeta suas proposta! o prazo se encerra dia 31 de março, ou seja, não há muito tempo! Ah e como recompensa voce ganha 4.500 doletas e uma camiseta bonitona! :)<br /><br />algumas idéias que o pessoal sugeriu estão em: http://code.djangoproject.com/wiki/SummerOfCode2008<br /><br />e a lista de discussão: http://groups.google.com/group/django-gsoc<br /><br />se houver interesse siga este guia e faça sua aplicação: http://groups.google.com/group/google-summer-of-code-announce/web/guide-to-the-gsoc-web-app-for-student-applicants<br /><br />ahh o pssoal do Plone, Zope, Grok, TurboGears e vários outros também estão aceitando participantes! veja a lista completa em: http://code.google.com/soc/turbogears/about.htmlMarcos Daniel Petryhttp://www.blogger.com/profile/13496416580634204340marcospetry@gmail.com0tag:blogger.com,1999:blog-1819324405537779447.post-26676073947836500562008-01-29T08:25:00.000-03:002008-01-29T08:29:28.142-03:002008-01-29T08:29:28.142-03:00Desenvolvendo para internetAchei num blog por ai, e como to meio sem inspiração vai isso mesmo!<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.vilain.com/images/web-design.gif"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 450px;" src="http://www.vilain.com/images/web-design.gif" border="0" alt="" /></a>Marcos Daniel Petryhttp://www.blogger.com/profile/13496416580634204340marcospetry@gmail.com0tag:blogger.com,1999:blog-1819324405537779447.post-36688149495249912008-01-25T10:02:00.000-03:002008-01-25T10:06:20.300-03:002008-01-25T10:06:20.300-03:00Recorte de imagens usando Python/Django/PILrespondendo um dúvida na lista <a href="http://groups.google.com.br/group/django-brasil">django-brasil,</a> resolvi colocar aqui também um exemplo de recorte de imagem através do django.<br /><br /><blockquote>from django.utils.httpwrappers import HttpResponse<br />from PIL import Image<br /><br />def image(request,arquivo,largura=100,altura=100):<br /><br /> im = Image.open(arquivo)<br /> imre = im.transform((largura, altura), Image.AFFINE,(1,0,0,0,1,0))<br /> <br /> response = HttpResponse(mimetype="image/png")<br /> image.save(response, "PNG")<br /> return response<br /></blockquote><br /><br />:)Marcos Daniel Petryhttp://www.blogger.com/profile/13496416580634204340marcospetry@gmail.com1tag:blogger.com,1999:blog-1819324405537779447.post-59328194222152562102008-01-23T15:20:00.000-03:002008-01-23T15:40:04.257-03:002008-01-23T15:40:04.257-03:00DjangoPeopleNos últimos meses, muitos usuários aderiram ao Django e, consequentemente ao Python! isso é muito bom e fico muito feliz com isso! :). No entnado, são pouco os usuários que utilizam as listas de discussão, irc, ou coisas do tipo, simplesmente entram no site, baixam o framewor, lêem a documentação (que'é muito boa por sinal!) e começam a desenvolver!<br /><br />Então o co-criador do Django, Simon Willison e Natalie Downe, criaram o site <a href="http://djangopeople.net">djangopeople.net</a> com o objetivo de "dar uma chance" de mostrar ao o mundo quem são os usuários desse fantástico framework (pouquinho puxa-saco não? ehhe)<br /><br />Então se voce desenvolve sites em django, visite o site, e coloque mostre-se!Marcos Daniel Petryhttp://www.blogger.com/profile/13496416580634204340marcospetry@gmail.com0tag:blogger.com,1999:blog-1819324405537779447.post-24123348432520745522008-01-23T08:03:00.000-03:002008-01-23T08:13:04.599-03:002008-01-23T08:13:04.599-03:00Código de Barras em PythonEstou trabalhando na geração de boletos bancários utilizando PIL e ReportLab, fiz uma pesquisada por ai e não havia um código de barras utilizando o padrão que precisava que era o padrão 2 de 5 intercalado. Por isso estou postando o código aqui! :)<br /><br />Para executar é necessário do modulo PIL instalado!<br /><br /><blockquote>import Image<br />import ImageDraw<br /><br />class CodeBarPil:<br /> """<br /> Classe base para implementação do código de barras<br /> """<br /><br /> def __init__(self):<br /> pass<br /><br /> def drawCodeBarInterleaved2of5(self, value, posX=0, posY=0, height = 50):<br /> """<br /> Desenha codigo de barras padrão intercalado 2 de 5<br /> """<br /> im = Image.new('RGB',(750,80),'white')<br /> draw = ImageDraw.Draw(im)<br /><br /> pattern = ('00110', '10001', '01001', '11000', '00101',<br /> '10100', '01100', '00011', '10010', '01010')<br /> <br /> # value deve possuir comprimento par, acrescenta 'zero' caso impar<br /> if (len(value) % 2) != 0:<br /> value= '0' + value<br /> # faz intercalação dos pares<br /> l=''<br /> for i in range(0,len(value),2):<br /> p1=pattern[int(value[i])]<br /> p2=pattern[int(value[i+1])]<br /> for p in range(0,5):<br /> l+=p1[:1] + p2[:1]<br /> p1=p1[1:]<br /> p2=p2[1:]<br /> # gera espacos e barras<br /> barra=True<br /> b=''<br /> for i in range(0,len(l)):<br /> if l[i] == '0':<br /> if barra:<br /> b+='B'<br /> barra=False<br /> else:<br /> b+='E'<br /> barra=True<br /> else:<br /> if barra:<br /> b+='BBB'<br /> barra=False<br /> else:<br /> b+='EEE'<br /> barra=True<br /> # concatena inicio e fim<br /> b='BEBE' + b + 'BBBEB'<br /> for i in range(0,len(b)):<br /> if b[i] == 'B':<br /> draw.line((posX,posY,posX,posY + height),'black')<br /> else:<br /> draw.line((posX,posY,posX,posY + height),'white')<br /> posX+=1<br /> return imagem<br /></blockquote>Marcos Daniel Petryhttp://www.blogger.com/profile/13496416580634204340marcospetry@gmail.com0tag:blogger.com,1999:blog-1819324405537779447.post-2690803789922228142007-11-21T07:48:00.000-03:002007-11-21T07:50:03.430-03:002007-11-21T07:50:03.430-03:00Os certificados da Pycon disponíveis<img src="http://pyconbrasil.com.br/saiba-mais/noticias/os-certificados-estao-disponiveis/image_mini" /><br /><br />Os certificados de participação na PyconBrasil 3 estão disponíveis e podem ser acessados a partir da página da PyConBrasil, no menu à esquerda.<br /><br />Para obter seu certificado, informe o mesmo e-mail utilizado para sua inscrição no evento. O certificado será exibido na tela e você poderá salvá-lo<br />ou imprimi-lo.<br /><br />eu jah peguei o meu!!!!Marcos Daniel Petryhttp://www.blogger.com/profile/13496416580634204340marcospetry@gmail.com1tag:blogger.com,1999:blog-1819324405537779447.post-37793486508974254072007-08-27T15:49:00.000-03:002007-08-27T15:51:50.700-03:002007-08-27T15:51:50.700-03:00Utilizando o TimWEBAcabei de ser mais uns dos usuários do serviço de Internet Movel da TIM, adquiri o plano de 1GB por mes, e estou gostando bastante, para as minhas necessidade ele se encaixou perfeitamente! Já que não vou utilizá-lo para fazer downloads demorados e trabalharei mais noite e esporadicamente em algumas viagens...<br /><br /><img src="http://img67.imageshack.us/img67/5093/modemla0.png" /><br /><br />Com o pacote veio o modem <strong>Huawei E220. </strong>Não tive nenhum problema com a instalação, no Windows simplesmente pluguei o modem e logo saiu funcionando, no Linux tive um probleminha quanto a alguns links quebrados que se encotraram no wiki do ubuntu, mas dei uma busca na net e achei outro link e funcionou certinho (editei o wiki para que outros não tenha o mesmo problema!)<br /><br />Logo de cara notei uam baita diferença na utilização da banda de rede entre os 2 SO's impressionante com o windows consome banda pra coisa inúteis, mas tudo bem...não vou utilizar mto ele...<br /><br />a gora eh soh economizar na mensagens no piggin q vai ficar tudo dentro do preço! ehheheheMarcos Daniel Petryhttp://www.blogger.com/profile/13496416580634204340marcospetry@gmail.com2tag:blogger.com,1999:blog-1819324405537779447.post-61835137189506549972007-08-21T14:07:00.000-03:002007-08-22T09:12:07.088-03:002007-08-22T09:12:07.088-03:00Plone 3 lançado (finalmente!)Todo mundo já deve saber mas, vou postar aqui também!<br /><br />Depois de um *bom* tempo, é lançada a <a href="http://plone.org/products/plone">versão 3 do Plone</a>, trazendo varias novidades, as mesmas podem ser encontradas <a href="http://plone.org/products/plone/features/3.0">aqui</a>. Dei uma olhada rápida nos recursos novos e gostei bastante das mudanças:<br /><ul><li>Mudanças na skin padrão, foi adicionada uma outra skin (bonitinha até, mas ainda prefiro a padrão! ehhehe);</li><li>Melhoiras no Kupu (editor HTML do CMS);<br /></li><li>Foi alterado o jeito como os produtos padrões são criados/editado, foi adicinada uma navegação para separar as informações do conteúdo (dados padrões, categorização, datas de publicação/expiração) deixando a edição bem + simples.</li><li>Vários métodos AVAX para edição dos conteudo tornando a experiencia do uso do CMS muito mais rápida.</li></ul>Está utilizando o Zope 2.10 mas fazendo uso de algumas coisas do zope3, que segundo o Sidnei, vai deixar de existir como servidor de aplicações e ppassará a ser uma biblioteca a ser integrada no zope atual.<br /><br />No geral,achei ele bem mais "legal" de trabalhar, mas não fui utilizei muito eleMarcos Daniel Petryhttp://www.blogger.com/profile/13496416580634204340marcospetry@gmail.com0tag:blogger.com,1999:blog-1819324405537779447.post-30277125421598067602007-08-09T14:34:00.000-03:002007-08-10T17:31:25.817-03:002007-08-10T17:31:25.817-03:00mootolls e beautiful soupCapturar informações de páginas html é uam tarefa realmente simples com duas ferramentas que estou utilizando ultimamente, que são o mootolls e beautifulSoup:<br /><br />O <a href="http://www.crummy.com/software/BeautifulSoup/index.html">BeautifulSoup</a> mapeia qualquer código html, por mais desorganizado que seja em uma árvode de dados, sendo posssivel retirar informações de qualquer tag desejada.<br /><br />Já o <a href="http://mootools.net/">mootols</a> promete faer algo parecido, as do lado do cliente (utilizando DOM), na verdade, na minha opinião claro, ele é um <a href="http://www.prototypejs.org/">prototype</a> melhorado, com muitas funções ajax prontas para utizar e criar efeitos e recusos com poucas linahs de código javascript...<br /><br />vale a pena dar uma olhada em ambos!Marcos Daniel Petryhttp://www.blogger.com/profile/13496416580634204340marcospetry@gmail.com0tag:blogger.com,1999:blog-1819324405537779447.post-77899738400559108872007-08-06T10:07:00.000-03:002007-08-06T10:32:55.011-03:002007-08-06T10:32:55.011-03:00Auto complete no Vim p/ PythonPara tirar as traças do meu blog, um pequeno tutorialzinho para mtrabalhar com Vim + Python. O que é muito util para quem gosta de trabalhar direto na shell e tb gosta de utilizar os funções dum pydev da vida... a única diferença é que en vez de utilizar CTRL+espaço, vamos usar apenas um TAB para completar om os dados da função.<br /><br />primeiro crie um arquivo chamado .pythonrc no home do usuario, de permissão de execução, e coloque os seguinte:<br /><code>import readline<br />import rlcompleter<br />readline.parse_and_bind('tab: complete')</code><br /><br />agora edite o arquivo .bashrc e edicone no final do arquivo o seguinte:<br /><br /><code>PYTHONSTARTUP="$HOME/.pythonrc"<br />export PYTHONSTARTUP</code><br /><br />pronto! restarte a shell e execute o interpretador python:<br /><br /><code> >>> var = "ola"<br />>>> var.(TAB)(TAB)<br />var.__add__ var.__reduce_ex__ var.join<br />var.__class__ var.__repr__ var.ljust<br />var.__contains__ var.__rmod__ var.lower<br />var.__delattr__ var.__rmul__ var.lstrip<br />var.__doc__ var.__setattr__ var.partition<br />var.__eq__ var.__str__ var.replace<br />var.__ge__ var.capitalize var.rfind<br />var.__getattribute__ var.center var.rindex<br />var.__getitem__ var.count var.rjust<br />var.__getnewargs__ var.decode var.rpartition<br />var.__getslice__ var.encode var.rsplit<br />var.__gt__ var.endswith var.rstrip<br />var.__hash__ var.expandtabs var.split<br />var.__init__ var.find var.splitlines<br />var.__le__ var.index var.startswith<br />var.__len__ var.isalnum var.strip<br />var.__lt__ var.isalpha var.swapcase<br />var.__mod__ var.isdigit var.title<br />var.__mul__ var.islower var.translate<br />var.__ne__ var.isspace var.upper<br />var.__new__ var.istitle var.zfill<br />var.__reduce__ var.isupper</code>Marcos Daniel Petryhttp://www.blogger.com/profile/13496416580634204340marcospetry@gmail.com1tag:blogger.com,1999:blog-1819324405537779447.post-73526495423136587512007-07-03T10:31:00.000-03:002007-07-14T19:23:51.241-03:002007-07-14T19:23:51.241-03:00Projetos em DjangoDecidi durante o meu pequeno periodo de férias da faculdade, brincar um pouco com o <a href="http://www.djangoproject.com/">Django</a>, trabalhando com ele com *todo o seu poder*... classe de modelagem <a href="http://en.wikipedia.org/wiki/Object-Relational_Impedance_Mismatch">ORMI,</a> atc... coisa que na UCS não fazemos.... Para isso tenho dois projetos pra continuar:<br /><br />O projeto o o <a href="http://code.google.com/p/zztop/">ZZtop</a> que começou, entre os colegas do trabalho, mais pra aprender a usar o framework, é basicamente um cadastro de itens relacioados a filmes, cada usuario pode postar filmes, e compartilhar entre os mesmbro... Infelizmente morreu na praia! Vou "tentar" dar continuidade e ele, criar algo funcional pelo menos...<br /><br />Outro projeto é o da <a href="http://code.google.com/p/djmusix/">Musix</a>, seria fazer uma versão melhorada do meu trabalho de Analise e Projeto de sistema II, mas em vez de ser em JDeveloper (eu não queria!! mas como era um trabalho em grupo, não tive muita voz entre meus colegas javistas hehehe) usaria o Django...<br /><br />Os projetos estão no google Code, se alguém quiser participar no desenvolvimento da apicação, é bem vindo!!Marcos Daniel Petryhttp://www.blogger.com/profile/13496416580634204340marcospetry@gmail.com0tag:blogger.com,1999:blog-1819324405537779447.post-88829626663316338082007-06-30T11:56:00.000-03:002007-07-01T12:38:14.552-03:002007-07-01T12:38:14.552-03:00Aplicações Python Desktop com GladePrecisando criar uma aplicação para um trabalho da faculdade, comecei a estudar o Glade, nunca tinha utilizado, me surpreendi como era simples, por um momento me lembrei do Deplhi onde a programação era <a href="http://desciclo.pedia.ws/wiki/Programa%C3%A7%C3%A3o_no_bot%C3%A3o">orientada a botão</a> heheheh, mas felizmente essa sensação passou rápido!<br /><br /><span style="font-weight: bold;">O Glade</span>: é um criador de <a href="http://pt.wikipedia.org/wiki/Interface_gr%C3%A1fica" title="Interface gráfica">Interface gráfica</a> para <a href="http://pt.wikipedia.org/wiki/GTK%2B" title="GTK+">GTK+</a> que facilita a criação de programas que se integram ao <a href="http://pt.wikipedia.org/wiki/GNOME" title="GNOME">GNOME</a>. O Glade é independente de <a href="http://pt.wikipedia.org/wiki/Linguagem_de_programa%C3%A7%C3%A3o" title="Linguagem de programação">linguagem de programação</a>, e normalmente não produz código, produz um arquivo <a href="http://pt.wikipedia.org/wiki/XML" title="XML">XML</a> e opcionalmente um ou mais arquivos <a href="http://pt.wikipedia.org/wiki/Linguagem_de_programa%C3%A7%C3%A3o_C" title="Linguagem de programação C">C</a> em que programadores podem inserir código. Tal arquivo XML, no formato <a href="http://pt.wikipedia.org/wiki/GladeXML" title="GladeXML">GladeXML</a>, propicia a geração de uma interface gráfica através da biblioteca libglade.<br /><br />Vi em <a href="http://www40.brinkster.com/s4somesh/glade/node2.html">uma pagina</a>, como fazer um calculadora básica, mas tinha alguns erros no código e não rodou... fiz uma versão minha... não ficou muito bonita, mas funcionou! ehheheh. Um screenshot da aplicação abaixo:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_JnDy_ajfcwY/RofEQiGcDXI/AAAAAAAAAqY/t4zobgRdJCY/s1600-h/t%C3%ADtulod.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_JnDy_ajfcwY/RofEQiGcDXI/AAAAAAAAAqY/t4zobgRdJCY/s320/t%C3%ADtulod.jpg" alt="" id="BLOGGER_PHOTO_ID_5082246492821654898" border="0" /></a><br />O programa foi feito tilizando o Glade-3 + python, o código da aplicação pode ser baixado <a href="http://petry.googlecode.com/svn/trunk/testes/glade/calculadora/">aqui</a>!Marcos Daniel Petryhttp://www.blogger.com/profile/13496416580634204340marcospetry@gmail.com0tag:blogger.com,1999:blog-1819324405537779447.post-24178924514065191772007-06-23T18:46:00.001-03:002007-06-23T21:10:01.846-03:002007-06-23T21:10:01.846-03:00Google Rocks!Nossa agora vem a senhora propaganda pro Google.... Tava reparando nos meus acessos a aplicações online ultimamente... praticamente tudo eh com o google...<br /><br />Chego no trabalho, olho meus emails, aonde? gmail! Estou praticamente conectado no GTalk conversando sobre trabalho e outras coisas....quando sobra um tempo durante o dia, dou uma olhada nas listas de discussões, fórums, blogs, aonde? Reader! Vejo minhas tarefas no Calendar, Alguns documentos que utilizo frequentemente, utilizo o Docs, assim edito eles em qualquer lugar... Trabalhos de faculdade e projetos pessoais, uso o Code, Album de fotos? deixo o picasa gerenciar!.<br />Fim de semana, uma olhada rápida no orkut, algusn videos no Youtube..<br /><br />Isso é o que faz parte da minha google-rotina, sem falar dos <a href="http://www.google.com/intl/en/options/">outros serviços</a> q utilizo + esporádicamente! ehhehe<br /><br />Ahhh, quando dá um tempo, escrevo algo nesse blog, qual Blog? Blogger! E ele é de quem?? heheheMarcos Daniel Petryhttp://www.blogger.com/profile/13496416580634204340marcospetry@gmail.com2tag:blogger.com,1999:blog-1819324405537779447.post-74421372986354968902007-04-26T10:11:00.000-03:002007-07-01T14:45:26.459-03:002007-07-01T14:45:26.459-03:00Less Than Jake - eu fui!!!O que voce faria?? ia numa prova extremamente ralada e extressante da facu, ou ia curti um showzinho de ska-core pra desextressa de vez??? o que será que eu fiz??? liguei o foda-se e fui feliz ehhehehe!!!! até agora não me arrependi (ou vai ve q ainda não caiu a ficha que vo pega exame na faculdade hehehe).<br />Fiquei a quarta feira dividido entre a mesma vidinha responsavel e um pouco de diversão, amigos ligando pedindo se eu ia, e eu sem confirmar nada, pois a prova era em Caxias do sul e o show em POA, então , era prova ou show.... mas pensei, que se dane, provavelmente os caras do <a href="http://www.lessthanjake.com/">Less Than Jake</a> vão demora pra vir e quando terei a mesma oportunidade para ver eles de novo? e tb, ultimamente o que eu mais quero é curtir a vida! Chega de todo esse stress e pensar no futuro, programra tudo milimetricamente e tal, carpe diem!!!<br />Faltava 5 min pra aula do vespertino eu decido, to indo, faço umas ligações pra galera, peguei a caranga, chamei mais uns amigos e larguei pra POA! chegendo lah felicidade total, toda galera junta, curtindo um som, tomando umas cevas e tal... encontrei varios velhos amigos de tempo do segundo grau... foi mto bom!!!<br />O show foi ótimo!!! mta energia, a galera pogueando, pulando mto, fazendo alta festa, tirei varias fotos e vários videos!!!! (no findi coloco no album e no youtube, se lembrar!!) . e os caras sabiam agita mesmo, chamaram galera pro palco, conversavam com a galera, mto afude, afude mesmo!!!<br />A volta foi meio complicada, quase 3 da manha, eu quase durminfo acabo pegando o caminho errado e em vez de i pra canos, nau mentrei na rua certa e me lihuei qdo tava entrando em cachoeirinha! hehehe axo q detonei a suspensão do carro passando pelos quebra molas as uns.. ehh soh via a galera gritando... o quebra moooooooo.... CAPUMMMM hehehe! q viagem... mas dah nada... larguei todo mundo em ksa, e cheguei na ksa dos meus pais as 4 da madruga... durmi 2 horinhas beem tranquilas heheh e deposi larguei pra caxias de novo pro trampo!<br />Agora to aki, quase dando de boca no teclado, no intervalo do trampo escrevendo isso com a sexta xicara de café e mto chimarrão! cafeina na veia!!! e sangue quase marrom!!! ehhehehe<br /><br />ahhh fotos?? tá aqui ó: <table style="width:194px;"><tr><td align="center" style="height:194px;background:url(http://picasaweb.google.com/f/img/transparent_album_background.gif) no-repeat left"><a href="http://picasaweb.google.com/marcospetry/LessThanJakeNoOpiniO"><img src="http://lh5.google.com/marcospetry/RjNZvCaWnaE/AAAAAAAAAhc/1G91GFUwjKI/s160-c/LessThanJakeNoOpiniO.jpg" width="160" height="160" style="margin:1px 0 0 4px;"></a></td></tr><tr><td style="text-align:center;font-family:arial,sans-serif;font-size:11px"><a href="http://picasaweb.google.com/marcospetry/LessThanJakeNoOpiniO" style="color:#4D4D4D;font-weight:bold;text-decoration:none;">Less Than Jake no opinião!!!<wbr></wbr>!</a></td></tr></table>Marcos Daniel Petryhttp://www.blogger.com/profile/13496416580634204340marcospetry@gmail.com0tag:blogger.com,1999:blog-1819324405537779447.post-72173509598840753222007-04-25T14:06:00.000-03:002007-07-01T12:39:27.819-03:002007-07-01T12:39:27.819-03:00Festival do Chopp 2007!Bom pra estreiar o blog de vez, umas fotos do festival do chopp que aconteceu na minha terrinha, mas antes um relato do que foi nos 2 fins de semana! e pra voces entenderem a ordem das fotos hehehe!<br /><ul><li><span style="font-weight: bold;">Primeiro fim de semana:</span> começo com o Gre-Nal do Chopp! um evento já tradicional na cidade, onde alguns gambás se organizam pra jogar um futibolzinho básico entre gremistas e colorados, até ai tudo bem tirando que há uma chopeira no meio do campo para "hidratar" o pessoal, bom só tando lá pra ver! ah o resultado, o timão ganho e os colorados tiveram que puxar um carroça com alguns gremistas até a frente de onde seria o Festival do Chopp. Bom a noite.. um churras na casa do vini, pra não capota logo de bebado e depois vamo pro festival!! A primeira noite, como de custume, não tinha muita gente, mas tava divertido.<br /></li><li><span style="font-weight: bold;">Segundo fim de semana:</span> esse foi engraçado hehehe! 2 turmas de amigos lá de Feliz, os Choppados (minha turma) e os Kueras (que já não existe mais, mas vamo fingi que sim!) se reunem para fazer um joguinho amistoso que nem o gre-Nal do Chopp, com chopp e tudo, mas com uam diferença, tudo fantasiado de mulher (não não tirei fotos disso ai pra manter a minha integridade hehehe, mas infelizmente algumas foram para nos jornais locais :( ), o resultado, choppados bebados e cansados 2 e kueras sem um pingo de alcool no sangue 4, mas ano que vem a gente ganha pq a gente não vai bebe (a gente sempre fala isso, mas a sede é maior...). Bom a noite festival!!!! Muito mais gente e muito mais, divertido!! era 6 horas da manha e o festival tava praticamente cheio!<br /></li></ul>Acho que era isso... tai as fotos, o link leva pra um dos meu albuns do picasa...<table style="width: 194px;"><tbody><tr><td style="background: transparent url(http://picasaweb.google.com/f/img/transparent_album_background.gif) no-repeat scroll left center; height: 194px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" align="center"><a href="http://picasaweb.google.com/marcospetry/FestivalDoChopp2007"><img src="http://lh5.google.com/image/marcospetry/RiueUrC8reE/AAAAAAAAAZ4/-Rj6XWqesnc/s160-c/FestivalDoChopp2007.jpg" style="margin: 1px 0pt 0pt 4px;" height="160" width="160" /></a></td></tr><tr><td style="text-align: center; font-family: arial,sans-serif; font-size: 11px;"><a href="http://picasaweb.google.com/marcospetry/FestivalDoChopp2007" style="color: rgb(77, 77, 77); font-weight: bold; text-decoration: none;">Festival do Chopp 2007</a></td></tr></tbody></table>Marcos Daniel Petryhttp://www.blogger.com/profile/13496416580634204340marcospetry@gmail.com0tag:blogger.com,1999:blog-1819324405537779447.post-83701621304651761462007-04-25T10:15:00.000-03:002007-07-01T12:39:19.404-03:002007-07-01T12:39:19.404-03:00vida nova, blog novo!!!Vamo ve se agora vai!!!<br /><br />Depois de vários blogs criados, dominios registrados e todos eles parados, vou tentar novamente!! criei + um blog!! Optei pelo blogger, pois é como é outro serviço do google, é uma senha a menos para eu decorar! hehehe<br /><br />O objetivo ainda não sei... provavelmente prencher uma certa parcela de tempo, e tentar esquecer algumas coisas que devem ser esquecidas....<br />Tentarei escrever de tudo por aqui, coisas da vida pessoal, profissional... sei lá, vai depende do momento...<br /><br />aguardem... e deem um tempo pra ver com oele funciona pra muda a cara dele, adicionar um funcionalidade e tal...<br /><br />abraço!!!Marcos Daniel Petryhttp://www.blogger.com/profile/13496416580634204340marcospetry@gmail.com0