quarta-feira, 26 de dezembro de 2007

Para fechar 2007 - parte 3

n++;

Bem, galera, só me resta agora desejar um ótimo 2008, repleto de sucesso a todos, prosperidade, paz e dinheiro no bolso!
Agradeço a todos que passarem pelo meu humilde blog, leram, comentaram e difundiram o nome do blog mundo afora!
Muito obrigado! Afinal, de que adianta disponibilizar conhecimento se o mesmo não for consumido? Certo? Este blog foi feito para vocês, e espero poder ter ajudado em 2007. Ano que vem (em algum dia de janeiro...) tem mais!

[]'s do MX...

quinta-feira, 20 de dezembro de 2007

Para fechar 2007 - parte 2

n++;

Continuando...

Falando agora um pouco sobre conteúdo na internet, primeiramente gostaria de deixar uma lista de blogs que eu "descobri" este ano e que indico:
  • Nerdson: Blog fera, com tirinhas (sou fã de tirinhas) sobre temas de informática (e conseqüentemente, nerd). Muito hilariante e ao mesmo tempo instrutivo.
  • Arte de Copiar: Esse é do meu amigo Thiago Smarzaro. A cópia de layout de sites tirados de "templates" na web ficou tão descarada e insuportável que decidiu-se criar um blog para debater (e denunciar) esta prática (muito anti-ética na minha opinião).
  • TechnoTrash: Para quem gosta de "trashices" do mundo da tecnologia, você ri (e muito) com os posts deste blog!
  • ClientSide: Excelente iniciativa do Elcio (Ferreira, aquele mesmo, do Tableless)! Super indicado para quem trabalha (like me) com desenvolvimento de páginas/sistemas web.
  • Blog da Zellen: Quem meche (por hobby ou profissão) com ColdFusion e/ou Flex e sente falta de conteúdo em português, a iniciativa do pessoal da Zellen é mais do que indicada para leitura. E para completar, o blog foi desenvolvido em ColdFusion xD.
Eu assino 36 RSS's (e Atom's) de vários blogs, e muitas das vezes nos deparamos com dois problemas:
  1. Como organizar os meus RSS's?
    Pois bem, desde que conheci o NetVibes, em fins de 2004, eu já tinha me supreendido com a possibilidade de personalização daquele sistema. No começo não era nada grandioso, tanto que a única coisa que me lembro era da div de título da página, que era editável. Eu ainda estava cursando WebMaster e aquilo era uma surpresa na época (visto que a "web 2.0") foi estourar mais tarde. Depois de muito tempo tornei a acessar o NetVibes
    e vi que ele estava funcionando como um leitor de RSS online, onde você poderia adicionar os feeds, organizar abas, e ainda possuía um painel com temperatura, notas, entre outros gadgats. Resultado: faz uns 8 meses que eu uso diariamente o NetVibes para ler as novas notícias de meu interesse. É uma economia de tempo notável em relação ao que eu fazia antes para buscar e ler as mesmas informações na net. Sistema altamente personalizável e eu recomendo, com méritos!
  2. Somente parte do conteúdo desse RSS me interessa, é possível filtrá-lo?
    A resposta é: SIM! E o nome da fera é Yahoo!Pipes. Sem maiores complicações o Pipes é uma interface que te permite cruzar RSS's e filtrá-los, entre outras operações. O RSS resultante deste cruzamento pode ser lido por qualquer leitor. Assim que você gera o RSS do seu "pipe" ele te permite adicionar direto a leitores mais comuns como MyYahoo, Google Reader, Bloglines, NetVibes ou até capturar a saída como uma ulr de RSS ou um JSON. Parabéns a Yahoo pela iniciativa sem precedentes (a qual faço um uso de tempos em tempos). Só como exemplo: Vamos supor que você encontre um blog que aborde programação, porém só tem interesse nos posts que falem sobre javascript. Não tem para quê você desistir de assinar o RSS por medo de ficar recebendo conte´pudo que não deseja ler, basta filtrá-lo no pipes para receber somente o que te interessa. E viva a preocupação com o usuário.
Bem pessoal, meu primeiro post de fim de ano foi voltado para a parte acadêmica, este foi voltado para a parte de conteúdo na web. Espero pensar em algum outro tema para postar... enquanto isso...

[]'s do MX...

quarta-feira, 19 de dezembro de 2007

Para fechar 2007 - parte 1

Salve, salve!
Amigos, vou começar uma série aqui de n (pero no mucho) posts para finalizar minha participação em 2007 neste blog.

Vamos lá!
var n;
n = 1;

Neste ano foi dado o primeiro passo para que eu possa alcançar uma de minhas metas que é entrar para o Mestrado em Inteligência Arificial (no ITA/São José dos Campos -SP ou na UFF/Niterói - RJ). Sim, é coisa de maluco... e eu sou maluco "daí" ?

Estou aprendendo (sozinho, por enquanto) Prolog e já me meti na iniciação científica para não perder o pique da coisa. Sim, sim, se o tempo já era escasso só com trabalho e faculdade, em 2008 ele promete ser como o ar em Quito ou Potosí: rarefeito!
Mas sem arregaçar as mangas e se sacrificar ninguém chega a canto nenhum...

Aí você me pergunta: mas porque falar desse sonho em ingressar no Mestrado?
Simples. Notei que se encontram poucas informações hoje em dia, na internet (digo, em blogs, opiniões de pessoas, não de entidades) e decidi que ano que vem procurarei disponibilizar informações conforme possível para ajudar quem um dia precisar de alguma orientação de "pessoas normais".
E se mestrado já é algo pouco falado na internet, o que dizer de Prolog então? Piorou certo? Então espero poder começar a reverter este quadro.

Abaixo, segue a minha primeira brincadeirinha com Prolog (coisa bem basicona de besta mesmo... mas, não, não foi um "Hello world")

Tela (nada comum) do SWI-Prolog

