segunda-feira, 25 de julho de 2011
Template para design de games
Neste post do blog da lunargiantstudios o autor disponibilizou um template do documento de game design de um jogo. Este documento é basicamente o planejamento de como o jogo vai ser. Para os interessados em game design e desenvolvimento de jogos vale a pena conferir.
terça-feira, 19 de julho de 2011
New game on the block
Olá pessoal! Já faz algum tempo que estou trabalhando em um pequeno jogo flash que acabei de publicar no site kongregate. O jogo se chama Linker e é bem simples na verdade. Aqui vai um screenshot do jogo:
Seu objetivo é coletar todas as moedas de prata evitando os inimigos, um único toque e lá se vai uma vida. Seu único poder é quando você coleta a "moeda estrela", que lhe dá o poder de se conectar com os inimigos formando um elo entre vocês. Depois o disso o jogador pode colocar os inimigos presos no elo para dormir por algum tempo.
Este é primeiro jogo que realmente publico, e (espero!) que venham outros. Joguem lá e me dêem suas opiniões.
Seu objetivo é coletar todas as moedas de prata evitando os inimigos, um único toque e lá se vai uma vida. Seu único poder é quando você coleta a "moeda estrela", que lhe dá o poder de se conectar com os inimigos formando um elo entre vocês. Depois o disso o jogador pode colocar os inimigos presos no elo para dormir por algum tempo.
Este é primeiro jogo que realmente publico, e (espero!) que venham outros. Joguem lá e me dêem suas opiniões.
segunda-feira, 4 de julho de 2011
Enviar requisição post com curl e PHP
Dica rápida para fazer a linguagem PHP enviar uma requisição to tipo post (no mesmo estilo que um formulário html com method="post") para uma url qualquer.
Aqui está o código que envia a requisição post:
E aqui está o código que recebe a requisição post, processa os valores enviados e retorna o resultado como um trecho de html:
Inspiração original para o código e post no php dev zone.
Bem, é isso aí. Qualquer coisa use sua liberdade de expressão nos comentários.
Aqui está o código que envia a requisição post:
E aqui está o código que recebe a requisição post, processa os valores enviados e retorna o resultado como um trecho de html:
Inspiração original para o código e post no php dev zone.
Bem, é isso aí. Qualquer coisa use sua liberdade de expressão nos comentários.
domingo, 19 de junho de 2011
Serviço de Utilidade Pública
Olhem só que interessante! Acabei de receber duas mensagens SMS com o seguinte conteúdo:
(+732) Sua linha movel foi premiada a uma "CASA" no valor de 79MIL pelo apresentador (CELSO PORTIOLLI) p/ + inf: ligue 0218591606447 Senha.99999
A mensagem veio do número 55-8597064785.
Ó quanta felicidade!
Mas falando sério, isto claramente é um golpe. Provavelmente aplicado por presidiários com tempo e celulares de sobra. Já há algum tempo este golpe vem sendo praticado. Basta buscar por partes desta mensagem SMS na internet para achar vários links com pessoas relatando terem recebido as mensagens e com dúvidas sobre sua veracidade. Só muda o valor do prêmio ou nome do apresentador e emissora. Neste artigo temos um relato sobre uma vítima do golpe.
Geralmente estas mensagens vêm recheadas com erros de português e pedem para que a vítima ligue para um número de celular. Ligando eles pedem para que a vítima transifira dinheiro para uma conta bancária, façam recargas para outros celulares ou "doações" para hospitais que cuidam de criancinhas órfãs com câncer. Promoções ou concursos legítimos não apresentam estes gastos para o ganhador, e se você nunca efetivamente se inscreveu em algum concurso ou promoção provavelmente só tem chances de cair em um golpe e não de ganhar qualquer prêmio.
Fica a dica pessoal.
PS: Interessante como eles colocaram casa entre aspas na mensagem que recebi. Denotando a ironia de "ganhar uma casa".
(+732) Sua linha movel foi premiada a uma "CASA" no valor de 79MIL pelo apresentador (CELSO PORTIOLLI) p/ + inf: ligue 0218591606447 Senha.99999
A mensagem veio do número 55-8597064785.
Ó quanta felicidade!
Mas falando sério, isto claramente é um golpe. Provavelmente aplicado por presidiários com tempo e celulares de sobra. Já há algum tempo este golpe vem sendo praticado. Basta buscar por partes desta mensagem SMS na internet para achar vários links com pessoas relatando terem recebido as mensagens e com dúvidas sobre sua veracidade. Só muda o valor do prêmio ou nome do apresentador e emissora. Neste artigo temos um relato sobre uma vítima do golpe.
Geralmente estas mensagens vêm recheadas com erros de português e pedem para que a vítima ligue para um número de celular. Ligando eles pedem para que a vítima transifira dinheiro para uma conta bancária, façam recargas para outros celulares ou "doações" para hospitais que cuidam de criancinhas órfãs com câncer. Promoções ou concursos legítimos não apresentam estes gastos para o ganhador, e se você nunca efetivamente se inscreveu em algum concurso ou promoção provavelmente só tem chances de cair em um golpe e não de ganhar qualquer prêmio.
Fica a dica pessoal.
PS: Interessante como eles colocaram casa entre aspas na mensagem que recebi. Denotando a ironia de "ganhar uma casa".
sábado, 28 de maio de 2011
Info.php
Qual desenvolvedor PHP que de vez em sempre não precisa rodar o famoso comando phpinfo() em um servidor para ver quais extensões e recursos estão instalados?
E como não é chato ter que criar um arquivo info.php, lembrar corretamente do nome da função, é phpinfo() ou php_info() graças a padronização dos nomes de funções no PHP? Ter que conectar no servidor via ftp ou rsync, enviar o arquivo etc.
Não seria bem melhor ter um script pronto em um lugar estratégico e fácil de lembrar, rodá-lo e depois só acessar o endereço do site no browser e consultar a saída do phpinfo()?
Pensando nisso eu criei um pequeno script PHP que faz exatamente isso. Como o nome de generate_info.php basta abri-lo preencher o nome de usuário, password e endereço do servidor (só ftp por enquanto), dar permissão de execução para o script e rodá-lo assim "./generate_info.php". Prontinho! Basta acessar seu servidor na pasta indicada no endereço do servidor colocando o nome "info.php" no fim da url para ver a saída gerada.
Ah! Mais uma coisa! Não é muito seguro deixar este tipo de arquivo no seu servidor já que ele pode revelar muitas informações para pessoas mal intencionadas. Se você rodar o comando usando o parâmetro "-d" o arquivo info.php será excluído, ex: "./generate_info.php -d".
Para a galera do Windows estes comandos devem funcionar:
php.exe -f "generate_info.php" (criar o arquivo)
php.exe -f "generate_info.php" -- -d (excluir o arquivo)
Use este comando se você tiver o svn instalado para obter o script:
svn checkout http://hipercodigo.googlecode.com/svn/trunk/generate_info
Ou você pode acessar o arquivo diretamente neste endereço:
http://hipercodigo.googlecode.com/svn/trunk/generate_info/generate_info.php
E como não é chato ter que criar um arquivo info.php, lembrar corretamente do nome da função, é phpinfo() ou php_info() graças a padronização dos nomes de funções no PHP? Ter que conectar no servidor via ftp ou rsync, enviar o arquivo etc.
Não seria bem melhor ter um script pronto em um lugar estratégico e fácil de lembrar, rodá-lo e depois só acessar o endereço do site no browser e consultar a saída do phpinfo()?
Pensando nisso eu criei um pequeno script PHP que faz exatamente isso. Como o nome de generate_info.php basta abri-lo preencher o nome de usuário, password e endereço do servidor (só ftp por enquanto), dar permissão de execução para o script e rodá-lo assim "./generate_info.php". Prontinho! Basta acessar seu servidor na pasta indicada no endereço do servidor colocando o nome "info.php" no fim da url para ver a saída gerada.
Ah! Mais uma coisa! Não é muito seguro deixar este tipo de arquivo no seu servidor já que ele pode revelar muitas informações para pessoas mal intencionadas. Se você rodar o comando usando o parâmetro "-d" o arquivo info.php será excluído, ex: "./generate_info.php -d".
Para a galera do Windows estes comandos devem funcionar:
php.exe -f "generate_info.php" (criar o arquivo)
php.exe -f "generate_info.php" -- -d (excluir o arquivo)
Use este comando se você tiver o svn instalado para obter o script:
svn checkout http://hipercodigo.googlecode.com/svn/trunk/generate_info
Ou você pode acessar o arquivo diretamente neste endereço:
http://hipercodigo.googlecode.com/svn/trunk/generate_info/generate_info.php
domingo, 15 de maio de 2011
Número de conexões no banco de dados Postgre
No lugar onde trabalho não possuo acesso a estatísticas e recusos administrativos do servidor de banco de dados postgre. Talvez fruto de um ciúme doentio da equipe de banco de dados com seus preciosos servidores. De qualquer forma precisei ver como estava o número de conexões com o servidor, e felizmente o postgre permite que estes número sejam acessados através de simples comandos sql.
Lembre-se de que as configurações para coleta de estatísticas devem estar habilitadas. Estas opções adicionam alguma penalidade na execução de queries. Por padrão as opções que permitem usarmos o comando sql apresentado aqui ficam habilitadas. Caso este não seja seu caso dê uma olhada no arquivo postgresql.conf. Mais detalhes no manual.
Finalmente aqui vai o comando:
select datname, count(*) from pg_stat_activity group by datname;
Com este comando podemos ver o número de conexões ativas no momento de execução agrupando-as pelo nome do banco de dados.
A saída será semelhante a isso:
datname | count
-----------+-------
testdb | 5
template1 | 1
(2 rows)
A tabela pg_stat_activity também tem outras colunas com outras informações interessantes:
datid - oid do banco de dados
datname - nome do banco de dados
procpid - id do processo
usesysid - OID do usuário
usename - nome do usuário
current_query - query sendo executada atualmente
waiting - status de espera da query
xact_start - horário em que a transação atual começou a executar
query_start - horário em que a query começou a executar
backend_start - horário em que o processo foi iniciado
client_addr - Endereço do cliente
client_port - Porta do cliente
As colunas que mostram informações sobre a query só podem ser vistas pelo super usuário ou se o usuário que estiver vendo as informações for o mesmo do processo que está sendo listado.
Está aí pessoal uma dica rápida, espero que seja útil à vocês.
Lembre-se de que as configurações para coleta de estatísticas devem estar habilitadas. Estas opções adicionam alguma penalidade na execução de queries. Por padrão as opções que permitem usarmos o comando sql apresentado aqui ficam habilitadas. Caso este não seja seu caso dê uma olhada no arquivo postgresql.conf. Mais detalhes no manual.
Finalmente aqui vai o comando:
select datname, count(*) from pg_stat_activity group by datname;
Com este comando podemos ver o número de conexões ativas no momento de execução agrupando-as pelo nome do banco de dados.
A saída será semelhante a isso:
datname | count
-----------+-------
testdb | 5
template1 | 1
(2 rows)
A tabela pg_stat_activity também tem outras colunas com outras informações interessantes:
datid - oid do banco de dados
datname - nome do banco de dados
procpid - id do processo
usesysid - OID do usuário
usename - nome do usuário
current_query - query sendo executada atualmente
waiting - status de espera da query
xact_start - horário em que a transação atual começou a executar
query_start - horário em que a query começou a executar
backend_start - horário em que o processo foi iniciado
client_addr - Endereço do cliente
client_port - Porta do cliente
As colunas que mostram informações sobre a query só podem ser vistas pelo super usuário ou se o usuário que estiver vendo as informações for o mesmo do processo que está sendo listado.
Está aí pessoal uma dica rápida, espero que seja útil à vocês.
terça-feira, 19 de abril de 2011
Assinar:
Postagens (Atom)

