-
Log channels Asterisk
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
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
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
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 $PKGDeixe-me um comentário!!
-
O mundo com IPv6
Será que um dia vai ser assim mesmo?!
Deixe-me um comentário!!
-
Youtube URL offset
Hoje, 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
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
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
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
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!!
Tags
Recentes
Blog
Lista de Links
- Debugging Consultoria Debugging Consultoria
- LPI
- Voip-Info Wiki VoIP