Wednesday, October 27, 2010

Antennas Application for Android Phones

One of my favorite applications is the Antennas application, which is a simple but ingenious application that shows you the location of the mobile phone masts nearest you. It knows your location from the GPS sensor in your phone and it also has access to a database of where mobile phone masts are located.

Sample Screen from the Antennas Application
Despite the growth of mobile phone networks, I am sure that you often encounter the situations where you have poor signal. When this happens you know that you probably need to move to get a clearer signal. The trouble is that often you have no idea what direction you should move in order to improve reception. The antennas application can solve that problem by showing you a simple Google map showing your location and where there are mobile phone base stations near you. It also accesses information from your phone about which particular base station you are connected to at the moment (which might not necessarily be the one closest to you).

I find this application very useful. It has helped me get to know all of the mobile phone towers near my home and work. They are easy to spot when you know they are there, but the phone companies often try to hide or disguise them because many people object to unsightly masts.  My favorite type of phone mast is disguised as a tree.

Monday, October 25, 2010

My First Patent gets issued

I just learned that my first ever patent was issued. The title of the patent is "METHOD AND SYSTEM FOR LANGUAGE IDENTIFICATION" and the full text can be download here. It is amazing how long it takes for a patent to be issued. The idea was developed back in 2003 when I was working with the Languageware team and the patent is registered in the name of several of the Languageware team members. I have filed a few more patents in the years since, but none have yet been issued.

I must admit that I have mixed opinions about Patents. At one level I am very proud to have a patent issued in my name and having patents is considered very helpful in advancing your career inside IBM. However, I am also very aware and sympathetic to the arguments of people who argue that the current system of granting software patents is fundamentally flawed. I would consider that this particular patent has valid inventiveness and it does seem to still have value 7 years later, but I know that many patents have been registered for ideas of very little merit.

IBM has a similar mixed attitude to patents. At one level IBM are very proud of our record of being the company to whom most patents were granted for over 15 years in a row, but on the other hand IBM are also promoting an initiative to improve the quality standard for patents.

Sunday, October 24, 2010

Arduino Hack


Adruino Hack
Originally uploaded by Brian O'Donovan
Today I put the finishing touches to my Hackday 8 project. I didn't get it finished on Friday, because progress was blocked by a bug in the Mosquitto MQTT broker which stopped it communicating with the Arduino. Since these technologies are new to me I assumed I was doing something wrong. However, Andy Stanford-Clark helped me figure out that if I switched to using the Really Small Message Broker (RSMB) I could get it working.

All that is left for me to do now is to make a little movie of my project demonstration. I intend using Kino for this. It is unlikely to be an Oscar contender, but it will also be the first time I used Kino for anything more than chopping up videos into pieces and/or converting between video formats.

I will also submit a bug report to Mosquitto so that it can be fixed.

I can't really blog about the project in detail outside of IBM. It is not a very complex project, but I am proud of it because it is my first real Arduino project and also the first time I used MQTT.

Friday, October 22, 2010

My Sametime Plugin Portifolio

