C# Yellow Book by Rob Miles

Posted on 8:59am 10/20/2008 by Bruno Silva in .NET, Programming

Rob Miles (a MVP from UK) has made available in his website a C# book for beginners that is used in this university in the First Year programming course. Download the PDF and happy reading.

TODAY, Mobile Application - Make art from your communications log

Posted on 5:35pm 10/17/2008 by Bruno Silva in Culture, Design, Freeware, Mobility

In the last day of Shift’08 Conference I attended to a session about a project of investigation that I really liked. The speakers (authors of the project) weren’t good speakers and had difficulties to “sell the product”, but the project itself and their idea really pleased me. What is it?

TODAY is a piece of generative design for mobile phones.

It’s an application that visualizes personal mobile communication. It sits on the periphery of the machine, monitoring our connectivity through the number and type of calls we receive, subtly displaying them back to us, in the form of a generative graphic. Here, the visual result is a figurative and seemingly abstract picture – the story of your day. Some days will be really colorful and wired, others quieter and more reflective, either way the resulting visuals will always be personal, unrepeatable and unique.

They have a set of rules used in the creation of the elements of each drawing. Bellow you can have a taste of the main rules.

When I talked about this project to some people they were like “And what’s the use of it? Seems silly…” As far as I am concerned: NONE!!! But it is art! It is not meant to have an use. It is pretty and meaningful. Your day recorded in an image. Brilliant concept. That’s it. No “features”. This project gets funds from the Portuguese Ministry of Culture!

This software is free and it is available for download. The only drawback is that it targets only Symbian… When someone in the audience asked the authors about porting to other platforms they told that iPhone or Android would be great, but in the iPhone would be difficult to get information about your communications, so Android would be a nice option.

I was really sad that they didn’t even mentioned Windows Mobile, which I consider to be a great platform for development that is growing everyday. I haven’t ever tried something like this, but my feeling is that it wouldn’t be that difficult to get information regarding calls log and SMS’ log on a Windows Mobile powered phone.

Try this software if you can, really. Unfortunatly I won’t be able to… TODAY, Mobile Application.

Print What You Like

Posted on 7:43am 10/17/2008 by Bruno Silva in Utilities, Web

What to print an article embebed on a webpage, or other online content, but what to reduce the paper consumption? Today I found out a nice online service that allow you to edit a webpage for printing really easily.

Sometimes web pages have printing style sheets, other times copy-paste to Word is really effective. But if the web page is messy, this is a great tool.

It is worth giving it a try! Go to PrintWhatYouLike.com and start printing in a ecologic and cheaper way.

User Experience Week

Posted on 10:23am 10/16/2008 by Bruno Silva in Events, Usability

A área me usabilidade é-me bastante querida deste que tive a cadeira de Interfaces Pessoa-Máquina. Sempre que tenho oportunidade de aprendar mais sobre este assunto que tantas vezes é colocado de parte, tento aproveitar ao máximo.

Um destes casos é a User Experience Week que engloba uma apresentação pública e 2 workshops. Para os workshops não tenho budget mas na apresentação devo estar presente!

User Experience Strategy

Apresentação, 2 Horas
03 de Novembro de 2008

Auditório Microsoft
Oeiras, Portugal

User Experience Design

Workshop de 2 dias,
Beginner to Intermediate
04 e 05 de Novembro de 2008

Hotel Real Oeiras
Oeiras, Portugal

Information Architecture & Search

Workshop de um dia,
Intermediate to Advanced
06 de Novembro de 2008

Hotel Real Oeiras
Oeiras, Portugal

Parabéns à Fullsix e à Microsoft por mais uma excelente iniciativa conjunta.

Using Neural Networks for Classification

Posted on 7:18pm 10/15/2008 by Bruno Silva in .NET, Artificial Intelligence, Programming, Software

During the last weeks I’ve been doing some research related to my Master thesis. One of the topics I’m studying is Unsupervised Machine Learning. The main goal is to have a piece of software that given a training set (a set of examples representative of the whole population) allow the software to accept input that it has never seen before and behave as expected.

Imagine for instance a concept called Color Classifier. We usually have several named colors such as red, green, blue, yellow, gray, orange, etc.  You have different flavors of each color, and you can consider different combinations of RGB colors the same color. How  can you, given a RGB Color code, name that color?

One approach is using Neural Networks (which is a unsupervised learning method) for classification.

I won’t talk about the details of Neural Networks algorithms, since it is the reason why many people avoid this kind of approach: complexity. I’ll just show you how, with a library that hides the implementation details, you can use them.

NeuronDotNet is a .NET library which allows you to use Neural Networks algorithms as a black box. They have some samples which can guide you, as they guided me.

The algorithm I’m using is called Self-organizing Map (SOM). The main idea is to generate a 2D map which topology (dispersion of the points and their positions) is based on the relation between the input data. Back to the example, from a set of random colors which can be represented as a vector with 3 dimensions (input), we generate a map with 2 dimensions, where similar colors get close to each other and completely different colors are set apart. The picture bellow represents the results.

(Left: input, Right: 2D map that results from the algorithm)

The number of colors that will be recognized (the number of neurons of the output layer) can be customized in the neural network configuration, prior to the training phase. In the example above I recognize 25 different colors.

Once the SOM algorithm runs in training mode, the resultant neural network is able to classify new colors into the different slots of the map. If you name each slot with the name of a color, you get a color classifier. In the example above you can label several flavors of green, blue, red,  brown, pink, etc. In each slot you have several stripes that represent the colors from the training set and in which slot they ended up.

In the demo application the basic steps are:

  1. Play with the different settings (or leave them alone… take special attention to Layer Width/Height and Set Size)
  2. Generate Training Set
  3. Start (Learning)
  4. Choose Color (to classify)
  5. Classify (the neuron that best matches the selected color will be highlighted with a red border)

Download and try the Color Classifier. Keep in mind that a lot of the source code is UI-related, and not Algorithm-related, so don’t be afraid!

Download Demo | Download Source Code

© Bruno Silva | Powered by Wordpress