Dobradinha: Encontro de Maio do Grupy-SP & Seminário C++ Portabilidade & Perfomance

12 05 2008

Concordo com o DQ que o gênio (ou genioso se preferir) Adelir de Carli é um Candidato a um Darwin Award, assim como concordo com o Christiano Anderson que o encontro do GruPy-SP no escritório do Google-SP foi excelente e principalmente com o Caloni que está na hora de reservar suas cadeiras para o Seminário C++ Portabilidade & Performance, afinal dentro de várias boas razões para se utilizar C++ uma delas é a Performance! Este post do Caloni é um bom começo, porém se preferir vá direto na fonte e faça sua inscrição na página do evento.

O curioso é que um dia antes irá ocorrer o encontro de Maio do Grupy-SP no Centro de Computação da Unicamp, em Campinas que irá durar o dia inteiro. Iniciar o final de semana na sexta com o encontro de Python e no sábado ir para o seminário C++ P&P será muito divertido!

Já me perguntaram num metrô, num shopping, numa livraria, num restaurante e por vários e-mails quando será o próximo encontro do EPA-CCPP, sinceramente fico feliz que os anteriores tenham agradado mas por enquanto não há nada definido, mas espero em breve ter boas novas sobre isto! E você não foi no último encontro? Tenha um overview pela cobertura que o nosso amigo Caloni deu no qual ele afirmou que nossa comunidade está ganhando forma, assim como recomendo uma visita a página do 4o.EPA_CCPP que contém link para as apresentações utilizadas, além de um excelente tutorial de QT e também link dos vídeos de 3 apresentações que ocorreram no encontro. E modéstia a parte, como o nosso colega nerd pós-moderno Lamarão afirmou; foi um Nerds Meeting que exalou inteligência! :-)




Arthur C. Clarke (1917-2008)

21 03 2008

Já eternizado por seu trabalho a décadas, desde os tempos que o primeiro satélites de comunicação geo-estacionário entrou em órbita, a morte de Artur C. Clarke me fez romper o estado de ostracismo que eu estava com meu blog. Um dos grandes ídolos da ficção cientítica, considerado um dos grandes gênios da humanidade, ele foi um dos grandes autores e sua clássica máxima “a vida é como uma nova órbita em torno do sol” sempre me marcou, tanto que era frase que eu tinha no header de meu primeiro e esquecido blog.

Leia o resto deste post »




4o.C & C++ Meeting

24 02 2008

Depois de reunir programadores de C & C++ num encontro no formato technical meeting, o Sampa C & C++ ruiu de vez, o grupo C & C++ Brasil ganhou mais força, resoluções importantes surgiram e já estamos em ritmo de DevTech 2008 onde estaremos presentes numa mesa redonda sobre o VC++ no Visual Studio 2008 e já está sendo preparado o 4o.Encontro de Programadores C & C++ que acontecerá no dia 29/03 e das atividades em programação teremos as seguintes palestras:

  • Programação em C para Microcontroladores por Daniel Quadros
  • Arquitetura e Desenvolvimento de Drivers com C para Windows por Fernando Silva
  • TCP/IP via Boost.Asio por Rodrigo Strauss
  • Desenvolvimento Cross-Platform em C++ com Qt por Basílio Miranda

Além das seguintes atividades extras:

  • Painel sobre a nova edição do livro “Programação Orientada a Objeto com C++” pelo Dr.André Duarte Bueno.
  • Painel sobre evolução do grupo e idéias para o próximo encontro.

Maiores detalhes na página do evento no wiki do grupo C & C++ Brasil.

E o movimento para replicar a iniciativa em outros locais está indo de vento em popa, assim como já está surgindo a idéia de organizar uma estrutura para amparar todos os encontos realizados com a bandeira do grupo C & C++ Brasil.




1ª uCon

3 01 2008

Em 9 de fevereiro vai acontecer a primeira uCon, conferência de
segurança da informação, hacking e tecnologia realizada em Recife, PE.
A conferência não tem fins lucrativos, não terá palestras de empresas
tentando vender produtos e a entrada é gratuita.
Call for participation: http://ucon.thebugmagazine.org/cfp.php

From: [i shot the sheriff] Edição 41




3º Encontro de Usuários de C/C++ de São Paulo

23 12 2007

Ocorrerá em São Paulo no dia 19 de Janeiro de 2008, a terceira edição do encontro de usuários de C/C++ associados ao grupo C/C++ Brasil, isto é o 3º Sampa C/C++ Users Groups - Meeting.

Esta 3ª edição, sendo a primeira no formato de reunião técnica com palestras, está focada na linguagem C++ e terá seguinte programação:

  • 09:30 às 10:00 - Introdução e Apresentação dos Membros do Encontro
  • 10:00 às 11:00 - C++ com WxWidgets por Ivo Nascimento
  • 11:00 às 11:30 - Debate
  • 11:30 às 11:45 - Coffe-Break
  • 11:45 às 12:45 - C++0x - Novas características de suporte a projetos de bibliotecas genéricas por Pedro Lamarão
  • 12:45 às 13:15 - Debate
  • 13:15 às 14:30 - Almoço
  • 14:30 às 15:30 - Threads no C++0x - Wanderley Caloni
  • 15:30 às 16:00 - Debate
  • 16:00 às 16:15 - Coffe-Break
  • 16:10 às 17:30 - Forum sobre a Organização do Grupo de Usuários e da C/C++ Conference Brasil.
  • 17:30 às 20:00 - C/C++ Beer Meeting!

