Acid reading

E já que estamos falando de livros… Para aqueles que, como eu, tem resalvas aos modelos guruzentos de administração e cultura empresarial, bem como à literatura de auto-ajuda empresarial (ou mesmo pessoal) feita por consultores palpiteiros, que quase nunca viram (ou fizeram) funcionar suas práticas e buzz-words na vida real, segue uma pequena lista de livros que já tive o prazer de ler e ajudam a construir uma visão mais crítica sobre as “verdades absolutas” e “modelos ideais”, absolutos.

Não existe verdade absoluta, não existe modelo ideal. Existem casos e casos, modelos e modelos, e principalmente: aquilo que funciona e aquilo que não funciona. Eis a lista:

. Executivos neuróticos, empresas nervosas;
. A arte da guerra para quem mexeu no queijo do Pai Rico;
. Todos os clássicos de Dilbert;
. Relações Desumanas no Trabalho;
. Comedia Corporativa;
. Máximas e mínimas da comédia corporativa;
. Abaixo o pop-management;
. Voce é o máximo! A história do puxa-saquismo.

Bom proveito. Só não vá pedir demissão… 😉


Ganhei na mega sena

megasena_small.jpgComo muitos, eu nunca conheci quem tenha ganho na loteria (ou que pelo menos tenha dito que ganhou). Dessa vez fui eu que ganhei, e de verdade! Devo estar com sorte utimamente. Não foi a bolada maior nem a quina, mas a quadra, o que já é ótimo e valeu a pena só pelo friozinho na barriga de ter chegado quase lá… Comecei a apostar há pouco tempo, uma vez por semana, desde quando comecei a voltar a pé do escritório e passar na frente de uma lotérica, cujo caixa é um velhinho simpático e bom de proza. Essa semana a proza valeu à pena, vamos ver nas próximas!

E logo eu, que nunca ganhei nada, exceto um ventilador numa rifa que fizeram na minha rua quando eu tinha 8 anos… Acredite, existem ganhadores. E se eu tivesse ganho a bolada maior, certamente não estaria aqui falando… Afinal de contas, dinheiro só não traz felicidade para quem não sabe usá-lo.

E agora vocês podem dizer que conhecem alguém que já ganhou na loto. 😉

UPDATE em 04/10/2006: os comentários foram encerrados neste post. Muita bagunça, muitos pseudo-ganhadores da mega-sena, propagandas (que já apaguei) e comentários absurdos. Desculpem, meu blog não é latrina.


Onde está o popular do PC Conectado?

Ótimo artigo no Webinsider sobre os problemas de mais uma peça (no sentido de travessura) que os intelectualizados teóricos da área de informática do nosso governo “livre” e “social” quer pregar em seus cidadãos: PC Popular pode nem sair do papel, de novo.

E antes que digam (como fez Lula), que as críticas são “coisas de ex-marido com dor de cotovelo”: não meus queridos, são apenas críticas, talvez um pouco mais fundamentadas que às feitas quando vocês eram oposição e levavam a ferro e fogo a máxima do “se hay gobierno, soy contra”. Hoje sentem o gostinho amargo da oposição burra e insensata, para o mal do país.


Senha do RDS do ColdFusion 7

Apenas um adendo sobre o post anterior.. Embora a senha do ColdFusion Administrator agora seja melhor criptografada, a senha do servidor RDS não.

Essa continua criptografada via Encrypt()/Decrypt(), com o algorítimo “TripleDES”. É portanto, “raqueável”. Descobrir a chave (e a “seed” que gera essa chave!) é bem mais complicado que antes, sem contar que não é “adivinhável” como antes, mas é possível, e eu posso provar. :o)

Alô administradores!, desabilitem o RDS!


Login no Administrator do ColdFusion 7

Eu fiquei contente com o login no ColdFusion Administrator da nova versão do ColdFusion.

Na versão anterior, o sistema de login, criptografia e armazenamento da senha era muito precário. Foi só eu comentar com o Alex que ele fez um post, inclusive criticando (com razão) o sistema de login.

Na versão anterior (MX 6 e 6.1) havia um formulário de login onde era necessário digitar somente a senha. Embora o ideal seria algo como usuário-senha, é algo contornável (e extremamente recomendado, basta ler os posts sobre segurança aqui do CFGIGOLÔ) protegendo a pasta CFIDE/Administrator com um usuário e senha via web server.

