Loading
何かをやっていないとなんかつまらないよね。
毎日新しいことをやりたい!

Take care of e107 CMS users

People who using e107 (like ေလာကအလွ) CMS, need extra care on security.

There is more than 20 exploits, search with e107 on the internet, including latest version

C/C++, Python, & wxPython (wxWidgets) Cool!


Testing on x64 Ubuntu with Gnome-desktop, its works pretty good, almost no code changes, and can run natively :-)

Added Myanmar - English Dictionary to wxPyDict (Provided by SaingDictionary)

Sai Khan Tun, providing Myanmar - English Dictionary Microsoft Word Documents.
saingdictionary.blogspot.com (Today)

Ko Minn Kyaw, Extracting Word Documents to texts files (Today)

And, I make to machine readable format, and fix somethings. (Today)

Download saidict.7z, tsv format, just like mzdictionary.
His license is "အမ်ား ေကာင္းဖို့လုပ္တာ ဆိုလ်ွင္ အသံုးျပုနိုင္" :-)
If you want to reuse in another program, contact him first.

snapshot
ကကတိုး n fork-tailed catfish
ကကတဈ n giant sea perch
ကကြိုး n 1.hardness 2. music for dance
ကကြိုးတန်ဆာ n caparison
ကခေဩည် n professional dancer
ကစားကွက် n g e tactic
ကစားကွင်း n playground
ကစားခုန်စား n spots and g es
ကစားစရာ n toy, playing thing
ကစားစရာဆိုင် n toyshop
ကစားဒိုင် n banker
ကစားဖ်ာ n playmate
ေကစားဝိုင်း n g bling party
ကစားသမား n g bler
ကစားသူ n player
ကစားသည် v play
ကစီ n rice puree
ကစီဓာတ် n starch, carbohydrate
ကစာ့ေခါး n Indian night shade
ကစ်ာေရည် n farmentative liquor
ကစဉ့်ကလား n in disorder
ျစာလံုးစုစုေပါင္း ၂ေသာင္းေက်ာ္ရွိ

and Update wxPyDict 0.2 (BUILD 6) > and run Update->Rebuild Database from Menu

and wxPyDict.ini should be like this
# wxPyDict Settings

#1 mean content searchable
[DICTS]
ornagai.txt,1
saidict.mtxt,0
[/DICTS]

Now, When you search *ေက်ာင္း* it will show *school* on the top, Nice!

Screen Shot,


Cheers,
Soe Min

Spell Correction into Dictionary Lookup Program - wxPyDict 0.2 Demo

The Words မွံု is not correct spelling


Try to correct spelling using Spell Dictionary from OpenOffice
# Press Enter key to do spell correction


1. Download spell dictionary from thanlwinsoft.org my-MMDict.oxt, extract that .oxt file with 7zip, you will see my_MM.dic, copy to same folder with wxPyDict, when wxPyDict program load, it will parse my_MM.dic and will save into wxPyDict.spell for future use.

2. Update wxPyDict.7z from my previous link.

3. To use spell correct, press Enter Key after you type the word in the search box.

Cheers,
Soe Min

wxPyDict Demo - Alpha Pre (BUILD 2) - Updated!

Features

+ custom dictionary ဖိုင္ေတြကို tsv (tabs seperated value) format အေနနဲ့ ထည့္ေပးနိုင္သည္။ (wxPyDict.ini file ကို edit လုပ္ေပးျခင္းအားျဖင့္)

+ built-in dictionary builder (custom dictionary ထည့္ျပီးလ်ွင္ Update->Rebuild Database ျပန္လုပ္ေပးရမည္)
(if you have sqlite3.exe in same folder, dictionary building will get around 30% faster speed)

+ custom dictionary ဖိုင္ သည္ encoding utf8 သို့ utf16 ျကိုက္တာျဖစ္နိုင္သည္

+ dictionary data can be , Unicode 5.1 or Zawgyi, အလိုအေလ်ာက္ ယူနီကုတ္ ၅.၁ သို့ေျပာင္းျပီး
my encoding ျဖင့္ sqlite3 အေနျဖင့္ wxPyDict.db ဖိုင္တြင္ သိမ္းသြားမည္။

+ built-in bi-directional font converter for Zawgyi, Unicode 5.1(Myanmar3), Ayar Burmese, input/output can choose any one of them

+ support reverse lookup, အဂဿငလိပ္-ျမန္မာ အဘိဓာန္ ကို ျမန္မာစာျဖင့္ျပန္ရွာနိုင္သည္။ (output is not perfect but still usable feature)

+ support syllable breaker real-time, ကံ ကိုရွာတဲ့ အခ်ိန္မွာ ျကံ ေတြဘာေတြမပါလာဘူး။ :D

+ built-in Normalization of Zawgyi, က--ိ-ု ပဲျဖစ္ျဖစ္ က--ု--ိ အတူတူပါပဲ၊ မွု ပဲရိုက္ရိုက္ မွု ပဲ ရိုက္ရိုက္ မွု ပဲရိ္ုက္ရိုက္အတူတူပါပဲ

Some Screen Shots

Searching English


Searching Myanmar,
Left Most column is Myanmar-Myanmar Dictionary(from Ko Nyi Lynn Seck)
Middle Column is reverse lookup from English-Myanmar Dictionary (MZ Dict)


Searching with Zawgyi (Mya), searching mya will not display (Myan), syllable breaker do for that.


Searching with Zawgyi (Myan)

Updated at 2009 June 4,

For Download, Check wxPyDict.googlecode.com


Download Dictionary Data Files First
English - Myanmar Dictionary - Mystery Zillion Dictionary Folder
Myanmar - English Dictionary - Saing Dictionary

Download Main Program wxPyDict.exe + wxPyDict.ini
wxPyDict.7z 1.4 MB

Dependencies (If you already have or download before (eg, Myanmar Text Tools), you wont need them)

