ldev

coisas randômicas..

programando no editor nano

fazer um comentário »

O nano é um editor de textos muito leve e simples que funciona no terminal. Assim como outros editores terminal-based, podemos customizá-lo para facilitar a escrita de programas.

O nano já traz um arquivo de configuração como exemplo. Ele se localiza em /usr/share/nano/examples, então, se você quiser usar esse exemplo e modificar (o arquivo já vem bastante comentado), faça o seguinte:

$ cp /usr/share/nano/examples/nanorc.sample ~/.nanorc

$ gedit ~/.nanorc

O meu .nanorc está da seguinte maneira:

set autoindent
set brackets “”‘)>]}”
set matchbrackets “(<[{)>]}”
set mouse
include “/usr/share/nano/nanorc.nanorc”
include “/usr/share/nano/c.nanorc”
include “/usr/share/nano/python.nanorc”
include “/usr/share/nano/java.nanorc”
include “/usr/share/nano/sh.nanorc”

Escrito por Lucas Nogueira

janeiro 31, 2010 em 4:05 pm

Publicado em Linux, programação, tutoriais

Etiquetado com ,

renomear arquivos em massa com shell script

com um comentário

Muitas vezes, obtemos arquivos com nomes bastante estranhos. Se você baixar imagens diretamente de álbums do Orkut, os títulos dos arquivos serão vários caracteres randômicos. Isso pode tornar a identificação do arquivo um pouco difícil. Algumas câmeras digitais também dificultam a identificação do arquivo, pois, em vez de criar prefixos que identificassem circunstâncias relevantes das fotos, elas criam prefixos inúteis. Ex: DSC00845.JPG (Câmeras da Sony).

Através de um pequeno script, podemos renomear em massa arquivos de uma mesma pasta. Veja o script abaixo:

#!/bin/sh

