Publicado por: Psico.Indie | novembro 24, 2008

Wireless Broadcom bcm43xx/b43 com WPA e WEP.

Assim como eu, muitas pessoas usaram o Ndiwrapper para instalar sua placa de rede e não lograram exito ao tentar conectar a uma rede wireless com WEP ou WPA. Ndiswrapper permite ativar placas Wireless no Linux utilizando o driver do WindowsXP. Ele utiliza parte do código do Wine, adaptado para trabalhar com drivers de placas wireless, ao invés de executáveis de programas. Muitos drivers que funcionam através do Ndiswrapper não usam todos os recursos da placa.

Depois de muito tempo, finalmente consegui instalar minha placa wireless Broadcom (BCM4318) com suporte a WPA e WEP. Nesse procedimento eu usei o Mandriva 2009, mas isso não impede que funcione em outras distribuições.

Para instalar instale os pacotes b43-fwcutter (ou bcm43xx-fwcutter). e execute os comandos abaixo abaixo:

# export FIRMWARE_INSTALL_DIR=”/lib/firmware”

# wget http://mirror2.openwrt.org/sources/broadcom-wl-4.150.10.5.tar.bz2

# tar -jxvf broadcom-wl-4.150.10.5.tar.bz2

# cd broadcom-wl-4.150.10.5/driver

# b43-fwcutter -w /lib/firmware” wl_apsta_mimo.o

# wget http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o

# bcm43xx-fwcutter -w “$FIRMWARE_INSTALL_DIR” wl_apsta-3.130.20.0.o

# echo “alias wlan0 b43” >> /etc/modprobe.conf

# rmmod b43 modprobe b43

Fontes:
http://www.guiadohardware.net/termos/ndiswrapper
http://linuxwireless.org/en/users/Drivers/b43#fw-b43-new

Publicado por: Psico.Indie | setembro 21, 2008

Alerta do MSN em java

Essa dica mostra como implementar um alerta igual aquele usado para chamar atenção no MSN.
Confira o código abaixo.

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import java.lang.Thread;

public class Main extends JFrame{

public Main() {

setVisible(true);
setTitle(“Alerta de Janela”);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(600, 300);
setLayout(new BorderLayout());
JPanel buttonPanel = new JPanel();
JButton vibrateButton;
vibrateButton = new JButton(“Alerta!”);
buttonPanel.setLayout(new FlowLayout());
buttonPanel.add(vibrateButton);
add(buttonPanel, BorderLayout.SOUTH);

vibrateButton.addActionListener( new ActionListener() {

public void actionPerformed(ActionEvent e) {
vibrar();
}
});

}

private void vibrar() {

final int originalX = this.getLocationOnScreen().x;
final int originalY = this.getLocationOnScreen().y;

try{

for(int i = 0; i < 20; i++) {
Thread.sleep(10);
setLocation(this.getLocationOnScreen().x, this.getLocationOnScreen().y + 10);
Thread.sleep(10);
setLocation(this.getLocationOnScreen().x, this.getLocationOnScreen().y – 10);
Thread.sleep(10);
setLocation(this.getLocationOnScreen().x – 10, this.getLocationOnScreen().y);
Thread.sleep(10);
this.setLocation(originalX, originalY);
}

} catch (Exception error) {
error.printStackTrace();
}

}

public static void main (String args []) {

Main m = new Main();

}
}

Publicado por: Psico.Indie | agosto 16, 2008

Instalando Mandriva usando um pendrive

Essa dica pode ser usada para instalar qualquer versão do Mandriva pela internet, por um servidor http ou ftp local, ou até mesmo se você tiver os pacotes rpm em seu disco rígido. Aqui levo em consideração que a unidade do seu pendrive é /dev/sda1. Como o kernel emula dispositivios flash como SCSI, se você tiver algum disco SCSI talvez sua unidade possa variar (de sda para sdb por exemplo). Modifique pra a unidade do para a sua correspondente. Todos os comandos aqui, exceto o download, devem ser executado como root.

Obtendo a Imagem

A primeira coisa a ser feita obviamente é baixar a mini iso (all.img).

Um exemplo caso você queira baixar a ultima versão em desenvolvimento (Cooker, 2009 Beta 1):

wget -c ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/devel/cooker/i586/install/images/all.img

Ou, caso queria a útima versão estável (2008.1):

ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/install/images/all.img

Preparando o pendrive

Para descargo de consciência e para aumentar a chance de tudo dar certo, vamos formatá-lo:

# mkfs.vfat -c -v /dev/sda1