Hackday 8 is being held today. It is very common for people to write Sametime plugins as their Hackday project and a  number of people have asked me for ideas for what would be a typical Sametime plugin that could be developed for Hackday. The best advice I can give is to provide them the list of the plugin projects that I have been involved in. Most of these plugins were developed before I became a member of the Sametime development team - some of these are all my own work, but others are joint projects with other people. Many (but not all) of these were Hackday projects and perhaps they will inspire ideas for other people.
  • Smasher - This plugin was developed as a simple tool to authenticate with the boundary firewalls used on the IBM network. It was my first ever Sametime plugin, in fact it was originally developed before the Sametime client adopted a plugin architecture. The smasher development is fully described in an earlier blog posting.
  • Auto-Hello -  Many people choose to start Sametime chats by sending a simple message Hi or Hello. to which I must reply Hello before the conversation really starts. I developed the Auto-Hello plugin to automate this process. After I released the first version, I learned that Sebastian Thomischke had already developed a similar plug-in so I collaborated with him on this plugin. This plugin never have many active users and when Sebastian left IBM the source code was lost.
  • Proxy Buddies - When the person you want to chat with is not on-line, you must find someone else to chat with. For Hackday 4, I worked with Mark Wallace to develop the proxy buddies plugin which was an automated utility to select someone else to chat with. It was implemented in a modular way where separate plugins could provide different mechanisms for finding alternative buddies to chat with. We developed plugins which would provide lists based upon:
    • Looking for on-line people within the target person's management chain
    • Looking for people in the same department as the target person
    • Searching for people within the target's person's social network by using the SONAR API
  • Message Attendant - some instant messaging systems (but not Sametime) provide a capability of sending instant messages to people who are not currently on-line. I was thinking about ways to achieve the same functionality in Sametime and I came up with a secure mechanism whereby a Sametime user could provide limited delegated authority to a bot program to take messages on their behalf when they are not online. This mechanism was subsequently the subject of a patent application, so I can't describe too much detail here.
  • IMQ (or Instant Message Queue) - was another attempt to tackle the issue of sending messages to people who are not on-line. It works by allowing people to queue up messages so that they will be automatically delivered when the person was next on-line. This plugin received a mixed reaction. Some people thought it was very useful function, but others thought that it was a potential source of SPIM. After hearing the concerns, I added features to stop the inappropriate use of the plugin. However, the feature was never adopted into the core product because of the mixed reactions.
  • MicroBlogCentral/Status Updater - My idea for a Hackday 6.5 project was to  develop a Sametime plugin which would be able to post to several micro-blog sites at once. When I did investigation, I found out that Jessica Ramirez had already developed such a plugin, so instead I decided to team up with her to extend her plugin. A few other people joined in with us and the resultant project is described in detail by me in an earlier blog post. A version of the plugin with slightly reduced  functionality was subsequently released under an open source license through OpenNTF.
  • Persistent Note store - A customer was developing a Sametime extension with the Sametime Connect Toolkit, but they ran into problems when they cound that they needed to use functions which are only available from the Sametime Java Toolkit. They contacted me through their support representative to ask if it was possible to mix the two toolkits in a single extension. I advised them that such mixing was possible and in order to illustrate the method, I sent them code that extended the BuddyNote sample that ships  with the Sametime Connect Toolkit to store the notes on the Sametime server instead of the local file system (this was only possible by using the APIs provided in the Sametime Java Toolkit). This was subsequently published in an article on the DeveloperWorks site.
I hope this list provides Hackers with the capabilities of the Sametime platform and inspiration for their own Hacks.

Tuesday, October 19, 2010

Very impressed with new M4 Service station near Enfield

Yesterday evening I stopped for the first time in the newly opened motorway service station along the M4 motorway near Enfield in county Meath. I was very impressed with the facilities with a number of different food outlets available including, Costa Coffee for the adults, Burger Kids for the youngsters. There was even a play centre for the kids to run off some energy and a number of showers which could be used to freshen up after a long journey. I must say I was very impressed, the facilities were clean (of course a cynic would point out that there was hardly any time for them to get dirty yet).

The Irish Motorway network is only fairly recently built. Initially the National Roads Authority were reluctant to build any service stations. The motorway network started off as a few a few isolated stretches of motorway quality road so this was not a big problem. However, when the network was completed there was public outcry because now people were faced with long journeys with no obvious places to take a break. The National Roads Authority finally relented and agreed to build some service stations. I am glad to see that when they finally built the service stations they did so in some style.

Saturday, October 16, 2010

Is it possible to call the Google Street View cameras back to take a nicer picture?

There was much excitement recently about the fact that Google Street View finally released their photos for Ireland. It was a few years since the photographs were taken and the delays were explained by the fact that there were concerns expressed by the privacy implications of people's pictures appearing and they needed to semi-automatically blur any faces accidentally captured.

