Google Analytics

Search This Blog

Friday, January 28, 2011

Consumer's Technology Trends For Sure

These few trends are definitely going to sell.

  • Social Media Analytics
    - social driven contents, consumer's behaviors, consumer's trends
  • Collaboration
    - unified communication
  • On-demand
    - cost efficient, plug and play, last minute
  • Tablet PC
    - green IT,more efficient than conventional paper writing pads, light weight, lower cost, bigger than phone
  • Automation
    - seamless, intelligence solutions, convenient

Thursday, January 27, 2011

ADODB Connection Timeout

If you are doing multi-threaded application or web portal, it may be possible to experience high frequency of ADODB connection timeout.

The reason is because there isn't enough database resources to service your needs.

Refer to 'Pooling in the Microsoft Data Access Components'

The answer is to make sure that each ADODB.connection is properly closed thereafter. You may think that you know the answer, but actually it can be tricky.

The rules are:

1.) Close all opened ADODB.connection object.

If you open a Connection object, remember to close it. Do not rely on garbage collection to implicitly close your connections.

2.) A disconnected ADODB.Recordset object has not actually been disconnected. If you don't set the 'ActiveConnection' property of the ADODB.Recordset to Nothing/NULL, it is not disconnected and the connection is not released into the pool.

Public Function ServiceTest(ConnectStr As String, _
                            SqlText As String) _
                            As String
   Dim cnn As New ADODB.Connection
   Dim rst As New ADODB.Recordset
   cnn.ConnectionString = ConnectStr
   cnn.CursorLocation = adUseClient
   Set rst.ActiveConnection = cnn
   rst.Open SqlText, , adOpenKeyset, adLockBatchOptimistic, -1
   Set rst.ActiveConnection = Nothing 'This is important
   Set rst = Nothing

   cnn.Close   'This is important
   Set cnn = Nothing
   Exit Function

3.) Similar to setting 'ActiveConnection' property of the ADODB.Recordset to Nothing/NULL, same applies to ADODB.Command object. You have to set the 'ActiveConnection' property of the ADODB.Command to Nothing/NULL.

Public Function ServiceTest(ConnectStr As String, _
                            SqlText As String) _
                            As String

   Dim lngRowsAffected as integer
   Dim cmdobj as new ADOD.command
   Dim cnn As New ADODB.Connection 
   Dim rst As ADODB.Recordset

   cnn.ConnectionString = ConnectStr
   cnn.CursorLocation = adUseClient

   Set cmdobj.ActiveConnection = cnn
   cmdobj.CommandType = adCmdText
   cmdobj.CommandText = SqlText 
   Set rst  = cmdobj.execute(lngRowsAffected)
   If lngRowsAffected <= 0 Then 
   end if

   Set rst = nothing 

   Set cmdobj.ActiveConnection = Nothing 'This is important
   Set cmdobj = Nothing

   cnn.Close  'This is important
   Set cnn = Nothing
   End Function

4.) Turn off 'OLE DB resource pooling'.

You can do this by adding "OLE DB Services = -2" to the ADO Connection string

The potential delays or disadvantages of not using pooling are related to the followings.

Creating a new object, setting properties, and establishing a new connection to the database.

Which means that there isn't much bottleneck from higher level point of view.

For my case, I didn't have to turn off 'OLE DB resource pooling' where by adhering to rules no.1, 2, 3, it solved the issue.

Google To Open Office In Malaysia

To focus on advertising, web services and search.

The launch of Google’s Kuala Lumpur office is in line with Google's commitment to its international business as well as its ongoing efforts to provide Malaysians with local products that make their lives easier, such as Google Maps, Google News and Google Translate. Google is currently hiring for its Kuala Lumpur office. Job openings can be viewed on its website,, in the coming days.

Wednesday, January 26, 2011

Juniper Networks Reports Record Preliminary Fourth Quarter and Fiscal Year 2010 Financial Results