Outro fator muito positivo este ano foi a possibilidade que tive de ministrar minha primeira palestra, abordando a tecnologia ColdFusion. Esse é um sonho que tenho, poder futuramente ser palestrante em eventos, afinal não tem como ir a palestras de gente como Luli Radfahrer, Michel Lent, Paulino Michelazzo e Felipe Memória sem pensar em um dia estar ao lado deles.

O ponto negativo fica por conta da minha parada nas matérias de ColdFusion para o iMasters. Agradeço ao Baeta por todo o espaço e oportunidade, mas lamento a falta de tempo. Mas sobrando um tempinho, e tendo uma idéia sobre o que abordar, eu faço mais uma matéria para o site.
As matérias para a Revista W também não foram tão constantes como no ano passado, mas termino o ano com um saldo bastante satisfatório, pois pude ter uma matéria (em parceria com o Robinson Melgar) na capa da edição 82, e também uma vaguina na capa (canto superior direito) da edição 88.

Pena também eu não ter ido ao Intercon 2007 (depois de ter ido em 2005 e 2006), fica para a próxima... mas parabenizo a Locaweb, pois este ano participei pela primeira vez do ELPI (foi sua 9ª edição). O evento foi muito bom, muito proveitoso, e terminou de forma hilária, com o grande Rafinha Bastos.
O 12º EWD do Rio de Janeiro também foi interessante, e fechando com chave de platina dupla, teve Luli (nem precisa dizer mais nada não é... quem já foi a uma palestra dele sabe como as coisas são).

Espero (e torço) para que ano que vem tenhamos mais eventos (e melhor divulgação dos mesmos) para podermos trocar conhecimentos, bem como espero poder ter mais oportunidades de palestrar.
E espero também que a estrada a caminho do mestrado seja bem trilhada em 2008, mas isso... só o tempo dirá!

Em breve realizo mais posts, ou não, para fechar o ano blogueiro (mas retorno antes do carnaval xD )

[]'s do MX...

Dica de leitura: Programação Declarativa e Programação Lógica (bom para você que acredita que nó mundo só existe "OO" e "Estruturada").

sexta-feira, 14 de dezembro de 2007

Busca no YouTube direto do Firefox

Boa tarde a todos!

Bem, queria deixar uma dica para aqueles que usam Firefox (ou usam SOMENTE Firefox, como eu) e freqüentemente acessam o YouTube.
No Syphen.org há um post com um link para a instalação do mecanismo de busca do YouTube para Firefox. Vale a pena e na versão que eu uso (2.0.0.11 rodando no Windows XP) está funcionando que é uma maravilha!

=)

[]'s do MX...

Obs.: Sim, no me gustas IE, mas tenho que desenvolver também para ele, afinal, é o browser da maioria...

sexta-feira, 7 de dezembro de 2007

Fechem as lightboxes com ESC

Boa tarde povo!

Pensando um pouco em usabilidade, o tempo vai passando e as novidades surgindo, e logicamente, precisamos de uma experiência otimizada com tudo aquilo que nos envolve. Pois bem, há algum tempo o Bruno Torres postou no "O Básico da Web" um texto falando sobre o envio de formulário ao se pressionar a tecla ENTER.
É "essa tal usabilidade" não é? Estamos acostumados com essa vida desktop, de pressionar ENTER e já submeter o formulário no qual estamos entrando com as informações. Na web a coisa na maioria das vezes não é assim, mas bem que poderia passar a ser, pelo bem da experiência do usuário com o seu site.

Agora venho fazer um apelo que segue a linha de usabilidade do post do Bruno. Toda vez que, em ambiente desktop, nos deparamos com alertas, pressionamos ESC naturalmente para remover da tela aquele aviso incômodo, bem como o utilizamos para escapar de janelas MDI Child (como por exemplo a janela de Formatar Fonte do Microsoft Word até a versão 2003). Entendo que alguns que leiam o post digam "eu não faço isso", mas acreditem, a maioria faz.

Então notei que havia a necessidade de, ao se fazer o uso de lightbox na página, que a mesma deveria ser fechada ao pressionarmos ESC. Segue então uma leve "mão na roda" para quem quiser implementar isto! =)

var ie = document.all;

if(!ie)
   document.captureEvents(Event.KEYPRESS)

if(!ie){
   function menuengine(event){
      if(event.keyCode == 27)
         if(objExiste('NOME_DA_DIV'))
            
//Chame aqui a sua função que remova a lightbox
   }
}
else{
   function menuengine(e){
      if (event.keyCode == 27)
         if(objExiste('NOME_DA_DIV'))
            //Chame aqui a sua função que remova a lightbox
   }
}

document.onkeypress=menuengine;

function objExiste(obj){
   return (document.getElementById(obj) != null)
}

Só para encerrar, troquei a função que uso pelo trecho "
//Chame aqui a sua função que remova a lightbox" pois vendo outros desenvovedores notei que cada um elaborou uma função de acordo com suas necessidades para remover a lightbox da tela, então deixo esse código "genérico" para que possa ser facilmente alterado.

Bem, espero que nós desenvolvedores passemos a pensar um pouco mais em usabilidade na hora de desenvolver os projetos, porque faz falta, e muita!

[]'s do MX...

sábado, 24 de novembro de 2007

Comentários sobre o Workshop

Boa noite a todos!

Quem foi hoje ao Campus Barra Mansa do UBM, teve a oportunidade de assistir o Worshop citado no post anterior a este, no qual fiz minha primeira apresentação (palestra) em um evento. Para quem não sabe, eu pretendo palestrar, pois é algo onde se difundi o conhecimento e se pode fazer um networking muito interessante, além de forçar o palestrante a sempre estar por dentro das informações relacionadas à sua área.

