Filed under apple

Usando o growlnotify para gerar notificações no Mac OSX

O Growl é uma das ferramentas mais úteis que tenho instalado no Mac OSX. Ele é uma central de notificações que é usada por vários aplicativos para mostrar informações na sua tela. Twitter, iTunes, Last.fm, Adium, Skype são apenas alguns exemplos de ferramentas que usam o Growl para informar o que está acontecendo aos seus usuários.
Um dos extras que estão disponíveis, na forma de plugins, é o growlnotify. Trata-se de uma ferramenta de linha de comando que você pode usar nos seus scripts para lhe informar de eventos que ocorrerem.
Para instalar basta fazer o download do .dmg, montá-lo e seguir as instruções na tela.

Um exemplo de uso:

phpunit ; growlnotify -m "Fim do build"

Quando o build do phpunit terminar uma mensagem é mostrada na tela:

Existem outras opções como mudar o ícone, forçar a notificação para que não desapareça automaticamente, mudar a prioridade, etc. Além disso, como o Growl é um servidor de rede é possível mandar notificações para outras máquinas.
Uma lista de opções do comando está disponível no help:
growlnotify --help
Até a versão 1.2 o Growl era gratuíto, mas a partir da 1.3 ele está disponível por U$ 1.99 na Apple Store. Mas é um investimento que valhe a pena.

Processando arquivos de profiling do Xdebug no MacOSX

O Xdebug é uma das ferramentas mais úteis que conheço para quem trabalha com PHP. Eu escrevi um resumo das suas funcionalidades em um post anterior.
Uma das funcionalidades que mais uso é a geração de “profiling” de aplicações. Ajuda muito na hora de encontrar “gargalos” de performance. O único problema é que eu precisava usar o Kcachegrind ou o Webgrind para analisar os arquivos gerados pelo Xdebug.
Como eu uso MacOSX eu procurei uma forma mais rápida de processar essas informações, sem ter que acessar uma máquina virtual Linux ou configurar o Webgrind.
Para isso eu usei a dupla xdebugtoolkit e graphviz. O primeiro analisa o arquivo gerado pelo Xdebug e gera um arquivo .dot, que eu posso abrir com o graphviz.
Para instalar o xdebugtoolkit é preciso acessar o Terminal e executar os comandos:


svn co http://xdebugtoolkit.googlecode.com/svn/tags/0.1.5/xdebugtoolkit/ xdebugtoolkit

e

cd xdebugtoolkit/

Ele é um programa desenvolvido em Python, que vem instalado nativamente no MacOSX.

Com o xdebugtoolkit é possível converter o arquivo de profiling em uma imagem no formato .dot. Para isso é preciso executar o comando:

./cg2dot.py cachegrind.out.5398 > cachegrind.dot

Agora basta usar o graphviz para abrir o arquivo cachegrind.dot. A instalação segue o formato .DMG do MacOSX e não apresenta nenhum mistério.
Abaixo um exemplo de arquivo gerado por esse processo, e exportado para JPG.

No arquivo é possível ver toda a árvore de execução da página, com seus respectivos tempos de processamento, ajudando a encontrar partes que estejam comprometendo a performance.
Com certeza não é tão avançado quanto o Kcachegrind, mas tem me ajudado bastante.

Promoção de aniversário do site

No dia 04/09/2008 fazem 5 anos que criei este site!

Nestes 5 anos foram 245 posts (246 contando com este), 576 comentários, vários novos amigos e grande conhecimento adquirido.  Realmente foi uma das melhores  práticas profissionais e pessoais que já fiz.

Para comemorar e agradecer aos leitores eu vou sortear duas cópias do meu livro Frameworks para Desenvolvimento em PHP. Autografados e enviados pelo correio. Lembre-se que minha assinatura e mais 15 reais valem uma cerveja em qualquer Night Club do país!!

Para participar é só deixar um comentário nesse post, com nome e e-mail corretos. O sorteio vai ser feito pelo meu pequeno e humilde script para sortear alunos azarados no dia 08/09/2008

Boa sorte e obrigado por ler meu site

Softwares para Mac

