Pessoal

...now browsing by category

 

Kinect Hack

Quinta-feira, Fevereiro 2nd, 2012

33ª Edição - Fevereiro 2012

Para esta edição da Revista Programar, resolvi escrever um artigo sobre um dispositivo de hardware que está a mudar a forma como os utilizadores interagem com  jogos e  aplicações.

O Kinect é um dispositivo para a consola Microsoft Xbox 360, que através da detecção de movimentos e gestos realizados pelo utilizador ou até através do reconhecimento por voz, permite que o leitor consiga interagir com a consola e com os jogos de vídeo que suportam este hardware de uma forma natural, substituindo assim os controlos tradicionais que as consolas disponibilizam.
Foi anunciado pela primeira vez em Junho de 2009 conferência E3 sob o nome de código “Natal”. Colocado à venda em Novembro de 2010, o Kinect garantiu um lugar na história, em apenas 60 dias foram comercializados 8 milhões de unidades.
À primeira vista, o Kinect assemelha-se a uma webcam com um formato não muito convencional, mas na verdade, trata-se de muito mais do que isso. É composto por uma câmara RGB, um projector de raios IR que em conjunto com uma segunda câmara monocromática de IR constrói a informação em 3D com os metadados e um microfone vectorial (composto por quatro microfones colocados estrategicamente no dispositivo), que o tornam capaz de isolar e identificar as vozes dos vários jogadores e, para finalizar, possui um pequeno motor que lhe permite ajustar automaticamente o seu ângulo de visão para detectar todos os jogadores presentes.
As características técnicas que o Kinect apresenta a um preço acessível, suscitaram imediatamente muito interesse a uma comunidade que reconheceu de imediato as potencialidades que um dispositivo como este proporciona.
Sendo assim, ainda durante o mês de lançamento, uma empresa ofereceu uma recompensa a quem conseguisse desenvolver um driver open-source que permitisse o Kinect ser utilizado foram do seu âmbito, ou seja, fora do ecossistema da Xbox 360, para que o dispositivo pudesse ser utilizado para outros fins que não o entretenimento.
Apenas alguns dias após o seu lançamento, foi disponibilizado um driver para o Sistema Operativo Linux (Libfreenect) que permitia a utilização tanto da câmara RGB como dos sensores de profundidade 3-D. Em Dezembro do mesmo ano, a empresa PrimeSense, que é proprietária de tecnologia semelhante à apresentada pelo Kinect, lançou a sua própria versão do driver Open-Source para Kinect, bem como um Middleware dotado de um conjunto de funcionalidades até então apenas disponíveis na consola da Microsoft, como a capacidade de detecção de gestos e tracking de indivíduos.

Toda esta comoção gerada à volta do Kinect e a sua utilização fora do seu ambiente natural, levou à criação da organização sem fins lucrativos OpenNI (Open Natural Interaction) e em última instância, pressionou a Microsoft para relevar/alterar os seus planos para o Kinect e disponibilizar o Microsoft Kinect SDK.
Assim, o leitor tem ao seu dispor a escolha entre duas soluções para desenvolver as suas aplicações com o Kinect, a Framework OpenNI ou o Kinect SDK da Microsoft, atualmente em versão Beta, no entanto já foi anunciado que a versão comercial vai estar disponível em Fevereiro de 2012, acompanhada de uma nova versão de hardware, suportado oficialmente Microsoft.

Para ler mais sobre este e sobre outros temas, não deixe de descarregar a Revista Programar Nº33, disponível aqui.

kinect_hack_01.png

A aplicação descrita no decorrer de este artigo encontra-se disponível em http://kinecthack.codeplex.com

 

Artigos incluídos nesta edição:

Tema de capa
Kinect Hack

A programar
Geração de Números Aleatórios – Parte 3
Programação Orientada aos Objectos em Pascal
Herança com JavaScript
CORE DUMP – Ambientes Produtivos
Enigmas de C#: Disposable Structs
SQL Azure Federations na Pratica

Visual (Not) Basic
VISUAL (NOT) BASIC -Iterators

Comunidades
BizTalk Server – Princípios Básicos dos Mapas – Parte 2
Desenvolvimento em SharePoint 2010 – Parte 2

Revista Programar Nº30

Segunda-feira, Agosto 22nd, 2011

ed30

Publiquei na edição nº 30 da Revista Programar um artigo com o nome “Introdução ao Objective-C e à plataforma iOS”.

Nesta edição os leitores tiveram 15 dias para votar nos seus 3 artigos favoritos.