Pois bem, o Workshop pode ser dividido em duas etapas de conteúdos distintos: empresarial/comercial e científico.
As três primeiras palestras foram voltadas ao mercado de trabalho, inciando-se pela palestra do trio de companheiros de graduação: Marcelo, Yan e João Felipe (Jotaefe).
Com um material muito bem elaborado e rico eles se revesaram mostrando o funcionamento de uma empresa com uma estrutura de cargos bem definida em prol da produtividade e a parte de padronização interna de código da empresa. Muito útil galera!

Logo após veio minha pessoa falando sobre ColdFusion. Estou contente de não ter ficado tão nervoso quanto estive na apresentação do meu Projeto Final do curso técnico de informática em 2003. Procurei passar o máximo de informação sobre ColdFusion que pude disponibilizar para o tempo definido para a palestra, e talvez até por isso, eu tenha ultrapassado um pouco o tempo de apresentação. Espero ter conseguido despertar a curiosidade em algum dos universitários que lá estavam. Agradeço a atenção com que todos assistiram minha palestra e deixo aqui meu muito obrigado aos professores José Nilton Cantarino Gil, coordenador da graduação que curso, e principalmente ao professor Marcus Vinicius Carvalho Guelpeli.

Logo após ocorreu a palestra do Luiz Eduardo e da Mayara, também companheiros de graduação com um conteúdo bastante interessante: o uso de biometria como controle de ponto. Foram exibidas algumas alternativas de medições biométricas, além de se mostrar toda uma parte do mercado para estes aparelhos, mas sem deixar de lado a área científica na qual ambos estão mergulhando de cabeça. Parabéns ao casal!

A partir daí as outras palestras foram focadas na área científica, iniciando-se pela palestra do meu camarada Fábio Gonçalves e Roberto Rossi, sobre "Introdução ao Ensino de Grafos na Educação Básica", que, assim como o tema da palestra seguinte ("A construção Interdisciplinar de um relógio de sol", de Camila de Souza e Dimsa da Silva), tiveram tarefas a serem executadas em escolas públicas (se não me engano em Volta Redonda - RJ e Queluz - SP). Fiquei impressionado em como as tarefas executadas pelas duas duplas, em cidades distintas, puderam mostrar algumas fragilidades do sistema de ensino do nosso país. Viva o presidente que tem a 4ª série primária! Isso deve ser motivo de orgulho para muitos por aí não é? Porque o estado em que nossos estudantes estão chegando à faculdade não é orgulho para ninguém...

Após isto, tivemos a parada para o almoço e o retorno com as palestras do Dr. José Augusto, sobre óptica, com um conteúdo bem interessante, e um video "a la YouTube" (que eu ainda vou procurar) mais interessante ainda.
Logo após ocorreu a palestra da Dra. Flávia (com quem tive o prazer de trocar algumas palavras), sobre Algoritmos Genéticos. Conteúdo bastante técnico, mas muito interessante. O que me chamou atenção foi o fato da Dra. ter concluído seu doutorado aos 28 anos, um incentivo pra mim, que termino a graduação com 24, o mestrado com 26 e o doutorado com 30 (Se Deus permitir, tudo correr bem e eu estiver vivo até lá).

Fora o calor que fazia naquela sala e o atraso para o início do evento, foi muito bom e muito proveitoso para mim. Espero que para os universitários que estavam lá também tenha sido.
ESte foi o último evento de iniciação científica do UBM e espero ter mais oportunidades de serem realizados eventos como este no próximo ano

[]'s do MX...

terça-feira, 20 de novembro de 2007

Workshop com Palestra sobre ColdFusion

Salve, salve amigos!

Boa tarde de feriado a todos. Bem, a quem interessar, no próximo sábado, dia 24 de novembro, no UBM - Barra Mansa, Prédio IV, sala 509, haverá um Workshop de Computação e Matemática Aplicada das 9:00 às 17:30, no qual estarei palestrando o tema "Desenvolvimento de Sistemas Web com ColdFusion".
Ainda não cheguei a postar nada aqui no blog sobre ColdFusion, apesar de ser um entusiasta desta fantástica linguagem, mas com tempo começo a falar mais sobre o CF por aqui.
Se alguém quiser saber um pouco mais sobre ColdFusion pode dar uma lida nas minhas matérias no iMasters.

Segue a programação do Workshop. Ah! Gratuito tá meu povo, então quem estiver interessado, não perca!

09:00 - 09:30

Tema:
Como práticas de Gerência de Projeto e Padronização de código podem ajudar sua empresa?

Palestrantes: João Felipe F. Lima, Marcelo Nogueira Araújo e Yan Borowski

Resumo: Nos dias de hoje com a grande demanda de profissionais qualificados no mercado de desenvolvimento de softwares, vê-se uma grande necessidade, por parte das empresas, da adoção de técnicas eficazes de padronização de códigos, pois não podemos garantir que teremos eternamente um profissional em nossa equipe. O papel do gerente de projeto é verificar se os padrões estão sendo seguidos e distribuir e redistribuir a equipe de acordo com as necessidades. O grande desafio é: como aliar a padronização à necessidade cada vez mais rápida dos clientes?


09:30 - 10:00

Tema: Desenvolvimento de Sistemas para WEB com ColdFusion.

Palestrante: Felipe Alencar Magalhães

Resumo: O desenvolvimento de páginas e sistemas na web tem crescido bastante nos últimos anos. Com isso, além da qualidade com que são desenvolvidos, um outro diferencial vem chamando a atenção: a produtividade. Visando um desenvolvimento mais intuitivo e prático, será apresentada uma tecnologia que já existe há 12 anos, porém segue imbatível na relação produtividade x manutenção de código: o ColdFusion. Nesta palestra serão exibidos os aspectos da tecnologia ColdFusion e as grandes vantagens que ela traz para a elaboração de sistemas nessa nova fase da web.


10:00 - 10:30

Tema: Biometria e uso de inteligência de máquina para controle de ponto

Palestrantes: Mayara Costa Regazio e Luiz Eduardo Bittencourt Couto

