segunda-feira, 20 de dezembro de 2010

[C/C++] Verificar se um diretório existe

Problema: como verificar se um diretório existe antes de criá-lo. Uma solução simples é usar o stat. Neste código não existe o tratamento de exceções.


void criarDiretorio(std::string nome) {
struct stat st;
if(stat(nome.c_str(),&st) == 0)
{
std::cout << "Diretorio " << nome.c_str() << " existe \n";
}
else
{
mkdir(nome.c_str(), S_IRWXU);

}

}

sexta-feira, 17 de dezembro de 2010

[SO] Visualização de Processos PID e PPID

Ei.. vamos falar um pouco sobre processos. No Linux os processos possuem vários atributos, dentre eles, existem o PID (Identificação do Processo) e o PPID (Identificação do Pai do Processo). Estes identificadores são valores numéricos e servem para identificar o processo e o processo que originou este processo.

Para visualizar informações completas sobre todos os processos você pode utilizar o seguinte comando:
vivas@musashi:~$ ps -aef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 07:50 ? 00:00:01 /sbin/init
root 2 0 0 07:50 ? 00:00:00 [kthreadd]
root 3 2 0 07:50 ? 00:00:01 [ksoftirqd/0]


Podemos também visualizar informações específicas, isto é, filtrar alguns parâmetros:
vivas@musashi:~$ ps -e -o pid,ppid,command
PID PPID COMMAND
1 0 /sbin/init
2 0 [kthreadd]
3 2 [ksoftirqd/0]
4 2 [migration/0]
5 2 [watchdog/0]
6 2 [migration/1]
7 2 [ksoftirqd/1]
8 2 [watchdog/1]
9 2 [migration/2]
10 2 [ksoftirqd/2]
11 2 [watchdog/2]
12 2 [migration/3]

quinta-feira, 16 de dezembro de 2010

[BROFFICE] Calcular Dia da Semana

Para calcular o dia da semana que cai em uma determinada data usei as seguintes funções. =ESCOLHER(DIA.DA.SEMANA(A1:A1);"Dom";"Seg";"Ter";"Qua";"Qui";"Sex";"Sab")

A1:A1 -> na célula A1 fica a data (ex. 23/02/2011). Pronto!

Agora é terminar de fazer o cronograma para o próximo semestre.

quarta-feira, 15 de dezembro de 2010

Programação Avançada no Linux

Ei Colegas, existe uma boa referência para quem deseja aprender aspectos mais avançados de programação no Linux: Advanced Linux Programming. O livro está disponível para download na Web no site:
http://www.advancedlinuxprogramming.com/alp-folder

Segue o sumário do livro:
Chapter 01 - Advanced Unix Programming with Linux
Chapter 02 - Writing Good GNU/Linux Software
Chapter 03 - Processes
Chapter 04 - Threads
Chapter 05 - Interprocess Communication
Chapter 06 - Mastering Linux
Chapter 07 - The /proc File System
Chapter 08 - Linux System Calls
Chapter 09 - Inline Assembly Code
Chapter 10 - Security
Chapter 11 - A Sample GNU/Linux Application
Appendix A - Other Development Tools
Appendix B - Low Level I/O
Appendix C - Table of Signals
Appendix D - Online Resources
Appendix E - Open Publication License Version 1.0
Appendix F - The GNU General Public License

segunda-feira, 13 de dezembro de 2010

Tux Guitar sem som Ubuntu 10.10

Prezados Amigos, hoje fui verificar a instalação do programa similar ao guitar pro no ubuntu. O tux guitar é um ótimo programa para que gosta de música e é compatível com a maioria das versões do Guitar pro. Entretanto ao instalar o programa verifiquei que ele ficou sem som. Para resolver o problema basta seguir os seguintes procedimentos:

1. Instale o tuxguitar (se ele ainda não tenha sido instalado)
2. Instale o pacote tuxguitar-jsa






3. Abre o menu -> Ferramentas -> Plugins




4. Desabilite a opção "Alsa output plugin" e OSS output plugin (se existir). No meu caso eu mantive o OSS output plugin. Tente as duas opções com o OSS e sem o OSS
5. Habilite a opção Java sound API Plugin





6. Reinicie o Aplicativo.

Achei esta solução no seguinte link: http://www.guiadohardware.net/comunidade/tuxguitar-som/995542/

sexta-feira, 3 de dezembro de 2010

Instalação do Google Earth no Ubuntu 10.10

Pessoal, hoje tentei instalar a nova versão do Google Earth no Ubuntu 10.10. Achei uma ótima referência : http://www.techdrivein.com/2010/06/install-google-earth-in-ubuntu-1004.html

