2010/07/30

Ном сонин уншъя, ногоон модоо тарья, ,,,

Өнөөдөр ачтай хүү надад үнэхээр сайхан номнуудын хаяг өглөө. Хүүдээ маш их баярлалаа. Уг номыг уншихын тулд эхлээд уг хуудсанд заасан байгаа үсгийн маяг суулгаж байж бичиглэлт нь зөв дүрслэгдэнэ. Би ч суулгачихсан байсан болохоор зовлонгүй харуулж байгаа боловч тэнгэрээс бууж ирж буй мэт босоо бичиг маань хэвтээ харагдаад болдоггүй ээ. Бас дээрээс нь эх зураг нь байгаа боловч томруулж харах гэхээр тусдаа цонхонд нээгдэхээр хийчихэж. Баярласан ч жаахан гомдолтой хэсэг харж суутал толгойд "Өөртөө тааруулаад харуулчихаач" гэсэн хүсэл бараг хашхирдаг юм байна.

Галт үнэг дээрх энэ сармагчны ачаар ямар ч хуудасны юуг ч харуулах явцдаа өөрчилж болдог билээ. Ингээд хэсэг оролдсоны үр дүнд дараах зурган дээр харуулсан шиг болгож байж санаа минь амарлаа.


Хэрэв та бас ингэж уншмаар байгаа бол тэр сармагчин өргөтгөлийг суулгачихаад дараах бичлэгийг өөр дээрээ ХХХХ.user.js гэж файл болгож хадгалаарай (*.user.js гэсэн өргөтгөл нь заавал ийм хэлбэртэй байх ёстойг анхаарна уу. Та өөр дээрээ жишээ нь mongolbichig.user.js гэж хадгалж болох юм ). Тэгээд галт үнэг дээрээ File-> Open file гэж нээхэд танаас суулгах эсэхийг асуух болно. Ингээд амжилттай суулгасан бол өнөөх болдоггүй хуудсаа дахин дуудаад үзээрэй. Хэрэв тэгээд ч болохгүй бол яадаг юм байгаа юм, гадаа гараад орж ирээд ахиад нэг үздэг юм бил үү :)

ШИНЭЧЛЭЛ: Хазсан алимтай машин дээр padding-left:0px; гэдгийг padding-left:200px; болгож байж эвтэйхэн харагдаж байна. Бүндөүс машин дээр туршиж үзээгүй байгаа болохоор бас энэ зай авалтанд өөрчлөлт гарч магадгүй!

ШИНЭЧЛЭЛ: Уг хуудсыг бүтээсэн эзнийг нь оллоо. Билигсайхан хэмээх залуу хийжээ. Бас л бидний адил монгол бичгээ хүссэн хүмүн байна. Үйлс тань бүтэмжтэй өөдрөг байх ерөөлийг дэвшүүлье. Баярлалаа.

ШИНЭЧЛЭЛ: Мөнхбаатар-н Google-Chrome дээр ажилладаг болгосон сайжруулсан хувилбарыг эндээс суулгаарай. Галт үнэг дээр туршиж үзсэн бөгөөд саадгүй ажиллаж байна. Баярлалаа Мөнхбаатараа!

// ==UserScript==
// @name         mongolbichig
// @namespace    http://mongolian-it.blogspot.com
// @description  customized layout for the mongolian script book
// @include  http://www.dl.is.ritsumei.ac.jp/*
// ==UserScript==

var preElement, replText, inText, lines, lnumber, mydiv, mypre, myimg, newlink;

function replacePreElement() {
    preElement = document.getElementsByTagName('pre')[0];

    if (preElement) {
        inText = preElement.innerHTML;
        lines = inText.split("\n");
        lnumber = lines.length - 1;
        mydiv = document.createElement("div");
        mydiv.setAttribute('class','mglbichig');
        mypre = document.createElement("pre");
        replText = "";
        for(i=lnumber; i >= 0; i--){
            replText += lines[i];
            replText += '\n';
        }
        mypre.innerHTML = replText;
        mydiv.appendChild(mypre);
        preElement.parentNode.replaceChild(mydiv, preElement);
    } else {
        GM_log('notfound');
    }
}

function addGlobalStyle(css) {
    var head, style;
    head = document.getElementsByTagName('head')[0];
    if (!head) { return; }
    style = document.createElement('style');
    style.type = 'text/css';
    style.innerHTML = css;
    head.appendChild(style);
}