A senha era enviada por padrão em formato plain-text, passível de spoof. Acessar o CF Administrator via https é algo que poucas vezes vi.

No servidor a senha então era encriptada com uma função (de encriptação de duas vias – encripta e desencripta) do próprio ColdFusion (Encrypt()), e comparada com a versão encriptada em um arquivo guardado em texto puro no servidor. Se o arquivo é em texto, e a criptografia é de duas mãos, é possível desencriptar a senha…

Era um sistema que funcionava, e bem até; mas não era seguro o suficiente para os paranóicos conscientes.

Na nova versão – anteriormente conhecida como Blackstone, na tela de login, ao digitar a senha, uma função JavaScript (no cliente portanto) encripta a senha utilizando SHA-1 (de mão única), criptografa a senha já encriptada (sim, de novo) utilizando uma key (agora em duas mãos) randômica (do tipo 1108059832081) e aí sim envia para o servidor, que se encarrega de verificar se a senha está correta. Ele recebe a senha criptografada duas vezes e a chave de uma delas; ele desencripta utilizando a chave e o resultado é a senha criptografada em SHA-1, que é comparada com a do arquivo password.properties.

Update: Um senão desse novo sistema é que há uma função interna (getAdminHash()) que retorna a senha hash (em criptografia SHA-1) do Administrator; a mesma senha que está no password.properties. Se alguém realmente quiser descobrir a senha, pode deixar um brute-force rodando até descobrir a senha. Vale dizer que para acessar essa função a dupla cfobject/createObject() entra em ação.


Nova certificação CFMX 7

A cada nova versão do tipo “milestone” (enhancements significativos) do ColdFusion, uma nova prova de certificação é criada e homologada, para desespero dos que acabaram de fazer a certificação para a versão anterior (normalmente são oferecidos descontos generosos nos meses que antecedem o lançamento de uma nova versão. Justamente o que aconteceu com a prova do CFMX 6.1).

Com CFMX 7 não podia ser diferente. Mas nem tudo está perdido… Se você pretende tirar sua certificação nesta nova versão, pode conseguir um desconto de 40% no valor da prova ou até mesmo um desconto de 100%. Veja:

Desconto de 40% para aqueles que participarem do “programa beta” (existe isso?) da nova prova de certificação, cliquem aqui, leiam, entendam e se inscrevam.

Desconto de 100% para aqueles que submeterem 7 sugestões de questões (interessante, não?) para a nova prova. Cliquem aqui, leiam, entendam e se inscrevam.

Nenhuma das duas opções é garantia de desconto (você precisa ser selecionado), mas a história mostra que todos os que fizeram a prova beta (independente se “passaram” ou não) ganharam o desconto (que pode ser utilizado num intervalo de +/- um ano). No segundo caso é interessante que você envie sugestões de questões que tenham a ver com os novos recursos do CFMX (não chovam no molhado). Vale notar também que (se não estou enganado) os vouchers de desconto são cumulativos, ou seja, se você já tiver um voucher de 15% como os que são distribuidos em reuniões de MUGs e também em livros como o do Forta, mais um voucher de desconto (se não me engano 25%) por ter feito uma prova na Vue, poderá ter um desconto de até 75% (por exemplo). Reciocínio de programador não vale: é claro que se o desconto ultrapassar os 100% ninguém vai te “pagar” (dar dinheiro de volta) para fazer o exame… 😉

Boa sorte!


Windows 2003 + ColdFusion MX 7 Security best pratices

O Terracini me mandou, e vale a pena ler:

Configuring ColdFusion MX 7 Server Security (print)

Nenhuma dica extraordinária, apenas uma coletânea de best-settings/pratices para a dobradinha CFMX 7 e Windows 2003 (mas as dicas para CFMX 7 são válidas para qualquer sistema operacional). Gostaria de ver mais artigos deste tipo no Devnet.


ColdFusion built-in webserver

O ColdFusion tem um servidor web (como o IIS e o Apache) bem simples embutido (built-in webserver), que quebra um bom galho, principalmente na máquina do desenvolvedor, que não precisa ter um IIS completo com esse e aquele recurso; apenas o ColdFusion rodando, de maneira simples.