Os temas são avançados para usuários iniciantes, porém todos os usuários de C++ dispostos a participar são bem vindos!

A entrada é gratuita e a realização será no auditório da APEOSP que fica na Praça da República, 282, Centro - São Paulo.

Este evento conta com o patrocínio da AGIT Informática – Desenvolvimento, Consultoria & Treinamentos em C/C++ (www.agit.com.br)

Para maiores informações vejam o respectivo link no site C/C++ Brasil




Jogos mentais

2 12 2007

head copy.gif

Jogos mentais? Uma dos trabalhos que  o pessoal do Media Lab - MIT  Europa  [1] tem desenvolvido é uma plataforma chamada  MindGames  onde eles desenvolvem tecnologias que podem expandir e melhorar o potencial humano, baseado em sinais gerados pelo corpo para interagir com as tecnologias.  Muito interessante, mas no fundo fico pensando “quando” estas tecnologias serão realmente massificadas.

[1] Media Lab - MIT  Europa

[2] MindGames




C/CppCon Brasil / C/C++ Conferece Brasil

26 11 2007

Após uma semana do início das especulações sobre a realizaçaõ do C/C++ Conference o que era uma idéia pra um evento de 1 dia parece ser pequeno pelo feedback e pelo retorno recebido até agora sobre a iniciativa.

Estou bastante “empolgado” com o feedback recebido até o momento, ao menos em matéria de conteudo tenho certeza que este será um grande evento. Em breve postarei mais novidades sobre o assunto.




Código-fonte do MULTICS liberado pelo MIT

14 11 2007

Por isto eu não imaginava, o código fonte do sistema operacional MULTICS (Multiplexed Information and Computing Service) foi aberto pelo MIT! Pedra fundamental de toda uma nova geração tecnológica, este projeto (e a lentidão em sua conclusão que foi encarada como fracasso inicial por alguns) inspirou o desenvolvimento do UNICS por Ken Thompson utilizando seu tempo ocioso num PDP-7 esquecido, que era um MULTICS numa arquitetura mais simplista. A grande prova de conceito da linguagem C recém criada por Brian Kernighan foi a reescrita do UNICS que foi rebatizado de UNIX, como todos já sabem.

Leia o resto deste post »




gcc -fstack-protector-all, Mudflap, DUMA e o Valgrind!

11 11 2007

“Quem programou em C ou C++ já esbarrou nesta categoria de erro: buffer overflows que podem vir acompanhados” (ou não de) outros problemas como ponteiros não inicializados, memory leaks, etc e como afirma o David LeBlanc “toda vulnerabilidade pode ser explorada até que se prove o contrário”, portanto codificar de forma segura e debugar é preciso! Entre algumas dicas já oferecidas aqui anteriormente, segue um artigo bem interessante do Savago onde ele trata de um específico tipo de buffer overflow e ele aborda o Mudflap e cita o Valgrind, que é uma ferramenta recomendada pelo Michael Behm como ferramenta para detectar problemas de memória.

[1] Detectando buffer over/underflow em C e C++ com ferramentas OpenSource

[2] Mudflap

[3] Valgrind

[4] Using valgrind to detect and prevent application memory problems




ANSI C + Bluetooth + PyS60 + (…) = AMORA

10 11 2007

Já pensou em controlar os slides de sua apresentação com o celular? E num controle do seu desktop como celular inclusive com a opção de tirar screenshots de suas sessões?

Pois é exatamente isto que o projeto AMORA [1] (A Mobile Remote Assistant) do Adenilson Cavalcanti proporciona. Particularmente, vi uma apresentação da aplicação do próprio mantenedor (o Adenilson) no CONINSLI e achei a aplicação bastante interessante.

Leia o resto deste post »




Os formatadores de strings da Granja do Solar

7 11 2007

Recentemente fiz uma revisão de código onde encontrei sprintf, gets, strcat e strcpy para todos os cantos, além de outros pecados mortais. Não houve como não lembrar dos capítulos “os formatadores de strings da Granja Solar” do livro Exceptional C++ Style (que traduzido para o pt-br virou Programação Avançada em C++) do Herb Sutter, onde de uma forma divertida ele cita George Orwell:

 

“Todos os animais são iguais, mas alguns são mais iguais do que outros”

Descontando os detalhes não tão óbvios, sobre strings, com várias fontes bibliográficas (inclusive em português) não acreditei na quantidade de código inseguro que encontrei num software comercial, mas é como diz o Jeff Atwood do Coding Horror [1] para encontrar código inseguro, basta procurar!

Leia o resto deste post »




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




Lista dos 100 maiores gênios vivos do mundo

2 11 2007

Fonte:  Telegraph - Top 100 living geniuses

Uma empresa britânica de consultoria chamada Creator Synetics, fez uma pesquisa e compilou uma lista dos 100 maiores gênios vivos do mundo e o resultado foi bastante inusitado.

Nela, há apenas um brasileiro o  arquiteto Oscar Niemeyer (que com certeza ele apareceu por estar em evidência pelo seu centenário) e o mais curioso é que quem está em primeiro lugar é nada mais nada menos de que o inventor do LSD empatado com Tim Berners-Lee.

Larry Page & Sergey Brin do Google aparecem em 20º lugar, Steve Wozniark aparece em 67º lugar empatado com os músicos David Bowie,  Aretha Franklin e com a economista americana Emily Oster e o hilário é que Bill Gates aparece emptado com Osama Bin Laden, Mohamed Ali, com o escritor americano Philip Roth, com o invetor do microfone James West e com um cientista vietnamita chamado Tuan Vo-Dinh.

