Translate

Pesquisar este blog

domingo, 15 de dezembro de 2013

Índices parciais no PostgreSQL

Uma funcionalidade poderosa do banco de dados PostgreSQL é a criação de índices parciais.

Mas o que são índices parciais?
Índices parciais são indices aplicados somente a um grupo de registros que correspondem a um predicado.

Po exemplo:
CREATE INDEX Document_idx1 on Document(id_category)
WHERE active = true;

Aqui eu defini um índice que só indexará os registros em que o campo active = true . Nos outros registros não ocorrerá índexação.

Isso garante uma velocidade do índice bem maior graças ao tamanho reduzido, mas toda vez que for dar um SELECT você terá que pôr WHERE active = true para que otimizador realmente use o índice.

sábado, 14 de dezembro de 2013

Omega Base mudará de nome?

A Base de Conhecimento Omega Base (Base Ômega), mudará de nome na próxima versão, a 1.0.7. O novo nome ainda é indefinido, e a razão é um nome mais arrojado para o projeto.


O Ômega Base 1.0.7 terá um visual modificado
O Base Ômega está no endereço http://sourceforge.net/projects/omegabase.

A minha idéia foi a simplicidade de arquitetura de software, concedendo assim performance. Apesar de ser em Java,que usa camadas como Hibernate, JPA, JSF, etc, etc... O Omega Base foi baseado em codificação simples em HTML e JSP. Usa classes DAO importadas pelo Black Toolkit. A escalabilidade é um ponto forte, bem como a facilidade de instalação.

O banco de dados que suporta é o PostgreSQL que é totalmente livre, robusto, veloz, e possui funcionalidades interessantes, das quais destaco suporte a full text search (FTS) nativo, índices parciais e suporte a XML.

O Omega Base é capaz de "ler texto dentro" de alguns formatos de arquivos anexos e você poder usar as palavras na busca, tornando mais útil que qualquer wiki da vida.
Ele suporta as linguagens em inglês e português.

sábado, 7 de dezembro de 2013

Índices parciais no PostgreSQL

Uma funcionalidade poderosa do banco de dados PostgreSQL é a criação de índices parciais.

Mas o que são índices parciais?
Índices parciais são indices aplicados somente a um grupo de registros que correspondem a um predicado.

Po exemplo:
CREATE INDEX Document_idx1 on Document(id_category)
WHERE active = true;

Aqui eu defini um índice que só indexará os registros em que o campo active = true . Nos outros registros não ocorrerá índexação.

Isso garante uma velocidade do índice bem maior graças ao tamanho reduzido, mas toda vez que for dar um SELECT você terá que pôr WHERE active = true para que otimizador realmente use o índice.


domingo, 8 de setembro de 2013

Compilar o X11 é fácil

Compilar o kernel não é o suficiente? OK.

Grade parte do X11 pode ser compilada para melhor performance do driver de vídeo. Para isso:

  • Baixe o X11 do FTP do slackware em slackware-XX.XX/source/x/x11.
  • A pasta contém um arquivo arch.use.flags. Modifique a variável SLKCFLAGS para algo como "-O2 -march=native". Isto vai setar o processador em todos os arquivos compilados!
  • # x11.Slackbuild
  • # upgradepkg --reinstall /tmp/x11-build/*.t?z
  • # rm -rf /tmp/x11-build/

Está pronto é só reiniciar.

sábado, 7 de setembro de 2013

Usando o XFCE

O XFCE é um ambiente rápido, leve, sem frescuras.

Os testes que fiz indicam que ele é mais leve em máquinas antigas no Slackware que no Xubuntu e gasta muito menos rede que o KDE para rodá-lo via SSH e X11.

Eu gosto do XFCE por sua descomplicação em comparação com o KDE, ele também é mais simples de usar. Já o usei durante muito tempo mesmo em máquinas que aguentam o KDE.

Uma dica é instalar, com o blackpkg ou o sbopkg,  alguns programas que o tornem mais utilizável, como os do KDE:
  • xarchiver (ark).
  • gdm (kdm).
  • gigolo (se precisar compartilhamentos de rede).
  • exaile (amarok) (muitas dependências, mas fica rápido).
  • thunar-archive-plugin.
  • faenza-icon-theme,faenza-xfce (ícones).
  • fusion-icon (Composity).
  • xfburn (k3b).

