Leptoniando: Toda computação é sempre física

25 08 2010

Seja C, C++, Python, Java, Ruby ou Brainf*ck, independente de sua linguagem preferida, durante a análise léxica, sintática, semântica, geração do código executável ou em qualquer outra operação, na execução de programas, independente da arquitetura de run-time e dependência que ela tenha, seja instruções bare-metal ou dependente de algum sistema operacional, rodando na CPU de um ignorado microcontrolador presente em seu relógio, celular ou na CPU do seu idolatrado (ou cobiçado) notebook ou nas células de uma cloud computing, não há o que discutir, a computação é sempre um fluxo de partículas, sejam léptons do tipo elétron ou bósons de calibre como o fóton. Tudo bem que seja por influência de algum fenômeno eventualmente não se comportam como nós esperamos, porém sabendo disto determinamos faixas de tolerância e assim os mal comportados acabam sendo desprezados e vamos levando a vida praticamente sem perceber estes rebeldes e a física flui, ou tenta, nos favorecendo neste admirável mundo computacional.

Continue lendo »

Anúncios




Debriefing do Seminário C & C++ para Sistemas Embarcados 2009

16 11 2009

Neste 14/11/2009, o portal Embarcados e o grupo C & C++ Brasil com a produção da Tempo Real Eventos realizou, no Hotel Century Paulista em São Paulo, a edição 2009 do Seminário C & C++ para Sistemas Embarcados. Mais uma vez esta foi uma experiência extremamente gratificante,  principalmente pela satisfação que alguns colegas, amigos e o público em geral demonstraram durante o desenvolvimento do seminário e pós sua realização.

O DQ, da Tamid, realizou em seu blog algumas notas e abaixo segue alguns comentário que não representa nem 1% do que foi o seminário:

– O evento iniciou com uma palestra sobre Interfaces de Periféricos com Microcontroladores em C do DQ, que mostrou-se um excelente conteúdo para um Hands On com o subtítulo de “21 formas de piscar um led com linguagem C em vários microcontroladores”! 😛

– Na sequência foi a palestra do Luiz Barros, sobre Otimização de C++ para Sistemas Embarcados, que foi bem interessante e acabei em vários momentos dando meus pitacos, curiosamente mais uma vez confirmei que em aplicações com a plataforma SH4, C++ tem sido amplamente utilizado, durante o evento desenvolvedores de cinco empresas deram este feedback para mim.

– Durante o almoço, entre bits e bytes, conversamos de flamewares (e lembrei da lei do ricbit), assembly vs C++, surgiu a conversa de um projeto que me relataram muito inusitado de um sistema, onde… bom, deixa eu voltar para os relatos do seminário! :^p

– Após o almoço, o Alessandro Cunha, da TechTrainning, apresentou uma palestra que foi muito pontual tanto no assunto quanto no tempo consumido. Nos primeiros contatos com ele, fiz uma sugestão besta de tema e ele conseguiu extrair algo de bom da besteira que apresentei e formatou uma obra prima: Projetando Sistemas Embarcados com Baixo Consumo de Energia, com dicas preciosas que cativaram o público.

E encerrando o conteúdo técnico do seminário,  o Luiz Barros desmistificou o “Desenvolvimento de Device Driver para GNU/Linux”, derepente surgiram algumas pessoas no evento e quando fui conferir descobri que elas vieram apenas para ver esta palestra, alguns até começaram a dizer que perderam o medo do device drivers development. Particularmente nunca tive medo, porém device driver & kernel development é uma arte negra…

Anteriormente ajudei a enumerar 17 formas de acender um led e derepente, não mais que derepente, fez-se a teatralização da piada:

– “quantos engenheiros são necessários para acender um led”

do qual eu participei desta teatralização como coadjuvante, no qual entrei mudo e sai calado e depois me disseram que a resposta seria:

–  “um de hardware, um de firmware e um de software” (tsc)…

