Wednesday, September 30, 2009

Microsoft Security Essentials

Microsoft Security Essentials provides real-time protection for your home PC that guards against viruses, spyware, and other malicious software.
Microsoft Security Essentials is a free* download from Microsoft that is simple to install, easy to use, and always kept up to date so you can be assured your PC is protected by the latest technology.

http://www.microsoft.com/security_essentials/
Jens Meggers, vice president of engineering, Symantec said, "Microsoft has a really bad track record in security. Like OneCare, Security Essentials is a poor product." Microsoft's MSE team might be sharing high-fives on disturbing the competition to mock them.

Read More...

Wednesday, September 23, 2009

XPS XML Paper Specification

XML Paper Specification(XPS)The XML Paper Specification (XPS) provides users and developers with a robust, open and trustworthy format for electronic paper. The XML Paper Specification describes electronic paper in a way that can be read by hardware, read by software, and read by people. XPS documents print better, can be shared easier, are more secure and can be archived with confidence.
Windows Vista makes it easy to get started with XPS documents. Windows Vista lets you generate XPS documents from any application by simply selecting the Microsoft XPS Document Writer as the printer when printing. In Windows Vista, you can double-click an XPS document to automatically open the document inside an XPS viewer.
Adding XPS-based technologies to your application gives your customers a print quality that was previously found only in high-end graphic arts applications because the Windows Vista print sub-system has been enhanced to recognize and process XPS documents.


http://hewsoft.com/xps.aspx

Read More...

Windows Presentation Foundation (WPF)

The Windows Presentation Foundation (WPF) is the new graphical subsystem in Windows Vista that replaces the old GDI graphical subsystem and makes many of the cool UI features possible. In addition, WPF provides the foundation for a new print subsystem that includes, among other things, support for better color management to allow high-fidelity color printing as well as support for printing advanced effects such as gradients and transparencies. And the key ingredient that ties WPF and print subsystem together is XPS.

WPF was initially released as part of .NET Framework 3.0. WPF is built on DirectX, which provides hardware acceleration and enables modern UI features like transparency, gradients and transforms. WPF also offers a new markup language, known as XAML which is an alternative means for defining UI elements and relationships with other UI elements.
WPF is included with Windows 7, Windows Vista and Windows Server 2008, and is also available for Windows XP Service Pack 2 or later, and Windows Server 2003.

Microsoft Silverlight is a web-based subset of WPF that enables Flash-like web and mobile applications with the same programming model as .NET applications. 3D features are not supported, but XPS and vector-based drawing are included.

Read More...

Saturday, September 19, 2009

Win XP Registry Hack

Menu Speed
Place Windows Kernel into RAM
Alter Prefetch Parameters
Disable 8.3 Name Creation in NTFS

Menu Speed
Go to the Registry key HKEY_CURRENT_USER\Control Panel\Desktop\MenuShowDelay. The default value is 400. Set it to 0 to remove the delay completely, but if you do that it will be nearly impossible to move the mouse fast enough not to activate All Programs if you mouse over it en route to your final selection. Pick a number that suits your style, make the change, and then test it until you find a good compromise between speed and usability.

Place Windows Kernel into RAM
It’s a given that anything that runs in RAM will be faster than an item that has to access the hard drive and virtual memory. Rather than have the kernel that is the foundation of XP using the slower Paging Executive functions, use this hack to create and set the DisablePagingExecutive DWORD to a value of 1.

Edit the Registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\DisablePagingExecutive to 1 to disable paging and have the kernel run in RAM


Perform this hack only if the system has 256MB or more of installed RAM!

Alter Prefetch Parameters
Prefetching (the reading of system boot files into a cache for faster loading) is a commonly overlooked component that can have a significant impact on system boot time. This tweak allows you to select which components will make use of the prefetch parameters. To see which files are gathered using each setting, clear the prefetch cache located at C:\Windows\Prefetch and then enable one of the settings listed in this hack. Clear the cache and repeat
for each setting.
Set the Registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters\EnablePrefetcher to 0 to disable prefetching, 1 to prefetch application launch files, 2 to prefetch boot files, or 3 to prefetch as many files as possible.

Disable 8.3 Name Creation in NTFS
Files that use the 8.3 naming convention can degrade NTFS drive performance.
Unless you have a good reason for keeping the 8.3 naming convention intact (such as if you’re using 16-bit programs), a performance gain can be achieved by disabling it.

