segunda-feira, 2 de novembro de 2009

Melhor gerador de Chave ÉVAR!

Me deparei com um código desse esses dias... achei demais e resolvi compartilhar =)

Select
    '11_XXX_KEY_ouviramdoipirangaasmargensplacidas_' ||    TRIM(MB.ASSINANTE_A)  || ''_deumpovoheroicoumbradoretumbante_KEY_XXX_11'' AS AUTENTICACAO

from
 tabela ...
 
Achei também alguns comentários do tipo: "AQUI COMEÇA A GAMBIARRA", "Alterado para funcionar as pressas", e por ai vai.

#MEDO


Demais!  

sábado, 31 de outubro de 2009

Upgrade Ubuntu 9.04 para o 9.10 - Problema Vídeo Intel

Bom...

esse vale a pena postar, depois do problemão que tive hoje para conseguir fazer o meu ubuntu voltar a funcionar depois do Upgrade para a nova versão.

Antes de mais nada, queria falar que apesar do problema, a nova versão está bem bacana, acho que vale a pena fazer o upgrade.

Bom, meu problema era que deposi do Upgrade a interface gráfica ficou muito lenta, mas muito mesmo, levava em torno de 20-30 segundos para e mudar de uma tela para outra. Se esse é o seu problema, acho que chegamos a solução. Ao menos para mim funcionou, mas vi pessoas falando que não funcionou para elas.

Meu computador é um Notebook Dell Inspiron 1525 com tudo intel onboard. E a essas placas Intel são bem conhecidas por incompatibilidade com linux, principalmente as de vídeo. Segue a configuração, caso queira comparar:

juliano@juliano-laptop:/$ lspci
00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 0c)
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 0c)
00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 0c)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 02)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 02)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 02)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 02)
00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f2)
00:1f.0 ISA bridge: Intel Corporation 82801HEM (ICH8M) LPC Interface Controller (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA AHCI Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 02)
02:09.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)
02:09.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
02:09.2 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)
02:09.3 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 12)
09:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8040 PCI-E Fast Ethernet Controller (rev 12)
0b:00.0 Network controller: Broadcom Corporation BCM4312 802.11a/b/g (rev 01)

A solução é fazer o downgrade do Driver de Vídeo para a versão 2.4. Para créditos não vou reproduzir aqui, por isso Veja esse post aqui tem a solução completa

Bom, agora só falta a solução para o Som. Espero resolver esse rapido.

Abraços

segunda-feira, 12 de outubro de 2009

Ruby+Rails+MySQL+Windows

Buenas!
Este vai ser outro post daqules "coisas que ainda vou precisar, novamente".

Hoje, tive que, infelizmente, instalar RoR no windows aqui no trabalho, e como era de se esperar, não foi uma tarefa nada trivial.

Me bati bastante com a instalação Ruby1.8.6 + GEM + Rails 2.3.4 + MySQL 5.1, se esse é o seu caso, e você chegou nesse post através do google procurando por um erro ao rodar a aplicação com mysql por causa de uma DLL (libmySQL.dll), fique feliz, vc chegou a solução.

O erro que aparecia era algo assim:

!!! The bundled mysql.rb driver has been removed from Rails 2.2. 
Please install the mysql gem and try again: gem install mysql.
rake aborted!
126: The specified module could not be found.   - 
c:/ruby/lib/ruby/gems/1.8/gems/mysql-2.7.3-x86-mswin32/ext/mysql.so
 
(See full trace by running task with --trace)

Para dar crédito a pessoa de quem roubei li essas informações (http://www.meupost.com/2009/03/10/problema-do-rails-222-com-o-mysql-em-windows/), vou reproduzir seu post aqui, apenas para quando eu precisar novamente eu consiga achá-lo bem facilmente, e pra não correr o risco de seu site sair do ar =)

Resumindo, a resolução dos seus problemas é:

Mesmo que você tenha o MySQL5.1, você precisa copiar a DLL libmySQL.dll do MySQL5.0 e colar no diretório: %RUBY_HOME%\bin. Sim, mesmo que seja o 5.1, você precisará da LIB do 5.0.

Mas e agora tiu, onde eu encontro a DLL do 5.0, preciso baixar e instalar apenas para pegar a DLL? Calma, meu pequeno gafanhoto, aqui vai a URL:
http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dll

Caso nada de certo, tente o InstantRails =)