Q4 Financial Highlights
  • Revenue: $1.190 billion, up 26% from Q4'09 and up 18% from Q3 2010
  • Operating Margin: 19.1% GAAP; 24.5% non-GAAP
  • GAAP Net Income Per Share: $0.35 diluted
  • Non-GAAP Net Income Per Share: $0.42 diluted, up 31% from Q4'09 and Q310 (including approximately $0.03 per share favorable impact due to the extension of R&D tax credit)
2010 Financial Highlights
  • Revenue: $4.093 billion, up 23% from 2009
  • Operating Margin: 18.8% GAAP; 24.0% non-GAAP
  • GAAP Net Income Per Share: $1.15 diluted
  • Non-GAAP Net Income Per Share: $1.32 diluted, up 43% from 2009
Juniper Networks reported preliminary financial results for the three and twelve months ended December 31, 2010, and provided its outlook for the three months ending March 31, 2011. Juniper’s fourth quarter and full year 2010 results reflect record performance by the company as measured by non-GAAP net income and revenues.

Net revenues for the fourth quarter of 2010 increased 26% on a year-over-year basis and increased 18% sequentially, to $1.190 billion. For the year ended December 31, 2010, Juniper's revenue increased 23% on a year-over-year basis to $4.093 billion.

Tuesday, January 25, 2011

Microsoft Cloud Summit (Malaysia) - The Power Of Cloud As It Matters To You

What I have learned are:

1.) Software-as-a-Service (SaaS) business model will follow the trend of per user per month, other ways may not work. Microsoft is selling dynamics CRM online for $34 per user per month for 12 months contract.

2.) Business values for developers or software vendors.
  • Achieve business agility.
  • Reduce cost pressure/lack of staff
  • Counter variable work loads.
  • Reduce server utilization.
3.) Secondary business value propositions for developers or software vendors:
  • Cost sharing.
  • Access to to better quality system at a lower cost.
  • Using technology to lift profits.
4.) Different types of cloud.
  • Custom private cloud - Microsoft 'HyperV'
  • Managed private cloud - Microsoft 'HyperV'
  • Virtual private cloud - Microsoft 'HyperV'
  • Community public cloud - Windows Azure, 'AppFabric'
  • Public cloud - Windows Azure, 'AppFabric'
5.) Coca Cola and Starbucks in the USA have adopted Microsoft cloud solutions. There is no enterprise in Malaysia have adopted cloud solutions yet.

6.) Microsoft is offering Dynamics CRM and Office 365 as software-as-a-service, competing with, Google,Amazon and Oracle.

7.) The business value propositions for customers is collaboration, which can be further classified as:
  • Unified communications.
  • Business intelligence.
  • Enterprise content management.
  • Collaboration enterprise search.
8.) Microsoft is competing with data center providers.

9.) Microsoft thinks that SMB (Small medium business) will be the early adopters of cloud computing than large enterprises. This also suggests that in the long term, SMB will likely benefit from SaaS more than conventional software.

10.) Cloud computing is the way forward, it is just a matter of time. It will consolidate the industry further, particularly on the number of software solution providers. It is claimed that Microsoft is moving all out for cloud computing, investing 70% of its resources on it.

Tips for customers:

For Software-as-as-Service(SaaS) solutions,start with a few users first. Don't migrate everything over immediately, go phase by phase. If you don't like the solution, just stop the subscription.

More about cloud computing.

Friday, January 21, 2011

SAS Is the Best Company To Work For (In 2011)

Refer to

The best companies to work for in 2011.

  1. SAS - Software solutions
  2. Boston Consulting Group - Consulting
  3. Wegmans Food Markets - Supermarket chains
  4. Google - Software and tech.
  5. NetApp - Software, hardware and tech.
  6. - Online, e-commerce
  7. Camden Property Trust - Property
  8. Nugget Market - Supermarket chains
  9. Recreational Equipment (REI) - Adventure clothes, gears, shoes
  10. DreamWorks Animation SKG - Animation studio
  11. Edward Jones - Financial, consulting
  12. Scottrade - Financial
  13. Alston & Bird - Law firm
  14. Robert W. Baird - Financial, consulting
  15. Mercedes-Benz USA - Automotives

