sexta-feira, dezembro 14, 2007
Primeira Camera Digital sem Bateria
Os japoneses inventaram uma máquina fotográfica que não precisa de bateria: basta rolar um dínamo que você terá ela funcionando por 40 segundos!
Boa!
Fonte: G1
quarta-feira, dezembro 05, 2007
mysql no slackware
No Slackware 10.0 o MySQL já vem não funcionando de fábrica, para arrumá-lo, siga os seguintes passos num xterm, rxvt, konsole ou algo parecido:
bash: su
bash:
bash: su mysql
bash: mysql_install_db
bash: exit
bash*: mysqladmin password
*opcional!!
bash: /etc/rc.d/rc.mysqld restart
[extraído do meu site]
Editor HTML para linux
segunda-feira, dezembro 03, 2007
Converter todas imagens X em Y de um diretório
apt-get install imagemagick
Crie o script megaultra-conversor.sh:
pico megaultra-conversor.sh
digite no arquivo, isso:
for arq in *.$1; do convert $arq $(echo $(echo $arq | cut -d. -f1).$2); done;
ou, se quiser converter sempre para RGB, como p. ex. de bmp8bits para bmp24bits:
for arq in *.$1; do convert $arq -depth 8 -type TrueColor $(echo $(echo $arq | cut -d. -f1).$2); done;
Grave, saia e transforme ele em executável:
chmod a+x megaultra-conversor.sh
pronto. basta entrar num diretrório chei de imagens bmp, copiar o script pra lá e mandar ver:
./megaultra-conversor.sh bmp jpg
vai converter todos os .bmp do diretorio em .jpg.
terça-feira, novembro 27, 2007
Logar no modo gráfico remotamente (xdmcp)
[Xdmcp] Enable=false2. Dentro do arquivo "Xaccess", descomente a linha:
Basta alterá-la para:
[Xdmcp] Enable=true
# * #any host can get a login window
Na máquina cliente (vulgo local):
1. Digitar no konsole:
X :2 -query ip.do.servidor2. Ou, para abrir já no boot, edite o arquivo "/etc/rc.d/rc.4 ou 5", pondo a linha no final e boa sorte:
/usr/X11/bin/X -query ip.do.servidor
Fonte: Guia do Hardware
Brincando com o XO
Estes são os meus primeiros dias brincando com o XO, famoso laptop de 100 dólares, que tem fins educativos. A primeira impressão é muito boa: apesar de lento, vem com um Linux prontinho pra usar (Fedora). E é bem leve e bonitinho.... :)
Para os computeiros de plantão, seguem algumas coisas legais pra fazer com os "brinquedinhos"...
HABILITAR TERMINAL
Como em qualquer distribuição Linux, dê Ctrl+Alt+F1 para abrir um terminal. Ah, o F1 não existe né? Bom, o F1 virou o indicador de vizinhança (muitas bolinhas formando um círculo), próximo ao "ESC" (que virou um "X").
Usuário: rootCONVERSAR 2 XOs POR SSH
Senha: apenas de enter
Sim! Misteriosamente eles vêm com um servidor e um cliente de ssh. Até imagino a professora dizendo: "Joãozinho! Já falei mil vezes que não é pra hackear o laptop do amiguinho...".
UPDATE: os passos abaixo não precisam ser feitos se a rede mesh (automática) já funcionar. Aí, vc apenas digita ifconfig para saber qual seu IP (inet addr do msh0), põe senha no root e faz o ssh.
Para habilitar a comunicação wireless entre duas máquinas, digite em ambas:
# iwconfig eth0 essid teste channel 7 mode ad-hoc
# ifconfig eth0 10.0.0.1 netmask 255.255.255.0 up
(ok, varie o IP para cada máquina...10.0.0.2, 10.0.0.3, etc)
#iwlist scanning
(apenas para acompanhar se as redes estão sendo criadas)
# passwd
(o root vem sem senha, coloque alguma para poder fazer o ssh)
# ssh 10.0.0.1
Obs: as vezes nao deu certo
ATUALIZAR FIRMWARE E BUILD
Vá na wiki do projeto OLPC e baixe os releases mais recentes, compatíveis com seu hardware.
No meu caso, utilizo um B2, então irei colocar o firmware Q2D03. Ah, estas atualizações irão apagar tudo o que estiver gravado no laptop. Então tenha cuidado...
$ wget http://dev.laptop.org/pub/firmware/q2d03/q2d03.romAgora vamos copiar o build. Iremos escolher a versão devel, por ser a mais atual (e deve ser jffs2, pois estamos instalando num XO e não num emulador)
(baixando a ROM, para atualizar o firmware posteriormente...copie para o pendrive)
Bom, decidi baixar o build 625 (jffs2), que não é estável, mas é o mais recente...
$ wget http://..../olpc-redhat-stream-development-devel_jffs2.imgPronto! Ao listar os arquivos do pendrive, você deverá ter algo como:
(renomeie para qualquercoisa.img e copie para /boot, no pendrive)
$ wget http://..../olpc-redhat-stream-development-devel_jffs2.img.crc
(renomeie para qualquercoisa.crc e copie para /boot, no pendrive)
/q2d03.romOk, remova o pendrive do seu computador e vamos colocá-lo no XO.
/boot/imagem.img
/boot/imagem.crc
Siga os passos:
a) Com o XO desligado, plugue o pendrive.
b) Segurando o "X" (p/ baixo, no teclado de jogos), ligue o XO. Ou apenas tecle "esc" durante a inicialização, caso seu firmware seja mais recente. Após aparecer a mensagem "Release", solte o X. Digite 'help', ele é auto-explicativo.
ok flash u:/q2d03.romPronto! É só rebootar!
(para sobregravar a nova firmware)
ok copy-nand u:/boot/imagem.img
(para sobregravar o sistema operacional)
LINKS RELEVANTES
- Wiki da OLPC
quarta-feira, novembro 21, 2007
Agite antes de autenticar
Olha só que jeito prático e seguro de autenticar a comunicação entre dois celulares: basta chacoalhar os dois ao mesmo tempo! O acelerômetro contido nos aparelhos detecta como são balançados. Para fraudar o sistema é preciso imitar como o outro celular está sendo movimentado, o que é beeeeem difícil.
:)
Vídeo no YouTube
Fonte: G1
segunda-feira, novembro 12, 2007
Teclados numéricos
O mais incrível é que nunca tinha percebido isso....nosso cérebro automaticamente se ajusta aos dois layouts sem que precisemos pensar nesses detalhes...
Vc duvida? Pegue o seu celular e dá uma olhada nele....hahã! Temos o 1,2,3 na parte de cima! Agora pegue sua calculadora ou olhe para o teclado do computador...ocorre o inverso!
obs: se alguém souber o motivo me avisa.
Microsoft compra Facebook
Essa briga vai longe: Facebook x Orkut x MySpace x ...
Update: outra fonte informa que compraram apenas parte do Facebook (1,6%).
Fontes: ITWeb e IDGNow
quinta-feira, novembro 08, 2007
Morte da tendinite = Workrave
"apt-get install workrave" e seja feliz. Tendinite nunca mais.
Os perdedores (quem usa windows) tb podem fazer uso da ovelhinha, perguntem pro google.
quarta-feira, novembro 07, 2007
Novos colaboradores
Temos dois novos colunistas neste amado blog.
Aliás acabou de mudar de nome: mudou de Blog do Topera
para GiroLê - "O melhor giro da Internet!"
Sejam bem-vindos Gustavo, o Bozo e Davi, O Mestre!
terça-feira, novembro 06, 2007
Novo recurso no Gmail: Mute
O Gmail está com novos recursos, que aos poucos estão sendo liberados para os usuários. Um interessante é o mute (interromper), que permite arquivar automaticamente todas as mensagens de determinado assunto.
Assim, vc pode continuar fazendo parte de uma lista de discussão, ignorando apenas as informações daquela discussão interminável sobre o amigo-secreto que vc não quer participar.
:)
Update: Nossa! Parece que isso existe desde 2006! Mas ainda não apareceu no meu gmail!!! Ahhh!
Update2: ok, o recurso mute acabou de chegar no meu gmail (1 dia depois)
Fonte: help do gmail
Relacionados: gmail blog
segunda-feira, novembro 05, 2007
Em breve: acesse o Gtalk pelo Windows Live Messenger
Finalmente uma boa notícia!
O blog Undergoogle reportou que a próxima versão do MSN conseguirá se comunicar com usuários do AIM, ICQ e GoogleTalk!
Já parou pra pensar que quem tem email, não importa de que empresa seja, consegue mandar email para todo mundo? E que o mesmo ainda não ocorre com os mensageiros instantâneos? É aquela droga....sempre tem um primo perguntando pq vc não usa MSN...
Bem, a boa notícia é que em breve isso pode vir a acontecer... principalmente se os desenvolvedores utilizarem o mesmo padrão, tipo o JABBER/XMPP.
É isso. Aguardamos a integração ansiosamente!
Fonte original: LiveSide
quinta-feira, novembro 01, 2007
Fim do cartão de crédito?
Fonte: G1
segunda-feira, outubro 29, 2007
Próxima Geração de Interfaces?
Esse é um protótipo que encontrei ao ler esse artigo. Com este teclado, vc pode dar "tapinhas" nos apoiadores de mão, que estes são "sentidos" e enviados para a pessoa que estiver conversando com vc pelo mensageiro instantâneo!
Do outro lado, as mãozinhas irão vibrar (como um controle de Playstation). Assim, fica fácil falar se vc está bravo com a pessoa (um tapão), sorridente (varias batidinhas), etc.
Ah, as mãozinhas podem variar a temperatura tbm!
Parabéns ao pesquisador coreano Heesook Shin e sua equipe!
quinta-feira, outubro 25, 2007
quarta-feira, outubro 24, 2007
Notícias sobre Microblogs e MIs
Segue abaixo uma lista com algumas notícias relevantes sobre microblogs e mensageiros instantâneos.
Out/2007: Incêndio na Califórnia transforma microblog em fonte de notícia
Out/2007: Google compra Jaiku, rival do Twitter
Jun/2007: Conversa no MSN vai parar no 'Diário Oficial'
Mai/2007: Twitter explora curiosidade sobre vida alheiaDez/2007: Bot 'Papai Noel', da Microsoft, é desativado por conversas obscenas
quinta-feira, outubro 11, 2007
Lista de Bots de MSN
No link abaixo há uma lista com os bots vencedores de uma competição de bots realizada pela Microsoft em 2006. Pena que só funcionam no MSN e que muitos pararam de funcionar...
Ver a lista de bots vencedores.
obs1: recomendo o World of Alice (alice@worldofalice.com).
obs2: bot é um cara do seu MSN, Gtalk, sei lá, que não é uma pessoa, mas um programa de computador que faz alguma coisa, normalmente útil.
quarta-feira, outubro 10, 2007
A História dos Bots
IM Bots: qualquer programa que é acessado por um mensageiro instantâneo.
1996 (nov) - Lançado o ICQ: o primeiro mensageiro instantâneo
Para falar de bots para mensageiros instantâneos, é relevante citar quando o primeiro MI foi lançado.1999 (___) - Ecration é fundada
2000 (___) - Akonix é fundada
2001 (out) - Microsoft anuncia o .NET Alerts
2001 (out) - Lançado o BloggerBot
Bot para publicação em blogs2002 (___) - MessageCast é fundada
2003 (___) - Microsoft firma parceria com MessageCast
2005 (mai) - Microsoft compra MessageCast
2005 (dez) - Indeed lança bot (para procura de empregos)
2006 (fev) - Jaiku é fundada
O Jaiku é um dos principais representantes do microblogging, low-effort mini-blog ou tumblelog. Nada mais é do que publicar em uma página web utilizando algum método ágil, por exemplo, mensageiros instantâneos ou SMS.2006 (mar) - Twitter é fundada
O Twitter é o maior concorrente do Jaiku.2006 (mai) - Microsoft lança campeonato para avaliar melhores bots
2006 (jun) - JD Biblebot é lançado
2006 (jun) - Microsoft lança o Windows Live Alerts (antigo .NET Alerts)
2006 (jul) - Bot Dado Spitze é lançado, pela Bavária
Bavária contratou a empresa Euro RSCG 4D, que realizou parceria entre Akonix e IM Interactive Corp para a criação do bot.
A empresa Colloquis desenvolve bots que podem ser acessados por MSN. Utilizam técnicas de processamento de linguagem natural. Eles criaram o BuddyScript, linguagem de programação para bots.
O bot desenvolvido chama-se alice@worldofalice.com (MSN), é um dos mais completos que já vi. Ele dá o significado de palavras, faz contas, dá a temperatura, envia emails, conta piadas, informa sobre filmes, mostra vídeos do youtube, tem rádio, traduz palavras e tem joguinhos....ufa!
"Microsoft plans to take advantage of Colloquis Internet bot technology in an application called Windows Live Agents, a conversational application that users can interact with via Windows Live Messenger."
2006 (out) - Feed Crier é fundada
2007 (___) - Lançado o bot Spleak
Bot em que os usuários cadastram fofocas sobre celebridades e estas são retransmitidas.2007 (___) - Gozub é lançado
Versão brasileira do Twitter/Jaiku2007 (fev) - IMified é fundada
2007 (mai) - IMified compra a Feed Cried
SITES RELACIONADOS:
- Site da Colloquis
- Site oficial do Windows Live Agents
- Fórum do BuddyScript MSDN
- Site do Windows Live Alerts
- Blog do Windows Live Alerts
- Site da Akonix
- Site da IM Interactive Corp.
- Site da Ecration
- Site do Twitter (microblog)
- Site do Jaiku (microblog)
- Site do Pownce (microblog)
- Site do Gozub (microblog brasileiro)
- Site do Yappd (microblog)
- Site do MeeMi (microblog italiano)
- Site do BeeMood (microblog)
- Site do Tumblr (microblog)
- Site do HelloTXT (publica em 6 microblogs diferentes)
terça-feira, outubro 09, 2007
ASUS lança placa-mãe com linux embutido
Fonte: Engadget.
Unicamp criou um cluster de PlayStation 3
Fonte: G1
sexta-feira, outubro 05, 2007
Audacity: seletor de entrada sumiu!
(aquele combobox aonde vc pode escolher se quer gravar o que
vem do CD, Line In, Mic, etc) descobri que ele simplesmente não
existe nessa versão devido a um misterioso bug...sumiu!
Mas não ocorre em todos os SOs, já que o pessoal que usa Mepis
relatou que o pacote dessa versão já foi corrigido...
Bom, chega de enrolação. Para resolver, volte da versão 1.2.6 para a 1.2.4b...
1. Remova o audacity atual
$ sudo apt-get remove audacity
2. Faça download do pacote antigo em http://packages.ubuntu.com/dapper/allpackages
$ wget http://mirrors.kernel.org/ubuntu/pool/universe/a/audacity/audacity_1.2.4b-2ubuntu2_i386.deb
3. Pronto, agora é só instalar a versão antiga
$ sudo dpkg -i audacity_1.2.4b-2ubuntu2_i386.deb
obs: testado no kubuntu 7.04
[se lhe foi útil, deixe um comentário... :)]
segunda-feira, setembro 24, 2007
Gtalk: dicas de formatação
Para deixar negrito: *texto negrito*
Para deixar itálico: _texto itálico_
Para pular uma linha: shift+enter
É interessante que podemos "simular" uma conversa...suponha que seu amigo chame João. Envie a seguinte mensagem para ele (de uma vez só):
oi jao!Ficará assim:
*João:* td bom?
*me:* td!
*João:* tenho q ir...
*me:* até...
me: oi jao!
João: td bom?
me: td!
João: tenho q ir...
me: até...
UPDATE (28/01/08): a formatação também funciona nos status do user.
Fotos nos servidores do Google
ORKUT
A foto da pessoa é acessada por URLs como a seguinte:
http://img2.orkut.com/images/medium/0/85500000.jpgQue tem a estrutura:
http://imgSERVIDOR.orkut.com/images/TAMANHO/BLA/ID.jpgOnde:
- SERVIDOR: número que varia de 1 a 4. Os pings mostram que realmente possuem IPs diferentes, exceto pelo 1 e 4, que são idênticos.
- TAMANHO: informa qual o tamanho da foto. Pode ser small ou medium (se vc descobrir outro me fala!).
- BLA: não sei pra que serve...ponha qualquer número.
- ID: o id da foto, isto é, seu número identificador. O número 1 é a foto do próprio criador do orkut. Pq será? :P .....e no momento, o maior número que funciona, está próximo de 105 milhões! (104.900.000)
GTALK
A foto do usuário é acessada em URLs como a seguinte:
http://mail.google.com/mail/photos/email@gmail.comVale notar que é preciso estar logado para receber a foto. Além disso,
a pessoa deve ser estar cadastrada como amiga no seu Gtalk.
quarta-feira, setembro 19, 2007
LaTeX: adicionando pacotes
../modelo/acm_proc_article-sp.cls:35:File `amssymb.sty' not found. \usepackageEu instalei o pacote "texlive" e tudo foi resolvido
$ sudo apt-get install texliveobs1: ah, se mesmo assim algum pacote faltar, vá no site da CTAN e baixe manualmente. Basta deszipar o pacote, dar make e mover o arquivo .sty gerado para o diretório do .tex.
obs2: alguns pacotes não tem makefile, então vc precisará criar o .sty no braço. Para isso, baixe o .dtx e o .ins. Para criar o .sty, faça:
$ tex pacote.insobs3: se vc se irritar e cansar de ficar criando um por um, vc pode instalar o pacote texlive-full, que irá instalar MUITA coisa! São 326 MB de download, mas provavelmente irá parar de dar pau :
$ sudo apt-get install texlive-full
obs4: se der pacote não encontrado, coloque os repositórios que estão aqui.
É isso.
terça-feira, setembro 11, 2007
Snippet em Java: urlencode
import java.net.URL;
import java.net.URLEncoder;
/*
* codifica valores para serem passados pela url
*/
public static String _urlEncode(String valor) {
String retorno = "";
try {
retorno = URLEncoder.encode(valor, "UTF-8");
} catch (Exception e){}
return retorno;
}
Se foi útil, deixe um comentário vai!
(não precisa autenticar)
segunda-feira, setembro 10, 2007
Snippet em Java: lendo uma página web e colocando numa string
(obs: selecione o texto e dê copiar e colar, caso queira ler a parte cortada)
import java.io.*;
import java.net.URL;
import java.io.DataInputStream;
/*
* Acessa uma URL e retorna uma string contendo a página
*/
public static String getURL(String endereco) {
String retorno = "";
String temp = "";
try {
URL url = new URL(endereco);
BufferedReader pagina = new BufferedReader(new InputStreamReader(url.openStream()));
while( (temp = pagina.readLine()) != null ) retorno = retorno + temp + "\n";
pagina.close();
} catch(IOException e) {
e.printStackTrace();
}
return retorno;
}
Snippet em Java: lendo a primeira linha de um arquivo
try {BufferedReader in = new BufferedReader(new FileReader("arquivo.txt"));
String linha = in.readLine();
in.close();
} catch (IOException e) {System.out.println("Erro!");
}
sexta-feira, setembro 07, 2007
Reinstalando apache e php no kubuntu 7.04
Para remover:
$ sudo apt-get remove --purge apache2 apache2-common php5Para colocar tudo de novo:
$ sudo apt-get clean
(o --purge que irá apagar os arquivos de configuração)
$ sudo apt-get install apache2 php5Por fim, informamos o apache que ele deve processar os arquivos .php, ao invés de fazer a burrice de dar o nosso código-fonte php de bandeja pra quem visita o site, através do download de arquivos .phtml!
$ sudo ln /etc/apache2/mods-available/php5.* /etc/apache2/mods-enabled -sAh, não esqueça de limpar o cache do firefox ao fazer os testes....o reload irá continuar te enviado o .php caso o cache não seja limpo.
$ sudo /etc/init.d/apache2 restart
É isso.
Criando e matando um processo em background
Suponha que vc tenha um script que execute um programa e deixa-o em background, o que é muito comum quando se quer deixar um processo rodando eternamente em um servidor.
Para executar o programa, crie um arquivo texto assim:
Bom, a primeira linha executa o programa chamado "meu_programa" e libera o terminal, indicado pelo caracter "&". Sem esse símbolo, assim que vc fechar o terminal (ou ssh) o processo também morrerá.1 meu_programa &
2 echo "$!" > pid.txt;
A segunda linha é mais interessante: o comando echo irá criar um arquivo chamado "pid.txt" e
colocará
dentro dele o pid do último processo que foi para o background. Isso é indicado pelos sinais "$!". Assim, temos armazenado qual o pid do processo que executamos na linha 1.
Bom, agora basta criar um segundo script, que irá matar aquele processo específico, caso esteja rodando. Abra um novo arquivo em um editor de texto e ponha isso:
1 if [ -f pid.txt ]; then
2 echo Matando processo com PID $(cat pid.txt)...
3 kill $(cat pid.txt)
4 rm pid.txt
5 fi
A linha 1 verifica se o arquivo "pid.txt" existe. Caso isso ocorra, significa que o processo deve estar rodando. O comando "$(cat pid.txt)" irá ler o conteúdo do arquivo, pelo comando cat. O resultado, que é o número do processo, é enviado para o "comando de fora", o kill, que irá encerrar o processo. Por fim, o rm apaga o arquivo, já que o processo foi encerrado.
É isso.
Bot para Gtalk, em java
Estou pesquisando sobre bots e precisei implementar um em java. Este programa conecta-se em um servidor do google talk e fica on-line eternamente, aguardando mensagens dos usuários. Para fins didáticos, ele apenas retorna o número informado, multiplicado por 2.
O programa extra que vc precisa baixar pra tudo isso funcionar, é a API Smack (v. 3.0.4), que encontra-se aqui. (após descompactar, vamos precisar apenas do smack.jar e smackx.jar)
Ponha o código-fonte abaixo num arquivo chamado Botsd.java. Coloque os dois .jar e o .java na mesma pasta e compile e execute:
$ javac -cp '.:smack.jar:smackx.jar' *.java
$ java -cp '.:smack.jar:smackx.jar' Botsd
Pronto! Vc já tem seu bot! Ah, obviamente mude o email e a senha que estão dentro do arquivo.
Obs: se quer mais informações sobre como utilizar uma API que vem num .jar leia isso.
Código-fonte:
/*
* Mantém um bot para gtalk
*/
import org.jivesoftware.smack.*;
import org.jivesoftware.smack.packet.Presence;
import org.jivesoftware.smack.packet.Packet;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.PacketListener;
import org.jivesoftware.smack.filter.PacketFilter;
import org.jivesoftware.smack.filter.PacketTypeFilter;
import org.jivesoftware.smack.Chat;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.ConnectionConfiguration;
import org.jivesoftware.smack.XMPPConnection;
public class Botsd {
static XMPPConnection conexao;
public Botsd() {}
public static void main(String args[]) {
// strings
String servidor = "talk.google.com";
Integer porta = 5222;
String servico = "gmail.com";
String usuario = "meu_usuario_do_gmail_sem_arroba";
String senha = "minha_senha";
// configs do gtalk
ConnectionConfiguration config = new ConnectionConfiguration(servidor, porta, servico);
config.setSASLAuthenticationEnabled(true);
config.setReconnectionAllowed(true);
conexao = new XMPPConnection(config);
// tentando conectar
System.out.println("[ .... ] Tentando conectar... ");
try {
conexao.connect();
System.out.println("[ OK ] Conectado.");
// tentando logar
System.out.println("[ .... ] Tentando logar...");
try {
conexao.login(usuario, senha);
System.out.println("[ OK ] Logado.");
// envia presenca
System.out.println("[ .... ] Atualizando presenca e status...");
Presence presenca = new Presence(Presence.Type.available);
presenca.setStatus("Oi gente!");
conexao.sendPacket(presenca);
System.out.println("[ OK ] Atualizado.");
PacketFilter meuFiltro = new PacketTypeFilter(Message.class);
conexao.addPacketListener(criaListener(), meuFiltro);
try {
// loop infinito, aguardando mensagens...
System.out.println("[ .... ] Ouvindo...");
while(true) {
Thread.sleep(1000);
}
} catch (Exception e) {};
} catch (XMPPException e) {
System.out.println("[ ERRO ] Nao consegui logar!");
}
} catch (XMPPException e) {
System.out.println("[ ERRO ] Nao consegui conectar no servidor!");
}
}
/*
* Aqui esta definido o metodo que ira manipular as mensagens recebidas...
*/
public static PacketListener criaListener() {
PacketListener meuListener = new PacketListener() {
public void processPacket(Packet pacote) {
// pega dados relevantes
String mensagem = ((Message)pacote).getBody();
String origem = pacote.getFrom();
Integer resultado = Integer.parseInt(mensagem) * 2;
String retorno = mensagem+" * 2 = "+resultado;
enviaMensagem(origem, retorno);
}};
return meuListener;
}
/*
* Envia mensagem para o destino especificado...
*/
public static void enviaMensagem(String destino, String mensagem) {
MessageListener meuMessageListener;
meuMessageListener = new MessageListener() {public void processMessage(Chat chat, Message message) {}};
Chat chat = conexao.getChatManager().createChat(destino, meuMessageListener);
try {
chat.sendMessage(mensagem);
} catch (XMPPException e) {
System.out.println("[ ERRO ] Nao consegui enviar mensagem para "+destino);
}
}
}
Obs: se lhe foi útil, deixe um comentário, por favor...
Obs2: tentei identar o código, mas o blogger tirou tudo...
quarta-feira, setembro 05, 2007
Instanciando uma classe que está num .jar
Primeiro vc precisa saber o caminho das classes, então digite isso, na pasta do arquivo.jar
$ jar -tvf arquivo.jarDepois, vá no seu HelloWorld.java (seu código-fonte), e dê um import, tipo esse:
(irá mostrar os caminhos para os .class)
import org.jivesoftware.smack.*;Como nem tudo é perfeito nesse mundo, e vc não pode simplesmente dar include, como quem usa php, então vc deve falar sobre o .jar na hora de compilar e na hora de executar...
(coloque o caminho retornado pelo comando anterior, trocando as "/" por ".")
Para isso compile, acrescentando o -cp (que sobrepõe o classpath atual)
$ javac -cp ".:arquivo.jar" HelloWorld.javaE para rodar, faça isso:
(neste caso, tudo deve estar na mesma pasta)
$ java -cp ".:arquivo.jar" HelloWorldImportante notar: na hora do "-cp" não troque o ":" por ";"...vc perderá duas horas com os paths definidos de maneira errada...
Instalando java no Kubuntu
$ sudo updatedbCaso não exista, no kubuntu 7.04, basta digitar:
(irá atualizar a lista de arquivos que existentes)
$ sudo locate javac | grep bin
(irá mostrar todos os arquivos chamados javac, que tenham "bin" no caminho)
$ sudo apt-get install sun-java5-jreEle irá baixar uns 50 MB e voa-lá! Tudo deve dar certo...
(para executar os programas)
$ sudo apt-get install sun-java5-jdk
(para compilar os programas)
Mas se a lei de Murphy estiver a todo vapor, na hora de executar, com o comando java, dará um erro parecido com:
Exception in thread "main" java.lang.UnsupportedClassVersionError: Programinha (Unsupported major.minor version 49.0)Eu não estou com tempo pra ver o que é isso....mas se vc digitar
$ sudo update-alternatives --config javaIrão aparecer várias alternativas...bom, no meu caso apareceram 4 "javas" para serem utilizados. Vc pode chutar um por um e ver quando dá certo...eu escolhi o
/usr/lib/jvm/java-1.5.0-sun/jre/bin/javaE agora funfa!
Obs1: se foi útil pra vc, me avise...
Obs2: se falei besteira, me avise tbm...java não é meu forte...
Aquele abraço!
sexta-feira, agosto 17, 2007
Sobre o TinyURL
Vai no http://tinyurl.com e cadastra sua URL lá.
É super rápido, não precisa de login sem senha....é só dar control+C e control+v, num instante!
Por exemplo:
A grande e feiosa URL abaixo, sobre pitbulls:
http://bichos.uol.com.br/guiasderacas/ult3994u67.jhtmVira a pequena e pouco feiosa URL:
http://tinyurl.com/2wkzlpÉ isso...
Converter pdf em jpg
Ex: você quer que figura.pdf vire figura.jpg ? Faça isso:
$ convert figura.pdf figura.jpgFácil não?
Outro exemplo: sua foto tá muito grande! Faça isso:
$ convert eu.jpg -resize 50% eu_menor.jpg
Obs: se quiser baixar a versão pra windows vá em http://tinyurl.com/2gxogu (mas eu não testei)
quarta-feira, agosto 01, 2007
Gtalk: lista de emoticons
- :)
- ;)
- :-)
- ;-)
- :D
- :-D
- =D
- =)
- ;^)
- :P
- :-|
- :-/
- :(
- :'(
- :-(
- :-o
- x-(
- >.<
- B-)
- <3
- }:)
- :(|)
- \m/
- +/'\
- :*
Gtalk: sobre o símbolo ♫
- Para fazer esse símbolo aparecer no seu status do Google Talk, não tem mágica. Apenas copie e cole (assim como outros, como: ☺♥♣♂♀).
- Aparentemente, é o único símbolo que é alinhado à esquerda, pelo Gmail.
- É utilizado para indicar a música que vc está ouvindo no momento.
- Os status que começam com esse símbolo não ficam no histórico.
segunda-feira, julho 30, 2007
Dicas LaTeX
Por mais óbvio que pareça, Use \slash.
Assim, para fazer "e/ou" utilize "e\slash ou"
sábado, julho 28, 2007
Driver da nVidia no Kubuntu (linux)
1. Descubra qual a sua placa de vídeo:
Iniciar -> Informações do Sistema
Centro de Informações do KDE -> PCI (lado esquerdo)
(olhe na direita, lá embaixo..tipo "nVidia Corporation NV34 (GeForce FX 5200)"
2. Vá em http://www.nvidia.com e baixe o driver de acordo com seu hardware.
Download drivers -> Graphics Driver3. Feche o X (modo gráfico).
GeForceFX Series -> LinuxX86
(feche todas as janelas e dê Ctrl+Alt+F1 para abrir terminal)4. Vá para a pasta aonde vc baixou o driver execute-o como root.
sudo killall kdm (para quem usa KDE)
chmod a+x NVIDIA-Linux-x86_64-100.14.11-pkg2.run5.Reinicie e tá tudo blz.
sudo ./NVIDIA-Linux-x86_64-100.14.11-pkg2.run
(Siga as instruções do programa, lendo ATENTAMENTE)
sudo kdm (reinicia o KDE)
terça-feira, julho 24, 2007
Instalando discador iBest no linux (kubuntu)
Bom, vá em um pc com acesso à net e faça o seguinte:
1. Vá para uma pasta temporária
mkdir ~/Desktop/discador
cd ~/Desktop/discador
2. Baixe o discador oficial (formato .rpm)
wget ftp://ftp.ibest.com.br/pub/discador/Discador_iBest.i586.rpm
3. Instale o programa alien, caso não o tenha
sudo apt-get update;
sudo apt-get install alien
3. Converta-o o arquivo .rpm para o formato .deb, utilizando o alien
sudo alien Discador_iBest.i586.rpm
4. Talvez vc precise da biblioteca libstdc++-libc6.2-2.so.3 (o erro que apareceria, ao instalar futuramente, seria error while loading shared libraries: libstdc++-libc6.2-2.so.3). Baixe a biblioteca, pelo apt-get. Utilze o parâmetro -d para que o apt-get apenas faça download.
sudo apt-get install libstdc++2.10-glibc2.2 -d
5. Pronto! Já temos os dois arquivos necessários. Grave-os num CD e vá até o pc que não tem acesso a net. Ah, os arquivos são:
/var/cache/apt/archives/libstdc++2.10-glibc2.2_1%3a2.95.4-24_i386.deb
~/Desktop/discador/discador-ibest_1.8.001-3_i386.deb
6. Ok. Copie-os para o /tmp e entre lá dentro.
7. Instale os pacotes .deb
sudo dpkg -i discador-ibest_1.8.001-3_i386.deb
sudo dpkg -i libstdc++2.10-glibc2.2_1%3a2.95.4-24_i386.deb
8. Execute o setup do discador, que misteriosamente chama-se setup_Discador_iBest (cheio de letras em maiúsculas...o nominho infeliz...)
sudo /tmp/setup_Discador_iBest
Ok, agora é só ir clicando...após a instalação estar concluída, o ícone do programa aparece no seu Desktop. É isso.
sexta-feira, julho 20, 2007
Histograma no Excel
[não há como negar, oras bolas!]
Ok, para criar um histograma no Excel (testado no 2000) faça:
- Vá no menu Ferramentas -> Suplementos
- Marque a opção Ferramentas de análise
- Vá em Ferramentas -> Análise de dados
- Escolha histograma
Em intervalo do bloco indique uma coluna, que vc deverá ter criada antes,
que contém o tamanho de cada classe...tipo, para agrupar de 2 em 2, ponha
os valores 2, 4, 6, 8, etc....
Bom, aí vc dá ok e monta um gráfico em cima dos valores criados pelo Excel.
(ah, não são atualizados dinamicamente, cuidado)
É isso
quinta-feira, julho 19, 2007
Programa Estatístico R
Pra instalar, para quem usa o Debian ou Ubuntu ou Kubuntu ou etc:
sudo apt-get install r-base r-base-core r-base-latex r-cran-rcmdr r-cran-zelig r-gnome
Para executar o programa em um terminal:
R
(isso mesmo, o programa chama 'R', em maiúsculo....cada uma que encontro viu....)
(Para sair do programa digite q() )
Bom, aí vc vai no site abaixo e vê como criar os gráficos:
http://bg9.imslab.co.jp/Rhelp/