preload
abr 30

Temos duas opções, instalar diretamente o .deb do site do virtualbox ou cadastrar o repositório do virtualbox no nosso sistema, baixar e cadastrar a assinatura do repositório e fazer a instalação a partir do próprio gerenciador de pacotes do sistema.

A primeira opção é obviamente, bem mais simples, no entanto ficamos sem atualização caso essas sejam disponibilizadas e assim teremos que ficar sempre de olho no projeto para saber se não houve alguma atualização de segurança ou a implementação de uma nova funcionalidade. Por isso, optei pela segunda opção. Mas para quem quiser o pacote da última versão do virtualbox disponível para o Ubuntu 9.04 está em: i386 ou amd64

Para quem optou pela segunda opção, inserir a linha:

deb http://download.virtualbox.org/virtualbox/debian jaunty non-free

no arquivo /etc/apt/sources.list

Cadastrar a chave (assinatura) do repositório:

$sudo wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add -

E pronto, nem foi tão difícil assim. Agora basta instalar o pacote: $sudo apt-get install virtualbox-2.2

ou o pacote virtualbox-2.1 para quem tiver problemas de travamento da máquina virtual como eu já tive com a versão 2.2.

Importante: caso o kernel seja atualizado, alguns módulos do virtualbox deixarão de ser carregados, como o vboxdrv e o vboxnetflt, para ter esses módulos recompilados automaticamente, sempre que o kernel for atualizado, basta instalar o pacote dkms (não disponível para debian). Esse programa, compila em tempo de boot os módulos de terceiros que foram compilados para a versão do kernel antigo da sua máquina, deixando esses módulos prontos para serem utilizados pelo novo kernel, módulos do virtualbox, placa de vídeo, …

abr 27

Conforme noticiado na arstechnica.com, uma empresa chamada Embedded Alley está portando a plataforma Android da Google, para a arquitetura MIPS.

A arquitetura MIPS é largamente utilizada em equipamentos médicos, computadores de automóveis, equipamentos industriais, GPS, vídeo-games, consoles, set-top boxes, roteadores e até alguns supercomputadores.

Com certeza irão haver muitas especulações sobre as proporções da adoção que a plataforma Android terá nas variedades de dispositivos que utilizam a arquitetura MIPS. Mas os fãs, usuários e especialistas em Linux já podem ir se preparando com esta nova notícia. Pois com certeza teremos mais campos para atuar aplicando nossas habilidades e conhecimentos.

abr 03

Uou, chegaram meus livros novos. Demorou mas chegou:

  • C++, Como Programar - quinta edição - Pearson (Deitel).
  • Análise e Projeto Orientado ao Objeto - O’Reilly.

Adquiri ambos os livros na Linuxmall. Demoraram para chegar pois o livro de C++ não havia em estoque e eles tiveram problemas com o fornecedor. Mas como em todas as minhas compras na Linuxmall, chegou tudo direitinho.

O primeiro livro servirá de referência e como um abre-alas para minha auto-pós-graduação em C++, sei que não há tópicos muito avançados, uso de frameworks, exemplos de sistemas grandes, complexos e profissionais. Mas o livro aborda os assuntos fundamentais profundamente, dando todo o embasamento teórico que vou precisar para me virar por conta própria num futuro breve ;)

Obs: eu já possuía a versão inglês deste livro em pdf. Por isso já tinha uma idéia do que iria encontrar. Pelo excelente trabalho que pude perceber no pdf, decidi comprar uma cópia impressa e contribuir com a Deitel & Associates, Inc. para que eles continuem nos transmitindo bons conhecimentos da excelente maneira como fazem em todos os livros da Deitel que pude ler.

O segundo livro veio para me auxiliar na hora de projetar sistemas. Tenho um grande déficit nesta área e acredito que não sou só eu. Conheço diversos frameworks em PHP, uso Zend, conheço padrões de projeto, uso alguns padrões, conheço UML, uso UML, conheço algumas metodologias de desenvolvimento, tento utilizar alguma, … mas e para por tudo isso junto e tirar melhor proveito de todas essas armas, é outra coisa. Sinto que tenho uma Ferrari na garagem mas não consigo dirigir e trocar as marchas ao mesmo tempo, algo assim. Espero que este livro possa me ajudar :)