Segue abaixo esta “bizarra” lista:

       
1= Albert Hoffman (Swiss) Chemist 27
1= Tim Berners-Lee (British) Computer Scientist 27
3 George Soros (American) Investor & Philanthropist 25
4 Matt Groening (American) Satirist & Animator 24
5= Nelson Mandela (South African) Politician & Diplomat 23
5= Frederick Sanger (British) Chemist 23
7= Dario Fo (Italian) Writer & Dramatist 22
7= Steven Hawking (British) Physicist 22
9= Oscar Niemeyer (Brazilian) Architect 21
9= Philip Glass (American) Composer 21
9= Grigory Perelman (Russian) Mathematician 21
12= Andrew Wiles (British) Mathematician 20
12= Li Hongzhi (Chinese) Spiritual Leader 20
12= Ali Javan (Iranian) Engineer 20
15= Brian Eno (British) Composer 19
15= Damian Hirst (British) Artist 19
15= Daniel Tammet (British) Savant & Linguist 19
18 Nicholson Baker (American Writer 18
19 Daniel Barenboim (N/A) Musician 17
20= Robert Crumb (American) Artist 16
20= Richard Dawkins (British) Biologist and philosopher 16
20= Larry Page & Sergey Brin (American) Publishers 16
20= Rupert Murdoch (American) Publisher 16
20= Geoffrey Hill (British) Poet 16
25 Garry Kasparov (Russian) Chess Player 15
26= The Dalai Lama (Tibetan) Spiritual Leader 14
26= Steven Spielberg (American) Film maker 14
26= Hiroshi Ishiguro (Japanese) Roboticist 14
26= Robert Edwards (British) Pioneer of IVF treatment 14
26= Seamus Heaney (Irish) Poet 14
31 Harold Pinter (British) Writer & Dramatist 13
32= Flossie Wong-Staal (Chinese) Bio-technologist 12
32= Bobby Fischer (American) Chess Player 12
32= Prince (American) Musician 12
32= Henrik Gorecki (Polish) Composer 12
32= Avram Noam Chomski (American) Philosopher & linguist 12
32= Sebastian Thrun (German) Probabilistic roboticist 12
32= Nima Arkani Hamed (Canadian) Physicist 12
32= Margaret Turnbull (American) Astrobiologist 12
40= Elaine Pagels (American) Historian 11
40= Enrique Ostrea (Philippino) Pediatrics & neonatology 11
40= Gary Becker (American) Economist 11
43= Mohammed Ali (American) Boxer 10
43= Osama Bin Laden (Saudi) Islamicist 10
43= Bill Gates (American) Businessman 10
43= Philip Roth (American) Writer 10
43= James West (American) Invented the foil electrical microphone 10
43= Tuan Vo-Dinh (Vietnamese) Bio-Medical Scientist 10
49= Brian Wilson (American) Musician 9
49= Stevie Wonder (American) Singer songwriter 9
49= Vint Cerf (American) Computer scientist 9
49= Henry Kissinger (American) Diplomat and politician 9
49= Richard Branson (British) Publicist 9
49= Pardis Sabeti (Iranian) Biological anthropologist 9
49= Jon de Mol (Dutch) Television producer 9
49= Meryl Streep (American) Actress 9
49= Margaret Attwood (Canadian) Writer 9
58= Placido Domingo (Spanish) Singer 8
58= John Lasseter (American) Digital Animator 8
58= Shunpei Yamazaki (Japanese) Computer scientist & physicist 8
58= Jane Goodall (British) Ethologist & Anthropologist 8
58= Kirti Narayan Chaudhuri (Indian) Historian 8
58= John Goto (British) Photographer 8
58= Paul McCartney (British) Musician 8
58= Stephen King (American) Writer 8
58= Leonard Cohen (American) Poet & musician 8
67= Aretha Franklin (American) Musician 7
67= David Bowie (British) Musician 7
67= Emily Oster (American) Economist 7
67= Steve Wozniak (American) Engineer and co-founder of Apple Computers 7
67= Martin Cooper (American) Inventor of the cell phone 7
72= George Lucas (American) Film maker 6
72= Niles Rogers (American) Musician 6
72= Hans Zimmer (German) Composer 6
72= John Williams (American) Composer 6
72= Annette Baier (New Zealander) Philosopher 6
72= Dorothy Rowe (British) Psychologist 6
72= Ivan Marchuk (Ukrainian) Artist & sculptor 6
72= Robin Escovado (American) Composer 6
72= Mark Dean (American) Inventor & computer scientist 6
72= Rick Rubin (American) Musician & producer 6
72= Stan Lee (American) Publisher 6
83= David Warren (Australian) Engineer 5
83= Jon Fosse (Norwegian) Writer & dramatist  
83= Gjertrud Schnackenberg (American) Poet 5
83= Graham Linehan (Irish) Writer & dramatist 5
83= JK Rowling (British) Writer 5
83= Ken Russell (British) Film maker 5
83= Mikhail Timofeyevich Kalashnikov (Russian) Small arms designer 5
83= Erich Jarvis (American) Neurobiologist 5
91=. Chad Varah (British) Founder of Samaritans 4
91= Nicolas Hayek (Swiss) Businessman and founder of Swatch 4
91= Alastair Hannay (British) Philosopher 4
94= Patricia Bath (American) Ophthalmologist  
94= Thomas A. Jackson (American) Aerospace engineer 3
94= Dolly Parton (American) Singer 3
94= Morissey (British) Singer 3
94= Michael Eavis (British) Organiser of Glastonbury 3
94= Ranulph Fiennes (British) Adventurer 3
100=. Quentin Tarantino (American) Filmmaker 2



*nix com cara de MacOSX

2 11 2007

É possível deixar o seu *nix com cara de Mac OS X? Sim, é possível!

 

Resolvi fazer a experiência e até agora estou gostando, para saber como fazer vá em Make Your Linux Desktop Look Like A Mac - Mac4Lin Project Documentation e siga passo-a-passo.

Mac4Lin.jpg

[1] Make Your Linux Desktop Look Like A Mac - Mac4Lin Project Documentation

[2] http://sourceforge.net/projects/mac4lin

 




Temos a tecnologia… e agora?

1 11 2007

Sou um entusiasta do F#, pois foi a linguagens mais próxima de OCAML que encontrei e gostei muito das experiências que tive com ela, porém foram experiências de pesquisa muito pontuais.

Algo que tenho visto com freqüência nos últimos anos, é que certas buzzwords são proclamadas aos quatro ventos, nem sempre vinculadas a verdadeiras inovações, porém quando os produtos que implementam estas as tecnologias são efetivamente disponibilizados ou estes não obtém o devido o sucesso comercial esperado ou as features não são utilizadas da forma devida.

Um destes exemplos são os serviços de Spatial Data Mining e GIS, Serviços de Informação Geográfica, que efetivamente não teve o proclamado “boom”.  Situação que o Google, a Microsoft e o Yahoo talvez ajudem a reverter com suas iscas de GIS.

Ultimamente tenho ouvido muito falar de mashups, o conceito é interessante, tenho lido e ouvido falar muito a respeito dele, a Gartnet aponta o conceito como uma das grandes tendências e recentemente no Microsoft Track o Otavio Pecego Coelho  enfatizou o tempo todo, assim como S+S, ESB, ISB, SAAS e web 2.0.  Porém, tenho minhas dúvidas se os provedores de soluções irão obter grande sucesso na implementação de mashups com sucesso efetivo, porém a Microsoft tem trabalhando em sua grande isca; o Popfly [1]

Da mesma forma, eu já estava comentando recentemente com um amigo, que as linguagens dinâmicas estão surgindo porém não se vê muito comentar sobre algoritmos de programação dinâmica e agora está chegando a vez das linguagens funcionais, até então  popular no meio acadêmico e que fora dele sempre tem conquistado o seu WPT,vide o post tem para todos gostos [2] do Straus; onde ele questiona a utilização do OCAML no ICFP.

Por um acaso vi o post Renascimento [3] do Otávio que aborda justamente este sentimento. Como comentei num post anterior , acho que quando o Somasegar [4] afirma que uma das expectativas sobre o F# é consquistar mais o espaço acadêmico, é porquê o próprio pessoal da Microsoft sabe que sua utilização será mais pontual no meio científico.  Talvez eles obtenham sucesso por um fator extremamente significante; o Visual Studio e o MSDN AA (Academy Alliance). Uma resposta a esta iniciativa,  pode ser uma maior investida do EclipseFP ou Eclipse OCaML [5], agora é só ver o que acontece se a ajuda da Microsoft será direto (na adoração do F#)  ou indireto; via o fortalecimento do OCAML.

Façam suas apostas! :o)

