Bug-Netbeans 7.1+ com fontes enormes no Ubuntu 12.04

O netbeans esta assim:

Para resolver isso é simples;
1- Remova algumas fontes do sistema com o comando:


sudo apt-get remove fonts-unfonts-core

Outra opção seria passar a usar Open JDK 6.x, pois testei e notei que com esta versão o Netbeans funciona normal, mas acho que remover as fontes é a melhor opção.

Resolvendo Problema com dispositivo /dev/dsp ao programar em JME

Nas versões mais novas do Ubuntu o dispositivo /dev/dsp simplesmente não existe, pois ele pertence ao pacote OSS, e o modulo não vem instalado, muitas aplicações utilizam o OSS, por este motivo o pacote Pulse Audio vem com um “emulador” chamado padsp, que emula as chamadas ao /dev/dsp,redirecionando ao proprio PulseAudio, como o Pulse Audio vem instalado no Ubuntu, para utiliza-lo, use o comando:

padsp nome_da_aplicacao

Para fazer com que suas aplicações JME rodem com áudio execute o NETBEANS desta forma

padsp netbeans

Se você utiliza o gnome, adicione o comando em um lançador:

Até a próxima;

Abraço..

Se gostou deixa um comentário….

Contornando o problema compilação do Emulador PCSX2 no Ubuntu 12.04

Tem um erro chato ao compilar o PCSX2 que é o seguinte:

/home/PROGRAMAS/instalados/source/pcsx2/pcsx2-read-only/plugins/GSdx/GS.cpp: No escopo global:
/home/PROGRAMAS/instalados/source/pcsx2/pcsx2-read-only/plugins/GSdx/GS.cpp:65:13: aviso: ‘s_isgsopen2’ defined but not used [-Wunused-variable]
make[2]: ** [plugins/GSdx/CMakeFiles/GSdx-0.1.16.dir/GS.cpp.o] Erro 1
make[1]: ** [plugins/GSdx/CMakeFiles/GSdx-0.1.16.dir/all] Erro 2
make: ** [all] Erro 2

Este erro ocorre por algum problema no plugin GSDX, então apenas indique ao make que ele não deve tentar compilar esse plugin, para isso:

1- Edite o arquivo CMakeLists.txt no diretório plugins

gedit /home/PROGRAMAS/instalados/source/pcsx2/pcsx2-read-only/plugins/CMakeLists.txt

2- Comente as seguintes linhas, conforme abaixo:

# make GSdx
#if(EXISTS “${PROJECT_SOURCE_DIR}/plugins/GSdx” AND GSdx)
#    add_subdirectory(GSdx)
# endif(EXISTS “${PROJECT_SOURCE_DIR}/plugins/GSdx” AND GSdx)

3- Repita o processo de compilação do PCSX2.

4- Alguém vai me dizer “ahhhh Moacir, mas e agora, como eu fico sem o plugin gráfico?”.
R. Bem.Procure na versão instalável via apt-get
https://launchpad.net/~gregory-hainaut/+archive/pcsx2.official.ppa
Após terminar a compilação, substitua os plugins do diretório de plugins compilados do PCSX2 pelos plugins da versão instalada via apt-get.

Eu pessoalmente uso uma mescla de plugins compilados e outros da versão via apt-get, mas não uso pcsx2 da versão apt-get, pois compilar na própria maquina me traz mais ganho em performance,pode ser um tanto controverso isso, mas eu notei melhoras.

Obs.: Tenho noção que essa dica foi muito rápida, se alguém se interessar ou ficar com dúvidas posta um comentário pedindo um artigo mais elaborado sobre a compilação que eu farei sem problema algum.

ESSA “CASA” NÃO FORNECE BIOS, POR FAVOR NÃO INSISTA!

E desculpe por repetir tanto a palavra plugin, chegou a ser irritante….rsrsrs
Abraço

Como fazer download de um arquivo da internet com java

Bem fazer download de arquivo é bem simples, vamos utilizar a classe java.net.URL



import java.io.*;
import java.net.URL;
import java.net.URLConnection;

/**
 *
 * @author Moacir.com.br
 * 
 * Exemplo de como fazer download de um arquivo em java.
 * 
 * 
 * 
 */