abr 01

Para aqueles que me perguntam com o que eu trabalho, o que eu faço, se eu mexo* com isso ou com aquilo. Aqui estão alguns vídeos que dão idéia do que é o meu trabalho. Os vídeos estão na ordem:

Jack Adams - O estagiário

Jack Adams - Projeto de Sucesso

Jack Adams - Projeto Difícil

Jack Adams - Consolidando Servidores

Jack Adams - Pen Drives

Jack Adams - Enrolando o Chefe

Jack Adams - Tarefa Importante

Jack Adams - Muito Ocupado

Jack Adams - Decisão Estratégica

Jack Adams - Esbanjando Graça e Conhecimento

Jack Adams - Falha Nossa

Todos os diretos reservados a Sun Microsystems.

(*) O mercado não tem mais espaço para profissionais que mexem com isso ou com aquilo. Hoje devemos ser especialista em determinadas tecnologias sem deixar de estar antenado nas outras. Se você parar no tempo, será só mais um que mexia com isso ou com aquilo.

Tagged with:
abr 01

Iniciando a série de artigos sobre segurança em PHP, irei comentar sobre a utilização de tags curtas e padronização de código. Apesar de não estarem diretamente ligadas a segurança, essas recomendação deveríam fazer parte de qualquer obra introdutória a linguagem PHP, e como não as vejo em todos os livros que lí, decidí colocá-las aqui nesta série de artigos.

Quem nunca programou em php usando tags curtas:

<?
//código
<?

Ou o comando

<?= "bom dia"?>

como abreviação do comando echo.

Alguns programadores fazem qualquer coisa para economizar algumas dezenas de letras em seus códigos. Os dois exemplos acima não são raros de se encontrar por aí, aliás, são muito comuns.

Sempre digo a meus alunos para evitar o uso de tags curtas, pois as mesmas dependem de uma configuração específica no php.ini, que apesar de vir habilitada por padrão, podem ser desabilitadas por alguns sites de hospedagem. Imaginem migrar todo um sistema que utilize tags curtas para um servidor que não as aceite. Você teria que migrar todos seus scripts para as tags padrões:

<?php
//se código
?>

No segundo caso, desaconse-lho o uso da abreviatura do echo pois não é do conhecimento de todos. Apesar de ser comum, imagine alguém dando suporte ou mesmo lendo seu código para alguma outra finalidade. Se ele não reconhecer essa estrutura, irá passar alguns minutos ou até horas até descobrir seu significado.

Outra coisa é a padronização na escrita de código. Um assunto que ainda não recebe a devida atenção por muitos programadores. Não irei descrever como escrever seu código, cada um tem seu próprio estilo, e prefere ler o código escrito de certa forma do que de outra. Só aconselho que procurem seguir o mesmo estilo em todos os programas que escreverem e caso trabalhem em equipe, que toda a equipe siga um padrão.

Existem várias recomendações, como o do Zend Framework.

Tagged with:
mar 08
PHP Segurança

Este é o primeiro de uma série de posts, onde irei descrever vantagens e também desvantagens da versatilidade da linguagem PHP.

Como dizia o Tio Ben: “Grandes poderes trazem grandes responsabilidades”. Assim sendo, vou comentar sobre poderosos recursos do PHP e dos problemas de segurança que os mesmos podem trazer, se foram utilizados de maneira incorreta ou simplesmente ignorados.

Estarei abordando:

  • boa práticas de programação.
  • diretivas do php.ini (safe_mode, register_globals, disable_functions, disable_classes, allow_url_fopen, allow_url_include, …).
  • validação de entrada de dados.
  • permissões de arquivos.
  • funções system, passthru, shell_exec.
  • exploits, xss, sql_injection.

Fiquem ligados.