[1] Popfly

[2] Tem para todos gostos

[3] Renascimento

[4] Anúncio do F# pelo Somasegar

[5] EclipseFP ou Eclipse OCaML




8 Regras simples para o desenvolvimento de código mais seguro

28 10 2007

Novembro é mes de Segurança na revista MSDN Magazine e após ler alguns artigos, realmente nenhum me chamou tanto a atenção quanto um artigo do ano passado do “Michael Howard” que aborda:

* Uso de ferramentas de análise e especialistas para rever seu código
* Redução do risco utilizando difusão e modelagem de ameaça
* Manutenção da entrada errada fora dos aplicativos
* Aprendizado de tudo sobre conceitos de segurança

Sinceramente, vale a pena “estudar” o artigo, pois apesar dos conceitos não serem novos a abordagem do Michael Howard está muito boa.

E aproveitando, já que o Howard é um dos pais do SDL [2] recomendo a leitura dos blog do SDL Team e principalmente o post que trata um relatório do governo americano chamado State of the Art of Software Security Assurance que dá muito destaque ao SDL.

De qualquer forma na revista deste último ano, também há um artigo dele bem interessante que é o [5] “Lessons Learned from Five Years of Building More Secure Software” ou lições aprendidas em 5 anos de criação de softwares mais seguros, no geral a revista está  interessante mas me agradou menos do que a de 2006.

[1] MSDN Magazine - 8 Regras simples para o desenvolvimento de código mais seguro

[2] Trustworthy Computing Security Development Lifecycle

[3] SDL Team

[4] “State of the Art of Software Security Assurance” Report

[5]  Lessons Learned from Five Years of Building More Secure Software




F# - Novos Rumos da Linguagem de Programação Funcional da Microsoft

24 10 2007

O Somasega (VP de desenvolvimento corporativo da Microsoft que é responsável pelo desenvolvimento do Visual Stúdio) anunciou na semana passada [1] que finalmente a Microsoft irá integrar sua linguagem de programação funcional - o F# [2] do Don Syme [3] Microsoft Research - nativamente ao Visual Studio com o suporte do Microsoft Forms Team.

