Assine:
RSS do Blog...

Obscenidade culinária…

Com certeza não tem adjetivo melhor para classificar esse vídeo produzido pelo restaurante Alinea, de Chicago, Estados Unidos.

Usando o Red Hat Enterprise Linux ou CentOS, como eu posso saber o tamanho de um diretório?

Os dois comandos a seguir são úteis:

du -h | grep -v '/' | awk '{print $1}'
du -h | tail -n 1 

A Idealware publicou um relatório de 60 páginas onde compara 4 sistemas de gerência de conteúdo opensource: Joomla, Plone, Drupal e WordPress.

Entre os itens avaliados estão:

  • facilidade de hospedagem e instalação;
  • facilidade de configuração para um site simples;
  • curva de aprendizado para construção de um site mais complexo;
  • facilidade de administração;
  • flexibilidade gráfica e estrutural;
  • roles e workflow;
  • funcionalidades de web 2.0 e criação de comunidades no software;
  • extensão e integração com outras ferramentas;
  • escalabilidade e segurança;
  • manutação e força da comunidade/suporte.

Download do documento:

Olá pessoal, hoje iremos mostrar como fazer um sistema de publicação de banners em popups utilizando o WordPress, mas sem o uso de plugins.

É sei que muita gente odeia popup, e eu sou uma dessas pessoas, porém ao trabalhar para clientes que exigem a utilização desse recurso, torna-se necessário implementar no site.

Antigamente era comum a utilização da técnica de abrir uma janela via Javascript, porém os browsers já a algum tempo possuem mecanismos para bloquear esse tipo de publicidade.

O que se tem usado muito é a utilização de DIV´s, muito comum em sites de comércio eletrônico (aquelas janelinhas com propaganda, que obriga você clicar no fechar).

Vamos ao passo-a-passo, utilizando o WordPress:

1. Crie uma categoria no seu wp-admin, com o nome de popup.

2. Insira um post que será seu popup, faça a inserção da sua imagem normalmente no post, e crie dois campos personalizados logo abaixo do editor, com os nomes de Largura e Altura, e coloque o tamanho em pixel do seu popup.

3. Na sua header.php, você irá acrescentar um javascript, que irá fazer o popup ser fechado.

<script>
function MM_showHideLayers() { //v9.0
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i&amp;amp;amp;amp;lt;(args.length-2); i+=3)
with (document) if (getElementById &amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp; ((obj=getElementById(args[i]))!=null)) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
obj.visibility=v; }
}
</script>

4. Em sua home.php ou na sua index.php (depende de seu tema), você irá criar o seguinte trecho de código, logo no início, após o get_header():

< ?
	$popup=new WP_Query();
	$popup->query('showposts=1&cat=5');
	while($popup->have_posts()):$popup->the_post();
?>
<style>
#destaque {
	width:< ? echo get_post_meta($post->ID, "largura", true); ?>px;
	height:< ? echo get_post_meta($post->ID, "altura", true); ?>px;
        position: absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
}
#dtopo {
	border-bottom: #666666 solid 1px;
	height:32px;
	background: url(< ?php bloginfo('template_url'); ?>/images/closelabel.gif) no-repeat right;
}
</style>
<!-- ************************** POPUP DESTAQUE ************************** -->
<div id="destaque" style="visibility: visible;">

<!-- Botao Fechar | Inicio -->
<div id="dtopo" title="Fechar esse janela" style="cursor:pointer" onclick="MM_showHideLayers('destaque','','hide')">&nbsp;</div>
<!-- Botao Fechar | FIM -->

<!-- CONTEUDO -->
<div onclick="MM_showHideLayers('destaque','','hide')" title="Fechar esse janela" style="cursor:pointer"></div>
< ?php the_content()?>

<!-- CONTEUDO | FIM -->
</div>
< ?php endwhile;?>
<!-- POPUP DESTAQUE | FIM -->

Explicando: no inicío deste código, criamos um laço do WordPress onde irá mostrar sempre o ultimo post da categoria popup (id=5).

No CSS, criamos uma DIV e configuramos que a sua largura e altura serão os informados no post, nos campos personalizados.

A classe dtopo, é a apenas para colocar um botão de fechar. Os demais são auto-explicativos.

6. Com isso, o laço irá exibir sempre o post publicado, caso não queira mais o popup, basta ir no wp-admin e despublicar o post, simples assim.

===================================================
Howto: Redirecionando permanentemente um site para um novo domínio
===================================================

Vejamos o problema:

Eu tinha um site hospedado em um domínio X e o cliente me pediu para alterar o domínio para Y.  Sem dúvida essa é uma idéia estúpida, ainda mais quando o site já esta a um bom tempo com o nome de domínio X, pois alterar o endereço de um site sem pensar em todos os usuários que possuem páginas do mesmo em seus favoritos é algo que não deve ocorrer, pois significa perder todos estes antigos usuários.

É possível resolver parcialmente isso realizando um redirecionamento de site, utilizando para isso o status HTTP 301, para identificar que o site mudou permanentemente. Há muitas formas de fazer isso, mas porque não utilizar o Htaccess do Apache, pois a a maioria dos serviços de hospedagem suportam tão configuração. Em primeiro lugar eu tentei isso:

RewriteEngine On
RewriteBase /
Redirect 301 / http://novodominio.com.br/

Dessa forma, todas as solicitações para a raiz do antigo domínio serão redirecionadas para a raiz do novo domínio.