Já faz quase um ano que estou usando o Mac. Nesse tempo fui coletando alguns softwares legais. Resolvi escrever aqui a minha lista de escolhas porque pode ser útil para quem está iniciando com o sistema da Apple.

É uma continuação deste post, e deste, e deste :-)

Adium
O tudo-em-um dos Instant Messages. Conecta em MSN, GTalk, Jabber.

AppFresh
Ajuda a saber se algum software instalado deve ser atualizado.

AppCleaner
Apesar do processo de remoção de softwares no MacOSX ser muito simples, com o AppCleaner fica mais fácil ainda. Ao remover um software ele remove todas as configurações e possíveis “resquícios” do programa

aMule
Outro que dispensa apresentações. É o mesmo software que usava no Linux

Burn
Bem útil e simples para “queimar” CDs e DVDs

Colloquy
Cliente de IRC com interface polida e simples

Cyberduck
Excelente cliente de FTP

Coconut Batery
Para monitorar o estado da sua bateria. Dá para saber a idade da bateria, quantas cargas já fez e a capacidade de carga. A minha bateria depois de 13 meses de vida já perdeu 6% de sua capacidade.

Evernote
É um serviço interessante. Você se cadastra no site e faz o download de um pequeno aplicativo. Depois pode colar textos, fotos, anotações e ele salva no site. É uma espécie de del.icio.us mas para anotações. Útil.

GimmeSomeTune
Uma espécie de plugin para o iTunes. Ele é executado junto com o player da Apple e faz o download das capas, letras das músicas e outros ajustes.

iGTD
Software muito útil, para controlar seus projetos e tarefas. Possui integração com o iCal.

Quicksilver
Indispensável. Com ele é possível executar aplicativos, abrir arquivos e diretórios, etc. Tudo via tecla de atalho. Surpreende a utilidade e produtividade que isso proporciona. Tem um vídeo legal mostrando como usar ele.

Quinn
Eu sou viciado no Tetris. A primeira coisa que faço quando compro um celular novo é procurar uma versão do jogo para ele. Com o Mac não foi diferente :-) O Quinn é divertido e bonito.

Superdocker
Ativa algumas configurações especiais e legais para o Dock, Finder, Safari e Time Machine. Dá para trocar as cores do Dock, estilos, etc.

Seashore
Existem vários aplicativos legais para edição de imagens no Mac. Mas para mim, que a principal tarefa é redimensionar imagens e outras coisas simples o Seashore é perfeito. Ele é baseado no código do Gimp.

Simple CSS
Software muito útil para trabalhar com arquivos CSS. Ele ajuda a organizar o código de acordo com as funcionalidades (fonts, bordas, dimensões, etc)

Transmission
Cliente de bittorrent muito simples e fácil.

Textmate
Acho que dispensa apresentações. Excelente editor de programação. Pena que não é livre.

UnRarX
Parece que eu sou o último fã do formato zip porque todo mundo usa o rar. Então o UnRarX é necessário.

Vine Server/Viewer
Bem útil para mim que sou professor. Com o servidor VNC os alunos podem conectar no micro para acompanhar as instruções e códigos que quero demonstrar.

VirtualBox
Álternativa ao VMWare, este aplicativo open source que foi adquirido pela Sun é muito útil. Eu criei máquinas virtuais para o Windows e o Linux, assim posso utilizar os três sistemas ao mesmo tempo sem precisar reiniciar o computador ou ter que pagar licenças para o Parallels.

Xampp
Pacote com o Apache, PHP, MySQL e outras coisas úteis para programar para Web.

Eu quero trabalhar nessa empresa

No meio dos 120 (sério) feeds que leio diariamente (na verdade várias vezes ao dia) encontrei o site desta empresa: Carsonfied

Eles são uma empresa de desenvolvimento na Inglaterra, que trabalham com Django, Rails, Symfony, etc. Mas o mais interessante é a página de vagas de emprego. Olha como eles se descrevem (tradução resumida e alterada):

“… Não somos uma empresa normal :-) Alguns benefícios da vaga:

Semana de 4 dias(O escritório é fechado nas Sextas-feiras). Seu próprio iPhone, monitor de 23 ”, cadeira confortável e MacBook Pro. Bons salários.