Após a conclusão da votação, o meu artigo ficou classificado em 2º lugar. Devo confessar que não estava à espera, ainda mais sendo este artigo a minha primeira contribuição para a revista.

Aproveito para agradecer às pessoas que me entusiasmaram a aceitar este desafio (Caio Proiete e Jorge Paulino) e a todos os leitores da Revista Programar que votaram no artigo.

 Edição nº 30 disponível para download aqui.

HTML5 & CSS3 no Visual Studio 2010

Segunda-feira, Junho 20th, 2011

 

logohtml5Muito se tem falados nos últimos meses nos novos standards para Web HTML5 e CSS3, comparações com outras tecnologias, milhares de blog posts, artigos de opinião e discussões sobre o assunto.

Embora ainda não sejam um standard fechado, já existem projectos desenvolvidos outros projectos em desenvolvimento recorrendo a estas tecnologias, no entanto a grande maioria das ferramentas de desenvolvimento para web ainda não suportam HTML5 e CSS3, e até é compreensível dado que ainda não estão fechados os grupos de trabalho sobre as tecnologias, mas dado o interesse que se tem levantado sobre o assunto, Mads Kristensen, Program Manager na Microsoft e fundados do BlogEngine.NET, decidiu lançar o Visual Studio Web Standards Update, um pacote de actualização para o VS2010 SP1 que disponibiliza aos utilizadores de Visual Studio Intellisense e validações tão próximo quanto possível das espicíficações definidas até agora pelo W3C.

 

As funcionalidades de maior relevo são:

HTML5 – Video, Audio, Input Type, Drag & Drop, WAI-ARIA, Microdata, Schema.org

Browser API – GeoLocation & Local Storage

CSS3 – 2D Transforms, 3D Transforms, Animations, Background & Borders, Basic Box Model, Basic UI, Behavior, Color, Flexible Box Layout, Fonts, Paged Media, Hyperlink Presentation, Line, Lists, Marquee, Media Queries, Multi Column, Namespaces, Presentation Levels, Ruby, Selectors, Speech, Syntax, Template Layout, Text & Transitions.

 

Pode efectuar o download em http://visualstudiogallery.msdn.microsoft.com/a15c3ce9-f58f-42b7-8668-53f6cdc2cd83

Para mais informações: http://blogs.msdn.com/b/webdevtools/archive/2011/06/15/web-standards-update-for-visual-studio-2010-sp1.aspx

Comunidade NetPonto na UTAD – Evento Presencial

Segunda-feira, Janeiro 31st, 2011

No dia 12/02/2011 a Comunidade NetPonto irá reunir-se em Vila Real pela 1ª vez, na Universidade de Trás-os-Montes e Alto Douro (UTAD). Para participar, efectue o registo de acordo com as instruções abaixo.

Agenda

13:45  – Recepção dos participantes

14:00 – Boas-vindas e apresentação da Comunidade NetPonto

14:10 – Desenvolvimento de Aplicações para Android em C# com o MonoDroidBruno Pires

15:40 – Integração Contínua com o HudsonBruno Lopes

17:10 – Coffee-break

17:40 – Desenvolvimento de Jogos em XNA para Windows Phone 7Virgílio Esteves e Andreas Vilela

19:10 – Painel de Discussão


Registo / Inscrição

Para participar, basta efectuar a inscrição através do site http://netponto-utad-fevereiro-2011.eventbrite.com/.
A entrada é gratuita.
Qualquer dúvida / esclarecimento, entre em contacto connosco.


Local

UTAD (Vila Real) – Engenharias I
Quinta de Prados
5001-801 Vila Real

Clique para ampliar o mapa.

Trajecto aconselhado desde Lisboa, Coimbra, Évora, Beja, Faro:
http://bit.ly/ehzMEE
Trajecto aconselhado desde o Porto:
http://bit.ly/fcgQIl
Trajecto aconselhado desde Portalegre, Castelo Branco, Guarda:
http://bit.ly/dHHt07

9ª Reunião Presencial da Comunidade NetPonto

Sexta-feira, Abril 23rd, 2010

No dia 24/04/2010 será realizada a 9ª reunião presencial da comunidade NetPonto, em Lisboa. Para participar, efectue o registo de acordo com as instruções abaixo.

Agenda

09:30

Recepção dos participantes

10:00

Ferramentas de Apoio para Developers .NET e SQL ServerHenrry Pires

