Marte com ColdFusion

Semana passada a sonda Spirit pousou em Marte trazendo fotografias de qualidade nunca antes vistas da superfície do planeta vermelho. As Vikings da década de 70 têm fotos espetaculares de lá, porém nada se compara ao que a Spirit está mandando.

marte2.jpg

O quê isso tem a ver com ColdFusion? Bem, eu não sei se você sabe, mas o site do mais famoso laboratório/programa da Nasa, o Jet Propulsion Laoboratory – JPL, usa ColdFusion. Pelo que pude ver, trata-se de ColdFusion 5.0 (ou 4.5) em Linux com Apache 1.3x.

Não acredita? Confira você mesmo: http://www.jpl.nasa.gov.

Uma coisa não me sai da cabeça: desde pequeno a Nasa sempre foi sinônimo de competência (apesar de alguns acidentes, o que não é exclusividade norte-americana, por aqui também temos o “shit happens”) e alta tecnologia em todos os aspectos. Ainda na escola, eu e meus amigos nos referíamos às difíceis provas de matemática do saudoso professor Gustavo (por onde andarás?) como “putz, mais uma prova da Nasa…”. Me espanta (positivamente) que uma corporação tão acadêmica e rígida (AFAIK) como a Nasa use CFML em alguns de seus sites. Nestes nichos acadêmicos, PHP, Perl e outras “abertas” é que são figurinhas constantes, CFML somente em raras (e boas) exceções. Por isso é sempre bom saber desses exemplos na hora de fazer uma moral com os amigos: “eu programo em ColdFusion sabe, àquele que eles usam lá na Nasa…” ;o)

A Macromedia tem um showcase famoso com a Nasa, porém o astro neste caso é o Flash. Confiram aqui o site e aqui o showcase.


MM.com, redesign made wrong

Recentemente o Macromedia.com recebeu elogios num relatório da Forrester. Estes elogios são justos, porém arrisco morder a minha língua e dizer: é bem provavel que Harley Manning, autor do artigo que teceu os elogios, nunca precisou usar a página de suporte do MM.com.

Especialmente para os sites de suporte de ex-produtos da Allaire (ColdFusion, JRun, HomeSite e outros), parece que o “redesign made right” não foi aplicado, aliás passou longe dali. Na realidade não passou mesmo visto que a estrutura é quase idêntica à existente no Allaire.com. Cada visita à procura de novidades nestas páginas acaba se tornando uma aventura irritante e sem fim para mim. Uma confusão enorme de Technotes, Articles, Tutoriais, Hotfixes e outros tantos que faz qualquer um perder a paciência (e o rumo). Não existe clareza e separação entre o que é um “TechNote” e o que é um “Article”. Não existe separação de versões, por data, nada. Para mim os sites de suporte da Macromedia são, sem dúvida, um dos piores entre empresas de grande porte, perdendo até para a tradicional Sun, que sempre considerei um exemplo típico do que não se fazer num site de suporte.

Ao que parece, um support site como o do ColdFusion por exemplo, é mantido pelos engenheiros do JRun/ColdFusion (bem, engenheiros são engenheiros…) que publicam, ao sabor dos ventos e sabe-se lá mais o quê TechNotes avulsos, impossíveis de se achar em um local minimamente organizado, seja em ordem cronológica ou qualquer outra lógica racional. Aliás, seus blogs estão se tornando excelentes locais para se encontrar informações de suporte sobre tais produtos. Um tanto quanto paradoxal, e completamente errado na minha opinião, principalmente quando a grande maioria das pessoas não os lêem… Quer um exemplo (ou vários)? Tente achar um link para este (e este, e este e este…) TechNote no índice de TechNotes. Alguns são “hotfixes”, outros são “technotes”. “Technotes” são chamados de “articles”, e vice-versa. Outros são “articles”. A página de “All Hotfixes” para ColdFusion é um technote… a lista vai longe. Se você já foi até lá para, por exemplo, procurar arquivos e informações para deixar sua última instalação de CFMX atualizada sabe do que estou falando…