Trabalhar na Carsonified não é apenas um trabalho – é um estilo de vida. Nós queremos que você ame trabalhar aqui, então fornecemos o melhor kit do mercado

….

Viu? É disso que eu falo! Melhor do que o Google.

Imagino as pessoas que trabalham lá: Papai Noel (Programador), Coelho da Páscoa (Designer), Capitão Nascimento (Gerente de Projetos)…

Será que isso existe mesmo?

Etiquetado

pyBovespa

Neste ano eu comecei a investir em ações. É algo ao mesmo tempo emocionante e apavorante porque você pode ganhar e perder dinheiro em questão de horas. Por isso é importante ficar sempre atento as alterações dos valores das ações. Existem vários programas e sites que permitem o acompanhamento das alterações. Mesmo assim, eu aproveitei a manhã de feriado, enquanto me recupero de uma pequena ressaca, e fiz um script em Python que busca os dados da Bovespa e permite o acompanhamento da sua “carteira de ações”. Assim dá para deixar um terminal aberto e ir acompanhando o mercado.
O script foi feito por diversão e uso pessoal, mas se servir para alguém mais legal. O código:

# -*- coding: utf-8 -*-
# Elton Luís Minetto
import urllib
from xml.dom import minidom
from time import sleep
from os import system

#adicionar as acoes aqui
#formato ACAO: [num_acoes,valor_compra,data_compra]
acoes = {
	'BBDC4':[100,34.84,'25/04/2008'],
	'PETR4':[100,42.00,'20/04/2008'],
}

def atualiza(acoes):
	system('clear')
	url = 'http://www.bovespa.com.br/Mercado/RendaVariavel/InfoPregao/ExecutaAcaoAjax.asp?CodigoPapel='
	for i in acoes:
		url += '|'+i
	f = urllib.urlopen(url)
	xml = f.read()
	xmldoc = minidom.parseString(xml)
	papeis = xmldoc.getElementsByTagName('Papel')
	#cabecalho
	print 'Ação\tValor de Compra\tData da Compra\tQtd\tAtual\tDiferença R$\tDiferença %\tData de Atualização'

	total_compra = 0.0
	total_dif_reais = 0.0
	for i in papeis:
		codigo = i.attributes['Codigo'].value
		valor_compra = acoes[codigo][1]
		qtd_acoes = acoes[codigo][0]
		data_compra = acoes[codigo][2]
		valor_atual = i.attributes['Ultimo'].value.replace(',','.')
		data_atual = i.attributes['Data'].value

		diferenca_reais = (float(valor_atual) * qtd_acoes) - (valor_compra * qtd_acoes)
		diferenca_perc = (diferenca_reais*100)/(valor_compra * qtd_acoes)
		total_compra += valor_compra * qtd_acoes
		total_dif_reais += diferenca_reais

		print '%s\t%02f\t%s\t%d\t%s\t%02f\t%02f\t%s' % (codigo,valor_compra,data_compra,qtd_acoes,valor_atual,diferenca_reais,diferenca_perc,data_atual)

	print 'Total de Compra:%02f' % total_compra
	print 'Total da Diferença em Reais:%02f' % total_dif_reais
	total_dif_perc = (total_dif_reais * 100)/total_compra
	print 'Total da Diferença em Percentual:%02f' % total_dif_perc
	sleep(1200)

while 1:
	atualiza(acoes)

Eu testei o script no MacOSX Leopard. Mas deve funcionar legal no Linux e no Windows
Download do arquivo

Etiquetado

Softwares Open Source para Mac

Excelente site com dicas de softwares livres para Mac:

http://www.opensourcemac.org/

Eu encontrei um muito bom chamado Seashore. É baseado no Gimp mas roda nativamente no Mac. Muito bom para mim que não preciso de algo tão complexo como um Photoshop ou similar.  Só preciso cortar e redimensionar algumas imagens.

Tem outras dicas legais nesse site. Vale reservar um espaço para ele nos seus bookmarks 

Etiquetado ,

Meu texto sobre os editores de programação no Mac foi publicado no site AppleMania.info

