domingo, 29 de maio de 2011

IA - Inteligência Artificial

Pode um computador ser dotado de inteligência? Pode um computador expressar sentimento verdadeiro de amor, compaixão? O que é sentimento? O que gera sentimento e por onde ele passa? São muitas perguntas, então vamos por etapas. Sim, um computador pode ser dotado de inteligência. O problema é que ainda não conseguimos construir um sistema como o humano. Para isso é necessário aprimorar os modelos de redes neurais existentes e aplicá-lo a um computador com altíssimo poder de processamento, os clusters mais poderosos que existem estão muito aquém do processamento necessário.
Sentimento é o processamento de um conjunto de informações e o retorno mental deste processamento. Explico: O corpo humano é uma máquina perfeita. Como toda máquina, possui entradas (sensores), processamento (engrenagens, processadores, cérebro) e saídas (motores, músculos). É muito intuitivo dizer que uma máquina recebe um sinal de entrada, processa e gera uma saída. Além disso, o cérebro possui memória. Pois bem, no sistema nervoso humano, recebemos um conjunto enorme de sinais de entrada a cada fração de segundo, não para, e todos estes sinais sofrem processamento no cérebro, que é o responsável por gerar as saídas (assim como as entradas, as saídas também estão sendo geradas a todo instante. Ex.: Ficar em pé exige processamento, ficar sentando também, dormindo inclusive). Finalmente, para explicar o que chamamos de sentimento: é um pensamento não muito definido que tende para o agradável ou para o desagradável, gerado por um processamento de entradas que podem estar ocorrendo no mesmo instante e ainda concatenada com outras que podem estar armazenadas na memória. 

quinta-feira, 26 de maio de 2011

Mobile

Gostaria de compartilhar com vocês esta novidade.

O DragonFire é um SDK (Software Development Kit) para desenvolvimento de aplicativos para iPhone / iPad utilizando o PC. Eu adquiri o pacote Ultimate e no momento estou desenvolvendo um jogo. A linguagem utilizada é a C++ (que depois é convertida para Objective C) e a IDE (Interface Development Environment) é o Visual Studio e ao mandar rodar (Build) é aberto um emulador do iPhone para que se possa testar no PC antes de gerar a versão.


O SDK é simplesmente um código-fonte chamado MySample que você poderá incluir sua programação e alterar o nome. O processo de geração de versão do aplicativo é o seguinte: Zipar a pasta > Entrar no Build Center > Escolher o nome do aplicativo > Escolher o tipo de dispositivo (iPad/iPhone) > Gerar Versão.
As vezes demora um pouco para gerar, mas o suporte deles é bom e respondem os e-mails rapidamente, caso algum problema ocorra. Depois de gerado basta abrir o iTunes, mover o aplicativo para a biblioteca e mandar sincronizar.
O endereço do site é http://www.dragonfiresdk.com


Eu estou utilizando este mesmo SDK para o desenvolvimento de um jogo para o iPad e iPhone. É o famoso Tetris. Deverá levar mais uns quatro finais de semana para terminar, então, em breve ele estará disponível na AppStore para download gratuito, aguardem!

Workflow

Boa tarde,

Estou desenvolvendo um projeto que trata-se de uma plataforma web para hosting de sistemas de gestão.
Estes sistemas são baseados em fluxograma de processos os quais são desenhados através da ferramenta que a plataforma disponibiliza. O projeto foi batizado de Camalion, desenvolvido em ASP.NET com a linguagem C#, utiliza o conceito de META-DADOS e a base de dados é o Postgre SQL.
Então resumindo, workflow é um assunto que me interessa muito.
Estou conhecendo ferramentas que já existem e parecem ser interessantes, como por exemplo, Nintex, Intraflow, Maker.
O Camalion será orientado a serviço (SOA / SaaS) e a próxima fase será a captação de parceiros.
No próximo post falarei das features que o Camalion disponibilizará.

Abraços!


segunda-feira, 23 de maio de 2011

Ferramentas para Gerenciamento de Projetos

Olá,

Para gerenciar meus projetos utilizo algumas ferramentas mescladas, são elas:

Cruise Control - É uma ferramenta para configurar a geração de versões para .NET
ccTray - É um aplicativo desktop para monitorar os projetos e suas builds (Vinculado ao Cruise Control).


BugNet - É um Issue Tracker / Bug Tracker feito em .NET com código aberto muito bom para gerenciar projetos. Possui API para realizar integração com outras ferramentas.


SubVersion - É uma ferramenta para o versionamento de código e controle de repositório compartilhado. Anteriormente utilizava o CVS, mas devido a algumas limitações do mesmo e após fazer uma comparação entre as ferramentas optei pelo SubVersion.


TortoiseSVN - É o client do SubVersion e é Integrado com o windows explorer.


Abraços!

sábado, 21 de maio de 2011

Metodologias Ágeis

Este é um assunto interessante! 
RAD, DSDM, UP, RUP e XP são algumas metodologias de desenvolvimento de software. Vou falar um pouco do XP (Extreme Programming).
O XP possui algumas boas práticas de desenvolvimento que eu procuro adotar sempre que posso. Algumas delas chegam a ser até polêmicas. Por exemplo, documentar o mínimo possível. Muita gente é contra essa prática, mas se você parar para analisar a documentação da maioria está desatualizada. O XP prega que é melhor não ter documentação nenhuma do que ter uma documentação errada, pois esta poderá lhe conduzir a erros de difícil reparação.
Outro exemplo é o Pair-Programming. Algumas pessoas acreditam que duas pessoas em uma máquina é custo de mão-de-obra dobrado. Porém, está comprovado que duas pessoas em uma só máquina desenvolvendo têm uma produtividade dobrada em relação a só um desenvolvedor. São vários os motivos que explicam isto, por exemplo, o cérebro humano sofre um efeito chamado de tunelamento quando se está digitando algo no computador de forma que se a pessoa trocar letras semelhante (ex.: "u" por "v") ela poderá revisar o texto várias vezes e não detectar o erro. Este problema para o desenvolvimento de sistemas é sério, pois, uma letra apenas errada é suficiente para seu código não compilar.


Veja aqui o site do XP

Veja aqui outro site interessante sobre XP em Português

Abraços!

quinta-feira, 19 de maio de 2011

A primeira de muitas

Bom dia a todos,

Sejam bem vindos ao meu novo blog! Esta é a minha primeira postagem no blog de muitas que estão por vir. Sou brasileiro de Vitória-ES, empresário, formado em Ciência da Computação e pós-graduado em Arquitetura.NET. Em geral vou falar sobre o mundo do desenvolvimento de software. Aplicativos para iPhone e iPad, desenvolvimento para a web com asp.net, business intelligence, workflow, visual studio, metodologias ágeis e ferramentas de gerenciamento de projetos, são alguns dos temas que pretendo abordar aqui. Se tiverem algum tema que gostariam que eu abordasse sugestões serão sempre bem-vindas.
Espero conseguir postar com frequência e que todos possam acompanhar!

Abraços!
Desenvolvimento