Here is a demo on Android (based on my previous Android entry) found in YouTube.
Lost in the internet cloud? This blog is Azo's version of bread crumb trail, to help him recalls everything back so that he won't lost. And now this blog is a Swiss Army Knife of internet technology.
Wednesday, December 05, 2007
Friday, November 30, 2007
ZDNet's Top 10 IT disasters of all time
This is my Friday morning laughing dose of the week.
- Faulty Soviet early warning system nearly causes WWIII (1983)
- The AT&T network collapse (1990)
- The explosion of the Ariane 5 (1996)
- Airbus A380 suffers from incompatible software issues (2006)
- Mars Climate Observer metric problem (1998)
- EDS and the Child Support Agency (2004)
- The two-digit year-2000 problem (1999/2000)
- When the laptops exploded (2006)
- Siemens and the passport system (1999)
- LA Airport flights grounded (2007)
Labels:
IT
Wednesday, November 14, 2007
Android Developer Challenge
Google's Open Handset Alliance Project just released the Android software development kit (SDK) on Monday (Android Site). On top of that, the alliance offering $10 million reward to any developers with promising mobile apps built on Android platform (no string attached). If you are wondering what Android is all about, Android is another ambitious project initiated by Google to come out with an open source software stack for mobile devices that includes an operating system, middleware and key applications. The mobile suite is expected to power phones in the second half of 2008.
For further information, Android Documentation is the best source of reference. Among some of the technical details and features about Android:
For further information, Android Documentation is the best source of reference. Among some of the technical details and features about Android:
- Android is a platform based on the Linux 2.6 kernel, a set of libraries, multimedia interface and phone applications;
- The platform includes the Dalvik virtual machine;
- Android is based on the Apache v2 open source license.
- Integrated browser based on the open source WebKit engine
- Optimized graphics powered by a custom 2D graphics library.
- SQLite for structured data storage
- Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
- GSM Telephony
- Bluetooth, EDGE, 3G, and WiFi
- Camera, GPS, compass, and accelerometer
- Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE
Tuesday, November 13, 2007
Web Services - Why and How to Build
Have you ever interface a web service before. A web service consists of a server to serve requests to the web service and a client to invoke methods on the web service. Web Services is a modern and very popular technology. Some popular public sites that offer their web service are Flickr, Facebook and so many social site like MySpace, LinkedIn, Hi5 and others though Google's OpenSocial web service.
With Web services readily available, and as the pool of XML Web services grows, you will be able to find software modules that can be integrated into your own application, by finding it and integrating it through XML Web services. Integrate with existing Web services instead of reinventing them. The bottom line is that you will be able to develop much faster than before.
Here are some reasons why Web Services should work where prior approaches have failed
So now probably you are wondering how to build your own web service based on your current application. Since web service is a protocol, platform doesn't really matter. You probably could build a web service from ColdFusion, PHP, ASP or JSP but for a start let just pick PHP. There two methods of creating web services in PHP, SOAP Web Service & XML-RPC Web Service.
Deepak Vohra wrote an excellent tutorial on how to create web service with SOAP & XML-RPC in PHP 5 for a beginner. I've tested the code and I'm quite sure you'll get the idea pretty quick.
What do I hope from all this? I would like to see more and more web service coming from our soil, specifically Malaysia. Perhaps the web service could create some degree of access in some of our government agencies database. Maybe directly pay the Hulu Selangor's land tax through Maybank2u or other payment method so that they won't receive another "Penyapu" award next year from Khir Toyo. Still, anyone could contact me if you need further consultation.
With Web services readily available, and as the pool of XML Web services grows, you will be able to find software modules that can be integrated into your own application, by finding it and integrating it through XML Web services. Integrate with existing Web services instead of reinventing them. The bottom line is that you will be able to develop much faster than before.
Here are some reasons why Web Services should work where prior approaches have failed
- Universal Support. Previous de facto, or de jure interoperability standards usually lacked participation by one or more key vendors.
- Protocol not Platform. It doesn’t require the adoption of a common platform, just adherence to the standard protocols.
- Low Product Costs. Sure vendors will want to sell products that optimize the Web Service experience in some way, but the basic needs are going to be supported essentially for free as part of the platform or as an adjunct to some existing product. Nor are they expensive to adopt in term of development effort. Everyone can play this game without major investment.
- Evolutionary. Long term, Web Services will likely usher in some revolutionary new ideas that force the replacement of existing systems. In the meantime consider Web Services as evolutionary and use them to leverage your existing applications and infrastructure rather than requiring rip and replace - another low cost benefit.
- Business Oriented. Web Services don’t just appeal to the technician, but directly address real business needs of today. The business didn’t care about OO or CBD, but should care about Web Services, particularly where they directly reflect some meaningful business concept, and especially where they are being exposed external – and hence are a reflection on the business.
So now probably you are wondering how to build your own web service based on your current application. Since web service is a protocol, platform doesn't really matter. You probably could build a web service from ColdFusion, PHP, ASP or JSP but for a start let just pick PHP. There two methods of creating web services in PHP, SOAP Web Service & XML-RPC Web Service.
Deepak Vohra wrote an excellent tutorial on how to create web service with SOAP & XML-RPC in PHP 5 for a beginner. I've tested the code and I'm quite sure you'll get the idea pretty quick.
What do I hope from all this? I would like to see more and more web service coming from our soil, specifically Malaysia. Perhaps the web service could create some degree of access in some of our government agencies database. Maybe directly pay the Hulu Selangor's land tax through Maybank2u or other payment method so that they won't receive another "Penyapu" award next year from Khir Toyo. Still, anyone could contact me if you need further consultation.
Labels:
Web service
To Scale up or Scale out
I can't sleep so I read lot of boring stuff tonight and hopefully I'll be sleepy by the time I finish up this blog entry. I've been thinking and wandering what are the easiest or the cheapest way to scale any enterprise level web application. I've seen how it done in Windows Clustering but now I'm looking how open source solutions handle this.
One of the article that explain this well was written 3 years ago by John Lim in his blog (caution some links are broken), Enterprise PHP. You can read some guide on scalability, load balancing & high availability. At least you will get some general ideas to start with.
Another good reading material for a load balancing beginner is written by Vivek Viswanathan,
Load Balancing Web Applications. This article are complete with illustration but only cover the load balancing part. I used to had a round robin software solution before and the advantages are clearly pointed out. However I never had a chance to try out the hardware load balancer option.
To sum up, scaling any web application is an expensive venture because it involves hardware and data centre cost, hence you need rack space to relocate your servers. So make very sure you need multiple servers. Try other methods to cater your user traffics like use the Quad-core processor, boost up the ram to the max, use high speed SCSI drives or move out the database into a bigger server with 100 mbps connection between the application server.
One of the term than I learned through all this reading includes, scale up or scale out, derived from the database product literature. Scale up means scaling by moving to a bigger, more powerful server, while scale out means scaling by adding more CPU boxes to a cluster of database servers.
And this is my favorite, the KISS Principle. KISS = Keep It Simple, Stupid is self-descriptive and recognizes two things:
One of the article that explain this well was written 3 years ago by John Lim in his blog (caution some links are broken), Enterprise PHP. You can read some guide on scalability, load balancing & high availability. At least you will get some general ideas to start with.
Another good reading material for a load balancing beginner is written by Vivek Viswanathan,
Load Balancing Web Applications. This article are complete with illustration but only cover the load balancing part. I used to had a round robin software solution before and the advantages are clearly pointed out. However I never had a chance to try out the hardware load balancer option.
To sum up, scaling any web application is an expensive venture because it involves hardware and data centre cost, hence you need rack space to relocate your servers. So make very sure you need multiple servers. Try other methods to cater your user traffics like use the Quad-core processor, boost up the ram to the max, use high speed SCSI drives or move out the database into a bigger server with 100 mbps connection between the application server.
One of the term than I learned through all this reading includes, scale up or scale out, derived from the database product literature. Scale up means scaling by moving to a bigger, more powerful server, while scale out means scaling by adding more CPU boxes to a cluster of database servers.
And this is my favorite, the KISS Principle. KISS = Keep It Simple, Stupid is self-descriptive and recognizes two things:
- People (including product and service users) generally want things that are simple, meaning easy to learn and use.
- A company that makes products or furnishes services may find simplicity an advantage for the company as well, since it tends to shorten time and reduce cost. (Where the company is trying to use the principle on behalf of users, however, design time may take longer and cost more, but the net effect will be beneficial since easy-to-learn-and-use products and services tend to be cheaper to produce and service in the long run.)
Labels:
high availability,
load balancing,
scalability
Friday, November 09, 2007
Maxis Broadband
I tagged along with Azwa to Maxis building to get her phone number back. Her phone were stolen on Deepavali eve at Mid Valley shopping complex. Poor thing.
Anyway I manage to get a clear pricing on Maxis Broadband
Starter
- 384 kbps
- RM 68/month
Advance
- 640 kbps
- RM 78/month
Power
- Up to 3.6 mbps
- RM 98
Their one-time charges include:
- Activation - RM 100
- Installation - RM 88 (not applicable for self-installation)
- Deposit - RM 100 (waived)
- Registration - RM 50 (waived)
Maxis Power package look attractive, just RM98 compared to RM120 from Celcom package. And no cost on modem itself. But bare in mind you have to sign in 18-month contract period. But this is the best price you can get compared to other wireless broadband services out there. You decide.
Anyway I manage to get a clear pricing on Maxis Broadband
Starter
- 384 kbps
- RM 68/month
Advance
- 640 kbps
- RM 78/month
Power
- Up to 3.6 mbps
- RM 98
Their one-time charges include:
- Activation - RM 100
- Installation - RM 88 (not applicable for self-installation)
- Deposit - RM 100 (waived)
- Registration - RM 50 (waived)
Maxis Power package look attractive, just RM98 compared to RM120 from Celcom package. And no cost on modem itself. But bare in mind you have to sign in 18-month contract period. But this is the best price you can get compared to other wireless broadband services out there. You decide.
Thursday, November 08, 2007
Review Web Design on Multiple Platform and Browser
Did you ever wish to find a better way to view how well your web design on other OS of browser without having or buy the system? Your wish is granted. Browsershots tool will check your web design compatibility with various internet browsers at a single click. Once clicked, you have to give them sometime to load the preview. It will simulate how your website will look like on other OS like Linux, Mac OS and of course Windows. It will list out something like this:
So designer out there, you don't have any excuse for not having other OS or browser anymore.
So designer out there, you don't have any excuse for not having other OS or browser anymore.
Labels:
browser,
os,
website design
Wednesday, November 07, 2007
How to Recover Your Deleted Files
Have you ever face this kind of situation? You have deleted a few files to free up some space in your hard disk, empty the recycle bin but suddenly you realized that you accidentally deleted a wrong file. Now how do you get it back? Don't panic, clear up your mind and start looking for options.
There are many data recovery software out there, how do you know which one is the best. Well, if you don't try it all you wouldn't know. And each software has different features to apply on different kind of situations. Anyway, I have found a good freeware solution for recovering deleted files:
http://officerecovery.com/freeundelete/
I always look for a free stuff first before looking for the commercial or pro software. Freeundelete does the job pretty well. You can choose which drive you want to scan. It will show you a list of all deleted file on that particular drive. Select any file from the list and choose where you want to save the recovered file. It will advice you to save it on different drive to avoid further damage on the data. That's it.
Free software always has limited functionality. If you want to perform harder task such as recovering data after hard drive has being formatted, you might need software such as EasyRecovery Pro which will cost you about $500 (price depend on several variants). It is a good practice to download a trial version before deciding to buy any software tagged with that price.
Despite all this, there is no guarantee that you will get back all your data intact. Based on my experience, the success rate of data recovery depends how severe the damage done on your hard disk. So, best of luck.
There are many data recovery software out there, how do you know which one is the best. Well, if you don't try it all you wouldn't know. And each software has different features to apply on different kind of situations. Anyway, I have found a good freeware solution for recovering deleted files:
http://officerecovery.com/freeundelete/
I always look for a free stuff first before looking for the commercial or pro software. Freeundelete does the job pretty well. You can choose which drive you want to scan. It will show you a list of all deleted file on that particular drive. Select any file from the list and choose where you want to save the recovered file. It will advice you to save it on different drive to avoid further damage on the data. That's it.
Free software always has limited functionality. If you want to perform harder task such as recovering data after hard drive has being formatted, you might need software such as EasyRecovery Pro which will cost you about $500 (price depend on several variants). It is a good practice to download a trial version before deciding to buy any software tagged with that price.
Despite all this, there is no guarantee that you will get back all your data intact. Based on my experience, the success rate of data recovery depends how severe the damage done on your hard disk. So, best of luck.
Labels:
data recovery,
how to
Tuesday, November 06, 2007
SEO Tools Unlimited
I haven't touch about SEO for quite sometime. Maybe because I'm not on website development at this moment. So, to refresh my memory I looked around and I found this useful tools. I used to subscribe newsletter from this website but I didn't received any newsletter from them anymore. Anyway check out their SEO tools at
http://www.seochat.com/seo-tools/
And here is the list of the tools (I don't even know half of it):
http://www.seochat.com/seo-tools/
And here is the list of the tools (I don't even know half of it):
- Adsense Calculator
- AdSense Preview
- Advanced Meta Tag Generator
- Alexa Rank Comparison Tool
- Check Server Headers
- Class C Checker
- Code to Text Ratio
- CPM Calculator
- Domain Age Check
- Domain Typo Generator
- Future PageRank
- Google Dance
- Google Keyword Suggestions
- Google Search for Multiple Datacenter
- Google Suggest Scraper
- Google vs Yahoo
- Indexed Pages
- Keyword Cloud
- Keyword Density
- Keyword Difficulty Check
- Keyword Optimizer
- Keyword Position Check for Multiple Datacenter
- Keyword Typo Generator
- Link Popularity
- Link Price Calculator
- Meta Analyzer
- Meta Tag Generator
- Multiple Datacenter Link Popularity Check
- Overture Keyword Suggestions
- Page Comparison
- Page Size
- PageRank Lookup
- PageRank Search
- Robots.txt Generator
- ROI Calculator
- Search Engine Comparison
- Search Engine Keyword Position
- Site Link Analyzer
- Spider Simulator
- URL Redirect Check
- URL Rewriting
Labels:
SEO
Monday, November 05, 2007
Tourism Malaysia Launches Siti - The Digital Ambassador
Siti is a Window Live Agent representing Malaysia (or perhaps Tourism Malaysia) to engage the Windows Messenger user. You can chat with her only in constructive word manner. Meaning it won't talk rubbish and keep on reminding you with a few destination name in Malaysia when your conversation stray off topic. This is so much remind me of Virtualmalaysia.com's Maya in 2001.
I'm quite surprised that Tourism Malaysia decided to use this as a method to draw tourists as I'm quite sure that the response from the user won't be positive. Because at the end of the session, does the user convince enough to visit Malaysia? When I asked about Major/National Landmarks in Kuala Lumpur, Siti response was a summarized destination of KLCC,KL Towers, Merdeka Square, Sultan Abdul Samad & the Selangor Club building. Is it worth it to visit Kuala Lumpur by only knowing the destination name without feeding their actual facts and values?
Tourist often want to know more when deciding to visit any destination but I believe on current state, Siti alone won't be enough. At least give us a chance to chat to a real people. But who knows, maybe in future Siti's content will evolve towards Wiki-based. Now that what I called a fat ass information.
Anyway if you want to add Siti as your Windows Messenger buddy, simply add sitimalaysia@hotmail.com. Have a stiff awkward conversation.
Sunday, November 04, 2007
3G Speed Test
To get some idea how the 3G connectivity speed, I use the Global Broadband Speed Test. Check this out.
Connected to Celcom 3G PCMCIA data card
Connected to Time.net Broadband
If you ask me, sadly I will say, like the rest of 3G user said (from what I read), it almost feel like slightly faster than dial-up service. :(
Connected to Celcom 3G PCMCIA data card
Connected to Time.net Broadband
If you ask me, sadly I will say, like the rest of 3G user said (from what I read), it almost feel like slightly faster than dial-up service. :(
Labels:
3G
Saturday, November 03, 2007
Configuring D-Link 3G Mobile Wireless Routers
The startup configuration is properly documented in CD and the user manual. You can change the administrator password or the user name, monitor the status and much more. The only problem that I encountered is the information for my Celcom 3G broadband ISP setting. Without this information, I can't get into the internet. So here is the solution:
Before I start, D-Link 3G router has specific ISP card driver option to choose from:
Go to manual internet connection options and click "Manual Configure". You will see the following form.
At first I thought I just need to select my 3G ISP name (Celcom). So I tried both UMTS - Celcom - Option GT 3G Quad and HSDPA - Celcom - Huawei E600 / E620 but no connection detected. So I look back at the box and I noticed that the actual name is Novotell Wireless Merlin U530. So I choose UMTS - Taiwan Mobile - Novatel Mireless Merlin U530 on ISP - Card option. You can leave the rest of the form blank except:
- Dial Number : *99***1#
- APN : internet
- Keep-alive Interval : (your choice mine is 60 seconds)
Save the configuration and click to Status menu. You will find that your WAN is now connected. The internet is now ready, try it.
Before I start, D-Link 3G router has specific ISP card driver option to choose from:
- UMTS - Far Eastern Telecom - Option GT 3G Quad
- UMTS - O2 - Option GT 3G Quad
- UMTS - Vibo Telecom - ZTE MF320
- UMTS - Orangenet - Option Wireless GT Quad
- UMTS - Vodafone - Option Wireless GT Quad
- UMTS - Taiwan Mobile - Novatel Mireless (Wireless) Merlin U530
- UMTS - Chunghwa Telecom - Huawei E612
- UMTS - Telkomsel - Option GT 3G Quad
- UMTS - Exelcom - Option GT 3G Quad
- UMTS - Celcom - Option GT 3G Quad
- UMTS - Maxis - Option GT 3G
- HSDPA - Cingular - Sierra Wireless AirCard 860
- HSDPA - Cingular - Novatel Wireless Merlin U730
- HSDPA - Cingular - Sierra Wireless AirCard 875
- HSDPA - Italy - Sierra Wireless AirCard 865
- HSDPA - Optimus - Novatel Wireless Merlin U740
- HSDPA - T-Mobile - Option GT 3G+ / Fusion+
- HSDPA - Exelcom - Huawei E600 / E620
- HSDPA - Exelcom - Huawei E220 (USB)
- HSDPA - Exelcom - Option GT Max
- HSDPA - Maxis - Huawei E620
- HSDPA - Maxis - Motorola Phone RAZRV3xx (USB)
- HSDPA - Singtel - Huawei E620
- HSDPA - Singtel - Sierra Wireless AirCard 850
- HSDPA - Singtel - Option GT Fusion+ EMEA
- HSDPA - M1 - Vodafone GT MAX GX0201
- HSDPA - M1 - Vodafone Huawei E620
- HSDPA - M1 - Vodafone Huawei E220 (USB)
- HSDPA - Celcom - Huawei E600 / E620
- HSDPA - Celcom - Huawei E220 (USB)
- HSDPA - Globe - Vodafone Huawei E620
- HSDPA - Globe - Vodafone Huawei E220 (USB)
- HSDPA - PowerGrid - Huawei E620
- HSDPA - Vodacom - Huawei E220
- HSDPA - Vodacom - Huawei E620
- HSDPA - MTN - Huawei E220
- HSDPA - MTN - Huawei E620
- HSDPA - Taiwan - Option GT 7.2 Ready
- HSDPA - Taiwan - BandLuxe C100
- HSDPA - Hong Kong - Novatel Wireless Merlin XU870
- HSDPA - Hong Kong - Huawei E220(USB)
- HSDPA - Hong Kong - Option GT 3G+
- HSDPA - Hong Kong - Option GT MAX
- HSDPA - Egypt - E220 etisalat USB
Go to manual internet connection options and click "Manual Configure". You will see the following form.
At first I thought I just need to select my 3G ISP name (Celcom). So I tried both UMTS - Celcom - Option GT 3G Quad and HSDPA - Celcom - Huawei E600 / E620 but no connection detected. So I look back at the box and I noticed that the actual name is Novotell Wireless Merlin U530. So I choose UMTS - Taiwan Mobile - Novatel Mireless Merlin U530 on ISP - Card option. You can leave the rest of the form blank except:
- Dial Number : *99***1#
- APN : internet
- Keep-alive Interval : (your choice mine is 60 seconds)
Save the configuration and click to Status menu. You will find that your WAN is now connected. The internet is now ready, try it.
Friday, November 02, 2007
3G Network Connected to D-Link Mobile Broadband Router
Yesterday I went to Low Yatt and decided to subscribe Celcom 3G service. I've visited a few wireless broadband like Maxis 3G broadband and Izzi 4G broadband but none of the service suits my need. I need a 3G service that can reach as far as Semenyih with no restriction on yearly contract. The Maxis marketing representative mumbling something at their booth which I can't understand a word so I just walk to Izzi booth and waited there. Like Apek in EJen 016 said... I wait forever. So moving on to the last broadband booth, Celcom.
Currently Celcom Broadband offering 3 type of subscription;
- Daily Unlimited
- RM8/24hours
- Up to 384 kbps - Monthly Unlimited Basic
- RM68/month
- Up to 384 kbps - Monthy Unlimited Advance
- RM 120/month
- Up to 3.6 Mbps
Here is the catch, for a start you need to buy the 3G modem. There are 3 type of modem; USB, XpressCard and PCMCIA card. The USB modem, the one that showed in TV commercial, priced at RM1200. As for the XpressCard, there are 3 types to choose with prices RM899 to RM999. And for the PCMCIA type there are 2 prices RM399 & RM499. The prices differ merely because of the brand. The one carrying Vodafone brand are much higher.
Now I'm in delima. My home notebook uses XpressCard, my office notebook uses PCMCIA. To eliminate this differences, I can simply pick the USB modem. But the price is too much for me. So I choose the cheapest option of all - the RM 399 PCMCIA modem card.
Now I need to find either a PCMCIA adapater to USB or a 3G router to stay connected between this 2 notebooks. I looked for the adapter first but no luck. Even Sri Computer don't have it. So the only option left is the 3G router. Currently the only 3G router available in Low Yatt is the D-Link 3G Mobile Broadband Router and priced about RM599 (your bargain skill might come handy here).
So the total cost of having a 3G broadband at all my home is around RM970. Huhuhu that too much for me already. So I'm thinking on how to get back my investment? Since I have the wireless router, maybe I could open-up the internet access to my neighbor. Is it legal?
Thursday, November 01, 2007
JAWI Unlimited
If you want to learn JAWI, an adapted Arabic alphabet for writing the Malay language, now there is an online converter tool. All you have to do is just type the normal Malay text and click convert, the Jawi alphabet will appear. You can copy & paste it into your blog or other medium. It is that easy. This reminds me during those old days when my English tutor (she is not even Muslim/Malay) thought me how to spell Ayam in Jawi.
Check out this ejawi.net website to use the converter. سلامت منچوبا
Check out this ejawi.net website to use the converter. سلامت منچوبا
Labels:
jawi
Sunday, October 28, 2007
Welcome to the world my dear
This is our newest family member. He was born on 28 October 2007 - 10:00PM at HUKMSC. We haven't decide the name yet, so we might let his grandpa choose a name.
Watch the rest of the photo set on my Flickr.
Labels:
baby
Tuesday, October 23, 2007
How Secure Your Windows XP Administrator Account?
Have you lost your Windows XP password recently or perhaps a virus changes all your account password? Or have you ever wonder how your IT administrator reset your notebook user account recently? We used to encounter this kind of problem due to virus attack. To recover the password, we use a software to reset the password. Did you know that you can use an internal tool called "net user" to reset your password? Here is how:
The steps involved in this task differ depending on whether your computer is a member of a network domain or is part of a workgroup or is a stand-alone computer.
Stand-alone computer
The steps involved in this task differ depending on whether your computer is a member of a network domain or is part of a workgroup or is a stand-alone computer.
Stand-alone computer
- If you're still logged in the system, do the following. Bring up the command prompt by select start > run and type in CMD. A black screen will pop up.
- Type "net user". This will list down all available user in the system.
- To reset a password type, "net user" followed by the account name that needs password recovery. followed by " *". e.g "net user administrator *"
- It will prompt, "Type a password for the user:". Enter your new password here.
- A second prompt "Retype the password to confirm:" will be displayed. Retype your password and you are done.
- If you not logged in the system, do the following. Reboot the computer and wait a few seconds. Press F8 before it has completely booted. A black screen with a few options will be prompted to you.
- Press down the arrow down and select "Safe Mode with Command Prompt". Press enter to select that option. Hang in a second. Give it some time to boot; this can take longer than your usual boot-process. When it has booted, you will see the same black screen as in CMD. Now you can continue from step 2 to 5. Reboot your computer in normal mode and log in with the password you just typed in.
- Press CTRL+ALT+DELETE to open the Windows Security dialog box.
- Click Change Password.
- Click Backup to open the Forgotten Password Wizard.
- Click Next and then follow the instructions as they appear on the screen.
Update: Visit this site to get an alternative tools http://home.eunet.no/~pnordahl/ntpasswd/
Labels:
Forgot Password,
Windows XP
Monday, October 22, 2007
Screwed Out Service
This anger accumulated since Hotlink (Maxis Prepaid Service) start spamming my SMStext messages without my consent. How could they promote a jug of beer to a Muslim. I thought we're oblige to register our prepaid service and there should be no excuse of not knowing our religion. It's all there in myKad. And there are so many other promotional SMS which I don't care about. I try to search any subscription options through the Hotlink website but I can't find any.
Today, Hotlink announced to stop their SMS email on this coming 1st December which lead me to write this post. It's kind of rare to withdraw a useful service. To a normal user, it's like downgrading the services back to Atur era. So I might considering changing to another mobile service carrier on my next phone upgrade.
Today, Hotlink announced to stop their SMS email on this coming 1st December which lead me to write this post. It's kind of rare to withdraw a useful service. To a normal user, it's like downgrading the services back to Atur era. So I might considering changing to another mobile service carrier on my next phone upgrade.
Labels:
Hotlink
Tuesday, October 16, 2007
Seting Up a Virtual Private Network (VPN) with Windows
I always wanted to try this out but always forgot. OK, here's the catch, imagine you're out from your office and suddenly forgot to get a file from your PC. You can either get your ass back to the office or you can try the VPN connection. Here is how:
You must:
Set up one computer to share files (server).
Set up another computer to access them (client).
Begin by setting up the server:
Now proceed to connect the client:
You must:
Set up one computer to share files (server).
Set up another computer to access them (client).
Begin by setting up the server:
- Open Internet Explorer and go to www.whatismyip.com. Write down the IP address. You will need it to configure the client.
- Click the Start button and click Run. Type control and hit Enter. Or you can open the Control Panel from Windows Start button
- Click Network and Internet Connections.
- Click Network Connections.
- Click Create a New Connection, which is the first option on the left toolbar.
- The New Connection Wizard will open. Click Next.
- Choose Set up an advanced connection, the last element on the list. Click Next.
- Choose Accept incoming connections. Click Next.
- You will see the Devices for Incoming Connections screen. Do not select anything on this screen. Click Next.
- Select Allow virtual private connections. Click Next.
- Select to whom you want to give access. Click Next. If a user is not listed, you will have to add an account.
- Do not change anything on the Networking Software screen. Click Next.
- That’s it! Your computer is now set up to allow for VPNs. Click Finish to complete the wizard.
Now proceed to connect the client:
- Click the Start button and click Run. Type control and hit Enter. Or you can open the Control Panel from Windows Start button
- Click Network and Internet Connections.
- Click Network Connections.
- Click Create a New Connection, which is the first option on the left toolbar.
- The New Connection Wizard will open. Click Next.
- Select Connect to the network at my workplace and click Next.
- Select Virtual Private Network connection and click Next.
- Type the name of your network in the blank box. Click Next.
- Enter the IP address you wrote down earlier and click Next.
- Select Add a shortcut to this connection to my desktop and click Finish.
- If the VPN doesn’t work, turn off your firewall.
- And don't give access to the “guest” account. It does not require a password, allowing anyone to access the VPN.
Labels:
how to,
How-to,
VPN,
Windows XP
Thursday, September 27, 2007
Google's Applications Under Attack
This is a nightmare. I open up my email, specifically my GMail account and guest what. A news from ZDNet about how vulnerable Google applications from hackers attack. This is including the Gmail, Blogspot, Picasa, Google Search Appliance and Google’s Urchin Analytics. They uses various kind of technique such as email filter attack, cross-site scripting, Cross-site Request Forgery (CSRF), IE’s expression() injection and Mozilla’s -moz-binding.
So how we are going to deal with this. This is too much as I use all of it almost in daily basis. So I figure, for the GMail application, I suggest we always sign-out whenever we done with it before proceeding browsing other side. As for the rest of the applications, I haven't figure out any precaution step yet. Maybe we can stop using all said application?
So how we are going to deal with this. This is too much as I use all of it almost in daily basis. So I figure, for the GMail application, I suggest we always sign-out whenever we done with it before proceeding browsing other side. As for the rest of the applications, I haven't figure out any precaution step yet. Maybe we can stop using all said application?
Tuesday, September 25, 2007
Open Source Series: Content Managemnet System CMS
I've done so many research on open source related application tools lately. So I need to clear up more RAM in my brain for other task. The best way to do it is by dumping all the info in here, my trusted blog.
So in this first edition I will stored all CMS that I experience or read about it in this post. Here goes:
Joomla - popular, award-winning CMS that will help you build powerful online applications.
XOOPS - extensible, easy to use; ideal tool for developing small to large dynamic community websites, blogs, portals and much more.
Drupal - equipped with a powerful blend of features, rich set of modules, very popular.
e107 - totally customizable content management system written in PHP using MySQL database.
Plone - ready-to-run, easy to set up, extremely flexible, and ideal for project groups, communities, websites, extranets and intranets.
Zope - an open source application server for building content management systems, intranets, portals, and custom applications.
PHPnuke - established CMS featuring web-based administration, surveys, customizable blocks, modules and themes with multilanguage support.
Dotnetnuke - port of PHPNuke into Microsoft .NET platform.
Typo3 - flexible and extensible CMS with an accomplished set of ready-made interfaces, functions and modules.
PostNuke - fork of PHP-Nuke to make it more secure, stable, and able to work in high-volume environments with ease.
SyntaxCMS - simplify publishing , create and edit site content online, and approve it before publishing to the web.
jLibrary is a DMS (Document Management System), oriented for personal and enterprise use.
V2 CMS - simple CMS, easy to install and modify.
Website Baker - PHP-based CMS designed to make website creation easy.
Jahia - use the Jahia community edition for publishing, managing files, and workflow.
eZPublish - created by eZ Systems, which has a team of professional software developers responsible for creating and maintaining the CMS.
Magnolia - makes Enterprise Content Management simple by being user-friendly, battle-tested, enterprise-ready and open-source.
WebGUI - built to give average business users the ability to build and maintain complex web sites.
OpenCMS - helps content managers worldwide to create and maintain beautiful websites fast and efficiently.
PHP-Fusion - a lightweight, small and versatile CMS.
Collaborative Portal Server (CPS) - most complete platform for building Enterprise Content Management applications, built on top of the Zope application server.
SiteFrame™ - lightweight content-management system designed for the rapid deployment of community-based websites.
TribalCMS - includes multilanguage support, template architectures, AJAX User Interfaces and unique administration.
Xaraya - create sophisticated web applications; designers enjoy considerable flexibility.
Krang - designed to publish magazine websites.
MMBase - CMS with strong multi media features and advanced portal functionalities.
Pligg - based on Menéame (Spanish Digg clone), Pligg enables you to create Digg-like sites.
elevateIT - an extension of ZOPE/Plone server.
Cofax - manages your text and multimedia content, and simplifies the presentation of newspapers.
DBPrism - first open source CMS based on Oracle XMLDB repository.
Flux CMS - XML/XSLT based, easy to use, extensible and suitable for developers to fill specific needs.
Apache Lenya - Java/XML based CMS that comes with revision control, multi-site management, scheduling, and workflow.
Rubricks - CMS for Ruby on Rails fans, boasts simplicity and speed.
Silva - built on top of Zope, enables you to export to Word, stream media, store content as XML, and manage hierarchical and traditional websites.
YACS - build your online blogging communities.
Clever Copy - A scalable website portal and news posting system.
Fundanemt - focused on usability and aimed at small and medium sized websites.
Dragonfly CMS - feature-rich open source content management system, based on PHP-Nuke 6.
ContentNOW - simple to use, flexible, multilanguage, modular CMS.
Bitweaver - suitable for large-scale community websites and corporate applications.
Elxis CMS - professional free open source CMS released under the GNU/GPL license.
Etomite - allows you to remotely administer your website from anywhere.
fuzzylime - simple way for you to run your site and keep it up-to-date.
iGaming CMS - build your own gaming websites.
MODx - CMS that helps you take control of your online content.
PHP comasy - simple, multilingual and fast content management system.
Mambo - very well-known CMS. Can be used for everything from simple websites to complex corporate applications.
Jupiter - one of the most lightweight portal systems available.
Ovidentia - integrate an environment for publishing content on the www or a groupware portal.
Jaws - build your own modules on the powerful Jaws framework.
Geeklog - out of the box blog solution with support for comments, trackbacks, multiple syndication formats, and spam protection.
CMS Made Simple - make a home page for your family or your multinational corporation.
Eazy portal - solution allowing you to maintain your own online community.
Papoo - accessible content management system
phpWebSite - develop an interactive, community-driven website.
RunCms - portal system that includes most things a webmaster would expect from a CMS.
Exponent - allows site owners to easily create and manage dynamic websites without necessarily directly coding web pages, or managing site navigation.
SPIP - publishing system, use it freely for your own site, be it personal, co-operative, institutional or commercial.
Silverstripe - powerful enough for any website or intranet design and simple enough for anyone to use.
Pheap - created for folks who don’t like complex CMSs like Joomla and Drupal.
MDPro - an innovative and imaginative content management system.
TYPOlight webCMS - specializes in accessibility and uses XHTML and CSS to generate W3C/WAI compliant pages.
PlumeCMS - have multiple websites, multiple authors with different rights.
Xepient Open-Point - create a professional website quickly through the browser.
SlashCode - the original code for the Slashdot geek news service.
YaWPS - is a hybrid between a content management system and a web portal for medium or small-sized websites.
APC ActionApps - allow authorized users to easily update the content of their website.
Pagetool - suitable for people with limited technical skills to modify and contribute to an organization’s web site
OpenACS - toolkit for building scalable, community-oriented web applications.
ttCMS - build your community website with calendars, surveys, member management and authentication, file downloads, forum, articles, and announcements.
MySource - enables technically unskilled users to build and maintain their own web solutions.
Ariadne - web application server and content management system.
Mason CM - makes it easy to manage the workflow of information as it moves from staging to the live site.
Managee - comprehensive web based CMS.
ESY Web Builder - an intuitive content management system that allows non-technical people to create and manage websites and extranets.
PHProjekt - a groupware suite, for the coordination of group activities and to share information and documents via intranet and internet.
PROPS - extensible publishing system designed specifically for periodicals such as newspapers and magazines
Midgard CMS - internationalized set of tools for building web sites and networked applications.
Pivot - web-based tool to help you maintain dynamic sites, like weblogs or online journals.
Alfresco - An Enterprise Content Management System ECMS hosted on JBoss Application Server, Apache Tomcat or J2SE 5.0 (JRE 5.0) server.
Phewh... it will took you forever to try it all. Just be sure to double check your requirement.
So in this first edition I will stored all CMS that I experience or read about it in this post. Here goes:
Joomla - popular, award-winning CMS that will help you build powerful online applications.
XOOPS - extensible, easy to use; ideal tool for developing small to large dynamic community websites, blogs, portals and much more.
Drupal - equipped with a powerful blend of features, rich set of modules, very popular.
e107 - totally customizable content management system written in PHP using MySQL database.
Plone - ready-to-run, easy to set up, extremely flexible, and ideal for project groups, communities, websites, extranets and intranets.
Zope - an open source application server for building content management systems, intranets, portals, and custom applications.
PHPnuke - established CMS featuring web-based administration, surveys, customizable blocks, modules and themes with multilanguage support.
Dotnetnuke - port of PHPNuke into Microsoft .NET platform.
Typo3 - flexible and extensible CMS with an accomplished set of ready-made interfaces, functions and modules.
PostNuke - fork of PHP-Nuke to make it more secure, stable, and able to work in high-volume environments with ease.
SyntaxCMS - simplify publishing , create and edit site content online, and approve it before publishing to the web.
jLibrary is a DMS (Document Management System), oriented for personal and enterprise use.
V2 CMS - simple CMS, easy to install and modify.
Website Baker - PHP-based CMS designed to make website creation easy.
Jahia - use the Jahia community edition for publishing, managing files, and workflow.
eZPublish - created by eZ Systems, which has a team of professional software developers responsible for creating and maintaining the CMS.
Magnolia - makes Enterprise Content Management simple by being user-friendly, battle-tested, enterprise-ready and open-source.
WebGUI - built to give average business users the ability to build and maintain complex web sites.
OpenCMS - helps content managers worldwide to create and maintain beautiful websites fast and efficiently.
PHP-Fusion - a lightweight, small and versatile CMS.
Collaborative Portal Server (CPS) - most complete platform for building Enterprise Content Management applications, built on top of the Zope application server.
SiteFrame™ - lightweight content-management system designed for the rapid deployment of community-based websites.
TribalCMS - includes multilanguage support, template architectures, AJAX User Interfaces and unique administration.
Xaraya - create sophisticated web applications; designers enjoy considerable flexibility.
Krang - designed to publish magazine websites.
MMBase - CMS with strong multi media features and advanced portal functionalities.
Pligg - based on Menéame (Spanish Digg clone), Pligg enables you to create Digg-like sites.
elevateIT - an extension of ZOPE/Plone server.
Cofax - manages your text and multimedia content, and simplifies the presentation of newspapers.
DBPrism - first open source CMS based on Oracle XMLDB repository.
Flux CMS - XML/XSLT based, easy to use, extensible and suitable for developers to fill specific needs.
Apache Lenya - Java/XML based CMS that comes with revision control, multi-site management, scheduling, and workflow.
Rubricks - CMS for Ruby on Rails fans, boasts simplicity and speed.
Silva - built on top of Zope, enables you to export to Word, stream media, store content as XML, and manage hierarchical and traditional websites.
YACS - build your online blogging communities.
Clever Copy - A scalable website portal and news posting system.
Fundanemt - focused on usability and aimed at small and medium sized websites.
Dragonfly CMS - feature-rich open source content management system, based on PHP-Nuke 6.
ContentNOW - simple to use, flexible, multilanguage, modular CMS.
Bitweaver - suitable for large-scale community websites and corporate applications.
Elxis CMS - professional free open source CMS released under the GNU/GPL license.
Etomite - allows you to remotely administer your website from anywhere.
fuzzylime - simple way for you to run your site and keep it up-to-date.
iGaming CMS - build your own gaming websites.
MODx - CMS that helps you take control of your online content.
PHP comasy - simple, multilingual and fast content management system.
Mambo - very well-known CMS. Can be used for everything from simple websites to complex corporate applications.
Jupiter - one of the most lightweight portal systems available.
Ovidentia - integrate an environment for publishing content on the www or a groupware portal.
Jaws - build your own modules on the powerful Jaws framework.
Geeklog - out of the box blog solution with support for comments, trackbacks, multiple syndication formats, and spam protection.
CMS Made Simple - make a home page for your family or your multinational corporation.
Eazy portal - solution allowing you to maintain your own online community.
Papoo - accessible content management system
phpWebSite - develop an interactive, community-driven website.
RunCms - portal system that includes most things a webmaster would expect from a CMS.
Exponent - allows site owners to easily create and manage dynamic websites without necessarily directly coding web pages, or managing site navigation.
SPIP - publishing system, use it freely for your own site, be it personal, co-operative, institutional or commercial.
Silverstripe - powerful enough for any website or intranet design and simple enough for anyone to use.
Pheap - created for folks who don’t like complex CMSs like Joomla and Drupal.
MDPro - an innovative and imaginative content management system.
TYPOlight webCMS - specializes in accessibility and uses XHTML and CSS to generate W3C/WAI compliant pages.
PlumeCMS - have multiple websites, multiple authors with different rights.
Xepient Open-Point - create a professional website quickly through the browser.
SlashCode - the original code for the Slashdot geek news service.
YaWPS - is a hybrid between a content management system and a web portal for medium or small-sized websites.
APC ActionApps - allow authorized users to easily update the content of their website.
Pagetool - suitable for people with limited technical skills to modify and contribute to an organization’s web site
OpenACS - toolkit for building scalable, community-oriented web applications.
ttCMS - build your community website with calendars, surveys, member management and authentication, file downloads, forum, articles, and announcements.
MySource - enables technically unskilled users to build and maintain their own web solutions.
Ariadne - web application server and content management system.
Mason CM - makes it easy to manage the workflow of information as it moves from staging to the live site.
Managee - comprehensive web based CMS.
ESY Web Builder - an intuitive content management system that allows non-technical people to create and manage websites and extranets.
PHProjekt - a groupware suite, for the coordination of group activities and to share information and documents via intranet and internet.
PROPS - extensible publishing system designed specifically for periodicals such as newspapers and magazines
Midgard CMS - internationalized set of tools for building web sites and networked applications.
Pivot - web-based tool to help you maintain dynamic sites, like weblogs or online journals.
Alfresco - An Enterprise Content Management System ECMS hosted on JBoss Application Server, Apache Tomcat or J2SE 5.0 (JRE 5.0) server.
Phewh... it will took you forever to try it all. Just be sure to double check your requirement.
Labels:
CMS,
content management system,
open source
Monday, September 17, 2007
Configuring PHP 5.2.3 To Work With MySQL 5.0 in IIS 5/6 Environment
By assuming the installation for PHP 5.2.3 and MySQL 5.0 were complete (normal/default installation), the following are the necessary steps to make the PHP and MySQL talk to eah other.
Step 1: In the C:\PHP folder copy the file "libmysql.dll" to your C:\WINDOWS\SYSTEM32 folder. Make sure you don't overwrite any existing file in this folder. If file exists, first rename it so you can go back.
Step 2: In the C:\PHP folder copy the file "php.ini-recommended" to your C:\WINDOWS folder. Rename this file to "php.ini"
Step 3: Edit this file "php.ini" using a text editor like notepad. Find the line where it says "extension_dir = *something*". Uncomment this line by removing the preceding semi-colon. and set it to say: extension_dir="c:\php\ext". But you need to comment the line where it says doc_root. Otherwise an error that says "No input file specified" will appear if you test any php script. (Php only interprets phpfiles that are located in or below the doc_root directory)
Step 4: In the same file "php.ini" also un-comment out 2 other lines by removing semi-colon. Find the lines where it says: extension=php_mysql.dll and extension=php_mysqli.dll and uncomment both lines by removing the semi-colon.
Step 5: Reboot the computer
And you are done.
Step 1: In the C:\PHP folder copy the file "libmysql.dll" to your C:\WINDOWS\SYSTEM32 folder. Make sure you don't overwrite any existing file in this folder. If file exists, first rename it so you can go back.
Step 2: In the C:\PHP folder copy the file "php.ini-recommended" to your C:\WINDOWS folder. Rename this file to "php.ini"
Step 3: Edit this file "php.ini" using a text editor like notepad. Find the line where it says "extension_dir = *something*". Uncomment this line by removing the preceding semi-colon. and set it to say: extension_dir="c:\php\ext". But you need to comment the line where it says doc_root. Otherwise an error that says "No input file specified" will appear if you test any php script. (Php only interprets phpfiles that are located in or below the doc_root directory)
Step 4: In the same file "php.ini" also un-comment out 2 other lines by removing semi-colon. Find the lines where it says: extension=php_mysql.dll and extension=php_mysqli.dll and uncomment both lines by removing the semi-colon.
Step 5: Reboot the computer
And you are done.
Monday, August 20, 2007
Be surprised
Yup. That is all about when you get involved in my job line. I get surprised by all kind of system malfunction caused by different kind of situation like virus, network, people, hardware / software compatibility and the list never stop. Even a brand new system installation couldn't escape from this mess. This is happening on my latest assignment but eventually all we had to do is compromised a little. Anyway here are some of my dreadful experience of installing our archiving system on Windows 2003 R2 64 bit Server.
Some other error that I encountered from normal Windows 2003 Server 32bit:
- I can't connect to the server via terminal service from my Windows XP. Looking at the event viewer, I noticed this error. "The RDP Protocol Component "DATA ENCRYPTION" Detected an Error..." error message - event ID 50.
Read this work around (KB323497). Something to do with registry. Problem solved. - My MSSQL 2005 Enterprise edition can't be connected remotely. So my OSQL script won't work (damn).
Microsoft suggest to do a few things (KB914277) but the connection not stable. Strike one,two & three. I won't install this system on 64bit machine ever again.
Some other error that I encountered from normal Windows 2003 Server 32bit:
- IISSample.RegistryAccess causing ASP pages failed to load.
Solution: Simply register the reg.dll - It is not possible to run two different versions of ASP.NET in the same IIS process. Please use the IIS Administration Tool to reconfigure your server to run the application in a separate process.
In other word, you cannot run more than one version of the .NET framework in the same application pool in IIS6.
Solution: Simply create a new application pool and move the site that you will be upgrading to that pool. You can even base it off of the existing one if you don't have the password memorized for the existing one. This is all done within IIS. Once you have placed the site or virtual directory in its own application pool, then you are ready to upgrade to the new framework version.
Labels:
32 bit,
64 bit,
Windows 2003 Server
Friday, July 20, 2007
How to set a global variable in ASP .NET
If you are new to ASP .NET like myself and you need to carry a variable from one page to another, you have a few options. The method best suited for you depends on the way the data will be used.
The first option is to use session variables. Session variables allow you to keep the information hidden from the user by storing the data in server memory or in an SQL Database (see web.config).
To store the value type:
This variable will be available to you as long as a user’s session exists. When their session expires, asp.net will release the data from memory.
You can also accomplish the same task by carrying the value in the URL. This is generally not recommended for user information as it can be seen by the user and easily hacked. However it is recommended in cases where you want a user to be able to link to a specific instance of your asp.net page (i.e. having an articleID on a generic page to display articles).
The first option is to use session variables. Session variables allow you to keep the information hidden from the user by storing the data in server memory or in an SQL Database (see web.config).
To store the value type:
Session("FirstName") = "Azo"And to retrieve the value, type:
Dim firstname As String = CStr(Session("firstName"))
This variable will be available to you as long as a user’s session exists. When their session expires, asp.net will release the data from memory.
You can also accomplish the same task by carrying the value in the URL. This is generally not recommended for user information as it can be seen by the user and easily hacked. However it is recommended in cases where you want a user to be able to link to a specific instance of your asp.net page (i.e. having an articleID on a generic page to display articles).
Dim articleid As Integer = CInt(Request.QueryString("articleid"))If you only need to retain a variable when posting a page back to itself, you should use the viewstate. It works similarly to a hidden input field in html by placing the value in html code that is not displayed. However, items in the viewstate are encoded so that they cannot be easily deciphered by users. Syntax is similar to sessions, to place in viewstate:
viewstate("FirstName") = "Azo"To get from viewstate:
Dim fname As String = CStr(viewstate("FirstName"))If you would like to have a global variable that is static, for example, an sql connection string, I recommend creating a class, and creating the value as a public property of that class. This way you can return your values as a specific data type to enforce better programming.
Public Class GlobalsIf you need a dynamic variable that spans across individual user sessions (ie keeping a count of active users on your site), you must store the variable in the application object.
Public ReadOnly Property connstring() As String
Get
Return "server=WebSqlServer; database=Authors; uid=sa; pwd=abcdefg;"
End Get
End Property
End Class
Application("usercount") = CInt(Application("usercount")) + 1
Thursday, July 05, 2007
Setting Up a Name Server with Widows 2003
If you happened to have a Windows 2003 server with live IP and with plenty of spare time, let's setup a DNS server based on this guide. I don't have a free time yet but I'll update this post later on.
Labels:
DNS
Wednesday, June 13, 2007
Managing Hierarchical Data
I'm not sure if you ever encountered with this, anyway hierarchical data is a collection of data where each item has a single parent and zero or more children (with the exception of the root item, which has no parent). Hierarchical data can be found in a variety of database applications, including forum and mailing list threads, business organization charts, content management categories, and product categories.
Most of the time I'll use the "Adjacency List Model" to handle this. It's easy to understand, and the code needed is simple, too. What then, are the downsides of the adjacency list model? In most programming languages, it's slow and inefficient. This is mainly caused by the recursion. We need one database query for each node in the tree. As each query takes some time, this makes the function very slow when dealing with large trees.
So if you want a different approach with better performance, you might want to consider the "Nested Set Model". Read more about this model here written by Mike Hillyer.
Most of the time I'll use the "Adjacency List Model" to handle this. It's easy to understand, and the code needed is simple, too. What then, are the downsides of the adjacency list model? In most programming languages, it's slow and inefficient. This is mainly caused by the recursion. We need one database query for each node in the tree. As each query takes some time, this makes the function very slow when dealing with large trees.
So if you want a different approach with better performance, you might want to consider the "Nested Set Model". Read more about this model here written by Mike Hillyer.
Labels:
Adjacency List Model,
Nested Set Model
Wednesday, May 30, 2007
The new Microsoft Surface
Surface is the first in a new category of surface computing products from Microsoft that will “break down traditional barriers between people and technology”. A Surface computer is able to recognize physical objects from a paintbrush to a cell phone and allows hands-on, direct control of content such as photos, music and maps. how cool is that? Surface turns an ordinary tabletop into a dynamic surface that provides interaction with all forms of digital content through natural gestures, touch and physical objects.
It took them 6 years to materialize this from the concepts and ideas. Perhaps the best way to visualize this is by video below.
Check out Microsoft Surface's Virtual Pressroom for more information. Looks like we're already in the future. I personally would like to have this as my home coffee table.
It took them 6 years to materialize this from the concepts and ideas. Perhaps the best way to visualize this is by video below.
Check out Microsoft Surface's Virtual Pressroom for more information. Looks like we're already in the future. I personally would like to have this as my home coffee table.
Byte Order Mark (BOM) Tales
Recently I encountered a problem that I never seen before. There is no error display on the system except this weird character ÿþ. I remember searching for the log files looking for clues but nothing could be relate to this character. Later I found out this ÿþ character is an encoding signature called byte order mark or BOM for a file, in this case it's a XSL transformation file. Generally, it's a particular sequence of bytes at the beginning of the file that indicates the encoding and the byte order. For example any file with this particular encoding will have a different BOM:
UTF-8 - EF BB BF - 
UTF-16LE - FF FE - ÿþ
UTF-16BE - FE FF - þÿ
The W3C specify that all XML processor must read the UTF-8 and UTF-16 encoding. This text explain that to differentiate between UTF-8 and UTF-16 a BOM must be present, and that the BOM must be used by the parser as encoding signature. Other encoding may be supported, but no parser is required to have support for all of them, or one in particular, besides the UTF-8 and UTF-16.
This encoding signature is not to be displayed, any tool that support Unicode will understand this and will not show this to you nor consider it to be part of the text file. By checking the Hexadecimal of the file or opening the file in a non-unicode text editor will give you those characters presented in the above.
Now I know what the meaning of the character, but now how could I relate this information to the current problem? Read on...
With IE and MSXML, there are two really common errors that happen when something is not correct with the steps defined below.
An invalid character was found in text content
A parser found a character on your file that is not according the encoding declaration or the BOM specified for that file. If you have character encoded with ISO-8859-1 and then speficy the UTF-8 on the encoding declaration, this will issue the error.
Switch from current encoding to specified encoding not supported
In a basic thinking this error is almost identical to the previous, the only thing is that the parser understands that the real encoding on the file is different from the one in the encoding declaration. What the error is trying to tell you is that it can’t make the switch from the file encoding to the one you specify on the encoding declaration.
Let say if a file encoded as UTF-8 and a text encoding of UTF-16, since UTF-16 must always be two bytes, the parser known forehand that something is wrong with the encoding.
So in my case, it was the first one, character encoded with ISO-8859-1 and then speficy the UTF-8 on the encoding declaration. Case close.
Note: If none works, maybe you should consider re-install the MSXML parser according to your code, because each version has different coding requirement.
UTF-8 - EF BB BF - 
UTF-16LE - FF FE - ÿþ
UTF-16BE - FE FF - þÿ
The W3C specify that all XML processor must read the UTF-8 and UTF-16 encoding. This text explain that to differentiate between UTF-8 and UTF-16 a BOM must be present, and that the BOM must be used by the parser as encoding signature. Other encoding may be supported, but no parser is required to have support for all of them, or one in particular, besides the UTF-8 and UTF-16.
This encoding signature is not to be displayed, any tool that support Unicode will understand this and will not show this to you nor consider it to be part of the text file. By checking the Hexadecimal of the file or opening the file in a non-unicode text editor will give you those characters presented in the above.
Now I know what the meaning of the character, but now how could I relate this information to the current problem? Read on...
With IE and MSXML, there are two really common errors that happen when something is not correct with the steps defined below.
An invalid character was found in text content
A parser found a character on your file that is not according the encoding declaration or the BOM specified for that file. If you have character encoded with ISO-8859-1 and then speficy the UTF-8 on the encoding declaration, this will issue the error.
Switch from current encoding to specified encoding not supported
In a basic thinking this error is almost identical to the previous, the only thing is that the parser understands that the real encoding on the file is different from the one in the encoding declaration. What the error is trying to tell you is that it can’t make the switch from the file encoding to the one you specify on the encoding declaration.
Let say if a file encoded as UTF-8 and a text encoding of UTF-16, since UTF-16 must always be two bytes, the parser known forehand that something is wrong with the encoding.
So in my case, it was the first one, character encoded with ISO-8859-1 and then speficy the UTF-8 on the encoding declaration. Case close.
Note: If none works, maybe you should consider re-install the MSXML parser according to your code, because each version has different coding requirement.
Labels:
bom,
Troubleshoot,
Unicode Transformation Format,
utf,
ÿþ
Monday, May 21, 2007
Restoring MS SQL Database From .mdf File
Imagine this scenario, you are planning to reformat your SQL server which has 50 databases and all data and log files stored in SAN system. What is the faster way to restore all the databases once you had finish installed the OS and SQL server? I used to backup one by one using the backup and restore database tool. But recently I found a faster way which could save lot of time.
The method is simple enough that I feel stupid not to know this. All you have to do is attach the .mdf file to the SQL Server. How? Open the SQL Server Enterprise Manager, open the tree (Console Root > Microsoft SQL Servers > SQL Server Group > (Your SQL Server) > Database) right-click on the database and select All Tasks > Attach Database. And then, just select the .mdf file, click OK and you are done. The process is almost instantaneous. So for 50 databases you could finish it less than 2 minutes.
If you're not sure what I'm talking about, you could always start with the default database ship with SQL Server. Right cilck on the Northwind database and select All Task > Detach Database
. After that follow the step above.
Good luck.
The method is simple enough that I feel stupid not to know this. All you have to do is attach the .mdf file to the SQL Server. How? Open the SQL Server Enterprise Manager, open the tree (Console Root > Microsoft SQL Servers > SQL Server Group > (Your SQL Server) > Database) right-click on the database and select All Tasks > Attach Database. And then, just select the .mdf file, click OK and you are done. The process is almost instantaneous. So for 50 databases you could finish it less than 2 minutes.
If you're not sure what I'm talking about, you could always start with the default database ship with SQL Server. Right cilck on the Northwind database and select All Task > Detach Database
. After that follow the step above.
Good luck.
Labels:
how to,
MDF,
MSSQL 2000,
MSSQL 2005,
restore
Friday, May 11, 2007
Snap-in failed to initialize in SQL 2000 MMC
I had this problem recently and this problem causing the Microsoft Management Console (MMC) for SQL 2000 fail to load all database. This is all caused by uninstalling MSSQL 2005 server which was at the same time has another version of MSSQL 2000 server installed. At first I thought the MSSQL is corrupted, however the database remain intact and accessible through SQL service or ODBC. So this must be something to do with MMC alone, and it was. Luckily the solution is simple enough.
All I have to do is reregistering the sqlmmc.dll located in the C:\Program Files\Microsoft SQL Server\80\Tools\Binn\
Just run this command
That did the trick for me. There are lot of trouble related to MSSQL that I have not discovered yet, maybe I should take the MSSQL professional course.
All I have to do is reregistering the sqlmmc.dll located in the C:\Program Files\Microsoft SQL Server\80\Tools\Binn\
Just run this command
regsvr32 C:\Program Files\Microsoft SQL Server\80\Tools\Binn\sqlmmc.dll
That did the trick for me. There are lot of trouble related to MSSQL that I have not discovered yet, maybe I should take the MSSQL professional course.
Labels:
microsoft,
MSSQL 2000,
MSSQL 2005,
Troubleshoot
Monday, May 07, 2007
Useful Windows Tools from Sysinternals
I discover this utilities by accident, well someone told me about it. Sysinternals web site was created in 1996 by Mark Russinovich and Bryce Cogswell to host their advanced system utilities and technical information. Eventually Microsoft acquired Sysinternals in July, 2006. Sysinternals utilities helps you manage, troubleshoot and diagnose your Windows systems and applications. I haven't tried it all but I think I want to share it here. Check it out.
File & Disk Utilities
AccessChk
This tool shows you the accesses the user or group you specify has to files, Registry keys or Windows services.
AccessEnum
This simple yet powerful security tool shows you who has what access to directories, files and Registry keys on your systems. Use it to find holes in your permissions.
CacheSet
CacheSet is a program that allows you to control the Cache Manager's working set size using functions provided by NT. It's compatible with all versions of NT.
Contig
Wish you could quickly defragment your frequently used files? Use Contig to optimize individual files, or to create new files that are contiguous.
DiskExt
Display volume disk-mappings
Diskmon
This utility captures all hard disk activity or acts like a software disk activity light in your system tray.
DiskView
Graphical disk sector utility
Du
View disk usage by directory
EFSDump
View information for encrypted files
Filemon
This monitoring tool lets you see all file system activity in real-time.
Junction
Create Win2K NTFS symbolic links
LDMDump
Dump the contents of the Logical Disk Manager's on-disk database, which describes the partitioning of Windows 2000 Dynamic disks.
MoveFile
Schedule file rename and delete commands for the next reboot. This can be useful for cleaning stubborn or in-use malware files.
NTFSInfo
Use NTFSInfo to see detailed information about NTFS volumes, including the size and location of the Master File Table (MFT) and MFT-zone, as well as the sizes of the NTFS meta-data files.
PageDefrag
Defragment your paging files and Registry hives!
PendMoves
See what files are scheduled for delete or rename the next time the system boots.
Process Monitor
Monitor file system, Registry, process, thread and DLL activity in real-time.
PsFile
See what files are opened remotely
PsTools
The PsTools suite includes command-line utilities for listing the processes running on local or remote computers, running processes remotely, rebooting computers, dumping event logs, and more.
SDelete
Securely overwrite your sensitive files and cleanse your free space of previously deleted files using this DoD-compliant secure delete program.
ShareEnum
Scan file shares on your network and view their security settings to close security holes.
Sigcheck
Dump file version information and verify that images on your system are digitally signed.
Streams
Reveal NTFS alternate streams
Sync
Flush cached data to disk
VolumeId
Set Volume ID of FAT or NTFS drives
Networking Utilities
AdRestore
Undelete Server 2003 Active Directory objects
PsFile
See what files are opened remotely
PsTools
The PsTools suite includes command-line utilities for listing the processes running on local or remote computers, running processes remotely, rebooting computers, dumping event logs, and more.
ShareEnum
Scan file shares on your network and view their security settings to close security holes.
TCPView
Active socket command-line viewer.
Whois
See who owns an Internet address.
Process Utilities
Autoruns
See what programs are configured to startup automatically when your system boots and you login. Autoruns also shows you the full list of Registry and file locations where applications can configure auto-start settings.
Filemon
This monitoring tool lets you see all file system activity in real-time.
Handle
This handy command-line utility will show you what files are open by which processes, and much more.
ListDLLs
List all the DLLs that are currently loaded, including where they are loaded and their version numbers. Version 2.0 prints the full path names of loaded modules.
Portmon
Monitor serial and parallel port activity with this advanced monitoring tool. It knows about all standard serial and parallel IOCTLs and even shows you a portion of the data being sent and received. Version 3.x has powerful new UI enhancements and advanced filtering capabilities.
Process Explorer
Find out what files, registry keys and other objects processes have open, which DLLs they have loaded, and more. This uniquely powerful utility will even show you who owns each process.
Process Monitor
Monitor file system, Registry, process, thread and DLL activity in real-time.
PsExec
Execute processes remotely.
PsKill
Terminate local or remote processes.
PsList
Show information about processes and threads.
PsService
View and control services.
PsSuspend
Suspend and resume processes.
PsTools
The PsTools suite includes command-line utilities for listing the processes running on local or remote computers, running processes remotely, rebooting computers, dumping event logs, and more.
Regmon
This monitoring tool lets you see all Registry activity in real-time.
Security Utilities
AccessChk
This tool shows you the accesses the user or group you specify has to files, Registry keys or Windows services.
AccessEnum
This simple yet powerful security tool shows you who has what access to directories, files and Registry keys on your systems. Use it to find holes in your permissions.
Autologon
Bypass password screen during logon.
Autoruns
See what programs are configured to startup automatically when your system boots and you login. Autoruns also shows you the full list of Registry and file locations where applications can configure auto-start settings.
LogonSessions
List active logon sessions
NewSID
Learn about the computer SID problem everybody has been talking about and get a free computer SID changer, NewSID.
Process Explorer
Find out what files, registry keys and other objects processes have open, which DLLs they have loaded, and more. This uniquely powerful utility will even show you who owns each process.
PsExec
Execute processes with limited-user rights.
PsLoggedOn
Show users logged on to a system
PsLogList
Dump event log records.
PsTools
The PsTools suite includes command-line utilities for listing the processes running on local or remote computers, running processes remotely, rebooting computers, dumping event logs, and more.
RootkitRevealer
Scan your system for rootkit-based malware
SDelete
Securely overwrite your sensitive files and cleanse your free space of previously deleted files using this DoD-compliant secure delete program.
ShareEnum
Scan file shares on your network and view their security settings to close security holes.
Sigcheck
Dump file version information and verify that images on your system are digitally signed.
System Information
Autoruns
See what programs are configured to startup automatically when your system boots and you login. Autoruns also shows you the full list of Registry and file locations where applications can configure auto-start settings.
ClockRes
View the resolution of the system clock, which is also the maximum timer resolution
Filemon
This monitoring tool lets you see all file system activity in real-time.
Handle
This handy command-line utility will show you what files are open by which processes, and much more
LiveKd
Use Microsoft kernel debuggers to examine a live system.
LoadOrder
See the order in which devices are loaded on your WinNT/2K system
LogonSessions
List the active logon sessions on a system
PendMoves
Enumerate the list of file rename and delete commands that will be executed the next boot
Process Explorer
Find out what files, registry keys and other objects processes have open, which DLLs they have loaded, and more. This uniquely powerful utility will even show you who owns each process.
Process Monitor
Monitor file system, Registry, process, thread and DLL activity in real-time.
ProcFeatures
This applet reports processor and Windows support for Physical Address Extensions and No Execute buffer overflow protection.
PsInfo
Obtain information about a system
PsLoggedOn
Show users logged on to a system
PsTools
The PsTools suite includes command-line utilities for listing the processes running on local or remote computers, running processes remotely, rebooting computers, dumping event logs, and more.
Regmon
This monitoring tool lets you see all Registry activity in real-time.
Winobj
The ultimate Object Manager namespace viewer is here.
Miscellaneous Utilities
AdRestore
Restore tombstoned Active Directory objects in Server 2003 domains.
Autologon
Bypass password screen during logon.
BgInfo
This fully-configurable program automatically generates desktop backgrounds that include important information about the system including IP addresses, computer name, network adapters, and more.
BlueScreen
This screen saver not only accurately simulates Blue Screens, but simulated reboots as well (complete with CHKDSK), and works on Windows NT 4, Windows 2000, Windows XP, Server 2003 and Windows 9x.
Ctrl2cap
This is a kernel-mode driver that demonstrates keyboard input filtering just above the keyboard class driver in order to turn caps-locks into control keys. Filtering at this level allows conversion and hiding of keys before NT even "sees" them. Ctrl2cap also shows how to use NtDisplayString() to print messages to the initialization blue-screen.
DebugView
Another first from Sysinternals: This program intercepts calls made to DbgPrint by device drivers and OutputDebugString made by Win32 programs. It allows for viewing and recording of debug session output on your local machine or across the Internet without an active debugger.
Hex2dec
Convert hex numbers to decimal and vice versa.
PsTools
The PsTools suite includes command-line utilities for listing the processes running on local or remote computers, running processes remotely, rebooting computers, dumping event logs, and more.
PsLogList
Dump event log records.
RegDelNull
Scan for and delete Registry keys that contain embedded null-characters that are otherwise undeleteable by standard Registry-editing tools.
Regjump
Jump to the registry path you specify in Regedit.
Strings
Search for ANSI and UNICODE strings in binary images.
ZoomIt
Presentation utility for zooming and drawing on the screen.
You may find some redundancy but some tools has multiple capabilities.
File & Disk Utilities
AccessChk
This tool shows you the accesses the user or group you specify has to files, Registry keys or Windows services.
AccessEnum
This simple yet powerful security tool shows you who has what access to directories, files and Registry keys on your systems. Use it to find holes in your permissions.
CacheSet
CacheSet is a program that allows you to control the Cache Manager's working set size using functions provided by NT. It's compatible with all versions of NT.
Contig
Wish you could quickly defragment your frequently used files? Use Contig to optimize individual files, or to create new files that are contiguous.
DiskExt
Display volume disk-mappings
Diskmon
This utility captures all hard disk activity or acts like a software disk activity light in your system tray.
DiskView
Graphical disk sector utility
Du
View disk usage by directory
EFSDump
View information for encrypted files
Filemon
This monitoring tool lets you see all file system activity in real-time.
Junction
Create Win2K NTFS symbolic links
LDMDump
Dump the contents of the Logical Disk Manager's on-disk database, which describes the partitioning of Windows 2000 Dynamic disks.
MoveFile
Schedule file rename and delete commands for the next reboot. This can be useful for cleaning stubborn or in-use malware files.
NTFSInfo
Use NTFSInfo to see detailed information about NTFS volumes, including the size and location of the Master File Table (MFT) and MFT-zone, as well as the sizes of the NTFS meta-data files.
PageDefrag
Defragment your paging files and Registry hives!
PendMoves
See what files are scheduled for delete or rename the next time the system boots.
Process Monitor
Monitor file system, Registry, process, thread and DLL activity in real-time.
PsFile
See what files are opened remotely
PsTools
The PsTools suite includes command-line utilities for listing the processes running on local or remote computers, running processes remotely, rebooting computers, dumping event logs, and more.
SDelete
Securely overwrite your sensitive files and cleanse your free space of previously deleted files using this DoD-compliant secure delete program.
ShareEnum
Scan file shares on your network and view their security settings to close security holes.
Sigcheck
Dump file version information and verify that images on your system are digitally signed.
Streams
Reveal NTFS alternate streams
Sync
Flush cached data to disk
VolumeId
Set Volume ID of FAT or NTFS drives
Networking Utilities
AdRestore
Undelete Server 2003 Active Directory objects
PsFile
See what files are opened remotely
PsTools
The PsTools suite includes command-line utilities for listing the processes running on local or remote computers, running processes remotely, rebooting computers, dumping event logs, and more.
ShareEnum
Scan file shares on your network and view their security settings to close security holes.
TCPView
Active socket command-line viewer.
Whois
See who owns an Internet address.
Process Utilities
Autoruns
See what programs are configured to startup automatically when your system boots and you login. Autoruns also shows you the full list of Registry and file locations where applications can configure auto-start settings.
Filemon
This monitoring tool lets you see all file system activity in real-time.
Handle
This handy command-line utility will show you what files are open by which processes, and much more.
ListDLLs
List all the DLLs that are currently loaded, including where they are loaded and their version numbers. Version 2.0 prints the full path names of loaded modules.
Portmon
Monitor serial and parallel port activity with this advanced monitoring tool. It knows about all standard serial and parallel IOCTLs and even shows you a portion of the data being sent and received. Version 3.x has powerful new UI enhancements and advanced filtering capabilities.
Process Explorer
Find out what files, registry keys and other objects processes have open, which DLLs they have loaded, and more. This uniquely powerful utility will even show you who owns each process.
Process Monitor
Monitor file system, Registry, process, thread and DLL activity in real-time.
PsExec
Execute processes remotely.
PsKill
Terminate local or remote processes.
PsList
Show information about processes and threads.
PsService
View and control services.
PsSuspend
Suspend and resume processes.
PsTools
The PsTools suite includes command-line utilities for listing the processes running on local or remote computers, running processes remotely, rebooting computers, dumping event logs, and more.
Regmon
This monitoring tool lets you see all Registry activity in real-time.
Security Utilities
AccessChk
This tool shows you the accesses the user or group you specify has to files, Registry keys or Windows services.
AccessEnum
This simple yet powerful security tool shows you who has what access to directories, files and Registry keys on your systems. Use it to find holes in your permissions.
Autologon
Bypass password screen during logon.
Autoruns
See what programs are configured to startup automatically when your system boots and you login. Autoruns also shows you the full list of Registry and file locations where applications can configure auto-start settings.
LogonSessions
List active logon sessions
NewSID
Learn about the computer SID problem everybody has been talking about and get a free computer SID changer, NewSID.
Process Explorer
Find out what files, registry keys and other objects processes have open, which DLLs they have loaded, and more. This uniquely powerful utility will even show you who owns each process.
PsExec
Execute processes with limited-user rights.
PsLoggedOn
Show users logged on to a system
PsLogList
Dump event log records.
PsTools
The PsTools suite includes command-line utilities for listing the processes running on local or remote computers, running processes remotely, rebooting computers, dumping event logs, and more.
RootkitRevealer
Scan your system for rootkit-based malware
SDelete
Securely overwrite your sensitive files and cleanse your free space of previously deleted files using this DoD-compliant secure delete program.
ShareEnum
Scan file shares on your network and view their security settings to close security holes.
Sigcheck
Dump file version information and verify that images on your system are digitally signed.
System Information
Autoruns
See what programs are configured to startup automatically when your system boots and you login. Autoruns also shows you the full list of Registry and file locations where applications can configure auto-start settings.
ClockRes
View the resolution of the system clock, which is also the maximum timer resolution
Filemon
This monitoring tool lets you see all file system activity in real-time.
Handle
This handy command-line utility will show you what files are open by which processes, and much more
LiveKd
Use Microsoft kernel debuggers to examine a live system.
LoadOrder
See the order in which devices are loaded on your WinNT/2K system
LogonSessions
List the active logon sessions on a system
PendMoves
Enumerate the list of file rename and delete commands that will be executed the next boot
Process Explorer
Find out what files, registry keys and other objects processes have open, which DLLs they have loaded, and more. This uniquely powerful utility will even show you who owns each process.
Process Monitor
Monitor file system, Registry, process, thread and DLL activity in real-time.
ProcFeatures
This applet reports processor and Windows support for Physical Address Extensions and No Execute buffer overflow protection.
PsInfo
Obtain information about a system
PsLoggedOn
Show users logged on to a system
PsTools
The PsTools suite includes command-line utilities for listing the processes running on local or remote computers, running processes remotely, rebooting computers, dumping event logs, and more.
Regmon
This monitoring tool lets you see all Registry activity in real-time.
Winobj
The ultimate Object Manager namespace viewer is here.
Miscellaneous Utilities
AdRestore
Restore tombstoned Active Directory objects in Server 2003 domains.
Autologon
Bypass password screen during logon.
BgInfo
This fully-configurable program automatically generates desktop backgrounds that include important information about the system including IP addresses, computer name, network adapters, and more.
BlueScreen
This screen saver not only accurately simulates Blue Screens, but simulated reboots as well (complete with CHKDSK), and works on Windows NT 4, Windows 2000, Windows XP, Server 2003 and Windows 9x.
Ctrl2cap
This is a kernel-mode driver that demonstrates keyboard input filtering just above the keyboard class driver in order to turn caps-locks into control keys. Filtering at this level allows conversion and hiding of keys before NT even "sees" them. Ctrl2cap also shows how to use NtDisplayString() to print messages to the initialization blue-screen.
DebugView
Another first from Sysinternals: This program intercepts calls made to DbgPrint by device drivers and OutputDebugString made by Win32 programs. It allows for viewing and recording of debug session output on your local machine or across the Internet without an active debugger.
Hex2dec
Convert hex numbers to decimal and vice versa.
PsTools
The PsTools suite includes command-line utilities for listing the processes running on local or remote computers, running processes remotely, rebooting computers, dumping event logs, and more.
PsLogList
Dump event log records.
RegDelNull
Scan for and delete Registry keys that contain embedded null-characters that are otherwise undeleteable by standard Registry-editing tools.
Regjump
Jump to the registry path you specify in Regedit.
Strings
Search for ANSI and UNICODE strings in binary images.
ZoomIt
Presentation utility for zooming and drawing on the screen.
You may find some redundancy but some tools has multiple capabilities.
Labels:
Sysinternals,
Tools,
Windows
Thursday, May 03, 2007
Establish Database Connection with Perl
It's been a while since I use Perl to connect to a database and my memory about it has faded long ago. But now since I'm no longer purely involve in web development so I thought this method could be useful. Let see how it goes.
To cut the chase, here is the sample code
DBI is Perl's DataBase Interface. There are many different databases: Oracle, mSQL, MySQL, Ingres... even files containing data separated by columns could be considered databases. DBI works with practically all of them. DBI requires a database driver module to talk to the database. The driver module handles all of the details about connecting to and communicating with the database. DBI sits on top of the driver; its job is to make reading from (and writing to) all databases as similar as possible. That way, if your project grows from something that could be handled with mSQL to something needing Oracle, you can make that change without altering the code very much.
Database driver modules are Perl modules like any other, and often they contain documentation. They are all inside the root package DBD. So, to get information on an Oracle driver you've installed, you can type:
Other than installing the module, and possibly reading the documentation, you rarely need to deal directly with the database driver module. DBI handles all of that.
To cut the chase, here is the sample code
use strict;
use DBI;
# Connect to the database
# See footnote 1
my $dbh = DBI->connect('DBI:mysql:my_database', 'my_username', 'my_password')
or die "Couldn't open database: $DBI::errstr; stopped";
# Prepare the SQL query for execution
my $sth = $dbh->prepare(<execute() or die "Couldn't execute statement: $DBI::errstr; stopped";
# Fetch each row and print it
while ( my ($field1, $field2, $field3) = $sth->fetchrow_array() ) {
print STDOUT "Field 1: $field1 Field 2: $field2 Field 3: $field3\n";
}
# Disconnect from the database
$dbh->disconnect();
DBI is Perl's DataBase Interface. There are many different databases: Oracle, mSQL, MySQL, Ingres... even files containing data separated by columns could be considered databases. DBI works with practically all of them. DBI requires a database driver module to talk to the database. The driver module handles all of the details about connecting to and communicating with the database. DBI sits on top of the driver; its job is to make reading from (and writing to) all databases as similar as possible. That way, if your project grows from something that could be handled with mSQL to something needing Oracle, you can make that change without altering the code very much.
Database driver modules are Perl modules like any other, and often they contain documentation. They are all inside the root package DBD. So, to get information on an Oracle driver you've installed, you can type:
perldoc DBD::Oracle
Other than installing the module, and possibly reading the documentation, you rarely need to deal directly with the database driver module. DBI handles all of that.
Friday, April 06, 2007
Top 20 Most Downtime Sites
I got this report from Pingdom for 2007. The sites is ranked by Alexa. Now I have another excuse for not updating my blog.
Labels:
Ping
Monday, March 26, 2007
There Are Heroes Among Us
Can you imagine spending 18 hours watching a TV series just because you want to see how the story would end? I don't have to and it's not the first time either. I spent the entire weekend watching Heroes on my notebook starting from right after I sent my kids to bed until the next afternoon.It's fantastic story but to my disappointments, the story is far from end. I'm forever haunted by the Heroes ending episode.
My buddy is responsible for my restless mind because he's the one who recommend this series. It's like a plague, one started I just couldn't stop. I guess all I have to do is wait and by the meantime, checkout this YouTube version of heroes called Zeroes. Some say it was produced by NBC itself.
Wednesday, March 21, 2007
VISTA Compatibility Issues Driver on Dell Notebook: Sonic Solutions DLA
If you buy a new Dell Notebook recently, perhaps this annoying pop-up message from VISTA's Program Compatibility Assistant is haunting you each time you start your Vista...
I've kept pressing 'Check for solutions online' for weeks but there is no solutions suggested by Microsoft. So much of "ASISTANT". I guess if you want to get thing right and fast you must get it your own. So today, the pop-message really pissed me off and I found the solution for this problem with just a query from Google.
So if you have the same problem like mine, all you have to do is go straight to this link http://kb.roxio.com/content/kb/Creator/000131CR and read their instruction. It's a patch for Roxio Drag-Drop program. Run the program, restart and my problem solved.
I've kept pressing 'Check for solutions online' for weeks but there is no solutions suggested by Microsoft. So much of "ASISTANT". I guess if you want to get thing right and fast you must get it your own. So today, the pop-message really pissed me off and I found the solution for this problem with just a query from Google.
So if you have the same problem like mine, all you have to do is go straight to this link http://kb.roxio.com/content/kb/Creator/000131CR and read their instruction. It's a patch for Roxio Drag-Drop program. Run the program, restart and my problem solved.
Labels:
Roxio,
Troubleshoot,
Windows Vista
Saturday, March 17, 2007
Two Weeks Training Completed
It was a full 2 weeks training course held here in Kuala Lumpur. For me this course is a must before venturing further on Tera GN3 system. Some how, the system documentation didn't cover all aspect or perhaps the best way to learn is to have a real teacher. In this case our trainer is specially flew from Italy. I wish it's the other way round but I guess it's not a cost effective.
TeraDP send Marco Migliavada to train all 9 of us. With thick Italian accent, we finally complete the training today. With most part the system covered, I think the real job is awaiting.
TeraDP send Marco Migliavada to train all 9 of us. With thick Italian accent, we finally complete the training today. With most part the system covered, I think the real job is awaiting.
Labels:
Tera
Tuesday, February 27, 2007
osCommerce, CRE Loaded or Zen Cart
If you're looking for a free shopping cart, you might be wondering which of these cart is the best suit your needs; osCommerce, CRE Loaded or Zen Cart? Below is a quote from a forum that relates this three applications.
I've installed osCommerce and CRE Loaded before but Zen Cart is still new to me. I like some of the Zen Cart's powered shopping cart and I just can't wait to play with it.
You have the Open Source Community which made osCommerce as a shopping cart. Then more features and installs were provided by the community which made later versions of osCommerce. Then still more features are added at the .org site. Next, some groups realized that people kept wanting some core set of modules and features installed on their oscommerce sites. So you have CRE Loaded. (the Chain Reaction Edition of osCommerce "loaded" with many of the features and modules). Then the CRE project has a split and Zen Cart is born. From there, Zen Cart goes on its own path and CRE Loaded goes on its path (not totally different, but both are great and have their own style). You also have VirtueMart which is osCommerce cart combined with CMS like Joomla/Mambo.
I've installed osCommerce and CRE Loaded before but Zen Cart is still new to me. I like some of the Zen Cart's powered shopping cart and I just can't wait to play with it.
Monday, February 26, 2007
My First Windows Vista
When I had to buy a notebook for my wife last week, it's clear that this is my chance to test out the new OS from Microsoft, Windows Vista. Yeah it's a risky move but I believe eventually we all have to face it sooner or later. Remember the moment when you had to change to Windows XP? This is exatcly the same situation. Read on.
We decided to buy the Dell Inspiron 640m. I like XPS better but my missus reminded me about the budget so I had to stick with the budget range. Next step is the OS selection. This is where I had my first confusion, to choose which version of Vista is suitable for us. They have 5 version of Vista (official Microsoft page), but I believe Dell offered 6 type of Vista. Since this is my first Vista experience, so I simply pick Vista Home Premium. It said something to do with AERO experience (what the heck is that?) Later I found out that it's a redesigned user interface and visual style developed by the Microsoft.
The moment I get my hand on this OS, I start installing all my usual stuff; WampServer, Yahoo IM, Firefox, Opera, SQLyog, Photoshop CS, SPSS and Zend Develeopment Environment. The WampServer 5 had no big issue with Vista however I can't figure out how to install their services. Now SPSS is a different story. I just can't figure how to to install it. I tried to install SPSS from edition 10 to 14 but Vista just rejected it all.
As for the Photoshop CS2, when I first launch the program, it terminate itself right after launching the software activation program. Simply run the program as administrator by right clicking the program icon and select 'run as administrator' to overcome this problem.
Oh well, it's all as I expected. There is always a glitch every time when you want to migrate from one system to another. As for the Windows Vista, if your programs aren't working, I mean almost all of them, perhaps Vista is the last options on your list.
I read lots of negative comment about Vista, some are being cynical but for the rest of us, we just don't care.
We decided to buy the Dell Inspiron 640m. I like XPS better but my missus reminded me about the budget so I had to stick with the budget range. Next step is the OS selection. This is where I had my first confusion, to choose which version of Vista is suitable for us. They have 5 version of Vista (official Microsoft page), but I believe Dell offered 6 type of Vista. Since this is my first Vista experience, so I simply pick Vista Home Premium. It said something to do with AERO experience (what the heck is that?) Later I found out that it's a redesigned user interface and visual style developed by the Microsoft.
The moment I get my hand on this OS, I start installing all my usual stuff; WampServer, Yahoo IM, Firefox, Opera, SQLyog, Photoshop CS, SPSS and Zend Develeopment Environment. The WampServer 5 had no big issue with Vista however I can't figure out how to install their services. Now SPSS is a different story. I just can't figure how to to install it. I tried to install SPSS from edition 10 to 14 but Vista just rejected it all.
As for the Photoshop CS2, when I first launch the program, it terminate itself right after launching the software activation program. Simply run the program as administrator by right clicking the program icon and select 'run as administrator' to overcome this problem.
Oh well, it's all as I expected. There is always a glitch every time when you want to migrate from one system to another. As for the Windows Vista, if your programs aren't working, I mean almost all of them, perhaps Vista is the last options on your list.
I read lots of negative comment about Vista, some are being cynical but for the rest of us, we just don't care.
Labels:
Windows Vista
Subscribe to:
Posts (Atom)