Blog moved.

I have moved this blog to my new site located at with the blog located at This blog was already messy and I had little or no time to clean it up. This is my last post on this blog.

Thanks, Shawn Mclean.

Posted in Uncategorized | Leave a comment

Silverlight Resizable Grip Container Control

Uploading on GitHub Soon.

Posted in Silverlight | Tagged | Leave a comment

Retrieve Coordinates from Google Maps on Click

Technical Level: Beginner

Problem: Retrieve the coordinates from a click event on html/javascript google maps.

Required Tools:

Solution:Very simple solution, a Google map click event passes the coordinate as a parameter. I Use JQuery in my implementation of this map because I intend to make AJAX calls. If you are not familiar with JQuery, then the following codes can be substituted in the as follows:

$("#SomeIDOfATextBox").val("Some value");
//Can be replaced by:
document.getElementById('SomeIDOfATextBox').value = "Some value";

Below is the javascript used to setup the map and grab the coordinates:

var map;
function initialize() {

   if (GBrowserIsCompatible()) //a check to make sure the browser is compatible for GEmaps.
     map = new GMap2(document.getElementById("map_canvas")); //assign the div to map var
     map.setCenter(new GLatLng(18, -77.4), 13); //centering the location
     map.setUIToDefault(); //setting the default location to the center.

    //The GE event for clicking the map.
    GEvent.addListener(map, 'click', function(overlay, point) {
    map.clearOverlays(); //clearing the previous marker
    var lati =; //Function to extract latitude
    var longi = point.lng(); //Function to extract longitude
    var marker = new GMarker(new GLatLng(lati, longi), { draggable: false }); //Setting the marker to clicked location
    map.addOverlay(marker); //adding the marker to the map
    //JQuery function to assign the lat and long to the values of textboxes.

//This JQuery Function operates almost the same as the onload function, except more earlier
$(function() {
   initialize();//call to initialize the map.
<div id="map_canvas" style="width: 600px; height: 400px;">
 <input id="LatTxt" disabled="disabled" type="text" />
 <input id="LonTxt" disabled="disabled" type="text" />

Below is a screenshot of my extended version (I’ll show how to get Geo-coded locations in a next post):

PS. Google Geo-Code service sucks for Jamaica. I’m now seeking alternative data sets.

Posted in Javascript, Uncategorized | Tagged | 2 Comments

Claro Jamaica Internet Review

Since there are no review sites for products and services in Jamaica, I’ll just rant about my little problem on my blog in the hopes of saving potential customers from getting ripped off. This review is based on northern St. Elizabeth location for Claro Internet Service . They claim they do not do refunds if you get a service, even if your service is crap.

Review: Rating based out of 5.

  • Product Service – 2.
  • Customer Service – 0. (Cust Serv is a complete joke).
  • Setting up – 5. (They make no joke in collecting your money and sign you up).

My Rant

I was informed by claro representatives at 2 different resellers and customer service that in my location, EDGE is available. I bought a claro modem with 1 month’s internet service, brought it to my area in which I indeed have EDGE. So before I get into the technical aspects of my rant, I’ll give a little lesson on the technologies I am working with:

There are multiple types of data transfers that Claro offers. Their best type is 3G. In my location I have GPRS and EDGE. These are the speeds that these 2 data transfer should give from this network:

  • GPRS – 7kbps down.
  • EDGE – around 25kbps down.

Now back to my rant. The modem frequently switches back and forth between GPRS and EDGE, but most of the time, it stays on EDGE. When on EDGE, I get a maximum down rate of 2kbps. Yep 2kbps of the 25kbps of what I should be getting. When it switches to GPRS, I get a maximum down rate of 7kbps. So here we have it, the lower performing service is out performing the better service.

I waiting a day or two before contacting customer service, they turned out to be very nice people who understood my problem very inefficiently and auto responded with “We are aware, technicians are working on the problem”. So after a few calls to their customer care service, I gave up and turned to a governmental organization called Consumer Affairs Commision. This very nice lady was assigned to my problem, she contacted Mr. Randolph Nelson (Customer Service Manager from Claro).

Mr. Nelson along with a technician tried to temporarily fix the service on GPRS until they fix the cell site in the area so EDGE would work properly. Weeks passed, each time of contact, telling me that they have not visited the cell site yet. 2 months passed until I told the assigned technician I need a refund. She claimed she would pass it on to Mr. Nelson, who suddenly decided to stop replying to my emails. The lady at consumer affairs contacted him again to inform him about the refund, she replied to my email with the following:

Mr. Nelson has just responded to me by stating thatClaro wouldn’t be able to refund you because there is connectivity on the modem, just not at the speeds you would like.

This is the last I have heard from them since I bought the modem 4 months ago with 1 month of unacceptable internet service. In total, I wasted around $11,700.00 JMD on this modem and the 1 month service.

I’d like to thank Petra Young, the lady who looked after my case from consumer affairs. I’d also like to thank Randolph Nelson, who was just doing his job (I think hiding away from my emails is a part of Claro’s internal rules).


Claro is a typical Company that does not care about customers. They are unethical and their customer care reps are well trained with bullshit. I can safely say, being a digicel customer, they’re customer care is on par with Claro’s. Their prices are also very high, but because there is not much competition, people run to them as I did (for a lower quality service).

Names may or may not be removed upon request.

Posted in Uncategorized | 7 Comments

ASP.NET Client-Server tool.

This is a tool I whipped up. Its a simple one-click application that acts as a localhost server and runs an application.

The core works fine without any crashes yet. I need to do a few improvements so I can submit my game in 1 package and start the project without navigating to it. Stay tuned for more updates on this little application.

The download is located on the left in a widget. The file is called XorianaServer.exe.


My machine is vista sp2 and I’ve tested it on a windows 7 also. But this is what I think it requires:

.NET 3.5 SP1.

Official Description:

Xoriana Server is a local client server that can run ASP.NET 3.5 and under projects the same way visual studio’s internal server does.  (WebDev.WebServer.exe) There are many servers like this around including those used by commercial 3rd party control creators such as Telerik, ComponentOne and Infragistics. This is where I got my idea from.

Start XorianaServer.exe.
Browse to the root path of where you project is located. That is for example, the folder that Default.aspx is located.
There is a default port and virtual path set, if they are already in use, you can change them.

Anyone is free to use this tool, distribute it or whatever.

Future Updates:

  1. GUI tuneup, icons, etc.
  2. Parameter Passing.
  3. Minimize to System Tray.
  4. Memory Optimization. (This currently uses 23MB+ Ram)
Posted in .Net Framework | Tagged , , | Leave a comment

Merged Search Textbox and Button

soon to come

Posted in HTML & CSS, Web Design | Tagged , | Leave a comment

Windows Live Writer Facebook Sharing Plugin

Technical Level: Beginner


  1. Creating a Windows Live Writer  Plugin.
  2. Performing instructions after a blog is posted with Windows Live Writer.
  3. Using the Facebook API with the .net framework to share a link.

Tools Used:

  1. Visual Studio 2008.
  2. .Net Facebook Developer ToolKit.
  3. Windows Live Writer.
  4. Facebook Account.


Incomplete. Check back in a week.

Facebook Setup

Developing the Plugin

Posted in .Net Framework | Tagged , | Leave a comment