Programar é praticar.

Muitos me perguntam como eu me tornei “fera” (não que eu seja, longe disso) em programação e sempre respondo: praticando.

É muito comum eu ver na faculdade pessoas que acham que ao entrar no curso já se tornarão programadores de verdade, algumas que logo irão se sentir frustradas e trocarão de curso no fim do semestre. É bem verdade que pode haver outras causas, professores que não motivam os alunos ou uma grade curricular fraca (particularmente na faculdade onde estudo eu a considero, sorte que já sabia programar quando ingressei).

frustration-600x450_1-100521350-orig
Pois bem, além de fazer os exercícios e tarefas propostos pelo professor é sempre bom procurar desafios que não são vistos em sala. Você pode procurar por listas de exercícios, procurar sistemas ou algoritmos prontos e analisar seu código fonte (há milhares no github).

gato_guitar

Programar é como tocar violão, praticar muito é essencial.

Na medida em que você vai adquirindo prática e confiança parta para desafios mais complexos. Aprendeu a trabalhar com matrizes? Desenvolva um sudoku ou jogo da velha. Programar jogos (mesmo que seja no console) é uma ótima maneira de utilizar tudo o que você aprendeu.

Por fim, se você está começando agora não desista! Lembre-se que os erros fazem parte do processo e ajudam na sua formação.

Se você quer aprender a programar on-line de forma interativa, existem vários sites que podem te auxiliar:

http://www.codecademy.com/

http://www.codeschool.com/

http://www.khanacademy.org/cs
Abraço e até a próxima.

Anúncios

Aumentado o volume dos seus mp3 com Easy MP3 Gain

Com certeza você já deve ter feito o download de algum mp3 que toca legal no computador mas quando toca no celular/mp3 player/ipod/whatever fica quase inaudível?

Pois bem, para contornar este problema, temos o easy mp3 Gain, que é um frontend do mp3gain – software que é usado para aumentar ou diminuir o volume de seus arquivos mp3.
Continuar lendo

Ajustando tags mp3 com o EasyTag.

Não é chato quando baixamos um arquivo mp3 e ele vem com suas tags todas “zoadas”? Um vem sem o título da música ou com o nome do artista incorreto e para isso temos de ajustar manualmente. Pois bem, fuçando a Central de Programas do Ubuntu, encontrei um aplicativo bem interessante para resolver este problema: o EasyTag.

Continuar lendo

Instalando um PSXPad na porta paralela no Ubuntu.

Um script muito bom para instalar controle de playstation no Ubuntu via porta paralela.


#!/bin/bash
# #########################################################
# Script para configuração de Joystick na porta paralela  #
# Desenvolvido por Aldefax Gilvan Kuhn           #
# Módulo utilizado gamecon - Kernel 2.6 Ubuntu 06.06     #
# Fiz este script para uso pessoal e estou compartilhando #
# a idéia, ele é livre para quem quiser copiar, modificar #
# ou fazer qualquer alteração, sugestões são bem-vindas.  #
# Correções, sugestões e contribuições <a href="mailto:aldefax@gmail.com">aldefax@gmail.com</a> #
# Data da última modificação 21/12/2007-00:48        #
###########################################################

# Funções
Checa_Status() {
if [ $? -ne 0 ]
then
zenity --error --text="Seu joystick não foi configurado!"
exit 1
fi
}

# 1) Verificar se o usuário possui permissões sudo ou root para gravar em /etc/modules
if ! [ -w /etc/modules ]
then
zenity --error --text="Não tenho permissão para gravar as alterações, desculpe!"
zenity --error --text="Tente assim: sudo $0"
exit 1
fi

# 2) Verificar se o pacote zenity e joystick estão instalados
dpkg -l zenity >/dev/null 2>/dev/null
Checa_Status
dpkg -l joystick >/dev/null 2>/dev/null
Checa_Status

# 3) Se não estiverem instalados fazer a instalação deles

# 4) Em qual porta de impressora o joystick está conectado?
PORTA=`zenity --title="Selecionando a porta" --width=400 --height=400 --list 
--text="Selecione a porta em que seu controle está conectado:" 
--radiolist --separator=separator --column "" --column "Cod." --column "Porta Paralela" --hide-column="2" 
TRUE  0 "lp0 (Default para a maioria dos casos)" 
FALSE 1 "lp1" 
FALSE 2 "lp2" 
FALSE 3   "lp3"`
Checa_Status

# 5) Quantos joysticks você tem conectados a essa porta?
QTDADE=`zenity  --title="Quantos controles você tem contectados?" --width=400  --height=400 --list --text="Selecione quantos controles estão conectados  na mesma porta:" 
--radiolist --column "" --column "Cod." --column "Quantidade" --hide-column="2" 
TRUE  1 "Um" 
FALSE 2 "Dois"`
Checa_Status