Resumo: Atualmente a necessidade de métodos de identificação mais seguros está em ascensão, visando supri-lá cada vez mais são utilizados metidos baseados em parâmetros biométricos. Nessa apresentação serão abordados os usos de biometria para identificação de pessoas e também a utilização de sistemas computacionais para análise de ponto eletrônico.


10:30 - 11:00

Tema: Introdução ao Ensino de Grafos na Educação Básica

Palestrantes: Fabio dos Santos Gonçalves e Roberto Reis de Oliveira Rossi

Resumo: A Teoria dos Grafos vem se mostrando, ao longo dos anos, como uma importante ferramenta na resolução de problemas, em diversas áreas do conhecimento como, por exemplo, Matemática, Física, Biologia, Logística, Relações Humanas e Computação. Será mostrado e discutido a aplicação de uma oficina para o ensino de grafos em uma escola pública de Volta Redonda.



11:00 - 11:30

Tema: A Construção Interdisciplinar de um Relógio de Sol

Palestrantes: Camila Margarida de Souza e Dimas Moraes da Silva

Resumo: A interdisciplinaridade é apontada por diversos autores como ferramenta de ensino, na busca pelo conhecimento integrado, possibilitando aos educandos maior compreensão dos conteúdos. E com a construção de um relógio de sol horizontal verifica-se a conexão de conteúdos principalmente entre a Matemática, Astronomia e Geografia, nos pré-requisitos teóricos, enquanto na prática, manipulando materiais concretos, auxilia-se o desenvolvimento de habilidades com recursos de instrução, tais como: esquadro, transferidor, compasso e calculadora, além de proporcionar ao educando o enriquecimento de seu repertório sócio-cultural e filosófico. Será mostrado e comentado a aplicação de uma oficina de construção de um relógio do sol em uma escola pública de Volta Redonda.


11:30 - 12:00 -> Debate sobre os temas apresentados

12:00 - 13:30 -> Almoço


13:30 - 15:00

Tema: Algoritmos Genéticos (AGs)

Palestrante: Prof Dra. Flávia Cristina Bernardini
Pesquisadora e Analista de Sistemas do Laboratório de Documentação Ativa e Design Inteligente (ADDLABS) – Universidade Federal Fluminense – (UFF).

Resumo: Muitos problemas requerem a realização de buscas por uma solução pertencente a um imenso espaço de possíveis soluções. Um exemplo é a realização de uma busca por uma coleção de regras de predição. Tais problemas computacionais podem requerer um sistema adaptativo, que continue em bom desempenho frente às variações do ambiente em que se encontra. Problemas como estes requerem soluções complexas que são usualmente difíceis de programar à mão. A evolução biológica é uma fonte atrativa de inspiração para resolver problemas computacionais. Do ponto de vista computacional, a evolução consiste de um método de busca pelo melhor organismo (representa a melhor solução) em uma grande população (representa um conjunto grande de possíveis soluções), porém tal método permite a sobrevivência e a reprodução dos organismos em seu meio. Foi baseado nessa inspiração que Holland inventou os Algoritmos Genéticos (AGs). Neste seminário, serão apresentados alguns problemas típicos de busca de solução e bem como os Algoritmos Genéticos.

15:00 - 15:30 -> Coffee Break

15:30 - 17:00

Tema: Óptica Aplicada à Tecnologia

Palestrante: Prof. Dr. José Augusto Oliveira Huguenin
Departamento de Ciências Exatas da Escola de Engenharia Industrial Metalúrgica de Volta Redonda – UFF

Resumo: Um brevíssimo histórico do estudo da luz, passando por pontos essenciais ao seu desenvolvimento e mostrando o estado da arte nos dias de hoje. Nos ateremos mais sistematicamente à aplicações deste ramo da física nos mais variados tipos de tecnologias. O advento do laser na década de 60 permitiu um avanço espantoso de estudos ópticos e suas aplicações. Hoje é possível encontrar tais aplicações em campos inimagináveis a alguns anos atrás, como na medicina, na odontologia nas telecomunicações, na indústria, no entretenimento e, seguramente, na pesquisa científica em geral. Vamos mostrar as atividades de pesquisa que estão sendo desenvolvidas pelo Grupo de Óptica Aplicada da UFF, a montagem do recém criado Laboratório de Óptica Aplicada de VR e alguns resultados de óptica quântica aplicada à criptografia quântica.

17:00 - 17:30 -> Debate sobre os temas apresentados

17:30 -> Encerramento

[]'s do MX...

sexta-feira, 9 de novembro de 2007

Geoblogs Brasil: A blogosfera no mundo real

Sem mais delongas pela completa falta de tempo, vim repassar uma informação interessante:
O Mauro Amaral está fazendo um mapeamento no mundo real dos blogueiros do país em seu blog.
Idéia show, meu marcador já está lá no Maps da blogosfera tupiniquim.

Ao final do perído da faculdade eu volto a postar gente... ou a qualquer momento durante a nossa programação normal.
=P

[]'s do MX...

terça-feira, 16 de outubro de 2007

Um ponto de vista sobre lib's javascript

Olá pobres mortais! Depois de um tempinho em off para repor as energias, afinal... emprego, revista, freela, blog, faculdade e vida social te consomem SÓ UM POUCO!

Vamos ao X (não ao da Xuxa) da questão. Desde que fiz meu curso de javascript peguei uma aversão imensa em relação àquela pobre e oprimida linguagem client-side. O prof. LeoDiass mandava muito bem, mas a apostila elaborada (por aquele que agora é meu chefe! kkk) estava horrível, mas hoje entendo os motivos... Enfim, o tempo foi passando, tive meu primeiro emprego com web em uma agência de publicidade, que foi onde eu tive que manter um contato mais sério e profundo com javascript. Inicialmente suei muito a camisa pra fazer determinadas coisas até relativamente simples, devido à soma da falta de prática com a aversão a ele. Porém, com o tempo fui me familiarizando com a linguagem, surgiu o AJAX, e toda esta novela 2.0 que ronda a web até os dias atuais.