I wonder how they did the survey ? Must be from some kind of 'leaks' as well.

Managed Vs Unmanaged Code

Refer to the following.

Managed code runs in managed environment, a managed environment is the .NET runtime. Unmanaged environment means third party environment or application such as Internet explorer, database, VM Ware and etc.

This means that the .NET libraries and etc are all part of managed code while the codes that you write also is part of managed code because it is running on the run time.

Refer to the following.

COM components, COM+ services, the Win32® API are all unmanaged codes.

ActiveX® Data Objects (ADO) is also unmanaged code.

For example, refer to the case of System.AccessViolationException, the unmanaged code which the article refers to is actually ADODB (ActiveX® Data Objects For Database).

Juniper Networks Awarded Internationally-Recognised Government Security Certifications

Juniper Networks announced that more than 20 of its solutions for network routing, switching, security and access control have recently completed the rigorous testing and certification procedures pursuant to the U.S. Federal Information Processing Standard (FIPS) and international Common Criteria standards that are considered prerequisites in many of the world's defense, civilian government and public sector network acquisitions.

Newly certified are various members of Juniper Networks(R) J Series Services Routers; M Series Multiservice Edge Routers; T Series Core Routers; MX Series Universal Edge Routers; EX Series Ethernet Switches; SRX Series Services Gateways; the LN Series Mobile Secure Router; and IC Series Unified Access Control (UAC) Appliances.

Thursday, January 20, 2011


SolarWinds, Inc.  announced that it is set to address the unmet and growing needs of systems and virtualization administrators. The company is entering the application performance and virtualization management markets through the launch of SolarWinds Application Performance Monitor (APM) and the acquisition of Hyper9, a privately-held virtualization management software provider based in Austin, TX.

Wednesday, January 19, 2011

Juniper Networks Invests in Advanced Training & Education for Partners

Juniper Networks has announced a new training and education program built to enhance the expertise of Juniper partners in the key areas of cloud networking, security, switching, routing and mobility.

As a new offering in the Juniper Learning Academy curriculum, the new Continuing Education Program empowers sales and system engineers with valuable knowledge and skills through a variety of on-demand formats including online testing, webcasts, videos, and virtual demonstrations.

Available at no cost to Juniper partners, the Continuing Education Program features a flexible training structure that encourages partners to select courses appealing to their business model and technology interests. In turn, Juniper partners are awarded for their achievements with specialized accreditations of expertise that can be easily marketed to end-user customers and prospects to help win opportunities. Data Center and Switching accreditations are available today inside of the Learning Academy.

Saturday, January 15, 2011

Cloud Computing Will Change the Direction of Software Development

The thing about customized business software solution is that you can charge for things like documentation and generic modules such as login, import export functions, synchronizers, reporting and etc at premium price; for the service.

On the contrary, off-the-shelve software or solutions usually will have to settle by providing such for free or complementary. You haven't seen Microsoft charging for user guides right ?

And the hard fact is that generic modules are being developed all over and over again, literally for every customized software projects; I mean literally.

The main issue is money and survivability.

If you had an idea on some kind of software product, you may want to get yourself ready to face the reality that nobody want to use your product. As the matter of fact, big companies actually scrapped many software projects, same goes to musicians who have to accept the reality that certain songs are never recorded and sold.

Well, this is the hard reality of life and the intellectual property industry.

Thus, there are market for customized software solutions because there is still a lot demand for it out there all over the places, which ranges from multi-million to multi-hundreds. And let's not forget that in-house systems are all part of customized software solutions.

People especially CIOs and IT managers are always waiting for the drag-and-drop software tools where you can do away programmers and just architect your solutions using your imagination, as the matter of fact, such tools are actually available in the market, the only problem is that the vendor will not sell it for RM 1,000.

So end users must still rely on independent software vendors (ISV) to cater for their customized needs.

The concept of cloud computing is about virtualization.

Virtualization will give rise to scalability.

Scalability will give rise to plug and play.

Plug and play gives rise to on-demand.

