quarta-feira, 28 de fevereiro de 2007

Convertendo imagens para duas cores

Outro efeito interessante e bastante simples de se usar... Em uma imagem só. Prometo não fazer isto muitas vezes! Hehehe

Clique no thumbnail para visualizar...


Efeito papel amassado

Um post pra ajudar a algumas pessoas da minha comunidade no orkut, que estavam tendo problemas para conseguir o efeito. Procurei ser o mais simples e direto possível na postagem, se não consegui, por favor, postem suas dúvidas nos comentários.

Existem outras coisas por vir ainda com essa imagem, como tornar as bordas mais realistas, e aplicação de texturas. Mas isso fica pra um post futuro, mesmo porque a idéia é ensinar a pescar, não dar o peixe.

Clique na imagem para acessar o tutorial.

Amazônia para sempre

Copiado inteiramente do blog da Fia da Mãe. Já que a causa é nobre... Creio que não tenha problema quanto a isto.

Se você também deseja uma 'Amazônia para Sempre', subscreva esse manifesto.

Ao obter o número de assinaturas necessário, ele será encaminhado ao Presidente da República para que sejam tomadas as providências necessárias para resolver este que é um sério problema brasileiro e mundial: A devastação da Amazônia. Sua participação é muito importante!

Veja isso: 17 mil quilômetros quadrados de floresta devastados. E esse foi o MENOR índice dos últimos 3 anos.

Corresponde a metade da Holanda. Da área total já desmatamos 16%, o equivalente a duas vezes a Alemanha e três Estados de São Paulo.

Existe motivo pra comemorações???

O único procedimento cabível para desacelerar os efeitos quase irreversíveis da devastação, segundo o que determina o § 4º, do Artigo 225 da Constituição Federal, onde se lê:

"A Floresta Amazônica é patrimônio nacional, e sua utilização se faz na forma da lei, dentro de condições que assegurem a preservação do meio ambiente, inclusive quanto ao uso dos recursos naturais"

Assim, deve-se implementar em níveis Federal, Estadual e Municipal A INTERRUPÇÃO IMEDIATA DO DESMATAMENTO DA FLORESTA AMAZÔNICA. JÁ!

É hora de enxergarmos nossas árvores como monumentos de nossa cultura e história.

Se você concorda com isso, assine aqui: www.amazoniaparasempre.com.br

Se encontrar o site congestionado, tente mais tarde.

Se preferir, envie um e-mail com seus dados (Nome, CPF ou RG, atividade, cidade, estado e comentários) para assine@amazoniaparasempre.com.br.

Vamos fazer a nossa parte.

;)

Um software grátis por dia

No site Giveaway of the day, você tem acesso a um software comercial de forma gratuita, por dia. Os softwares geralmente se resumem a utilitários para tarefas bem específicas, como tratamento de áudio ou recursos do sistema, mas mesmo assim é uma fonte interessante e uma entrada necessária no seu leitor de feeds, afinal nunca se sabe quando é que aquele programinha que você sempre quis poderá aparecer por lá (ou pelo menos algo que o valha).

O único porém, como diz o nome do site, é que os aplicativos são gratuitos somente no dia de sua publicação. Ou seja, você tem apenas um dia para fazer o download e instalar/ativar o software (tarefa esta que é feita online, com um pequeno utilitário que acompanha qualquer download de aplicativos do site).



E para os amantes de jogos temos também o Game Giveaway of the Day, um subdomínio do mesmo site acima, só que dedicado a jogos, cuja distribuição funciona da mesma forma. Só não espere muito dos jogos que aparecem por lá... Mas vez ou outra aparece alguma coisa legal.

terça-feira, 27 de fevereiro de 2007

Posicionando elementos no meio da página via CSS

Esta é uma dúvida recorrente entre todas as pessoas que estão começando a usar CSS para montar o layout de sites. Além disso o comportamento para alinhamentos não funciona de forma homogênea, tendo em vista que o Internet Explorer (sempre ele) trata as bordas de maneira diferente do mundo... Por isso vamos a uma solução global.

Suponhamos que o código entre as suas tags BODY seja assim:

<body>
<div id="div_geral">
Aqui vai o resto do site
</div>
</body>

O seu trecho de CSS deve ser da seguinte forma, para alinhar em todos os browsers:

body {
text-align: center;
}

#div_geral {
text-align: left;
margin: 0 auto;
}