Nesta sessão, o Henrry irá mostrar algumas ferramentas que facilitam o dia-a-dia dos developers que trabalham com SQL Server, e permitem alcançar maior produtividade. Aprenda de uma forma prática a comparar estruturas de dados e gerar scripts com as diferenças para manter diferentes ambientes, sincronismo de dados de tabelas em diferentes bases de dados, utilização de um plugin para utilização de um mecanismo de Intellisense mais completo, documentação da base de dados, entre outras coisas.

11:15

Coffee-break

11:30

Integração Contínua com o Hudson para Aplicações .NETBruno Lopes

Integração continua é a prática de regularmente integrar o código desenvolvido por uma equipa, tanto localmente em cada máquina de desenvolvimento, como automaticamente num ponto central. Nesta sessão, oBruno irá mostrar que com Hudson é possivel tirar partido das vantagens desta prática num ambiente .NET com o minimo de investimento inicial. Com apenas um ficheiro contendo todo o Hudson, uma solução de Visual Studio e um repositório de Subversion vou mostrar como é que podemos montar uma versão simples de uma máquina de integração continua que monitoriza o repositório e compila a solução com as alterações que vão sendo gravadas. Depois iremos passar por boas práticas, vantagens e extensibilidade do Huson, possibilidades de evolução de integração continua, acabando numa demonstração de capacidades mais avançadas para resolver alguns pontos comuns de dor.

12:45

Painel de Discussão

Nota: Ao final da reunião, normalmente escolhemos um restaurante próximo e fazemos um almoço em grupo para continuar o convívio e aproximar as pessoas. A participação é opcional.


Registo / Inscrição

Para participar, basta efectuar a inscrição através do site http://netponto-lisboa-abril-2010.eventbrite.com/.
A entrada é gratuita.
Qualquer dúvida / esclarecimento, entre em contacto connosco.


Local

Novabase (Lisboa)
Av. D. João II, Lote 1.03.2.3, Parque das Nações
1998-031 Lisboa

Clique para ampliar o mapa.

Tech Days 2010 Lisboa

Terça-feira, Abril 20th, 2010

techdays2010_logo Foi com grande entusiasmo que hoje recebi a notícia que vou ter a oportunidade de estar presente no TechDays 2010 na condição de orador. Vou apresentar uma sessão sobre como programar em C# para a plataforma iPhone.

Quem segue o meu blog deve estar recordado que à uns meses atrás coloquei aqui um post sobre este assunto. Quando li as primeiras notícias sobre o MonoTouch fiquei em pulgas para experimentar a framework e verificar com “o meu próprio código” que funcionava, e não é que funciona mesmo?

Executei alguns testes que  revelaram resultados muito interessantes, principalmente quando estamos a falar de uma framework com alguns meses de vida.

Quais as capacidades de esta framework? As suas limitações? O seu futuro e como pode influenciar o mercado dos dispositivos móveis?

Não percam no techdays a sessão Desenvolver aplicações em C# para o iPhone.

Não podia deixar de referir que nada disto seria possível sem o apoio da Comunidade NetPonto e do Caio Proiete, que me deram todo o apoio necessário para que esta sessão se torna-se realidade.

 

Update: Sessão agendada para dia 20 de Abril às 12h45 no espaço 20/10

7ª Reunião Presencial da Comunidade NetPonto

Terça-feira, Fevereiro 23rd, 2010

No dia 27/02/2010 será realizada a 7ª reunião presencial da comunidade NetPonto, em Lisboa. Para participar, efectue o registo de acordo com as instruções abaixo.

Agenda

09:30

Recepção dos participantes

10:00

Como Utilizar o Visual Studio Team System para Melhorar a Qualidade do SoftwarePedro Rosa

Nesta sessão o Pedro vai abordar temas como Unit Testing, Stress Testing, Load Testing, e Web Testing, utilzando as ferramentas que o Visual Studio Team System trás de base, e vai ser possivel perceber como automatizar os testes de forma a garantir critérios de qualidade. Será uma sessão prática, vocacionada para permitir perceber e discutir o que pode ser utilizado para melhorar o nosso processo de desenvolvimento.

11:15

Coffee-break

11:30

FluentNHibernate: Mapeamento Fluente e Automático para o NHibernateBruno Lopes

Nesta apresentação, o Bruno irá mostrar as potencialidades do FluentNHibernate, uma biblioteca open-sourceque permite efectuar o mapeamento entre classes e tabelas de bases de dados (ORM) com NHibernate, de umaforma fluente, utilizando convenções, e principalmente sem precisar criar os ficheiros XML (.HBM) doNHibernate.

12:45

Painel de Discussão

