quinta-feira, 27 de setembro de 2012

Instalando IntPy no Python

Mais uma nota para registrar os passos dessa instalação que costumo esquecer e sempre sofro buscando o modo de fazer.

Processo de instalação a ser feita no Ubuntu da biblioteca intervalar intPy para Python.

1º passo: instale o pacote python-dev:

     sudo apt-get install python-dev

2º passo: instale o pacote fpconst. Após fazer o download, descompacte, acesse a pasta e execute:

     sudo python setup.py install

3º passo: instale a biblioteca intPy. Mais uma vez descompacte, acesse a pasta e execute:

          sudo python setup.py install

Para testar execute os comandos:

     python

     from intpy import *

     print IReal(2.3)

Como resultado você deve obter:

    [2.3, 2.3]

That's all folks

quinta-feira, 10 de maio de 2012

Problema com placa Realtek no Ubuntu 11.10

Mais de 2 anos depois do último post eis-me de volta. Sem problema, afinal de contas isso aqui não foi criado pra ser um diário de bordo ou diário mais sim uma ferramenta de ajuda pra mim mesmo e pra quem mais precisar. Enfim, chega de papo.


Essa notei lentidão na rede que só ocorria na minha máquina após vários testes percebi a ocorrência de perdas de pacotes no Ping, ao fazer o mesmo no Windows 7 (tenho Dual boot da máquina) percebi que o mesmo problema não acontecia o que descartou o problema no hardware.


Após uma pesquisa rápida na internet encontrei um Post entre outros que descreviam problemas semelhantes, ou seja, há uma incompatibilidade com o drive da placa de rede Realtek PCIe GBE Family Controller. Aparentemente o drive carregado no boot (r8169) não funciona nas distribuições Debian de um modo geral. Neste mesmo post é descrito um procedimento pra substituir o drive pelo r8168 que funciona perfeitamente mesmo para o Kernel 3.0.0. Segue abaixo a transcrição (traduzida):


Vá no site da Realtek e baixe a última versão do fonte do driver


Descompacte o arquivo
tar -jxf r8168-x.y.z.tar.bz2


Instale as bibliotecas necessárias para compilar o driver (não fazer essa instalação)
apt-get install build-essential linux-headers-`uname -r`


Compile o driver:
cd r8168-x.y.z

make clean modules && make install


Substitua o drive pelo módulo correto
Antes disso tome nota, pois sua rede será desabilitada, o que encerrará todas as sessões ativas.


Desative o módulo atual (incorreto):
rmmod r8169


Gere a dependência do módulo:
depmod


Carregue o módulo correto:
modprobe r8168


Atualize o kernel com suas mudanças (initramfs):
update-initramfs -u


Se o sistema insistir em carregar o módulo errado vc pode adiciona-lo a uma blacklist fazendo com que seja ignorado:
echo blacklist r8169 >> /etc/modprobe.d/blacklist


Bem pessoal, é isso. Comigo funcionou perfeitamente.


Boa sorte!

terça-feira, 9 de fevereiro de 2010

Compilando Ruby e instalando o Rails no Ubuntu 8.04

A correria está demais, por isso, Séculos depois do ultimo post, encontrei um tempinho pra deixar uma dica por aqui. Pra não enrolar, vamos direto ao assunto.
Sempre tenho dificuldades pra atualizar a versão dos pacotes de programas nativos do Ubuntu 8.04, apesar disso, por enquanto, não abro mão dessa versão do sistema. Praqueles que como eu têm sofrido, vai a dica de como instalar a ultima versão do Rails na sua máquina.
É claro que encontrei a solução aqui, não a criei. Você baixa o pacote Ruby na versão desejada aqui e siga os passos abaixo para compilar o Ruby
Descompacte o arquivo com:

tar -vzxf ruby-1.8.6tar.gz

Depois execute os comandos a seguir:

cd ruby-1.8.6
apt-get build-dep ruby1.8
./configure --prefix=/usr
make
sudo make install

O Ruby está pronto.

para instalar as Gems vc baixa o pacote aqui

Descompacte o arquivo

tar -vzxf rubygems-1.3.5.tgz

e execute

cd rubygems-1.3.5
sudo ruby setup.rb

agora basta instalar o Rails com:

gem intall rails

Pronto, assim vc compila a versão que vc quiser no seu sistema.
Abraços!!

quinta-feira, 30 de julho de 2009

Problema com Tabbed Panel no Struts 2.