Passos:
Passo 1:
sudo apt-get install googleearth-package

Passo 2:
sudo make-googleearth-package --force

Passo 3:
sudo dpkg -i googleearth*.deb

Passo 4:
sudo apt-get install lsb-core

Passo 5:
sudo apt-get install gdebi-core

Passo 6:
sudo gdebi googleearth*.deb

[SSH] Instalação do SSH no Ubuntu

Para acessar remotamente outros computadores você precisa instalar o cliente do SSH. Para tornar o seu computador um servidor de login remoto você precisa instalar o pacote servidor.

Para instalar os pacotes basta digitar ou ir no gerenciador de pacotes:

sudo apt-get install openssh-server openssh-client

Para acessar um computador remoto basta digitar:

ssh seulogin@IP

Exemplo:
ssh vivas@192.168.0.1

Criando um Arquivo PDF com Figuras JPEG

Saudações... estou fazendo meu Curriculum comprovado e queria montar um pdf com todos os comprovantes que tenho. Busquei na Net e encontrei um comando que pega todos os JPEGs de um diretório e transforma em um documento PDF.

Comando:
1. Entre no diretório via shell e digite o seguinte comando:
convert -define pdf:use-trimbox=true *.jpg novo_pdf.pdf

quarta-feira, 1 de dezembro de 2010

[DNS] Inserindo Servidor DNS do Google

Se você está percebendo que muitas vezes está demorando muito para resolver um nome em seu computador.. talvez seja um problema de DNS. Uso Velox e sempre estou tendo este problema. Para contornar isso basta você adicionar o servidor de DNS da Google.

Procedimento:

1. sudo gedit /etc/resolv.conf

2. adicione esta linha antes da primeira linha do arquivo
nameserver 8.8.8.8

3. Salve o arquivo

Pronto. Agora é só testar.

[Eclipse] Alterando o Diretório workspace

O eclipse por padrão utiliza o diretório /home/usuario/workspace. Para alterar isso basta seguir os procedimentos listados a seguir:
1. Abre o menu File
2. Clique em Switch Workspace
3. Coloque o diretório desejado

sexta-feira, 24 de setembro de 2010

Backup Rsync com opções de filtragem

Toda semana é sempre igual.. backup!! Uso o rsync para fazer backup com meu HD externo. Agora aprendi a colocar algumas opções, isto é, não fazer backups de alguns diretórios. Na aba de Advanced Options e segue alguns pequenos exemplos:

a) Não fazer backup de um diretório específico
--exclude '.VirtualBox/'

b) Não fazer backup de diretórios ocultos.
--exclude '.*'

Enfim.. como diz nosso amigo apache.. it works!

quinta-feira, 22 de julho de 2010

Script para converter vídeo no formato rmvb para avi

Este script converte todos os arquivos (todos com formato rmvb) para formato avi.
1. crie um documento texto chamado converte.sh
2. copie o script para ele
#!/bin/bash
for a in *; do
if [ -f "$a" ]; then
b="${a%.rmvb}" #retira a extensao do arquivo
mencoder $a -oac mp3lame -lameopts preset=128 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1200 -ofps 25 -of avi -o $b.avi
fi
done

3. dê permissão de execução
chmod u+x converte.sh

4. para executar basta
./converte.sh

terça-feira, 20 de julho de 2010

Google Earth no Ubuntu 10.04

Para instalar o Google Earth no Ubuntu siga os seguintes passos:
1. Abra o terminal e digite o seguinte comando
wget http://dl.google.com/earth/client/current/GoogleEarthLinux.bin


2. Dê permissão de execução
sudo chmod +X GoogleEarthLinux.bin

3. Instale o programa
./GoogleEarthLinux.bin

Ele vai instalar normalmente, mas quando for executar vai dar um erro. Faça o seguinte.

4. Entre no diretório do Google Earth.. /home/user/google-earth/

cd google-earth/

5. Agora baixe o pacote
wget http://librarian.launchpad.net/7037027/libGL.so.1 -O libGL.so.1

6. Pronto.. basta executar novamente


quinta-feira, 15 de julho de 2010

Palm + Evolution + Ubuntu

Depois de um grande tempo sem usar meu Palm hoje tentei resolver novamente o problema no Ubuntu 10.04. Instalei o programa gnome-pilot com as seguintes configurações:
1. na aba de dispositivos usei USB com device: usb
2. na aba PDA adicionei meu dispositivo (com o mesmo nome do palm)
3. na aba de conduits coloquei: habilitei Backup e EAddress, Ecalendar, EMemos, Etodo, Expense como sincronização.