public class FazDownload {


    public static void main(String[] args)  {
        String protocolo="http";
        String endereco ="moacirrf.com.br";
        String arquivo="/arquivos/JSFImmediate.zip";
        
        try {
           //cria URL
            URL url1 = new URL(protocolo,endereco,arquivo);
            //abre uma conexao na url criada àcima
           URLConnection con =  url1.openConnection();
           
           //tenta conectar.
           con.connect();
           
           //arquivo de saida
            FileOutputStream fileOut = new FileOutputStream("c:/teste/JSFImmediate.zip");
            
            int c=0;
            
           do{
             //le o byte
               c=con.getInputStream().read();
             
               //escreve o byte no arquivo saida
               fileOut.write(c);
               
   
              
           }while(c !=-1);
        
           //fecha o arquivo de saida
           fileOut.close();
           
           System.out.println("Arquivo baixado com sucesso");
        }catch(IOException e){   
                 e.printStackTrace();
        } 
         
    }
}

Segue algumas explicações.

Na linha 23 criamos o objeto URL, dentre os diversos construtores disponíveis na classe, estamos utilizando este que recebe três parâmetros, URL(protocol, host, file).

  • Primeiro-parâmetro é o protocolo, no nosso caso utilizamos o HTTP;
  • Segundo- parâmetro é o host, o endereço do servidor;
  • Terceiro-É o arquivo que você deseja acessar no servidor, poder ser um arquivo de texto, uma pagina html etc, no que no nosso caso estamos acessando o arquivo ZIPque esta dentro da pasta arquivos de modo que a url normal é http://moacirrf.com.br/arquivos/JSFImmediate.zip.

Na linha 25 criamos uma conexão com o host,usando a classe URLConnection, Não é realmente necessário utilizar esta classe para este exemplo, mas o interessante de usa-la, você pode utilizar alguma das suas sublasses como por exemplo a HttpURLConnection para configurar ou receber parâmetros específicos do protocolo HTTP, como por exemplo código do status.

Até logo pessoal;

Como ser um pouco mais produtivo utilizando Eclipse e JSF

Em primeiro lugar, vou fazer um critica f****-se você não gostar, A ide Eclipse para JSF junto com seus plugins Jboss Tools é lenta e trava com muita facilidade, mas tomando algumas providências antes mesmo de começar a escrever o seu Managed Bean,você pode ser bem produtivo, segue algumas dicas para manter sua sanidade mental ao usar o JSF e você não machucar a sua mão dando soco na mesa.

1-Não coloque tantos atributos no seu Managed Bean distribua em mais de uma classe, ou até mesmo em mais de um ManagedBean, use Facelets para compor os seus templates, não importa se você  tenha que criar 10 templates para construir uma tela, é bem melhor fazer isso do que por tudo  em uma pagina e a IDE TRAVAR quando você der um CTRL +espaço.

2- No JSF 1.2 não existe navegação implicita, então se possivel use a Navegação Global para que você não precise ficar relacionando páginas com páginas, e deixar seu FacesConfig imenso dificultando ainda mais o trabalho da IDE, é bem fácil:


<navigation-rule>
<from-view-id>*</from-view-id>
<navigation-case>
<from-outcome>incluir</from-outcome>
<to-view-id>/incluir.xhtml</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>editar</from-outcome>
<to-view-id>/editar.xhtml</to-view-id>
</navigation-case>
</navigation-rule>

Leia mais sobre este assunto aqui:

http://www.jsftutorials.net/jsf-navigation-by-examples.html

3-Utilize dois arquivos faces-config:

Você pode utilizar mais de um arquivo de configuração do JSF basta fazer isto:

  • Altere o arquivo web.xml


<context-param>

<param-name>javax.faces.CONFIG_FILES</param-name>

<param-value>/WEB-INF/faces-config.xml</param-value>
<param-value>/WEB-INF/faces-config-navegacao.xml</param-value>
</context-param>


Note que neste exemplo temos dois arquivos de configuração:

faces-config.xmlfaces-config-navegacao.xml

O primeiro com a declaração dos componentes(Backing Beans,Converters etc…) e outro com a navegação.

 