What this implies is that some people will create some software platforms or frameworks which will be hosted on cloud computing platform where software developers can actually plug and play software modules for their projects; especially generic software modules.

When such is available, customize software projects will have to move into a different dimension.

A time will come when the cloud computing community will be the sole competitor to big business software solution such as SAP.

One good example of this is Windows Azure 'AppFabric' service bus component, which is essentially a middle-ware platform.

Check out one presentation on usage of 'AppFabric' service for building a distributed architecture.

'AppFabric' service bus component is responsible to provide communication and authentication services. In other words, service bus is a cloud version of Remoting and WCF (Windows Communication Foundation), except that now it is optimized for the cloud.

So now you can make use of 'AppFabric' service bus to build higher level functionality as middle-ware platform to serve generic software modules and then you can sell is as software-as-a-service.

The big issue is money, chicken and egg. Who is going to invest money first ?

Perhaps something which Malaysia can look into ? Building a cloud computing hub for APAC ?

Malaysian iPhone Developer Connects iPhone, Android, Facebook and Web Into One

A Malaysia iPhone app development company, Just Mobile Sdn Bhd, has managed to develop an all-in-one app that user can access from iPhone, Android, Facebook or web.

The application they created is a fantasy football application based on English Premier League. In this app, a user can play on any of the devices the app supports. This means a user can register his team on the official website, play it on Facebook and check his team standings on iPhone. In fact, the application also supports Nokia Widget, Java and WAP devices.

Just Mobile took almost 6 long months to fully expand the whole application into such diverse platforms. The biggest difficultly they faced was the segmentation of mobile platforms in the mobile market. Each mobile device like iPhone or Android uses different software development technologies, hence, different skill sets to develop on. Developing on Facebook Application Platform also has its unique complexity.

This Fantasy Premier League application is currently available on iPhone AppStore, Nokia Ovi Store, Maxis 1Store, Android Market, Facebook and many other mobile app stores across the world. It has received more than 50,000 users across all platforms.

Opportunities In the Race To Have Better Broadband Access

My comments on 'Better broadband access needed in M'sia'

There are two big issues which are inter-related:
  1. Money
  2. Content
Everything about Internet is started from TM, because it is Telekom Malaysia or Malaysia's Telecomm.. TM invested their money to setup the Internet in the first place.

Thus from the first dial-up version until now HSBB took about 16 years (I remember that Internet was first available to Malaysia around the year 1995).

I am not sure if paying RM 66 per month for 512 kb download (Streamyx) is expensive or not ? but I can afford it at home. That's my official personal Internet connection.

Apart from that, I have access to Starbucks' Internet connection by paying an average of RM 10 for a beverage and 'UniFi' access from office location.

Thus, on the average, I have only spent about RM 66 to RM 100 on Internet per month. Being a Malaysian, I like to go International when I am hooked up to the Internet. In fact, my browser history only contains a few entries.
  • (for emails mostly)
  • /
  • /
Thus, just like what TM has confessed, 90% of my traffic goes international.

My location is Petaling Jaya, Klang Valley and Selangor.

I am not sure if my mother needs to use the Internet ? But I do know that Internet for me is mostly meant for communication and entertainment. So, if someone do not need such things, there is no need to use the Internet which is quite affordable to me.

And talking affordability, service providers may not have enough subscribers (at least for now). The reason that I can think of is that first of all, the International bandwidth is pretty costly per se. Secondly, since Internet is meant for communication and entertainment, it should be targeted at people who needed them critically; the road transport traffic congestion in my location is pretty unbearable.

Then we have the issue with localized contents. 90% of the Internet traffic goes International, and mostly for communication and entertainment. The bottleneck is actually at the international gateway.

However, localized content must not only restricts itself to communication and entertainment, it can also cover other categories of activities especially for business.

In my opinion, we can spike up this category.

There isn't enough motivation and incentives to encourage localized business contents such as web based business application. The HSBB backbone has tremendous bandwidth which are sitting there waiting for international bandwidth to utilize it.