Editores de programação para Mac

Nesses meses como novo usário de MacOSX testei alguns editores para trabalhar com programação, principalmente com PHP, Python, HTML e CSS. Encontrei alguns interessantes. Deixo aqui minhas opiniões sobre o assunto.

Eclipse

O primeiro que testei foi o Eclipse, pois é o que utilizo no meu trabalho diário na universidade. Lá eu utilizo em ambiente Linux e no OSX tudo funcionou da mesma maneira. Só algumas telas e teclas de atalho mudam. O Eclipse é uma ferramenta muito poderosa. Instalando os plugins corretos, PDT para PHP e PyDev para Python, é possível ter todas as características que esperamos deste tipo de ambiente. O que eu mais gosto é o suporte nativo a CVS (extremamente útil para projetos maiores pois não consigo mais programar sem este recurso), o auto complete dos comandos PHP e HTML que funciona certinho, aquilo que o Eclipse chama de Outline onde ele mostra os métodos e funções do arquivo aberto, e a árvore de arquivos/diretórios que facilita o acesso rápido aos códigos. O que eu não gosto no Eclipse é a quantia de memória que ele utiliza.

Smultron

Já comentei sobre o Smultron aqui no site. É um editor bom, open source e leve. O que eu sinto falta é o equivalente ao Outline e a árvore de diretórios do Eclipse. Além disso, a interface do programa não é tão bonita quanto o resto do sistema operacional

TextWrangler

O TextWrangler é um editor feito pela mesma empresa que desenvolve outro editor famoso (e pago) para o Mac, o BBEdit. É uma versão com menos recursos do que a versão comercial, mas mesmo assim é muito bom. Leve, suporta várias linguagens de programação, interface polida, acesso a ler/gravar arquivos direto em servidores FTP/SFTP, possui algo equivalente ao Outline do Eclipse, além de ser altamente configurável. Uma boa opção. Só senti falta da árvore de diretórios para rápido acesso aos arquivos.

Komodo Edit

É a versão para Mac do editor do qual já comentei aqui no site. É muito bom. Rápido, possui a árvore de diretórios (que se atualiza automaticamente caso um arquivo seja criado ou excluído. Cool), é extensível usando-se plugins quase da mesma maneira que o Firefox, apesar de ainda existirem poucos disponíveis. E o auto complete é tão bom quanto o do Eclipse, se não for até melhor. Só faltou o Outline e suporte a CVS pra ser um bom substituto ao Eclipse. Mas isso só na versão paga, que por enquanto está fora do meu foco de avaliação

Vi/VIM

Lógico que não dava para esquecer do velho amigo. Outra vantagem do OSX ser derivado do Unix é poder usar o Vi. É um bom editor de programação como é possível ver nesse excelente artigo

Conclusões

Depois de testar estes softwares cheguei as seguintes conclusões:

  • Para projetos grandes, onde o CVS/Subversion é importante, o Eclipse ainda é a melhor opção.
  • Para projetos menores eu estou usando o Komodo Edit e estou satisfeito. Tenho usado ele bastante em projetos com o CakePHP e outros frameworks como o Django (ele tem suporte ao Django além do próprio Python)
  • Para editar arquivos PHP/Python de maneira rápida, sem precisar ver todo o projeto eu estou usando o TextWrangler
  • E para arquivos de configuração, como o httpd.conf e outros, o bom e velho Vim é a solução
  • É possível programar confortavelmente sem precisar comprar um TextMate ou o BBEdit (apesar do TextMate ser muito bonito)

Se alguém usa outro editor ou discorda de alguma das conclusões me avise

Smultron

Nas minhas novas aventuras pelo mundo do MacOSX encontrei um software livre muito bom. É o Smultron, um editor para programação que apesar de não possuir a fama e o charme de um Textmate, possui todas as características básicas de um bom editor: syntax highlighting, snippets, customizações, suporte a PHP, HTML, Python, etc. Fica aí a dica para quem está começando a usar o Mac para programar e não precisa do peso de um Eclipse ou não está disposto a pagar pelo BBEdit, Coda ou Textmate.

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Join 1.472 other followers