# 6) Qual o modelo do seu joystick?
MODELO=`zenity --title="Selecionando o controle" --width=400 --height=400 --list --text="Selecione o modelo do seu controle:" 
--radiolist --column "" --column "Cod." --column "Joystick/Gamepad" --hide-column="2" 
TRUE  0 "Nenhum (Restaura configuração da porta paralela)" 
FALSE 1 "Super Nintendo" 
FALSE 2 "Nintendo" 
FALSE 4 "Multisystem 1-botão joystick" 
FALSE 5 "Multisystem 2-botão joystick" 
FALSE 6 "Nintendo 64" 
FALSE 7 "Sony PSX gamepad controller" 
FALSE 8 "Sony PSX DDR (Dance Dance Revolution) controller" 
FALSE 9 "SNES mouse"`
Checa_Status

# 7) Remove joystick e instala porta de impressora
if [ $MODELO -eq 0 ]
then
(
echo "10" ; sleep 1
echo "# Removendo módulo joydev" ; sleep 1
modprobe -r joydev >/dev/null 2>/dev/null
echo "25" ; sleep 1
echo "# Removendo módulo gamecon" ; sleep 1
modprobe -r gamecon >/dev/null 2>/dev/null
echo "50" ; sleep 1
echo "# Adicionando módulo lp" ; sleep 1
modprobe lp >/dev/null 2>/dev/null
echo "75" ; sleep 1
echo "# Concluíndo" ; sleep 1
echo "100" ; sleep 1
) |
zenity --progress 
--title="Removendo joystick" 
--text="Selecionando Módulos..." 
--percentage=0

if [ "$?" = -1 ] ; then
zenity --error 
--text="Ação cancelada."
fi
zenity --error --text="Nenhum joystick não foi configurado!"

grep -i -v gamecon /etc/modules |grep -i -v lp >/tmp/modules
echo "lp" >>/tmp/modules
cp /etc/modules /etc/modules-`date +%s`
cat /tmp/modules >/etc/modules
exit 1
fi

case $QTDADE in
1) CONF=$PORTA,$MODELO,0,0,0,0;;
2) CONF=$PORTA,$MODELO,0,0,$MODELO,0;;
3) CONF=$PORTA,$MODELO,$MODELO,$MODELO,0,0;;
4) CONF=$PORTA,$MODELO,$MODELO,$MODELO,$MODELO,0;;
5) CONF=$PORTA,$MODELO,$MODELO,$MODELO,$MODELO,$MODELO;;
esac

zenity --question --text="Deseja ativar o(s) joystick(s) agora?"
Checa_Status

# <img src="http://ubuntuforum-br.org/Smileys/default/cool.gif" border="0" alt="Legal" /> Remove porta de impressora e instala joystick
(
echo "15" ; sleep 1
echo "# Removendo módulo joydev" ; sleep 1
modprobe -r joydev >/dev/null 2>/dev/null
echo "30" ; sleep 1
echo "# Removendo módulo gamecon" ; sleep 1
modprobe -r gamecon >/dev/null 2>/dev/null
echo "50" ; sleep 1
echo "# Removendo módulo lp" ; sleep 1
modprobe -r lp >/dev/null 2>/dev/null
echo "75" ; sleep 1
echo "# Adicionando módulo gamecon" ; sleep 1
modprobe gamecon map=$CONF >/dev/null 2>/dev/null
echo "100" ; sleep 1
) |
zenity --progress 
--title="Instalando joystick" 
--text="Selecionando Módulos..." 
--percentage=0

if [ "$?" = -1 ] ; then
zenity --error 
--text="Ação cancelada."
fi

# 9) Testando joystick (não consegui colocar saída em um information dialog box)
sleep 1
jstest /dev/input/js0

# 10) Para funcionar o joystick é necessário calibrá-lo
# para calibrar o(s) joystick(s) clique em calibrate, mova para todos os lados.
# Teste todos os botões, se tiver mais de 1 joystick selecione em Joystick Device
# depois no menu Joystick clique em reopen(CTRL + E)
jscalibrator
Checa_Status

# 11) Remove porta de impressora e instala joystick
(
echo "15" ; sleep 1
#        echo "# Removendo módulo joydev" ; sleep 1
modprobe -r joydev >/dev/null 2>/dev/null
echo "30" ; sleep 1
#        echo "# Removendo módulo gamecon" ; sleep 1
modprobe -r gamecon >/dev/null 2>/dev/null
echo "50" ; sleep 1
#        echo "# Removendo módulo lp" ; sleep 1
modprobe -r lp >/dev/null 2>/dev/null
echo "75" ; sleep 1
#        echo "# Atualizando módulo gamecon" ; sleep 1
modprobe gamecon map=$CONF >/dev/null 2>/dev/null
echo "100" ; sleep 1
) |
zenity --progress 
--title="Atualizando configuração" 
--text="Atualizando Módulos..." 
--percentage=0

