Yeah. I am a Microsoft Visual C# MVP!

janeiro 1, 2012

24

Olá pessoal. Tudo certo?! É com muita alegria que informo que fui agraciado com Microsoft MVP award desse ciclo. Estou tremendamente feliz com a novidade. Há algum tempo, resolvi colaborar, da minha maneira, com a comunidade. Começando por esse blog, partindo para palestras em alguns eventos muito bacanas, até a participação em podcasts e compartilhamento de… [Leia mais…]

Publicado em: Post

Um bate-papo sobre refactoring

dezembro 30, 2011

0

Olá pessoal. Tudo certo?! Refactoring é um tema extremamente importante. Mesmo assim, nunca tratei diretamente disso aqui no blog. Então, para compensar, que tal ouvir um void inteirinho sobre o tema?! Boa idéia?! Gostou, acesse Void #15 – Adeus Void Velho. Feliz Refactoring Novo! Lá, um bate-papo, em clima de bar, entre o [mestre sábio] Leandro… [Leia mais…]

Etiquetado:, VoidPodcast
Publicado em: Post

Melhorando o código com Extension Methods

dezembro 26, 2011

12

Olá pessoal. Tudo certo?! No último post, mostrei como melhorar o “significado” do código através da criação de tipos para ValueTypes. Nesse post, tento demonstrar como melhorar o código através de Extension Methods. O que são Extension Methods Segundo o MSDN: Extension Methods permitem a você “adicionar” métodos para tipos existentes sem criar um novo… [Leia mais…]

Publicado em: Post

Melhorando a semântica com ValueTypes

dezembro 25, 2011

7

Olá pessoal. Tudo certo!? O que você acha estranho nesse código?! Além de um Cpf completamente inválido, temos um tipo primitivo (string) sendo utilizado para representar um dado mais “rico”. Geralmente, a conseqüência mais comum desse tipo de abordagem acaba sendo o surgimento das terríveis classes “util”. Nesse post, mostro minha perspectiva para esse cenário.… [Leia mais…]

Publicado em: Post

Bits, Bytes e Resta um (Peg Solitaire)

dezembro 22, 2011

1

Olá pessoal. Tudo certo!? No post de hoje vamos implementar um “solver” para Resta Um. Para isso, utilizo manipulação intensiva de bits. Trata-se de um post com código “naturalmente” avançado. Entretanto, penso que seja uma boa diversão. O conceito para o código de hoje está baseado no artigo “Depth-first search solves Peg Solitaire (1998)”. Para… [Leia mais…]

Etiquetado:AI
Publicado em: Post

Drawing Curves with Lagrange Interpolation (Javascript + HTML5)

dezembro 20, 2011

2

Olá pessoal. Tudo certo?! Nesse post, mostro como desenhar curvas, usando Lagrange Interpolation, usando Javascript. Há um live demo disponível. Também está disponível o código-fonte completo. UPDATE: Também há um live demo mais interativo, que permite ao usuário definir os pontos que pertencem a curva em http://users.cjb.net/livedemoelemarjr/lagrange2.html. Observe:   Mais adiante, vou usar esse método… [Leia mais…]

Etiquetado:,
Publicado em: Post

Algumas palavras sobre essa tal de Estratégia

dezembro 14, 2011

2

Olá pessoal. Tudo certo!? Alguns posts técnicos, outros sobre carreira. Esse é o ritmo que estou tentando manter aqui no blog. Nesse post, desejo tentar discutir sobre um assunto extremamente importante para qualquer profissional (independente do ramo de atuação): a Estratégia. O que é Estratégia? Há diversas definições famosas para estratégia. Entretanto, a que mais… [Leia mais…]

Etiquetado:
Publicado em: Post

Windows Native Programming – Window Class, Window Object, Message Loop, WndProc

dezembro 14, 2011

0

Olá pessoal. Tudo certo?! No post anterior, comecei a apresentar os fundamentos para desenvolvimento nativo com Windows. Para isso, criei um pequeno utilitário para cópia de arquivos. Nesse post, mostro como é a interface do sistema operacional para o ciclo de vida das janelas. Nosso exemplo O exemplo que apresento é uma espécie de “Hello… [Leia mais…]

Etiquetado:C, Windows Native
Publicado em: Post

Windows Native Programming – Copying Files

dezembro 12, 2011

2

Olá pessoal. Tudo certo?! Uma geração inteira de programadores começou a programar utilizando linguagens que compilam seus programas para ambientes gerenciados. Na prática, isso significa que muitos programadores não sabem (e não sabem que deveriam saber) como funciona a interação, em nível mais baixo, com o Windows. Essa “lacuna” de conhecimento faz com que seja… [Leia mais…]

Etiquetado:C, Windows Native
Publicado em: Post

Quando “comando e controle” são necessários

dezembro 11, 2011

40

Olá pessoal. Tudo certo?! Há alguns dias, estou em um debate interessante (em blog [aqui e na lambda3] e twitter) sobre a importância, ou mesmo a necessidade, de gerentes. Várias opiniões foram apresentadas. Concordo com muitas, discordo de algumas. Neste post, trato de um tema “polêmico” relacionado a este debate: comando e controle. Afinal, ele… [Leia mais…]

Etiquetado:
Publicado em: Post

TicTacToe, Minimax, Negamax, Alpha-beta pruning, heurística (whatever!)