Mas ainda temos um problema, ao se tentar acessar algum caminho dentro do domínio antigo ( http://dominioantigo.com.br/caminhoxyz/), muito comum quando se chega ao site através de um buscador, o que aconteceria? Seria exibido um erro 404 (not found), porque o caminho não existe mais.

O que queremos é que se usuário acessar http://dominioantigo.com.br/caminhoxyz/ ele seja redirecionado para http://novodominio.com.br/caminhoxyz/.

Veja como é fácil, basta alterar o Htaccess, assim:

RewriteEngine On
RewriteBase /
RedirectMatch 301 (.*)$ http://dominionovo.com.br$1

Com isso em mente e um pouco de conhecimento de .httacces, é possível fazer coisas bem legals, como por exemplo:

RewriteEngine On

# Regra para os dias da semana.
# Se o dia atual for maior que 0 (domingo) E menor que 6 (sábado)
RewriteCond %{TIME_WDAY} >0
RewriteCond %{TIME_WDAY} &lt;6

# Verificamos o horário do servidor.
# Se for menor que 8h OU maior que 18h
RewriteCond %{TIME_HOUR}%{TIME_MIN} &lt;0800 [OR]
RewriteCond %{TIME_HOUR}%{TIME_MIN} >1800

# Enviamos a requisição para um outro domínio
RewriteBase /
RedirectMatch 301 (.*)$ http://dominoxyz.com.br$1

# Ou então redireciona para um arquivo no mesmo servidor:
# RewriteRule .* opz.php

# Regra para o sábado.
# Se o dia atual for 6 (sábado)
RewriteCond %{TIME_WDAY} =6

# Verificamos o horário do servidor
# Se for menor que 8h OU maior que 12h
RewriteCond %{TIME_HOUR}%{TIME_MIN} &lt;0800 [OR]
RewriteCond %{TIME_HOUR}%{TIME_MIN} >1200

# Enviamos a requisição para o outro domínio
RewriteBase /
RedirectMatch 301 (.*)$ http://dominionovo.com.br$1

# Ou então redirecionamos para um outro arquivo no mesmo servidor:
# RewriteRule .* opz.php

Palestra em Porto Velho

Olá pessoal, no próximo dia 12/08 – quinta-feira, estarei em Porto Velho participando do Circuito de Palestra da UNIRON, onde bateremos um papo sobre Web Marketing, Redes Sociais e E-commerce.

Quem estiver por lá, apareça, deve rolar até um chope depois, afinal uma faculdade dentro do shopping é tudo de bom (para os alunos, é claro).

Site oficial: http://www.circuitodepalestras.com.br/

Em um dos grupos que participo, um dos membros disparou esta mensagem:

“Ae pessoal,
Meu tio tem uma pequena construtora e precisa de alguém para fazer um software para gestão dela.
Ele encaminhou o documento explicando o que precisa e tem boa noção de sistema, precisa de alguém mais para fazer a parte de programação, talvez até um já pronto possa ser adaptado… Ele tem certa urgência nesse trabalho…”

E anexou um este documento, com requisitos…. vejam que é uma coisinha simples… e claro, o contratante vai querer “aquele preço especial”….

Depois de ler esse requisitos, me lembrei dessa tirinha do Dilbert:

:)

Rastreio

Se você faz compras pela internet, tanto nacional como internacional, com certeza deve utilizar o serviço de rastreio de encomendas dos correios, porém indico dois sites que ajudam a monitorar seus pacotes transportados pelos Correios de forma bem mais completa, com notificação por email, feed RSS, twitter…. mostra até o caminho que seu pacote esta percorrendo utilizando o google maps, simplesmente perfeito.

  1. http://www.encontreseupacote.com.br
  2. http://www.muambator.com.br/

Sintoma de estresse

Há, quem nunca passou por isso heim…

Tem até uma variação…

Você conhece o Rollback em Bancos transacionais? É uma mão na roda, quando se precisa recuperar algo que você fez e se arrependeu, como alteração dem vários campos com valores errados, ou até mesmo excluiu um ou mais registros e deu COMMIT. Sim, você pode recuperar os dados…

É uma tarefa muito simples, basta fazer um select normalmente na  tabela,  com os campos e condições que você quer e, no FROM, após o nome da tabela, colocar “as of timestamp systimestamp – interval ‘X’ minute“, onde esse “X” é o tempo que passou desde a a besteira que  fez até agora.

Veja a seguinte situação hipotética:

Imagine que se tenha uma tabela CLIENTE e você atualiza os clientes que não fazem compras há mais de 1 mês para Inativos. Você faz isso com um update,  atualizando o campo STATUS_CLIENTE para “I”, de inativo,  depois de fazer um select que retorna os  clientes que não compraram no último mês.

Após a execução do update (COMMIT), alguns clientes estavam com o STATUS “A” de Ativo, “D” de Devedor, “V” de VIP. Passa 30 minutos seu chefe entra na sala, e lhe fala que esse update não pode ser feito em clientes VIP, e agora? Faz assim:

select ID_CLIENTE
from CLIENTE
as of timestamp systimestamp - interval '30' minute
where STATUS_CLIENTE = 'V';

PRONTO! Peguei todo mundo que tava com o campo STATUS_CLIENTE = ‘V’ 30 minutos atrás. Com os IDs, é possível fazer um novo  update, passando esse pessoal que  está com o STATUS = ‘I’, pra ‘V’.

Via: Estação ZEN