Conceitualmente o boot por um pendrive é igual a de um disco rígido comum dês de que a BIOS da sua placa mãe dê suporte ao boot pelo mesmo. Além disso, vamos verificar se ele pode ser “bootado”:

Execute:

# fdisk -l

E veja se a saída que representa o seu dispositivo está mais ou menos assim:

Dispositivo Boot Start End Blocks Id System
/dev/sda1 * 1 247 1983996 b W95 FAT32

Note que onde há “Boot” deve ter um asterisco no marcado. Se não tiver, obviamente o dispositivo não irá dar boot. Caso ele não esteja, vamos torná-lo:

1) # fdisk /dev/sda

2) Use a letra ‘m’ para listar as opções do fdisk

3) Letra ‘a’ para tornar o dispositivo bootável

4) E finalmente a letra ‘w’ para salvar as alterações e sair

O programa que vai tornar seu pendrive bootável é o syslinux. Durante muito tempo ele foi usando para tornar disquetes bootáveis e pode fazer o mesmo com pendrives. Também precisamos do mtools. Instále-os:

# urpmi syslinux mtools

Depois dessa dura batalha, vamos a parte mais difícil:

# syslinux /dev/sda1
# dd if=/usr/lib/syslinux/mbr.bin of=/dev/sda

Pronto, seu pendrive é bootável. Agora só falta dar algo pra ele dar o boot.

Copiando os arquivos da imagem para o pendrive

Pra finalizar basta montar a iso que você baixou e copiar para o seu pendrive:

# mount -o loop,ro,noatime all.img /mnt

# mount /dev/sda1 /media/sda1

# cp -a /mnt/* /media/sda1

# sync

# umount /mnt

#umount /media/sda1

Se lhe for perguntatado se você deseja sobrescrever o arquivo ‘ldlinux’, responta ‘n’.
Isso é tudo.

Publicado por: Psico.Indie | agosto 6, 2008

Substituindo vírgulas por pontos em campos numéricos.

No framework que estou usando, em campos numéricos não se pode usar vírgula (,) para separar parte fracionária. Para persistir no formato correto o usúario deve usar ponto (.). Criei esse java-script para fazer a conversão automática.

function commaVerify(param) {

//Usando o id (param) como parâmetro para obter o input.
var field = document.getElementById(param);

//Obtém o conteúdo do input
var string = field.value;

//Regex para verificar se existe ao menos uma vírgula
padrao = new RegExp(“,” , “g” , “+”);

if( padrao.exec(string)!= null ) {

//Faz a substituição
field.value = string.replace(‘,’,’.’);

}

}

Agora é só colocar no input a chamada do método no evento onkeyup passando o id do input.

Publicado por: Psico.Indie | junho 21, 2008

Bug no Firefox 3.

Bugs são normais em qualquer software. Mas eu sei que certas coisas poderia ser evitadas como isso:

“Menos de um dia após o lançamento, já foi descoberta uma vulnerabilidade do Firefox 3.
A falha, considerada crítica, foi identificada nas primeiras cinco horas após o lançamento oficial do navegador.”

Esses dias estive pensando se o Firefox está virando mainstream da cultura pop. Talvez eles se preocuparam
mais com (Marketing) de quebrar o próprio recorde de número downloads do que com a qualidade do software. Se essa cena tivesse acontecido com o IE existiriam milhares de posts, charges, podcasts e centenas de tópicos em forums zombando do mesmo.
De modo algum estou defendendo o IE. Particularmente falando, da próxima vez que eu ler na internet uma gaffe do IE, ficarei de bico calado.

Publicado por: Psico.Indie | junho 14, 2008

Eu e as coisas “fechadas”

Estou trabalhando com o JDeveloper da Oracle com o Oracle Application Framework, um Framework MVC proprietário da Oracle criado para dar extensibilidade ao seu ERP o Oracle E-Business Suite, que obviamente usa o banco de dados Oracle. Para completar a “Oraclação”, uso o Oracle SQL Developer para fazer consultas em PSL/SQL, uma extensão da linguagem SLQ-97 para o banco de dados Oracle.

Sou habituado a usar/estudar ferramentas de código aberto. Senti essa diferença entre utilizar ferramentas proprietárias e livres quando tive várias duvidas e fui em busca de ajuda nas comunidades de desenvolvimento que eu faço parte. Para minha tristeza não tive sucesso. O material que existe é em inglês e não é de boa qualidade. Senti falta daqueles tutoriais, análises, dicas, comentários, fatos e boatos enfim, pessoas com quem trocar idéias. Afinal, a melhor ajuda que o desenvolvedor pode ter é o compartilhamento de experiência com outros desenvolvedores (comunidade).

