Pilha de tecnologias do W3C

Navegando pelo site do World Wide Web Consortium (W3C), encontrei um diagrama que sempre imaginei existir mas nunca tinha achado. trata-se de uma imagem que apresenta de forma simples e objetiva onde se encaixam e qual a utilidade de cada uma das tecnologias recomendadas pela W3C.


Clique sobre a imagem para visualizá-la em tamanho natural.

Para quem imaginava que os Web Standards resumiam-se apenas ao XHTML, CSS, DOM e XML pode ter se impressionado com a quantidade de padrões disponíveis para uso. Se você tem interesse em desenvolver sites/sistemas seguindo os Padrões Web, este poderá ser um bom ponto de partida. ;)

Para efeito de referência o link onde achei esta imagem é: About W3C: Technology.

Otimizando a compilação de aplicações no linux com Make em servidores multiprocessados

Se você possui um computador com suporte SMP (Symmetric MultiProcessor) é possível compilar os programas que utilizam o make (a grande maioria, se não todos) utilizando dois ou mais processadores. Para isso digamos que a aplicação em questão possui um arquivo Makefile, edite-o e procure pela linha:
MAKE=make

ao final da linha adicione a opção -jN, onde N é o número de jobs (ou processos de compilação) que serão executados simultaneamente.

?? aconselhável que N seja definido como o número de processadores da máquina +1, ou seja, digamos que você possui uma máquina com 2 processadores Dual Core, então você poderia alterar a linha para:
MAKE=make -j5

Caso o arquivo Makefile não possua a entrada MAKE, então você poderá adicionar a opção -j diretamente ao executar o make:
# ./configure
# make -j5

Se você possui muita memória RAM/Swap, pode testar a opção -j sem nenhum número, desta forma o make não irá limitar o número de atividades simultâneas.

?? possível também calcular a duração das compilações para avaliar qual o melhor valor para a opção -j, para isso utilize o comando time. Por exemplo:
# ./configure
# time make

Efetuei um teste compilando a aplicação RRDTools em um servidor Dual Xeon. A compilação normal durou (real) 1m38s. Já compilando com a opção -j5 a duração foi para 46s ou seja 54% mais rápido.

CPAN, manuseando extensões e módulos Perl de forma fácil

O CPAN (Comprehensive Perl Archive Network) é o repositório web central para módulos e extensões para Perl. Ele é formado por vários servidores distribuídos pelo mundo que podem ser utilizados para facilitar a instalação e atualização de recursos adicionais a linguagem Perl.

Normalmente utilizo o CPAN, quando instalo no servidor alguma aplicação feita em perl que necessita de módulos não fornecidos pela distribuição que estou utilizando.

Para abrir uma shell do CPAN, utilize o comando:

# perl -MCPAN -eshell
cpan shell -- CPAN exploration and modules installation (v1.7601)
ReadLine support available (try 'install Bundle::CPAN')


cpan>

Ao abrir uma shell, você poderá solicitar ajudar utilizando o comando ? ou help. Entre os comandos disponíveis, acredito que o mais utilizado é o comando install, para adicionar novos módulos.

Para sair do shell, utilize o comando quit.

Também é possível executar um dos comandos do CPAN de modo não interativo. Para isso basta usar a sintaxe:
# perl -MCPAN -e 'install Bundle::Apache::ASP'

onde Bundle::Apache::ASP é a extensão que desejamos instalar.

Acho que é isso, uma das grandes vantagens desse modelo de distribuição é a facilidade de instalar recursos sem se preocupar de onde deve baixá-los e como deverá compilá-los. ?? claro, ele não faz a instalação automática de pacotes dependentes, mas pelo menos lhe avisa o que deverá ser instalado.