quinta-feira, 28 de abril de 2011

Dica: Travessuras javascript com páginas web

Usar javascript com páginas web já é um assunto bastante antigo. Scripts como Greasemonkey e userscripts são comuns hoje em dia. No entanto, a idéia é mostrar um script que pode ser realmente útil, ao contrário de tantos outros disponíveis na internet.

Claro que o pessoal do HTML5 Demos dá um uso mais avançado, usando LocalStorage para persistir as mudanças, mas aki a idéia é mais simples.

A idéia é usar uma simples linha javascript que permite que o conteúdo da página possa ser editado localmente, usando comandos simples como copiar e colar entre páginas (ou mesmo aplicativos) e apagar e editar texto. O script é mínimo e você pode conferir abaixo:

javascript:void(document.body.contentEditable=(document.body.contentEditable!='true'))

Esse script deve ser executado na barra de endereços, depois que o site está devidamente carregado.

Esse código deriva de um outro, mais conhecido na internet, que somente habilita o modo de edição, também alterando flags no navegador:

javascript:document.body.contentEditable='true'; document.designMode='on'; void 0

A grande diferença entre usar designMode ou contentEditable é que o primeiro permite a alteração de qualquer elemento da página, enquanto o contentEditable pode ser usado para "editar" containers específicos.

O que esse código faz é habilitar e desabilitar a opção de edição do código fonte da página localmente. Recurso bem interessante para você que quer discutir um layout com algum cliente e fazer algumas alterações simples. Definitivamente uma mão na roda para demonstrações!

Claro que isso pode ser feito com recursos como o Firebug no Firefox ou com a opção "Inspecionar Elemento" do Chrome. Mas aki a idéia é tornar as coisas simples, WYSIWYG!

Fontes:

HTML5 Demos: Content Editable

Cut-and-paste one line of code to make any website editable
Differences Between DesignMode And ContentEditable
Converting an app using document.designMode from IE to Mozilla

terça-feira, 26 de abril de 2011

Script de download automatizado do Ubuntu 11.04

Sei que estão todos ansiosos para baixar o Ubuntu 11.04 Natty Narwhal, que sai na quinta-feira, dia 28/04.

Sabendo dessa ansiedade que é minha também eu criei um shellscript que fica tentando baixar o CD de instalação do Ubuntu de alguns espelhos onde serão hospedadas as ISOs. Provavelmente, quando a Canonical liberar a distribuição do 11.04, todos estes sites espelhos se atualizarão e então, nesse momento, o script começa a baixar automaticamente a ISO para você.

Script de download automatizado do Ubuntu 11.04

O script é simples e você só precisa determinar qual espelho você vai usar e qual versão do ubuntu baixar. É também possível definir o intervalo entre cada tentativa de download.

O script funciona em linux e em Windows, caso você use Cygwin. Após o download, para funcionar, é necessário primeiramente dar permissão de execução, usando o comando chmod a+x ubuntu.sh

Script para Download Automático do Ubuntu 11.04

Espero que tenham gostado da dica. Bom download!

Mais informações em: Ubuntu Natty Narwhal Launchpad

quarta-feira, 20 de abril de 2011

Usando Mercurial com Google Code

Como todos devem saber, o Google Code é mais uma solução de compartilhamento de código existente por aí né? Existem tantos: Freshmeat, SourceForge, Gnu Savannah e até o da Microsoft, chamado CodePlex. Minha intenção com este post é só dar uma dica para aqueles que porventura tenham dificuldade em usar o Mercurial com ele. Eu encontrei alguns probleminhas mas googleando um pouco consegui resolver.

Então, resolvi juntar tudo num post só e mandar aki no blog para vocês aproveitarem. Então, aproveitem!

Dica: Mercurial com Google Code

Nem preciso falar muito sobre o Mercurial né? No meu post anterior, intitulado "Mercurial Hg - Controlando as Versões do seu Software", mostrei como utilizar a maioria dos recursos mais comuns da ferramenta, de uma maneira bem prática. Agora, a minha idéia aqui é mostrar como configurar o Mercurial para que você possa usufruir da infra-estrutura do Google Code para gerenciar seu projeto. Para prosseguir, vou intuir que você têm o Mercurial instalado em sua máquina...

quinta-feira, 14 de abril de 2011

Instalando e configurando SNMP no Linux

Eu não sei quanto a vocês, mas desde que conheci a ferramenta Nagios, para monitoramento de rede, eu passei a dar mais valor nessa coisa de gerenciamento ativo de redes. Não porque eu tivesse a intenção de aplicar isso em lugar nenhum, mas é que a possibilidade de saber o estado de cada máquina (e cada switch/roteador/servidor) da rede me fez querer conhecer mais dessa ferramenta. E tudo acaba passando pelo protocolo SNMP, já que é ele o protocolo que é utilizado para fazer gerência de redes e é implementado por praticamente todos os equipamentos de rede que possuam um mínimo de "inteligência".

Então, estou aqui postando este tutorial sobre SNMP, ensinando como configurar e usar o mesmo para obter estatísticas da sua rede. Aproveitem!

Um pouco de Teoria sobre SNMP

Então, como falei a pouco, o SNMP (do inglês Simple Network Management Protocol - Protocolo Simples de Gerência de Rede) é um protocolo da camada de aplicação para gerência de redes, que roda em cima do protocolo UDP, e que facilita a troca de informações entre dispositivos da rede.

quinta-feira, 7 de abril de 2011

Como instalar o GNOME 3 e o GNOME Shell



Finalmente liberaram o GNOME 3! Essa é a notícia da semana. Agora, aqueles meus amigos que ficavam tentando me convencer a usar o KDE vão ter de engolir à seco tudo o que disseram sobre o GNOME. Ele está lindo, está muito bem construído e trás recursos ótimos.

No entanto, ainda levará um certo tempo para que as principais distribuições integrem o desktop em seus sistemas. Enquanto isso, você pode tentar compilar e instalar o Gnome 3 por sua conta. Não é difícil, mas você terá de instalar uma penca de pacotes.

Não vou negar que quando vi a interface pela primeira vez, me lembrei na hora do Android 3 Honneycomb e um pouco do iOS do iPad. As atividades estão muito bonitas e talz. Mas vamos deixar isso pra um outro post. Vamos lá...