Abraços!

terça-feira, 6 de outubro de 2009

Campo Número Decimal

Bom, esse post vai ser outro daqueles "coisas que ainda vou precisar, novamente"!

Esse script javascript serve para deixar o campo com uma máscara de campo decimal (ex: 99,00) conforme você vai digitando. Isso associado à CSS com text-align right, deixa bonitinho =)

Normalmente eu utilizo o plugin maskedinput para o jQuery, mas ele só trabalha com tamanhos fixos de campos, e por isso esse scritp abaixo:

Segue o script utilizado:


// Parametros: campo, separador_de_milhar, separador_decimal, evento
function maskCurrency(fld, milSep, decSep, e) {
var sep = 0;
var key = '';
var i = j = 0;
var len = len2 = 0;
var strCheck = '0123456789';
var aux = aux2 = '';
var whichCode = (window.Event) ? e.which : e.keyCode;
if (whichCode == 13 || whichCode == 8 || whichCode == 0) return true;
key = String.fromCharCode(whichCode);// Valor para o código da Chave
if (strCheck.indexOf(key) == -1) return false; // Chave inválida
len = fld.value.length;
for(i = 0; i < aux =" '';" len =" aux.length;" len ="=" value =" '';" len ="=" value =" '0'+" len ="=" value =" '0'+"> 2) {
aux2 = '';
for (j = 0, i = len - 3; i >= 0; i--) {
if (j == 3) {
aux2 += milSep;
j = 0;
}
aux2 += aux.charAt(i);
j++;
}
fld.value = '';
len2 = aux2.length;
for (i = len2 - 1; i >= 0; i--)
fld.value += aux2.charAt(i);
fld.value += decSep + aux.substr(len - 2, len);
}
return false;
}

Quando quiser utilizar isso num campo, altere a tag alt com o valor monetario (ex: alt="monetario"), e utilize o seguinte script (em jquery) abaixo:


$(document).ready(function(){
$('input[alt="monetario"]')
.bind('keypress', function(e) { return maskCurrency(this, '', '.', e)})
.css("text-align", "right");
});


E apenas para constar, esse scriptzinho que quebra um galho também (self-explanatory):

function sonumeros(e) {
var whichCode = (window.Event) ? e.which : e.keyCode;
if( whichCode!=8 && whichCode!=0 && (whichCode<48>57)) {
return false;
}
}

Feliz aniversário Internet

Antes de mais nada, escrevi esse post, a mais de um mês, só estou postando agora, pq fiquei sem tempo, e também porque o google classificou meu blog como um blog de SPAM =) Nice! Talvez por causa da inatividade... merecido =)

Bom, esse é um post apenas para lembrar que a Internet fez mês passado (02/09) 40 anos. E muita evolução houve desde a primeira comunicação entre dois computadores, porém basicamente o que foi desenvolvido nos primórdios ainda são a base das redes de computadores hoje.

Veja um resumo de fatos marcantes na história da internet aqui (http://www1.folha.uol.com.br/folha/informatica/ult124u617940.shtml)

Vi um post no feed do HackaDay - http://hackaday.com/2009/09/02/internet-40th-birthday/ com 4 vídeos bem interessantes. Vale a pena assistir também.

Eu acredito que todas as pessoas que trabalham com informática DEVEM conhecer como funciona internet, roteamento, protocolos tcp/ip, e ter uma idéia das camadas OSI. Bom, um vídeo muito legal que acho que todos devem ver, que explica resumidamente como isso tudo funciona é o vídeo Warriors of the Net (http://www.warriorsofthe.net/movie.html ). Vi esse na facul, e sempre carrego comigo!

Thats all folks! Conhecer a história é muito importante =)