Python 2.5 DLL.7z 826 KB

wxPython 2.8 DLL.7z 1.56 MB

MSVCR71.DLL.7z 153 KB

MSVCP71.DLL.7z 92 KB


#All the file should be in same folder

Cheers,
Soe Min

Reverse Lookup for Myanmar Words in English - Myanmar Dictionary

I dont have Myanmar - English Dictionary.

So there is only way I can do its Reverse Lookup


Cheers,

Firefox goes into Infinite Loop when File Upload Dialog Open

I noticed from this week,

Firefox take 90%> is CPU usage when I open File Open Dialog for uploading.

I guess this may b Infinite Loop, just like Local DOS Attack.

and when I google search many people shouting for similar things.

http://www.google.co.jp/search?q=firefox+freeze+when+upload&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a

Encoding Most Using Myanmar Characters to Ascii range

UTF8 takes 3 bytes to store Myanmar Characters, so its not efficient way.

So I encode these into ascii range, relocate some ascii characters to different locations.
No characters eaten by that process.

I tested English to Burmese dictionary data, and
Here is interesting results.

UTF8 Encoding - 3.62 MB
UTF16 Encoding - 3.59 MB
My Encoding - 1.85 MB :-)

And My Encoding still support English Mixed texts like that UTF8 does :-)

# Also, My Encoding doesnot corrupt compressing algorithms,
when I 7zip those, mine still getting smallest size result.

Cheers,
Soe Min

A bit more Search with ်မနဿမာစာ

Testing with Myanmar Data as Input,


It is using syllable breaking, so searching ကံ will not give you ျကံ :P

#data are by Ko Nyi Lynn Seck

Cheers,

wxPyDict - New Dictionary Lookup Program

StarDict using Gtk and Gtk Cannot display Myanmar Unicode 5.1 well yet.

So I started my own called wxPyDict, which is using wxPython (wxWidgets + Python), sqlite3

Here is a screenshot after I have written today.


#I will post demo version soon

Cheers,
Soe Min

Memo# wxDev-C++

Dev-C++ + wxWidgets -> wxDev-C++

http://wxdsgn.sourceforge.net

Few more updates on Myanmar Text Tools Demo 0.2.5 (BUILD 3)

Features

+ စာလံုးပြာေင်းခြင်းတွင်သာမကပဲ အက္ခရာစဉ်ခြင်းနဲ့ ဝဏ္ဏခွဲခြင်းကိုလည်း ဖိုင်ကို ဖတ်ပြီး လုပ်ဆာေင်နိုင်ပါမည်။ (super fast)

+ ဖိုင်ရွးေပးေရတွင် တဈခုထက်ပိုသာေ ဖိုင်ျမားကို ရွးေပးေနိုင်သည်။

* ယူနီကုတ်၅.၁ (မြန်မာ၃) မဟုတ်ဘဲ အခြားဖွန့်ျမားကို ရွးေထားပြီး အက္ခရာစဉ်ခြင်းနဲ့ ဝဏ္ဏခွဲခြင်း ပြုလုပ်ပါက အလိုအလာေျက် ယူနီကုတ်၅.၁ သို့ပြာေင်းပးေသွားမည်ဖြဈသည်။

- Strip HTML tags Option ကို အလိုအလာေျက် အနေနင့် ထားထားလိုက်သည်။ ရွးေပးေစရာမလိုတာ့ေ။

Screenshot


အရင်နေရာမ ထပ်မံဒါေင်းလုပ်လုပ်ယူနိုင်ပါသည်။

Cheers,

Myanmar Text Tools Demo Version 0.2 (BUILD 3)

Myanmar_Text_Tools.7z 1.36 MB

Check previous post if you dont have DLL files for Python25,wxPython2.8,MSVCR71,MSVCP71

Features

(1) Added Font Converting per File (ဖိုင္လိုက္ေျပာင္းျခင္း) and there is no size limits,
you can convert 100 MB Huge File easily within few seconds with my converter.
- File should be Text file and Should be encoded in ASCII / UTF8 / UTF16 / CP1252 (WINDOWS-1252)


(2) Added all the Fonts I have,
'Zawgyi-One',
'Myanmar3',
'Ayar Burmese',
'UniBurma',
'MyaZedi',
'WinInnwa',
'M-Myanmar1',
'Academy',
'Kingmyanmarsar',
'Gandamar-Letter1',
'Metrix-1',
'CECLASSIC',
'MS-HEAVY',
'Wwin_Burmese',
'Kannaka'


(3) Added HTML Tags Stripping Option

For Eg, View source this site http://www.myanmar.mmtimes.com/ which is using WinInnwa
copy and paste into textbox or, save it in file and convert the file, you will only see the html tags stripped texts.


Version is 0.2 (BUILD 3)

Cheers,
Soe Min

Myanmar Text Tools version 0.1 (BUILD 5) Alpha Test Program

I have decided to share my program

# Features
- Font Converting, Sorting, Syllable Breaking (3 ways)
- Font Converting is bidirectional, you can convert any fonts and any fonts in the list

# And It is by My Special License
Not Allowed to use for Commercial or Ads related things
Not Allowed for Redistributions (Program must be get from my sites)
Not Allowed from Embeding / Linking / Calling / Any Kinds of Usage from Another programs
Not Allowed for Modification / Reverse Engineering of the Program for any reason
Above License Statements may change anytime for any reason

# Here is some screenshots

Zawgyi to Myanmar3 Converter


WinInnwa to Ayar Converter


Ayar to Myanmar3 Converter


