WebSMS for blogs, websites and Google personalised home

Here is something I conjured up in the minutes of freedom after "work" last night. It is what I would call a widget - a WebSMS widget. The idea for the application came after a blog reader by the handle Vayfarer emailed me asking for advice on implementing a "Gadget" for Google personalised home. Anyway, two and a half hours later, I had this baby all wrapped up just as I wanted it.

This "widget" can be added to your blog or website. You will be able to host this widget on your own server when I release the source code, until then you are welcome to use the service based at the Technova server. The widget supports skinning the widget with your own CSS files and so can be made to fit the look of your blog and/or website. I will be releasing the source code for the project soon - right after I flush any major bugs that crops up the coming few days.


I've also made available a "gadget" package for adding the WebSMS widget to the Google "personalised home".

websms widget at google homepage

Here is live demo:

Interested in getting one for your blog/website or adding it to your Google homepage? Click here to go to the widget's homepage at Technova.

Have fun.

PS: Other SMS related stuff that I've released previously include, a SMS Sender program which you can run on your Windows/Mac/Linux computer and a WebSMS tool for phpBB forums.

Self Organising Maps

I got reminded of Self Organising Maps(SOMs) at last week's Neurocomputation lecture. I learnt SOMs last year while on a craze to teach myself about neural nets. They are fascinating little buggers I tell ya!

The knowledge of SOMs had come in pretty handy earlier this year when I designed and programmed a blog analyzer/classifier intended to be contributed to the mvblogs.org project. The "classifier" part utilized SOMs to do the magic. However, sadly, I never got around to finishing an "analyzer" (which does the text and language processing) that I was happy with and soon enough my interest waned out and the effort died. I will probably tackle it sometime soon, now that my interest has been rekindled :-P Anyway, onto SOMs...

What are SOMs?
Self Organising Maps, also known as Kohonen networks in honour of its inventor, are a very interesting type of (artificial) Neural Network. It features an input neuron layer that is directly mapped to all the output layer neurons - where the output neurons are represented as being arranged as a grid.

A SOM when presented with training data, is able to train itself in such a way that "similar" data is placed closed together on the grid. By "similar" I refer to the manner in which any number of the attributes of the input data can be represented on the output by mapping the variation of the attributes. Any type of data that can be broken down or converted to a vector of numbers so that it can be mathematically manipulated can be fed to the input of a SOM. Possible input data may include text blocks, books, images, surveys etc. This makes SOMs extremely powerful and useful as a tool for making a simple 2D/3D representation of highly complex, multi-dimensional data.

The algorithm for a SOM is quite simple and very elegant. If you are keen to learn more, try the paper "The Self Organising Map" by the creator Teuvo Kohonen himself. Alternatively, this simpler guide may be more accessible and a shorter read :p

SOM eye candy
One of the coolest demonstrations of an application of a SOM is color classification. In such a setup, a SOM is fed a set of colors - as vectors with components in RGB, CMYK or whatever representation we choose - and set to the task of "organizing" them. At the end of the run, the SOM has the colors all arranged neatly by (mostly) placing similar colors close to each other.

Here is a simple sample case where I fed a SOM a collection of 80 random colors.

Random 80 colors.

I then set the SOM to churn and after 500 ticks the output has the output grid has the colors neatly arranged!

Post SOM run...

Interesting stuff eh?

Time travel

Time travel is one of those sci-fi fantasies that had fascinated me since I was a very young kid. I reckon most people are fascinated by the idea as well but reject it as being impossible or utterly crazy. However, I for one, have always kept a hold on to the idea that time travel may indeed be possible sooner than never...

I found the link on Digg today to a documentary by the BBC titled "The World's First Time Machine". It follows research by Prof. Ronald Mallet on his quest to build the world's first working time machine - to attempt and succeed at the feat. He thinks that building and testing this machine would pave the way for solutions and answers to the puzzles and complexities involving time travel, including exploring the practical truths of the Grandfather Paradox.