Mas o Alessandro Cunha foi além e pensou em escrever o livro 2001 formas de acender um led, mas nem só de led foi o seminário! Houve CAN, RS232, SPI, microcontroladores, C, C++ e felizmente tive a oportunidade rever alguns amigos e realizar alguns contatos preciosos. Particularmente fiquei feliz que uma sugestão que eu dei a Microgênios foi levada a sério e hoje eles também estão produzindo e comercializando a plataforma Arduino no Brasil, assim como troquei figurinhas  sobre os bugs da BeagleBoard com o Luis Barros, conheci um pouco mais sobre a plataforma Tower com vários colegas, vi uma apresentação de uns alunos do Dado, numa EVDK Luminary,  de uns jogos desenvolvidos em eLua que poderiam seduzir muitos aficcionados em jogos; entre muitas outras conversas.

Finalizando oficialmente evento, realizamos um sorte de brindes oferecidos por Texas Instruments, Freescale, Atmel/Kobama, Editora Erica, Tempo Real Eventos, Agit Informática e Microgênios, onde as fotos dos ganhadores podem ser vistas aqui.

Mais uma vez, fui um dos primeiros a chegar no local e um dos últimos a sair do happy hour, que aliás, como sempre, foi uma extensão do evento e o início da organização dos próximos eventos.

Namastê!!!





Go: C + Python com tempero de Erlang, Oberon, Limbo para concorrer com C++ by Google

12 11 2009

Go Mascote Uma linguagem com as facilidades sintáticas de Python, porém estática e que gere executáveis com opcodes com pouca dependência e desempenho similar aos de C e que desfrute dos recursos computacionais de concorrência que os atuais processadores e computadores oferecem com facilidade é algo que muitos, a muito tempo desejavam.  Conheço engenheiros que só tem C e Assembly como opção e que sempre costuma afirmar que “odeiam C”, pelos clássicos problemas da linguagem e compiladores.

Para minha surpresa li este artigo ontem no Slashdot:

Go, Google’s New Open Source Programming Language

Continue lendo »





eLua: Embedded Systems no mundo de Lua

6 12 2008

    Em 1996 eu fiquei extremamente feliz quando recebi minha edição da Dr.Dobbs e vi um artigo escrito por brasileiros chamado “Lua: an extensible embedded language”, confesso que fiquei tão surpreso que acabei comentando com vários colegas sobre o artigo e sobre esta linguagem que eu já tinha ouvido falar mas não conhecia ainda e acabei ficando com o estigma de ser o “cara do Lua” por alguns meses. Oito anos depois, ao encontrar um colega de faculdade ele veio me perguntar se eu “ainda” programava em Lua.

    Após 11 anos, tive outra boa surpresa quando conheci o projeto eLua, que é mantido pelo romeno Bogdan Marinescu em conjunto com o brasileiro Dado Sutter  do laboratório LED da PUC-Rio, que basicamente é um projeto que insere Lua no contexto de programação de microcontroladores, oferecendo melhor reusabilidade de código e redução de complexidade e custo de desenvolvimento. 

    Hoje ele tem suporte para as plataformas LM3S, AT91SAM, STR9, STR7, LPC2888, i386 e segundo o Dado Sutter logo o eLua estará suportando novas MCUs, assim como mais exemplos tem sido escritos com boa frequencia e novos módulos estão em desenvolvimento.  Eu o testei no meu AT91SAM7x256 e  fiquei muito entusiasmado com o projeto.   

    Para quem ficou interessado em saber um pouco mais sobre o e-Lua,  o projeto está com um novo site – baseado no Sputnik  que é um Wiki engine 100% escrito em Lua –  e a URL oficial do projeto é   www.eluaproject.net





Seminário C & C++ para Sistemas Embarcados

26 10 2008

A Tempo Real Eventos, em conjunto com o Grupo C & C++ e o Portal Embarcados, numa atividade de Interop entre comunidades, está realizando o Seminário C & C++ para Sistemas Embarcados, o que para muitos não é novidade visto que iniciamos a divulgação do evento em agosto.

Inicialmente este seminário foi previsto para um público de 200 pessoas, porém já ultrapassamos este número a algumas semanas. Overbook? Nada! Como o auditorio é modular, a Tempo Real Eventos contratou um espaço adicional para o auditório e hoje já contamos com mais de 300 inscritos.