Syallble Breaking (only in Unicode 5.1 Zawgyi 2009 Encoding, (3 ways of syllable breaking supported)


Myanmar Sorting (only in Unicode 5.1 Zawgyi 2009 Encoding)


Myanmar Text Tools Latest Installer

#You can put any bug report as comments in this post

#ps: some texts are from ko nyi lynn seck, some are from openoffice spell dictionary

Cheers,
Soe Min

New Unicode 5.1 Font That will work on all Systems

အခုေလာေလာဆယ္ ယူနီကုတ္ ၅.၁ ဖြန့္ ၃ခု ျဖစ္တဲ့ ျမန္မာ၃၊ ပိေတာက္၊ ပိရပိုက္စတာေတြ ရွိပါတယ္။

ယူနီကုတ္ ၅.၁ မွာ သေဝထိုး နဲ့ ရရစ္ကို ေနရာထားတာ ပံုမွန္ေနရာထားပံုနဲ့မတူပါဘူး။

ရရစ္ ဆိုရင္ ဗ်ည္းေနာက္မွာ ထားပါတယ္။

ဥပမာ ---က --- ---- ျကေန ---ျက ျဖစ္ေအာင္ ဖြန့္ကလုပ္ေပးပါတယ္။

သေဝထိုးဆိုရင္ ဒီထက္ပိုဆိုးပါတယ္။

ဥပမာ --- က---် - -- --ြ --ွ -- ေျကေန ---သေဝထိုးကို စာလံုး ၄လံုးေလာက္ေက်ာ္ျပီးေတာ့ ေျက၊ ေက်၊ ေကြ၊ ေကွ ျဖစ္ေအာင္လုပ္ပါတယ္။

အဲဒီမွာ ဘာျပသဿသနာလည္းဆိုေတာ့ နည္းပညာက အရမ္းျမင့္ေနေတာ့ လိုက္လို့မမွီျခင္းပါပဲ။
စစ္စတမ္တိုင္းမွာ စာလံုးကို ေကာင္းေကာင္းျမင္ရဖို့ေတာင္ ခက္ေနပါတယ္။

အဲဒီအတြက္ အခု ဖြန့္အသစ္က ေဟာသလို ယူနီကုတ္ ၅.၁ စာလံုးေနရာအတိုင္း တေသြမတိမ္းရွိေနျပီး


ရရစ္နဲ့ သေဝထိုးကို နဂိုေနရာအတိုင္းရွိေနေစမွာျဖစ္ပါတယ္။

ရရစ္အျကီးနဲ့ရရစ္အေသး ----- ---- ျစတာေတြအားလံုးကိုေတာ့ အလိုအေလ်ွာက္ေျပာင္းေပးသြားမွာျဖစ္ပါတယ္။

စာလံုးအသစ္ျဖစ္တဲ့အတြက္ေျကာင့္ ဖြန့္ေျပာင္းဖို့ခက္မယ္ထင္ျကပါလိမ့္မယ္။
လံုးဝမခက္ပါဘူး။ ေဟာသလို့ ၂ေျကာင္းထဲနဲ့ ျကိုက္တဲ့ language မွာလြယ္လြယ္ကူကူေျပာင္းနိုင္ပါတယ္။

in python

data=re.sub(u"([\u1000-\u1021][\u103b-\u103e]*)\u1031",u"\u1031\\1",data)
data=re.sub(u"([\u1000-\u1021])\u103c",u"\u103c\\1",data)

in javascript

data=data.replace(/([\u1000-\u1021][\u103b-\u103e]*)\u1031/g,"\u1031$1");
data=data.replace(/([\u1000-\u1021])\u103c/g,"\u103c$1");

in C#
data=Regex.Replace(data,"([\u1000-\u1021][\u103b-\u103e]*)\u1031","\u1031$1");
data=Regex.Replace(data,"([\u1000-\u1021])\u103c","\u103c$1");

နမူနာေျပာင္းထားတာ ေဟာဒီမွာပါ။ 


# အခုပံုက ဖြန့္ ဒီဇိုင္းက ျမန္မာ၃ ေလာက္မလွေပမယ့္ အျခား ၁ဝမ်ိုးေလာက္ ထြက္လာမယ္လို့ဆိုပါတယ္။

# texts are from ko nyi lynn seck

# ps, I am NOT involved in creation of the font :D

Lets People Move from Zawgyi encoding to Something Better :-)

Cheers,

အကဿခရာစဉ္ျခင္း သို့ ဝလိစဉ္ျခင္း (Sorting)

Before Sort


After Sort


#စာလံုးမ်ားကို OpenOffice Spell Dictionary မွရယူျပီး Randomize လုပ္ထားသည္။

#စာလံုးေပါင္းသတ္ပံုက်မ္းအတိုင္း စဉ္သည္။

ဝဏဿဏျဖတ္ျခင္း ၃မ်ိုး (3 types of Myanmar Syllable Breaking)

