Blog Home  Sign In RSS 2.0 Atom 1.0 CDF  

  def Softwaremaker() :
         return "William Tay", "<Challenging Conventions />"

  knownType_Serialize, about = Softwaremaker()

 Wednesday, September 27, 2006

Red Pill   openquotes.png ... Life is really about moving on.closequotes.png - Oprah Winfrey

Well, what else can I say ? After going through rounds of remote and local interviews conducted by the MSFT Corp product teams as well as the Microsoft subsidiaries and field offices in Asia Pacific for various opportunities and roles in the past year and going through my very own intensive decision-making process (Yes, I have my own methodologies with Spreadsheets and CheckBoxes), I have made a decision.

It wasnt at all easy as some of those packages looked really really good and attractive, especially those that require me to uproot me and my family and relocate. It seems the theme is - The further I relocate, the better the package. But I have to look past the bows and the ribbons and see what is at the bottom of the box.

In the end, I decided to stay home and be with the home team for now. One of the key motivations is that I really have to cut down on my travelling. (which also explains why I cannot be here) While the roles differ a fair bit, I sat down and looked at what I was doing and where I wanted to go. I have been near the front-line for some time (as evident by my post here) but I wasnt measured by front-line numbers. As I sat down comfortably in my seat for some time, I realized I wasnt being challenged enough. I need to learn new skills. I have achieved a lot with my technical ones and there is no doubt that I left a rich legacy behind. This is evident by the emails, requests and engagements I frequently get from Microsoft's customers as well as the Microsoft field offices in APAC (see the evidence of presentations, articles, engagements I have over the past years).

However, the desire to learn new skills is strong. So what if I can architect, design, code, build and configure ? - but Can I sell ? Can I pitch ? Can I talk to CXOs where and when it matters ? What good is a great software if you cannot convince people to buy and use it. I keep asking myself this all the time. Business issues and dynamics always interest me. New skills and new challenges in new environments always intrigued me. I always believe it is the mark of a great person to see how well he adapts to changes and not by the number of lines he can code in a single minute.

I decided it is time to put my money where my mouth is. I need hard numbers and I need to be measured by it. I need more technical breadth and I need to learn new business skills. I wanted more time to pursue and learn other technical interests such as Speech Recognition, Location-Based Services, GPS and other Mobile Technologies, Grid/Mesh/P2P Computing, etc and then learn how to pitch them to businesses. Sure, I will miss those technical and evangelistic activities I have been known for in my area of Web Services and related architectures, but I am sure I will build new foundations again and blaze out new trails. And I am also sure all the communities locally and regionally I was helping grow (as a Microsoft Regional Director and Microsoft MVP) has grown and more importantly, more than apt to carry on by itself. All the mechanisms have been put in place and the torches have been passed to very capable hands who can do a lot better job than how I did.

This blog stays and I will still be blogging about technicalities of software, products, etc. I will still carry on some of my previous activities - albeit of a different depth but more breadth, so look out for new blogging categories. I sure will miss what I have been doing for the past 5 years but isnt that what moving on is all about ?