Desta forma, este evento é hoje o evento com participação do Grupo C & C++ Brasil, que aborda exclusivamente as linguagens C & C++ com a maior quantidade de inscritos. Curiosamente, a idéia deste evento já existe desde 2005, quando com alguns colegas discutíamos sobre a iniciativa de realizar encontros community style sobre C & C++. Durante o terceiro encontro de programadores que foi um encontro que teve uma fórmula singular de poucas palestras e muito espaço para interação, numa das conversas onde discutíamos a possibilidade de realizar um evento destes, um dos colegas que afirmava que nunca tinha visto tanto programador C++ num só local, temia que não conseguiríamos mais do que 100 pessoas para este evento especifico de embarcados.

Obviamente, o cast de palestrantes tem sido um dos grandes pontos, assim como parcerias que o portal embarcados tem realizado com outras comunidades. Por exemplo, vejam a divulgação no wiki da CBE e no portal Eletronica.org

Na realidade há muito o que comentar sobre ele, porém deixarei para realizar estes comentários durante e após o evento. Para inscrever-se, vá no site do evento e siga as instruções. Nos encontramos lá.

Namaste! 🙂





Open Hardware & meus insetos…

26 10 2008

Não sou entomologista, mas ultimamente tenho dado bastante atenção, codificando, debugando e me divertindo com meus insetos, sendo os meus atuais alvos um ATmega644p numa placa Sanguino e um AT91SAM7X256 numa placa Make Controller, sendo ambos projetos de Open Hardware bem interessantes, em virtude dos projetos que estou envolvido não tem sobrado muito tempo para isto, mas são para estes caras que tenho codado ultimamente em meu tempo livre, com foco tanto na utilização de Python Embedded como no desenvolvimento de um robot que a passos tartaruguais tem evoluído, porém as diversas experiências que tenho realizado tem compensado esta lentidão. Entre uma codificação e outra, sempre penso que eu deveria postar isto ou aquilo neste blog, porém não tenho feito e acabei deixando um silêncio quase eternal nele, agora com este silêncio quebrado prometo publicar com uma certa freqüência conteúdo relativo a estas minhas últimas pesquisas e desenvolvimentos, com o esforço de tentar escrever conteúdo interessante.

O Sanguino é um clone do Arduino bombado, como o Jê já havia comentado em seu blog. Algo que portei para ele com sucesso e fiz várias brincadeiras foi o PyMite que é um port de Python para microcontroladores de 8 a 16-bits, sendo um subset do Python 2.5, além de vários programas em C++ serviram como prova de conceito para mostrar que é possível sim desenvolver firmware em C++, desde que alguns cuidados sejam tomados, porém como o Dan Saks diria, embedded systems programming para certos microcontroladores é um mundo de limitações portanto não há novidades aqui. Dan é um dos grandes defensores da utilização de C++ em embedded systems, palestrando em vários eventos de grante porte sobre C++ Bare-Metal, inclusive o Galuppo é um dos amigos que tenho que já assistiu uma palestra dele e afirmou que ele é um show-man.

Algo que tem me chamado a atenção, é que nos últimos meses ouvi relato de 5 colegas que estavam envolvidos no desenvolvimento de RTOS. Destes 3 são para uso restrito das empresas desenvolvedoras onde em duas a decisão de “reinventar a roda” partiu de problemas com licenciamento, outro caso é de uma empresa que está sendo projetado um para uso em um segmento de mercado específico procurando ser uma alternativa para facilitar o desenvolvimento de embedded systems neste segmento e um outro em breve será lançado publicamente com uma versão Open Source. Minhas experiências tem sido com o eCos, uCLinux e com FreeRTOS, sendo-se que deste último, prometo escrever algo nos próximos posts. Assim, deixo claro que apesar de eu gostar de código bare-metal não sofro de OSofobia, mal que atinge programadores de sistemas embarcados.





Quinto Encontro de Programadores do grupo C & C++ Brasil::Extras

26 10 2008

Ao lidar com um registro em um relátorio esta semana, onde havia uma afirmação muito pitoresca onde um ilustre colega registrou que 100% do que foi discutido nas reuniões (que ele não participou) estava implementando num dado sistema, comecei a pensar em muitas coisas! Dentre elas que não estou documentando certos fatos de alguns eventos que tenho participado, colaborado na organização ou dado apoio moral… então, vamos lá! Ainda está em tempo…