မနဿတေလးကို မနဿတ + ေလး သို့ျဖတ္ျခင္း (ပံုမွန္ ျဖတ္တဲ့နည္းပါ)
(called graphical segmentation - by ko wunna ko ko)
(called orthographic syllable break- by ko ngwe tun)
(it's useful for line breaking - by ko ngwe tun)


မနဿတေလးကို မ + နဿတ + ေလး သို့ျဖတ္ျခင္း (OCR ဖတ္ဖို့ျဖတ္တဲ့နည္းပါ)
(called visual cluster syllable break - by ko ngwe tun)
(it's usful for measuring burmese string and cursor movement and reording - by ko ngwe tun)


မနဿတေလးကို မန္ + တ + ေလး သို့ ျဖတ္ျခင္း
(Sorting မွာသံုးလို့ရမယ္လို့ ကိုဝဏဿဏကိုကို ကေျပာပါတယ္)
(called phonological segmentation - by ko wunna ko ko, ko ngwe tun)
(It's useful for sorting and searching - by ko ngwe tun)


#Thx Ko Ngwe Tun, Ko Wunna Ko Ko for some informations

Cheers,
Soe Min

Assigning Font to wxPython Widgets


font=wx.Font(11, wx.DEFAULT, wx.NORMAL, wx.NORMAL, False, 'Myanmar3')

item = wx.MenuItem(demo_menu, wx.ID_ANY, u"ဝျဏဿဏဖတ္ျခင္း")
item.SetFont(font)

Disgby - IM + Email + Social Networks Client

http://www.digsby.com/

wxWidgets ကိုသံုးထားပံုရပါတယ္။ Facebook တို့ twitter တို့ LinkedIn တို့ သံုးတတ္သူေတြ၊
Gtalk ေတြ Yahoo Chat ေတြသံုးတတ္သူေတြဆိုရင္ သင့္ေတာ္မယ္ထင္ပါတယ္။
တစ္ခုတည္းကေန အကုန္လံုးကို ခ်က္လို့ရမယ္ထင္ပါတယ္။ အေကာင့္၂ခု၃ခုရွိေနရင္ေတာင္ combine လုပ္ပစ္ျပီး တစ္ေယာက္အေနနဲ့ လာျပေအာင္ေတာင္ လုပ္လို့ရတယ္ေျပာပါတယ္။
mark as read တို့ report spam တို့ေတာင္ လုပ္ရတဲ့ပံုေပါ္ပါတယ္။
http://www.digsby.com/features.php



some more screenshots
http://www.digsby.com/screenshots.php

ref:
http://www.maximumpc.com/article/features/maximum_pcs_32_totally_essential_apps?page=0%2C3
http://wxwidgets.org/

Cheers,

Point-to-Point Multilink Interface Configurations (Cisco)

ပံုမွန္ E1/T1 Serial Interface တစ္ခုမွာ 1984 kbps ရတာနဲ့ 1536kbps ရတာ၂မ်ိုးရွိပါတယ္။ (very generally)

Multilink နဲ့ဆိုရင္ Interface ၂ခုကို ေပါင္းလိုက္တဲ့ သေဘာမ်ိုးနဲ့ လုပ္လို့ရပါတယ္။ (၂ခုထက္ပိုလို့လဲရပါတယ္)

1984kbps x 2 = 3968kbps စသျဖင့္ေပါ့။

အဲဒီအတြက္ ေဟာဒီလို Cisco Router မွာ Configurations ေပးဖို့လိုပါမယ္။ (just general config)

Multilink virtual interface တစ္ခု create လုပ္ရပါမယ္။
interface Multilink1
ppp multilink
multilink-group 1

ျပီးရင္ Serial Interface မွာ multilink-group ကို အတူတူျဖစ္ေအာင္ assign လုပ္ရပါမယ္။
interace Serial0/0/0/1:0
encapsulation ppp
ppp multilink
ppp chap hostname R1
multilink-group 1
!
interace Serial0/0/0/2:0
encapsulation ppp
ppp multilink
ppp chap hostname R1
multilink-group 1
ဒါဆို Multilink function အျကမ္းဖ်င္းအလုပ္လုပ္ပါျပီ။ (ip ေတာ့ သပ္သပ္ assign လုပ္တာေတြ ရွိဦးမွာေပါ့)

Multilink interface ကို Serial Interface နဲ့ ခ်ိတ္ေနမေန သိခ်င္ရင္ေတာ့
sh ppp mu int m1
ဆိုျပီး ျကည့္ရင္
interace Serial0/0/0/1:0, no frags rcvd
interace Serial0/0/0/2:0, no frags rcvd

ဆိုျပီး ရပါမယ္။

# Multilink အျဖစ္သံုးမယ့္ interface တစ္ခုစီရဲ့ delay(latency) သိပ္ကြာလို့မရပါဘူး။ quality ကိုထိခိုက္နိုင္ပါတယ္။
# ပံုမွန္ အားျဖင့္ same carrier သံုးရင္ latency သိပ္မကြာတတ္ပါဘူး (except nodes are different and far from each others), different carrier ဆိုရင္ေတာ့ latency ကြာဖို့လမ္းပိုမ်ားပါမယ္။

cheers,
Soe Min

SWIG (Simplified Wrapper and Interface Generator)

SWIG ဆိုတာ C/C++ နဲ့ ရးေထားတဲ့ ကုတ်တွေကို
Tcl/Tk、Perl、Python、Ruby、PHP、Lua、
Java、C#、Scheme、Ocaml
စတာတွေကနေပြီး ခ်ါေသံုးလို့ရအာေင် လုပ်ပးေတဲ့ wrapper ဖြဈပါတယ်။

ဥပမာ wxWidgets လို့ခ်ါေတဲ့ C++ နဲ့ရးေထားတဲ့ Cross-Platform UI library ကို python ကနေျခိတ်သံုးလို့ရအာေင် လုပ်ထားတဲ့ wxPython ဟာ swig ကိုသံုးပြီး compile လုပ်ထားတာဖြဈပါတယ်။

http://www.swig.org/
http://en.wikipedia.org/wiki/SWIG
http://ja.wikipedia.org/wiki/SWIG

Testing Myanmar GUI Applications With wxPython


Its just cool! :-)

#texts are from Ko Nyi Lynn Seck

Cheers,
Soe Min

#Memo - How to Enable Ctrl+Alt+Backspace in Ubuntu

http://www.ubuntu-inside.me/2009/05/howto-enable-ctrlaltbackspace-on-ubuntu.html

Disabling ipv6 in Ubuntu 9.04

this help me to do that

http://www.ubuntu-inside.me/2009/04/howto-disable-ipv6-at-ubuntu-jaunty.html

Procedures (my way)

1. download 3 debs -> linux-header-all, linux-header-generic, linux-image from here
http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.29/

2. install, 1 -> linux-header-all, 2-> linux-header-generic , 3-> linux-image

3. sudo gedit /boot/grub/menu.lst

4. replace all splash to splash ipv6.disable=1 (you know what i mean :D)

5. reboot it, thats all :-)

Cheers,
Soe Min

wxWidgets & wxPython may be best for Cross-Platform Myanmar GUI Applications

http://www.wxwidgets.org/

wxWidgets use OS's API to draw GUI, so its render pretty well for GUI related things.

Its means, its just works for Unicode 5.1 fonts like Myanmar3,Padauk,Padauk, even Zawgyi.

and wxWidgets core seems written in C++, its quite fast.

and size of the dll are also not too big, seems around 10MB (can be compacted into 3MB (upxing) or 2MB with 7z), tested with wxPython 2.8.10.1

#when compare to .netframeworks and others cross-platform libraries like Qt, Gtk, java swing libraries, its very small.

and Python itself is around 2MB (can be compacted into 860KB (upxing)), tested with python 2.5

so even embeding both (python itself & wxPython) into exe file still around 5MB, so its usable one.

Cheers,
Soe Min

#Memo - Windows Update ကို Custom Server Assign လုပ္ျခင္း

gpedit.msc\Administrative Template\Windows Component\Windows Update\

Intranet Microsoft Update - http://192.168.1.x ေပးထားရင္ microsoft site က update မလုပ္ပဲ ေပးထားတဲ့ ေနရာကေနလုပ္ပါတယ္။

#Memo - gpedit.msc မွာ snap-in initialize error တက္ခဲ့လ်ွင္

#Memo 1

windows xp, gpedit.msc run မရဘဲ snap-in initialize error တက္ခဲ့လ်ွင္ %path% မွာ \system32\wbem ကိုထဲ့ရင္ အိုေကပါတယ္။


http://support.microsoft.com/kb/826282/ja

#Memo - Passing Custom COMPARE to Sort Function

အဂဿငလိပ္ စာလံုးေတြကို စဉ္ရတာ အလြယ္ဆံုးျဖစ္ပါလိမ့္မယ္ထင္ပါတယ္။

ဘာလို့လဲဆိုေတာ့ A ဆိုရင္ 65, B ဆိုရင္ 66 စသျဖင့္ char code ေတြကအစဉ္လိုက္ရွိေနပါတယ္။

ဂဏန္းေတြကို စဉ္ေတာ့မယ္ဆိုရင္ နဲနဲထပ္ျဖည့္ဖို့လိုလာျပီ။

ဥပမာ - 1,2,10 ကိုစဉ္လိုက္ရင္ ကြန္ပ်ူတာက 1,10,2 ဆိုျပီးစဉ္တတ္ပါတယ္။

ဘာလို့လဲဆိုေတာ့ ဂဏန္းေတြကို string အေနဲ့ျကည့္တတ္လို့ပါပဲ။

အဲဒီအခါမွာ
Array.sort(custom_compare)

def custom_compare(a,b):
return cmp(a,b)

ဆိုျပီး ဂဏန္းအေနနဲ့ ျပန္တိုက္ေလ့ရွိပါတယ္။

အဲဒီလိုမ်ိုး ျမန္မာစာဆိုရင္လည္း လုပ္ဖို့လိုလာပါတယ္။

Myanmar Sorting with Magic Codes ကဟာကို parameter အေနနွင့္ေပးမယ္ဆိုရင္

def burmese_compare(a,b):
return cmp(magic(a),magic(b))

Array.sort(burmese_compare)

အဲဒါဆိုရင္ တိုက္စစ္တဲ့အခ်ိန္မွာ ျမန္မာစာကို တိုက္စစ္ျပီး ေသခ်ာစီေပးပါလိမ့္မယ္။

python/ruby မွ မဟုတ္ပါဘူး။ javascript, php, C# စတာေတြမွာလည္း custom compare ကို sort function ကို pass လုပ္ေပးလို့ရပါတယ္။ language အေတာ္မ်ားမ်ားမွာရမွာပါ။

Cheers,
Soe Min

A bit more update on Burglish (Web)

- Charlist for unicode 5.1 is re-organized like follow (thx Ko Ngwe Tun, for pointing me)


- Now Burglish Systems (Web) works in Internet Explorer 8 (seems IE8 has some strict handling on DOM)

(so its should be works on most decent browsers like IE6, IE7, IE8, Firefox2, Firefox3, Seamonkey1+, Opera9+, Google Chrome, Apple Safari3+)

Cheers,
Soe Min

#Memo - wxPython GUI works for Myanmar Unicodes in Windows (Qt & Gtk not properly works yet)

http://www.wxpython.org/download.php

A small update on Burglish Systems (Web)

http://burglish.googlepages.com/testarea.htm

and burglish.com will redirect to latest one

- rewrite character list real time, support for other fonts, like Myanmar3, etc...
- unhooking the following characters during burglish menu mode !"#$%&'()

a screen shot on character list for Myanmar3 Unicode 5.1 font.


cheers,
soe min

Wolfram|Alpha

http://www.wolframalpha.com/

Some says, its Google Killer. No way!

Its just a Monkey, that understand English and Math.

Web -1.0

အျဖူရယ္ အမည္းရယ္ အျပာရယ္ ရွိရင္ လံုေလာက္ေနျပီ။ မ်က္စိအရွင္းဆံုးပဲ။
အေရာင္စံုမြေနတဲ့ဆိုဒ္ေတြ Animation ေတြတလွုပ္လွုပ္နဲ့ ဆိုဒ္ေတြ မ်က္စီ သိပ္ေနာက္ပါတယ္။
HTML Rendering အင္ဂ်င္ထဲမွာ အစကတည္းက အေရာင္ေတြအတြက္ မေရးထားရင္ ေတာ္ေတာ္ျမန္သြားမယ္ထင္တယ္။
:D

#Memo - Firefox

i still not success on installing firefox language packs

http://thanlwinsoft.org/ThanLwinSoft/Downloads/#moz

not only, myanmar langauge packs, but also on other language packs like japanese.

may b language pack should be same version as binary or
may b language pack and binary needs to be same locale

but when i tried to modify, en-US.jar inside orignal firefox, its works well like this.

#just modified top menu labels

Myanmar Converter Firefox Extension by Keith Stribley (Thanlwinsoft.org)

http://thanlwinsoft.org/MyanmarConverter/

Myanmar Converter Firefox Extension by Keith Stribley (Thanlwinsoft.org)

Convert detect Zawgyi and convert to Unicode 5.1 and
its add font-family to "Padauk, Myanmar3", and
add lang="my"

seems main converting process is written in java (its need java 1.6)

currently i ve tested on Gecko 1.8, firefox 2.0 series latest one, firefox 2.0.0.22pre Bon Echo.

when i try with Gecko 1.9, Firefox 3.0.10, and Firefox 3.6a1pre, got java exception at firefox onload, not working. problem unknown currently.

here is some screenshots.


when plugin installed


converter menu to turn on, off (just need to reload page to take effect)


browsing www.Zawgyi.net with Plugin :P, now its become unicode 5.1 :D


Converter about menu


tested on firefox 2.0 series, latest one


seems not working on firefox 3.* series, problem unknown.


Great Extension!

Cheers,
Soe Min

ေဒါ္လာ ၁၀ သန္းတန္ ပတ္စေဝါ့ (or) ေခတ္သစ္ ဓားျပတိုက္ ျပန္ေပးဆြဲ နည္း

http://slashdot.jp/security/article.pl?sid=09/05/10/2347230


http://wikileaks.org/wiki/Over_8M_Virginian_patient_records_held_to_ransom,_30_Apr_2009


ဗားဂ်ီးနီးယား ျပည္နယ္မွ လူ ၈ သန္း ရဲ့ ကိုယ္ေရးအခ်က္အလက္ မ်ားကို ခိုးယူျပီး ေဒါ္လာ ၁၀ သန္းေတာင္းခံ

လူကိုပဲ ျပန္ေပးဆြဲျပီး ေငြေတာင္းလို့ရတယ္ထင္တာ။ အိုင္တီေခတ္မွာ လည္းဒီလိုလုပ္လို့ရသကိုး။

သူလုပ္ပံုလုပ္နည္းကေတာ့

ေဒတာေတြကို ပတ္စေဝါ့ေပးျပီး encrypt လုပ္သိမ္းထားျပီး နဂိုေဒတာေတြကို ဖ်က္ျပစ္လိုက္တယ္လို့ဆိုပါတယ္။

ပတ္စေဝါ့ကို ေဒါ္လာ ၁၀ သန္းနဲ့ေရာင္းထားပံုရပါတယ္။

# က်ေနာ့္အထင္ သူ encrypt လုပ္ထားတဲ့ ေဒတာကို တစ္ေနရာရာမွာ တင္ထားလိမ့္မယ္။ ေနာက္ျပီး လူအမ်ားလက္ထဲလဲ ေရာက္ေကာင္းေရာက္သြားလိမ့္မယ့္။ အဓိကကေတာ့ ပတ္စေဝါ့ပဲ။ ပတ္စေဝါ့ကို ျပန္ျဖည္ဖို့အတြက္ gov က super computer ေတြ သံုးျပီး ေျဖေကာင္းေျဖလိမ့္မယ္။ လုပ္တဲ့သူကို မမိခဲ့လ်ွင္ ပတ္စေဝါ့ေျဖဖို့ နွစ္နဲ့ခ်ီျကာေကာင္းျကာလိမ့္မယ္။

Windows 7!?

Installed Windows7 RC2 JP in VirtualBox inside Ubuntu.

Not that slow, but Don't find any interesting things.

Klavaro Touch Typing Tutor (Open Source)

http://klavaro.sourceforge.net


Seems, nice. It has windows version too. also tested on ubuntu x64 working fine.
compile from source also no problem


It has keyboard layout editor different language, even support Bengali version.

Here is i just tried to test burmese layout for unicode 5.1 within a minute.


I guess Myanmar version of open source typing tutor can be done with that.

Cheers,

Myanmar Sorting in Unicode 5.1 with magic codes (updated at May11)

က (0x1000000)
ကာ (0x1000010)
ကား (0x1000018)
ကိ (0x1000020)
ကီ (0x1000030)
ကီး (0x1000038)
ကု (0x1000040)
ကူ (0x1000050)
ကူး (0x1000058)
က (0x1000060)
ကးေ (0x1000068)
ကဲေ (0x1000070)
ကဲ့ (0x1000074)
ကာ (0x1000080)
ကာ့ေ (0x1000084)
ကာေျ (0x1000090)
ကံေ (0x10000a0)
ကံ့ (0x10000a4)
ကို (0x10000b0)
ကိုး (0x10000b8)
ကကျ (0x1000100)
ကာကေျ (0x1000180)
ကိုကျ (0x10001b0)
ကငျ (0x1000500)
ကျငး (0x1000508)
ကာငေျ (0x1000580)
ကာငးေျ (0x1000588)
ကိုငျ (0x10005b0)
ကိုျငး (0x10005b8)
ကစျ (0x1000600)
ကဋျ (0x1000c00)
ကုဋျ (0x1000c40)
ကိုဋျ (0x1000cb0)
ကဏျ (0x1001000)
ကိျဏး (0x1001028)
ကတျ (0x1001100)
ကိတျ (0x1001120)
ကုတျ (0x1001140)
ကနျ (0x1001500)
ကျန့ (0x1001504)
ကျနး (0x1001508)
ကိျနး (0x1001528)
ကုနျ (0x1001540)
ကုျနး (0x1001548)
ကပျ (0x1001600)
ကုပျ (0x1001640)
ကျမး (0x1001a08)
ကံု (0x1001a41)
ကံုး (0x1001a49)
ကယျ (0x1001b00)
ကျယ့ (0x1001b04)
ကာယျ (0x1001b10)
ကိုယျ (0x1001bb0)
ကိုျယ့ (0x1001bb4)
က (0x1010000)
ကြာ (0x1010010)
ကြား (0x1010018)
ကြိ (0x1010020)
ကြီ (0x1010030)
ကြီး (0x1010038)
ကြု (0x1010040)
ကြူ (0x1010050)
ကြူး (0x1010058)
ကြ (0x1010060)
ကြးေ (0x1010068)
ကြဲေ (0x1010070)
ကြာ (0x1010080)
ကြာ့ေ (0x1010084)
ကြာေျ (0x1010090)
ကြံေ (0x10100a0)
ကြံ့ (0x10100a4)
ကြို (0x10100b0)
ကြို့ (0x10100b4)
ကြိုး (0x10100b8)
ကြကြျ (0x1010100)
ကာကြေျ (0x1010180)
ကိုကြျ (0x10101b0)
ကငြျ (0x1010500)
ကငြ့ျ (0x1010504)
ကငြးျ (0x1010508)
ကာငြးေျ (0x1010588)
ကိုငြျ (0x10105b0)
ကိုငြးျ (0x10105b8)
ကစြျ (0x1010600)
ကဉြျ (0x1010a00)
ကဉြးျ (0x1010a08)
ကညြျ (0x1010b00)
ကညြးျ (0x1010b08)
ကတြျ (0x1011100)
ကိတြျ (0x1011120)
ကုတြျ (0x1011140)
ကနြျ (0x1011500)
ကနြးျ (0x1011508)
ကိနြျ (0x1011520)
ကိနြးျ (0x1011528)
ကပြျ (0x1011600)
ကိပြျ (0x1011620)
ကုပြျ (0x1011640)
ကမြးျ (0x1011a08)
ကံု (0x1011a41)
ကြံု့ (0x1011a45)
ကြံုး (0x1011a49)
ကြယြျ (0x1011b00)
ကုယြျ (0x1011b40)
ကွ (0x1020000)
ကွာ (0x1020010)
ကွား (0x1020018)
ကွိ (0x1020020)
ကွီ (0x1020030)
ကွီး (0x1020038)
ကွူ (0x1020050)
ကွူး (0x1020058)
ကွ (0x1020060)
ကွးေ (0x1020068)
ကွဲေ (0x1020070)
ကွာ (0x1020080)
ကွာ့ေ (0x1020084)
ကွာေျ (0x1020090)
ကွံေ (0x10200a0)
ကွံ့ (0x10200a4)
ကွို (0x10200b0)
ကွို့ (0x10200b4)
ကွိုး (0x10200b8)
ကွကျ (0x1020100)
ကွာကေျ (0x1020180)
ကွိုကျ (0x10201b0)
ကွငျ (0x1020500)
ကွျင့ (0x1020504)
ကွျငး (0x1020508)
ကွာငေျ (0x1020580)
ကွာင့ေျ (0x1020584)
ကွာငးေျ (0x1020588)
ကွိုငျ (0x10205b0)
ကွိုျငး (0x10205b8)
ကွစျ (0x1020600)
ကွဉျ (0x1020a00)
ကွျဉး (0x1020a08)
ကွညျ (0x1020b00)
ကွျည့ (0x1020b04)
ကွျညး (0x1020b08)
ကွတျ (0x1021100)
ကွိတျ (0x1021120)
ကွုတျ (0x1021140)
ကွနျ (0x1021500)
ကွျန့ (0x1021504)
ကွပျ (0x1021600)
ကွုပျ (0x1021640)
ကွျမး (0x1021a08)
ကွိမျ (0x1021a20)
ကွိျမး (0x1021a28)
ကွံု (0x1021a41)
ကွံုး (0x1021a49)
ကွယျ (0x1021b00)
က (0x1040000)
ကာ (0x1040010)
ကီ (0x1040030)
က (0x1040060)
က့ေ (0x1040064)
ကးေ (0x1040068)
ကဲေ (0x1040070)
ကဲ့ (0x1040074)
ကံး (0x10400a8)
ကကျ (0x1040100)
ကျငး (0x1040508)
ကတျ (0x1041100)
ကနျ (0x1041500)
ကျန့ (0x1041504)
ကျနး (0x1041508)
ကပျ (0x1041600)
ကမျ (0x1041a00)
ကျမး (0x1041a08)
ကယျ (0x1041b00)
က (0x1050060)
ကြးေ (0x1050068)
ကြဲေ (0x1050070)
ကြံ (0x10500a0)
ကြကြျ (0x1050100)
ကတြျ (0x1051100)
ကနြျ (0x1051500)
ကနြုျပျ (0x1051501)
ကနြးျ (0x1051508)
ကမြးျ (0x1051a08)
ကွ (0x1060000)
ကွား (0x1060018)
ကွ (0x1060060)
ကွးေ (0x1060068)
ကွေကျ (0x1060100)
ကွျငး (0x1060508)
ကွပျ (0x1061600)
ကွယျ (0x1061b00)
ခ (0x2000000)
ခါ (0x2000010)
ခါး (0x2000018)
ခိ (0x2000020)
ခု (0x2000040)
ခူ (0x2000050)
ခူး (0x2000058)
ခ (0x2000060)
ခဲေ (0x2000070)
ခဲ့ (0x2000074)
ခါ (0x2000080)
ခါေျ (0x2000090)
....

based on ordering in မြေန်မာ စာလံုးပါေင်းသတ်ပံုကျမ်း


Calculation of Unique Magic Codes with 32bits (4bytes) unsigned integer

RRCCCCCC  RRRRMMMM  RRKKKKKK  VVVV A B W W

Detail

R=Reserved
C=Consonent က-အ
M=Medial ပင့်ရဈဆွဲထိုး [--ျ------ွ---]
K=Killer အြသတ်
V=Vowel - -ာ --ိ --ီ --ု- ---ူ -- --ဲ -ာ -်ာ --ံ- --ို-
A=ဝေဈစပါေက်
B=အာေက်ကမြဈ
W=(ဣ နဲ့ အိ) (ဤ နဲ့ အီ) (ဥ နဲ့ အု) (ဦ နဲ့ အူ) (ဩ နဲ့ အာေ) (ဪ နဲ့ အ်ာေ) အတွက် ခွဲခြားရန် (Weight 1)
W=[(အုမ် နဲ့ အံု)] / [(နိုက် နဲ့ ၌) (ရွ့ေ နဲ့ ၍) (လည်းကာေင်း နဲ့ ၎င်း) (အိ နဲ့ ၏)] (Weight 2)
- အက်ဖ် စသည့် အသတ်နာေက်တွင် တဈခုခုပါလျင် Weight 2 ကို on သည်။
- ပတ်ဆင့်ျမားကို ရိုးရိုးအသတ်နာေက်တွင် စဉ်ရန် Weight 2 ကို on သည်။

တကယ်က Weight တဈခုနဲ့တင်တ်ာေတ်ာေ အဆင်ပြေပါတယ်။ (အိ ၏ ဣ) ဆိုတဲ့ စာလံုး ၃ လံုး ရိနေလို့ (ဣ) အတွက် သပ်သပ် Weight Flag တဈခုပးေထားပါတယ်။


Cheers,
Soe Min

Changing the Font with a single Click :-)

