Arquivo de 11/08/2011

No meu curso de Ciência da Computação(que estou cursando 3o ano), tenho uma matéria de Banco de Dados, no caso o banco usado pelo Professor em sala é o PostgreSQL. No começo do ano começamos a usar o DBDesigner, e no caso ele é uma versão para o MySQL. Nada impede de usar ele com o Postgre, mas tem um pequeno detalhe. O DBDesigner não intende o tipo SERIAL(que é usado para auto-incremento), no caso é criado um novo tipo de dado, chamado SERIAL(claro), aí vem o problema, ao exportar pelo DBDesigner ele faz o campo que é usada como chave estrangeira também ser SERIAL, mais o correto seria ele ser INTEGER, para resolver esse problema é necessário alterar o XML referente nas linhas onde tem o idDatatype para o tipo de dado referente ao SERIAL.

Como eu uso linux no meu notebook fica fácil, nada que o sed não resolva, mas antes vamos achar qual o código referente ao tipo de dado do SERIAL:

 


$ grep SERIAL exemplo.xml
<DATATYPE ID="44" IDGroup="4" TypeName="SERIAL" Description="User defined Datatype." ParamCount="0" OptionCount="0" ParamRequired="0" EditParamsAsString="0" SynonymGroup="0" PhysicalMapping="0" PhysicalTypeName="" >

No meu caso o código referente ao tipo de dado SERIAL é o 44, como mostra o resultado acima.

Agora que já sabemos o código, basta usar o sed para alterar:

$ sed -ri.velho 's/^(.*idDatatype=\")44(\".*IsForeignKey="1\".*)/\15\2/' exemplo.xml

Ele não vai mostrar nada, somente vai alterar o arquivo e salvar o antigo com extensão .velho, sendo assim vai ter 2 arquivos: o exemplo.xml e o exemplo.xml.velho, contendo o arquivo alterado e o antigo respectivamente.

Explicando o comando:

sed - o comando usado para a "mágica", a sintaxe dele é sed <opcoes> <comando> <arquivo>
opções = -ri.velho = -r para usar expressões regulares, -i para alterar o arquivo, o .velho para renomear esse e salvar outro com mesmo nome
comando = opc/origem/destino/
   opc -> s - diz ao sed para usar a função de substituir
   origem - como ta no texto
   destino - como deve ficar
      ^ - começo de linha
      .* - guloso, pega tudo o que tiver na linha, ou até encontrar algo referente ao que tiver na frente
      \" - é a aspas mesmo, mais como ela é um "carácter especial" tenho que proteger para mostrar no comando.
      () - o "abre e fecha parenteses" diz ao sed que o que tiver dentro dele será um conjunto, no caso tenho 2 conjuntos, podem ser utilizados até 9 conjuntos.
      \numero - são os espelhos dos conjuntos criados. no caso utilizei o \1 e o \2, não confunda o \15, na verdade é \1 e o numero 5. nesse caso o \1 estaria me trazendo o primeiro e o \2 o segundo conjunto, lembrando que pode ser utilizados até 9 conjuntos.

Simplificando: ele vai pesquisar por linhas que comecem com qualquer coisa, e nela tenha o idDatatype=”44″ mais alguma coisa(.*), o IsForeignKey=”1″ e o final dessa mesma linha e alterar o 44(SERIAL) por 5(INTEGER). Seria isso, não ficou bem explicado? Comenta a sua dúvida que eu respondo :D

Agora é só exportar o arquivo que vai estar certo, com o SERIAL nas chaves primárias e INTEGER nas chaves estrangeiras.

Exemplo Utilizado: exemplo.xml

 

Fonte: BLOG do Laercio Mota

Atualizei meu kernel para 2.6.39 e minha placa wireless deixou de funcionar.

Para resolver este problema basta instalar o bcmwl-kernel-source:

$ wget http://mirror.pnl.gov/ubuntu//pool/restricted/b/bcmwl/bcmwl-kernel- source_5.100.82.38+bdcom-0ubuntu3_i386.deb

* ou usar algum mirror de sua preferência em http://packages.ubuntu.com/natty/i386/bcmwl-kernel-source/download

Após baixar:

$ sudo dpkg -i bcmwl-kernel-source_5.100.82.38+bdcom-0ubuntu3_i386.deb
$ sudo reboot

Publicado por Caio Ferreira Dias

Fonte: viva o linux

A ferramenta open source destinada à recuperação de senhas, Hashkill, traz a sua edição 0.2.4. Hashkill é uma aplicação que se caracteriza por suas funcionalidades multi-threaded, assim favorecendo sistemas multi-core/multi-CPU; por algoritmos (SSE2-accelerated), com a intenção de alcançar maior velocidade em modernas CPUs x86; por apresentar quatro modos de ataques importantes como ataque de dicionário, de força bruta, hybrid e matkov, além de 35 plugins para diferentes tipos de senhas, que vão desde as mais simples como hashes MD5 e SHA1 para arquivos ZIP e private SSL key passphrase.

Para a nova versão, novos recursos foram adicionados como novos plugins mediawiki, sl3, dcc, sap,suporte para formato pwdump para hashes LM e NTLM, adição de um novo Markov statfiles (phpbb, hotmail, myspace), com base em listas de senhas vazadas, entre outras funções disponibilizadas em suas notas de lançamento. Relativo às melhorias apresentadas, Hashkill vem com maior velocidade, sendo de até 40% para md5, até 20% para sha1, até 20% para md4/ntlm, até 150% para lm e até 450% para o mysql-old e cerca de 10% para hashunix.

Além dos novos recursos e melhorias no desempenho, houve correções de erros relacionados a falsos negativos em sistema single-core e a correção de um erro de restauração na função leading, levando a corrupção de hashes “crackeados”. Aqueles que tiverem interesse em testar as fucionalidades do Hashkill, o SourceForge hospeda o utilitário, onde está disponível para download.

Saiba Mais:

[1] SourceForge http://sourceforge.net/projects/hashkill/

Fonte: Under Linux

A pasta /usr/share/backgrounds é onde ficam os papeis de paredes padrões do Ubuntu, e o usado no login é o mesmo do padrão do sistema, seu nome é warty-final-ubuntu.png.

Como a configuração do GDM aponta pra ele, basta renomear qualquer imagem.png da pasta para warty-final-ubuntu.png que essa assumirá o seu lugar.

Só devemos ter o cuidado de renomear também o warty-final-ubuntu.png para warty-final-ubuntu-2.png por exemplo, ou se preferir pode simplesmente substituí-lo, todo o processo é feito sempre usando permissão do root, para isso aperte as teclas ALT + F2 e digite:

gksu nautilus

(digite a senha de root e tecle enter), simples não?

O meu ficou assim: