Saturday, August 29, 2009

Windows installation DVD to flash drive installation

WinToFlash can transfer Windows XP, Vista, and 7 onto a flash drive as well as Server 2003 and 2008. WinToFlash can also transfer Windows Preinstallation Environments to flash drive.

The process is simple and mostly obvious. You tell WinToFlash where the installation files you want to transfer are located and either let the transfer wizard take care of things, or specify settings like what kind of format the flash drive will undergo. In our test using a USB 2.0 generic flash drive it took about 12 minutes to turn a Windows 7 installation DVD into a USB-based installer.

http://wintoflash.com/home/en/

Read More...

Wednesday, August 26, 2009

Quick Sort

ကြန္ပ်ဴတာ သိပၸံ (Computer Science) ေလ့လာသူေတြနဲ႕ သတင္းနည္းပညာ (IT) ေလ့လာသူေတြအတြက္ အစီအစဥ္ဆြဲနည္း (Programming) သင္ခန္းစာေတြမွာ မပါမျဖစ္ကေတာ့ အခ်က္အလက္မ်ားကုိ စီျခင္း (Sorting) အစီအစဥ္ပါပဲ။ Sorting စီတဲ့ နည္းလမ္းစဥ္ (Algorithm) အမ်ိဳးေပါင္း ေျမာက္မ်ားစြာ ရွိတဲ့အထဲက Bubble Sort, Counting Sort, Insertion Sort, Selection Sort နဲ႕ Quick Sort တုိ႕ဟာ ထင္ရွားပါတယ္။ (စာေရးသူ အႀကိဳက္ဆံုးကေတာ့ Selection Sort ျဖစ္ၿပီး အေၾကာင္းရင္းကေတာ့ နားလည္ရလြယ္လြန္းလုိ႕ ျဖစ္ပါတယ္။) ဒါေပမဲ့ လက္ေတြ႕ဘ၀မွာ အသံုး၀င္တာကေတာ့ နားလည္ရခက္၊ ေရးရတာ လက္၀င္တဲ့ Quick Sort ေလ။ ေရးလုိက္ၾကတဲ့ အစီအစဥ္ေတြတုိင္းမွာ စီစရာ (object, data type) တစ္မ်ိဳး ေပၚလာတုိင္း Quick Sort ကုိ တစ္ခါ ထထ ေရးရမယ္ ဆုိတာကေတာ့ လြန္လြန္းပါတယ္။ ဒါေၾကာင့္ C/C++ စံသတ္မွတ္ခ်က္မွာ Array အားလံုးကို စီႏုိင္ဖုိ႕ qsort ဆုိတဲ့ function ပါေနတာ ျဖစ္ပါတယ္။ ဒီေဆာင္းပါးမွာ အဲဒီ qsort ကုိ အသံုးျပဳနည္းကို ေရးသားေပးမွာ ျဖစ္ပါတယ္။

qsort ရဲ႕ သတ္မွတ္ခ်က္မွာ အစီအစဥ္ေရးသားသူ (programmer) ဒါမွမဟုတ္ ကုဒ္ဒါကို ၿခိမ္းေျခာက္ေနတာကေတာ့ pointer ေတြပါပဲ။ ရုိးရုိး Data Pointer ေတြတင္မကပဲ Function Pointer ႀကီးပါ ပါေနေတာ့ Pointer ဆုိရင္ ေက်ာစိမ့္ေနၾကလူေတြ လန္႕ကုန္တာ မဆန္းပါဘူး။ ဒါေပမဲ့ အေက်ာသိရင္ လြယ္လြယ္ကေလးပါ။ qsort ရဲ႕ အဓိပၸါယ္ သတ္မွတ္ခ်က္ကို အရင္ၾကည့္ရေအာင္ေနာ္။

void qsort ( void * base, size_t num, size_t size, int ( * comparator ) ( const void *, const void * ) );

ပထမဆံုး return type ကေတာ့ ဒီ function ဟာ return မျပန္ပါဘူးလုိ႕ အဓိပၸါယ္ရပါတယ္။ ဆုိလုိတာက ေပးလိုက္တဲ့ array ကုိ စီပဲ စီေပးမယ္။ ဘာ ဂဏန္းမွ တြက္ၿပီး အေျဖမထုတ္ေပးပါဘူးေပါ့။

ပထမဆံုး parameter က စီရမဲ့ array ရဲ႕ ပထမဆံုးအကြက္ရဲ႕ လိပ္စာ (address) ပါ။ အမ်ားေၾကာက္တဲ့ pointer ေပါ့။ Array အားလံုးဟာ Fix Pointer ေတြ ျဖစ္တဲ့အတြက္ စိတ္ခ်လက္ခ်ပဲ array name ကုိ ျဖည့္လုိက္လုိ႕ရပါတယ္။

ဒုတိယ parameter ကေတာ့ Array ရဲ႕ အရြယ္အစား (size) ျဖစ္ပါတယ္။ C/C++ မွာ Array ရဲ႕ size ကုိ compile-time/run-time check မလုပ္ပဲ ကုဒ္ဒါကပဲ အၿမဲ ကုိင္တြယ္ ႀကီးၾကပ္ရတာမုိ႕ ဒါကို ထည့္ေပးရတာပါ။ ႏုိ႕မုိ႕ရင္ ဘယ္ႏွခု စီရမလဲ မသိပဲ ျဖစ္ေနမယ္ေလ။ ကုိယ့္ Array မွာ Element ၁၀ ခုပါရင္ 10 လုိ႕ထည့္ေပါ့။ Variable တစ္ခုခု ထည့္လုိ႕လဲ ရပါတယ္။

တတိယ parameter ကေတာ့ စီခ်င္တဲ့ Array Element တစ္ခုခ်င္းရဲ႕ အရြယ္အစားေပါ့။ အဲဒါမွ အဲဒီ မွတ္ဥာဏ္တံုးႀကီး (memory block) ေတြကို ေရႊ႕လုိ႕ရမယ္ေလ။ ဒါလဲ မခက္ပါဘူး။ sizeof(element) လုိ႕ ေပးလုိက္ရင္ရပါတယ္။

စတုတၳနဲ႕ ေနာက္ဆံုး parameter ကေတာ့ နည္းနည္း ရွင္းျပရ လက္၀င္ပါတယ္။ ဒါဟာ Function Pointer ႀကီးျဖစ္ပါတယ္။ ကုိယ့္ဘာသာကုိယ္ သတ္မွတ္ထားတဲ့ Element ေတြကို ႏိႈင္းယွဥ္ခ်င္ရင္ ဒီ Function နဲ႕ တြက္ဆုိၿပီး ေျပာရတဲ့ သေဘာပါ။ (ေနာက္တမ်ိဳးေျပာရရင္ အဲဒီ Function ႀကီးကုိ qsort ကေန လွမ္းေခၚမွာ ျဖစ္ပါတယ္။ အဲဒီ Function ႀကီးက qsort ဆီကုိ ေရွ႕ကေကာင္က ငယ္ရင္ အႏႈတ္ကိန္း၊ တူရင္ သုည၊ ႀကီးရင္ အေပါင္းကိန္း တစ္ခုခု return ျပန္ရပါမယ္။) အဲဒီ Function ႀကီးရဲ႕ ပံုစံကလဲ

int function_name(const void* a, const void* b);

ပဲျဖစ္ရပါမယ္။ ပုိနားလည္လြယ္ေအာင္ ဥပမာေလးနဲ႕ ၾကည့္ရေအာင္ေနာ္။

ဥပမာ ၀န္ထမ္းေတြကို လစာ အမ်ားဆံုးကေန အနည္းဆံုးကို စီၿပီးသား အစီရင္ခံစာထုတ္ေပးတဲ့ အစီအစဥ္ကုိ လုိခ်င္တယ္။ တကယ္လုိ႕ လစာတူေနရင္ လုပ္သက္ရင့္တဲ့လူကုိ ေရွ႕မွာ ထားခ်င္တယ္ ဆုိပါစုိ႕။ ဒါဆုိရင္ ၀န္ထမ္းေတြရဲ႕ အခ်က္အလက္ေတြကုိ သိမ္းဖုိ႕ class တစ္ခု ေဆာက္ရပါမယ္။

class employee{

int experience; //in year

float salary; //in kyat

/* Blar Blar Blar */

public:

bool operator < (employee &e) { If(this->salary == e.salary) return (this->experience <>salary < temp_e =" (employee*)" temp_f =" (employee*)">' ကုိ ဒီလုိေလး temp_e->my_emp_function() ဆုိၿပီးေတာ့ သံုးေပးရပါမယ္။) အဲဒီ '*' ေလးကို ထည့္ၿပီး operator '>' နဲ႕ ႏိႈင္းယွဥ္လုိ႕ရလာတဲ့ အေျဖေပၚမူတည္ၿပီး -1 သုိ႕မဟုတ္ +1 ကို qsort အတြက္ return ျပန္ေပးလုိက္ရပါမယ္။

ဒီ Function ေလးေရးလုိ႕ အခ်ိဳးေျပသြားၿပီဆုိရင္ေတာ့ qsort ကုိ စိတ္ေအးခ်မ္းသာ အသံုးျပဳႏုိင္ပါၿပီ။ (employee ရဲ႕ private member ေတြကို accessor method ေတြကေနတဆင့္ ေခၚထားတာ သတိျပဳပါ။ တကယ္တမ္း ေရးတဲ့အခါက်ေတာ့ သတိလက္လြတ္ ဒီတုိင္း ေရးမိတတ္ပါတယ္။ အဲဒီလုိေရးခ်င္ရင္ေတာ့လဲ friend လုပ္လုိက္ေပါ့ဗ်ာ၊ ေနာ။) ေအာက္မွာက main Function ပါ။

/* preprocessor Yada Yada Yada */

void main(void)

{

employee myEmployeeArray[NUM_OF_EMPLOYEE];

/* input data into myEmployeeArray */

qsort(myEmployeeArray, NUM_OF_EMPLOYEE, sizeof(employee), employee_comparer);

/* output sorted myEmployeeArray */

}

qsort ကုိ လြယ္လြယ္ေခၚၿပီး ကုဒ္ဒါအေပါင္း သက္သာၾကပါေစေၾကာင္း …


Source : ကိုေလာရွည္ blog http://opera.lawshay.com/2009/08/quick-sort-sorting.html

Read More...

Sunday, August 23, 2009

Internet Explorer 8: What You Need to Know

Improved Tabs and Address Bar:
For basic browsing, the biggest improvement in IE is its tab handling,For basic browsing, the biggest improvement in IE is its tab handling. It's the kind of feature you may not notice much at first, but it's one that goes a long way toward making your browsing life far easier.
If you commonly use multiple tabs, you'll particularly welcome the way IE handles them. When you open a new tab from an existing page, the new one opens directly to the right of the originating one, and both tabs are given the same color. That way, all related tabs are automatically grouped and color-coded. If you open a new tab from a page that is already part of a group, it will open at the far right of the group, rather than just to the right of the originating tab. It will also be color-coded.

http://www.pcworld.com/article/161532/internet_explorer_8_a_complete_review.html?tk=rel_news

Read More...

Microsoft's Browser Best at Beating Malware

Microsoft's Internet Explorer 8 (IE8) again trounced rival browsers in a test of their malware-blocking abilities, catching 81% of attack code-infected sites, according to a testing company.
IE8's improvement, and its dominance over competitors, could make some users reconsider their decision to abandon Microsoft's browser for one of its challengers. "Should people rethink that decision?" Moy asked. "By [this] data, absolutely."
While IE8 blocked eight of 10 of the malware-distributing sites that NSS included in its 12-day test, the nearest competitor, Mozilla's Firefox 3.0, caught just 27% of the same sites. Apple's Safari 4.0 and Google's Chrome 2.0, meanwhile, blocked only 21% and 7% of the sites, respectively. Opera Software's browser properly identified only 1%.

The tests did not include sites that launch "drive-by" attacks that don't require user interaction, an increasingly common tactic by hackers who often infect legitimate sites with kits that try a number of different exploits in the hope of compromising an unpatched browser or PC.
To defend against the kind of sites that NSS tested, browser makers have added anti-malware features to their software. Microsoft, for instance, has aggressively touted its SmartScreen Filter, a new malware-detection feature in IE8.
Soruce: http://www.pcworld.com/article/170260/microsofts_browser_best_at_beating_malware.html

Read More...

Friday, August 21, 2009

Windows 7 VHD

The most exciting feature for me in Windows 7 is the ability to boot to a Virtual Hard Disk (VHD). Booting from VHDs means booting the machine as if running from primary hard disk so your operating system will leverage all the hardware available in your system like Graphics, Wireless, USB etc.
How to Create a Windows 7 VHD at Boot to Start with from Boot

http://www.sevenforums.com/tutorials/2953-virtual-hard-drive-vhd-file-create-start-boot.html

Read More...

Wednesday, August 19, 2009

pidgin 2.6

Windows/Mac/Linux: Pidgin has released 2.6, catching up to the video, audio, and file transfer offerings of Google Talk, Yahoo, and others.

The big new feature in the 2.6 releases—already at a bug-fixing 2.6.1 as this is written—is video and voice chat support over XMPP, known primarily as the Jabber/Google Talk protocol.
http://pidgin.im/

Read More...

Sunday, August 9, 2009

Zawgyi 2009 Beta

ေဇာ္ဂ်ီ ၂၀၀၈ နဲ့ ၂၀၀၉ ဘာကြာသလဲ။၂၀၀၉ သံုးလုိက္ရင္ ၂၀၀၈ က ဘာေတြ ျဖစ္ကုန္မလဲ။ ၂၀၀၉ မသံုးရင္ေကာ မရဘူးလား။ စသည္ စသည္ ေမးခြန္းမ်ားစြာအတြက္ သိသေလာက္ ေရးလိုက္ရပါတယ္။

၁။ Rendering ပါျခင္း နွင့္ မပါျခင္း။

၂၀၀၈ ေတြက rendering မပါပါဘူး။ ဒါေျကာင့္ နွစ္ ဆိုတဲ့ စာလံုးအတြက္ န က နွစ္ခုျဖစ္ေနရတယ္။ ျ– ေတြကလည္း ၆ ခုျဖစ္ေနတယ္။ user ေတြအေနနဲ့ က နဲ့ တြဲမယ့္ ျ– လား ခ နဲ့ တြဲမယ့္ ျ– လား ဆိုျပီး စဥ္းစားျပီး ရိုက္ေနရပါတယ္။ ဒါေပမယ့္လည္း လူတိုင္း ရိုက္နိုင္ျကပါတယ္။ အဲလိုပဲ ရ ကလည္း ၂ မ်ုိးေလာက္ျဖစ္ေနတယ္ေလ။ ေနာက္ျပီး —ါ္ အတြက္ ၂၀၀၈ မွာက တစ္ခုတည္းေလ။

၂၀၀၉ မွာကေတာ့ တစ္မ်ုိးတည္းထားရိွျပီး rendering ထည့္သြင္းထားပါတယ္။ ဒါေျကာင့္ န က တစ္မ်ုိးတည္း ျ– ကလည္း တစ္မ်ုိးတည္းနဲ့ အလုပ္ျဖစ္တယ္။ ဒါေပမယ့္ rendering engine မပါရိွတဲ့ device ေတြမွာ အလုပ္ေတာ့ လုပ္မွာ မဟုတ္ဘူးဗ်။ rendering မပါရိွတဲ့ device ေတြနဲ့ေတာ့ ကြ်န္ေတာ္လည္း မစမ္းဖူးဘူး။ ရိွတဲ့လူေတြ စမ္းျကည့္ေပါ့။ ခက္တာက phone ဆိုလို့လည္း windows mobile နဲ့ iphone ပဲ font ထည့္လုိ့ အဆင္ေျပတာ။ လက္ရိွ ၂၀၀၉ နဲ့ အဆင္ေျပလား ဆိုတာ ကြ်န္ေတာ္သိခ်င္ပါတယ္။

၂။ Storage ေတြ ကြာသြားတယ္။

၂၀၀၈ တုန္းက ပါဌ္ဆင့္ေတြကို code တစ္ခုတည္းနဲ့ သိမ္းခဲ့ေပမယ့္ ၂၀၀၉ မွာေတာ့ code ၂ ခုနဲ့ သိမ္းပါတယ္။၂၀၀၈ တုန္းက ျ– အတြက္ storage က ၆ မ်ုိးေလာက္ရိွေပမယ့္ ၂၀၀၉ မွာကေတာ့ ၁ မ်ုိးတည္းျဖစ္သြားတယ္ေလ။ ေနာက္ျပီး ပါဌ္ဆင့္ သိမ္းပံုကြာသြားတယ္။ ၂၀၀၈ တုန္းက ပါဌ္ဆင့္အတြက္ စာလံုး တစ္လံုး ပဲ သိမ္းေပမယ့္ ၂၀၀၉ မွာကေတာ့ စာလံုး ၂ လံုး သိမ္းပါတယ္။ က ပါဌ္ဆင့္ဆိုရင္ `(u103f)+u(u1000) ဆိုျပီး ၂ ခုသိမ္းသြားတယ္။ တနည္းေျပာရင္ က ပါဌ္ဆင့္ထဲမွာ က တန္ဖိုးပါေနတဲ့အတြက္ searching ေတြအတြက္ ေတာ္ေတာ္အဆင္ေျပလာလိမ့္မယ္။ သေဘာက က ဆိုတဲ့ တန္ဖိုးကိုရွာတဲ့အခါမွာ ပါဌ္ဆင့္ ထဲမွာပါတဲ့ က တန္ဖိုးပါ ရွာလာနိုင္တာေပါ့။ ေနာက္ျပီး ျ– ေတြ တစ္မ်ုိးတည္းျဖစ္သြားတဲ့အတြက္ေျကာင့္ searching ပိုင္းမွာ ပိုလြယ္သြားတယ္။

၃။ Zip လုပ္ရင္ Size ကြာတယ္။

ေနာက္ျပီး ၂၀၀၈ နဲ့ ၂၀၀၉ ကို ယွဥ္ျပီး zip ခ်ုံ့ျကည့္လုိက္ရင္ ၂၀၀၉ က ၂၀၀၈ ထက္ အမ်ားျကီး က်ုံ့တာကို ေတြ့ရမွာပါ။ ဘာလို့လည္းဆိုေတာ့ သူ့မွာက value ေတြက တစ္ခုတည္းျဖစ္တာ မ်ားတာေျကာင့္ပါ။ ဥပမာ ျခ နဲ့ ျက အတြက္ ၂၀၀၈ မွာ zip လုပ္တဲ့အခါ ျ– အေသး တစ္ခု ျ– အျကီး တစ္ခု ဆိုျပီးျဖစ္ေနတာ့ compress key 2 ခု သံုးရတယ္။ ၂၀၀၉ မွာေတာ့ ျ– အေသး နဲ့ ျ–အျကီး အတူတူပဲဆိုေတာ့ compress key က ၁ ခုတည္းနဲ့ အဆင္ေျပသြားတယ္။ ဒါေျကာင့္ value ေတြ မ်ားလာရင္ ၂၀၀၈ နဲ့ ၂၀၀၉ မွာ ၂၀၀၉ က ပိုျပီး ခ်ုံ့နိုင္တယ္။ ဒါေပမယ့္ စာလံုး ၁၀၀၀၀ ေလာက္ရိွတဲ့ text file ျပိုင္ဖြင့္ရင္ေတာ့ ၂၀၀၈ က ပိုျမန္မယ္ထင္တယ္။ ဘာလို့လည္းဆိုေတာ့ ၂၀၀၉ မွာ rendering ပါတဲ့အတြက္ စာလံုး ေရြွ့ရတာေလးေတြရိွတယ္။

၄။ Font Embed in Browser

၂၀၀၉ font size က 54 KB ပဲရိွတယ္။ ၂၀၀၈ ကေတာ့ 336 KB ရိွတယ္။တနည္းေျပာရင္ font embed အတြက္ဆို ၂၀၀၉ က အမ်ားျကီး ပိုေကာင္းတာေပါ့။ 336 KB နဲ့ 54 KB ဆိုတာ 6 ဆ ေလာက္ ကြာတယ္။ ဒါေျကာင့္ ၂၀၀၉ ကိုေျပာင္းျခင္းအားျဖင့္ font embed အတြက္ အရမ္းသင့္ေတာ္တယ္။

၅။ Keymaster (normalization)

အခု ၂၀၀၉ အတြက္ ကိုစိုးမင္းက keymaster ဆိုတာ လုပ္ေနတယ္။ ကိုယ့္ေရးထားစာကို normalization အေနာက္ကေန background လုပ္ေပးသြားနိုင္တယ္။ က–ိ–ု ပဲ ရိုက္ရိုက္ က–ု–ိ ပဲရိုက္ရိုက္ က–ိ–ု ကို အလိုလိုေရြွ့ေပးသြားမယ္။ အသံုးျပုသူအေနနဲ့ သိေနစရာမလုိေတာ့ဘူး။ ဒါဟာ content searching ေတြအတြက္ အေရးပါလာနိုင္တယ္။ ၂၀၀၈ မွာဆိုရင္ေတာ့ အဲဒီ feature ကို အသံုးျပုနိုင္မွာ မဟုတ္ဘူးဗ်။

၆။ Search Result

လက္ရိွမွာေတာ့ Google Search မွာ ၂၀၀၈ content ေတြကိုပဲရွာနိုင္ေသးတယ္။ ၂၀၀၉ နဲ့ ရွာရင္ ေတြ့ခ်င္မွ ေတြ့မယ္။ result တူခ်င္မွ တူမယ္။ ဘာလို့လည္းဆိုေတာ့ ကြ်န္ေတာ္ အေပါ္မွာေျပာထားခဲ့သလို storage ကြာသြားတယ္။ ၂၀၀၉ keyboard နဲ့ ရိုက္ရွာရင္ ေတြ့အံုးမွာမဟုတ္ဘူးဗ်။ ေနာက္ပိုင္းေတာ့ ေတြ့လာမွာပါ။ ဘာလုိ့လည္းဆိုေတာ့ ၂၀၀၉ က ၂၀၀၈ ထက္စာရင္ ရိုက္ရတာ အမ်ားျကီး လြယ္တယ္။ ေနာက္ျပီး ပိုမို တိက်တဲ့ search result ေတြ ထြက္လာနိုင္တယ္။ ဘယ္လိုမ်ုိးလဲဆိုေတာ့ ၂၀၀၈ ဆိုရင္ ျကိုး ဆိုတဲ့စာလံုးအတြက္ ျ– အျကီးက ၂ မ်ုိး သံုးတယ္။ အေပါ္ျပတ္တဲ့ဟာ နဲ့ ရိုးရိုးပံုမွန္ဟာနဲ့ေပါ့။ ဒါေျကာင့္ result က တိက်မွုမရနိုင္ဘူး။ အဲလိုပဲ –့ က ၄ ခုေလာက္ရိွတဲ့အတြက္ တိက်တဲ့ result ထြက္ဖို့ခက္တယ္။ ၂၀၀၉ က storage တစ္ခုပဲ သံုးတဲ့အတြက္ေျကာင့္ result ပိုင္းမွာ ပိုတိက်လာနိုင္တဲ့အတြက္ေျကာင္ ့၂၀၀၉ ကို ေနာက္ပိုင္း လူသံုးပိုမ်ားလာနိုင္ေခ်ရိွတယ္။ အခု ကြ်န္ေတာ္ ornagai မွာ 2008 နဲ့ပဲရိုက္ရိုက္ ၂၀၀၉ နဲ့ပဲရိုက္ရိုက္ same result ရေအာင္ေတာ့ ဖန္တီးေပးျပီးပါျပီ။ ဒါေပမယ့္ မတင္ရေသးပါဘူး။

ကြ်န္ေတာ္ သိသေလာက္ မွတ္သေလာက္ ကြာျခားခ်က္ေလးေတြ ေရးျပီးပါျပီ။ အျခား အသံုးဝင္မယ္ထင္တဲ့ဟာေလးေတြကေတာ့

ေဇာ္ဂ်ီ ၂၀၀၈ ကို ၂၀၀၉ လြယ္လြယ္ေျပာင္းလုိ့ရလား။

ရပါတယ္။ python 2.6 သြင္းထားတယ္ဆိုရင္ေတာ့ လြယ္လြယ္ေလးေျပာင္းလုိ့ရတယ္။လိပ္စာကေတာ့

http://newzawgyi.googlecode.com/svn/migration.zawgyi.original.to.new/python/

wordpress ဆိုလည္း xml ကို export လုပ္ျပီး ေျပာင္းလုိက္ေပါ့။ ျပီးမွ ျပန္ import လုပ္ေပါ့။ အဲဒါက ေကာင္းတဲ့ နည္းေတာ့ မဟုတ္ဘူး။ ဘာလို့လည္းဆိုေတာ့ import မလုပ္ခင္ post အေဟာင္းေတြကို ဖ်က္ပစ္မွ ရမွာပါ။ ကြ်န္ေတာ့္ အေနနဲ့ အျကံေပးခ်င္တာကေတာ့ ကြ်န္ေတာ့္လိုမ်ုိး sql ကို export လုပ္ျပီး import ျပန္လုပ္တဲ့ နည္းပါ။ sql ကို export/import လုပ္မယ္ဆိုရင္လည္း ssh ရိွရင္ အရမ္းျမန္ပါတယ္။

mysql export

$mysqldump -uyour_usr -pyour_pwd -hlocalhost Wordpress_Database > mybackup.sql

ရလာတဲ့ sql ကို zip ျပန္လုပ္တဲ့ပံုကေတာ့

$zip -r mybackup_sql.zip mybackup.sql

အဲဒီရလာတဲ့ zip file ေလးကို download ခ်ျပီး ကိုယ့္ စက္ထဲမွာ Python နဲ့ ေျပာင္းလုိက္ေပါ့။ ျပီးရင္ .out file ေလးရမယ္။ အဲဒါကို upload တင္ျပီးေတာ့

mysql import

$mysql -uyour_usr -pyour_password -hlocalhost Wordpress_Dabatabase < mybackup.sql.out

အဲလိုဆိုရင္ ကိုယ့္ site တစ္ခုလံုး ၂၀၀၉ ကို ေျပာင္းသြားမွာပါ။ ကြ်န္ေတာ္ နည္းနည္းေလး အားတာနဲ့ wordpress ေျပာင္းဖုိ့အတြက္ php ေလးေရးေပးပါ့မယ္။ အဲဒါဆိုရင္ေတာ့ export import လုပ္စရာမလိုပဲ online မွာတင္ေျပာင္းလုိ့ရတာေပါ့။ connection ေကာင္းဖုိ့ေတာ့ လုိမယ္။ ဒီကလူေတြဆိုရင္လည္း နုိင္ငံျခားမွာ ရိွတဲ့ တစ္ေယာက္ေယာက္ကို ေျပာင္းခိုင္းလို့ရမွာပါ။ ေရးေတာ့ မေရးရေသးဘူး။

စာနည္းနည္းေလးပဲ ေျပာင္းခ်င္တာ။ ၂၀၀၉ မသြင္းထားလုိ့ ၂၀၀၉ က စာေတြကို ၂၀၀၈ နဲ့ ဖတ္ခ်င္တယ္။

အဲဒီအတြက္ ကြ်န္ေတာ္ online ကေန ေျပာင္းလို့ရတယ္။ ကိုစိုးမင္းရဲ့ python code အတိုင္း PHP နဲ့ ျပန္ေရးထားတယ္။

http://www.saturngod.net/project/zg829/

မွာ သြားေရာက္ အသံုးျပုနိုင္ပါတယ္။၂၀၀၈ ကေန ၂၀၀၉ ေျပာင္းတာေကာ ၂၀၀၉ ကေန ၂၀၀၈ ေျပာင္းတာအတြက္ပါ ထည့္ေရးေပးထားတယ္။

၂၀၀၉ သြင္းရင္ ၂၀၀၈ ကို ဖတ္လုိ့ရပါ့မလား။

၂၀၀၉ သြင္းထားရင္လည္း ၂၀၀၈ ကို ဖတ္လို့ရပါတယ္။၂၀၀၈ သြင္းထားရင္ေတာ့ ၂၀၀၉ က စာအားလံုးကို ဖတ္လို့ရမွာမဟုတ္ပါဘူး။

၂၀၀၉ ကို ဘယ္မွာ download ခ်ရမလဲ။

Font ကိုေတာ့

http://newzawgyi.googlecode.com/svn/font.file/

မွာ download ခ်နိုင္ပါတယ္။ အေပါ္ဆံုးက .ttf ေလးကို download ခ်ျပီး သြင္းယူနုိင္ပါတယ္။

keyboard ကိုေတာ့

http://newzawgyi.googlecode.com/svn/keyboard.windows.msklc.binary/

မွာ download ခ်နိုင္ပါတယ္။ ကြ်န္ေတာ့္စက္က 32 bit ျဖစ္ျပီး zawgyi style ပဲ ရင္းနီွးတဲ့ အတြက္ေျကာင့္

http://newzawgyi.googlecode.com/svn/keyboard.windows.msklc.binary/zawgyi-keyboard-i386-(Zawgyi-Style).zip

ကိုပဲ အသံုးျပုပါတယ္။

၂၀၀၉ က တရားဝင္ ေဇာ္ဂ်ီ font ျဖစ္လာမွာလား။ ကိုစိုးမင္း လက္ရိွ လုပ္ေနတာမဟုတ္ဘူးလား။

ကြ်န္ေတာ့္အထင္ကေတာ့ ျဖစ္လာမယ္ထင္တယ္ဗ်။ ဘာလို့လည္းဆိုေတာ့ ဒီေလာက္ ေကာင္းတဲ့ font ကို ေဇာ္ဂ်ီ အဖြဲ့က ျငင္းမွာမဟုတ္ပဲ လက္ခံျပီး ၂၀၀၉ အတြက္ www.zawgyi.net မွာ တင္မယ္လို့ထင္ပါတယ္။ အခုအခ်ိန္မွာ ၂၀၀၉ က အစအဆံုးမျပီးေသးတာေျကာင့္ www.zawgyi.net မွာ မတင္ေသးတာလည္း ျဖစ္နိုင္တယ္။ ကြ်န္ေတာ္ကေတာ့ ျဖစ္လာနိုင္တယ္လို့ ထင္ပါတယ္။ ယုံယံုျကည္ျကည္နဲ့ သံုးစြဲလို့ရတယ္။ ကိုစိုးမင္း လုပ္ထားတာ အရမ္းေကာင္းမြန္ေနတဲ့အတြက္ေျကာင့္ မသံုးရေသးသူေတြလည္း ေျပာင္းသံုးဖို့ အျကံေပးလိုပါတယ္။

ကဲ… ဒီေလာက္ဆို သိခ်င္တာေလးေတြ သိရျပီျဖစ္လုိ့ ေက်နပ္မယ္လို့လည္း ထင္ပါတယ္။

Read More...

Nero 9 Official Free Version

This free version of Nero 9 contains simply data burning and disc copying features for CDs and DVDs.

Take note that the freeware version will try and reset your default browser search page and install the Ask toolbar—
http://www.nero.com/eng/downloads-nero9-free.php

Read More...

Friday, August 7, 2009

Unary Operators

Not all operators in mathematics expressions are binary operators. Some are unary operators.

As you may guess, a unary operator accepts only one operand.
The positive sign and the negative sign are each unary operators. They accept only one value when they do arithmetic.
The positive sign looks a lot like the addition operator. For example, consider this expression:

+2

Is read 'positive two'. It does not really mean 'add two'.

What is happening here from an expression evaluation viewpoint is that the value of two represented by the number 2 is accepted as a single operand by the unary operator, '+', and that operation produces a value of positive two.

But, of course, the value of two represented by the number 2 is positive to start with, so, this operation is not too exciting, (no pun intended).

Obviously, '+2' and '2' each represent the same value. So, one can say that an 'invisible' positive sign can be imagined before any number, (or variable or function, for that matter).

As mentioned above, the negative, (or opposite), sign is a negative operator. Consider this expression:

-3

Technically, here the negative sign operator accepts a value of three as its operand and produces a value of negative three.

Obviously, '-3' and '3' represent different values. There are no invisible negative signs in mathematics expressions.

These two unary operations, '+' and '-', have precedence over all binary operations. To see this, let's look at a situation which is often termed a 'double negative' or stated as 'two negatives make a positive'. Consider this expression:

3 - -2

In this expression there are two operators that look like this: '-'. They are not the same. The first one, (left most), is the binary subtraction operator. The other, (right before the 2), is the unary negative sign operator.

From an expression evaluation viewpoint, things proceed as follows. The negative sign operator has precedence over the subtraction operator, so it accepts operands first. It accepts only one operand, since it is a unary operator. It accepts the value of two and produces a value of negative two. Now, the subtraction operator gets its chance to accept values. It takes the three and from it subtracts the negative two. This produces five, represented by the number 5, so we can write:

5 = 3 - -2

Now, this expression also equals five:

3 + 2

Since two expressions both equaling five equal each other we can write:

3 + 2 = 3 - -2

Although the expressions to the left and right of the equal sign above produce the same value, they each have quite a different story going on regarding the interaction of operators and operands.

So, the positive sign operator is not the addition operator, and the negative sign operator is not the subtraction operator.

But they look so much alike! Or do they?

Actually, the positive sign operator is often differentiated from the addition operator by making it a bit smaller and lifting it up a bit, as in:

+2 + +3

That would read 'positive two added to positive three'.

A similar visual difference is often used for the negative sign operator and the subtraction operator.

What was written above in the 'double negative' discussion:

3 - -2

Is much more clearly written this way:

3 - -2

That makes it very clear that the negative sign is a different operator than the subtraction operator. This last expression would be read 'three subtract negative two'.

There is really no 'double negative' here. One operation is binary subtraction, the other is unary negation. The combination of these in like expressions may evaluate to a value equal to a similar looking expression involving an addition operator, and an addition operator may look like a positive sign, but it is really not the best mathematics to explain the fact that:

3 + 2 = 3 - -2

Using terms like 'double negative' or 'two negatives make a positive'.

So, is there ever a double negative or do two negatives ever make a positive?

Well, yes, if there really are two negative sign operators present, (and not one subtraction operator and one negative sign operator). Consider this expression:

--2

Here there are two unary negative sign operators looking around, as we might say, for operands. They have equal precedence, so, which one accepts operands first?

Unlike the situation for binary operators where in situations of equal precedence evaluation proceeds from left to right, here, with unary operators of equal precedence evaluation goes from right to left.

So, the value of two is accepted by the right most negative sign producing a value of negative two, or the opposite of two. This value is handed over to the left most negative sign producing the negative of negative two, or the opposite of the opposite of two, which is positive two.

In this case, then, it is fine to talk about double negatives and say that two negatives produce a positive. Now, with complete clarity we can write:

+2 = --2

Collecting a few ideas about expression evaluation:

* There are binary and unary operators.
* Unary operators have precedence over binary operators.
* Resolutions regarding binary operations of equal precedence proceed left to right.
* Resolutions regarding unary operations of equal precedence proceed right to left.


http://id.mind.net/~zona/mmts/expressions/unaryOps.html

Read More...

Operands

In all computer languages, expressions consist of two types of components: operands and operators. Operands are the objects that are manipulated and operators are the symbols that represent specific actions. For example, in the expression

5 + x



x and 5 are operands and + is an operator. All expressions have at least one operand.

Read More...

Saturday, August 1, 2009

how to fix zawgyi font for gmail chat

When I use GMail Chat, I see ?? or rectangle box in Zawgyi Font. I already installed Zawgyi Font packeage. But it doesn't not resolve this issue.
Saturngod suggested as followed-
At FirFox Browser, type about:config in Browser Address bar, then search serif.x-unicode.
Put Zawgyi-one in front of default font.

  1. Double-click on font.name.sans-serif.x-unicode and change - Zawgyi-one, Arial.
  2. Double-click on font.name.serif.x-unicode and change - Zawgyi-one, Times New Roman.
In this way you see those web sites that don't not use Zawgyi in as default .

Read More...