We need to have a John Doerr of Malaysia to champion such initiative. Provide local software developers with funding and incentives for hosting and utilization of cloud computing platform. This will also attract foreign investment because then some Mat Sallehs will come to Malaysia and form business entities with Malaysians to develop and host business application locally.

Secondly, we need to relax the regulation with content censorship which will scare content developers away.

Finally, the problem with low income needs to be addressed. Most of us are underpaid anyway, but we have great taste for International culture. We are underpaid, but we own all kind of brands, eat all kind of foods, watch all kind of movies and play all kind of games. In other words, unofficially, even though we earn smaller income, but we still can afford existing inflation.

Everything is inter-related, the reality we are having now is result of social-economical transformation and self balancing acts.

I don't anticipate much for a savior for this issue, but I do see some opportunities from here.

As long as we have a conservative culture, we will always like to go International, especially during web surfing.

Monday, January 10, 2011


P1 4G has a new year’s resolution to continue to provide the best value wireless 4G broadband to all Malaysians. To kick off 2011, P1 4G is giving a FREE speed upgrade from 2.4Mbps to 4.8Mbps to all new and existing Home Pro subscribers.

For new P1 4G Home Pro Promo M5 subscribers, the deal gets even sweeter with a RM300 discount over the first 3 months. The breakdown is RM160 discount off the subscriber’s first bill (RM100 registration fee + RM60 activation fee waived), RM70 discount off the second and third bills respectively. Best of all, the double speed upgrade is permanent and FREE.

The new P1 4G Home Pro Promo M5 plan comes with the latest plug-n-play Home DX-230 modem and a plan price of just RM139 per month. So, users get the best wireless 4G Home package in town, 30GB per month and FREE double download speed upgrade!

“Our new Home Pro plan is unbeatable value for money. But we don’t just focus on acquiring new subscribers. We also want to thank our existing Home Pro customers for their support of P1 all these while. Hence we’re giving the Home Pro plan customers the automatic free speed upgrade indefinitely!” said Michael Lai, P1’s Chief Executive Officer.

The download speed upgrade will automatically kick-in for existing P1 4G Home Pro and P1 W1MAX 2400 Personal Plan customers starting 7 January 2011. That’s a big “Happy New Year” from P1!

Check out details.

Saturday, January 08, 2011

Recent Malaysia Internet Lifestyle Review

It attracted my attention towards the article from TheStar; Star Online, FB are big favourite among digital media marketers.

All these listed sites are actually the most visited by Malaysia Internet users. Telekom Malaysia confirms that 90% of Internet traffic goes international where efforts are continuing in getting content owners to host the content locally.

First of all, this tells us that Malaysians prefer international contents, we are as curious as ever.

Secondly, it tells a fact that local ICT entrepreneurs will always have to compete with international players the moment they step into the market.

If you are providing local contents, your key competitor is not the guy next door, or someone in Penang, Sabah, Johor, it is the big guys.

Let's take a look at an article posted on last year about 'Malaysians win global Internet popularity contest'

It makes sense anyway because not only we like to go international, we prefer international.

It also suggests that:
  • Malaysians are not that stressful.
  • Malaysians have spare time.
  • Malaysians trust people more.
  • Malaysians will always need better and faster Internet.
Opportunities for local content providers are increasing. The HSBB (High Speed Broadband) project has started an initiative to create a high speed backbone for digital data delivery in Malaysia.

Maxis is starting to leverage on such facility (in Malaysia) in order to create more business opportunities.

What I am hoping that will materialize soon is that there will be more data centers being setup locally to host contents and link up to the backbone.

Not only that will create more jobs opportunities, I see opportunities for Internet based application, particularly mission critical applications in the categories of communication, monetary, energy and transportation.

This is going to be a starting point for Malaysia to not depend so much on International contents and the success possibility falls in the hand of local ICT entrepreneurs where supplies must be created before demands can be realized.

Someone has to approach TM, MDeC, Maxis and etc to motivate them to create more schemes to allow contents to be hosted for free. In particular, this is a suitable time to setup cloud computing facilities in Malaysia.

