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 »





Droplet: Um Twitter & Google Reader em C++ para Arduino

30 11 2009

 

Esbarrei com este projeto que achei bastante interessante, como um link às vezes é mais verboso do que mil palavras:

Droplet

 





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 »





II Seminário C & C++ para Sistemas Embarcados

18 10 2009

É com grande prazer que depois de alguns meses sem postar nada por aqui, venho quebrar o silêncio com uma notícia super interessante.

Depois do sucesso do evento do ano passado, este ano o Portal Embarcados, a Tempo Real Eventos e o grupo C & C++ Brasil realizará a segunda edição do Seminário C & C++ para Sistemas Embarcados.

Com palestrantes  de alto-nível e conteúdo super-interessante,  como o do ano passado, ele está imperdível!

Ele  acontecerá no dia 14 de novembro de 2009, em São Paulo, no Century Hotel, maiores detalhes vejam aqui.

Nos vemos lá.

Nasmastê!





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.





Segurança no Android

8 11 2007

Após ler o meu post Python & Android [1] um amigo questionou-me sobre o que eu pensava a respeito da segurança no Android, visto que se for possível criar scripts para o Android do OHA [2] como se faz para qualquer OS, talvez ele seria um tanto vulnerável. O curioso é que eu respondi algo muito parecido com um comentário que li posteriormente, do Mikko da F-Secure [3] que basicamente é o seguinte:

Continue lendo »





Python & Android – Open Handset Alliance

7 11 2007

 

Depois de meses de boatos, felizmente o projeto de mobile do Google – a Plataforma Android [1] – não está tomando o caminho de tornar-se um forte candidato para entrar no próximo ranking da Wired de maiores Vaporwares do mercado [2], mas sim está no caminho de tornar-se uma feliz realidade. E penso que este projeto será muito feliz também para a vida do Python nos celulares, visto que os projetos existentes até o momento de Python para celulares e dispositivos móveis afins [3] era baseado em diversos projetos, nem sempre bem implementados; e sendo o Google um dos maiores entusiastas do Python alguns passos deste projeto ficam muito evidentes.

 

Com o Google tornando público a Open Handset Alliance [4], divulgando o pool de empresas associadas ao seu empreendimento, que vai de encontro com iniciativas anteriores de empresas como a Intel, Motorola, Samsung e NTT DoComo – que posteriormene se uniram no LiMo Foundation  ou apoiaram o OpenMoko – fazem parte da aliança e agora estão juntas, associadas com T-Mobile, Sprint Nextel, Telecom Itália, China Mobila, LG, HTC, eBay, nVidia, Qualcomm e Texas Instruments o projeto já começa a deixar todo muito muito empolgado pois tem indícios que ele não terá concorrência com outros projetos Open Source existentes e resta agora aguardar o que vai acontecer.

A respeito do que o Clifford, atual CEO, da Symbian afirmou do Android é apenas outra plataforma em Linux [5] ele não deixa de ter razão, porém desta vez esta iniciativa tem um bom líder de projeto, com características importantes para o sucesso desta iniciativa e isto é claro ele não vai assumir em público.

Ao meu ver esta fórmula tem tudo para dar certo, pois anteriormente, nestas iniciativas não havia uma empresa com boas características para conduzir o projeto com sucesso, muito pelo contrário, haviam várias empresas concorrentes que é uma composição que nem sempre funciona neste tipo de iniciativa. Estou com “os analistas”, que dizem que o Google talvez seja capaz de perturbar o status quo no setor de telefonia móvel e não acredito que ele está chegando tarde, muito pelo contrário, ele chegou no momento certo.

[1] Plataforma Android

[2] Maiores Vaporwares do mercado

[3] Python ara celulares e dispositivos móveis afins

[4] Open Handset Alliance

[5] Android é apenas outra plataforma em Linux

[6] Google pertubará o status quo no setor de telefonia móvel