4- Continua lento, tente aumentar a memoria do eclipse:

http://blog.xam.dk/?p=58

Não adiantando, aceite e espere, você ja esta sentado mesmo…

Sobre o CTRL +espaço, só tenho uma coisa a dizer, eu uso, e  muito, e gosto de resposta imediata da IDE, se você acha que Code Assist é coisa de trouxa, então vai programar no VI, neste quesito a Intellij Idea é excelente mas nunca usei para JSF pois a versão Free não possui suporte ao JSF.

Era isso…

O sonho RAD dos defensores do  “padrão” JSF continua bem longe do ideal, mas essas dicas ja valem alguma coisa.

Até

ps.: Eu prefiro frameworks como Wicket e Click mas nunca escrevi sequer uma letra sobre os mesmos, que curioso….

Instalando o Wink 1.5 no Ubuntu 10.4

Pra quem não sabe, Wink é um software para criação de tutoriais e apresentações, abaixo segue o link do site programa

http://www.debugmode.com/wink/

O problema principal na instalação deste programa, esta no fato de ele usar a biblioteca libstdc++5 e o Ubuntu 10.4 possuir a versão libstdc++6. Antigamente para instala-lo era só usar o menu Central de Programas que tudo era feito “automagicamente”, atualmente ele nem é listado no menu citado anteriormente, eu realmente acho que este tipo de erro é o que mais colabora para o Linux ser o que é hoje em dia, ou seja uma “bagunça organizada”.

Sem papo furado, mãos a obra…

1-Baixe o wink que iremos instalar aqui

http://yet.another.linux-nerd.com/wink/download/wink15.tar.gz

2-Baixe a versão 5 do libstdc++ aqui

http://ftp.us.debian.org/debian/pool/main/g/gcc-3.3/libstdc++5_3.3.6-20_i386.deb

Baixado tudo que precisamos, vamos instalar e configurar.

3- Instale a o pacote  libstdc++5_3.3.6-20_i386.deb, só dar dois cliques em cima do pacote,  e mandar instalar(após a instalação a janela do instalador travou, eu simplesmente fechei forçado a janela, mas talvez isso não aconteça no seu computador).

4-Abra um console, para ver se a lib foi instalada, use o comando abaixo:

 ls /usr/lib/libstdc++.so.5

provavelmente vocẽ verá algo assim apos a execução do programa.

/usr/lib/libstdc++.so.5

5- Vamos descompactar o wink que baixamos anteriormente, botão direito do mouse em cima do arquivo wink15.tar.gz, clique em  extrair aqui.

Sera criada uma pasta chamada wink15, e dentro desta descompacte o arquivo installdata.tar.gz, o que importa para nós é o que esta dentro da pasta installdata.

6- Volte para o console, vamos precisar instalar uma biblioteca chamada libexpat.so.0, para isso, execute os comandos

sudo apt-get update

sudo apt-get install libexpat1-dev

7-Agora encontramos outro problema, se tentarmos rodar o executável do wink que esta dentro de installdata, obteremos um erro informando que libexpat.so.0 não existe, isso acontece porque no Ubuntu 10.4 esse biblioteca se chama libexpat.so, então criaremos um link simbólico chamado libexpat.so.0, que aponte para libexpat.so.Vamos criar o link então:

sudo ln -s /usr/lib/libexpat.so /usr/lib/libexpat.so.0

8-Por fim chegamos ao ultimo passo da instalação que é a criação da variável de ambiente do WINK, chamada <strong>WINK_INSTALL_DIR</strong>, execute o comando:

sudo gedit /etc/bash.bashrc

Lembre-se, antes de editar um arquivo de configuração, é importante que você faça uma copia de segurança do mesmo.

Adicione no final do arquivo o seguinte:



WINK_INSTALL_DIR=/opt/packages/instalados/wink15/installdata

PATH=$WINK_INSTALL_DIR:$PATH

export  WINK_INSTALL_DIR PATH


Salve o arquivo e saia do console, abra novamente o console, e execute  o comando como usuário normal:

wink

Até a próxima, um abraço!

Se você gostou deixa um comentário, se não gostou, deixe um comentario também.