quinta-feira, 16 de abril de 2009

Instalando o Gnuplot CVS com Suporte ao TikZ

Fiz esse tutorial para o Ubuntu, mas deve funcionar para outras distros (só cuidado na parte de instalar a Lua).

TikZ é uma interface para o Pgf, que é um driver gráfico muuuito poderoso do LaTeX, que permite fazer gráficos vetoriais de alta qualidade em pdfs. A vantagem de usar o terminal TikZ do gunplot é que é possível editar de maneira prática o gráfico em um editor de texto, além de poder usar setinhas, bordas arredondadas, transparências!!

Para usar esse terminal você tem que ter o LaTeX e o Pgf/TikZ instalados!! Para isso basta ir em Aplicativos > Adicionar/Remover e instalar o texmaker e/ou o Lyx.

Enfim, chega de conversa!

Primeiro:
Copie o script a seguir e salve-o no seu home com o nome de "teste.gnuplot".

teste.gnuplot
#!/usr/local/bin/gnuplot
#Script de teste retirado de:
#http://www.texample.net/tikz/examples/gnuplot-tikz-terminal/
#Salve no seu home (~) com o nome de teste.gnuplot

set terminal lua fulldoc \
solid originreset plotsize 9,6.5
set output 'ntest.tex'

set format x "%2.0f"
set format y "%3.2f"

unset key
set label 1 '$\mu$' at 5.5, 0.0193014, 0 left norotate back nopoint offset character 0, 0, 0
set label 2 '$\sigma$' at 7.73607, 0.108213, 0 left norotate back nopoint offset character 0, 0, 0
set arrow 1 from 5, 0, 0 to 5, 0.178412, 0 nohead back nofilled linetype -1 linewidth 1.000
set arrow 2 from 5, 0.108213, 0 to 7.23607, 0.108213, 0 nohead back nofilled linetype -1 linewidth 1.000
set samples 200, 200
set ytics border in scale 1,0.5 mirror norotate offset character 0, 0, 0 0.00000,0.0193014,0.193014
set title "poisson PDF using normal approximation"
set xlabel '$k, x$ \tikz[baseline]{\draw[yshift=.7ex,->](0,0)--(.7,0);}'
set xrange [ -2.00000 : 15.0000 ] noreverse nowriteback
set ylabel 'probability density \tikz[baseline]{\draw[yshift=.7ex,->](0,0)--(.7,0);}'
set yrange [ 0.00000 : 0.193014 ] noreverse nowriteback

isint(x)=(int(x)==x)

normal(x,mu,sigma)=sigma<=0?1/0:invsqrt2pi/sigma*exp(-0.5*((x-mu)/sigma)**2)
poisson(x,mu)=mu<=0?1/0:!isint(x)?1/0:x<0?0.0:exp(x*log(mu)-lgamma(x+1)-mu)

rnd(x) = floor(x+0.5)
fourinvsqrtpi = 2.25675833419103
invsqrt2pi = 0.398942280401433
twopi = 6.28318530717959
mu = 5.0
sigma = 2.23606797749979

plot poisson(rnd(x), mu) with histeps,\
normal(x, mu, sigma) # title '$\mathrm{normal}(x, \mu, \sigma)$'



Agora copie o script de instalação para algum arquivo de texto e salve no seu home como "instalar_gnuplot.sh".
Depois disso, use os seguintes comandos:
chmod u+x ./instalar_gnuplot.sh
./instalar_gnuplot.sh


instalar_gnuplot.sh
#!/bin/bash
#Instalando o Gnuplot 4.3 com o suporte ao terminal TikZ/pgf:
#Vamos fazer tudo no home (~)
cd
sudo apt-get update
sudo apt-get install lua5.1 liblua5.1-0 liblua5.1-0.dev libreadline5 libreadline5-dev
sudo apt-get build-dep gnuplot-nox gnuplot-x11
export CVSROOT=:pserver:anonymous@gnuplot.cvs.sourceforge.net:/cvsroot/gnuplot
echo "[IMPORTANTE]: APERTE ENTER QUANDO PEDIR O PASSWORD!!"
cvs login
cvs -z3 checkout gnuplot
cd ~/gnuplot
./prepare
#Agora o "Pulo do Gato", sem as flags ele não consegue achar a Lua
./configure --with-readline=gnu LUA_CFLAGS=`pkg-config --cflags lua5.1` LUA_LIBS=`pkg-config --libs lua5.1` --with-lua
make
sudo make install
# A seguir vai indicar o gnuplot instalado também (ou só) em /usr/local/bin/gnuplot
whereis gnuplot
# Para você não ter que digitar o path completo do cvs,
# caso tenha o "gnuplot estavel" instalado também.
echo "alias gnuplot='/usr/local/bin/gnuplot'" >> ~/.bashrc
gnuplot --version
#O comando acima deve retornar: gnuplot 4.3 patchlevel 0
#Agora, vamos por o .sty no lugar certo para o Latex compilar o seu grafico.
#E vamos testar o danado também.
[ -d ~/texmf/tex/latex ] || mkdir ~/texmf/tex/latex
cd ~/texmf/tex/latex
cp ~/gnuplot/term/lua/gnuplot-lua-tikz.sty .
cd
chmod u+x teste.gnuplot
./teste.gnuplot
pdflatex -interaction=nonstopmode ntest.tex
#Visualizando o resultado:
evince ntest.pdf
#Removendo o teste (opcional)
#rm ntest.*
exit 0



