The Weird Setup –> The Weird Problem

Two days ago, I was assigned to one of my client site to do some visiting or introduction and familiarization of the environment as I have embarked onto a new stream of my career path by adding on as a Field Engineer for Microsoft Infrastructure in terms of supportability of high-availability environment.

So just when I entered into the office to meet-up with my co-workers, they informed me that there was an incident that was lodged and need some resolution. So I went on to understand the problem that they are facing. So the story goes…

  • User A logs into the environment based on Microsoft Active Directory and when User A open up the suite of Microsoft Office products, it will de-activate the license of the product on the workstation.
  • User A must always bypass the Product Activation prompt when User A logs onto Microsoft Outlook to check emails.
  • No matter which computer User A uses, it will de-activate the license of the product of Microsoft Office.
  • All workstation licenses is being activated by the internal Key Management Server (KMS).

Seriously, I tried storming through the Search Engine to find if this was a known problem or just an environment-specified issue and was pretty pleased because it seems like we are the sole-ranger facing such issue. Until now, I still can’t figure out how an Active Directory User Account could go about de-activating product licenses.

Resolution Plan / Workaround

So after much discussion between the other Engineers on site, we deemed it as a one-off issue and proceed with backup and recovery process where we salvage the User Exchange account by doing the PST export then to go ahead with the deletion of the account and re-create it again.

In the end, it works fine and now User A could live with lesser clicks when launching any Microsoft Office suite of products.

Milton Goh

The Weird Setup –> The Weird Problem

My One Week Review On Using TouchPad vs Mouse

It has been one week and two days that I have bought my Logitech TouchPad. Here is my thoughts of using the TouchPad vs a Mouse.

Reason for Using TouchPad

  • Probably the one best reason that I have for getting the TouchPad is because I thought my fingers would do the job more than my wrist.
  • The built-in TouchPad on my Dell XPS 13 doesn’t give me the kind of comfort level that I am expecting.
  • I pretty much want to utilize the gestures that is available with using TouchPad on Windows 8.

Reason for Stop Using TouchPad

  • I do lots of screen shot / screen capture (whatever you call that) and seriously it is a challenge to use my fingers to really catch the edges.
  • Lugging around a huge TouchPad is no longer cool.

So probably what is the best solution to solve this? – Try bringing both devices instead! 🙂

Have you met into the situation like mine? Share with me your thoughts!

Milton Goh

My One Week Review On Using TouchPad vs Mouse

Calling all MSDN Subscriber to Take A Spin with Windows Azure

If you are a MSDN subscriber and have yet to try Windows Azure, please do not hesitate to take advantage of what is included in your subscription! Benefits stated here.

It’s just a few simple steps and you will be all ready to test Windows Azure!

1) Login to the MSDN portal – Notice that you will see “Windows Azure” section as shown below.


2) Click on the link “Activate Windows Azure” and you will be directed to the verification and sign-up page as shown.


3) Select the country you are residing in (usually this will populate automatically) and key in your mobile number. Click on “Send text message”. This is to ensure all sign-up all legitimate users. After verification, you will see this.


4) Click on “Purchase” and you will be re-directed to the Windows Azure page showing all your available subscription. As shown below, there is actually a limit on the spending being applied / enforce onto this subscription. So you don’t have to worry if you have exceeded and have to pay the excess.


In my opinion, this subscription is really useful for people like me who is playing around with Windows Azure and testing out the various features and functions.

Kudos to the Windows Azure Team and of course Microsoft!

Milton Goh

Calling all MSDN Subscriber to Take A Spin with Windows Azure

Using SQL Data Sync to Synchronize On-Premises Database to Windows Azure

Have you ever thought of scaling your Web Application so that it can extend the usage to external parties or have you ever hit in any situation where you have some subset of your data in your on-premises SQL Server that you require it for other system that are external facing?

Let’s take for example, if you have an intranet that is hosted within your own corporate network which store membership details that you all are keeping it for internal usage all along. Then on one fine day you all decide to explore the Cloud by putting your custom developed newsletter blasting system to the Cloud as you would prefer not to choked up the bandwidth in your corporate network.

Therefore, how in this world could we have the best of the both world? How can we maintain a set of information but can be used in multiple systems in multiple locations but still maintain the integrity and consistency without any duplication within the dataset itself?

SQL Data Sync Agent is here to save the woes of people who are facing such issue. Currently, the SQL Data Sync Agent is in the Preview stage and has not reached the General Availability stage therefore things may change but I anticipate that things wouldn’t be that far off as the current tool is really designed and developed to be simple and user friendly. More information on TechNet.

Let’s take the following as an example.


I have this 3 tables in one of my Web Application that is hosted in my corporate data centre which is hosted within the network and no external interface to the internet. Right now, I need to surface the membership table to one of the newly created database in Windows Azure so that the other application that is hosted on Windows Azure will be able to access these information.

Creation of Windows Azure SQL Database

Let’s navigate to Windows Azure Management Portal then select SQL Databases via the left hand corner navigation bar. If this Azure account is newly created, then you probably wouldn’t have any database created. Click on Create a SQL Database to continue.


Key in the necessary information to continue the setup of the SQL Database on Windows Azure. If you do not have any SQL Database instance setup before, you will likely not have any SQL Server setup. Therefore, go ahead and select “New SQL Database Server”.


Continue to define the SQL database server settings by entering your preferred username and password. Please note that this username and password is very important because it is the username you will be using to log on to the SQL Server Management Portal on Windows Azure Management Portal. Do note that you will need to ensure that you check that checkbox if you want other of your Windows Azure Services to access this database. An example will be, if you decided to host your Web Application to host onto one of the Virtual Machine while utilizing the Database hosted on Windows Azure SQL Database rather than loading and managing your own SQL Server instance on Virtual Machine.


Go ahead and click on the “Tick” to proceed to create your SQL Database. The creation process should take less than one minute and you will know it is done when the database status is flag as “Online”.



Installation of SQL Data Sync Agent (Preview) and Configuration of Sync Agent

Go ahead and download the SQL Data Sync Agent if you have not done so and install on any of the computer within your corporate network which have access to the internal SQL Server.

In my example, I will just install the SQL Data Sync Agent onto the SQL Server itself but it should be the same even if the two program seats on separate client. After installation, launch Microsoft SQL Data Sync Agent Preview found in the start menu as shown.


You will be welcome by the simple and neat interface. You will notice that most of the controls are being gray out. What you are left with is to enter the Agent Key so that Windows Azure can communicate with your client that host the SQL Data Sync program.


Upon clicking on the Submit Agent Key Configuration, a popup will appear as shown below. However, on first try, I have no idea what to key in. There after, I caught this message that I have highlighted. The key that is require can be retrieved from the SQL Data Sync web portal.


Navigate back to the Windows Azure Management Portal, navigate to the SQL Databases and look at the bottom. You will notice there are other navigational items available. Click on Add Sync which will show two more options available. Select New Sync Agent.


Give a name to the Sync Agent. Notice at the top, it actually prompt you that you will need your local client agent to be installed.


Click on the “Tick” to proceed and this Sync Agent will be created. Notice the “Status” is currently flag as Offline because we have not configure the local agent to communicate with the one at Windows Azure.


Our ultimate purpose is to get the key so that we can input into the configuration popup window at the local agent. So we click on the arrow at the Sync Agent to go into the detail page. Notice that at the bottom, there is this option “Manage Key” that is available. Click on it.


Instructions is available at the top. Just click on the “Generate” button to generate the access key and click on the “Copy to Clipboard” button just beside the Generate button.


When you are done, navigate back to the client that you install the local sync agent. Input the access key into the popup window.


Once the key is validated to be valid, the other controls will be enabled. Click on “Register” to register the SQL Database in your organization.


Enter the SQL Server details along with the targeted database that you want the Sync to take upon. Click on “Test Connection” to ensure that the connection can be established. Once verified, click “Save”.


Now, you will notice that the SQL Database is being added to the list.


In order to do a verification, click on “Ping Sync Service” to determine if the connection back to the Sync Agent at Windows Azure is reachable. Next navigate to the Windows Azure Management Portal. Right now, you should see the Sync Agent status will switch to “Online”.


Click the arrow beside the Sync Agent to view the details inside. You should see the database and the SQL Server hostname.



Creation of Sync Group and Objects

Go back to the SQL Databases main menu and as usual click on “Add Sync” and select “New Sync Group” this time.


Enter the details and select your desire region.


Click the arrow to proceed and select the Hub Database and key in your desire credentials. Notice that there is this “Conflict Resolution”. What it actually does is in times of conflict, whose data should take the precedent. So it depends on which is your master database. If new information is mainly populate through the database server located within your organization, then select “Client Wins” else select “Hub Wins”.


Click on the arrow to proceed. Now you will be prompt to select the referencing database. This time round, Windows Azure will need to know which database its needs to communicate with. In this case, it will be the database in the organization.


Then select the Sync Direction on which how you want data to flow. Do you want the Windows Azure SQL Database to always read from the SQL Database in the Corporate Network or you may have changes that is always made on both end and you want synchronization between the two location?


After you click on the “Tick”, it will go on to proceed the creation of the Sync Group. Then you will notice that the status will be shown as “Not Ready”. Fret not, it just means that you have not decide what to sync between the two SQL Database.


Click on the Sync Group to view the details. You will notice the following. Select Sync Rules.


You will be welcome with this page, by right you shouldn’t have any Sync Rules being added yet. Click on “Define Sync Rules”.


Select one of the database. In this case, I select my SQL Server database that is located within the organization.


You should see all the tables that you have that resemble the database back in the organization.


Select the columns that you want to be Synchronized. For my case, I want the whole “Membership” table to be synchronize between the two data sources. Therefore, I check all the columns as shown in the table. After making the selection, click “Save” to commit your selection.


Next, click on “Configure” on the top navigation and we will proceed with configuring the Automatic Synchronization of the data between the sources.


Click on “ON” and define the Sync Frequency. Make sure to click on “Save” to commit the changes.


Proceed to click on “Sync” to do a force synchronization between the two data sources so that we can see some results.

Head back to the SQL Database on Windows Azure and click into the Database as shown. Click on “Set up Windows Azure firewall rules for this IP address” so that you will be able to connect into the management portal to manage the database. One of the magic charm bar will appear at the bottom with your IP address as the detail, just click Yes to proceed.


Click on “Design your SQL database” to launch the SQL Database Management Portal. You will be prompted with the login screen to provide your credentials.


Upon successful login, you should see the tables in your Windows Azure SQL Database. See the “Membership” table that was synchronized over.


Let’s do some test by running query against this database.


There, I have all the data synchronized over! This tool is really very useful and in any case, I could easily synchronized data from my on-premises database and treat the Windows Azure SQL Database as a passive node.


Milton Goh

Using SQL Data Sync to Synchronize On-Premises Database to Windows Azure

Am I ready for Windows Azure Web Sites?

This question pops through my mind the first time when I am moving my blog from the usual web-hosting from any Web-Hosting company that I find through the website WebHostingTalk. So what really brings me to migrate my blog site and other sites to Windows Azure? Let’s read on to find out more based on my analysis and thoughts.

So many options, which is for me?

In the usual web-hosting offers that we get, we are given the following pointers to consider.

  • What type of site are you hosting? (ASP.NET – Windows Based or PHP – Can resides in Windows Based or Linux Based)
  • How much space do you need? (Goes from as little as 100MB to unlimited storage, for some.)
  • How much bandwidth do you need? (Goes from as little as 1GB to 100GB or even unlimited data transfer.)
  • Do you require database? What type? (Microsoft SQL Server or MySQL)

In Windows Azure Web Sites feature, users are filled with three options available for users to choose. The three options are namely,-

  1. Free
  2. Shared
  3. Standard

So what is really different between them? I won’t want to explain more on them because Microsoft have explained the differences clearly here.

However, Yes, I know there may be different charges for different tier but as a consumer, which is more suitable for me? Is the answer pretty much clear-cut? Let’s tabulate the possibility in the following questionnaire that will lead you to various tier plan.

Pick “Free” if,-

  • You just started out on your new site and don’t wish to incur so much cost during the designing phase of your website.
  • Testing new features during the development phase.
  • You are clearly aware of the limitation that are placed on this tier where you will not get really fantastic and awesome performance.

Pick “Shared” if,-

  • You have a blog site like mine (Yes, I consider as a small baby) who do not have huge number of visitors coming to the site yet, but you are expecting the unexpected and always prepare for the sudden gush.
  • You will want to use your own domain for your website hosted in Windows Azure Web Sites.
  • You want to perform some testing of your web-application for the scaling part where you are expecting the unexpected!

Pick “Standard” if,-

  • You are in for the real thing and you take Windows Azure Web Sites as the platform ready to host your Web Site or Web Application.
  • You need more scaling power than those that is available in the “Shared” tier.
  • If you need your site to be SSL encrypted.

