Skip to content

Monthly Archives: January 2008

Justificando textos no Google Docs

21-Jan-08

Dica rápida: eu estava trabalhando agora (parei de trabalhar para escrever isto) no Google Docs e ao final do texto eu quis justificar o parágrafo, mas não encontrei o botão para fazer isso. Todos os alinhamentos estavam disponíveis (direita, esquerda e centralizado) menos o o que eu queria: justificado. Não acreditando que o Google não oferece suporte (pode-se chamar isso de suporte?) a essa funcionalidade, eu decidi testar os atalhos do teclado. Seguindo o padrão do OpenOffice e do MS Office, selecionei o parágrafo e apertei CTRL+J… E não é que deu certo! hahaha… Por essa nem eu esperava!

Segue abaixo um screenshot dos botões disponíveis e do texto justificado:

Google Docs

UPDATE: Hoje 08/06/08 eu encontrei esse link no Google Docs.

Meus 10 comandos mais rodados no Linux

17-Jan-08

Eu sei que esse meme já é meio antigo, mas é legal saber os comandos que você mais usa


afurlan@einstein:~$ history | awk '{print $2}' | awk 'BEGIN {FS="|"} {print $1}' | sort | uniq -c | sort -rn | head -10
    130 l
     72 vim
     46 cd
     34 rm
     28 ll
     20 fg
     15 mv
     14 for
      9 find
      7 du

PHP Day e a sequência de Fibonacci

13-Jan-08

Ontem durante a última palestra do PHP Day houve uma certa polêmica (dentre as várias que houveram nessa palestra) a respeito de criar uma função que calculasse a sequência de fibonacci em apenas uma linha. Enfim (comentários a parte) segue a implementação das sequências de Fibonacci, Tribonacci e Tetranacci com apenas uma linha em PHP.

Este código também está disponível em: http://arthurfurlan.org/phpday/fibonacci.txt

Sequencia de Fibonacci


function fibonacci($n) {
    return $n < 0 ? false : $n < 2 ? $n : fibonacci($n-1) + fibonacci($n-2);
}

Sequencia de Tribonacci


function tribonacci($n) {
    return $n < 0 ? false : $n < 3 ? fibonacci($n) : tribonacci($n-1) + tribonacci($n-2) + tribonacci($n-3);
}

Sequencia de Tetranacci


function tetranacci($n) {
    return $n < 0 ? false : $n < 4 ? fibonacci($n) : tetranacci($n-1) + tetranacci($n-2) + tetranacci($n-3) + tetranacci($n-4);
}

* Obs.: o algoritmo ficou um pouco maior que o convencional porque está tratando o caso de números negativos, que são inválidos.

Instalação segura do MySQL Server

09-Jan-08

A instalação default do MySQL no linux (debian-based) configura a conta do root no banco de dados para ser acessada sem precisar de senha, dessa forma qualquer usuário conectado no servidor consegue obter uma shell do MySQL através do comando:


$ mysql -u root

Não é difícil perceber o quanto essa configuração é ruim e devido à isto, antigamente eu alterava a senha do root via SQL mesmo, como segue abaixo:


$ mysql -u root
mysql> set password for root@localhost = password('NOVA-SENHA');
Query OK, 0 rows affected (0.00 sec)

E isso realmente funciona, pois força que o usuário root tenha que passar a senha NOVA-SENHA para se logar, mas descobri há pouco tempo atrás um comando mais apropriado para isso e que além de definir a senha altera várias outras configurações de segurança:

* Obs1: Eu removi a maioria dos comentários exibidos durante a execução, mas a cada passo são exibidos textos explicando os efeitos das alterações sugeridas pelo utilitário.

* Obs2: Eu já havia executado esse comando antes (quando instalei o meu servidor) portanto a execução exibida abaixo pode
ser um pouco diferente da sua, caso esta seja a primeira vez que você está executando o comando.


# mysql_secure_installation
Enter current password for root (enter for none):
OK, successfully used password, moving on...

You already have a root password set, so you can safely answer 'n'.
Change the root password? [Y/n] n
 ... skipping.

Remove anonymous users? [Y/n] Y
 ... Success!

Disallow root login remotely? [Y/n] Y
 ... Success!

Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reload privilege tables now? [Y/n] Y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

E como o próprio utilitário diz: Sua instalação do MySQL agora deve estar segura