• Log channels Asterisk

    Data:2011.10.27 | CategoriaDicas | Resposta:0

    No asterisk, além dos logs padrão, é possível definir seus próprios logs. Para isto, basta criar um novo log channel dentro do arquivo logger.conf. Veja o exemplo:

    Acrescente o a seguinte linha no arquivo logger.conf  na seção logfiles:

    
    test => notice,warning
    

    Na console do asterisk, digite:

    
    pbx*CLI> logger reload
    

    Pronto, um novo arquivo de log está sendo gerado na pasta de logs do asterisk com as informações de notice e warning.

    Deixe-me um comentário!!

  • CPU flags 2

    Data:2011.10.19 | Categoriacuriosidade | Resposta:0

    Em busca de maior detalhamento sobre o arquivo /proc/cpuinfo, encontrei mais algumas informações interessantes, como, checar se há o recurso de Turbo Boost no seu processador ou páginas aninhadas. Veja:

    • ida – Intel Dynamic Acceleration (Turbo boost);
    • ept – Intel Extended Page Table;
    • npt – AMD Nested Page Table;
    • ht – HyperThreading;
    • hypervisior – É uma máquina virtual sobre um hypervisior.

    Mais informações podem ser encontradas no arquivo cpufeature.h do código-fonte do Linux. Sua localização pode variar de acordo com a versão do kernel. Em 3.0.0 para uma máquina x86, está em arch/x86/include/asm.

    Deixe-me um comentário!!

  • Gerar coredump em programa C

    Data:2011.09.13 | Categorialinux | Resposta:2

    Quando um programa termina inexperadamente, o Linux pode gerar um dump da área de memória deste programa no momento do crash, para depuração. Acontece que o seu ambiente pode estar configurado para não gerar esse dump. Uma maneira de conferir isto é executando o seguinte comando:

    # ulimit -c

    O número retornado é o tamanho máximo que o coredump pode ter em kb. Caso seja 0, significa que não será gerado coredump. Para garantir a geração, o valor pode ser especificado como infinito:

    # ulimit -c unlimited

    O problema é que seu programa pode estar rodando em uma sessão diferente, e assim, os limites podem varias. Desta maneira, o próprio programa pode alterar este parâmetro em tempo de execução. Segue um pequeno código de exemplo:

    #include <signal.h>
    #include <sys/time.h>
    #include <sys/resource.h>
    
    int main(int ac,char *av[]) {
    struct rlimit limit;
    limit.rlim_cur=RLIM_INFINITY;
    limit.rlim_max=RLIM_INFINITY;
    
    setrlimit(RLIMIT_CORE,&limit);
    printf("%d\n",10/0);
    
    return 0;
    }
    

    Neste exemplo, foi usada a struct rlimit. Seus membros são rlim_cur e rlim_max, sendo eles softlimit e hardlimit respectivamente. O valor definido para ambos foi infinito (RLIM_INFINITY). Para efetivar a alteração, usa-se a função setrlimit. Veja que este código exemplo irá terminar  em crash, pois há uma divisão por zero e o coredump deverá ser gerado.

    Deixe-me um comentário!!

  • procps-dev

    Data:2011.03.09 | CategoriaDicas, linux, slackware, utilidades | Resposta:0

    Essa semana precisei implementar uma função da biblioteca libproc para que meu programa só permitisse uma instância. O problema é que eu precisava dos headers do pacote procps, mas por padrão o Slackware não instala.

    Por isso, precisei fazer manualmente, baixar o pacote, desempacotar e copiar para a pasta de headers. Não sei se futuramente esses valiosos arquivos serão inclusos no pacote oficial, mas de qualquer maneira, eu criei um SlackBuild que possa ajudar quem está na mesma que eu.

    #!/bin/bash
    MIRROR=${MIRROR:-http://ftp.belnet.be/packages/slackware/slackware_source/}
    VERSION=${VERSION:-3.2.7}
    ARCH=noarch
    BUILD=${BUILD:-2duderamos}
    CWD=$(pwd)
    TMP=${TMP:-/tmp}
    PKG=$TMP/package-procps-dev
    
    rm -rf $PKG
    rm -rf $TMP/procps-$VERSION
    if [ ! -f procps-${VERSION}.tar.gz ];then
      wget "${MIRROR}/a/procps/procps-${VERSION}.tar.gz" || exit 1
    fi
    
    cd $TMP
    
    tar xzvf $CWD/procps-$VERSION.tar.gz || exit 1
    
    mkdir -p $PKG/install
    mkdir -p $PKG/usr/include/procps
    mkdir -p $PKG/lib
    
    cd $TMP/procps-$VERSION
    cp proc/*.h $PKG/usr/include/procps
    cat $CWD/slack-desc > $PKG/install/slack-desc
    cat $CWD/doinst.sh > $PKG/install/doinst.sh
    
    cd $PKG
    
    makepkg -l y -c n $TMP/procps-dev-$VERSION-$ARCH-$BUILD.txz
    
    rm -rf $TMP/procps-$VERSION.tar.gz
    rm -rf $TMP/procps-$VERSION
    rm -rf $PKG
    

    Deixe-me um comentário!!

  • O mundo com IPv6

    Data:2011.02.17 | Categoriaredes, variedades, vídeos | Resposta:0

    Será que um dia vai ser assim mesmo?!


    Deixe-me um comentário!!

  • Youtube URL offset

    Data:2011.02.11 | Categoriacuriosidade, Dicas, vídeos | Resposta:2

    YoutubeHoje, por acaso, acabei descobrindo uma coisa muito interessante no Youtube. É possível abrir um vídeo não só pelo início, mas por qualquer parte dele.

    Não sei se ficou claro, mas segue a dica:

    http://www.youtube.com/watch?v=[video id]#at=[tempo de offset em segundos]

    Exemplo:

    http://www.youtube.com/watch?v=EShea9vWFtI#at=30

    Vai começar o vídeo METNAL – Perfect Strangers (Deep Purple Cover) – Curitiba a partir de 30 segundos do início.

    Deixe-me um comentário!!

  • Programa Leia Mais: City of Ember

    Data:2011.02.02 | Categorialivros | Resposta:0

    Como todo início de ano, penso em como fui ano passado e projeto mudanças para o novo ano. Dentre as mudanças está a implantação do Programa Leia Mais. Em síntese, quero criar um hábito de leitura frequente e poder postar aqui minha opinião sobre as obras lidas. Não há limitação de temáticas, e caso tenham sugestões, por favor, elas serão bem vindas.

    Pois bem, o primeiro livro desta iniciativa é o City of Ember.

    Este livro de Jeanne DuPrau narra a estória de uma cidadezinha chamada Ember que fica dentro de uma enorme caverna. A cidadezinha é um pequeno ponto luminoso dentro de uma escuridão sem fim e desconhecida. Como não há dias e noites definidos pela presença do sol no céu, a iluminação é toda feita por lâmpadas, e por isto, toda a vida é dependente do seu velho gerador.

    Acontece que a cidade já está sofrendo com a falta de mantimentos nas lojas e seu gerador está começando a falhar e as origens da cidade é pouco clara para os habitantes, que atribuem sua criação aos ‘construtores’, que ganham também o papel de salvadores daqueles que profetizam seu retorno.

    Como protagonistas, Lina Mayfleet, uma garota vivás, e Doon Harrow, um apaixonado por tecnologia como o pai, seguem pistas de um antigo documento que  foi encontrado por Lina aos pedaços dentro de um estranho artefato. Eles estão preocupados com o destino da cidade e acreditam que este documento contém importantes informações  para salva-la e todo seu povo.  Veja o trailer do filme:

    No livro/filme, existe um povo que vive isolado de qualquer outra sociedade em uma cidade criada pelos ‘construtores’ que deixaram livros com instruções para a vida na cidade e recursos limitados. Poucos acreditam haver outras cidades e outros povos, mas a maioria discorda. No momento, eles passam dificuldades pela falta de mantimentos e recursos necessários para a vida.

    Em nosso mundo real, muitos acreditam que o Universo e a Terra foram criados por um Deus (construtor), que somos o único ser vivo inteligente (povo) deste Universo e seguimos os livros sagrados de Deus (construtor). Também, estamos próximos da escassez dos recursos naturais e necessários para a vida. No mínimo, interessante as semelhanças.

    Deixe-me um comentário!!

  • Rede de conhecimento

    Data:2011.01.13 | Categoria"viagens", filosofias | Resposta:1

    Hoje de manhã, em conversa com meu companheiro de trabalho, banda e principalmente grande amigo Valdecir, acabei viajando de como é, na minha visão, a construção do conhecimento na nossa mente. É lógico que não tenho embasamento neurológico, psicológico ou qualquer outro *lógico. Isso é apenas fruto da minha imaginação e bom senso.

    Um dia eu pensei: Melhor que ser especialista em qualquer assunto, é ser especialista em aprender. Assim eu poderia aprender hipoteticamente qualquer assunto com maior facilidade. E foi isso que tentei fazer.

    Os 3 níveis

    Não me lembro bem onde e quando aprendi isso, mas a ‘sabedoria’ ocorre em três níveis: dados, informações e conhecimentos. Para melhor entender, vou usar analogia.

    Dados

    Dados são isolados e não carregam muitos significados. Se eu apenas disser ’10′, não há sentido algum, mas é um dado.

    Informações

    Estas são formadas de reunião e sintetização dos dados. Neste nível, significados começam a surgir, mas continuam incompletos. Posso agora dizer ‘faço café com 10 colheres de açucar e 6 colheres de pó de café’. Informações já se mostram mais úteis que os dados.

    Conhecimentos

    Os conhecimentos são sínteses de informações e dados. Estes geralmente incluem conclusões lógicas de experiências. Assim posso concluir que ‘se eu usar 8 colheres de açucar com 8 colheres de pó de café posso produzir uma bebida menos doce e mais saborosa’ e ‘caso use mais água, preciso seguir a proporção de açucar e café para manter o mesmo sabor’.

    Com isso, percebi que dá para estabelecer relações entre praticamente qualquer assunto, diretamente ou indiretamente, assim como contatos numa rede social e a própria Internet. Assim, eu posso encadear dados, informações e conhecimentos uns com os outros e facilitar a produção de mais conhecimento com o cruzamento de dados e informações. Isto também permite a mente manter vivamente na memória e facilita o acesso rápido e íntegro de nossas memórias.

    Comigo é mais ou menos isso o que acontece, e acredito que seja uma boa forma de amarrar nossas experiências. A palavra-chave é: Conectar.

    Deixe-me um comentário!!

  • Meu ambiente de trabalho

    Data:2010.12.28 | Categoriavariedades | Resposta:0

    Convencido a escrever sobre meu ambiente de trabalho por Lucas Catón, descreverei meu ambiente de trabalho.

    Sou administrador de redes, e atuo mais fortemente na administração de servidores GNU/Linux, muito embora existam algumas ‘janelas’ por aqui. Sou usuário e apaixonado pelo sistema do pinguim desde 2005, que foi quando comecei no meu primeiro emprego na área de suporte técnico em um provedor de Internet via rádio.

    Minha equipe de trabalho até podia ser melhor tecnicamente, mas não creio que a amizade que temos seja facilmente superada. Passamos momentos de bonança e aflições (quando um servidor simplesmente vai dessa para melhor) e sempre aprendemos muito com cada passo dado.

    Como gosto de programação básica, acabo produzindo algumas ferramentas que me ajudem no dia-a-dia, programadas em shell, PHP, mas geralmente no bom e velho ANSI C.

    Gosto muito da minha profissão, mesmo que esteja precisando urgente de férias!!!

    Indico aos meus amigos à escreverem o mesmo:

    Deixe-me um comentário!!

  • AltGr em Linux no Acer Aspire 7520

    Data:2010.12.04 | Categorialinux | Resposta:0

    Tive um problema com o teclado do meu notebook. Mesmo que eu carregasse a layout correta, br-abnt2, a combinação das teclas AltGr + q e AltGr + w não produziam os caracteres ‘/ ‘e ‘?’ respectivamente no console. Dentro do KDE4 funcionava perfeitamente.
    A solução foi adicionar ao arquivo /usr/share/kbd/keymaps/i386/include/linux-with-alt-and-altgr.inc do meu Slackware64 13.1 as seguintes linhas:

    altgr keycode  16 = slash
    altgr keycode  17 = question
    

    Com isto, adicionei no mapeamento do teclado a combinação necessária. Para carregar, usei o comando:

    loadkeys br-abnt2
    

    Deixe-me um comentário!!