Blog Home  Sign In RSS 2.0 Atom 1.0 CDF  

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

  knownType_Serialize, about = Softwaremaker()
 

 Wednesday, December 29, 2004

Mike Champion has a great post here on the overheads of XML.

IMHO, I think a binary representation of XML brings on a whole different set of issues, namely removing the abstraction it is supposed to represent.

On a slightly different perspective and from a designing front, I have been advocating against the use of XML in all layers of a enterprise application esp. when tightly bound object technology is much more desired. In my presentations on SO(A), I have always preach on best using service-messaging as communication b/w applications, NOT between tiers of an application.

However, many businesses are using XML Services as a communication mechanism JUST SO they can be seen as implementing an SO(A)... and of course, for all the wrong reasons.

Hence, many of them complain when performance suffers.

What do they expect when they are making verbose, chatty calls to their own Data Access Layer via SOAP ?

Wednesday, December 29, 2004 12:23:13 PM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer  Comments [1]
  • Blog reactions

  •  Tuesday, December 28, 2004

    Some people I spoke to in the US and Europe still cannot comprehend the drastic devastation of the Asian earthquake and Tsuamis. I like how William Rees-Mogg puts it across in his article on the Times.

    “...The earthquake itself is said to be 1,000 kilometres (620 miles) in length; the seabed was opened up as though by a zip fastener; this event threw up a gigantic wave three storeys high, which travelled for thousands of kilometres...”

    “...If such an earthquake happened in Europe, we would be able to trace the fault from London to Rome, or to Berlin...If a tsunami ten metres high stormed its way up the Thames, half of London would be under water. If such an earthquake ripped through the San Andreas fault in California, it would virtually tear the state in two, and cause trillions rather than billions of dollars of damage...”

    The quake is caused when the Indian plate moved into the Burma plate. There is said to be a 1000 times more energy released from this compared to the devastating Kobe Earthquake in Japan in 1995. In fact, this has caused some of the lands and islands in South Asia to move and may need a redraw on the map. This should give people an idea of how huge the swells and Tsunamis were.

    In my earlier post here, I mentioned that Singapore was spared by the physical shock of this earthquake and Tsunami...however, Singaporeans are NOT spared.

    So far, 7 and counting have died. All holidaying and visiting in Sri Lanka and Phuket. 450 Singaporeans are in Phuket at that time and hundreds of holidaying Singaporeans are still not accounted for from Malaysia, Thailand to the Maldives.

    There are so many holidaying foreigners in Phi Phi Island of Thailand who have been killed or missing as well. Most of them are beachgoers and surfers catching the what-were-once the beautiful southern beaches of Thailand.

    What also was very sad is that there are reports of many women and children who drowned on the shores of Aceh, Indonesia. They had noticed that unusual low tides and had rushed out in hordes to admire the beautiful low-lying corals. What they didnt realize is that this is usually a sign of a fast impending approach of a major seismic wave as it gathers its energy for a major strike. Fishermen at shore, who knew about the symptons of receding water to be a sign of an approaching tsunami, were too late in warning their wives, children and other people. The entire shoreline of Aceh, Indonesia is destroyed in this disaster.

    “...If the trough of the tsunami wave reaches the coast first, this causes a phenomenon called drawdown, where it appears that sea level has dropped considerably.  Drawdown is followed immediately by the crest of the wave which can catch people observing the drawdown off guard...”

    “...As a tsunami nears the shallower water close to the shore, the viscous drag of the continental shelf slows the front of the wave. The first sign of an approaching tsunami is usually a significant retreat of the sea. As a result, the trailing waves pile on top of the waves in front of them (like a rug crumpled against a wall), thereby significantly increasing the height of the wave before hitting the shore. Although a tsunami advances much slower as it approaches land, its momentum is powerful enough to flatten houses, buildings and trees and carry ships far inland...”

    We also should not forget that there are so many bodies that have been washed out to the Ocean, probably not to be found, leaving many affected families and relatives grieving for the missing...a death with no confirmation of a body. I dont know if there are any griefs in the world that can be more painful than that.

    While watching the footage of the scenes of destruction on TV, while heart-wrenching as it is, it is heart-warming to see people of all colors and races carrying each other and helping each other out. Nobody cares what you are, who you are, where you are from or what your beliefs and ideals are.

    For me, for that one moment, the entire world unites.

    Tuesday, December 28, 2004 12:23:47 AM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer  Comments [1]
  • Blog reactions

  •  Monday, December 27, 2004

    I had a chat with Julie Lerman this morning about the Asia Quake that killed thousands with its unprecedented Tsunamis. It is important to note that Tsunamis are NOT tidal waves as it is not caused and has nothing to do with tides. It is actually seismic waves caused by earthquake or volcanic activites. This was the largest earthquake in the world in the past 4 decades with an 8.9 on the Ritchter scale. Coastal places like Phuket, Maldives and Sri Lanka were hard hit with fishermen villages and holiday makers.

    Here in Singapore, we are very lucky to be protected by a big land mass called Indonesia. So all we felt here are slight tremors that just shook hanging lights. Things would be bad if the Tsuanmis were to hit from the other side...with our small island state and many tall buildings, a 30 footer would wash our city center right into the sea...

    With all the da** violence happening in Thailand, India and Indonesia, all it takes it an act of God and thousands are killed...doesnt matter what color or race you are, whether you are muslim or not, or whichever tribe you are from...

    People still dont understand after all these years of civilization...<sigh>

    Julie emailed me right on the onset of receiving the news and worrying for her friends in Chennai (prev known as Madras). Her blog is also the first out of so many technical blogs I read that posts news about this. Being so involved with INETA, she has contacts and friends all over the world.

    With all these tragedies caused by these calamities, it is definitely nice to find gems in friends like these, no matter how distant they are and it tends to bring out the best in people and human nature.

    It is just very disturbing to see that it takes a disaster to bring that out...

    Aftermath.Reflection()

    Sunday, December 26, 2004 9:58:31 PM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer  Comments [0]
  • Blog reactions

  •  Friday, December 24, 2004

    According to this article, it says that

    • Web services, security and Linux jobs continue to dominate the IT help wanted ads and are projected to remain among the hottest skill and certification areas in 2005, according to research firms that specialize in tracking skills and certifications...
    • ...Networking, messaging and programming language skills also increased in value...
    • A small drop off in offshore outsourcing projects and an increase in competition for IT consulting talent have contributed to a reversal in declining premium pay tied to IT skills

    I guess the bold font equates to good news for me BUT can only be realized if all employers and companies recognize that as well...

    Friday, December 24, 2004 2:58:16 AM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer  Comments [0]
  • Blog reactions

  • This is a Godsend. Will refer to it before installing the Longhorn Client HEC Build 4074 on my VPC to churn out some Indigo stuff.

    Excellent resource !!!

    Friday, December 24, 2004 2:21:39 AM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer  Comments [0]
  • Blog reactions

  • I owned a 2.5 inch 40 GB Harddisk (USB2 interface), then the VPC images started taking its weight in there...

    ...then moved on to buy a 2.5 inch 60 GB Hitachi Travelstar Hard-disk (5400 rpm 8 MB cache) to store all additional files and images...

    ...Last night, just bought a 3.5 inch Maxtor DiamondMax 10 Hard-disk Drive (7200 rpm with 16 MB cache !!! ) with a cool fan-cooled casing to boot...all for SGD340.00 (equiv to USD207++ at today's exchange rate)

    Cool, 16 MB Cache !!! ...what I always wanted. (actually what I wanted is the 256 MB cache, but the technology and price, probably, will be beyond my reach for some time to come...)

    However, mine is the parallel ATA IDE interface which transfers external data at 133MB/sec, teeny-weeny bit slower than the Serial ATA interface which transfers at 150MB/sec.

    Read some of the product specs of the DiamondMax 10 here.

    A piece of advice for those shopping for these items:

    • Do NOT get a 8MB cache for hard-disks drive >= 200 GB. It is safer to get one with 16 MB cache. And the price difference is only a few SGD dollars. Well worth the investment for better reliability.
    • Go for a fan-cooled casing instead of an aluminium casing. Yeah, I know the aluminium casing looks cool, weighs lighter and can dissipate heat...BUT a fan-cooled plastic casing dissipates heat better and it is unlikely you are going to carry your multi-gigabyte hard-disk casing and show it off at your nearest Starbucks.
    Friday, December 24, 2004 12:38:14 AM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer  Comments [1]
  • Blog reactions

  •  Monday, December 20, 2004

    I constantly ranked Scott McNealy of SUN Microsystems as one of my all-time favourite speakers and I had always try to catch him speak whenever he is here in Singapore.

    His brashness showed again when he criticized a significant detail of how Oracle sells its software based on how many processor core a machine has...and he did it at Oracle's own OpenWorld conference. What a guy...

    IBM, Sun, Intel, Advanced Micro Devices and others have begun a move to dual-core chips--designs with two processing engines on the same slice of silicon--and are headed down a path for even more cores. That has triggered a pricing debate for software companies: Should the charge be per chip socket or per processor core?

    It is interesting to note that even when software companies, on the other hand, stand to lose revenue using the per-socket definition, MSFT Corp prefers a per-socket pricing.

    This strategy means it will have a cost advantage over its competitors when dual-core processors emerge that can run Microsoft SQL Server.

    Monday, December 20, 2004 1:01:18 AM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer  Comments [0]
  • Blog reactions

  •  Sunday, December 19, 2004

    Another good XML Learning Resource TopXML has built the XML News Reblogger. As quoted here on their Website:

    Reblogger is a free aggregator service provided by TopXML. We collect XML blog items four times a day from around the web, so that you can view all the most interesting and most useful news right here in our reblogger. Enjoy

    View the blogs and feeds we fetch...

    Sunday, December 19, 2004 11:45:52 AM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer  Comments [1]
  • Blog reactions

  • Having been developing for a number of years since the late 80s, I have been very used to the programming practice of using hungarian notation. I not only used it in variables, but in the database naming as well. Yes, I used tbl and fld prefixes for my Tablenames and Fieldnames respectively.

    Of course, recent recommendations is to dump hungarian notation in your programming style and opt to use meaningfull, descriptive words instead. I have also been poked fun at for using hungarian notation while doing some testing work for Paladin by its author.

    So there I decided to adopt a new developing and programming lifestyle and was happily humming along when I got hit face-first by a (JET Engine) ADO.NET Exception Syntax error in UPDATE  (0x80040E14). Having been doing the same UPDATE statement style and using the same Data Access Layer blocks for so long, the ego-monster in me looked for a system bug right away. Running this same query within MS Access itself would be fine but if I used JET as the Data Provider, the same exception would occur. Try as I have to google'd it, I cannot seem to find out what was wrong. Most of them poined to the use of JET's keywords such as [PASSWORD] which I have learnt from previous experience to just use PWD. Here is my “post-hungarian notation” UPDATE Statement:

    "UPDATE LibraryItems SET Title = '" & psTitle & _
    "', AuthorArtist = '" & psAuthorArtist & "' , ItemTypeID = " & piItemTypeID & _
    " , GenreID = " & piItemTypeID & " , ContentFormatID = " & piContentFormatID & _
    " , Qty = " & piQty & " , DateBought = #" & pdDateBought & "# , PriceBought = " & _
    pcPriceBought & " , DateSold = #" & pdDateSold & "# , PriceSold = " & _
    pcPriceSold & " , StatusID = " & piStatusID & " , References = '" & psReferences & _
    "' , Remarks = '" & psRemarks & "' WHERE ID = " & CommonUtil.ValidateSQLSafeString(mRecID)

    Can you spot my mistake ? I didnt until I stumbled across this MS Support article about JET's reserved keywords...

    AARRGH !!! So, REFERENCES is a JET's reserved keyword as well. In the past, I would have used fldReferences and therefore would NOT have encountered such an exception.

    The FIX: Wrap Square brackets around the column name [References]. In fact, I recommend to wrap it around all column names, not just suspect ones. OR just use the CommandBuilder QuotePrefix and QuoteSuffix command to bypass the reserved keyword error.

    • CommandBuilder.QuotePrefix = "["
    • CommandBuilder.QuoteSuffix = "]"
    Saturday, December 18, 2004 11:50:06 PM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer  Comments [0]
  • Blog reactions

  •  Tuesday, December 14, 2004

    Not to be outdone, Microsoft releases its MSN Desktop Search (beta) today to counter Google's efforts.

    Tuesday, December 14, 2004 12:28:44 AM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer  Comments [1]
  • Blog reactions

  •  Monday, December 13, 2004

    It is amazing who is getting the definitions of WSDL wrong and how they are getting it wrong...

    Check these screenshots out and see the sites where they are posted at:

    • Website of IBM > Web Services Declaration Language ?!?
    • Website of VSJ UK - Web Services with JAX-RPC > Web Services Discovery Language ?!?
    • Website of W3C > Web Services Definition Language ?!?

    If you think this site looks OK to you...Well, Web Services Description Language is definitely correct ... BUT look again at the title of the page...

    Monday, December 13, 2004 2:05:21 PM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer  Comments [0]
  • Blog reactions

  • I am not kidding. A friend referred me to this site . Try it at your own risk though.

    Monday, December 13, 2004 12:32:39 PM (Malay Peninsula Standard Time, UTC+08:00)  #    Disclaimer  Comments [0]
  • Blog reactions

  •  Saturday, December 11, 2004

    With reference to my earlier post here, I had explained how we can encrypt the Usernametoken element <wsse:UsernameToken> if we choose to use the PasswordOption.SendPlainText enumeration, for real-world reasons such as

    • Windows Authentication
    • Passwords are stored as Hash in the UserDB

    Other elements in the <wsse:Security> Header element can be encrypted too, although great care and design must be taken as it may reduce the extensibility of SOAP Headers through routing intermediaries. One of them is the <Signature> element.

    As I had explained in another post