Estava dando uns erros, pois o nome que coloquei no dispositivo era diferente do que realmente estava no meu Palm.

Depois só apertei o Hotsync e pronto. O interessante é que as tarefas aparecem no calendário do desktop do computador. Achei isso muito interessante. Enfim.. posso usar meu Palm

quarta-feira, 14 de julho de 2010

Forerunner 305 + Ubuntu

Encontrei vários softwares para utilizar com o forerunner 305 da Garmin. Testei várias opções: bikeXperience, mytourbook e o turtle sport.

Acho que o melhor é o turtle sport, pois consegui carregar todos os meus treinos automaticamente. Agora estou livre do virtualbox e do sofware da garmin.

Site: http://turtlesport.sourceforge.net/EN/home.html

terça-feira, 13 de julho de 2010

Atalhos do Eclipse

Estou fazendo uma compilação dos atalhos do eclipse:

1. Identar um código - CTRL + I (Selecione o código e...)
2. Comentar o código - CTRL + / (Selecione o código e...)

Sempre atualizando...

segunda-feira, 12 de julho de 2010

Gerando números aleatórios únicos em Java

Estava precisando encontrar uma boa solução para gerar um array de números aleatórios de 0 até n sem valores repetidos. Enfim... solução encontrada:

http://java.about.com/od/javautil/a/uniquerandomnum.htm

ArrayList numbers = new ArrayList();
for(int i = 0; i < 40; i++)
{
numbers.add(i+1);
}
System.out.println(numbers);
Collections.shuffle(numbers);
System.out.println(numbers);

quarta-feira, 23 de junho de 2010

Tabelas em Latex com BR-Office

Você pode fazer uma tabela no br-office (calc) e exportar diretamente para o código em latex. Para
isso você pode usar o seguinte programa:

http://calc2latex.sourceforge.net/

Dica do Vinicius

domingo, 6 de junho de 2010

Descobrir IP de roteador de redes sem fio

As vezes ficamos meio perdidos quando usamos roteadores sem fio e nem ao menos sabemos o IP. Faça o seguinte..
1. ligue o roteador
2. conecte seu cabo de rede no roteador em alguma porta (menos WAN)
3. ligue seu computador
4. dê o comando arp -a

O ARP é um protocolo de rede de resolução de endereço. Na rede ethernet o endereço de trabalho é o MAC e não o IP. Geralmente temos o IP e então precisamos do MAC, assim seu computador manda para rede uma requisição: oi (via broadcast).. tenho o IP tal favor me mandar o MAC. Aí o computador que tem aquele IP manda o MAC. Seu computador então atualiza a tabela arp em uma espécie de cache. Assim nas próximas requisições ele não precisará fazer este processo todo. Aí surge outra pergunta: por qual motivo meu computador se comunicou com o roteador? Simples: como os roteadores usam na maior parte das vezes o protocolo DHCP, seu computador mandou uma solicitação de IP. Por isso ele teve que comunicar com o roteador.

terça-feira, 25 de maio de 2010

Habilitando Daytime no Linux

Para você habilitar o serviço daytime no linux basta seguir os seguintes passos:

Instale xinetd
a. sudo aptitude install xinetd

Reinicialize o xinetd
b. sudo invoke-rc.d xinetd reload

Agora vá no arquivo
c. sudo gedit /etc/xinetd.d/daytime

Altere disable = yes para disable = no

antes:
service daytime
{
disable = yes
type = INTERNAL
id = daytime-stream
socket_type = stream
protocol = tcp
user = root
wait = no
}

# This is the udp version.
service daytime
{
disable = yes
type = INTERNAL
id = daytime-dgram
socket_type = dgram
protocol = udp
user = root
wait = yes
}

após alteração:
service daytime
{
disable = no
type = INTERNAL
id = daytime-stream
socket_type = stream
protocol = tcp
user = root
wait = no
}

# This is the udp version.
service daytime
{
disable = no
type = INTERNAL
id = daytime-dgram
socket_type = dgram
protocol = udp
user = root
wait = yes
}

Reinicialize o serviço
c. sudo invoke-rc.d xinetd reload

Pronto..

para testar use telnet localhost 13

segunda-feira, 3 de maio de 2010

Garmin Forerunner 305 + VirtualBox + Ubuntu 10.04

Na hora do upgrade .. parou de funcionar o meu Garmin. Isto é, as portas USB não funcionavam mais. Tentei de tudo, mas no final apareceu a solução. Antes de entrar no virtual box digite no console do ubuntu: sudo hald --daemon=no