No príncipio de tudo, o javascript saía na mão, nada de extensões no Dreamweaver, IDE's, frameworks ou lib's (bibliotecas).
Eu defendo até isto, pois obriga o desenvolvedor a conhecer a ferramenta que ele tem em mãos, evitando a criação de um profissional "digitador" ou "copiador" de código, ou pior ainda, um "drag-and-dropper"(bem ao estilo Microsoft de ser: desenvolvimento rápido, código pesado e manutenção impossível). Mas logicamente que, com o tempo, o desenvolvedor necessita de uma forma de aumentar sua produtividade, aí sim vale a pena usar um destes recursos, e eu prefiro o uso das bibliotecas somado a uma IDE (como o Aptana, que eu utilizo).

Agora, em meu emprego atual (segundo emprego na área de web), nós desenvolvemos uma libzinha para uso interno, bem padronizada. Mesmo assim, par meus freelas, nunca utilizei nenhuma lib, entretanto após uma leitura na edição 86 da Revista W (para a qual eu escrevo), li uma matéria que me chamou a atenção, sobre jQuery.
Já havia visto algo sobre Prototype e Script.aculo.us (não vou citar seus inúmeros decendentes), bem como dei uma fuçada superficial no Spry, mas não era nada que me animasse a migrar minha maneira de desenvolver pela relação peso x produtividade.
No entanto, a jQuery me chamou a atenção principalmente pela simplicidade com que são implementadas as coisas. Não sei se foi "paixão à primeira vista", sei que olhei, gostei e vou começar a utilizá-la. Caso você já esteja saturado de se estender por linhas e mais linhas de requisições HTTP com o javascript, ou cheio de gastar tempo fazendo n efeitos DHTML que te custam um tempo grande, dê uma olhada no jQuery.

Não precisa ser também só o jQuery, talvez você aí, do lado de lá da tela, se adapte melhor a uma outra lib, mas acredite: agiliza!
Então como "time is money" (como dizia Super Sam), atualize seus conhecimentos e "cai dentro". Não quero fazer "merchan" do jQuery aqui, até porque não estou ganhando NADA com isto, mas quero deixar aí nas ondas da web esta dica para aumento de produtividade com aquilo que talvez consuma mais tempo que até códigos server-side: o javascript (até porque: testa no IE 7, testa no Firefox, teta no IE 6...)
Mas PELO AMOR DE DEUS, só use lib caso você já tenha um conhecimento "bem bom" de javascript. Nenhuma lib ou IDE é melhor que o seu conhecimento e domínio da tecnologia.

[]'s do MX...

quinta-feira, 4 de outubro de 2007

Dores de cabeça com IIS 7 e ASP?

Salve, salve!

Boa noite a todos! O que levaria um indivíduo a fazer um post à 1 da manhã de uma quarta-feira de futebol, ao som de "Ilex Paraguariensis / Alívio imediato"?
Resposta: Uma versão nova de um servidor "tradicional" em mãos e sua árdua caminhada rumo à execução de páginas ASP.

Pois bem, programo em ASP desde 2004, e trabalho com esta linguagem desde 2005. Passei pelo PWS, pelo IIS 5, pelo IIS 6, e me encontro hoje, neste exato momento, "fuçando" no Windows Vista Ultimate, que vem com o IIS 7.
Inicialmente notei que não havia uma configuração inicial para rodar ASP nele, então depois de muito "googlar", encontrei na página da GSArt WebSolutions a solução, ou parte dela.
Pois bem (novamente), sobre o conteúdo deste link, siga-o coretamente e o IIS já estará, a partir daí, executando páginas ASP.
Dica: Crie uma pasta para todos os seus sites fora do famigerado C:\inetpub\wwwroot, preferencialmente em uma pasta de uma partição do HD onde você não tenha que passar por toda aquela burocracia do Vista para salvar automaticamente algo em uma pasta.

Após realizar todo este processo, acesse o IIS (Painel de Controle -> Ferramentas Administrativas -> Gerenciador do Serviço de Informações da Internet (IIS)).
Clique em "Sites da web" na aba lateral esquerda de Conexões. Irá surgir na tela central muito provavelmente as opções "Defaul Web Site" e a opção que você acabou de criar seguindo o passo-a-passo da GSArt. Dê um duplo clique neste site, depois clique duas vezes em "ASP" na terceira fileira da tela central.
  • Se você é como eu, e adora usar o "../", habilite a opção "Habilitar Caminhos Pai", setando-a como True;
  • Expanda a linha "Propriedades de Depuração", e configure como True a opção "Enviar Erros ao Navegador".
"O que aconteceria se eu só seguisse os passos da GSArt?"
O mesmo que aconteceu comigo. Passei os úlimos dois ou três dias batendo cabeça quando surgiam erros no meu código, pois o infeliz só fazia retornar a seguinte mensagem: "An error occurred on the server when processing the URL. Please contact the system administrator".
Fora os dois arquivos de include que havia criado (com o auxílio de leve da minha amiga Wal... obrigado Wal!) para ficar ao final de cada página do site, e o porquíssimo On Error Resume Next figurando em cada primeira linha de página.
Coi$a$ da Micro$oft...

Pronto! Agora você tem o IIS 7 fazendo um serviço no mínimo decente em relação a ASP, e pode fazer seu serviço de garoto de programas com toda a paz e comodidade que só o ambiente Windows propicia... Argh!

Obs.: "Habilitar Caminhos Pai"? Na moral, quem traduz o S.O.? Gente! Custa parar de usar a tradução da Google e pensar um pouco pra escrever? Afinal, todos os desenvolvedores conhecem isto como "Caminho relativo". Um dia ainda vejo um Windows "Versão brasileira Hebert Richards"...


