Yocto Project – Introdução

logo_yocto_cleitonbueno.com

Cada vez mais envolvido com Linux Embarcado, conheci a um tempo o Yocto Project através do Embarcados e listas, mas que de inicio não me chamou a atenção, eu que venho do costume de (bootloader, kernel, rootfs e toolchain) usando Buildroot, usei o Yocto Project para gerar umas imagens e parei por ae.

Muito fácil, desde de adquirir o projeto como um todo até o processo final de build que gera distribuições para RaspberryPI, Beaglebone Black, Intel Galileo, ARM e x86, mas o foco aqui será com embarcados, com algum uso com o qemu para didática.

A Yocto Project é o resultado da fusão com a OpenEmbedded que por sua vez já estava no mercado e já utilizava boa parte das ferramentas que encontraremos aqui.

Continue reading

Migração para cleitonbueno.com

Enquanto muitos passaram festejando e descansando no final do ano, eu iniciei uma tarefa que sabia que não seria nada fácil, que foi migrar o blog http://www.cleitonbueno.wordpress.com para http://www.cleitonbueno.com.

A iniciativa partiu quando senti falta de recursos que acabava vendo em outros blogs, e o porte que o blog já estava e achei que merecia algo mais serio depois de mais de 3 anos de vida :).

Agora o endereço é cleitonbueno.com, migrei tudo o conteúdo da versão antiga para a nova, estou usando o Hostgator como serviço de hospedagem e não tenho que reclamar, vamos ver a partir de agora, acabei mudando a interface e espero que agrade a todos.

Então, este ano já começou a todo valor, com migração e atualização do blog para um serviço maior e terei mais liberdade em varias coisas agora, você não perde por esperar.

Até o próximo post de 2015 e um excelente ano a todos.

Grande abraço.

Boletos maliciosos de domínio

BoletoFalsoGolpe

Hoje em casa, tranquilo, navegando na internet, já havia encerrado o ano no blog e esperando o ano acabar, chega um boleto da Caixa, cobrança de uma empresa REM Registros e Marcas referente ao meu domínio www.cleitonbueno.com.

Na hora, antes de abrir pensei!

Espera um pouco, meu domínio é .com, eu registrei pela GoDaddy(Do cachorrinho do comercial da TV), porque estou recebendo um boleto de uma empresa daqui referente ao meu domínio, sendo que hospedagem e registro é feito fora do Brasil?

Continue reading

Retrospectiva 7DE

E lá se vai mais um ano, bom para algumas pessoas e ruim para outras, um ano onde nós brasileiros fomos bombardeados de más noticias, como a falta de chuvas, corrupção a nível master, a decepção da copa, imoveis sendo valorizados a nível Dubai e até que enfim vejo o mercado reagir a isso e começa uma leve equalização, antes que vire uma Bolha Imobiliária como nos EUA em 2008, enfim, não vou fazer uma retrospectiva do Brasil mas sim minha, do meu blog e do mercado que vejo.