O atributo text-align no marcador BODY diz para o IE alinhar todo conteúdo pelo centro da página. Em qualquer outro browser que não o IE, este comando afeta somente elementos visíveis como texto, o que é o certo. Por isso, quando definimos as propriedades da ID de div #div_geral, dizemos primeiramente para resetar o alinhamento à esquerda, e em seguida vemos o atributo margin com valor 0 (zero) auto. Mas o que isso significa?

Bem, o atributo margin pode ter até quatro propriedades:

margin: 10px 20px 10px 20px;

Estas propriedades se referem respectivamente às margens superior, direita, inferior e esquerda do elemento. Se for trabalhada em pares, ou seja, fornecendo apenas duas propriedades, ela trata o topo com o valor da primeira propriedade e o espaçamento à esquerda e à direita com o valor da segunda propriedade. Note que, neste exemplo, a segunda propriedade tem o valor auto. Isto significa que o browser pega todo o espaço em volta do elemento e divide-o igualmente entre as margens esquerda e direita do elemento, resultando desta forma no desejado alinhamento centralizado.

Na verdade, parece complicado, mas com o tempo você verá que é bem simples. E espero assim estar acabando com a sua desculpa para ainda usar tabelas para montar estruturas de layout...

Abraços e até a próxima.

Culinária: Molho Dijon

No almoço de final de ano de 2006 da empresa em que trabalho, fomos todos a um restaurante que atende por reservas chamado Gazebo, especializado em comida francesa. Meu prato principal no dia foi filé mignon ao molho Dijon com batata reconstituída, particularmente fiquei fascinado pelo sabor deste molho, mesmo sendo à base de mostarda e eu não sendo muito fã do sabor da mesma. Pesquisando Internet afora achei algumas receitas do molho, e então comecei a experimentar, como todo chef de final de semana que se preze ;). A combinação que mais me agradou, segue para vocês, abaixo:

Antes de mais nada, escolha uma carne macia, de preferência bovina, ou mesmo lombo suíno. Use-a em bifes baixos e bem macios.

Tempere os bifes (uns 16 de tamanho médio) com sal e pimenta a gosto. Depois passe em farinha de trigo, sacudindo pra tirar o excesso. Frite em uma frigideira um tanto quanto funda, com três colheres de manteiga. Após, retire-os e use a mesma panela para fazer o molho:
  • 2 cebolas processadas;
  • 1/2 xícara de chá de vinho branco seco;
  • 1 tablete de caldo de carne dissolvido em 1 xícara de água;
  • 1/2 caixinha de creme de leite;
  • 2 colheres de sopa de molhe de mostarda;
  • 1 colher de sopa de mostarda em grãos;
  • 2 colheres de sobremesa de salsa picada;
  • 2 colheres de sobremesa de cebolinha picada;
  • 2 colheres de sobremesa de alecrim;
Depois de fritar os bifes, coloque as cebolas processadas para fritar até murcharem. Acrescente então o vinho, deixe reduzir por 5 minutos. Acrescente o caldo de carne e deixe ferver por 5 a 10 minutos, ou até reduzir à metade.

Acrescente o creme de leite, baixe o fogo e mexa sem parar. Depois de bem misturado, inclua as mostardas, misture bem e por último inclua todas as ervas. Mais 3 minutos em fogo e está pronto. É só servir a carne aquecida com molho por cima. De acompanhamento batata assada com alho, azeite e alecrim.

segunda-feira, 26 de fevereiro de 2007

Comentários condicionais

Durante muito tempo eu segui a técnica de construir layouts usando tabelas. No novo site que estou construindo, decidi me arriscar a tentar de uma vez por toda entrar nos padrões W3C tanto de sintática quanto de semântica. Usando o IE 7 e o Firefox 2, o site ficou muito bom, mas no IEca versão 6, ficou com alguns erros no layout. Enfim, pensei: qual o melhor meio de resolver esse impasse?

A primeira coisa que me veio à cabeça foi o seguinte: meu site foi validado nas ferramentas da W3, tanto o xhtml transicional quanto o CSS. Perder ou não meu tempo com hacks?

O Bruno Torres disse em seu blog que Fazer sites que não funcionam no IE é burrice. De fato, essa é a solução que de cara me vem à mente, mas nem de longe é a ideal.