O tabbed panel é um recurso do Struts que permite adicionar a sua aplicação visual como o apresentado na figura abaixo, sendo por isso de grande valia se vc precisa de algo assim.
Entretanto, se você está usando o Struts 2 ele apresenta uma deficiência que pode lhe trazer muita dor de cabeça. (Nota: passei por isso).
Na versão 2 do Struts o tabbedpanel carrega todos os paineis no início de sua aplicação. Sendo assim quando você iniciar sua aplicação o Struts fará todas as consultas ao banco necessárias pra preencher os dados de todas as abas definidas, causando assim significativa demora ao carregar sua página.
Além disso se você pretende usar o editor FCKEditor o problema pode ser ainda maior, pois quando sua aplicação carrega uma instância para criar novos dados não poderá criar uma instancia de edição de dados e vice-versa. (Nota 2: demorei meses pra descobrir isso)
Pra alívio de quem não quer abrir mão das abas em seus sistemas esse problema é solucionado no STRUTS 2.1 com a inclusão da propriedade PRELOAD, onde é possível desabilitar esse comportamento, alterando o valor da propriedade para FALSE.
No projeto em que eu estava trabalhando optamos por abandonar as abas, do contrário precisariamos fazer o Upload do Struts. Mas pra você que vai iniciar seu projeto preste atenção nesses detalhes de versão e recursos oferecidos.

Vlw, até a próxima!

quarta-feira, 8 de julho de 2009

Ponha seu lixo pra fora!

Um dia desses me surpreendi com meu HD sem espaço, eram apenas 200 MB livres, o que nos dias de hoje não dá pra nada.
A primeira coisa que pensei foi: "São os vídeos". Apaguei uma tempora inteira de LOST sem pensar pra depois perceber que isso não me liberaria o espaço que eu esperava.
Conferi praticamente todas as pastas do computador, sem sucesso, pra ver se descobria o que estava ocupando todo meu espaço.
Alguns dias depois, nessa busca resolvi verificar a lixeira, onde descobri nada menos do que 15GB.


Imaginem o que isso significa pra quem tem um HD de 40GB!
Uso Ubuntu o que me deu a comodidade de estar a mais de 2 anos sem precisar formatar minha máquina, o que antes era uma prática periódica. Talvez por isso, nunca parei pra pensar que vinha acumulando o lixo de todo esse tempo.
Portanto, fica aqui o registro e a dica... ponha seu lixo pra fora.


quinta-feira, 25 de junho de 2009

Dica no uso de Coleções em JAVA.

Uma coisa importante no uso de coleções em Java, como Array, Vector e List's é fazer com que nossas coleções funcionem com maior dinamica é implementar métodos como "compareTo" e "equals". Veja 2 exemplos abaixo:

public int compareTo(Object o) {
return this.getId() < ((Secao)o).getId() ? 1 :(this.getId() > ((Secao)o).getId() ? -1 : 0);
}
==========================================================

public boolean equals(Object o){
Secao s = (Secao) o;
if(this.getId()==s.getId()) {
return true;
}
return false;
}

==========================================================

Implementando esses métodos vc poderá utilizar diversos recursos como os métodos contains() - que verifica a existencia de um objeto em uma coleção - , Collections.sort() - que ordena uma coleção - além de diversos outros que a linguagem JAVA nos oferece.

Fica ai a dica, quando for trabalhar com coleções dos objetos implente esses metodos em suas respectivas classes.

domingo, 3 de maio de 2009

Calma, não precisa formatar...

Eu admito, não tenho cumprido com o que prometi no último post, as coisas tem estado meio paradas por aqui, então vamos tentar outra vez.

O Problema

Essa semana me deparei com um problema no mínimo estranho usando o Adobe Photoshop no trabalho, resumidamente, o cursor travou numa ferramenta e não permitia fazer mais NADA, e eu estou dizendo é NADA MESMO. O primeiro pensamento foi reiniciar a aplicação e o fiz simplesmente 5 vezes, e nada. Pedi ajuda a uma colega que tem mais experiência com a ferramenta, mas pra ela aquilo também era algo inédito.

Lutamos muito, tentamos alterar todas as opções de personalização sem sucesso, além das inevitáveis buscas no “sabetudo” Google onde encontramos problemas semelhantes, nada em português (aqui vai a dica de sempre, ESTUDE INGLÊS, ele é imprescindível pra qualquer evolução em TI), mas os Fóruns também não chegavam a nenhuma conclusão.

A solução

Embora não tenhamos encontrado a solução, a descrição do problema por outras pessoas me levou a observar que aquilo poderia estar relacionado às preferências de usuário e lembrei de experiências com outros aplicativos e nesta última tentativa antes da remoção do programa consegui.

Para solucionar o problema apaguei a pasta onde estão salvas as preferências do usuário (no caso eu). No Windows estas informações são guardada na pasta oculta “Dados Aplicativos” (C:\Documents And Settings\usuario\Dados de Aplicativos\XXX), já no linux estas informações estão em pastas ocultas no perfil do usuário (\home\usuario\.XXX).

Apagando a pasta da sua aplicação problemática esse restabelece as configurações padrões de sua instalação retomando o comportamento inicial sem a necessidade de reinstalar o programa, ou para os mais desesperados formatar a máquina.

Se você gosta de personalizar seus aplicativos recomendo que faça um backup desta pasta quando tudo estiver rodando do jeitinho que você gosta, assim evita-se futuros transtornos.

Bem, acredito que seja isso, qualquer dúvida ou correção entre em contato pelos comentários.

Abração e até a próxima.