Uma grande confusão de termos, lugares e fontes de informação desencontradas e completamente embaralhadas. Mais do que atrapalhar, este tipo de site torna inviável o trabalho de qualquer sysadmin ou programador mais ou menos consciente da necessidade de manter seus sistemas atualizados e de estar informado sobre atualizações e workarounds importantes. Listas de discussão estão abarrotadas de perguntas repetidas, sobre problemas que já foram tratados em Technotes, porém é de se compreender tal repetição: é uma tarefa muito difícil encontrar coisas dentro dos sites de suporte da Macromedia. Se não fosse o bom e velho Google estávamos todos lascados (para não usar a palavra que começa com “f”). Talvez por isso vejo inúmeros casos onde as instalações de CFMX (e também de outras versões antigas) ficam do jeito que vieram ao mundo (sem adição de qualquer hotfix, inclusive os de segurança) até o raiar de uma nova versão do produto.

Recentemente falei sobre um feed RSS para os Technotes da MM. Pois parece que este é o único local onde você conseguirá encontrar informações “encontradas” e numa ordem mais ou menos compreensível. Mesmo assim ele deixa de fora muitas outras fontes de informação “perdidas” na verdadeira “fuá” do http://www.macromedia.com/support/coldfusion”.

E você? O que acha? Relate suas “experiências” (me faz lembrar o slogam da MM: “experience matters”) nos comentários abaixo. Se tiver saco (como eu), você também pode escrever para o pessoal da MM.com sobre este problema.


Why Does Software Work Take So Long?

Artigo relativamente antigo, porém continua bastante verdadeiro:

Why Does Software Work Take So Long?

Para muitos pode ser uma chuva em cima do molhado, porém a leitura é proveitosa de qualquer maneira.

Este ano estabeleci como meta profissional construir um log das minhas atividades. Costumo fazer isso de forma simples e descompromissada em minha agenda pessoal (de papel), porém ao final do ano, as informações só me dão uma idéia de volume e sobre o quê trabalhei. Precisava saber mais, precisava ter uma idéia mais nítida sobre como e onde gasto meu tempo. Se puder gerar relatórios e análises mais detalhadas no formato que quiser, melhor ainda. Justamente por isso, de forma simples e rápida (e digital) estou usando o TimePanic há uma semana. Recomendo fortemente.


CFTRANSACTION

Tudo meio parado e meio sem graça na web nestes dias, mas fazer o quê? Começo de ano é assim mesmo. O meu pelo menos foi bom, o servidor mal criado resolveu se comportar e tem um uptime idêntico ao do último post deste blog.

Neste meio tempo vale a pena dar uma lida neste interessante artigo/tutorial (e os que estão linkados dentro deste) sobre o uso de CFTRANSACTIONs no DevNet. Idependente do seu nível de conhecimento em CF é sempre interessante ler (reler) artigos de nível básico como este. É impressionante como a falta de uso nos faz esquecer coisas básicas.

Controlling Database Transactions in ColdFusion MX


ColdFusion MX chega ao mainframe

Incrível observar a abrangência do CFMX (ou será da plataforma Java?). A Macromedia está fazendo um excelente trabalho colocando o CF junto dos grandões mainframes e também junto da grandona IBM, que está colocando algumas fichas no CFMX. Mais do que um novo nicho para as aplicações em CFML, o CFMX para zSeries traz consigo um carimbo de “aprovado e endosado” nunca antes visto para esta tecnologia (e visto em pouquíssimas outras).

Announcing ColdFusion MX Enterprise 6.1 for IBM zSeries

Quem serão prováveis compradores? Boeing, Correios, Embraer? Ah quem me dera ter um mainframe IBM rodando CF… 🙂


Direito autoral

Para quem achava que publicar informação dos outros como sendo sua (o mesmo mascaradamente) na web não “dá em nada”, vale a pena a leitura desta rápida nota:

Empresa paulista é condenada por divulgar artigo em site


Quando Papai Noel chega mais cedo…

Dia 18/12, quinta-feira
19h30 – Noto que o servidor fez um reboot “automático”, depois de 1033 horas de uptime (graças à nova política de patches da MicroShoot);
19h40 – Primeira pulga se aloja atrás da orelha. Verifico os logs, event viewer, stack trace e nada de encontrar um motivo, razão ou causa da estranha “rebootada”. Resolvo ir para casa tranquilo (deve ter sido uma queda de força e eu estava no banheiro e o no-break não segurou…);