Tuesday, September 26, 2006 10:36:59 PM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer 
  • Blog reactions

  •  Tuesday, September 26, 2006

    Some people are still questioning my thoughts about what's so good about GUI, WCF and such.

    Take a look at and see what I mean. This NY Times Reader appears to be the best Windows Presentation Foundation (WPF) app to hit the streets. As iterated by Scott here, it was first available to and users and now it is available to all.

    It adapts well to your device and screen resolution and I think Scott pretty much sums it up in his post.

    Sex Visual sells, the more erotic exciting, the better. It is not a debatable statement. In the conferences I have been in, audiences will find a visually-appealing demo much more engaging than one that sells plumbings and gnarly XSD'isms. No, I am not saying one is a better technology than the other. What I am saying is that - Eye candy engages - and that, to me, is half the battle won.

    Most people still dont know and dont want to know what goes at the server-end side of things and all those messy EAI, ESB, AIX, HL7 blah blah adapters, protocols and such and they shouldnt. I am betting that SOAP will become as obscure as TCP/IP one day and that SOAP talks will disappear from mainstream technology conference agendas one day. Have you ever seen talks on HTML or TCP/IP these days ?

    While people will wow at the new programming model of Windows Communication Foundation (WCF, previously - Indigo) and the wonderful separation of technical impediments from business contracts and logic (my demo of Reliable-Messaging in WCF usually drives this point home when I changed the bindings from Http to Tcp to MSMQ without touching a single line of code), the audience will instantly applaud the first vector-graphics, 3D Animation WPF application they see. And they could easily do the most complicated GUI very easily with mimimal .NET code.

    To showcase a wonderful WCF application and what transcends underneath the hood and what goes onto the wire, you would still need a good GUI application to show the listeners, dispatchers, plumbings at work. In many cases, you would want to use WPF to enable that for full effects. (Hey, since they have downloaded the .NET 3.0 runtime, you might as well make the best mileage out if it and use all its components, right ?)

    Well, it looks like my friends VittorioB and CraigM has already gone on that path with their amazing WCF Live Service Trace Viewer. Yes - there is a WPF component in there as well.

    Tuesday, September 26, 2006 12:41:41 AM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer 
  • Blog reactions

  •  Sunday, September 24, 2006

    In reference to my post here, plus my very early post here, I have always try NOT to be drawn in all the hype, fluff and marketing innuendos designed to drive FUD and irrationality.

    I try to focus on what users really want and that really is all that matters.

    Coincidenally, bu showed me this Foxtrot comic strip today and it looks like Bill Amend has also echoed my exact thoughts.

    Foxtrot and Web 2.0

    Sunday, September 24, 2006 12:43:42 PM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer 
  • Blog reactions

  • I remembered speaking to some people during an architectural review as well as during a "Meet the Experts" Lounge in the just-recently concluded Microsoft TechED Asia 2006 in Malaysia and I made the comment where I said something to this effect:

    openquotes.pngIf I had to re-live my career for the last 3 years with the hindsight of today's technologies, I would NOT have chosen to go down the server technology route with MTS, COM+, WS-*, Web Services Enhancements (WSE), Windows Communication Foundation (WCF, previously - Indigo), I would have chosen GUI and focus on client-side technologies with the benefit of knowing what Windows Presentation Foundation (WPF) could bring ...closequotes.png

    Some people asked me what I really meant what I said. I do ... and ... apparently, David Chappell has the same thoughts as me as well.

    Sunday, September 24, 2006 10:14:39 AM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer 
  • Blog reactions

  •  Wednesday, September 20, 2006

    WTF ? Marketing

    W T F ?

    I spotted this advertisement across many major lamposts outlining the major roads to the WorldBank/IMF Bankers and Governors meeting held in Singapore this month.

    While the entire country prepares itself to welcome about 22,000 delegates with security precautions, road closures, road re-paving and tons of marketing dollars and campaigns to showcase itself to the world such as this, I felt that the poster above is done in an amateurish way.

    One glance at it and I bet my last dollar the instinctive reaction is that Savvy Bankers use Intellectual Property. While I agree with the context and meaning of the message, I would question how its targetted.

    In any case, I, and the rest of the world, would be wrong. A closer look at the icon on the bottom right corner reveals a Cisco, Inc logo:

    which effectively means, Savvy Bankers use Internet Protocol !?!? That would explain why there portray of an image of a person trying to surf (wirelessly). I would suspect that Cisco, itself, is supplying the networking equipment and infrastructure to make sure anyone and everyone can surf wirelessly around the meetings and events.

    That, however, would not explain the obscurity of the advertisment and its message. Gosh, I would think TCP/IP is an obscure abstract now that no one else would need to know of it even though it is the major underlying internet transport protocol.

    In fact, I would argue - the more savvy you are, the less you need to know about about the plumbings. How many people would (want to) know how their household plumbings work and the standards involved other than that they can turn on the tap and do wonderful things with it ?

    In the same context, I am betting that the SOAP protocol would be obscure one day as well and just be known as "Web Services" or whatever flavour rule the day.

    Now, which would be a better advertisment ?

    Great agile applications use SOAP ?


    Great agile applications use Web Services ?

    I rest my case - the marketing people who came out with the image shown above should be canned. No questions needed.

    Wednesday, September 20, 2006 7:14:30 AM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer 
  • Blog reactions

  • OMG - Spare me. You have got to be kidding ... Lets just move on.

    Wednesday, September 20, 2006 6:44:52 AM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer 
  • Blog reactions

  •  Monday, September 18, 2006

    One of the things in my job that I have been doing and enjoy doing is engaging the customers. Over the past few years, I have learnt from my mistakes and have seen people fall into serious pitfalls that have caused deals (and sometimes, fortunes) to be lost.

    While this may be specific to technology applications and platforms, it can be applied horizontally cross-breadth. I hope I have time to make this a useful series to help the readers. Here is one:

    --- Begin Exchange ---

    When the customer CIO asked a presenter (of the bidding companies): openquotes.png What platform would you go on ?closequotes.png

    You should never answer: openquotes.png We can do both. closequotes.png

    Worst, if the CIO repeats his questions again: openquotes.png Let me ask again, what platform would you go on ? closequotes.png

    You should NEVER NEVER NEVER answer again: openquotes.png We can do both. closequotes.png

    --- End Exchange ---

    Bear this quote in mind first and I will address how it fits in this entire context:

    Gordon Gekko: openquotes.png You stop sending me information, and you start getting me some. closequotes.png 

    Why ?

    • Listen and Think. Dont just hear and read from a pre-arranged script. By answering the same to his repeated questions tells him you think he is deaf. He is NOT. You are. Brain-deaf, that is. If I was too crude, let me put it in a nicer way. You are hearing, but you are NOT listening. If the same customer CIO or his equivalent in the committee has also asked: "What is the ratio of XXX projects to YYY projects your company has done ?" It is very obvious he is asking for an answer and not a level of indirection.


    • Know how the customer thinks, works and is measured. I refuse to believe that a customer CIO has no idea how the world outside functions. He may have no idea how it functions internally, but thats not the point. When he budgets for a project worth xx millions, he knows, pretty much in his head, what he wants as the end-goal. He just cannot put it down in voice and ink so as to play the political battles well and not to offend other people. What he is seeking for is - VALIDATION. That an outside external party thinks the same. The fact that he is there and you are down here means he is smarter, not necessarily capable. Ultimately, see what is at stake. If a project fails because of the wrong use of technology, his job and his pay is on the line and that is probably 3x more than yours. He knows. He just wants someone to sing the same. Do so.

    As an example, I am arguing the customer already has 3 technologies or solutions in mind already before he approaches a public tender proposal situation. He doesnt have none. If he does, the worst thing you can do is assume that. Remember, the product and platform vendors have more resources and more time than you to camp at their site with their marketing agents and lovely legs. Many people dont realize that - Things have already been sold, just not in ink. So when you say, you can do both. Even though it is deemed to be more professional, you are giving away a few things

        1. You are no idea how they work and what is the current state. In other words, you have no intelligence.
        2. You didnt put an effort to discover what is going on in their current environment and the current battles they have. The fact that they are asking for a solution means they have a problem. Find out what that intrinsic problem is.
        3. You cannot make a bet and take that risk. He is, by granting you a project which he is paying millions for. Surely, you can ride that and show him you are taking the same risk as well ?


    • Intelligence, Intelligence, Intelligence. Surely, the account manager, whom the team is supporting must be worth the commission he is paid. Gather the topology, the current state, the internal political battles. Who is the customer CIO sucking up to ? Who is buying the customer CIO the expensive red-wine bottle sitting in his office wine-cellar ? Which favourite prodigal son of the IT department is the customer CIO favourites with and what is he/she complaining out ? Find this out. It is likely, you can piece a good internal scenario, which the customer has to deal with in his daily work, your lesser competitors have no clue about.


    • Go BIG or go home. For goodness sake, take a bet. We do that, every single day in everything we do and the choices and decisions we make. Why cant you do so in front of the customer ? When a customer CIO, not just another IT person, asked you the question above. Like I said, he is seeking validation from a 3rd party.

    While it may be necessary to sing your corporate tune, remember - you are not presenting to your own CIO. It is the customer we are talking about here. If a customer has got a big flashing "We are an XXX shop" in front of their door, you should sing an XXX tune. However, like I said in Point [2], the CIO is not measured by how much he contributes to XXX revenue. He is measured by the ROI of the millions he is spending on this project and you. So, if you say: "We go with YYY", it is likely he will stop staring blankly at his handphone and his ears will perk up and listen.

    Now, if he is anti-YYY because his mother has just slapped him because a stupid YYY patch failed to make it to her PC in time and therefore has lost all her fav bookmarks. Out of professionalism in front of the entire steering committee, he wont stop you and ask you to get out. But you would have gotten his attention when said those magic words. Getting his attention, out of the hundreds of meetings and other solution tender presentations he has to attend that day, is half the battle won.

    Now if are worth the salt your company is paying you, you would address his concerns and answer them methodically. (Excuse me, but arent you an architect/consultant ?). Most importantly, stand up and be counted for. If you have done Point [3], rationalize your decisions to him and justify why you choose YYY. To take a technology-neutral stand, something like that will always be music to a customer's ears:

    You: openquotes.png We choose to go with YYY's engines for this project because we understand that [repeat what your intelligence has gathered for you in this account. Remember to make sure that your solution justifies what your intelligence has gathered or you are screwed ... ].

    However, we also understand some of the public/users/your concerns with YYY's engines such as the skillsets of your mechanics may be that of XXX's as we noticed that there is a recent M&A of your parent company with an unit of XXX. So if you should decide that XXX is what you want, be very rest assured that our company has the same kind of XXX calibre people as YYY ones. Let me share you what projects we have done with regards to the XXX engines ... closequotes.png

    He may not buy them in the end. But I assure you, he will respect you and your company for standing up for what you believe in and for taking a bet, which he is also doing.

    • Think the bigger picture. Dont miss the forest for the trees. So, what if you lose this deal because you stuck YYY in your mouth ? Likelihood is that, you will also lose this if you had said: "We can do both". If you had said the quotes I mentioned above: "We choose to go with YYY's engines for this project because we understand that ... However we also understand some of the public/users/your concerns with YYY's ..." and still lost, it is obvious that the customer is looking for someone who worships XXX as much as he does. Too bad. Move on.

    If you had not failed your maths in school and understood the theories of Probability, you will understand that, in the long run, you will stand an equal chance of winning YYY solution tenders as much as losing the XXX ones. If you dont make a bet, you will never lose or win, in the run.

    To summarize and I quote one of my favourite fictional movie characters, Gordon Gekko, of Wall Street:

    Gordon Gekko: openquotes.png You stop sending me information, and you start getting me some. closequotes.png 

    Remember, the customer CIO is not asking you for information. He probably knows more than you since he has the benefit of all the application, product or technology vendors camping at his office and singing to him everyday. Validate him, Sing his tunes, even better - tell him something he doesnt know yet. For example, we have reasons to believe that XXX may not be suitable because ...

    He will appreciate that. Even, if you UN-validate his thoughts, Trust me (I have learnt), it is likely he will remember you for future references. By adopting a passive ground and not answering and worst, not listening to his questions and concerns, it is likely he will continue looking at his handphone, hoping someone will call and save him and you will be nothing more than a distant memory in his head.

    Monday, September 18, 2006 5:50:21 AM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer 
  • Blog reactions

  •  Thursday, September 14, 2006

    I dont think the world has seen so much emphasis on a feature of product even before pre-launched. In this context, I am talking about Windows Workflow Foundation (WF) and the emphasis on a non-feature, actually - that it is a non-product and it doesnt come with batteries host included.

    Windows Workflow consists of an activity library and a framework, a runtime engine, and a runtime services components. Most of these will work out-of-the-box and some of them comes with extensibility mechanisms which you can further enhance or customize on.

    All of those must run within a host application process - which you have to build.

    In other words, Windows Workflow is just a framework with managed APIs and not a designed as a product. It would be a lot of work to build your own host, which is why I wouldnt recommend it. You can implement workflows in existing hosts such as IIS6 or a Windows NT Service or soon-to-be-shipped - WAS in IIS7.

    That said, if you want ready hosts of domain-specific workflows with user-customizability, you can always look at Windows Sharepoint Services v3.0. I believe BizTalk 2008 will be a host for Windows Workflows when it ships as well.

    Anyways, one of the key points that confuse many developers is how workflow instances are scheduled by the workflow runtime engine. There are 2 ways - via a Synchronous and an Asynchronous approach. Both of them are implemented via the ManualWorkflowSchedulerService and DefaultWorkflowSchedulerService respectively.

    Obviously, if you dont tinker with the WorkflowRuntime with regards to the Scheduling Services, it will use the DefaultWorkflowSchedulerService service. It creates and manages the threads that run workflow instances in an asynchronous manner on the runtime engine and it supports multiple workflow instances queued in the runtime thread pool. In other words, this default scheduler will automatically queue the workflow to run on a thread from the process-wide CLR thread pool. With this default setting on the WorkflowRuntime, the workflow will always execute asynchronously on a different background thread which, in turn, explains why so many of the SDK samples waits for the workflow to finish by blocking the main thread with an AutoResetEvent.

    However, you can use the ManualWorkflowSchedulerService if you crave for synchronous execution of workflow instances. The workflow instances are executed on the calling thread from the host application, thus blocking the execution of the host application until the workflow instance becomes idle. To do so, the host must donate threads to the workflow runtime, which will then use this donated thread to execute a workflow.

    Running a workflow with the ManualWorkflowSchedulerServic is slightly different as well. It involves a two-step process. First, you call Start on the workflow instance. But that is not enough as it only prepares the runtime for this instance and does not actually run the workflow. We have to be more explicit by calling RunWorkflow and passing the Workflow's Instance ID. This is how a thread is donated by the host. The WorkflowRuntime will then use this calling thread to execute the workflow synchronously. In other words, the workflow instance will execute on the same thread as the calling program.

    Subtle differences, but understanding it will enable the use of the right tool to do the right job.

    Thursday, September 14, 2006 10:33:55 AM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer 
  • Blog reactions

  •  Wednesday, September 13, 2006


    I remember it was very late last year / early this year when I had a conversation with Martin Kulov, who is the Director .NET Development of the National Academy for Software Development in Bulgaria.

    Basically, Martin pinged me and we talked about his idea and dream of bringing a PDC/TechED-style event to the Balkans, where he sees an increasing demand.

    He then proceeded to invite me to present in this conference in Sofia, Bulgaria this year. I cannot tell you how honoured I was to receive this invitation. However, I had to put this on hold due to heavy work and family committments. Lest you dont know, while Sofia is generally only 2 spots below Singapore in the usual Country dropdownbox due to its alphabetical legacies, both countries are very spaced apart geographically. To compound this, airlines dont usually fly direct between these 2 countries and therefore, the end-2-end flight map (that routes you to so many different places) will be a lot more mileage than what it appears on a point-2-point straight line on a map. Ultimately, this trip for me alone will cost the National Academy for Software Development in Bulgaria a lot of money and cost me a lot of time (which still equates to money)

    I am a person trained and educated in Economics and this, obviously, doesnt make much economic sense. It is not like they have that much money in their coffers anyways since there were no sponsors. So I told him that if I could hook him up with other influential speakers nearer his region, it makes much more sense. With great content comes great value for the participants and that ultimately means that it will be a well-attended event. Who knows - someone may come along and drop their golden coin to sponsor it.

    I then proceeded to ping my peer Microsoft Regional Directors / Speakers I know who would be interested in speaking in the Balkans. Of course, there were many. Sofia, is afterall, a beautiful city, so I was told. People like Richard Campbell, Stephen Forte, Ted Neward, Goskin Bakir, etc gave their full support.

    My wonderful friend in New York, Stephen Forte, deserves full mention as an ultimate leader who was passionate enough to make sure this event becomes a success in the Balkans. He tried all ways, including trying to negotiate with the airlines for a cheaper fare in exchange for more travel awareness to the Balkans. In the end, his passion and hard bargaining and negotiation skills shone through and he won over MSFT Corp to be the main sponsor for this event by convincing them that this is THE event for Microsoft in that part of the world and this is THE time.

    With Microsoft declaring themselves to be the main sponsor, other vendors, like Telerik, follow suit as well and voila - We have the birth of DevReach in the Balkans.

    If you are interested, you may want to sign up here. The PR of this event can be found here.

    I believe years later, when I move on to a new career path and DevReach becomes the de-facto PDC/TechED of the Balkans, I will look back at this episode and smile. I had a big hand to play to make this event and dream come for Martin and all the wonderful people of Bulgaria. The bulgarian software industry will grow, develop and mature and keep abreast of time and everyone is better because of it.

    How did this happen: Through 2 friends who have never met (one in Sofia, the other in Singapore), using the power and the reach of the global community at work (and MSN Messenger), through extensive and collaborative networking, this event became a concrete reality.

    Dont underestimate that power of reach and the community - It may make or break you.

    Now, if you ask: "How did you and Martin know of each other again?"

    Easy - through another reach for the community by the community, via my article on MSDN, he posted a comment on this blog (another collaborative community-driven tool) and we hooked up. The rest is history.

    Martin, I am happy for you. You have done a great deal for your community and it is only fair that you see this dream of yours come true.

    Make some time for me, I am sure we will catch up over coffee in beautiful Sofia one day.

    Wednesday, September 13, 2006 1:40:52 AM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer 
  • Blog reactions

  •  Tuesday, September 12, 2006

    So, after a massive HDD upgrading exercise, it is time to take stock of my own internal machines of notebooks and desktops and see how it fits into the arrival of Vista and Longhorn later.

    Lunch with some folks from Intel and Dell last week in Malaysia revealed some interesting lookouts for me. I am told to wait for the Dell Intel Core 2 Duo machines. This is unlike the Duo Core Intel chips that Dell is selling right now. The Core 2 Duo(s) are a lot better as one of the world's best processors and is a lot more powerful and power-efficient than the Duo Core ones.

    The main difference lies in the chip architecture, obviously. As put in the simplest way: "Duo Core chips are essentially 2 chips put together physically. The penalties (and constraints) lie in the bond that welds them together. Whereas, the Core 2 Duo chips is actually a single physical manifestation that is cut into 2"

    This will explain how much better, faster and efficient the Core 2 Duo chips are going to be.

    However, I was told during lunch that the Core 2 Duo chips are not available the DELL (APAC) online site yet - so I would have to wait.

    Through seo, now many web hosting companies are expanded this one business opportunity beyond the conventional dedicated servers.

    However, I am well-known to be impatient and so decided to try my luck with my own special Dell connections back home in Singapore. As luck would have it, there are specific desktop and notebook models that are already equipped with a Core 2 Duo Intel chip. It is just not available online yet and the only way to get it today is to know someone in HELL (ooppps, I mean DELL) who can get it done for you.

    The specifications given to me looked awesome and the "special" price quoted to me by my own Dell connections take the cake - so it looks like I will be one of the first in my part of the world to own a Dell Latitude D620 / D820 that comes armed with a Core 2 Duo chip and the price I am getting for that is just sooooo GOOD !

    With that in tow, x64 Vista - Here I come, baby !!!

    Tuesday, September 12, 2006 4:08:34 AM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer 
  • Blog reactions

  •  Monday, September 11, 2006


    I will be speaking in The Enterprise Architecture Conference 2006 to be held in Singapore on 25-28 September 2006.

    And no - for once, I wont be speaking on Web Services or anything Service-Oriented. Instead, I will tackle head-on a topic that not many people would not like to go near: Enterprise Architecture Security

    I will be speaking on the second day (27 Sept 2006: 1430-1530) and quite a few of my governmental clients will be there as well in the audience.

    The title is: Security Planning and Strategies In An Enterprise Architecture. The agenda is as follows:

    • Outline of the key Enterprise-based security issues and counter-measures, that is technology-agnostic
    • An examination of general security threats and how to plan and implement security policies and controls for often-performed computer security activities
    • Key best practices in terms of security that can be applied to practical real-life scenarios and implemented solutions such as IP and Data security
    • Auditing and monitoring of systems within an Enterprise

    If you are in need to spend SGD2,000 , I hope to see you there.


    Monday, September 11, 2006 9:15:18 AM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer 
  • Blog reactions

  •  Saturday, September 09, 2006

    One of the topics presented during the Architecture Track in the just-concluded Microsoft TechED South East Asia 2006 was done by IASA.

    It was done via a very interactive session with the floor questioning the panel from the IASA Malaysian chapter about the value of being an architect and topics of the like.

    One of the questions from the floor was: "Do you believe that architects should be writing code ?"

    It seems that 3/4 of the panel members agree. Some even going on bragging that he is still doing it in assembly, C++ language. hmmm ... In the interest of keeping the session on time so that that the attendees can get home on time amidst the KL jams - I kept my mouth shut.

    Let me open them now.

    Architects shouldnt code. Period. My thoughts. Period. To prevent myself from rambling, which is what I always do when I have a strong opinion on something, let me list them in point forms.

    The term "architect" is a very nebulous term. The hype around it with all the wannabees printing it in bold font on their cards out there (I know a couple of them in Singapore who does them with no shame), who have no idea what is the difference between horizontal and vertical scaling, doesnt make it any better. For better or worse, I only believe in one type - and that is the all-emcompassing solution architect.

    Afterall, aint what all customers want is a solution ? Do you think they really care what is underneath the solution more than that this solution works well, is kept within their budget, perform effectively and efficiently within the constraints of their environment ? Therefore, in this context, I will speak in the context of Solution Architects.


    • In the past, code influenced architecture. The limitations of written-code in a chosen-platform in a defined-era is the damning evidence of the limitation of the architecture. VB3 anyone ?


    • Biasedness based on preference. A solution architect that has a decade long experience in writing code is usually one that doesnt see the other side of the fence, doesnt know that there are better solutions and worst - refuse to want to see it. Most of the people in this category are usually skilled in one platform over the other and it is very hard for people like that to sit down and analyze a problem without a pre-conceived notion in mind in a very neutral manner. Because of this, the likely solution they are going to propose will have the same limitations of the platform they have been so comfortable with. I dont question the depth. Where is the breadth ? These guys should remain what they are good in and be experts in their domains and probably be paid better than a solution architect. For those who argue that they are equally well-versed in both sides of the fence - Good for you. Stay there. It is very likely you are drawing a lot more than an architect. If you are not, you just need to sell yourself better.


    • It is all about the business. Solution Architects bridge the gap between (the returns of) the business with the (returns of) technology. So, yes, they should be just as apt with the Finanical Calculator as much as an Integrated Development Environment or a Installation Panel or Console. They understand the entire depreciation cycle of an enterprise solution much better than the differences between a thread and a process. So yes, the higher the level the language they used to code in (I am talking about 4GL), the better. Bragging how much you still do your work today in First or Second Level Programming Lanaguages doesnt do you any good. In fact, it makes you look bad. It shows the lack of touch you have with your business, how it is run, what are the constraints and the entire business and revenue model. Writing performance drivers, assemblers, kernels, runtimes has nothing to do with a company's business model in a world where Moore's Law still rules.

    It is all about the business, still.


    Saturday, September 09, 2006 3:18:43 PM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer 
  • Blog reactions

  •  Friday, September 08, 2006

    What a great turnout and what a great rousing response I got for my 2nd Microsoft TechED South East Asia 2006 session titled: Developing Web Services: Tips and Tricks.

    I love the Malaysian crowd. It has shown so much technical maturity and passion over the years I have spoken there and I appreciate all of you very very very much.

    Thank you for all the mail you have sent me over the past few years

    • on your generous compliments for my presentations
    • on your Thank Yous for the topics I have taught and the issues I have raised that all of you could identify with
    • on your appreciation for my work I put in my topics and sessions because I work on the field - just like you and not just another Microsoftie
    • last but not least - on the numerous questions (via hands and emails) that were asked over the years - which I hope I have helped and answered.

    After domain registration, the most important hosting task is to ensure the dedicated hosting and then upload the website design pronto.

    I have received numerous requests for my code demos for this second session and here is the download for that.

    I hope this is NOT the last I hear and see from the Malaysian Tech.ED crowd. Thank you all again.


    Friday, September 08, 2006 2:53:12 PM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer 
  • Blog reactions

  •  Sunday, September 03, 2006

    Apache Axis2/C version 0.93 is released. This should please the REST camp and highlights the momentum of how REST can be implemented in Web Services. If you are in KL next week, I will be briefly touching base on the REST-vs-SOAP style of implementing Web Services.

    Key Features

    1. AXIOM, an XML object model optimized for SOAP 1.1/1.2 Messages.
      This has complete XML infoset support.
    2. Support for one-way messaging (In-Only) and request response
      messaging (In-Out)
    3. Description hierarchy (configuration, service groups, services,
      operations and messages)
    4. Directory based deployment model
    5. Archive based deployment model
    6. Context hierarchy (corresponding contexts to map to each level of
      description hierarchy)
    7. Raw XML message receiver
    8. Module architecture, mechanism to extend the SOAP processing model
    9. Module version support
    10. Transports supports: HTTP\
      1. Both simple axis server and Apache2 httpd module for server side
      2. Client transport with ability to enable SSL support
    11. Service client and operation client APIs
    12. REST support (HTTP POST case)
    13. WS-Addressing, both the submission (2004/08) and final (2005/08) versions
    14. MTOM/XOP support
    15. Code generation tool for stub and skeleton generation for a given
      WSDL (based on Java tool)
      1. Axis Data Binding (ADB) support
    16. Security module with UsernameToken support
    17. REST support (HTTP GET case) - New
    18. Dynamic invocation support (based on XML schema and WSDL
      implementations) - New

    Major Changes Since Last Release

    1. REST support for HTTP GET case
    2. XML Schema implementation
    3. Woden/C implementation that supports both WSDL 1.1 and WSDL 2.0
    4. Dynamic client invocation (given a WSDL, consume services dynamically)
    5. Numerous improvements to API and API documentation
    6. Many bug fixes, especially, many paths of execution previously untouched were tested along with Sandesha2/C implementation

    Download the above release here.

    Sunday, September 03, 2006 8:41:45 AM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer 
  • Blog reactions

  •  Saturday, September 02, 2006

    Almost 2 years after I upgraded the HDD of all my machines in my own internal network (2 Servers, 3 Desktops, 3 Laptops), I decided to do some HDD shopping and do another upgrade exercise at Sim Lim Square (Singapore) to replenish the dwindling space I have been noticing in my network.

    This time, I came back with:

    • 2 x 500GB/7200 3.5''
    • 1 x 320GB/7200 3.5''
    • 1 x 120GB/5400 2.5''

    I now have almost 3TB !!! of HDD running supporting all my machines - all run within a one-man-operation. Armed with all my data backup and an amazing Acronis TrueImage Enterprise Server software for cloning all my old partitions for restoring to my brand new shiny disks, I should be able to get all the new data transitions and migrations going in no time.

    What does all these HDD space support ? Besides the usual VPCs for my cutting-edge demos, disk-images for clones, I have also tons of pictures, videos and music media for my jukeboxes. If I tell you the other operations my HDD is supporting, then I would have to kill you .

    Here I am, hearing the hum of all the spinning HDD spindle motors at work. Ah - The sound of geek heaven.

    Saturday, September 02, 2006 9:03:00 AM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer 
  • Blog reactions