Browsing All Posts filed under »Post«

Bits, Bytes e Resta um (Peg Solitaire)

dezembro 22, 2011

0

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… [Read more…]

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… [Read more…]

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… [Read more…]

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… [Read more…]

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… [Read more…]

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… [Read more…]

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… [Read more…]

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… [Read more…]

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… [Read more…]

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” …… [Read more…]

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… [Read more…]

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… [Read more…]

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… [Read more…]

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… [Read more…]

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,… [Read more…]

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… [Read more…]

Fractals and Tiles (com html5) – Parte 8 – Julia set

novembro 26, 2011

0

Olá pessoal. Tudo certo?! Outro dia, escrevi um post mostrando como gerar fractais a partir do Mandelbrot Set. Hoje, faço o mesmo trabalho apresentando Julia set. Novamente, foco apenas na implementação em Javascript. Uma boa explicação teórica sobre Julia set pode ser encontrada na Wikipedia ou no MathWorld. Importante: Reaproveitei boa parte do código que… [Read more…]

Reactive Extensions for Javascript (RxJS Framework)

novembro 21, 2011

1

Olá pessoal. Tudo certo!? No post de hoje, apresento alguns conceitos fundamentais para utilização de Rx com Javascript. Rx Framework foi desenvolvido, inicialmente, para .NET e Silverlight. Mais tarde, foi portado para Javascript. Com ele, podemos simplificar bastante a implementação de rotinas assíncronas, além de poder combinar (compose) eventos. Se desejar ver alguns exemplos desse… [Read more…]

Escrevendo um Engine para Xadrez – Parte 14 – Castling (Roque) Rules

novembro 19, 2011

3

Olá pessoal. Como estamos?! Depois de muito tempo sem tocar no código desse engine de Xadrez, estou retomando as atividades. Meu desejo era deixar o projeto parado até que o @juanplopes fizesse um refactoring/review. Entretanto, atendendo a uma “solicitação” do @leandronet resolvi reconsiderar minha posição. Até aqui, trabalhamos bastante da representação de dados relacionados ao… [Read more…]

Functional Programming (Memoization) em JavaScript

novembro 17, 2011

0

Olá pessoal. Tudo certo?! Há algum tempo, escrevi um post falando sobre técnicas de Functional Programming em C#. Dentre essas técnicas, está Memoization. Basicamente, essa técnica melhora a performance de aplicativos evitando a repetição de cálculos para entradas já processadas. No post de hoje, apresento essa técnica em JavaScript. Explicitando o problema Considere o código… [Read more…]

Follow