Após alguns recursos inspirados em linguagens funcionais serem implementados no C# e no .Net como as expressões lambda, generics, LINQ e o Parallel FX este projeto avança dentro da estratégia do Visual Studio e Somasega deixa explícito que “uma” das motivações deles é conquistar o espaço acadêmico com o F# em conjunto com o IronPython e do IronRuby.

Considerando que as linguagens de programação funcionais tem estado mais restritas ao meio acadêmico do que no desenvolvimento de software comercial “talvez” este pode ser o princípio de alguma quebra de paradigmas, obviamente nos nichos onde este paradigma de programação seja mais adequada em contraponto a programação imperativa; visto que esta iniciativa pode colocar as linguagens funcionais em maior evidência, porém isto só o tempo dirá…

[1] F# - A Functional Programming Language

[2] F#

[3] Don Syme’s WebLog on F# and Other Research Projects

[4] S. Somasegar on taking F# forward

[5] Conception, evolution and application of functional programming languages




IronPython (1.1) agora é suportado pelo SharpDevelop (2.2)

22 10 2007

Um importante addin que integra o IronPython no SharpDevelop 2.2 acaba de se lançado,  pelo que testei, acredito que esta é hoje a melhor opção de IDE para o IronPython. No blog do [1] Matt’s ele detalha um pouco sobre este addin e oferece alguns exemplos bem úteis, porém ele alerta que este trabalho ainda é beta e que o release oficial será para o SharpDevelop 3 suportando o IronPython 2.0.

[1] Blog do SharpDevelop Community Site




PythonBrasil: Primeira Linguaguem

10 05 2007

Num desavergonhado plágio de um resumo do Marinho de uma das discussão interessantes que rolou na lista PythonBrasil sobre a “primeira linguagem de programação” segue abaixo algumas declarações interessantes:
decopzp: ” A galera nas faculdades no meio de programação so fala em Java. Queria saber como começar a aprender Python, gostei muito só que estou com algumas duvidas em relação a classes methodos e etc…Na verdade que saber tudo como fazer o que fazer…Não aguento mais java”

Luciano Ramalho: “Em Java, existe uma aberração sintática chamada “inner classes” que foi parida para suprir a grotesca falta de um jeito de se passar funções como parâmetros. Apenas uma das diversas falhas gritantes de projeto da linguagem Java. Mas é uma ótima linguagem para quem está em busca de um emprego chato.

Agora sério: Java é um excelente substituto para C++. Empresas e instittuições que antes desenvolviam em C++ agora têm uma alternativa mais segura e confiável para seus projetos. Faz todo o sentido a Apache Foundation e a IBM usarem Java, por exemplo.

O grande erro que muitas empresas no mercado estão cometendo é substituir linguagens de mais alto nível por Java, e achando que a queda de produtividade é apenas passageira, enquanto a equipe não ganha fluência na linguagem.”

Rodrigo Senra: ” No contexto particular de ensino *introdutório* de programação, eu diria que Java como primeira linguagem é no mínimo nocivo.

> Java está na moda.

Piercing também está. Fumar já esteve na moda. Particularmente eu não sou um cara que liga para a moda. Prefiro mais a média, ou até mesmo a mediana ;o)

Em suma, o fato de Java estar na moda para mim só não é irrelevante porque me atrapalha. Atrapalha pois tenho que convencer semi-leigos de que o fato de Java estar na moda é irrelevante ;o) Eu não digo para o Padre qual vai ser o sermão, eu não digo para
o padeiro como fazer o pão nem para o médico qual o tratamento que quero receber antes dele dar o diagnóstico. O computeiro, apesar do nome cacofônico, merece respeito. Uma tecnologia ditada pela moda, e não fundamentada pela análise prática e teórica, é uma falta de respeito para a nossa classe.

> Ela é uma otima linguagem

Aqui concordo, ela tem seu nicho e suas vantagens. E ainda é melhor que *muita* linguagem por aí.

> Vamos com calma. Python está sendo usada em cursos
> introdutorios de programação pois é uma linguagem de fácil acesso…
> mas isso nao quer dizer que seja a melhor linguagem do mundo.

Melhor é um conceito extremamente dependente de contexto. No contexto de ensino introdutório, ainda não vi nada melhor do que Python.”

Luciano Ramalho: “tenho plena consciência de que existem milhões de programadores brilhantes que preferem Java. Mas eu não resisto a uma oportunidade de criticar o Java, exatamente porque “está na moda”.

Isso tem duas consequências lamentáveis, a meu ver:

(1) muitos gerentes que não sabem distinguir uma referência de um ponteiro escolhem Java para projetos que poderiam ser muito melhor resolvidos em PHP, Python, Ruby, Perl, VBScript etc, e acabam submetendo equipes inteiras de desenvolvedores a uma linguagem e uma API que são otimizadas para projetos imensos e complexos, e
consequentemente acabam induzindo projetos pequenos e simples a ficarem imensos e complexos também.

(2) é tão sofrido aprender e ficar produtivo em Java que muitos de programadores estão ficando sem vontade de aprender uma segunda, terceira ou quarta linguagem, com medo de passar pelo mesmo calvário de novo; pior, depois de suar tanto a camisa para aprender Java, muitos se convencem de que complexidade == qualidade, e que uma linguagem mais fácil de usar, como Python, tem que ser necessariamente inferior ou mais limitada, o que absolutamente não é verdade.”

Luciano Ramalho:
> E como ensinar herança múltipla, sobrecarga de operadores e tipagem
> dinâmica em uma linguagem que não os suporta/não os tem?