if [ "$?" = -1 ] ; then
zenity --error 
--text="Ação cancelada."
fi

zenity --question --text="Deseja tornar essas configurações permanentes?"
Checa_Status

grep -i -v gamecon /etc/modules |grep -i -v lp >/tmp/modules
echo "gamecon map=$CONF" >>/tmp/modules
cp /etc/modules /etc/modules-`date +%s`
cat /tmp/modules >/etc/modules

zenity --info --text="Configuração concluída."

Fonte: Ubuntu Forum

#!/bin/bash
# #########################################################
# Script para configuração de Joystick na porta paralela  #
# Desenvolvido por Aldefax Gilvan Kuhn           #
# Módulo utilizado gamecon – Kernel 2.6 Ubuntu 06.06     #
# Fiz este script para uso pessoal e estou compartilhando #
# a idéia, ele é livre para quem quiser copiar, modificar #
# ou fazer qualquer alteração, sugestões são bem-vindas.  #
# Correções, sugestões e contribuições aldefax@gmail.com #
# Data da última modificação 21/12/2007-00:48        #
###########################################################

# Funções
Checa_Status() {
if [ $? -ne 0 ]
then
zenity –error –text=”Seu joystick não foi configurado!”
exit 1
fi
}

# 1) Verificar se o usuário possui permissões sudo ou root para gravar em /etc/modules
if ! [ -w /etc/modules ]
then
zenity –error –text=”Não tenho permissão para gravar as alterações, desculpe!”
zenity –error –text=”Tente assim: sudo $0″
exit 1
fi

# 2) Verificar se o pacote zenity e joystick estão instalados
dpkg -l zenity >/dev/null 2>/dev/null
Checa_Status
dpkg -l joystick >/dev/null 2>/dev/null
Checa_Status

# 3) Se não estiverem instalados fazer a instalação deles

# 4) Em qual porta de impressora o joystick está conectado?
PORTA=`zenity –title=”Selecionando a porta” –width=400 –height=400 –list
–text=”Selecione a porta em que seu controle está conectado:”
–radiolist –separator=separator –column “” –column “Cod.” –column “Porta Paralela” –hide-column=”2″
TRUE  0 “lp0 (Default para a maioria dos casos)”
FALSE 1 “lp1”
FALSE 2 “lp2”
FALSE 3   “lp3″`
Checa_Status

# 5) Quantos joysticks você tem conectados a essa porta?
QTDADE=`zenity –title=”Quantos controles você tem contectados?” –width=400 –height=400 –list –text=”Selecione quantos controles estão conectados na mesma porta:”
–radiolist –column “” –column “Cod.” –column “Quantidade” –hide-column=”2″
TRUE  1 “Um”
FALSE 2 “Dois”`
Checa_Status

# 6) Qual o modelo do seu joystick?
MODELO=`zenity –title=”Selecionando o controle” –width=400 –height=400 –list –text=”Selecione o modelo do seu controle:”
–radiolist –column “” –column “Cod.” –column “Joystick/Gamepad” –hide-column=”2″
TRUE  0 “Nenhum (Restaura configuração da porta paralela)”
FALSE 1 “Super Nintendo”
FALSE 2 “Nintendo”
FALSE 4 “Multisystem 1-botão joystick”
FALSE 5 “Multisystem 2-botão joystick”
FALSE 6 “Nintendo 64”
FALSE 7 “Sony PSX gamepad controller”
FALSE 8 “Sony PSX DDR (Dance Dance Revolution) controller”
FALSE 9 “SNES mouse”`
Checa_Status

# 7) Remove joystick e instala porta de impressora
if [ $MODELO -eq 0 ]
then
(
echo “10” ; sleep 1
echo “# Removendo módulo joydev” ; sleep 1
modprobe -r joydev >/dev/null 2>/dev/null
echo “25” ; sleep 1
echo “# Removendo módulo gamecon” ; sleep 1
modprobe -r gamecon >/dev/null 2>/dev/null
echo “50” ; sleep 1
echo “# Adicionando módulo lp” ; sleep 1
modprobe lp >/dev/null 2>/dev/null
echo “75” ; sleep 1
echo “# Concluíndo” ; sleep 1
echo “100” ; sleep 1
) |
zenity –progress
–title=”Removendo joystick”
–text=”Selecionando Módulos…”
–percentage=0

if [ “$?” = -1 ] ; then
zenity –error
–text=”Ação cancelada.”
fi
zenity –error –text=”Nenhum joystick não foi configurado!”

grep -i -v gamecon /etc/modules |grep -i -v lp >/tmp/modules
echo “lp” >>/tmp/modules
cp /etc/modules /etc/modules-`date +%s`
cat /tmp/modules >/etc/modules
exit 1
fi