Dia 19/12, sexta-feira
20h00 – Sexta-feira feliz em casa. Me preparo para uma bela pizza em companhia da bela esposa e dos dois gatos vira-latas que adotamos há pouco tempo;
20h01 – Beeee… celular com nova mensagem: “servidor baniwa não responde 10 tentativas de ping”;
20h05 – Esposa nervosa (“já vai voltar ao escritório?!”), home PC inicializando e eu pensando: “teve ser um problema de conexão, a rede caiu…”;
20h15 – “Damn it!” A rede está ok, o danado do servidor resolveu se rebelar e/ou travou… ok, ok… como um pedaço de pizza na mão e desço para garagem (quem me dera ter um rack gerenciável remotamente…);
20h25 (sim eu moro há dez minutos de carro e trinta a pé do meu trabalho) – VNC não conecta, vamos lá… arrastar e abrir portas do rack, espetar monitor, teclado e mouse no servidor;
20h30 – “Damn it 2!” Blue sreen of death, tomo nota da mensagem de erro;
20h32 – Nada decente sobre o assunto “IRQL_NOT_LESS_OR_EQUAL” no Google, a não ser ruído de busca e um technote vago pra caramba no MSDN sobre “falha em hardware novo instalado”;
20h35 – Princípio de pânico leve: “não instalei nada nesta jost&^!…” será invasão hacker? alienígena? ratos fazendo ninho dentro do gabinete? calor insuportável? falha de hardware? Não necessáriamente nesta ordem…;
20h40 (pensando na pizza que ficou em casa) – vou reiniciar e deixar o danado ligado e vou para casa.

Dia 20/12, sábado
22h30 – Beeee…. (ponha mais três reticências neste “beeee”);
01h00 – No escritório, depois de ter encarado o guardinha da rua dormindo e me interrogando me deparo com mais uma blue screen. Desta vez outro erro, diferente e (segundo a MSDN) sem ligação com o primeiro;
01h10 – Concluo o óbvio: estou com falha de software ou de hardware, vamos começar pelo software;
03h00 – Máquina formatada, Windows 2000 server + SP4 instalados e 10 minutos de uptime: bum! reestart não esperado e mais um minidump (não gravo o dump inteiro) gerado;
03h01 (enquando a máquina reinicia) – segunda pulga se aloja atrás da orelha: “cazzo! o hardware está com pau… mas, qual??”;
03h40 – rodo toda sorte e espécie de hardware analyze tools que tenho por aqui;
05h00 – escuto o HD IDE “estalar”, como se estivesse iniciando e em seguida o servidor cai;
05h01 – ótimo, descobri o culpado. Este HD está ligado há um ano sem descanço, deve ter batido as botas;
08h00 – na porta do PromoCenter da Rua Augusta espero o meu fornecedor de hardware (com nota fiscal e em ordem – é para empresa!) chegar e adquiro um HD IDE novinho em folha;
09h00 – de HD novo, inicio a formatação, reinstalação da máquina;
12h00 – Windows 2000 + CFMX + tudo mais o que tem direito (incluindo recuperação dos backups) pronto. A máquina está tinindo e rodando como antes;
13h00 – pego no sono e acordo só no dia seguinte;

Dia 21/12, domingo
22h00 – Beeeee…. (penso seriamente em jogar o celular pela janela do 12o andar);
22h10 – que se dane, acordo mais cedo e vejo o que acontece.

Dia 22/12, segunda-feira
02h00 – impossível dormir, cinco pulgas se mexendo atrás da orelha e a cabeça pensando: “o que raios tem este servidor?!…”;
02h30 – colocar os gatos (que brincavam de arranhar o pé da cama) para fora do quarto;
03h00 – sem dormir: vou para o escritório;
03h10 – “O quê?!! Outra mer$#$ de tela azul?!!!”;
03h20 – “Deve ser a controladora SCSI… aquela safada”;
03h40 – ponho outra controladora idêntica (sorte ter uma outra de reserva);
04h00 – servidor ok, sem problemas. Mais uma vez aquela sensação de “problema resolvido”;
06h00 – estico o dia até as 18h00, porém feliz da vida;
23h30 – Beeeee…. Vou dormir exausto, amanhã vejo isso…