Sua lista de conceitos de OO está contaminada por uma perspectiva javista, Gleidson. Smalltalk, a primeira e até hoje uma das melhores linguagens orientadas a objeto já criadas tem tipagem dinâmica e não tem interfaces. C++ tem sobrecarga de operadores e não tem interfaces. Ninguém pode dizer que Smalltalk e C++ não são exemplos de linguagens
orientadas a objetos (*). Enfim, o que é essencial em uma linguagem orientada a objetos? A resposta não é simples, nem única.

> A questão do Java é meio que a popularidade dele.

Sim, é o que eu tenho dito: a popularidade do Java é ao mesmo tempo sua maior virtude e seu maior defeito. O defeito está no fato de qua a “popularidade” está levando milhares de empresas a usarem Java para desenolver aplicações que seriam feitas de forma muito mais simples com uma linguagem mais ágil, como Python, Ruby, Perl ou até mesmo PHP
e VBScript.

> É fácil achar um
> computador que tenha um ambiente java instalado. Agora vai achar um que
> tenha o python instalado pra poder rodar os programas?

A Microsoft parou de distribuir Java com o XP, lembra? Há anos o Java perdeu a vantagem de sair pré-instalado em milhões de máquinas Windows. No Linux, praticamente qualquer distribuição vem com Python, mas não com Java. E no MacOS X vem as duas.

> Fora que em Python não é compilado, então tens que
> dar o código-fonte para que alguém possa rodar seu programa.

Não é verdade. Python é compilado para um bytecode, assim como o Java. E eu posso distribuir este bytecode em vez do fonte. Mas existem ferramentas capazes de regenerar o código-fonte a partir do bytecode, tanto no caso do Java quanto no caso do Python. De qualquer forma, para 90% dos desenvolvedores essa questão é irrelevante, porque não
somos pagos para produzir software proprietário que vai ser vendido em caixinhas, e sim para desenvolver soluções customizadas para clientes, internos ou externos, que exigem o fonte de qualquer maneira.”

Luciano Ramalho:
> Ninguém pode dizer que Smalltalk e C++ não são exemplos de linguagens
> orientadas a objetos (*).

Faltou explicar o (*)…

O Alan Kay, líder da equipe que criou Smalltalk, uma vez disse:

“I invented the term Object-Oriented, and I can tell you I did not have C++ in mind.”

“Eu inventei o termo Orientado a Objetos, e posso lhe dizer que não estava pensando em C++.”

Se tem alguém que pode dizer o que é ou deixa de ser OO, é o Alan Kay.”

Luciano Ramalho: “Gleidson, talvez vc não saiba ou passou batido, mas interfaces são uma gambiarra no java para fornecer herança multipla. A unica coisa que é bom em interfaces é que elas fornecem duck typing para java, o que não é necessario em python justamente por causa da tipagem dinamica.”

DANIEL: Não sou da UFRGS mas vou expressar minha opinião quanto a adotar python como
primeira linguagem. Bem, aprendi python a pouco tempo, cerca de 1 ano, antes
só mexia com C. Apesar da linguagem python possibilitar programação
procedural, a quebra de paradigma Procedural-para-OO foi a coisa mais
difícil que tive de aprender quando comecei a estudar python. É claro que C
não é uma linguagem que vá morrer tão facilmente, na minha opinião, logo
também concordo com o que o Senra disse dias atrás, sobre C+Python. Se é um
caso de sucesso em um lugar pode se tornar em vários outros. Quanto ao que o
Ricardo disse, creio que há matérias específicas tais como
(Microcontroladores, Microprocessadores etc) que cuidam da aproximação
aluno-hardware. Na minha opinião se Assembly fosse ministrado nos primeiros
períodos poderia surgir dois comportamentos da turma, ou eles seriam
desestimulados ou se tornariam hackers.

Fábio: Vindo python ou assembly, a dor do baixo nível será praticamente a mesma…

Agora, se não for necessário “baixar o nível”, o python é ótimo como
primeira linguagem…

Temos como exemplo prático a Sociesc, em Joinville.
A minha turma pegou a época do C++…… e o resultado? muita dificuldade e
desânimo…
Conheço alunos, das turmas mais novas, que começaram com o Python.
O entusiasmo é completamente outro. Os alunos conseguem fazer as coisas
acontecerem de maneira mais fácil.

Outra metáfora que pode ilustrar aqui é o de comparar um sedã, uma scania e um trator. Digamos que o Python seja o sedã, o Java seja a scania e o C seja o trator: cada um tem sua aplicabilidade.




Oscilloscope art

22 04 2007



Visual C++ Today and Tomorrow II

21 02 2007

Está disponível no Chanel9 MSDN um vídeo [1] com o Steve Teixeira e o Bill Dunlap ( líderes da equipe de desenvolvimendo do Visual C++) onde eles explanam um pouco sobre os tópicos que já haviam sido abordados no slow chat do code guru “Visual C++: Yesterday, Today and Tomorrow” [2] - que o Márcio Franco  sintetizou num artigo de mesmo nome  [3] no site Linha de Código.

Neste vídeo, eles mais uma vez deixam alto e claro que apesar do foco da Microsoft - principalmente de marketing - no .Net;  a gigante de Redmond não esqueceu dos desenvolvedores Visual C++!

Vale a pena conferir e saber um pouco mais do mesmo e algumas novidades sobre os rumos do Visual C++.

[1] Vídeo - Steve Teixeira and Bill Dunlap: Visual C++ Today and Tomorrow