[]'s do MX... e "relax, agora paciência"

sexta-feira, 28 de setembro de 2007

Simplificando o If em ASP com Operador Ternário

Boa tarde povo! Bem, essa função que segue abaixo nasceu de uma idéia "invejosa" minha. Como na faculdade utilizo C e Java, e no trabalho uso e abuso de Javascript, acabei sentindo a falta de, no ASP, existir "aquele" if no estilo:

var==1?true:false;
(cujo nome no cartório é Operador Ternário)

As linguagens que seguem o padrão ECMAScript possuem este recurso, e só vi isto no ASP no tempo em que eu utilizava aquela aba "Application" (que neeeeem polui o código né?), onde existia um "MM_Iif". Daí o nome da função que idealizei: "iif".
Pois bem, está aí a dita cuja:

function iif(comparacao, verdadeiro, falso)
   if(comparacao) Then
      iif = verdadeiro
   else
      iif = falso
   end if
end function


Modo de uso:
comparacao - qualquer comparação que retorne um booleano (true ou false)
verdadeiro - bloco de código a ser executado caso a comparacao retorne true
falso - bloco de código a ser executado caso a comparacao retorne false
Exemplo: <%=iif(acao="","Vazio","Não vazio")%>

Antes que me perguntem "Porque function e não sub?", vou ser sincero: Nem eu sei, comecei com function e desde então nunca mais toquei nisso. Talvez eu mude, talvez não... só o tempo dirá!

Espero ter ajudado, bom fim de semana a todos e...
[]'s do MX...

quinta-feira, 27 de setembro de 2007

Validando uma string como hora válida (agora em ASP!)

Antes de mais nada, o Ministério da Saúde adverte: montar uma função usando uma linguagem que segue o padrão sintático ECMAScript, e depois tentar (leia-se "logo em seguida") adaptá-la para uma linguagem que segue a sintaxe do Basic provoca um nível leve de stress e alguns risos com ar de ódio...
Sigamos com nossa programação normal. Lembram daquela função de ontem? Então, está aí a versão ASP dela! Divirtam-se crianças (e quem sabe eu ainda não desenvolvo uma versão desta função em ColdFusion... é um caso a se pensar...)

function eHora(str)
   bool = true
   if isEmpty(str) then
      eHora = false
   end if
   
   if not isNumeric(Replace(str,":","")) then
      eHora = false
   end if
      
   tmp = Split(str,":")
   if UBound(tmp) <> 2 then
      eHora = false
   end if
   
   For i = 0 to Ubound(tmp)
      if len(tmp(i)) = 1 or len(tmp(i)) = 2 then
         if i = 0 then
            if CInt(tmp(i)) > 23 then
               bool = false
            end if   
         else
            if CInt(tmp(i)) > 59 then
               bool = false
            end if
         end if
      else
         bool = false
      end if
   Next
   eHora = bool
end function

[]'s do MX...

quarta-feira, 26 de setembro de 2007

Validando uma string como hora válida

Conforme prometido, segue aí uma função que retorna um boolean para validar uma string como hora (nos formatos HH:mm:ss ou HH:mm). Esta com certeza parecerá mais interessante que o post anterior em relação a produtividade... ledo engano, ambas são de igual importância! (e se o código não ficar identado corretamente é porque perdi a paciência com o Blogger em ter que ficar reorganizando o que já estava organizado).

function eHora(str){
   bool = true;
   var i;
   
   if(eVazio(str))
      return false;
   
   if(isNaN(replaceAll(str,":","")))
      return false;
      
   tmp = str.split(":");
   if(tmp.length<2>3)
      return false;
      
   for(i=0;i<tmp.length;i++){
      if(tmp[i].length==1 || tmp[i].length==2){
         if(i==0){
            if(eval(tmp[i])>23)
             bool = false;
         }
         else{
            if(eval(tmp[i])>59)
             bool = false;
         }
      }
      else{
         bool = false;
      }
   }   return bool;
}

Obs. 1: A função "replaceAll()" que utilizo nesta função acima foi extaída deste post do ótimo blog do Rogério Lino.
Obs. 2: Se você usa alguma versão do Dreamweaver para montar seus js's, segue um conselho de amigo, utilize o Aptana, Eu uso ele há alguns meses e não pretendo trocar de IDE para javascript tão cedo.

[]'s do MX...

Update #1: Estamos abertos a críticas. Se alguém viu ou fez esta tarefa de maneira mais simples basta compartilhar conosco! xD
Update #2: Antes que seja tarde... a função "eVazio()" usada acima está no post anterior a este.

Verificando se a string está vazia

"Bem amigos" estamos de volta, e antes que pensem o seguinte sobre este post:
  • "Ah, fala sério, isso é moleza!"
  • "Pra quê usar isso se eu posso só comparar se ele é vazio."
Acreditem seres, eu já pensei isso, e hoje em dia só tenho uma resposta para estas perguntar: PRODUTIVIDADE!

Quando você cria uma funçãozinha, por mais "besta" que seja, você adapta seu código a algo mais próximo do seu entendimento, tornando-o "personalitée".Quanto mais afinidade existir entre você e seu código (está até parecendo um namoro ou casamento não é?), mais produtivo você será.Enfim, postarei algumas funções que provém de tarefas simples, mas com estas funções já prontas sua produtividade tende a crescer.

A função de hoje é para verificar se uma string é vazia. Mais tarde postarei outra função que pareça (aos olhos dos que se oponham a este post) mais útil.

function eVazio(str){
   return str == "";
}

[]'s do MX...

segunda-feira, 24 de setembro de 2007

In memoriam

Eu estava devendo um post citando o excelente artigo do Okano na WebInsider - "Padaria Digital"...
Mas enfim, chegou a hora, leiam (principalmente você que está fazendo um curso da área de web e sonha entrar em uma média/grande empresa do ramo, seja ela do interior ou da capital):
WebInsider - Uma análise do excesso de trabalho nas agências de internet