Set the Registry DWORD key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Control\FileSystem\NtfsDisable8dot3NameCreation
to 1. Exit the Registry
and reboot.

Read More...

Friday, September 18, 2009

Google Book Downloader

Google Book Downloader is small utility which allows you to save book as PDF from google to your local filesystem.This project is purely non-commercial and for educational purpose.This project does not promote any illegal conduct of any kind

Features:

  • Download any book from Google Books marked as 'Full view'

  • Partially download any book from Google Books marked as 'Limited preview'

  • Access to any book available only for US citizens (instructions)

  • Searching for hidden pages (not indexed by Google Books)


Read More...

Wednesday, September 16, 2009

Network Tools

Downloads for Managing Your Network

http://www.pcworld.com/article/171235/downloads_for_managing_your_network.html

Read More...

A wireless network can seem like the most frustrating and confounding technology on the planet. When it works well, you have nothing to think about. But if the connection is problematic, you can wind up spending many hours troubleshooting it, with no clue about what to do.

That's where these downloads come in--both are great tools that can help uncover the source of the problem.

InSSIDer

WiFi SiStr

http://www.pcworld.com/article/171235-2/downloads_for_managing_your_network.html

Read More...

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...

Wednesday, July 22, 2009

Vista Explorer Shortcut

Windows Vista Explorer Shortcut are as followed

Note that this is also the quickest way to get to the Desktop folder… just keep hitting Alt+Up until you get to the right folder.
Other interesting keyboard shortcuts for Explorer:

  • Alt+Right - Go forward
  • Alt+Left- Go back
  • Alt+D – Focus the address bar and select the current path.
  • F4 – Pop up the dropdown in the address bar, actually somewhat useful.
  • Alt+Enter – Properties of the selected file
  • Ctrl+Mousewheel – change the size of the icons
  • F11 - Put explorer into Fullscreen mode. Actually kinda weird, and I have no idea why this function is even there.

Read More...

Saturday, July 4, 2009

Thouands of thousand records

ဒီေန႕ Database ထဲက Row ေပါင္း ၇ ေသာင္းေလာက္ ကို ဘယ္လို Display ျပရင္ေကာင္းမလဲဆိုတာ စဥ္းစားမိတယ္။ အခု လုပ္ေနတဲ့ Project က row ေပါင္း ၇ ေသာင္းေက်ာ္မယ္တဲ့။

အခုစမ္းေနတာ ၂၀၀၀ ေလာက္တင္ Datagridview မွာ သိပ္အဆင္မေျပဘူး။ ေနာက္ေတာ့ web မွာလို page ေတြ ခြဲထုတ္ဖုိ႕ ဆံုးျဖတ္လုိက္တယ္။ Access မွာေတာ့ MySQL Limit မရိွဘူး။ wiki [1] အကူအညီနဲ႕ Top နဲ႕ လုပ္ရတယ္ ဆိုတာ သိသြားတယ္။
Access မွာpage 1 မွာ ၅၀ ျပျပီးသြားရင္ page 2 ကိုselect top 50 * from table where ID Not IN (select top 50 * from table)
အဲလိုေလး ျပန္ထိန္းရတယ္။ ေနာက္ကေတာ့ where နဲ႕ filter ျပန္လုပ္ရတယ္။ ပါျပီးသား ID ေတြ မဟုတ္တာဆိုျပီး ေရြးထုတ္လိုက္တဲ့ ပံုေလးေပါ့။ page ခြဲပံု idea ကိုေတာ့
http://code.mysteryzillion.org/article/separate-page-from-row-record
မွာ ဖတ္ႏိုင္ပါတယ္။ ကၽြန္ေတာ္တို႕ေတြအေနနဲ႕ record ေတြမ်ားလာေလေလ… အမ်ားၾကီးကို တစ္ခါတည္း တန္းမျပပဲ page ေလးေတြ ခြဲလိုက္ျခင္းဟာ အသံုးျပဳသူအတြက္ ေတာ္ေတာ္အဆင္ေျပေစပါတယ္။ Memory သံုးတာ ေတာ္ေတာ္သက္သာသြားတယ္။ Database သံုးတာ ေတာ္ေတာ္သက္သာသြားတယ္။ အခုေတာ့ အဆင္ေျပသြားပါျပီဗ်ာ။
http://en.wikipedia.org/wiki/Select_(SQL)#Limiting_result_rows

Related Posts
MySQL Reference Book
CSV to Mysql
Database Charset UTF-8

Read More...