Shift + Click to force as Zawgyi Font


Ctrl + Click to force as Unicode 5.1


Normal Clicking will detect and Set appropriately

Ctrl+Shift+Click will do force detection and Set appropriately. (force detection can only recover by this)

Download Font Tagger as Firefox Extension -> MyanmarFontTagger.xpi

Cheers,
Soe Min

Automatic Font Tagger for Unicode 5.1 and Zawgyi Firefox Plugin

သင့္ဆီမွာ ျမန္မာ၃ ဖြန့္ေရာ ေဇာ္ဂ်ီဖြန့္ေရာ ရွိေနရက္နဲ့ ဝက္ဘ္ဆိုက္ဒ္ေတြ ဘေလာ့ေတြ ေကာင္းေကာင္း ဖတ္မရဘူးရွိတယ္မဟုတ္လား။

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

ဟိုးအရင္က ဝင္းအင္းဝ သံုးတဲ့ေခတ္တုန္းကေတာ့ <font face="WinInnwa" လို့ မေရးထားရင္ ဖတ္လို့မရတဲ့ အတြက္ သတိထားျပီး ထည့္ျကပါတယ္။

ဒါေပမယ့္ ေဇာ္ဂ်ီတို့ယူနီကုတ္ေတြ ေပါ္လာေတာ့ မထည့္လဲ ဖတ္လို့ရတယ္။

