Pastebin.viniciuscordeiro.com

December 18th, 2008 | Category: blog

Coloquei no ar meu Pastebin particular, e estou abrindo-o para os leitores do blog, assim posso ajudá-los com códigos que vocês colarem pra mim… basta acessar http://pastebin.viniciuscordeiro.com e colocar o código lá e colocar nos comentários o endereço que o sistema retornar, por enquanto tá em inglês, mas um dia traduzo pro português…

Se te ajudei em alguma coisa, e você quiser retribuir, pague-me uma cerveja... ;)

No comments

Tradutor simultâneo on-line

December 03rd, 2008 | Category: blog

Um tradutor simultâneo on-line que pode lhe ajudar com pequenas traduções para vários idiomas:

Nice Translator - The fast, easy to use online translator

Se te ajudei em alguma coisa, e você quiser retribuir, pague-me uma cerveja... ;)

No comments

Asterisk no seu Ubuntu/Debian

December 28th, 2007 | Category: Uncategorized

Já se imaginou falando de graça com várias pessoas através do seu próprio servidor VoIP? O Asterisk permite isso para você… Com ele você pode ter inúmeras pessoas (vai depender do seu link) conversando entre si, linhas de fax, voicemail, secretária eletrônica, etc etc etc.

Vamos aprender a instalar de uma forma bem simples para a criação de apenas 2 ramais, primeiro instalaremos os pacotes:

# apt-get install asterisk asterisk-config asterisk-sounds-main

Agora vamos configurar o asterisk, edite o arquivo /etc/asterisk/sip.conf como root e adicione os 2 “friends” abaixo:

[100]
username=100
type=friend
secret=minha_senha_que_usarei_no_softfone
qualify=no
port=5060
nat=yes
host=dynamic
dtmfmode=rfc2833
context=meuvoip
callerid=100 <100@meuvoip>

[101]
username=101
type=friend
secret=minha_senha_que_usarei_no_softfone
qualify=no
port=5060
nat=yes
host=dynamic
dtmfmode=rfc2833
context=meuvoip
callerid=101 <101@meuvoip>

Após criarmos as 2 contas, vamos dizer ao Asterisk o que fazer com elas, editando o arquivo /etc/asterisk/extensions.conf e adicionando as seguintes linhas ao final do arquivo:

[meuvoip]
exten => 100,1,Dial(SIP/100,20)
exten => 100,2,Hangup

exten => 101,1,Dial(SIP/100,20)
exten => 101,2,Hangup

Essas linhas dizem ao Asterisk que ele chame durante 20 segundos quando alguém ligar para os ramais 100 e/ou 101 e após isso ele desligue.

Para os sistemas baseados no Ubuntu/Debian precisamos editar mais um arquivo que é o /etc/defaults/asterisk para que o Asterisk se inicie automaticamente após o reboot, para isso basta localizar #RUNASTERISK=no e trocar para:

RUNASTERISK=yes

Após isso execute como root:

# /etc/init.d/asterisk restart

Seu servidor VoIP está rodando e pronto para ser usado. Vale lembrar que se você quer liberar acesso externo você deve abrir a porta 5060 no firewall.

Se te ajudei em alguma coisa, e você quiser retribuir, pague-me uma cerveja... ;)

No comments

Ext Gui Builder - Um criador de interfaces para o extjs

December 19th, 2007 | Category: Uncategorized

Ext Gui Builder

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.

Se te ajudei em alguma coisa, e você quiser retribuir, pague-me uma cerveja... ;)

No comments

Meu Gmail foi atualizado! Agora tenho 4gb!

October 22nd, 2007 | Category: Uncategorized

You are currently using 2801 MB (67%) of your 4120 MB.

Meu Gmail estava quase explodindo a capacidade, mas agora está tudo tranquilo, pelo menos por enquanto…

Se te ajudei em alguma coisa, e você quiser retribuir, pague-me uma cerveja... ;)

No comments

Comparando datas com JavaScript

September 19th, 2007 | Category: Uncategorized
<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" />

Se te ajudei em alguma coisa, e você quiser retribuir, pague-me uma cerveja... ;)

5 comments