Instalando o IE com o Wine e PlayOnLinux

Dêem uma olhada:

http://slackbuilds.org/repository/14.0/games/playonlinux/

É possível rodar o Internet Explorer 8, através dos scripts que este incrível gerenciador do wine possui.

sexta-feira, 6 de setembro de 2013

Usando o schroot para as libs de 32 bits no Slack 64

O que é chroot?
É uma capacidade dos sistema UNIX de mudar o diretório / apenas para uma sessão ou terminal. A parte interessante é que toda a sessão "pensa" que aquela pasta era o / , inclusive as bibliotecas.

O chroot cai bem quando se precisa testar uma distro em outra sem precisar de um máquina virtual. Também funciona para rodar uma distro 32 dentro de uma 64.


Isso fica uma dica pra quem usa o Slackware 64: o programa schroot não precisa de privilégio root para mudar o diretório-raiz do usuário.

Aqueles programas que não rodam no modo 64 bits (exemplo wine, PCSX2) podem ser compilados e rodar dentro do chroot, mas vai ser preciso o Slackware 32 explodido lá.
 Instale o schroot:

# blackpkg -y schroot


Crie uma pasta para o root de  32 bits. Ela vai ser uma imagem do root


# mkdir /mnt/lib32
# export ROOT=/mnt/lib32
# installpkg /mnt/dvd/slackware/*/*.t?z

Copie alguns arquivos de sistema para o chroot, e remonte as unidades tb lá (eu ponho isso no /etc/rc.d/rc.local)

# cp /etc/resolv.conf /etc/passwd /etc/shadow /etc/HOSTNAME /mnt/lib32
# mount -o bind /proc /mnt/lib32/proc
# mount -o bind /sys /mnt/lib32/bind
#mount -o bind /dev /mnt/lib32/dev
# mount -o bind /tmp /mnt/lib32/tmp
# mount -o bind /home /mnt/lib32/home


Configure o /etc/schroot/schroot.conf.

Rode pelo menos uma vez o /etc/rc.d/rc.M para criar as fontes do Pango.

# schroot -c nomedoschroot -p linux32 /etc/rc.d/rc.M

Depois é só curtir o schroot!


# schroot -c nomedoschroot -p linux32 wine aplicacoes32bitswine

quarta-feira, 4 de setembro de 2013

Compilando o PCSX2 para o Slackware

Não adianta: O hardware do videogame é bastante otimizado para jogos, o de um computador, não é apenas para jogos. Mas é possível compilar o PCSX2 para jogar jogos de PS2 no Slackware.

Observação: Eu não testei isso no Slackware 64, por isso não tenho certeza se vai funcionar.


O PCSX2 1.0.0  binário vai exigir o glew 1.7, o que vem no Slack 14.0 ainda é o 1.5. Um dos problemas de usar o binário vai ser este.
Mas é possível usá-lo compilado e vai ter mais performance.

Observação 2: O site deles diz que não depende do portaudio, wxGTK e sparsehash, mas na prática depende sim.

# export SLKCFLAGS="-O3 -march=native"
# blackpkg -y portaudio nvidia-cg-toolkit wxGTK soundtouch


O sparsehash é mais chato, pq não existe SlackBuild para ele, é preciso baixá-lo no http://code.google.com/p/sparsehash/

# ./configure CXXFLAGS=" ... " CFLAGS = " ... "
# make
# make install

Depois disso, baixe os fontes do PCSX2 e compile - o:

# sh build.sh --clean --release

segunda-feira, 2 de setembro de 2013

Rodando um aplicativo X11 via SSH no Windows com XMing

Para usar um cliente Windows você precisará instalar o XMing e o Putty. O XMing infelizmente só funcionou estável se não pedir autenticação. Quando aparece aquela janelinha, ele logo dá crash.

