POG IS FREEDOM!!!
Não adianta em insistir em OOP, PD, nada… se queres resolver um problema complexo da melhor forma possÃvel, USE POG!!!
Vou lançar uma campanha à favor do POG ser ensinado nas universidades como disciplina obrigatória! POG IS FREEDOM!!!
No commentsHello World em mais de 397 linguagens!
http://helloworldsite.he.funpic.de/
Excelente trabalho que exemplifica um pouco a sintaxe das diversas linguagens de programação existentes (ou não)…
No commentsExt Gui Builder - Um criador de interfaces para o extjs
No endereço acima você pode acessar um ótimo criador de interfaces para o extjs, com ele você obtém o código .js utilizando somente o mouse, no melhor estilo drag-and-drop, para criar suas interfaces web 2.0.
No commentsComparando datas com JavaScript
<script language="javascript"> /* Autor.......: Kenneth R. B. Carletto Contato.....: MSN(keno_brow@msn.com) E-Mail(chorao.info@gmail.com) Data........: 20/08/07 Finalidade..: Função que retorna qual das duas datas (passadas como parametro) é maior, baseada no objeto Date e sua funcao getTime(); */ // gE('idElemento'): Simplesmente retorna uma referencia ao objeto 'idElemento' function gE(idElemento){ return document.getElementById(idElemento); } function dataMaior(dt1,dt2){ // dt1 e dt2: Devem ser tipo String, para evitar confusao de tipos if(typeof dt1 != "string" || typeof dt2 != "string"){ alert("As datas devem ser passadas como strings"); return false; } // dt1 e dt2: Alem de strings, dt1 e dt2 devem obedecer aos formatos de data do Brasil (dd/mm/aa ou dd/mm/aaaa) padrao = /d{2}/d{2}/(?:d{2}|d{4})/; if(!padrao.test(dt1) || !padrao.test(dt2)){ alert("Formato de data invalido.nUtilize dd/mm/aa ou dd/mm/aaaa"); return false; } // Instanciamos as datas, para poder usar getTime(); data1 = new Date(dt1); data2 = new Date(dt2); if(!data1 || !data2){ alert("Erro ao criar objetos"); return false; } // milliSegundos1: irá conter a quantidade de segundos corridos desde 1/1/1970 0h ate dt1 milliSegundos1 = data1.getTime(); // milliSegundos2: irá conter a quantidade de segundos corridos desde 1/1/1970 0h ate dt2 milliSegundos2 = data2.getTime(); // Comparando millisegundos para retornar a conclusão de quem é maior que quem... if(milliSegundos1 == milliSegundos2){ alert("As datas são iguais"); return true; } else if(milliSegundos1 > milliSegundos2){ alert("Data 1 maior que data 2"); return true; } else if(milliSegundos1 < milliSegundos2){ alert("Data 2 maior que data 1"); return true; } else return false; } </script> <input name="tdt1" value="10/01/07" type="text" /> <input name="tdt2" value="10/02/07" type="text" /> <input value="Maior" onclick="dataMaior(gE('tdt1').value,gE('tdt2').value)" type="button" />
URL Amigáveis no .htaccess
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{SCRIPT_FILENAME} !-f RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule ^(.*)$ index.php?cod=$1 ErrorDocument 404 /index.php </IfModule>
Se você criar um .htaccess no diretório do seu site ele vai redirecionar tudo que tem após http://dominio.com/ para o arquivo index.php na variável $_GET[ 'cod']. No seu PHP você trata essa informação do jeito que quiser… Depois posto alguns exemplos e utilidades
No commentsIdéias para os scripts do Bluemote
- Criar o menu Video Menu com os 10 filmes que estão no DVD e abrir no xine… Esquema:
- Perguntar qual o device que quer dar um ls
- Dar um LS no device e pegar 10 arquivos AVI, MPG, DIVX, ASF, WMV, etc…
- Criar um choice de 1 a 10 (ver se pode pegar mais que 10 números no Choice)
- Jogar para o VLC ou XINE (checar qual aceita comandos via shell)
- Criar o menu para controlar o player de vÃdeo
- Criar um menu pra ripar um CD de música pra MP3
- Criar um menu pra ripar um DVD pra DIVX
No commentsScripts do bluemote
Comecei a alterar os scripts do bluemote para fazer eles funcionarem aqui no notebook, vou tentar criar um Changelog aqui neste post (vou começar a aprender shell script pra melhorar mais ainda os scripts):
Bluemote Scripts’ Changelog
09/09/2007
- Criado o menu Play Video que exibe na tela a lista dos arquivos contidos em /media/cdrom e depois pergunta qual o número do arquivo que você quer que seja executado e abre no VLC.
08/09/2007
- Alterado o script Screenshot para mover os arquivos para o diretório ~/.bluemote/scripts/Screenshots com o diretório sendo ANO-MES e se o usuário não digitar o nome do arquivo ele automaticamente assume shot_MESDIA_HORA.jpg
- Alterado o script Screenshot para perguntar ao usuário se ele deseja visualizar a shot
- Alterado o script Voice Recorder para perguntar ao usuário se ele deseja ouvir o arquivo gravado
07/09/2007
- Alterados todos os scripts que faziam referênia ao aumix-minimal que não achei no Ubuntu, trocados para o aumix normal
- Alterados todos os scripts que lidavam com o XMMS e o Rhythimbox para também gerenciar o Amarok
- Criado um menu para tirar Screenshots da tela com a possibilidade de escolha do nome do arquivo. O arquivo sempre será movido para o /home do usuário que estiver usando o bluemote (Screenshot)
- Criado um menu para ativar o microfone do computador e gravar o som (Voice Recorder)