Naturally I decided to have a look and see how my own house looks on Street View and although I don't think it looks too bad, I was a little disappointed to see that the hedge in the front garden was clearly overgrown. As a matter of fact the hedge in question has since been removed and I wondered if there were any way to possibly call back the Google Street View cars to take a new picture of my now tidier front garden?


For me it is not a big deal how my house looks to casual browsers, but I can imagine if a business premises had spent quite a considerable amount of money to renovate their premises they would not be  happy if people using Google Street View were still seeing the older un-renovated view. Perhaps there might even be a business opportunity for someone to go around taking professional photographs showing off a business premises at its best!

Friday, October 15, 2010

My first Hardware hack - a stand for an iPOD touch


Stand for ipod touch
Originally uploaded by Brian O'Donovan
One of the problems with my daughter's new iPOD touch is that when she places it flat on the table, she is unable to easily view it while lying in bed. This was causing her to have to hold the device in her hands which was not ideal.

I tried several physical and on-line stores to see if I could buy a stand for holding it propped up. Unfortunately I had no luck so I was forced to build my own from a wire clothes hangar. It might not be as elegant as Steve Jobs would design, but it works and hence I am happy with my handiwork.

Why are there Google advertisements appearing on this site?

Personally I am not a big fan of blog sites that are filled with annoying advertisements. Therefore you might be surprised to notice that I have just enabled Google AdSense advertisements on this blog.
Don't worry I don't intend to turn this blog into a money making scheme. The reason why I have decided to enable Google AdSense for their site is because I am helping a local soccer club Castleknock Celtic revamp their web presence. They want to enable Google AdSence advertisements on their site and I just wanted to do a quick trial to ensure I understand how the whole process works.
If you visit their current web site you will see that the revamp is well overdue. In the meantime any revenue I generate from people clicking on the advertisements showing on my site will be donated to Castleknock Celtic so you will be reassured that it will be going to a good cause. I will let yoiu know once the new site is ready to go live.

Thursday, October 14, 2010

Why aren't Irish people interested in the Facebook Movie

There is quite a bit of fuss in the USA recently about the release of the Social Newtwork movie which is loosely based upon the real story behind the establishment of the Facebook site. I don't know how close it is to the real truth, but allegedly the plot is based upon depositions given in preparation for a legal case between Mark Zuckerberg and some of his former classmates in Harvard disputing the ownership of the ideas behind the site.

I checked out what times it was showing in my local UCI cinema and was disappointed to see that it is only shown twice a week once on Sunday and once on Wednesday. Clearly it must not be attracting much audience because the popular movies are typically shown 5-10 times a day. This surprised me because Irish young people seem to be obsessed by Facebook since they defected en-masse from Bebo a few years ago.

Maybe they are all just watching streamed versions of the movie at home!

Wednesday, October 13, 2010

Does Nelson Mandela support Ubuntu Linux?

I am a great admirer of Nelson Mandela and also fan of the Ubuntu Linux distribution. Therefore I was initially very impressed when I saw the following video which seems to show Nelson Mandela endorsing Ubuntu Linux. However, when you listen closer you realize that he never actually mentions the word Linux.  The video shows what seems to be excepts clipped from a longer interview and it has the logo of the Ubuntu Linux community overlaid on some screens to imply that his words are intended as support for the Ubuntu Linux project.



The African word Ubuntu does not have a direct translation in English, but roughly translates as helping other people in your community. As I understand, it may be close to the Irish word meitheal. I can see why Nelson Mandela might want to support the philosophy of Ubuntu but at the same time avoid explicitly endorsing the Ubuntu variant of Linux (it is quite possible that he never even heard of the Linux variant).

I am confused about how to react to this video, because it must represent one of two very different situations:
  • If Nelson Mandela knows of and supports the Ubuntu Linux community, then someone should clearly document this support.
  • If Nelson Mandela does not wish to publicly support the Ubuntu Linux community then I think this video represents an underhand way of trying to mislead people into thinking that he is a public supporter. In this case the Ubuntu community should publicly disassociate themselves from such trickery.