case $QTDADE in
1) CONF=$PORTA,$MODELO,0,0,0,0;;
2) CONF=$PORTA,$MODELO,0,0,$MODELO,0;;
3) CONF=$PORTA,$MODELO,$MODELO,$MODELO,0,0;;
4) CONF=$PORTA,$MODELO,$MODELO,$MODELO,$MODELO,0;;
5) CONF=$PORTA,$MODELO,$MODELO,$MODELO,$MODELO,$MODELO;;
esac

zenity –question –text=”Deseja ativar o(s) joystick(s) agora?”
Checa_Status

# Legal Remove porta de impressora e instala joystick
(
echo “15” ; sleep 1
echo “# Removendo módulo joydev” ; sleep 1
modprobe -r joydev >/dev/null 2>/dev/null
echo “30” ; sleep 1
echo “# Removendo módulo gamecon” ; sleep 1
modprobe -r gamecon >/dev/null 2>/dev/null
echo “50” ; sleep 1
echo “# Removendo módulo lp” ; sleep 1
modprobe -r lp >/dev/null 2>/dev/null
echo “75” ; sleep 1
echo “# Adicionando módulo gamecon” ; sleep 1
modprobe gamecon map=$CONF >/dev/null 2>/dev/null
echo “100” ; sleep 1
) |
zenity –progress
–title=”Instalando joystick”
–text=”Selecionando Módulos…”
–percentage=0

if [ “$?” = -1 ] ; then
zenity –error
–text=”Ação cancelada.”
fi

# 9) Testando joystick (não consegui colocar saída em um information dialog box)
sleep 1
jstest /dev/input/js0

# 10) Para funcionar o joystick é necessário calibrá-lo
# para calibrar o(s) joystick(s) clique em calibrate, mova para todos os lados.
# Teste todos os botões, se tiver mais de 1 joystick selecione em Joystick Device
# depois no menu Joystick clique em reopen(CTRL + E)
jscalibrator
Checa_Status

# 11) Remove porta de impressora e instala joystick
(
echo “15” ; sleep 1
#        echo “# Removendo módulo joydev” ; sleep 1
modprobe -r joydev >/dev/null 2>/dev/null
echo “30” ; sleep 1
#        echo “# Removendo módulo gamecon” ; sleep 1
modprobe -r gamecon >/dev/null 2>/dev/null
echo “50” ; sleep 1
#        echo “# Removendo módulo lp” ; sleep 1
modprobe -r lp >/dev/null 2>/dev/null
echo “75” ; sleep 1
#        echo “# Atualizando módulo gamecon” ; sleep 1
modprobe gamecon map=$CONF >/dev/null 2>/dev/null
echo “100” ; sleep 1
) |
zenity –progress
–title=”Atualizando configuração”
–text=”Atualizando Módulos…”
–percentage=0

if [ “$?” = -1 ] ; then
zenity –error
–text=”Ação cancelada.”
fi

zenity –question –text=”Deseja tornar essas configurações permanentes?”
Checa_Status

grep -i -v gamecon /etc/modules |grep -i -v lp >/tmp/modules
echo “gamecon map=$CONF” >>/tmp/modules
cp /etc/modules /etc/modules-`date +%s`
cat /tmp/modules >/etc/modules

zenity –info –text=”Configuração concluída.”

Rastreando satélites com o Gnome Predict

Observar o céu é um dos meus hobbies, vez ou outra me deparo com um algum satélite passando pelo céu da minha cidade mas sem saber qual é. Fuçando a central de programas do Ubuntu encontrei este maravilhoso programa: Gnome Predict.


Continuar lendo

Rakarrack – Simule efeitos de guitarra no seu Ubuntu

Um dos motivos de eu não ter migrado totalmente para o Linux anteriormente, foi por não ter um aplicativo decente para simular efeitos de guitarra (já no Windows tinha aos montes). Foi quando eu encontrei o Rakarrack, um aplicativo de interface simples, porém rico em efeitos.

Neste post vou mostrar como instalar e configurar o Rakarrack.

Continuar lendo

Nano – Um editor simples para linux.

Se você é como eu que programa no terminal e gosta de editores leves e práticos, eis o Nano.

Carregando um arquivo com o Nano

Para executar o Nano, basta abrir uma tela do terminal e digitar:

nano

O nano em execução

Ao executá-lo, basta ir digitando o texto e quando terminar, para salvá-lo basta usar a combinação de teclas Ctrl+O. Na imagem acima, nota-se que abaixo tem uma série de opções, para acessa-las basta utilizar a tecla Ctrl (representada pelo caracter ^) + a letra indicada.

O Nano pode ser usado para editar arquivos de configuração, programar entre outras utilidades. Vai da sua imaginação hehehe.

Usando o Nano para programar 🙂

Abraços e até mais.