ဘာလို့လဲဆိုေတာ့ ဝင္းအင္းဝလို အဂဿငလိပ္စာလံုးေတြ ထြက္လာစရာအေျကာင္းမရွိဘူး။

ျမန္မာဖြန့္၂ခုရွိျပီးဆိုရင္ေတာ့ အဆင္မေျပေတာ့ပါဘူး။

ခနခန ဖြန့္သြားေျပာင္းေပးရတာလဲ အလုပ္ရွုပ္တယ္။

အဲဒီအတြက္ ေဇာ္ဂ်ီဆို ေဇာ္ဂ်ီ၊ ယူနီကုတ္ ၅.၁ ဆိုရင္ ယူနီကုတ္ ၅.၁ ဖြန့္ျဖစ္တဲ့ ျမန္မာ၃၊ ပရပိုက္၊ ပိေတာက္ ဖြန့္ကိုေျကျငာေပးတာေလးတစ္ခုပါ။

နဂိုဆိုက္ဒ္ source

အလိုလို ဖြန့္ေျကျငာျပီး

အျမင္အားျဖင့္

1#ေဟာ့ဒီ tag ေတြကို အလုပ္လုပ္ပါတယ္။ 'div','span','p','a','h1','h2','h3','h4','pre','textarea'
* ထည့္လို့ရပါတယ္။ ေနွးလို့ တစ္ခုစီထည့္ထားတာပါ။