function replaceImage() {
    imageFive = document.evaluate("//img[@width='500']", document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);
    myimg = imageFive.snapshotItem(0);
    var newlink = myimg.src.split("_screen.jpeg")[0];
    newlink += ".jpg";
    myimg.src = newlink;
    myimg.removeAttribute('width');
    myimg.removeAttribute('height');
}

replaceImage();
replacePreElement();
addGlobalStyle('div.mglbichig { -moz-transform: rotate(90deg); display: block; writing-mode: tb-lr; font-family:MongolianScript; padding-left:0px; padding-bottom:200px; padding-right:0px; padding-top:0px; clear: both; }');
addGlobalStyle('.table {width: 100%; }');

2010/07/19

ls тушаалын гаралтанд эрэмбэлэлт хийх

ls тушаалд -t гэсэн сонголт хэрэглэснээр гаралтыг нь өөрчлөгдсөн цаг хугацаагаар нь эрэмбэлж болдог:

# ls -lt
total 387156
-rw-r--r--   1 beat  users  160005266 Mar 11 14:54 src.tar.bz2
-rw-r--r--   1 beat  users  212539313 Mar 11 11:08 obj.tar.bz2
-rw-r--r--   1 beat  users   18239398 Jan 13  2010 WLAN_NE785.zip
-rw-r--r--   1 beat  wheel    5172378 Jan 12  2010 Wlan-ANE762-1_4_5_1.zip

Хэрэв гаралт нь эрэмбэлэгдсэн дарааллынхаа эсрэгээр байх ёстой бол -r сонголт нэмж өгнө:

# ls -lrt
total 387156
-rw-r--r--  1 beat  wheel    5172378 Jan 12  2010 Wlan-ANE762-1_4_5_1.zip
-rw-r--r--  1 beat  users   18239398 Jan 13  2010 WLAN_NE785.zip
-rw-r--r--  1 beat  users  212539313 Mar 11 11:08 obj.tar.bz2
-rw-r--r--  1 beat  users  160005266 Mar 11 14:54 src.tar.bz2

Хэрэв файлууд нь хэмжээгээрээ эрэмбэлэгдэх ёстой бол -S сонголт хэрэглэнэ:

# ls -lrS
total 387156
-rw-r--r--  1 beat  wheel    5172378 Jan 12  2010 Wlan-ANE762-1_4_5_1.zip
-rw-r--r--  1 beat  users   18239398 Jan 13  2010 WLAN_NE785.zip
-rw-r--r--  1 beat  users  160005266 Mar 11 14:54 src.tar.bz2
-rw-r--r--  1 beat  users  212539313 Mar 11 11:08 obj.tar.bz2

Нэмэлт мэдээллийг ls(1)-н МАН хуудаснаас нь олж уншаарай.

Орчуулгын эх хуудас нь: http://www.chruetertee.ch/blog/

2010/07/15

Програм сонирхогчдын нүдээр

Програмын хэл сонирхогчид бусад програмын хэл сонирхогчдыг дараах маягаар хардаг байх нь ээ :)

2010/06/29

Файлын нэрэнд буй тусгай тэмдэгтийг арилгах

detox зэвсгийн тусламжтайгаар файлын нэрэнд байгаа тусгай тэмдэгтийг автоматаар устгаж мөн хоосон зайг доогуур зураасаар орлуулж болдог. Бяцхан чөтгөрийн порт модны sysutils/detox дотор энэ зэсвэг бий. Үбүнтү нөхдүүд бол aptitude install detox гэж суулгаарай.

# cd /usr/ports/sysutils/detox && make install clean

Ингээд одоо файлын нэрэнд байгаа хоосон зайг автоматаар доогуур зураасаар орлуулж, тусгай тэмдэгт байвал уг тэмдэгтийг устгаж болно:

# ls
test öäü !?_test
# detox test\ öäü\ \!\?_test 
# ls
test_oau_test

detox тай холбоотой нэмэлт мэдээллийг detox(1) МАН хуудаснаас нь олж уншаарай.

Орчуулгын эх хуудас нь: http://www.chruetertee.ch/blog/

2010/06/26

Суурилсан системийн хямдхан хавтан

Crosspost: http://embeddedsystem-mn.blogspot.com/2010/06/blog-post_29.html