- View the video at Google Video
- Download the video in AVI format

Prof. Mallet's paper "Weak gravitational field of the electromagnetic radiation in a ring laser" is a good read on the principles by which his time machine operates and the theory that goes with it.

I have no idea as to the validity of his claims but I would eagerly watch this quest for time travel. Let us hope there comes a message from the future when the machine is turned on, an event which is suggested in the documentary as being possible! ;-)


Time for univeristy again

Well, my holidays are officially over today. It is back to the university and the year is more crammed than last year with 9 modules to go. There is the usual amount of classes to fill up most of the week and enough lab work to tire out the day. I am really curious about the "Neurocomputation" module. It is not something that is part of the usual computer/electronics line up and it is a subject area that probably will take me beyond my comfort zone. I am very hungry for neural networks and neural everything though. By the way, I am a firm believer that with the use of artificial neural networks, we may one day, be able to gain the level of "consciousness" that we deem its sentience as comparable to humans.

Anyway, I hope everything goes all "bubbles, flowers and candy" this year. Wish me luck! 2006-2007 academic year, here I come :-D

Introduce a kid to computer programming

An increasing number of homes in the Maldives are getting equipped with at least one computer. Sadly, however, their use seems to stay limited to being simply a platform for games and accessing the internet for chat. Following in the footsteps of the "grown-ups", kids too stick to this notion of a computer being a big box with a screen for the said purposes. Reality, however, is that there is a plethora of uses for a computer that is more useful, educational and fun - things that will help stimulate the brain, especially a kid's brain.

Programming is one such use for a computer. It lets one build software and games. It lets one create. The desire to create is one of the most fulfilling and one of the most innate cravings we have. It is why we all revel in the act of painting, sculpting, drawing and even carpentry and masonry. Programming is also an essential part of modern education. It is required in many of the courses in graphics design, business administration, architecture and even economics. Knowledge of programming will help even if all one wants to become is an office secretary! So parents, brothers, sisters, uncles, aunts etc etc ? Listen up! Here is something you can introduce to your favourite kiddo. Once they get hooked to programming, they won?t be running around the house with complaints of boredom?

Here are two ways I recommend you take to getting a kid into programming. Both options cost you zilch...

Phrogram, the latest version of the Kids Programming Language, is a programming language/environment specially crafted for kids. It was designed to teach kids how to program in a fun and enjoyable manner. It lets one create anything from word editors to games. The software comes with several tutorials on getting started and using its various features. It is said to have been designed in such a manner so as to make the transition to ?grown up? languages like VB, C# and Java a simple matter. The basic version of the software is free. I reckon this might be a neat addition to the computer classes run in the primary schools.
- Click here to go to Phrogram homepage

Visual C# 2005 - Express Edition
This offering from Microsoft is a great introductory path to the power of Microsoft?s newest programming language: C#. The Express edition includes much of the features found in the Professional versions of the software. There are loads and loads of free C# tutorials and guides on the net that can be used in tandem with the Express edition to make learning easy and fast. With this package, the jump to professional programming is just a matter of gaining confidence and understanding. This option is more suitable to older children and youth. The software is available to download for free from the Microsoft website.
- Click here to go the Visual C# Express Edition homepage.

Have fun!

Double rainbow

It was raining much of today and in between a momentary dry spell, there showed up a brilliant rainbow - two of them infact - spanning all the way across the sky! It was a sight that is much more elusive than shooting stars in the night sky...

Women sell, men buy

I stumbled across an interesting academic paper titled "A Theory of Prostitution" which investigates how this low-skill, labor intensive job brings high income rewards. The paper investigates the role of marriage, the economics of marriage and prostitution and makes postulations in accordance with the statistics. They also play with the (interesting?) notion that wives and whores are actually economic goods: women sell, men buy! To quote the paper: "a prostitute sells non-reproductive sex, which we will call "commercial sex", while a wife sells reproductive sex (i.e. sex plus children)." :-P

Grab the PDF file from here. It is an interesting read.