O webserver roda normalmente como na porta 8500 (http://localhost:8500/) e seus arquivos ficam sob a pasta wwwroot no diretório de instalação do ColdFusion, como por exemplo, D:CFusionMXwwwroot.

Tente digitar “localhost:8500” (sem o http://) na barra de endereços do Internet Explorer. Não sei o porque cargas d’agua, ele muda para “local:8500”!! Eu nunca digito “http://” na frente de um endereço web! Seria mais simples se o acesso fosse simplesmente localhost, rodando na porta padrão para web, a 80.

É possível mudar o número da porta em que o built-in web server opera. Abra o {cfmx_root}runtimeserversdefaultSERVER-INFjrun.xml, e localize o seguinte:


<service class="jrun.servlet.http.WebService" name="WebService">
<attribute name="port">8500</attribute>
<attribute name="interface">*</attribute>
<attribute name="deactivated">false</attribute>
<attribute name="activeHandlerThreads">10</attribute>
<attribute name="minHandlerThreads">20</attribute>
<attribute name="threadWaitTimeout">350</attribute>
</service>

Mude a porta de 8500 para 80, salve o arquivo e reinicie o serviço do CF.

Ah, é possível ver mais informações sobre o atributo threadWaitTimeout nesse post do Alex.

O outro ponto é o webroot, que fica sob a pasta de instalação do CF. Esse caminho, que pode ser mais cômodo para o desenvolvedor se for em outra pasta, ou até mesmo em outro disco, também pode ser alterado.

Abra o arquivo {cfmx_root}wwwrootWEB-INFjrun-web.xml e localize o seguinte trecho:


<virtual-mapping>
<resource-path>/*</resource-path>
<system-path>d:/cfusionmx/wwwroot/</system-path>
</virtual-mapping>

Altere o conteúdo do system-path para o caminho de sua preferência e copie o diretório “CFIDE” para o seu novo webroot. Feita a alteração, reinicie o serviço do ColdFusion.


UDFs para validar CNPJ e CPF

Os leitores da lista CF-Brasil já viram a quantidade de pedidos por uma função para validar CNPJ e CPF. No arquivo .cfm há uma exemplo (bem simples) de utilização. Ambas funções retornam valor boleano (true/false) para o número de entrada.

Em caso de bugs e sugestões, entre em contato.

CNPJvalidate.zip
CPFvalidate.zip


Referências perdidas para o CFMX 7.0 e primeiras impressões

Está difícil encontrar o download de recursos extras do CFMX 7.0 tais como Tag update para HomeSite e CFStudio, Report Buider e extensões para o DWMX? A Macromedia fez o favor de escondê-los bem (só existe uma ou duas referências à estas páginas a partir da página principal do produto). Mas aqui vai:

Release Notes e afins:
http://www.macromedia.com/support/documentation/en/coldfusion/

Todos os downloads adicionais:
http://www.macromedia.com/software/coldfusion/downloads/

Vale notar que concomitante ao lançamento do CFMX 7.0 a Macromedia soltou uma série de technotes sobre esta versão. Alvo de algumas críticas (inclusive minhas), a Macromedia resolveu lançar apenas um RC antes da versão golden (final), que ainda estava recheada de bugs.

Não tive tempo de conferir as mudanças na versão final (7,0,0,91690), mas a minha noção é que o CFMX 7.0 é o bom e velho CFMX 6.1 (fato que já podiámos perceber no lançamento do Alpha1 – fui o único brasileiro a participar desta etapa inicial), porém com alguns adicionais de administração (vide melhorias em sandboxes security – vou falar mais a respeito ainda hoje e multiplas instâncias) e novos recursos que todos nós já conhecemos tais como Flash Forms, CFDocument e afins. No geral os recursos novos ainda precisam de amadurecimento e eu usaria-os com cautela, principalmente pela constatação (e inúmeros testemunhos iguais) de que eles são bastante vorazes no consumo de recursos (CPU e memória) do servidor. Podemos esperar por vários hotfixes e updaters que estarão por vir.

Mas isso tudo não deixa de ser empolgante. É sempre bom ver a tecnologia evoluir e incorporar novos recursos, especialmente estes que são bastante apelativos para usuários novos da tecnologia.