if [ $# -eq 2 ]
then
 i=0
 files=`ls -1 $1`

 for file in $files
 do
 filename="$file"
 fileextension=$(echo $filename | awk -F . '{print $NF}')

 echo "$filename will be renamed to $2-$i.$fileextension"

 i=$((i+1))
 done

 echo
 echo "Do you really want to rename these files? (y/n)"
 read yesno

 if [ "$yesno" = "y" ]
 then
 i=0
 files=`ls -1 $1`

 cd $1

 for file in $files
 do
 filename="$file"
 fileextension=$(echo $filename | awk -F . '{print $NF}')

 echo "renaming $filename to $2-$i.$fileextension ..."

 mv $filename $2-$i.$fileextension

 i=$((i+1))
 done
 else
 exit
 fi

elif [ $# -ne 2 ]
then
 echo "Usage:"
 echo "$0 (dir) (new_prefix)"
 echo "(dir) -> directory where the files that will be renamed are located"
 echo "(new_name) -> the pattern name"
fi

A usagem desse script é bem simples. Cole o código acima em algum editor de texto e salve o arquivo. Aqui eu o armazenei como massrename.sh. Agora abra um terminal e vá para o diretório onde o script se localiza. Estando no diretório correto, digite:

$ ./massrename.sh  <diretório onde se localizam os arquivos a serem renomeados> <prefixo>

Veja um exemplo:

$ ./massrename.sh /home/lucas/pics/aniversario bday_lucas

De acordo com o exemplo, os arquivos da pasta /home/lucas/pics/aniversario serão renomeados para: bday_lucas-0.JPG, bday_locas-1.JPG, etc…

Escrito por Lucas Nogueira

janeiro 30, 2010 em 11:16 am

Publicado em Linux, programação

Etiquetado com

checar atualização em páginas com shell script

fazer um comentário »

Nessa semana, o resultado do vestibular 2010.1 da UFC saiu. Graças a Deus eu passei. Mas, antes disso, eu sempre ficava checando a página da CCV (Comissão Coordenadora de Vestibular) para ver se eu já poderia olhar a lista dos aprovados.

Mas, então, tive uma ideia: “Por que não faço um script que faça esse trabalho pra mim?”. Então pensei em como faria o tal script e assim o fiz:

O script baixa a página sem o resultado e usa ela como um modelo. De 5 em 5 minutos, a página é baixada novamente, sendo, então, comparada com a página modelo. Se houver mudança, o usuário é alertado, senão o processo é reiniciado.

pagina=http://www.ccv.ufc.br/newpage/vtb/vtb2010/vestib2010.php #mude aqui
modelo=modelo.php
temp=temp.php
alerta=acorda.mp3 #mude aqui
delay=300

clear

wget -q $pagina -O $modelo

while [ 1 = 1 ]
do
 echo "Checando a página..."
 wget -q $pagina -O $temp

 cmp -s $modelo $temp

 if [ $? = 0 ]
 then
 echo "Não houve mudança. Daqui a $delay segundos haverá uma nova checagem."
 echo "última checagem: "
 date
 echo
 else
 echo "HOUVE MUDANÇA!"
 echo "Para sair, digite CTRL + C"
 mplayer -loop 0 $alerta
 exit
 fi

 rm $temp
 sleep $delay
done

OBS: Para me alertar, eu abri um sinal sonoro usando o mplayer. Caso você queira apenas um alerta visual, tente usar xdialog.

Escrito por Lucas Nogueira

janeiro 29, 2010 em 1:52 pm

Publicado em Linux, programas, programação

Etiquetado com , , ,

Introdução ao Zilog Z80

fazer um comentário »

Antes de você ler esse artigo, é bom que você tenha conhecimentos de sistemas numéricos, conversão de bases etc, pois tudo isso será útil ao trabalhar com eletrônica digital e programação em baixo nível.

Leia o resto deste post »

Escrito por Lucas Nogueira

janeiro 17, 2010 em 9:57 pm

Publicado em eletrônica, programação

Etiquetado com , ,

instalando o lamp no ubuntu karmic koala

fazer um comentário »

Simples e rápido:

Abra o terminal e digite:

sudo apt-get install lamp-server^

Escrito por Lucas Nogueira

janeiro 15, 2010 em 11:17 pm

Publicado em Linux

Etiquetado com , ,

Voltando à ativa

fazer um comentário »

Nesse ano, devido ao Vestibular, deixei de atualizar este blog. Mas, se Deus quiser, no próximo ano, voltarei a escrever artigos para o ldev. Além de posts técnicos, tentarei escrever alguns textos offtopic, para não perder o hábito de escrever.

Obrigado e boas festas!

Escrito por Lucas Nogueira

dezembro 24, 2009 em 12:19 am

Publicado em blog

Etiquetado com

estruturas de dados – resumo teórico

fazer um comentário »

Lista linear

Lista linear é uma estrutura de dados dinâmica cujos elementos estão organizados de maneira seqüencial. São estruturas flexíveis, que podem crescer ou diminuir durante a execução do programa, de acordo com a demanda.

Leia o resto deste post »

Escrito por Lucas Nogueira

outubro 24, 2009 em 3:37 pm

Publicado em programação

Etiquetado com , ,

Programação orientada a objetos com Java – Objetos

fazer um comentário »

Antes de tudo, é bom termos em mente a definição da programação orientada a objetos (POO). A POO é um dos vários paradigmas de programação. De acordo com a Wikipedia, um paradigma de programação é a visão que o programador possui sobre a estruturação e execução do programa.

Esse paradigma trabalha com relações entre objetos, visando o melhor conjunto de relações para formar um programa. Neste post, será definido algumas das relações entre objetos, além de algumas características dos objetos.

Leia o resto deste post »

Escrito por Lucas Nogueira

julho 28, 2009 em 5:37 pm

Publicado em programação

ATI IXP Sb4×0

fazer um comentário »

Estou escrevendo este post através de um Ubuntu Linux rodando num Acer Aspire 3050-1458. O dispositivo de aúdio que veio nesse notebook é o ATI IXP Sb4×0. Infelizmente, esse dispositivo não vem funcionando no Linux.

Para fazer essa placa funcionar, faça o seguinte:

a) Compile e configure a última versão do ALSA. Para isso, você deve ter o gcc instalado e configurado. Caso tenha dúvidas sobre como compilar, veja esta página.

b) Abra o arquivo /etc/modprobe.d/sound e adicione a seguinte linha:

options snd-hda-intel model=acer-aspire

c) Reinicie o computador.

IXP SB4×0

Escrito por Lucas Nogueira

julho 25, 2009 em 5:14 pm

Publicado em Linux

Etiquetado com , ,

cheatsheets

fazer um comentário »

Aqui estão os cheat sheets que mais uso. Aproveitem!

Programação

Desenvolvimento para Web

Sistemas

Outros

Se você estava procurando por um cheat sheet e ela não está aqui, provavelmente ela estará ai: All cheat sheet in one page

Escrito por Lucas Nogueira

julho 14, 2009 em 5:26 pm

Publicado em internet, programação