Algo no qual eu estava pensando em blogar já a alguns dias é sobre o Quinto Encontro de Programadores do grupo C & C++ Brasil, que foi um evento único pra nós do grupo, tanto pelo patrocínio do MSDN Brasil e da Agit Informática, quanto pela evolução da organização do mesmo. Porém por um acaso acabei vendo que o Jumpi já havia feito uma cobertura, e o Caloni fez uma chamada para a thread que ocorreu na cppbrasil onde nossos amigos (e inclusive eu) deixamos nossas notas sobre o encontro, mas deixarei aqui alguns registros extras e outras observaões pessoais:

– Gostei muitissimo do keynote do Otávio Pecego Coelho. Recentemente uma faculdade me procurou para que eu palestrasse para eles sobre C & C++ e o formato que eu pensei em adotar foi justamente o formato adotado pelo Otávio, comentando sobre a experiência profissional dele com as linguagens e utilizando como referêncial alguns livros clássicos e como eles colaboraram ou influenciaram os rumos que ele tomou. Portanto, se alguém me ver fazendo algo similar, não é plágio! 🙂

– A apresentação do Strauss para mim teve uma emoção extra, pois devido a um probleminha técnico ocorrido com o som, corri feito louco para tentar ajudar a resolver, infelizmente o máximo que consegui foi pedir para a pessoa certa solicitar ajuda para o técnico de som. Mas isto me fez pensar sobre vários detalhes e posteriormente o Pedro Lamarão chamou para mais alguns detalhes que conversamos rapidamente com o pessoal do grupo, são n cossitas mas que fazem diferença. Portanto involuntariamente o Strauss acabou nos brindando com este incidente em sua apresentação.

– A presença das garotas foi algo que nos chamou a atenção, além de não ser comum ter 17% do público de encontro de programadores composto por garotas, ainda mais de C e C++, as que se inscreveram compareceram. Curioso, não? Por outro lado, a galera do sexo masculino não fez o mesmo. Portanto, foram eles que nos fizeram encerras as inscrições quando muitos ainda queriam se inscrever…

– Neste evento, pela primeira vez em público comentei sobre a Conferência C & C++ Brasil que acontecerá nos dias 17, 18 e 19 de fevereiro de 2009 em São Paulo, no Centro de Convenções Novotel Jaraguá e que terá algumas paricipações bem interessantes. Sendo este um assunto que merece um post único, assim que mais alguns detalhes forem acertados lançarei tal post.

– Um assunto que várias vezes veio a tona foi a dificuldade de encontrar profissionais qualificados, situação existente em vários contextos da indústria atual, com a tal desaleceração econômica prevista pelos gurus que quase nunca acertam algo ao não ser que seja um elefante rosa passeando em praça pública, talvez esta procura diminua um pouco, mas mesmo assim a dificuldade permanecerá. Mas sendo prático, 7 colegas comentaram que suas empresas estava buscando programadores de C e/ou C++, e alguns colegas foram até assediados. Mais uma vez, divulguei a lista Dev Guys que é o canal que nós da ccppbrasil está utilizando para direcionar as divulgações de vagas e que os colegas do portal embarcados também tem utilizado.

– Há centenas de fotos (muitas repetidas), assim como vídeos que a Ying da USP gentilmente filmou para nós. Gradualmente colocaremos tudo no ar, sendo que as fotos na próxima semana já estarão disponíveis no nosso album de fotos em http://picasaweb.google.com/ccppmeetings não estando lá ainda apenas por uma pequena questão logística.

Neste encontro, sorteamos os adesivos que o Jeff Atwood do blog Coding Horror nos doou, assim como mais algumas coisinhas que nos doaram para sortear como: livros da O´Reilly, Pearson Education, vários badulaques da MSDN Brasil , entre chaveiros, canetas e uma Mochila, um livro cedido pelo Roberto Santos e um livro autografado do Herb Sutter que ganhamos certa vez da Microsoft (por intermédio do Adlich) que utilizamos para homenagear os esforços do Lamarão a nossa causa.

Com certeza esqueci de algumas coisas, portanto leiam o blog do Jumpi e a thread no grupo ccppbrasil para se interar um pouco mais sobre o assunto. E é isto.

Namaste!