quarta-feira, 18 de abril de 2012

Chamar Terminais Virtuais em um SO Linux virtualizado no Virtual Box

Trabalho com máquinas virtuais usando o VirtualBox. Um pequeno e excelente programa para virtualização pelo qual você não precisa desembolsar nenhum centavo para usar. Geralmente eu uso máquinas virtuais para fazer testes ou experimentos sem correr o risco de fazer algo errado com minha máquina de trabalho.

Recentemente em um destes experimentos com máquinas virtuais, um Linux Ubuntu 10.04, a interface gráfica ficou paralisada. Fiquei alegre que isso não foi na máquina host, e percebi que poderia tentar continuar usando máquina com a interface gráfica paralisada usando os terminais virtuais, que geralmente são acionados através da combinação de teclas Ctrl + Alt + F1 até F7. Os terminais de F1 até F6 são em modo texto e o F7 é o que exibe a sua interface gráfica. O problema é que apertando estas sequências de teclas eram acionados os terminais virtuais na minha máquina host e não na máquina virtual. Como simular esta sequência de teclas na máquina virtual rodando no Virtual Box?
Host Key + F1 (a host key geralmente é o Control direito no teclado)
Ou
F1, depois Ctrl e Alt (esta combinação também acionou o terminal na minha máquina host, mas quando voltei para o terminal F7 a máquina guest também estava no terminal virtual)

Muito útil para mim! Espero que ajude vocês.

quarta-feira, 4 de abril de 2012

Quantas funções a linguagem PHP tem?

8610
De acordo com o manual esta é a quantidade de funções que a linguagem PHP oferece. Usei o seguinte código javascript + jquery para chegar a este número:


E olha que todas estas funções estão no namespace global da linguagem. Mas também estão incluídas funções presentes em extensões como mysql, gd, simplexml etc.

Por isso eu não falo nada quando dizem que PHP é uma linguagem cujo design é feito por acidente. Mas isso não importa.

Update:
Neste link no fórum devshed tem um comando que permite saber a quantidade de funções definidas no seu ambiente. A função get_defined_functions retorna um array com todas as funções definidas, divididas em "internal", as funções definidas pelo php, e "user", funções definidas pelo usuário. Aqui está o comando:

$f = get_defined_functions();
echo "Functions: ".count($f["internal"])."\n";

No meu ambiente

PHP 5.3.3-1ubuntu9.10 with Suhosin-Patch (cli) (built: Feb 11 2012 06:40:29)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
    with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans

são reportadas 1762 funções do tipo internal.