dezembro 11, 2011

0

Olá pessoal. Tudo certo?! No post anterior, implementamos um jogo da velha (TicTacToe), com opção de jogar contra o computador. Para isso, utilizamos uma algoritmo chamado Minimax (na verdade, uma variação chamada Negamax). No post de hoje, revisito o exemplo para demonstrar alguns aspectos importantes desses algoritmos, bem como uma importante técnica de otimização chamada… [Leia mais…]

Etiquetado:AI,
Publicado em: Post

TicTacToe (Jogo da Velha) com AI (Minimax) em C#

dezembro 10, 2011

1

Olá pessoal. Tudo certo?! Há algum tempo não uso C# aqui no blog. Hoje, mostro a implementação de um jogo extremamente simples: TicTacToe (nosso jogo da velha). Implementei uma aplicação console, simples, com AI usando Minimax. UPDATE: Código-fonte em: https://github.com/ElemarJR/TicTacToe Como o jogo funciona? Logo de início, o programa apresenta um grid vazio e solicita… [Leia mais…]

Etiquetado:AI
Publicado em: Post

Vamos aprender node.js – Parte 2 – Módulos

dezembro 8, 2011

0

Olá pessoal. Tudo certo?! Este é o segundo post de uma série onde pretendo apresentar os fundamentos do desenvolvimento usando node.js. No primeiro post, mostrei como obter, instalar e dar os primeiros passos com essa tecnologia. Em outro post, explorei o potencial do node.js para criação de aplicações de propósito geral (não servidor/serviços web) escrevendo… [Leia mais…]

Etiquetado:,
Publicado em: Post

Fire all the BAD managers

dezembro 6, 2011

15

Olá pessoal. Tudo certo?! Essa é uma resposta para um post do Giovanni Bassi. No post dele, chamado “Fire all the managers” ele defende que “gerentes” são desnecessários. Além disso, defende que eles impedem a “democracia organizacional”. Como discordo dessa posição, apresento alguns de meus argumentos para pensar diferente. Para isso, começo do “início” …… [Leia mais…]

Etiquetado:
Publicado em: Post

C++ 101 – Parte 10 – Ponteiros para funções

dezembro 4, 2011

0

Olá pessoal. Tudo certo?! Nesse post, entenderemos um pouco mais sobre ponteiros. Especificamente, vamos ver como utilizar ponteiros para funções. Em termos práticos, a utilidade (importante: apenas em primeira impressão. Sem closures associadas) de um “ponteiro para função” é semelhante a delegates do C#. Se está “chegando agora”, considere dar uma olhada nos outros posts… [Leia mais…]

Etiquetado:,
Publicado em: Post

Testes de unidade para Javascript dentro e fora do browser

dezembro 2, 2011

3

Olá pessoal. Tudo certo?! Javascript cresceu muito em importância nos últimos anos. No passado, era percebida como uma linguagem simplificada, para programação “simples” de páginas web. Hoje, é vista como uma linguagem poderosa, rodando tanto no cliente quanto no servidor. Por causa do “crescimento” do Javascript, é natural pensar em alternativas para o desenvolvimento de… [Leia mais…]

Publicado em: Post

Vamos aprender node.js – Parte 1 – Primeiros passos

novembro 30, 2011

4

Olá pessoal. Tudo certo?! Hoje, começo uma nova série aqui no blog. Vamos falar sobre node.js. Minha proposta é começar “devagar” e ir aumentando a complexidade dos posts e exemplos na medida em que a série for avançando. O que é node.js? Node.js é um ambiente de execução e um conjunto de bibliotecas open-source. Ele… [Leia mais…]

Etiquetado:,
Publicado em: Post

Você é (in)competente?

novembro 27, 2011

11

Olá pessoal. Tudo certo?! Com alguma frequência, julgamos nossos ambientes de trabalho, nossos líderes, gestores e, até mesmo, nossos clientes. Com frequência nem tão grande, entretanto, fazemos um auto-julgamento honesto. Poucas vezes avaliamos nossa competência. Mas, afinal, o que é competência? Você é competente? Em caso positivo, como sabe disso?! Competência é uma combinação de… [Leia mais…]

Etiquetado:
Publicado em: Post

Afinal, por que odiamos gerentes? (e por que não deveríamos)

novembro 27, 2011

10

Olá pessoal. Tudo certo?! Com frequência, quando reunimos alguns profissionais de informática, percebemos a demonização dos gerentes. Mas, afinal, estamos sendo justos?! Nesse post, faço o papel de “advogado do diabo”.  Mostro minhas considerações sobre algumas “acusações” frequentemente (e injustamente) imputadas as gerentes. Com ele, espero provocar alguma meditação sobre nossas posturas e, quem sabe,… [Leia mais…]

Etiquetado:
Publicado em: Post

Melhorando a responsividade de aplicações Web com RxJS

novembro 26, 2011

0

Olá pessoal. Tudo certo?! Esse post é baseado na apresentação do Bart de Smet no MIX11 e em um post do Mart Podwysocki. Apresento, passo-a-passo, como podemos melhorar a qualidade de nossas interfaces através da adoção do RxJS. Se você não sabe nada sobre RxJS, considere ler Reactive Extensions for Javascript (RxJS Framework). Cenário Desejamos… [Leia mais…]

Etiquetado:, , ,
Publicado em: Post
Seguir