Esse ultimo script deve instalar tudo para você e criar um pdf com um gráfico de teste!!! Também coloquei vários comentários no script para você saber o que eu fiz em cada passo.

É isso! Lembre-se que não sou a prova de falhas, por isso de uma olhada no script antes de executar

OBS: Peguei o DIV para por os códigos do blog do meu amigo. [Link]

domingo, 8 de fevereiro de 2009

[PSP] iR Shell Returns !?

0 - Sobre este post

Antes de mais nada, o autor não se responsabiliza por qualquer dano que o uso dos programas e procedimentos contidos/citados nesse texto possam causar, sejam eles de qualquer natureza, assim use as informações e programas desse texto por sua própria conta e risco.

1 - Sobre o iR Shell

O iR Shell é um homebrew para o PSP que visa “substituir” o XMB padrão do firmware do PSP por um Shell com mais funcionalidades, melhor gerenciamento de arquivos, suporte a multitarefa, transferências de arquivos via wifi entre outras coisas.

O projeto cresceu muito no começo, mas ficou meio abandonado depois de um tempo, até que recentemente foi “ressuscitado”, contando agora com suporte aos Custom Firmwares (CFW) mais recentes, a saber 4.01 m33-2 e 5.00 m33-3.

Resolvi então fazer um mini-tutorial ensinando como instalar o iR Shell e como configurar algumas das características mais básicas (no futuro postarei mais coisas sobre ele).

2 - Instalando

Primeiro baixe o arquivo do iR Shell versão 4.9 ( Download ), descompacte e transfira para o raiz do memory stick (só jogar dentro do safado).

Depois disso, baixe a atualização para a versão 4.91 ( Download ), descompacte e transfira para o raiz do
memory stick, essa atualização vai substituir alguns arquivos por versões mais novas.

3 - Aplicando o PATCH

Agora precisamos apenas aplicar o patch do iR Shell para a versão do seu CFW, isso é feito da seguinte maneira:

  1. Entre no iR Shell, caso você esteja se perguntando porque tem 2 iR Shell no XMB é porque ele vem com 2 eboots (programas executáveis pelo PSP): um para os firmwares mais novos (o com o fundo da folha de palmeira), e outro para o firmware versão 1.5, logo, você deve entrar no da palmeira.


  2. Uma vez no iR Shell, vá em [Directory View] (icone da casinha).




  3. Vá em IRSHELL/PATCH e selecione o a pasta com a versão do seu CFW, dentro dessa pasta selecione e rode o arquivo btcnfpatch.prx.




  4. Saia do iR Shell, desligue e ligue o PSP (só para garantir que está tudo ok).


4 - Configurando (Básico)

Entre novamente no iR Shell, vá no [iR Shell Configurator], vá na opção UMD Mode e coloque como M33 NoUMD Mode (esquerda, direita ou X mudam os valores das opções), após isso aperte O (Bola) para sair e salvar as mudanças.





5 - Rodando jogos e utilizando o recurso de Multitarefa

Para rodar um ISO ou CSO pelo iR Shell, vá em [Directory View], procure onde você colocou o jogo e selecione o arquivo, então aperte X para rodar.

Uma vez no jogo, você pode alternar entre o iR Shell e o jogo, bastando apenas apertar “SELECT + L” (dentro do iR Shell é melhor você segurar o L primeiro e depois apertar o SELECT), no iR Shell você pode, por exemplo, abrir um arquivo de texto (“.txt”) salvo no seu memory stick com um FAQ/Walkthrough do jogo em questão e ficar alternando entre o guia e o jogo (Ficou feliz com essa funcionalidade, né? Seu cheater!), o site www.gamefaqs.com é uma ótima fonte desses guias.

Também podemos ouvir um mp3 enquanto jogamos da mesma forma, e caso o jogo seja bem feito e tenha áudio separado em vários canais, você pode silenciar (“mutar”) o canal com a musica do jogo em [Mute Game Audio].

Caso você deseje encerrar o jogo (ou seja, sair), apenas faça como sempre fez, aperte "HOME" e mande ele sair, então você vai retornar para o iR Shell.

6 - Considerações Finais

Hoje vimos como instalar o iR Shell, bem como alguns de seus recursos básicos, mas ele pode fazer muito mais do que isso, como abrir muitos tipos de arquivos, oferecer opções de transferência de arquivos de PSP para PSP via wifi e várias outras características que nós vamos abordar em outros posts futuros.

7 - Para saber mais

Recomendo uma visita ao site do projeto: www.irshell.org, eles sempre estão lançando novas atualizações além de ter um forum para discutir coisas sobre o iR Shell.