This is high time for us to divert some money back to the hands of local ICT entrepreneurs.

I am asking for Malaysians with capability like John Doerr (of Kleiner Perkins Caufield & Byers) to step forward and to champion such initiatives.

SSMS Stopped Working

It happened to me before.

I was running a stored procedure and it stopped after about 11 minutes of running, without completion.

The problem is because it uses too much memory (private memory set).

It stopped when there is no more memory able to allocate for the process.

You can see that for my case, the private working started from 148 MB to 984 MB (and the physical memory reached 93%) and then it stopped.

So, the reason is not that physical memory has reached 100%, even though this is inevitable. The real reason is that it wasn't able to get memory to do processing.

That is the reason why it stopped.

Now, let's investigate the reason why it happened.

It is because of the stored procedure which keeps updating the screen due to SELECT query.

The stored procedure's function is to copy data from one table and try to sync it to another table if it is not exist, otherwise, existing record will be updated accordingly.

Thus, the solution that I have derived is to not perform SELECT query to check if a record is in existence or not.

Instead of performing SELECT query, for each record from the source table, the revised script will perform UPDATE directly, and if @@rowcount is equal to 1, then it means similar record exist and update is successful, otherwise, similar record is not in existence and INSERT query will then be performed.

This actually solved the whole thing and the stored procedure was able to execute to completion.

Besides that, using the revised script, the CPU utilization is virtually zero and private memory set is low.

1.) The snippet SQL script with SELECT query to match existing record. (Not recommended, fail to complete)

fetch next from @maincursor into @cMyID,@cName while (@@fetch_status <> -1)


-- If not found, insert, else update ------------- 
SELECT recID FROM [TBL_1] where cMyID=@cMyID 

if @@ROWCOUNT >=1 

  --- UPDATE ----- 
    UPDATE [TBL_1] SET cName=@cName WHERE cMyID=@cMyID 
  --- Update Exception ---- 


  -- INSERT ----- 

    INSERT INTO [TBL_1] (cMyID,cName) VALUES (@cMyID,@cName) 

    --- Insert Exception ---- 


fetch next from @maincursor into @cMyID,@cName


2.) The SQL script using UPDATE query to match existing record. (Recommended)

fetch next from @maincursor into @cMyID,@cName while (@@fetch_status <> -1)

  -- If not found, insert, else update -------------
        --- UPDATE -----
        BEGIN TRY
            UPDATE [TBL_1] SET cName=@cName WHERE cMyID=@cMyID
            if @@ROWCOUNT >=1 
                  --- Success ----
               -- INSERT -----
                 BEGIN TRY
                  INSERT INTO [TBL_1] (cMyID,cName) VALUES (@cMyID,@cName)
                 END TRY
                 BEGIN CATCH
                   --Insert exception---
                 END CATCH
        END TRY
           -- Update exception ---
        END CATCH

  fetch next from @maincursor into @cMyID,@cName


Can we assume that this is an issue for SQL Server Management studio (SSMS) ?

Saturday, January 01, 2011

Tech Blog Malaysia Statistics (Dec 2010)

As usual, check out the analysis for 2009.

For month of Jan 2010.
For month of Feb 2010.
For month of Mar 2010.
For month of April 2010.
For month of May 2010.
For month of June 2010.
For month of July 2010.
For month of Aug 2010
For month of Sep 2010
For month of Oct 2010
For month of Nov 2010

For month of Dec 2010, we have the followings.
  • The brand of this blog
  • A common .NET programming issue.
  • Ad adobe's backend program
  • A common windows' issue
  • Malaysia ICT related
  • An ICT initiative
  • A feature of hotlink
  • Support number of Malaysia's most used broadband service


  • Total monthly traffic decreased by as much as 18.62%.
  • Traffic from referring sites decreased by 0.05%.
  • Google still top contributor (48.47%).Down from last month.
  • Top 5 countries (Malaysia, US, India, Singapore, UK,).
  • New visitors 85.64% (down from last month).

Check Out Most Popular Contents