2#gmail လို dynamic site မ်ိုးဟာ javascript နဲ့ ေဒတာေတြကို ေရးပါတယ္။ ပံုမွန္အားျဖင့္ အဲဒါေတြကို detect လုပ္ဖို့ခက္ပါတယ္။

အဲဒီအတြက္ onload မွာ 800ms ျခား ၃ခါ check လုပ္တယ္။ ေနာက္ျပီး click နွိပ္လိုက္ရင္ 100ms အျကာမွာ တစ္ခါျပန္ check ပါတယ္။

ဘာလို့လဲဆိုေတာ့ ေမးလ္ဖြင့္လိုက္ရင္ စာေတြ ကို dynamic နဲ့ျပန္ေရးတတ္လို့ပါ။

3# မေျပာင္းခ်င္တဲ့ဆိုက္ဒ္ကို url ေနာက္မွာ ?nofont လို့ထည့္ေပးရင္ ဘာမွမလုပ္ပါဘူး။
#Download here -> Automatic Myanmar Font Tagger for Zawgyi and Unicode 5.1
(Pre Alpha - Test Version 0.1) :D


// Codes - Soe Min (Mark)
// License - Only for Test,Not Modifiable, Not Redistributable, Not Allowed for Commercial/Advertisment Use for any part of the codes.

Cheers,
Soe Min

က်ေနာ္ဖတ္ေသာ အျခား ဘေလာ့ / ဆိုဒ္မ်ား