E pra quem pensa que não é bem assim, acredite... já passei por isso!
Dedicado a meus "amigos-bozo" (deixo bem claro que eles é que se entitulam assim) que ainda sofrem com isso...

[]'s do MX (e ótima semana)

quinta-feira, 20 de setembro de 2007

Verificando se um objeto existe via Javascript

Bem, "pra não dizer que não falei das flores", deixo abaixo um código que vira e mexe tem alguém me perguntando...
Ele retorna um boolean dizendo se o objeto existe ou não na página. Coisa boba, eu sei, mas dá uma adiantada no desenvolvimento e muita gente não tem noção de que a coisa é simples assim.

function objExiste(obj){
   return (document.getElementById(obj)!=null)
}

Obs.: O Parâmetro obj deverá ser uma string ok?
Quaisquer problemas, me avisem xD

[]'s do MX

quarta-feira, 19 de setembro de 2007

Na falta de um browser decente...

Certas coisas acontecem sem explicação nesse "infomundo" sabe... Se você tem o Microsoft SQL Server 2005 Express Edition instalado em sua máquina e seu teclado tem o botão de acesso rápido ao browser padrão (geralmente marcado por um "WWW" ou, erroneamente, por um logo do IE[ca] ), faça o seguinte:
  • Abra o Microsoft SQL Server Management Studio Express (minha versão é a 9.00.3042.00);
  • Pressione o botão de acesso rápido ao browser em seu teclado;
  • e...















"Tem coisas que só a Micro$oft faz por você..."

Update #1: Segundo meu colega João Felipe (Jotaefe), só funciona quando o browser padrão é o IE[ca]. O dele é o "Mozicca", e não aconteceu o que era previsto... enfim... coisas específicas da Micro$oft...
Update #2:
[]'s do MX...

terça-feira, 31 de julho de 2007

Você tem visto disquetes por aí?

Bem, antes que imaginem que eu levei anos, meses, ou dias (que seja!) pesquisando para poder discorrer sucintamente sobre o assunto, queria dizer que o texto que vem logo abaixo saiu naturalmente, pois gosto de apostar que minha prática e envolvimento com informática e computação desde os 9 anos de idade (leia-se 1994, quando a Seleção Canarinho ainda tinha 3 estrelas no peito) pode trazer algum resultado útil para mim.
Alguém aí se lembra dos famigerados disquetes?
Não estou nem citando os de 5¼” — os quais cheguei a ter contato quando comecei a fuçar num MSX —, mas sim dos de 3½”, com os quais convivi acredito que por mais de 6 anos.

A coisa no “passado” era tão diferente do que é hoje em dia que 1.44Mb pareciam caber uma eternidade de coisas, mas o tempo foi passando e as proporções acabaram ficando ultrapassadas. Sem contar a “segurança” que se tinha naquele dispositivo de armazenamento, afinal, quem nunca chegou à escola com o trabalho gravado em disquete e... puft! O disquete nem conseguia ser lido pelo driver.
Anos se passaram, o disquete começou a disputar espaço com os CD’s, avançando mais um pouco a disputa passou a ser com DVD’s, e hoje em dia, praticamente uma peça em extinção, foi apagado por algozes como o pendrive e os discos virtuais.
Não pretendo com isso focar na “vida e obra dos disquetes”, mas sim em como esse mundo tecnológico evolui a passos absurdos.

Na natureza, certos animais levam décadas ou até séculos para serem extintos por qualquer que seja o motivo, porém, se você tem no mínimo 3 anos de envolvimento com informática, já notou que algo desapareceu subitamente.
Os reflexos desta tecnologia não surgem somente no mundo físico, mas também no virtual, só que a passos mais lentos. Não querendo ser profético, mas já o sendo, com um pouco mais de experiência por parte dos usuários, veremos o sumiço dos famosos Bookmarks/Favoritos pelo excelente serviço do Delicious; as enciclopédias também podem começar a se preocupar, pois com um pouco de trabalho mais confiável, os wikis (em especial a Wikipedia) podem desbancar a existência delas.
Um pouco mais longínquo, mas não muito distante acredito seriamente que Gerenciadores de E-mail como Outlook/ThunderBird poderão ter seus dias contados, pois os sistemas de e-mail estão ficando cada vez mais robustos, usando e abusando do bom e velho javascript.

E por falar nele, este sim, sobreviveu de maneira heróica, pois eu mesmo, quando fiz meu curso de Javascript, fiz sob um ponto de vista turvo do uso do mesmo, que era focado em validações de formulários, e “enfeites” muito do cafona nas páginas.
O javascript se tornou a fênix do mundo web, renasceu das cinzas e atualmente é requisito para inúmeras vagas de emprego para desenvolvimento web Brasil afora.

Seguindo com a lista de profecias, nunca vi os agregadores RSS versão desktop serem muito utilizados, e creio mesmo que nunca serão, pois o Google Reader e site como NetVibes (uso e indico) fazem o serviço de forma genial e intuitiva.
E tudo isto surgiu de onde?
IDÉIAS! São simples, elas que movem o mundo, parafraseando Nando Reis: “Quando entender que o mundo é feito de idéias”.

Então, antes de imaginar que você deseja ganhar dinheiro na web prestando o serviço x ou y, tenha idéias. Navegue, leia, pesquise, pois uma idéia brilhante vale mais que mil desenvolvimentos árduos, e te trará retorno financeiro e sucesso de forma mais ágil e duradoura. Para ter uma idéia sobre uma nova sensação da web simplesmente pare e reflita:
“Do que eu sinto falta hoje em dia na web?”.
Depois que tiver respondido esta, pense agora
“Esta funcionalidade será útil para qual nicho de usuários?”.
Com certeza se você conseguir matar estas charadas, terá grandes possibilidades de lançar um serviço que vire sensação. Invista, por mais que pareça que aquilo nunca terá retorno, invista sem medo, pois só assim seu serviço poderá se destacar para aí sim alçar vôos mais altos.