Os desenvolvedores estão acostumados com as ferramentas de código aberto.  Na verdade a escolha dessas ferramentas está nas mãos de uma pessoa que não codifica, não é a pessoa que bota a mão na massa todo dia e esse gerente gosta mesmo é da ferramenta de marketing que é usada para vender a technologia (Se fosse analisar essa ponto, sempre escolheria as soluções da IBM). Um gerente de uma GRANDE empresa prefere usar os soluções “padrões” que outras grandes empresas usam, que é padrão de mercado por que se alguma coisa não desse certo o problema não seria diretamente dele.

A adoção de software proprietário se esfacela quando você precisa de algo com a sua cara, algo customizado. Com o software livre você pode fazer as alterações que sua empresa necessita e até mesmo conversar com o desenvolvedor dela para aprimorá-la.

Estou a muito tempo tentando fazer uma coisa trivial que faz parte dos requisitos do sistema, usando esse ambiente de desenvolvimento citado acima, mas que foge das especificações das ferramentas. Pobre de mim…

Publicado por: Psico.Indie | abril 16, 2008

Adeus mundo cruel.

Se você mora num castelo e faz experiências com eletricidade, tem um amigo corcunda e caolho. Se você tem o cabelo verde e a cara completamente branca, tem uma gangue de lacaios uniformizados (boinas e camisetas listradas são obrigatórias). Você certamente sempre quis saber o que acontece quando se digita o comando proíbido do linux: rm /-rf.

Publicado por: Psico.Indie | abril 4, 2008

Iniciada a temporada de tradução do OpenSuse 11.0

Esse mês foi iniciado a tradução da versão 11.0 do OpenSuse. Para padronização de algums termos, foi criado um Dicionário para deixar a tradução mais organizada e evitar o ré-trabalho dos revisores.

Se você quiser fazer parte da família, basta seguir os passos abaixo:

  1. A primeira providência será ter/criar uma conta no POAT
  2. Uma vez que sua conta for criada e ativada, você será um usuário limitado, ou seja, sem a possibilidade de ter um arquivo para você traduzir.
  3. Dentro da página do projeto no POAT (OS 11.0) clique em “Contate um coordenador” e envie uma mensagem pra mim, com seu nome (para futuros créditos) que eu ativo o usuário e envio uma mensagem confirmando isso
  4. Após isto é possível atribuir um ou mais arquivos para o seu usuário traduzir (marque-os como atribuído no “X” antes do nome do mesmo)
  5. Para fazer o download do arquivo, clique sobre o nome do mesmo e você será levado a uma página da Novell onde deverá fazer o download da maior revisão (o primeiro que aparece na página)
  6. Após isto traduzir o arquivo (em vários deles grande parte já está traduzida, assim o usuário poderá pegar mais de um arquivo por vez…Nesta parte, caso haja dúvida em algum termo ou tradução, não exite em discutir ou pedir ajuda, tanto por e-mail quanto pelo fórum do SUSEBR.org, além de consultar o quadro abaixo que contém diversas informações
  7. Após ter traduzido o arquivo, o mesmo pode ser enviado para o coordenador diretamente da página do POAT, clicando em “Fazer upload de arquivos”, lembrando que os formatos válidos são: tar.gz, tgz e tar
  8. Após receber o arquivo traduzido o coordenador faz o commit deste arquivo no servidor da Novell e altera o estado do arquivo para “revisão pendente” onde outro tradutor irá fazer a revisão do texto, utilizando o mesmo procedimento, fazendo o upload, revisando e enviando ao coordenador, garantindo assim que a tradução do openSUSE 11.0 para o português brasileiro (pt_BR) seja a melhor possível!
  9. Have a lot of fun!!
Publicado por: Psico.Indie | março 28, 2008

Vai de Haiku?

haiku2.jpg

O primeiro Sistema Operacional que conheci após o Windows foi o BeOS. Ná época morava numa Cidade do interior e lá a internet era wireless. Usei durante pouco tempo por que não obtive muito sucesso em configurar essa minha placa wireless. Esses dias resolvi dar uma olhada no Haiku, um S.O. Open Source lançado sob licença MIT, baseado no BeOS e que está sendo em fase de desenvolvimento. Esse ano o Haiku foi aceito pela segunda vez como mentor no Google Summer of Code. Orgulhosamente foi um brasileiro, Bruno G Albuquerque que implementou o OpenFBS, um sistema de arquivos modermo de 64-bits com journaling. Confira aqui uma entrevista que a Info fez com o Bruno esse mês. Assim como eu, caso você tenha curioside e queira testar, há disponível uma imagem pro VMware.

Categorias