Dia 23/12, terça-feira
05h00 – desta vez foi diferente, para chegar na minha sala preciso abrir três portas, ao passar a segunda pude ver a minha sala por uma janela (o escritório fica numa casa maluca)… a visão do paraíso: parede da sala tingida de azul, luz que vinha do monitor do servidor…;
05h01 – não é possível, outra mensagem de erro diferente? Estão de sacanagem comigo…
06h00 – troco tudo o que é possível: placa de vídeo, placas de rede, exceto processador (quem tem um P4 2.4 Ghz sobressalente?) e memória (2Gb de DDR, idem…);
08h00 – Duas horas de uptime e nenhuma falha. Ou era a placa de vídeo ou placa de rede ou os dois (rezo 5 Pais-nosso e 15 Aves-Maria para não ser processador e/ou memória);
09h00 – recebo o “indulto de Natal” do chefe e vou para casa descançar;
19h00 – pizza em casa com os amigos Douglas Camargo (Synex) e Fabio Terracini (CFUG-SP). Papo-furado sobre CF e internet e filosofia de vida;
23h00 – confiante no servidor, instalo o MDAC 2.8 (havia deixado para fazer isso depois quando da segunda “formatada” geral do mesmo);
23h05 – Beeeee….
23h06 – “não!!! O servidor não voltou….”
23h30 – acaba a luz em casa, me levanto da cadeira e sem querer dou uma bica no gato que atravessava o caminho…

Dia 24/12, hoje
07h30 – servidor de pé, sem telas azuis, tudo funcionando bem bonitinho porém nada conectando nele;
08h00 – indentificado o problema: na troca de placas de rede o driver das antigas ficou instalado (segundo o windows em “hidden mode”) e o IIS não entendeu lhúfas do que estava acontecendo e parou de responder;
08h00 – secretária chegando ao escritório e de mau humor por ter que trabalhar no dia 24: “não acredito, o servidor fora do ar de novo?!… Alex, você não acha que deveria chamar um técnico não?” (adicione duas pitadas de malícia e desdém profissional a este comentário)…
08h01 – mando a secretina catar coquinho;
08h20 – problema resolvido;
09h35 – sem nada para fazer (mas com sete pulgas atrás da orelha), resolvo atualizar o CF_GIGOLÔ.

FICHA DO CRIMINOSO: servidor local para intranet, arquivos e logon de rede num Pentium 4 2.4Ghz (512k de L2), 2GB de DDR, HD IDE (para o sistema), dois HD’s SCSI 10k rpm de 40Gb cada, gabinete de servidor lindíssimo, cooler profissional, fonte redundante e tudo mais o que tiver direito (era uma “dream machine” há um ano atrás).

Daqui a pouco vou para a casa dos meus pais (na Granja Vianna), tomar banho de piscina aquecida, fazer sauna, ver um bom filme num sofá daqueles de afundar até sumir e me lambuzar nas delícias da ceia de Natal que a nossa cozinheira mineira (na família desde quando eu era moleque e querida por todos nós) já deve está preparando. Se o servidor cair de novo paciência. Lá o celular pega mal pra caramba e afinal de contas é Natal…

Feliz Natal a todos!! 😉


Ben Forta no Brasil (fotos)

Ben Forta publicou agora pouco algumas fotos de seu último tour pelo Brasil (CFUG-SP, iSeminar e CFUG-Rio).

Vejam no forta.com em “on the road“.

PS: destaque para as fotos do Rio (não as do “quase” barbudo Frutig – ao lado do BF) mas sim a do amanhecer e entardecer no Rio. Fico feliz que ele tenha visto tais paisagens e que seja bastante generoso nos comentários acerca dos locais por onde passou. Esperemos um breve retorno!


Estatísticas de CFID e CFTOKEN

Segundo a empresa Security Space o CFIDE e CFTOKEN – comumente usados pelo ColdFusion Server para identificar usuários em uma aplicação (cfapplication) – ocupam, respectivamente a 5a. e a 6.a posição dos cookies mais usados em toda a web. O primeiro lugar é do ASPSessionID seguido do PHPsessionID (bastante atrás do ASP) e em terceiro JSessionID.

Veja este report publicado.


Security Patch para CFMX e JRun 4

Uma brecha de segurança no parser XML empacotado e usado pelo CFMX/JRun4 (Apache Crimson 1.1) pode tornar o servidor vulnerável a ataques de negação de serviço. Trata-se de uma vulnerabilidade conhecida no Crimson desde o mês passado e já é recorrente.

Vejam detalhes aqui:

Security Patch available for ColdFusion MX and JRun 4.0 Web Services DoS

O patch faz a atualização para a última versão do Crisom 1.3 (de Outubro de 2003).

OBS: se você precisa fazer coisas muito específicas em XML você pode usar o Apache Xerces (um parser XML mais parrudo) ao invés do Crimson. Veja este interessante post de Brandon Purcell.