Nota: Ao final da reunião, normalmente escolhemos um restaurante próximo e fazemos um almoço em grupo para continuar o convívio e aproximar as pessoas. A participação é opcional.


Registo / Inscrição

Para participar, basta efectuar a inscrição através do site http://netponto-fevereiro-2010.eventbrite.com/.
A entrada é gratuita.
Qualquer dúvida / esclarecimento, entre em contacto connosco.


Local

Novabase (Lisboa)
Av. D. João II, Lote 1.03.2.3, Parque das Nações
1998-031 Lisboa

Clique para ampliar o mapa.

Data Validator v1.0

Terça-feira, Janeiro 26th, 2010

A primeira versão do Data Validator foi lançada à quase três meses, hoje foi lançada a primeira versão estável desta biblioteca de funções.

Esta versão, além de algumas correcções e melhoramentos de código, contém uma nova funcionalidade, a validação de números de cartão de crédito dos sistemas AMEX, VISA e Mastercard, permitindo assim fazer uma despistagem de erros de introdução de dados antes de a validação final ser executada junto de uma instituição bancária, obtendo-se assim uma melhor performance, principalmente quando este tipo de validações são necessárias em aplicações web.

Além do binário, está disponível a solução com o código fonte em C# e Visual Studio 2008, e além do projecto DataValidator, está disponível na solução um projecto de testes unitários que permite testar as funções que a biblioteca disponibiliza.

using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace DataValidatorTests
{
    /// <summary>
    /// Summary description for CartaoCreditoTests
    /// </summary>
    [TestClass]
    public class CartaoCreditoTests
    {
        public CartaoCreditoTests()
        {
            //
            // TODO: Add constructor logic here
            //
        }

        [TestMethod]
        public void ValidaVisa()
        {
            string nrVisa = "4552 7204 1234 5677";
            var valida = new DataValidator.CartaoCredito();

            Assert.IsTrue(valida.IsValid(nrVisa,
                DataValidator.TipoCartao.visa));
        }

        [TestMethod]
        public void ValidaMasterCard()
        {
            string nrVisa = "5490 1234 5678 9128";
            var valida = new DataValidator.CartaoCredito();

            Assert.IsTrue(valida.IsValid(nrVisa,
                DataValidator.TipoCartao.mastercard));
        }

        [TestMethod]
        public void ValidaAmex()
        {
            string nrVisa = "378282246310005";
            var valida = new DataValidator.CartaoCredito();

            Assert.IsTrue(valida.IsValid(nrVisa,
                DataValidator.TipoCartao.amex));
        }
    }
}

 

Mais informações em:

http://datavalidator.codeplex.com/

6ª Reunião Presencial da Comunidade NetPonto

Segunda-feira, Janeiro 18th, 2010

No próximo dia 23 de Janeiro de 2010 acontece a 6ª Reunião Presencial da Comunidade NetPonto em Lisboa, um evento presencial (e gratuito) que acontece todos os meses, normalmente composto por duas apresentações relacionadas com arquitectura e desenvolvimento de software na plataforma Microsoft .NET.

http://www.caioproiete.com/blogs/pontonet/image.axd?picture=netponto-header.png

A reunião começa a partir das 09:30 da manhã e termina por volta das 13:30. Abaixo está a agenda:

09:30 – Recepção dos participantes
10:00 – Geração de Código com o MyGenerationPaulo Correia
11:15 – Coffee-break
11:30 – Introdução ao Windows Presentation Foundation (WPF)Sara Silva
12:45 – Painel de Discussão

A entrada é gratuíta e para participar basta efectuar a inscrição de acordo com as instruções no site:
http://www.netponto.org

Novo ano, novo website!

Sábado, Janeiro 16th, 2010

website Há quem diga ano novo, vida nova. Eu decidi fazer o mesmo, mas desta vez ao meu website pessoal, o BlasterSystems.com tem cara lavada e roupa nova, ao estilo Web 2.0, coisa que está na moda nos dias que passam.

A tecnologia utilizada é quase a mesma de à 10 anos atrás, quando fiz o meu primeiro website pessoal, HTML, não à que complicar quando não é necessário,  só que desta vez acompanhei com CSS, umas horas bem passadas no Photoshop para desenhar o layout da moda, acrescentei a minha informação pessoal, os meus links, os meus projectos pessoais e académicos, um widget com o meu twitter actualizado em tempo real e finalmente, aqui está ele!

Só me resta dizer para me fazerem uma visita ao meu site e espero pelas vossas críticas no meu e-mail :)