logo
Contato | Sobre...        
rebarba rebarba
Eu, eu mesmo, e meu Visual C++

Meu nome é Rodrigo Strauss, escovador de bits inveterado e Microsoft Certified Professional em Visual C++, C# e Visual Basic.NET. Nasci em 1980, e programo desde os 12 anos de idade. Desde meus tempos de infância ao lado do GW-BASIC, até o C++ e .NET já passei também pelo Clipper, ASP e VB 3/4/5/6.

Moro em São Paulo (Brasil) e trabalho com Visual C++ fazendo serviços, componentes COM+, otimização de performance, e tudo mais que envolva programação Visual C++ server-side. Veja meu curriculum para informações profissionais, e caso tenha alguma pergunta, sugestão para artigo ou algo assim, me mande uma mensagem.

Hoje sou "Sócio Programador" na Intelitrader, uma empresa especializada em desenvolvimento de sistemas de negociação eletrônica para o mercado financeiro.

Interesses computacionais

C++:  Minha linguagem de programação preferida, Além de todas as bibliotecas disponíveis, é a linguagem mais completa. Requer MUITO estudo, não é coisa para amadores, mas o esforço compensa. Li em algum lugar uma frase parecida com essa: "O C++ está para a programação assim como o sexo está para a reprodução. Existem outros meios, mas nunca serão tão divertidos."

Python: Eu uso Python para fazer tudo que não tenho 100% de certeza se vou precisar da performance do C++. Estudei Ruby e Python, e fiquei com o último por ter mais suporte da comunidade e ter a filosofia de batteries included.

Win32 API: Ainda o que reina no Windows. Já passamos pelo WinFX, WPF, e agora vamos para o WinRT. Mas tudo hoje ainda é feito em Win32 (tirando os software de cadastro de qualquer coisa feitos em .NET).

COM: Apesar de todo mundo falar que o COM morreu e que era uma coisa velha e ultrapassada, o mundo rodou e toda a API do Windows 8 é baseada em COM. Mesmo assim, o COM sempre foi grande parte da base do Windows.

System Programming:  O Sistema Operacional não faz o que você precisa? Modifique-o. Nada que meia dúzia de drivers e algumas páginas de assembly não façam...

ATL/WTL: Sempre foi minha biblioteca preferida, até eu começar a focar meus esforços em C++ ISO, STL e Boost. Mesmo assim ainda acho a arquitetura do ATL maravilhosa, bem simplista em voltada para o menor overhead possível e máxima performance. Já desenvolvi aplicativos em WTL, é um pouco mais trabalhoso, mas o resultado compensa. WTL é MUITO rápido.

STL: Se você não sabe usar STL, você não sabe programar em C++.

Boost: Extensão do STL, resolve os problemas que o STL não resolveu. Muito boa, muito completa.

.NET: Arquitetura muito boa, performance nem tanto. Mas vale bastante pela produtividade e por ser bem mais conciso do que Win32.

Drivers: Desenvolvi drivers para Windows 2000/XP/2003, e acho que a API nativa do NT é muito bem feita e concisa. O kernel NT em si é uma obra de arte. Podem mandar o FBI atrás de mim, mas eu olhei os fontes do kernel do Windows 2000 quando ele vazou e foi o código mais bem feito que eu já vi em toda a minha vida.

Linux: Todo ano eu tento usar o Linux como meu único sistema desktop, mas sempre acabo voltando para o Windows. Mesmo assim, é meu sistema operacional preferido para servidores. Nada como subir um servidor que consome 40MB de RAM e poder alugar uma VM com 512MB RAM para testar software.

Análise: É muito bom pegar um projeto gigantesco e modelá-lo em peças pequenas, independentes e compreensíveis.

Segurança da Informação: Já trabalhei com isso, e é a área que eu mais gosto, por um simples motivo: nessa área o sistema é o meio e o fim.

Bancos de dados: Ajuda. Mas ainda bem que não dependo de usar banco de dados para pagar o leitinho das crianças.

Computação distribuída: Já trabalhei bastante com isso, inclusive já fiz sistemas em cluster.

Assembly: A máquina como ela é. Impossível ser um programador pleno sem pelo menos ler Assembly.

Desenvolvimento de jogos: Gosto muito. Já fiz algumas brincadeiras com DirectX, mas não acredito que seja fácil viver disso no Brasil.

Interesses não-computacionais

Reddit: Não dá pra explicar. "Reddit: Y U NO FUNNY WHEN I SHOW TO OTHERS?"

Política e Economia: Eu cursei um ano do curso de Relações Internacionais e adorava as aulas de Economia e Ciência Política. Quem sabe depois que eu abrir uma empresa e ganhar dinheiro e tempo com isso eu faço uma faculdade de economia...

Música: Já toquei violão, guitarra, já fui vocalista de banda e agora sou baterista, que era minha intenção inicial. A diferença é que com 15 anos eu não tinha dinheiro para comprar um bateria... Mas já adianto que como músico eu sou um ótimo programador. Gosto muito de Metal Progressivo (SymphonyX, Angra e Dream Theater) e algumas bandas de Trash Metal (Ratos de Porão e Brujeria). Mas além da pancadaria desenfreada, eu gosto também de Rock Nacional, MPB, Bossa Nova e alguma coisa de música regional (Elomar é muito bom).

Televisão: É muito raro eu assistir TV, mas gosto do Discovery Travel And Living. Gostava muito de séries com humor refinado (como "Hermes & Renato" e "South Park") e programas que mostram como as coisas funcionam ("Guerra do Ferro Velho", "Megaconstruções" e "Mythbusters" da Discovery, "Mãos a Obra" do The History Channel). Adoro os programas de política e debate da GloboNews ("Fatos e Versões" e "GloboNews Painel") e também gosto muitos dos programas sobre Segunda Guerra Mundial do The History Channel, como o "A Cor da Guerra".

Wikipedia: Sou fascinado pela Wikipedia! Esse conceito de uma enciclopédia construída por todos é muito bom! Já até escrevi algumas coisas lá.

Livros

Faz um bom tempo que eu não leio livros que não sejam ligados a programação, isso é um grande problema. Alguns livros que gostei:

Showstopper: Livro escrito por um jornalista, sobre o projeto de desenvolvimento do Windows NT. Apesar da linguagem jornalistica e do inglês mais complexo, é muito bom ao descrever o aspecto psicológico de um projeto gigantesco. Fala sobre as famílias dos desenvolvedores e como eles lidavam com a pressão e com a animação de participar de um projeto dessa magnitude. Descreve a estrutura do projeto e as decisões que foram tomadas. Conta coisas interessantes sobre C e C++, compatibilidade, Notação Húngara, testadores e personalidade de desenvolvedores.

Inside COM+ Base Services:  Simplemente o melhor livro de programação que eu já li!! Um livro completo, que serve como tutorial e como referência. Muito bem escrito, muito bem explicado. Faz COM parecer fácil. E antes que você pergunte, não, eu não li o livro do Don Box.

Windows Internals:  O que falar do livro que é a biblia sagrada sobre a arquitetura do kernel do Windows? Essencial para qualquer um que pretende ser um bom programador na plataforma Windows.

Outros livros que eu já li e gostei:
The Windows 2000 Device Driver Book
Programming the Windows Driver Model
Programming Windows Security
Undocumented Windows 2000
Inside Windows NT File System
The C++ Programming Language
Exceptional C++
Advanced Windows

rebarba rebarba
  ::::