Por isso o Putty. O pageant é um agente de autenticação SSH. Ele vai fazer a autenticação que o plink.exe do XMing falha.

 Guardar a senha no arquivo .xlaunch é muito inseguro. Por isso vamos criar uma chave pública com o Puttygen.
 

  • A chave pública (public key) deve ser copiada do painel Ctrl+C e colada no arquivo $HOME/.ssh/authorized_keys no servidor Linux. Só deve lembrar que a .ppk é um formato do Putty e não vai funcionar no OpenSSH.
  • A chave privada (muito cuidado com ela) deve ter uma passphrase para segurança e/ou deve estar compartilhada restrita em um servidor à parte.

Dê dois cliques na chave privada e ela vai abrir o pageant para a chave. Com ele ativo o XMing não vai pedir senha para suas  conexões.

domingo, 1 de setembro de 2013

Tornando o KDE mais leve com QT_GRAPHICSSYSTEM

Porque o Qt, que roda embaixo do KDE, tem essa pérola de configuração? Não pergunte pra mim.

O QT_GRAPHICSSYSTEM é uma variável de ambiente do Qt que indica que tipo de sistema gráfico ele estará usando para rendenizar.

QT_GRAPHICSSYSTEM=native
QT_GRAPHICSSYSTEM=raster
QT_GRAPHICSSYSTEM=opengl

vim /etc/profile
export QT_GRAPHICSSYSTEM=raster



O KDE fica muito mais rápido pra mim com o QT_GRAPHICSSYSTEM=native, se você rodar ele remoto, sob o Xming por exemplo é o ideal. Sugiro que teste os 3, depende muito da placa de vídeo.




sábado, 31 de agosto de 2013

Compilando o kernel muito fácil

Compilar o kernel pode ser bem fácil se vc usar as flags deixadas pelos próprios desenvolvedores a acrescer as flags do processador.

1-) Modo fácil: 
# cp /boot/config-xxx /usr/src/linux/.config
# make menuconfig
 Agora vá em General Setup-> e mude o Local version do kernel (importante, pois senão ele vai sobrescrever os módulos do kernel antigo).
Vá em Processor type and features e modifique a flag de processor family.
#make
# make install modules_install


2-) Modo complexo:
Modificar todas as flags e drivers conforme o seu padrão de hardware, sem copiar o config padrão.

quinta-feira, 29 de agosto de 2013

Instalando uma impressora Windows via Kerberos

No Slackware é complicado fazer algumas coisas. Por um lado, uma distribuição leve e estável. Por outro voce sente que falta alguns pacotes que vem com outras distros.

Um deles é o krb5. Ele vem com TODAS distro que conheço menos Slackware.

Voltando à impressora: O CUPS pode pegar autenticação via texto plano (inseguro) passada na URL smb://usuario:senha@servidor/impressora.

Para o CUPS funcionar com autenticação krb5, é necessário:
  1. Instalar o krb5.
  2. Recompilar o samba com suporte a krb5.
  3. Recompilar o CUPS com suporte a krb5.

# blackpkg -y krb5
# . /etc/profile
# blackpkg -d /path/to/samba #(Setar --with-krb5=/usr/kerberos \ no ./configure ).
# blackpkg -d /path/to/cups #(Autodetecta o krb5).
 

Com isso, reinicie o serviço do CUPS. Ele agora vai aceitar autenticação kerberos, o que é ideal pra nós.


Instalando o blackpkg

O blackpkg é um downloadeador simples do http://www.slackbuilds.org, similar ao sbopkg.

O link do download é:
http://sourceforge.net/projects/blackpkg/files/blackpkg-1.1-noarch-Sbo.tgz/download



Instalar fusion-icon com blackpkg é fácil e fica rápido

No /etc/profile:
export SLKCFLAGS="-O2 -march=native"

# . /etc/profile
# blackpkg -y compiz-bcop protobuf libcompizconfig
# blackpkg -y compizconfig-python ccsm compiz-plugins-main
# blackpkg -y compiz-plugins-extra compiz-plugins-unsupported emerald
# blackpkg -y emerald-themes fusion-icon


Compilando o Wine no Slackware 32

Antes de tudo:
Use o sbopkg ou o blackpkg para compilá-lo a partir do site http://www.slackbuilds.org.

# export SLKFLAGS="-O2 -march=native"
# blackpkg -y fontforge webcore-fonts wine

Isso deve demorar em um computador lento.


Para o Slackware 64 ainda é impossível compilar o wine devido ao GCC ser sem suporte a multilib, mas restam alternativas: