Sep 14
How far should I lean? Where should I put my weight?

When I start learning tango I was told that I have to lean forward, so that I and my follower looks like forming a letter A; in order to be connected at the chest while still creating enough space for the lower body to move freely. As I progress and taking lessons from other teachers, as well as feedback from my followers and fellow tango dancers, I receive different information regarding whether I should lean forward or not, how should I lean forward, and how far should I do it. Each have their own idea about how far should one to lean forward. The differences in the opinions is so great that I remember that I had an argument with one of my follower regarding leaning forward. She insisted that I should lean forward even more because she feel that I didn’t give her enough pressure to maintain our connection; while I maintain that if I lean further even slightest I will lost my balance, won't be able to dance/lead properly, and will fell over. Her reply is what surprised me: that’s what supposed to be! she exclaimed.

The disagreement was caused by our respective teachers believe in different philosophy. Her teacher believe that both dancers should share their axis and each dancer should support/balance the weight of the other; mine believes that each should be responsible in maintaining own balance and connection hence not to lean as much.

Which one is right? Which one should I follow?

There's no right or wrong, unfortunately. Carlos Gavito dances with a very deep lean, Javier Rodriguez varies the lean though his dance, eventhough he's quite straight when he stand; Osvaldo and Coca tends to be quite straight all the time. All of them are some of the famous great tango dancers. Although they seems to be different in their choices on how far they lean forward, actually they're all the same. Because, they use what's comfortable for them, what's comfortable for their follower, what's comfortable for their tango at that time.

However, I believe that while you're learning, there's another factor that you should consider: which/what stage are you in?

In my experience, at the very early stage it is better for you to use, or at least learn the deep lean technique because it'll help you to building on the idea of maintaining the connection with your dance partner while at the same time creates a space for the lower body. As you become more skilled in tango, especially in your walk, start to experiment to lean less forward; this will helps you shift your weight from around the toes to your metatarsus, towards the middle of the arc of your feet and even on your heels.

The idea is to find your center point where you really feel comfortable and balanced. You should feel like walking leisurely with your friends having fun. Hence, you will always be in balance, and your body will always be relaxed; therefore, you can be assure that you won't take your dance partner off balance.

I used to lean forward quite a lot, but then my muscles become so tense - starting from my shoulder, upper back, lower back... Apparently, it is all because I put my balance too far ahead of my balance point. My muscles become tense, because they have to work extra hard to keep me stay in "balance". And when your muscles tense, you cannot dance properly - yes, I was still able to lead, somehow; but my lead apparently looked awkward and it become really-really hard to lead especially new followers.

As I learn to shift my weight towards my heels and middle of the arch of my foot, my muscles become more relax, which makes my dance more relaxed and make it easier for me to communicate with my dance partners through my movements.

So, there is no set of rules that says how far you should lean forward; it all depends on your dance style and your balance point. What is more important is to be able to keep yourself in balance and be relax all the time.

Mar 02
Which one is right: what I learn in the class, or what people teach me when I dance socially?

I start my tango journey by going to Irina Kapeli's class, where the first 2 sessions were dedicated to teach me how to walk; then she taught me basico, a set of basic steps commonly used when dancing tango, then I learn how to lead giro a la derecha (turn to the right), giro a la izquierda (turn to the left), hacia atrás y ocho (backward ocho), reenviar ochos (forward ocho), caminata con giro (walking with a turn), among other things. I was able to lead my classmates to do the steps that I wanted quite successfully, at least most of the time; hence, I was quite confident with my skill.

However, I also remember that learning tango 1 hr a week as well as practicing by myself, will only take so far. To be better in tango, let alone be good, I will need more practice; and I have to practice it with a partner. Unfortunately, I don't have a permanent practice partner; so, I have to find a way.

Luckily there's facebook! Through Facebook, I found Auckland tango community​, and I'm so happy that there's plenty of opportunity to practice.

After mustering up my courage, I went to the earliest practice that week, who happens to be on Thursday night. Once arrived, I almost chickened out; but Denise McCombe, the one who's in charge of that practica (practice session) saw me in the eyes. I knew it was too late for me to back out, and so I went in. After having a quick chat about my tango background, she asked me to lead her to walk. After a few steps, she stopped me and gave me a few tips, then she asked me to lead her again. This process happened over and over; so repetitive that after about half-an-hour, I felt that I need a break: both to rest as well as out of boredom of just walking around-and-around on the dance floor.

Safe to say, that my break was just in a matter of seconds, as I had a quick chat with Stu Johnstone, a gentleman who also happens to have a rest, and used to go to Irina's classes as well. He then asked me whether I can lead a cross, and when I said I can, he asked me to lead him to do a cross. Unfortunately, my attempts were epic failures. Then he taught me his technique, and it was different to what Irina have taught me.

To summarise, that night, I have to relearn 2 of the things that I've felt that I can confidently do.

A few days later, I went to another practica, and this time I had a chat with a chap called Steve; he asked me to show him how I do my basico; and so I did showed him. Again, he give me a feedback that's different than what Irina have taught me.

Once I got home, I felt very discourage! What have I put myself into? I thought. I've spent weeks to learn tango, and now it seems useless as what I have to redo or relearnt what I've learnt in the class. What's the point of doing the class, what's the point of going & do the practica if what I have to do is kept re-learning things! So I share my frustration with my class-mate, and he said: "every teacher have their own way to teach, it's up to you which one to learn from." That statement really  stroke me.

Now, is it wrong for those kind people in the practicas to teach me their style - which implies that my style might be wrong? Is it wrong for me to insist on keeping my style while they teach me & share their knowledge and experiences with me? Unfortunately, I don't have a definite answer to any of those questions. I do remember a proverb that says: "When in Rome, do as the Romans do."

What I meant is, if someone teaches you, then do as you're taught. There's no right or wrong, both are right, in my experience. Which style that you will adopt in the end, it's up to you. It's your prerogative. It's your right to choose. What I found is that when a person share their experience to you, teaches you, or give you feedback about your tango, if you open-mindedly accept or listen, they'll be happily do that, and give you so much more. If you genuinely asks someone, and genuinely listen to their answer, they'll give you a lot more that what you asked; but you have to be genuine. If you shuts down whenever their answer isn't as what you expected, they'll stop giving you constructive feedback.

When you're learning & trying to improve your tango, constructive feedbacks are what you really-really needed.

Be open-minded, genuinely receive the feedback, listen when they share experience. Then, mix it with what you already have and know. Experiments with them, then choose what's right for you.

A concrete example of this is: my basico. Step-wise, I'm using Irina's basico; of which as a leader, I cross my foot on the 5th count; even though people advises me not to do that. However, following the feedback, I do improve my lead in doing the steps of that basico; so I'm no longer just doing the step, but I'm also leading my dance partner to do it. And that's exactly the point! I manage to own that basico.

There's no right or wrong basico or right or wrong set of steps in tango. Whatever it is, it's all just an improvisation of tango's 3 basic steps: walk, pivot, and weight-shift. Just like what my class-mate told me: "each teacher have their own way, their own style, it's up to me which one that I want to use." It's like: "it is my dog", and "it's my dog"; those 2 phrases are correct with just minor differences between those sentences. Whichever you choose, it doesn't matter as long as you use it correctly. One more thing to remember is that people will be very supportive & happily give you constructive feedbacks if you're open-minded & genuinely listen to what they tell you.​​

Dec 08
People dancing in circles and the pecking order

Irina Kapeli and Ian Russell kept telling me the other students to dance tango in circle to get us used to how to dance in milongas; and should not pass whoever in front of you. Initially I followed but I start to think: why? Why people dance in circles in milongas, why don't they dance in different ways or path. Why can't I pass the one in front of me, especially if they're really slow and blocking the path, or being inconsiderate.

Initially I thought that it is just the courtesy, the norm, the tradition that is passed on from previous generation to the next; it could also be the most optimal path; but rectangular is actually the best path if you want to really use the whole floor. Luckily I found an interview clip of Osvaldo & Coca Cartery, a husband & wife milongueros, sharing their tango story.

He share how he "conquer" his wife, Coca, and how she makes him have to work hard to get her. And one of their story is how in the past there's no tables in milongas; only benches on the walls where the mothers seats and their daughters standing nearby, while the young men in the center of the dance floor. There was hundreds of them, and not all of them dance, so their best options is to actually dance around the people who are standing in the middle of the dance floor; and for the same reason they can't pass the couple dancing in front of them without the risk of bumping to the people who are standing in the middle, and most definitely one cannot cut across the middle of the floor; everyone knows this and they then become more considerate towards other dancers.


​​​I personally believe Osvaldo & Coca's story is the most accurate because it's their first-hand experience, and Osvaldo was born in 1938 and has been dancing since he was still very young; so he's one of the old tangueros.

Now, at the modern day milongas, there's no more young men standing in the middle of the dance floor; and to optimise the dance floor, people now dance in multiple lanes. Which brings us to the next question: On which lane should I dance? I was told that the outer most is for the most experienced, but other people told me the opposite that the outer most is for the least experienced. Which one is right?

When I do my research, the statement "the outer-most lane is strictly respected, and dancers are expected to respect other dancers' space by not colliding either by stepping, kicking, moving their bodies into other dancer's space' kept coming up; while the closer the lane to the centre of the dance floor, the less structured and less defined it become.

So, if you want to dance with moves like gancho, high boleo, it's highly recommended to take the one closest to the centre of the floor. The same goes with how experienced are you with your floor craft. Floor craft seems like a simple thing, but the busier the club, the more skilled you have to be with your floor craft. For instance, in a very busy club where you can only move for 1 m or maybe less for the whole tanda (usually 3 songs long), you'll find it really hard to make the dance enjoyable within the limitations of keep moving forward, respects other dancer's space, and staying in your lane; if you aren't skilled in navigating the floor.

And as the outer-most lane is the most strictly respected, it usually is reserved for the most skilled of dancers.

Nov 19
My first tango practice

At the end of my previous post, I share how I was very hesitant to go out and go to the practica. This time I want to share how it was.

As soon as I open the door I saw Denise McCombe​, and she saw me. And my mind said: "Damn, no turning back, now.​" So, trying to be a good guest, I approach her, shook her hand and introduce myself. Apparently she remembered me from my comment earlier in the Tango Club facebook page. I had a quick chat then off I go to change my shoes.

I looked around, and I was the 6th person there. And 4 of us were males. Other than Denise and I - who is still changing my shoes - everyone is either warming up or practicing.

Being an introvert, I did what is natural for me. I go to the furthest corner and do what Irina Kapeli taught me to do at the beginning of every class I have attended up to that point. So I practice walking forward, and walking backward; exaggerating each and every backward steps, of course. :) :)

Then Denise came and asked me to walk and lead her. I feel like going into a final exams. What if I lead her wrongly, what if I walk funny, what if I step on her foot... are some of the thought that ran across my mind at that time.

Luckily, she's very friendly, and my first ever tango walk with someone outside of my tango class went smoother that I imagined it would be. At least I didn't step on her foot. LOL. She gave me a few tips and feedback before leaving me to practice, and to help other people. By this time, there are 4-5 more people came. Most are ladies.

Feeling a bit bored and shy - because what I did was just walking, while everyone else seems to practice some sort of dance moves - I decided to sit. And there's this guy already sitting on the side. So I decided to introduce myself.

That's how I met Stu Johnstone​, one of my best confidant and discussion partner in my tango journey so far.

Me and Stu had a chat and he asked me to lead him to a cross. Unfortunately, it was a rather epic fail. LOL. The good thing is, he gave me a tip on how to lead cross, albeit it's a different way on how lead a cross.

After leading him for a few times, he asked one of the ladies to be led by me.

And that's how I met Lorraine, my favourite practice partner.

I practice my walk and also led her to a cross for a few times. Albeit most of the time I failed, it was an awesome practice.

The practice session was so exciting and fun that I lot track of time, and suddenly, it's home time. And it was my first of so much more practice sessions.

This time, I learnt that there another way to lead a cross. Nothing is more right than the other, it's just a different approach to lead a move. It's just what your teacher has been taught to do by his/her teacher.

Nov 19
How it all started

I remember when I watch the tango scene in Scent of a Woman for the first ​time around 2003, and thought: Wow, the dance is very beautiful. I want to be able to dance like that. Then around end of 2005 when I did my post-graduate study, I had the opportunity to take an 8 weeks of 1 hours tango class with John & Felicity Flower and I love it. However, 1 hour a week to learn tango, or even anything, is not enough. I need lots and lots of practice just to remember the steps, let alone getting into its philosophy. Although my uncle's place have a rather large wooden-floor living room - which I can use to practice - it's very difficult to practice by myself; especially because I had just starting to learn.

Finding a practice is even more difficult. Facebook was still in its early days and it was still about sharing photos between your friends. Social media wasn't even a thing at that time. So it was a huge mission just to find a practice partner. Being a broke international student didn't help as well, as I didn't have the resources to continue with private or additional lessons.

Therefore, I have to let my tango to die out. - at least for awhile.

My chance to rekindle tango didn't come until June 15th, 2015 when I found a beginner tango class voucher at GrabOne. Fortunately, I manage to overcome my hesitation and push myself to get the voucher and to the class at Viva Dance Studio. It was interesting and challenging at the same time as I encountered the same issue of finding my practice partner. Luckily, social media was already a thing, now, and almost everyone is on the internet and facebook. This time, I found the Tango Club for Auckland. I joined the group in June 26th and read several posts about practice sessions.

I left comments on several posts asking whether I can come by myself or I need to find my own partner. Fortunately, none of them require me to bring a partner. Sweet, I think. It's sorted, then. :)

The next thing is to actually get into the practica itself. I'm a socially awkward, shy, introvert nerd; so getting myself out there and introduce myself to a stranger is already a challenge for me, let alone dancing with one.

The first practica that I went to was the one on Thursday, run by Denise McCombe; and I remember that I was very hesitant to get in. I parked my car, got out, and into the building. Then I paused, because it was a church hall. Part of me felt confused and disappointed, but bigger part kinda reliefed because I found my excuse. LOL.

On my way out, I saw a lady at the entrance. I was battling myself whether I should ask her or not. Then I told myself: 'I should ask her, if she knows where it is I should come and join the practica, if she doesn't know then I'll go home.' I muster my courage and I asked: 'Excuse me, is this the right place for the tango practice?' and she replied: "Yes, this is the right place. The dance practice is inside the hall. Second door on the right."

That was it! I have no more excuse to run away. I found the door and I open it.

And tango grow to be one of the biggest part of my life, now.

Jul 04
How to implement IoC pattern using Unity on WCF

Note: In this article, I only write a general guide to implement this, and 1 extra thing that you have to do if you want to host it in IIS/AWS; and I won't write any code this time, but there's a link at the bottom of the article where you can get the code.

With the release of Unity version 3.x, the implementation of IoC pattern is greatly simplified. All you have to do is basically:

  1. Create the project
  2. Install the Unity DI package using NuGet. To do this, then follow the steps below:
    • go to: Tools > NuGet Package Manager > Manage NuGet Packages for Solution...
    • Search for 'Unity DI'
      Getting the Unity DI package in NuGet
    • Click install
    • Select the project and/or solution you want Unity DI to be installed to
    • Accept the license
  3. Create the contract interface
  4. Create the contract implementation using constructor injection
  5. Create the service host, and
  6. Create the instance provider.
    The easiest way is by right clicking on the down arrow shown when you hover the mouse on the class name, then select 'Generate class for ...'

Basically, now the code is done; however, your service is still inactive, hence can't be consumed yet. To make your service available and consumable, you can either: self-host your service, or host it through IIS/WAS. This decision will determine what you have to do next.

If you decide to self-host your service, then what you do next is to instantiate the UnityServiceHost class directly in your hosting application. In other words, you have to code your own service factory.

If you decide to host it through IIS/WAS, you have to be aware that IIS/AWS will be the one who looks after the creation of any service hosts, and IIS do it by creating an instance of ServiceHost. The only way you can tell IIS to instantiate your service host class is by extending the ServiceHostFactory class. In other word, you can't code your own service factory because IIS is the one who will do that, but you can influence/modify this behaviour by extending the ServiceHostFactory class.

What to do if you host WCF in IIS or WAS

As of the time I write this, the NuGet Unity DI package doesn't include the reference to System.ServiceModel.Activation. Hence, first of all you should check whether System.ServiceModel.Activation is listed in the References folder. If it isn't there, you can add it through the following steps:

  1. Right click at the References folder, and select 'Add Reference...'
  2. Select Assemblies > Framework on the left hand side menu
  3. Scroll down the middle column until you find
    How to add the reference for System.ServiceModel.Activation when hosting the service in IIS/WAS
  4. Click and tick on it
  5. Click OK

Then you can extend the ServiceHostFactory class so when IIS/WAS create a service host it instantiate your service host code, and this class is also where you register the types

The final step is to edit the .svc file:

  1. Right click on it and select 'View Markup'
  2. Replace the
    part with
    Factory="<your contract implementation>"

Compile, run, and enjoy the service.

Soon, I will write how you can wire Unity to WebAPI. Stay tune. :)

Where you can get the code

You can get the code from Patterns and Practices site for Unity.

Apr 09
Replacing the LED panel of my notebook

A few months ago, I accidentally break the LED panel of my laptop; unfortunately, I don’t have a content insurance. Believing that getting an LCD/LED panel will cost me a fortune, I keep delaying to fix it. A few weeks ago I was browsing around eBay and found a relatively cheap led panel (compatible) for my laptop. I also found several tutorials on how to replace the led panel on YouTube such as the following:

The first time I watch the videos, the top video caught my attention as it seems to be so much easier and less hassle. Unfortunately, unless you have the bottom part of the screen bezel (highlighted in red square at the image below) already opened, you would have to follow the bottom videos; unless you’re willing to risk breaking the bezel.

Highlight of the bottom of the screen bezel 

I also found the repair manual for my laptop on dell’s website; and the steps shown on the last videos conforms to the steps prescribed in the repair manual. And all of the hassling steps of taking of the cables and hinges are there to allow to safely open the bottom part of the screen bezel.

Yes, it took a while to do all of the work, but it is way easier than I initially thought, even for an absolute newbie (in opening & replacing laptop parts) like me. In my experience, what you really need is several small containers to store the screws; or a piece of A4 paper to place the screws on as it was located on the laptop. You also need some space to store the parts while you’re working; it doesn’t have to be a big one –I replace the panel in the midst of rearranging the furniture in my apartment.

Although it’s nice to have a plier so you can easily and safely open the bezel, it’s not necessary; you can use any tools you have that thin enough to go through the crack. I use a butter knife to do the job. However, you do need a Philip screw-driver; preferably a small with long neck one.

One thing that you have to be aware is that most – if not all - replacement panels sold on eBay usually have a policy of 1-3 dead pixels. However, in my experience, a dead pixels is not really an issue. I can only identify that dead pixel during the start-up screen – it’s the only white 1 pixel dot in otherwise a completely black screen.

Another occasion where I can identify that dead pixel is when I was editing an image with Photoshop. I was puzzled why that pixel doesn’t change colour no matter how many times I fill the area – before I remembered and realize that that pixel is the dead one. LOL.

I guess I learnt 2 things from this experience: first, content insurance could be a necessary evil, it might cost me something, but might be useful on some occasions. Second, it actually quite cheap and easy to replace the LCD/LED panel of your laptop/netbook.

Apr 02
Migrating the public website on Office365

Around the end of 2013, I finally force myself to make time to upgrade my office365. I spared plenty of time for me to do that and to my surprice, the upgrade process was really-really fast and hassle free. So not typical of microsoft. :)

I've also made copies of all of my customisations just incase things go wrong and I have to gone through all of the customisation process again; and again, I was surprised that it wasn't necessary.

Then up to my public website. With the old Office365 and old SharePoint public website the experience wasn't that good; glad to see that Microsoft what improve the user experience with SharePoint 2013. The designing process is very easy & intuitive, the themes are more sleek & feel more modern. The best part, blog is now publicly accessible out of the box. In the past, make the blog public has been the biggest pain with SharePoint and Office365.

Unfortunately, what still is an issue is migrating the content of my blog. I can't seems to find a way to migrate the list, and Windows Live Writer doesn't seems to work with my Office365. Google search doesn't offer much solutions as well. One potential solution I found is to use Microsoft Word linked to both SharePoint blog, at least that solution works for Alaska SharePoint Users Group; unfortunately, not for me.

Luckily, since my blog is still very tiny I can just manually migrate each posts; still it took me a while to get through all of my contents. Although it also giving me a change to review and update some of the content.

Then come the bizzare thing when I'm ready to flick the switch from my old SharePoint public site to the new one. I followed the recommended steps but my url kept taking me to the old webiste. Yes, I know about the DNS record update trickling process; that's why I've also tried to wait for my devices to unresolved the DNS name before associating my domain name with the new public site. Still, it doesn't work; my domain name keep taking me to the old public website. So stubborn! Since it was already morning and I'm by then so tired and sleepy, I went to sleep. 9 hours later, when I checked again, it works! the took me to my new SharePoint public site.

I'm a happy man. For now, at least. :)

Apr 01
A resurrection

​After an unfortunate incident around the end of last year, I finally manage to sort some issues with the servers at my home, and start to upgrade my web site and blog.

The incident was caused by faulty power supply which unfortunately, burnt my motherboard. Hence, there goes the CPU with it. At least I can still recycle my huge memory modules.

Well, at least I'm now manage to restore and reconfigure most of my servers, and migrate to the upgraded Office365 platform; although the experience wasn't a pleasant and smoothly as I hoped.

Now, I hope that I can spare some time to update my blog. :)

Sep 01
Creating a Code Snippet using Visual Studio 2010

After attending TechEd and Code Camp 2011, I receive a code from Jeremy Boyd which potentially I will use quite often. My first instinct is to copy-and-paste those lines of codes into a text file. However, I quickly change my mind because in the future, at least it would be quite a feat to remember where I store those codes in the first place. Then I remember about snippet. Sounds like a good idea; especially I'm also don't have a clue on how to use snippet in Visual Studio. So, I got 2 good reasons to find out how to create and to use snippet.

So, first of all, how to use snippet. You can use snippet in 2 ways:

  1. Right-click > Insert Snippet... > [Choose your snippet]
  2. Ctrl-K + Ctrl-X > [Choose your snippet]

That simple, and now I felt stupid that I was struggling upon how to use snippet especially during the Hands-on-lab time. This would have save me lots of time from typing the lab codes. :D

Now, how to create a snippet. The easiest way is to follow these steps:

  1. File > New File > XML File
  2. Ctrl-A
  3. Insert a snippet called "Snippet" (Ctrl-K + Ctrl-X > Snippets > Snippet)

This will you the snippet template, and you'll only have to update some part of it. Handy. The template will look like the following image:
Snippet Template

Next is the steps to customised the snippet:

  1. First of all, you have to change the Language part at line 19, into the language of your code. The options are:
    • VB
    • CSharp
    • VJSharp
    • XML

    You should change the language into the language of the code that you will put as the snippet.

    The language also have to match the location of your snippet, e.g. if you will store it in the XML folder, the language should be XML, and if it will be in the Visual C# folder then the language will have to be CSharp, if the code is for a snippet for web.config, then the language should be XML, and should be stored in the XML folder.

    Failure to do so, will give you the "Missing or unspecified Language attribute" error message (in the Output window).

  2. You should change the title of the snippet
  3. Change the author of the snippet
  4. Assign shortcut to the snippet. However, please note that the shortcut only available for codes that support intellisense; hence, the shortcut won't work for XML pages such as web.config.
  5. Update the description of your snippet, as this will help to remind you what your snippet is all about sometime in the future.
  6. Place your code in between the square brackets.
  7. And if you got some dynamic content such as file location, variable name, class name, etc you can use the <Literal> (or <Object> for object name) to make it easier to customise the code. In my case, I add:


    and in my code, I use %filename% at the location where I should place the location of the log file.

  8. Save the code using .snippet extension.

That's all. If you want to learn further, MSDN got an excellent set of articles.

1 - 10Next