A ultima retrospectiva que fiz foi em 2012 para 2013, que pode ser acessada aqui, ainda estava na graduação e esperançoso por mudanças profissionais, 2013 para 2014 não fiz :( foi um ano bem punk pra mim, termino de graduação e problemas de saúde na família e 2014 para 2015 será agora.

O blog

Uma imagem vale mais que mil palavras, então vamos ver.

BlogCleitonBuenoEstatisticas

Continue reading

Linux – Criando graficos de chamadas C baseado no dump do GCC RTL

ImageEgyptPerlGraphvizCleitonBueno

Recentemente navegando pela internet, vi um post muito legal no blog do Sergio Prado, que pode ser visto em “Gerando um gráfico de dependência de pacotes com o Buildroot“, onde o comando dot que faz parte do Graphviz, foi possível gerar um gráfico com todas as dependências do pacote do processo de build, todo sistema como um todo ou com pacotes isolados, vale a pena conferir o post, pena que não conheci esta ferramenta antes.

Porém, já utilizei uma ferramenta parecida que também utiliza o dot do Graphviz, só que esta gera gráficos das chamadas que o código C realiza, é uma ferramenta já antiga, escrita em Perl por Andreas Gustafsson chamada Egypt. Vamos ver como este cara funciona e como utilizá-lo.

Continue reading

Python – Medindo tempo de execução

cleitonbueno_python_time_timeitQuem nunca preciso medir o tempo de algo? Digo, em foco a programação e principalmente quando se aplica Profiling, tempo as vezes é muito importante medir. Uma coisa é fazer algo funcionar, outra coisa é com eficiência e outra é ter desempenho, muitas vezes fazemos o primeiro e esquecemos o resto, eu já quebrei a cabeça em cima de uma função tentando otimização e aplicando tudo o que eu sabia e o problema não era meu e sim de uma função de uma lib pronta. Enfim, vamos ver como podemos medir tempo de execução de programas ou trechos de códigos em python.

Em C, quem já precisou, usando a library time.h podemos criar um tipo com time_t ou clock_t e utilizando duas variáveis, chamar no inicio e no fim, no final realiza uma matemática simples, normalmente substração e temos o tempo gasto, normalmente em ms(milissegundos). E quem disse que em Python é diferente? Vamos ao código exemplo, abaixo e logo em seguida adicionar a forma de medir o tempo.

Continue reading

Qt5 – Qt Console e Qt Widgets

Qt5_Console_GuiWidget

Vamos abordar aqui dois assuntos importante no Qt e principalmente do Qt Creator, se você não possui o Qt com suas ferramentas instaladas, da uma olhada neste artigo, com passo a passo para realizar a instalação e se quiser saber mais sobre o Qt veja aqui.

Eu já utilizei Qt em duas ocasiões, uma delas sem interface gráfica, onde foi uma aplicação que rodaria em Linux e que utilizou de recursos como QThread, QNetwork, QDBus, QBuffer e principalmente QDebug, deve haver mais alguma mas não me recordo, ou seja, foi desenvolvido um software que fazia diversas tarefas e rodava em background no Linux sem GUI e não necessitava em nada do usuário interagir, neste caso utilizou-se de uma aplicação Qt Console Application.

Em em outra ocasião e em mais de uma, utilizando interface gráfica, com interação do usuário, onde posso utilizar das mesmas bibliotecas do modo Qt Console porem agora com interface gráfica, no caso é conhecido como Qt Widgets Application ou (Qt Gui Application na versão 4.8), agora vamos ver como criar um e o outro.

Continue reading

Linux – Correção falha Shellshock do bash

bug_bash_shellshock_cleitonbuenoUma falha de natureza grave foi encontrada no interpretador de comando do Linux o bash, repercussão essa que foi classificada com nota de risco 10 segundo a Common Vulnerability Scoring System, uma falha mais grave que a HeartBleed do OpenSSL, que ocorreu neste ano também.

Hoje foi um dia em que muitos SysAdmins ficaram preocupados(senão loucos :/), visto que compromete o acesso remoto ao sistema podendo executar comandos de diversas maneiras até via web, se quiser ver um caso e entender melhor como funciona a falha clique aqui, correções já estão disponíveis e vou relatar como verifiquei em meus servidores o problema e como apliquei a correção.

Continue reading

Programação C – Funções

funcoesTodo ser humano, funcionário, esportista, marido (esse tem varias funções rs) ou até mesmo uma ferramenta possui funções. Você é um funcionário e foi contratado na empresa para exercer uma função (programar, analisar, engenhar, administrar, gerenciar, enfim podendo estender a função é claro), um ciclista tem o foco de sua função “pedalar”, dentro desta sua função de pedalar possui técnicas, preparos e conhecimentos para executá-la, a chave inglesa do post ela tem uma função que é girar um parafuso ou porca, tem “pé de porco” por ae que usa chave como martelo (outra função :)), volante de veiculo, trava vidro de carro, registro de chuveiro e afins, alguns usam até como armas (assistam Policia 24h!).

Em C e em diversas linguagens existem funções, cada uma possui um objetivo no caso do ciclista pedalar, e parâmetros e logicas que no caso que usamos do ciclista seria técnicas, preparos e conhecimento para executar. A logica de uma função é a mesma em todas linguagens mudando apenas a maneira de implementar e algumas particularidades da linguagem, mas vamos focar em C que é o foco do artigo, por que eu fiz toda essa encenação? Para ficar claro que função em C no inicio você pode usar para qualquer coisa mas depois de um tempo desenvolvendo, principalmente embarcado é bom ter cuidado e saber usar.

Resumidamente eu diria que uma função seria usada em um programa em C quando você for repetir uma tarefas varias vezes e também melhora e muito a legibilidade do código, pra você e alguém que dará manutenção, antes de sair implementando vamos ver como se usa uma função.

Continue reading