So what’s the big hoo-ha about Cloud Hosting vs. Traditional Hosting? Just think of this scenario, imagine you host an E-Commerce site with the traditional hosting provider and on one fine period you decided to run some promotion to deduct 50% off the list price of the products on your website. Therefore, you attracted lots of visitors to your site not only to buy but most of them will spend time browsing through what they can really purchase. However, if you do not know how to estimate how much traffic and resource you will require, your website will definitely crawl! You may also end up with having utilizing up all your allocated pre-purchased data transfer. What worst would be your hosting provider may simply just suspend your site upon reaching the quota.

However, on the flip side, if your web-hosting is being programmed in a way it comply with the flexibility of scaling, then just simply allow Windows Azure to help you scale up and down accordingly to your visitors needs. This type of luxury will not be found in traditional hosting because their recommendation for you will most likely be upgrading and migrating your site to dedicated VPS (Virtual Private Server) or dedicated server.

Having to upgrade to such fixed plans will incur monthly cost directly and you will probably not be moving back to the Shared Hosting environment in Traditional Hosting provider.


Is Windows Azure that Good?

This question is very subjective and there goes, “One man’s meat is another man’s poison.” I may think that Windows Azure totally fit into my needs but you may think that other Cloud provider may fit into your bill. Who cares? Just work with something you are comfortable with!

One thing that attracts me to Windows Azure on first site is the visual statistics that I am getting. An example will be the dashboard for my web site hosted on the platform.

10-7-2013 11-38-18 PM

10-7-2013 11-44-14 PM

It gives me the kind of information I need at the time I log into the management portal. So if you have graphs that spike up most of the time, then it will simply means that it is almost time you need to either increase the number of instances or moving your site from “Shared” to “Standard” if you are residing on the “Shared” tier.

You can configure the “Auto Scaling” feature simply through the management portal.

10-7-2013 11-47-40 PM

Will all these awesome features available in Windows Azure, why would I return to Traditional Hosting again?

So are you ready to start hosting your site with Windows Azure Web Sites?

In the next blog series, I will be detailing out the process and consideration of migrating existing Web Application (maybe an E-Commerce site) to Windows Azure Web Sites. The consideration will detail out whether when it is time you should be using Windows Azure Web Sites or Windows Azure Virtual Machine.


Milton Goh

Am I ready for Windows Azure Web Sites?

[Review] Wireless Rechargeable Touchpad T650

Recently, I get tired of using Mouse on my notebook and was looking at Touchpad as an alternative as previously when I was using an Apple iMac, I have both the Magic TrackPad and Magic Mouse and most of the time my fingers spent on using the TrackPad.

Now I am all into Windows products and have been using Logitech products for the longest. I have around 6 different wireless mouse ranging from the lowest end one ending up on my lab server because the frequency that I am using it is really too low until the highest end one that I use for my day-to-day.

Let’s look at this little new gadget.

2013-07-09 09.59.32

Pardon me for the ugly box as this is brought from Challenger @ Funan.

2013-07-09 10.02.05

2013-07-09 12.41.07

2013-07-09 12.41.26

I really like the surface of this TrackPad and it is slightly smoother compared to Apple Magic TrackPad. Since the start of using this little new gadget, my mouse have been sitting and hiding in my bag.

It have 13 customization gestures for you to customize on Windows 8.

Here is an example of the configuration screen.


It’s call Mouse and Keyboard Settings. The next few screen shot will detail out the various settings that can be applied to the TrackPad.

10-7-2013 3-38-12 PM

10-7-2013 3-38-35 PM

10-7-2013 3-39-03 PM

10-7-2013 3-39-24 PM

This is something I really fancy of when any manufacturer build their software to understand more about their hardware. This is really useful because it tells me when I should really charge my device and at the same time I will have a good estimation how long the battery can last after a full charge.

10-7-2013 3-39-41 PM

I would recommend anyone who is using Windows 8 to get this TrackPad if you were a fan of Apple Magic TrackPad! By the way, there is another version which is slightly cheaper by SGD 10 which is the equivalent version that can replace Apple Magic TrackPad. [Logitech Rechargeable Trackpad for Mac]

Link to Wireless Rechargeable Touchpad T650 – Here


Milton Goh

[Review] Wireless Rechargeable Touchpad T650

Series of Entries on Windows Azure

As per the topic shown above, I will be working on a series of blog entries related to using Windows Azure. This blog series have yet to finalize into the how many entries would there be in total but the whole objective of this series is to illustrate how a Solution Architect could play the role of thinking for the customers from as little as an online e-commerce retail owner to a full stack programmer to an IT Pro who loves meddling with new technologies until the power users who are in the C level.

Stay tuned for the upcoming posts!


Series of Entries on Windows Azure