Оюутан байхдаа Үйлдлийн системийн практик хэмээх нэгэн хичээл дээр сууж Motorola 68000 процессортой суурилсан систем (embedded system) програмчлах болов оо. Process scheduler өөрөө зохиох, GPIO (процессорын оролт гаралт) програмчлах гэх мэт зүйл хийх ёстой байлаа. Эхний өдөр яаж том төмөр дээр бичсэн код маань сериал портоор дамжиж суурилсан систем дээр хуулагдаж ажиллаад байгааг ойлгодоггүй, тэгээд суурилсан систем тун сонирхолтой санагдсан тул орой нь гэртээ очоод нэг гэрэлтдэг диод олж аваад сериал портын үзүүр дээр залгаж үзэв. RS232 сериал портын үзүүр -12 болон +12 вольтын хооронд хэлбэлзэж мэдээлэл дамжуулдаг тул юу гэж гэрэлтэх вэ дээ. (Уг нь параллель порт дээр залгасан бол асах байсан хэхэ) Үүнээс хойш суурилсан систем, тэр тусмаа микроконтроллер програмчлал сонирхох болсон билээ. Тухайн үед микроконтроллер програмчлалын/туршилтын хавтан их үнэтэй, над шиг шалдан оюутан худалдан авч чадахааргүй байв. 2005 онд сургуулиа төгсөөд эрдэм шинжилгээний ажилтан болсны дараа анхны цалингаараа Atmel STK500 гэдэг AVR микроконтроллер програмчлагч хавтан 100 еврогоор авч байж билээ. Тэр үеийг бодвол одоо микроконтроллер програмчлая гэвэл хямдхан хавтан байдаг болжээ. Хэрвээ суурилсан систем сонирхдог боловч их хэмжээний мөнгө зарах сонирхолгүй/чадалгүй хүмүүс байвал хэрэг болох болов уу гээд зарим нэгийг нь сонирхуулахаар шийдлээ:

MSP430 LaunchPad
Texas Instruments компани MSP430 хэмээх 16 битийн микроконтроллероо рекламдаж MSP430 LaunchPad гэж туршилтын хавтан хийжээ. 4.30$ -ын үнэтэй (2 пивоны үнэ гэсэн үг). 2 ширхэг микроконтроллер дагалдаж ирнэ. Shipping cost нь буюу тээвэрлэх хөлс нь үнэгүй гэж байгаа.

STM8S Discovery
STMicroelectronics компани STM8S хэмээх 8 битийн микроконтроллероо рекламдаж 10$ -ын үнэтэй STM8S Discovery гэдэг програмчлалын туршилтын хавтан хийжээ.

AVR Butterfly
Atmel компани AVR хэмээх 8 битийн микроконтроллероо рекламдаж AVR Butterfly хэмээх 20$ -ын үнэтэй туршилтын хавтан хийжээ. Эхний хоёр хавтантай харьцуулбал төрөл бүрийн мэдрэгч, LC дэлгэц болон speaker агуулсан учир юм гагнах дургүй хүмүүст хамгийн тохиромжтой. AVR микроконтроллер нь сонирхогчдын дунд хамгийн их тархсан микроконтроллеруудын нэг тул жишээ программ элбэг олддог.

2010/06/25

Үбүнтү/Дэбиан машинуудад ижил програм суулгах

Өмнөх сараачсан зүйлүүд дээр бяцхан чөтгөр дээрх суугдсан портуудыг хэрхэн нэг машинаас нөгөө машинд зөөвөрлөж болох талаар өгүүлсэн байдаг. Энэ хэсэгт би үбүнтү ба дэбиан машинууд дээр хэрхэн тэгж болдог тухай нэг сараачаадхая :)

За тэгэхээр эхлээд суугдсан пакетуудыг харах тушаал:

# dpkg --get-selections
ack-grep                                        install
acl                                             install
acpi                                            install
acpi-support                                    install
acpid                                           install
addressmanager.app                              install
adduser                                         install
aespipe                                         install
aisleriot                                       install
akonadi-server                                  install
alacarte                                        install
alien                                           install
alsa-base                                       install
alsa-oss                                        deinstall
alsa-source                                     install
alsaplayer-alsa                                 install
alsaplayer-common                               install
alsaplayer-gtk                                  install
anacron                                         install
anki                                            install
[...]

Ингээд дээрх тушаалыг ашиглан зэрэгцүүлэх машин дээрээ эхлээд пакет жагсаалт бэлдэнэ:

# dpkg --get-selections | grep -v deinstall > dpkg-get.txt

Одоо суулгах машин дээрээ файлаа хуулж тавиад дараах тушаалаар суулгана:

# dpkg --clear-selections
# cat dpkg-get.txt | dpkg --set-selections
# apt-get dselect-upgrade

Хэрэв эхний машины /etc/sources.list файл нь хоёр дахь машиныхтай зөрүүтэй бол адил болгох хэрэгтэйг анхаараарай.