Quer se basear em algo? Fique de olho nestas duas idéias sensacionais: Yahoo! Pipes e OpenID.
Num futuro bem próximo você verá ouvir falar mais neles.

[]'s do MX...

quarta-feira, 23 de maio de 2007

Iniciando. Vai um clichêzinho aí?

init(){

É... mais conteúdo (ainda) na rede... e pior: Agora a rede terá mais parênteses e reticências, porque não nego, uso viciosamente ambos... (viu???)

Bem, primeiramente aos que não me conhecem... Oi! =D
Me envolvi com informática cedo, nas minhas recordações mais antigas relativas ao meu contato com informática me remetem aos meus 9 anos de idade (algo em torno de 1993/1994). Meu tio mechia com montagem de máquinas (ah, velhos tempos, naquela época eu adorava o MSX, se não me engano, processador Z80, que anos mais tarde me atormentaria, para ser mais exato, na faculdade, mas isso é papo para mais pra frente)...
Me lembro até hoje que eu era um muleque magrelo, branquelo (tá bom, ainda sou...) e aos 11 anos eu adorava ficar desenhando imagens via BASIC.
Ainda guardo em casa algumas edições da revista "INPUT", que trazia códigos para várias coisas: gráficos, jogos, etc...

Depois que cresci não desgrudei do mundo da informática... bem que tentei, mas não deu... pensei seriamente em prestar vestibular para Química em Lorena/SP (cidade relativamente próxima à minha, Barra Mansa/RJ). Entretanto o destino nem quis que fosse assim.

Desde meu primeiro emprego, aos 17 anos, fiquei preso a este "infomundo". Comecei como instrutor de cursos de informática, e assim fui até agosto de 2005. Nesse tempo, eu concluí meu Ensino Médio (2º Grau é coisa do passado, não??), bem como meu curso técnico em Informática no Colégio Batista, Volta Redonda.Acho que esta coisa de programar estava no sangue.
Quando comecei a mecher com Delphi no curso técnico, eu ficava parecendo uma criança com seu primeiro carrinho (apesar de já ter "fuçado" em BASIC, mas naquela idade e naquela época um garoto do interior não tinha uma mente pronta pra sair programando de verdade...).

A internet estava explodindo no país naquela época, e então me meti a fazer em 2004 e 2005 cursos de web Design e Web Master (pós-estouro, quando a web não estava mais tão quente assim).Não tenho o que reclamar dos benefícios que minha curta vida de "designer" amador me trouxe. Afinal, foi por eu ter me embrenhado no mato do design digital que eu ganhei o nick que uso até hoje (Felipe MX... nem precisa dizer de onde vem o "MX", certo???).
Minha diversão era fazer montagens com fotos... e viva o Photoshop e seus Santos Filtros! Acabei fazendo contatos pela net a fora que mais tarde acabaram se consolidando como amizades em pontos diversos do país: Campinas, Santos, São Paulo, Bauru, Rio das Ostras, Nova Iguaçu, Miguel Pereira, Palmas, Natal, São Luís, e por aí vai...

Mas o bom filho, à casa torna. E não deu outra, foi começar a programar para web que eu fui diminuindo o ritmo com as montagens até chegar a média de 1 a cada 6 meses (e diminuindo...). Comecei na web com ASP, e, acredito que (como quase todo mundo) odiando Javascript. Graças a este curso consegui meu primeiro emprego na área de programação na AM4, local ao qual devo muito em relação ao meu amadurecimento profissional e em relação ao crescimento dos meus conhecimentos tanto técnicos quanto de mercado.

Sempre fui muito curioso, e no tempo que em trabalhei com programação para web lá, pesquisei muitas alternativas de linguagens a serem usadas, foi quando aprendi num acesso de senso "auto-didata" o ColdFusion, que defendo com unhas e dentes até hoje (apesar de continuar a trabalhar com ASP... coisas da vida, vai entender né?)

Graças ao ColdFusion, consegui um espaço interessante no cenário nacional, já que escrevo para o iMasters e para a Revista W (Tiago e Robinson! Não briguem comigo, tá certo que tem meses que eu não escrevo, mas podem ter certeza, é total falta de tempo pela faculdade, mas assim que beirar um tempinho eu redijo novamente matérias para todos vocês). Hoje em dia atuo (ainda com ASP) na AnicetoWeb, com o cara que me deu o empurrão inicial para que eu entrasse no mundo da web (Gleyson "Manjado"), em Volta Redonda, estou no 3º Período da faculdade de Ciência da Computação.
Se você freqüenta eventos como EWD, Encontro Locaweb (no Rio de Janeiro), ou InterCon, muito provavelmente você corre o risco de esbarrar comigo por aí...


Planos para o futuro? (Não necessariamente nesta ordem)
Bem... primeiro comprar o notebook que eu quero, depois o celular que eu quero, dar palestras, e comprar um carro pra mim (meu pai não merece que eu continue a usar o carro DELE mais que ELE).

Depois... concluir minha faculdade, tentar Mestrado em IA no ITA, e quem sabe mais pra frente o Doutorado... não é nem por questão financeira... é por realização pessoal mesmo... quem sabe "Dr. Felipe MX"??? =P

E pra finalizar ("por hoje é só pessoal"):

Por que criar um blog?

Bem, eu precisava de um cantinho pra meus pensamentos, minhas descobertas, minhas dúvidas, para discutir, debater... então não espere que aqui só passem coisas de ponta ou soluções para todos seus problemas de programação... também deixarei dúvidas minhas aqui para ver se alguem dá sinal de vida pra dar um help.
Além de alguns posts pessoais... outros para descontrair... enfim, vai ser uma baderna... um Brasil...

}//[ ]'s do MX