[2] Slow Chat: Visual C++: Yesterday, Today, and Tomorrow[3] Visual C++: Visão Mercadológica  




ATL Server terá código liberado

11 02 2007

Por esta ninguém esperava, a equipe do Visual de C++ anuncia [1] que tem planos de liberar o código de fonte do ATL Server [2] com a lincença “Shared Source” [3] no CodePlex [4] em março de 2007. O objetivo deles é que os desenvolvedores que possuem suas extensões para o ATL Server o adicionem diretamente no projeto mãe, além de tentar acelerar os ciclos de desenvolvimento do projeto.

[1] ATL Server: Visual C++ shared source software

[2] ATL Server: Visual C++ Concepts: Adding Functionality

[3] Shared Source Licenses

[4] CodePlex




Migrando para C++/CLI por vias “hands on”

17 12 2006

Se depois de ler meu post anterior você (como muitos) ficou se perguntando porquê usar uma ferramentas “incompleta” de migração de código fonte, eu concordo com você que esta é uma dúvida de resposta fácil! Concerteza o grande Basílio chamaria isto de melhor forma de se assassinar um software ou algo do gênero; desta forma para fazer uma migração destas (se ela for realmente necessária) recomendo a leitura dos artigos de Stanley B.Lippman da MSDN Magazine pois ele tem abordado muito esta questão das vantagens e da migração de código VC++ para C++/CLI desde o seu artigo de Junho/2006 (The .NET Wrap) e parece que este tem sido seu grande objetivo, visto que ele não largou mais esta abordagem.

Mas, independente das intenções, vale a pena ler os artigos do Stanley, assim como ler seu Blog e praticar alguns de seus ensinamentos e é claro que testar os efeitos do “Managed Extensions for C++ to C++/CLI conversion tool” do VC++ Team também é válido.




Ferramenta de conversão de C++ para C++/CLI

17 12 2006

O povo do Visual C++ Team lançou a poucos dias, uma primeira versão de um Wizard de conversão de código Visual C++ feito no VS.Net 2003 para VC++ 2005/CLI. Ainda não é uma versão final mas já é um help.

Baixe aqui




Transferência de Energia Não-Radioativa Wireless

10 12 2006

“a comunicação sem fio para qualquer ponto do globo é possível. Minhas experiências mostraram que o ar em sua pressão normal torna-se um condutor, e isto abre um panorama maravilhoso para a transmissão de grandes quantidades de energia elétrica para propósitos industriais a grandes distâncias sem o uso de fios… sua realização prática poderia significar que a energia estaria disponível ao uso humano em qualquer ponto do globo. Não posso conceber nenhum avanço técnico que poderia, melhor do que este, unir toda a humanidade, ou que poderia mais e mais economizar a energia humana… “.

Fim dos Conectores

Escrito em junho de 1900 - num artigo para revista Century Magazine - este artigo do Tesla até hoje é considerado extremamente inovador e após ler um pouco sobre a vida e os feitos deste incrível cientista começa a ficar mais claro o porquê Dave Small escreveu num artigo de 1987 para revista “Current Notes”  que Nikola Tesla foi o maior Hacker de Todo os tempos. Tomei conhecimento deste artigo pelas revistas 2600 e Mondo2000 a alguns anos atrás e eu já o reli dezenas de vezes, porém muitas eu o encarei como insano.

Porém, depois de mais de um século após uma exaustiva pesquisa utilizando modelos de simulação computacionais e equações matemáticas  uma equipe do MIT liderada por Marin Soljacic sugerem que o sistema idealizado por Tesla baseado em “ressonância“, por enquanto num escala mais modesta do que Tesla vislumbrava é possível.

O modelo atual contempla apenas a recarga de baterias a uma distância de 3 a 5 metros da fonte de energia, com uma eficência de 15% ou mais. Por uma transferência que ocorre na freqüência de 6,4 MHz por um escopo “não radiante com ressonância de longa vida”, restringindo a energia em uma região próxima ao do transmissor.

Segundo os autores, a intensidade do campo gerado pela fonte é menor que a intensidade do campo eletromagnético natural da Terra, sendo inofensiva aos seres humanos.

O curioso é que após o assunto ter “explodido na mídia” via uma reportagem de Jonathn Fildes entitulada Physics promises wireless power e de ter sido discutida no IT Blog Watch , uma empresa britânica chamada SplashPower que possui um carregador Wireless mas que opera via indução eletromagnética, e que colaborou com as pesquisas, ganhou publicidade gratuita.

Para saber mais, leiam o artigo do grupo que está desenvolvendo esta tecnologia:

Wireless Non-Radiative Energy Transfer




SearchMash - O novo engine de busca do Google

4 12 2006

Se é verdade que há um engine e algoritmo de buscas totalmente novo por trás do SearchMash realmente é quase impossível saber, afinal, quem garante que não é um upgrade do PageRank?

Mas a realidade é que as buscas se não estão iguais e estão melhores via SearchMash que no Google, porém excelente mesmo está a interface, esta sim está sensacional.

Vale a pena conferir: http://www.searchmash.com




Faça um Lampadinha, uops, um Resistor Man

27 11 2006

f2cix07chsev0fayq1large.jpg

Dando uma zapeada básica na blogosfera dos gadgets, passei pelo point da revista MakeZine e não houve como não notar este “clone” estático do Lampadinha, o ajudante inseparável do prof.Pardal; inventor mais famoso de Patópolis.