Agora é só inicializar o virtualbox e pronto.

sábado, 1 de maio de 2010

Backup(2): Sincronização com HD Externo

Dica do Reginaldo.. se você quer sincronizar seus dados com um HD externo basta instalar uma ferramenta chamada Grsync. Ele é bem fácil de usar e na primeira vez ela copia todos os dados para seu HD externa. Nas próximas ela só copia as informações que foram alteradas e atualiza seu HD externo.

Ela usa como base o comando rsync (http://everythinglinux.org/rsync/). Com ele você pode até sincronizar dados com servidores externos.

terça-feira, 27 de abril de 2010

Ipod + Ubuntu

Tenho um Ipod Shuffle e estou usando para sincronizar o Rhythmbox. Ele é para o ambiente Gnome e isso para Ubuntu é perfeito. Realmente é bem tranquilo usá-lo e bem fácil o processo de instalação (automático para o Ubuntu). Tenho outros players, mas não tive sucesso em usá-los com Ipod

sábado, 24 de abril de 2010

Backup (1): Arquivos muito grandes com tar + split

Muitas vezes ao fazer backup os arquivos compactados ficam muito grandes (> 2GB). Hoje procurando informações encontrei um site bacana (http://under-linux.org/wiki/Tutoriais/Backup/tar-volumes). A solução é bastante fácil. Compacte o diretório que você deseja e depois use o split

No meu caso precisei dividir arquivos em pedaços de 500MB assim usei o comando abaixo:

cat Pesquisa-24-04-2010-09h28min.tgz | split -b 500m - Pesquisa-24-04-2010-09h28min_

Para juntar faça o seguinte:

cat Pesquisa-24-04-2010-09h28min_* > arquivo.tgz

Pronto.. resolvido!

quinta-feira, 22 de abril de 2010

Configuração Evolution com Gmail e Google Agenda

Hoje resolvi aderir novamente ao Evolution principalmente pela sua agenda. Para configurar o GMAIL com o Evolution basta olhar no site: http://weakish.int.eu.org/tutorial/configure-evolution-for-gmail.xhtml

Para configurar e sincronizar o google agenda no evolution está no site: http://christiano.me/2006/04/15/google-calendar/

Segue o texto retirado do site do Christiano Anderson. Valeu Christiano!!


Depois que meu Palm quebrou, comecei a ter uma certa dificuldade em me organizar. Algumas vezes uso minha agenda do celular, outras (em sua maioria) o Evolution para marcar meus eventos. Sentia falta de alguma agenda web e algo que pudesse acessar de qualquer lugar rapidamente e com segurança. Hoje tomei conhecimento do Google Calendar. Criei minha conta, dei uma olhada e gostei muito da interface 100% Ajax e extremamente simples de usar. Passei alguns compromissos para lá, vamos ver se me acostumo com isso.

Integração com Evolution

O que me chamou bastante a atenção é a possibilidade de exportar a agenda via iCal. O Google Calendar libera uma URL privativa, onde você utilizar essa URL em programas que suportam o iCal (como o Evolution, por exemplo). Mas esse recurso, funciona em modo somente leitura. Você não pode criar compromissos e publicar utilizando o software como Evolution, mas você consegue ter sua agenda integrada e com isso os compromissos aparecem automaticamente no calendário do Gnome. Para mim isso é muito prático! Uma vez criado o compromisso no Google Calendar, automaticamente o Evolution sincroniza e os compromissos aparecem no Desktop.

Para fazer esse procedimento é bastante simples. Primeiro crie sua conta no Google Calendar. Depois vá até a opção “Manager Calendar” (aparece abaixo do calendário do lado esquerdo), clique no nome de sua agenda (geralmente é seu próprio nome) e procure por “Private Address” – iCal. Copie essa URL. No Evolution, basta ir em “Agenda”, “Nova Agenda”, selecione o tipo “Na Web” e no campo URL adicione o endereço que você copiou do link do Google. Pronto! Assim que o Evolution atualizar no servidor do Google, você poderá ver seus compromissos direto do seu desktop.
Cuidado: O private link é para ser usado de forma privativa. Não divulgue essa URL a ninguém, senão qualquer um poderá ter acesso aos seus compromissos. Caso isso ocorra, existe um link chamado “Reset private links”, clique lá e o sistema vai gerar outra URL randômica e desativar a anterior

quarta-feira, 21 de abril de 2010

Desligando a máquina em um horário específico

Para desligar a máquina em um horário específico você pode usar o comando shutdown. Isso é muito útil quando você esta baixando alguma coisa e não quer que seu computador fique ligado a noite toda. Geralmente uso isso quando preciso carregar o Ipod, relógio ou coisa similar. Para desligar em uma hora específica (exemplo 23:00) basta digitar.
sudo shutdown -h 23:00

segunda-feira, 12 de abril de 2010

Criar página de redirecionamento

Para criar uma página de redirecionamento é muito tranquilo. Crie no seu servidor antigo a seguinte página (index.html). Para baixar o exemplo dê o comando wget www.cefala.org/~vivas/index.html

Retirei isso no blog do Vicente.. http://blogdovicente.com/2008/10/04/como-criar-uma-pagina-de-redirecinamento/

LaTeX Error: Cannot determine size of graphic (no BoundingBox)

Hoje tive o azar de encontrar o erro no latex: LaTeX Error: Cannot determine size of graphic (no BoundingBox). Fiz de tudo para tentar arrumar o problema, mas não tive sucesso. A minha única solução partiu do site http://infoblogs.com.br/view.action?contentId=35392&LaTeX-Incluir-imagens-PNG-e-JPG-bounding-box.html.

Fiz o seguinte coloquei como pacotes \usepackage[dvipdfm]{graphicx} e usei o comando para converter as figuras.. tinha uma chamada figura1.jpg assim usei ebb figura1.jpg. Fiz isso para todas as figuras.

Após isso executei meu arquivo usando o comando latex mesmo e depois converti o dvi para pdf com dvipdfm tarefa3.dvi.

Sinceramente.. hoje apenas resolvi o problema.. depois volto nele e resolvo de uma maneira melhor.

Player mais rápido do Linux. mpg123

Este player é ótimo e ainda melhor.. por linha de comando. Para instalar baixe o pacote no site: http://sourceforge.net/projects/mpg123/files/.

Descompacte o arquivo e depois siga os passos:
1. Entre no diretório que você descompactou
2. digite sudo make ./configure
3. digite sudo make install


Pronto agora só usar... para tocar todas as mp3 em um diretório basta abrir o terminal e digitar:
mpg123 *

quarta-feira, 7 de abril de 2010

Processos em execução - Comando Top

Para verificar quais processos estão em execução você pode usar dois comandos - top e ps. O primeiro é o top (entre no terminal e digite top) que é um aplicativo que fica rodando continuamente monitorando a execução.

Para sair do top basta digitar q. Se você tem duas CPUS digite 1 ao entrar no top e ele mostrará a carga das duas CPUs

Verificar tamanho de pastas em um diretório

Para verificar o tamanho de todas as pastas em um diretório basta usar o comando du

du -kh --max-depth=1

1,1M ./dev
648M ./lib
11G ./backup

Com isso dá para saber o tamanho de cada pasta em um formato legível.

Abrir o terminal no diretório que você está trabalhando

Se você está no nautlilus (gerenciador de arquivo) e precisa abrir um terminal .... chato demais pois ele só vai para home.

Para abrir o terminal na pasta que você está usando instale o aplicativo nautilus-openterminal.

Reinicialize o gnome (deslogue) e depois basta clicar em Arquivo - Abrir terminal.. pronto.. ele abre na pasta que você está olhando

Convertendo arquivos de iso para utf-8

Na última instalação do linux passei para o formato utf-8 e tive um problema, pois os arquivos antigos eram de outra codificação. Encontrei uma solução muito fácil para isso:

ISO para UTF
conv -f iso-8859-1 -t utf-8 arquivoiso > arquivoutf8

UTF para ISO
conv -f utf-8 -t iso-8859-1 arquivoutf8 > arquivoiso

Convertendo todos arquivos .eps em um diretório para .jpg

Hoje tive um problema no latex e precisei converter todas as figuras de .eps para .jpg. Achei algumas referências interessantes:
Conversão de figuras:
http://fourforces.wordpress.com/2008/03/27/covert-eps-files-to-jpg-in-linux/

Acessando todos os arquivos em um diretório
http://www.linuxquestions.org/questions/programming-9/bash-script-access-all-files-directory-283582/

Juntando os dois:
#!/bin/bash
for a in *; do
if [ -f "$a" ]; then
b="${a%.eps}" #retira a extensao do arquivo
gs -sDEVICE=jpeg -dJPEGQ=100 -dNOPAUSE -dBATCH -dSAFER -r300 -sOutputFile=$b.jpg $a
mogrify -trim -resize 800x600 $b.jpg

fi
done

Salve o script em um arquivo com a extensão .sh . Depois disso dê permissão de execução no arquivo com chmod u+x script.sh. Para executar... ./script.sh

Arquivo do blog

Seguidores