A segunda coisa em que pensei foram os famigerados Hacks de CSS. Mas então pensei: é melhor ter meu site funcionando no IE ou validado no W3C? Preferi a segunda opção.

Até conhecer os comentários condicionais.

É fantástica a possibilidade, um código que é interpretado somente no IE, resolve o meu problema. De fato, seguir os padrões já é difícil, ainda mais com a pedra no sapato (leia-se Internet Explorer) seguindo seu próprio caminho como dono do mundo.

Se você trabalha com web, é obrigatório o conhecimento desta técnica, vá por mim. Ela vai poupar muitas dores de cabeça na hora de validar seu código (se é que isso tem importância para você... Se não tiver, é melhor passar a ter! )

Como sempre o vilão da história acaba sendo o IE e sua mania de ir contra a correnteza...

Mas se Deus quiser isso muda em breve. Me ouça, me ouça…

O tempo em termos computacionais

Com certeza, você já ouviu essa expressão, “acesso instantâneo”. O que ela passa a você? Qual a idéia?

Instantâneo não significa “ao mesmo tempo”. Ocupa um lugar no espaço. E como tal, tem sua importância em termos de programação. Uma briga constante de todo programador com o seu código consiste em deixá-lo com uma performance superior (Lê-se nas entrelinhas “deixá-lo rápido”) e isso implica no tempo desse software.

Trabalho em uma empresa de desenvolvimento de software em que as pessoas prezam o tempo de resposta das suas aplicações, de modo a consumir menos recursos de hardware (que quase todo o tempo executam no mainframe de forma concorrente). Temos críticas duras a respeito, vindas de outras áreas, quando passamos dois ou três dias depurando um código para torná-lo rápido e funcional. Mesmo que isso signifique um segundo a menos no processamento. As pessoas têm a tendência de ocupar todos os recursos de seu sistema, sem se preocupar com a concorrência de processos.

Não caia nesse erro.

Pense mais no tempo, pense mais no seu usuário.

E tenha dó do seu processador!

Sobreposição/Encaixe de Imagens

Um recurso muito útil e usado. O meu tutorial é simples, mas através dele você consegue o conhecimento para aplicar em outras áreas.

Clique aqui para acessá-lo.

ColdFusion e as datas

Você faz uma consulta ao banco de dados para alimentar um formulário de fornecedores. Inclui uma variável hidden para guardar a data atual (afinal, ela será o controle de fornecedores). Formata a data para dd/mm/yyyy… E depois descobre que o ColdFusion processa como mm/dd/yyyy. Já arrancou seus cabelos? Chingou, pesquisou, chorou, e nada adiantou? Então vamos à solução.

É comum para quem está começando na programação em CFML tratar objetos data como objetos número (ou seja, criando um sem aspas). O que é importante, nesse caso, não é só atribuir à variável o valor de data, mas sim dizer implicitamente que ela é uma data. Para isto, você pode usar o seguinte código:

1. <cfparam name="”data”" default="#now()#">
2. <cfset data="#LSDateFormat(data,”dd/mm/yyyy”)#">
3. <cfset dia =" listGetAt(data,1,”/”)">
4. <cfset mes =" listGetAt(data,2,”/”)">
5. <cfset ano =" listGetAt(data,3,”/”)">
6. <cfset data =" createdatetime(ano,mes,dia,0,0,0)">

O que esse código faz? Bem, a linha 1 inicializa a variável “data” - caso não exista - com o valor da data de hoje (retornado pela função now() ). A linha 2 transforma essa data para o formato dia/mês/ano. As linhas 3, 4 e 5 partem cada valor da data em uma variável, ficando assim o dia na variável dia, mês na variável mes e ano na variável ano (me senti meio idiota detalhando isso :p).

E finalmente, a linha 6 junta tudo de novo, só que em um objeto data, que você pode usar onde precisar.

Até mesmo no <input type=”Hidden” name=”data” value=#data#>

Pronto, adeus problemas com funções de controle de data (como a famigerada DateAdd() ).

Espero que isso seja útil para você, assim como foi para mim!

Abraços.

Casa nova...

Bem pessoal, esse é meu novo blog, que estou hospedando no Blogger. O sistema deles ainda não me é completamente claro apesar de ser bem intuitivo, mas mesmo assim a lerdeza do Wordpress vem me deixando irado. Enfim, aqui serão feitas as minhas novas postagens de tutoriais e tudo o mais que vocês viam no blog antigo.

Aguardem novidades!