Well, claro que este aí acima não é nenhum andróide inteligente feito o nosso amigo super-dotado de inteligência nada artificial, mas ele pode se tornar uma decoração geek daquelas de deixar muito nerd com inveja.

Fonte: HOW TO - Make a Resistor Man




Opniões de um geek visceral

26 11 2006

E por falar em Silvio Meira, seu point na blogosfera “dia a dia, bit a bit - informaticidade, mas hora, menos hora” é parada obrigatória. Em IHMO é sempre construtivo ler e ouvir o que este paraibano - hoje cientista-chefe do C.E.S.A.R - tem a dizer sobre os mais variados assuntos. Suas viagens geeks propagam inteligência e quase sempre agrega conhecimento e inspiram reflexão para aqueles que conseguem pegar sua onda; mesmo quando ele não é totalmente preciso, pois te remete a imaginar porquê este cidadão hiper informado e inteligente - e ex-presidente da SBC - faz certas afirmações. Como por exemplo no podcast idgNow! - que o entrevista - ele afirma que gostaria de ter criado o site “netvibes” por sua inovação, porém conhecendo o agregador de página inicial personalizada do Google - que é mais velho que o NetVibes - você começa a se perguntar porquê ele considerou este site tão inovador? Afinal, ele é mais do mesmo com uma designer mais interessante. Então, o que há de inovador? De qualquer forma, apesar de não deixar de utilizar o Google IG, o site é muito bacana e sou mais o Netvibes; nisto eu concordo com o Meira, o site é muito interessante.

Também neste podcast, ele também afirma que dentro do contexto onde o “universo é uma máquina computacional”, a profissão do futuro é a de programador pois estes caras serão criadores de mundos virtuais, porém não programador que sabe escrever 10 linhas de código, mas “Programador” no sentido mais amplo que entende de arquitetura e dos fundamentos da computação, entende de lógica, de algorítmo computacional; que passa a ser um profissional mais valioso numa sociedade que está cada vez mais tecnológica. Por estas e outras, vale a pena ouvir este podcast.

Recentemente em seu blog ele lançou o post “vivendo em tempo integral” onde ele comenta um artigo que saiu na New Scientist
que trata as drogas modafinil - que virou onda entre os geeks e workaholics pois deixa uma pessoa sem dormir até 3 dias, aumenta a capacidade de raciocínio, dá energia sem causar dependência (tsc) e a droga cx717 que está prestes a ser lançada e promete também virar onda. O assunto não é novo, em 1998 a revista Mondo2000 já abordava a droga modafinil, a droga do powergeek com o relato de alguns nerds “besta-testers” da droga; que a princípio foi desenvolvida para ajudar os portadores de narcolepsia; distúrbio caracterizado por sonolência súbita e incontrolável. Confesso, que sou muito mais o artigo da Scientific American Brasil A busca da pílula da inteligência de outubro/2003 do que este recente da New Scientist com esta abordagem sobre os efeitos sociais desta droga, porém… quer um assunto mais Geek do que este? Por este e outras, recomendo o blog do Meira.




Programando o Computador Quântico Universal

25 11 2006

Dizer para os netos que “o mundo não é feito de átomos mas sim de q-bits” pode parecer afirmação de um “Geek Nóia”, porém é exatamente o que Seth Lloyd - pioneiro em computação quântica e professor do MIT - diz para os seus. Porém não estranhe, esta teoria é um dos fundamentos de muitas hipóteses sobre o multiuniverso. A novidade que Seth traz a esta discussão, é sobre a “programação do universo”, numa abordagem semelhante à de Sílvio Meira 20 anos atrás. Seth Lloyd, deu uma entrevista a revista Wired - entitulada “Life, the Universe, and Everything” - bem informal e que tem sido super referenciada na blogo-podcastsfera afora, por isto, em IHMO ela tornou-se mais uma das referências básicas da infosfera.

Segue abaixo uma tradução da entrevista feita por Bruno Accioly:

WIRED: Soube que você trabalha com reparos em computadores quânticos.
Sim, sou um mecânico quântico! Essas coisas quebram o tempo todo.

W: Você saltou do seu trabalho com computadores quânticos para dizer – “Ah! A propósito, o Universo é um computador quântico gigante”.
Quando se atinge coisas com feixes de luz para criar computadores quânticos, você está sendo um hacker em sistemas pré-existentes. Você está fazendo uso do poder computacional que existe no Universo, da mesma forma que um hacker faz com o computador de terceiros.

W: E o que o Universo está computando quando não o seqüestramos de seus propósitos?
Computa a si mesmo. Computa o fluxo de suco de laranja enquanto você o bebe ou a posição de cada átomo em suas células.

Leia o resto deste post »




Java: Closures sem Complexidade

12 10 2006

E ao invés de:

MenuItem menuItem=new MenuItem("Torpedo", new Command() {
    public void execute() {
        Window.alert("O Torpedo foi selecionado");
    }
});

… que tal:

MenuItem menuItem=new MenuItem("Torpedo", Command() {
    Window.alert("O Torpedo foi selecionado");
});

Assim ficará a notação de closures em Java se a proposta de Bod Lee, Doug Lea e Josh Bloch for escolhida. Como está evidente, esta proposta é do tipo ” single abstract method “, dispensando a declaração de classe e nome de método com a chave ” new “. Esta proposta torna o Java cada vez mais distante do C++ e mais próximo ao SmallTalk, assim como do Ruby, que por um lado deixa alguns acadêmicos um pouco desconfortáveis mais traz a alegria para aqueles que desejam um Java menos verboso.
Leiam mais em: Closures without Complexity