2012/01/31

Зугтаад! \Зүүд\

Хүн яагаад зүүдэлдэг юм бол? Мэдэхгүй ч гэсэн бас зүүдгүй байсан бол амьдрал уйтгартай ч юм шиг. За, тэгээд хоёр хоногийн өмнө зүүдэлсэн зүүдээ ярья.

Ногоон зүлэг, саарал манан, дүнсгэр ой, чулуун гүүр. Бид олуулаа явж байна. Би цэргийн дүрэмт хувцас өмсчихсөн, жадтай буу мөрлөөд надтай адил тэдгээр хүмүүстэй хөл нийлүүлэн алхаж явна. Миний өмссөн тэр цэргийн хувцас бол Монголынх л лав биш. Лав л Америкийн иргэний дайны үеийн цэргүүдийн хувцас шиг санагдсан. Бид бүгд л дайнд явж байлаа. Бид алхах тусам гүүр ойртсоор л байлаа. Ойртсоор л байлаа. Дөнгөж гүүрний дэргэд иртэл урдаас бөөн хар өнгөтэй, мөн загвар нь бидэнтэй адил цэргийн хувцастай бөөн цэргүүд гүүрний нөгөө талаас уухайлан дайрч байна. Бид ч бүгд гэнэт сандарч ухрах гэтэл хажуу талаас бас цэргүүд ороод ирлээ.

2012/01/30

Facebook and Love


Би Нүүрний Номоос гарсан. Нэлээд удаж байна. Түүнд зориулж байгаа цаг надад дэндүү үрэлгэн санагдсан болохоор би хаясан. Цаашид ч надад утгаа алдсан. Гэвч өнөө шөнө би ормоор санагдсан \Тэтрис гэж гайхамшигтай тоглоомоос болж\, орсон, 6-н найзын хүсэлт байсан, тэр дунд нэгэн нэр хамгаас содон харагдсан. Энэ нэр надад хамгаас эрхэм агаад нандин нэгэн хүнийг санагдуулсан. Яагаад ч юм би түүнийгээ Нүүрний номын хайлтаар хайсан, гарч ирсэн. Нүүрний номоо хаасан байсан шүү дээ. Гэхдээ буцаагаад нээсэн бололтой. Түүний зургийг хараад л зүрх хүчтэй цохилж, дотор минь бачимдан, битүүхэн шаналж...

2012/01/28

PlayStation 1-ийг Linux дээр

Tekken гэвэл танд юу санаанд орж байна? Мэдээж PlayStaion биз дээ. За, тэгээд Tekken тоглоомоо санаад, дээр нь өөрийн цахим тооцоолуур тогломоор санагдаад нэтээс хайж эхлэв. Мэдээж Цонх анх дээр бол хамгийн шилдэг эмулетор програм бол pSX билээ. Тэгээд л Убунту дээрээ pSX суулгах гээд үзлээ. Дарс (WINE)-аар үзсэн болдоггүй ээ. За, тэгвэл Лайнукс дээрх хувилбарыг нь хайсан аз болж байна шүү. Тэгээд л татаад суулгасан чинь Убунту ахын хурдан хөгжлөөс аль хэдийнээ хоцрогдсон байдаг байгаа. Баахан амбсын файлууд нэхээд, нөгөөдөхүүдийг нь нэтээр нэг самнаад. Арай гэж олоод суулгахаар одоо энэ хэрэгтэй, тэр хэрэгтэй гээд л. Тэгж тэгж нэг юм цонх гаргадаг болгосон шүү. Тэгсэн bio файлаа уншдаггүй ээ. Хэдэн цаг нухсан бүхэн ингэж нэг талаар боллоо.

2012/01/24

Амрах цаг боллоо!

Та компьютер дээр хир удаан суудаг вэ? Би лав нэг суугаад л ертөнцөөс тасарсан л юм шиг болчихдог. Тэгтэл сүүлийн үед нуруу өвддөг боллоо. Манай найз нар ч гэсэн нуруу нь өвддөг болжээ. Тэгээд яах вэ? өөртөө нэг зориулж нэг бүрхүүл код Убунту дээр бичлээ.

30 минут болоод нэг анхааруулга өгөөд 5 минут амарч байхаар тохирууллаа.
Код нь:

notify-send Ажилдаа\!
while true;do
    sleep 1800
    notify-send Амраад\!
    t=30
    while [ $t -gt 0 ];do
        notify-send $t
        t=`expr $t - 1`
    done
    notify-send Ажилдаа\!  
done


Энийгээ sh өргөтгөлтэй хадгалаад ажиллуулах эрх олгоод л болоо. startup applications-даа хийчихвэл машин чинь асах болгон автоматаар бүрхүүл кодоо ажиллуулчихна. Тэгээд өөртөө зориулаад 5 минут амар!

2012/01/19

Анхны тоо олох эртний Грекийн арга

За хальт юм хум харж явсан чинь нэг ийм арга байна хө. Сонирхолтой болов уу? гэж бодож байна.

За би 20 хүртэлх тоонуудаас анхны тоонуудыг ялгая.

  1. 1-оос 20 хүртэлх тоогоо жагсаана.
          1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
  2. Анхны тоо гэж хоёрхон хуваагчтай натурал тоог хэлдэг. Уг тодорхойлолт ёсоор 1 маань 1 гэсэн ганцхан хуваагчтай тул анхны тоо биш юм. Тэгэхээр 1 ийг дарлаа.
          1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
  3. 2-ын тооноос эхлэн хоёроор тоолж тоонуудыг дарна. Тэгэхээр 4, 6, 8, 10, 12, 14, 16, 18, 20 тоонууд дарагдана.
          1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
  4. 3-аас эхлэн гурваар тоолж тоонуудыг дарна. Тэгэхээр 6, 9, 12, 15, 18 тоонууды дарагдана.
          1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
  5. 5-аас (4 дарагдчихсан) эхлэн таваар тоолж тоонуудыг дарна. 10, 15, 20. Аль хэдийнээ дарагдчихаж.
  6. 7-оос эхлэн долоогоор тоолж тоонуудыг дарна. 14. Бас дарагдаас.
  7. 11-ээс эхлэн 11-ээр. За цаашаа дарагдах тоонууд гарахгүй юм байна.
  8. Одоо үлдсэн тоонууд биччихээр чинь
            2, 3, 5, 7, 11, 13, 17, 19            За энэ дээ. 1-ээс 20 хүртэлх тооны хоорондох бүх анхны тоонууд.
Цаашаа 100, 1000 энэ тэрийг ингээд бодож болно. Гэхдээ энэ арга аль ампсын үеийн арга л даа. Хэн л одоо хэдэн мянга хүртэл тоолоод суух вэ дээ.

2012/01/18

Мастурбаци

Сармагчин бид хоёр л
Сааж чадна
Сайхан хүүхний зураг
Сармагчинд байхгүй ч
Гавал байна
Гар байна
Ганцаардал байна
Галзуу дур байна
 
Сармагчин бид хоёр л
Сааж чадна
Сармагчинд
Сармагчингийн
Сүрэг байвч
Саах хэрэг гарна

Сармагчин бид хоёр л
Сааж чадна
Ганцаардахад
Гар байна
Гавал байна
Галзуу дур байна

Сармагчин бид хоёр л
Сааж чадна
Хүн сүрэг
Хажууд байвч
Харин саах
Хэрэг гарна.   \Б.Галсансүх\

2012/01/11

Code::Blocks IDE-ийн xterm терминалыг gnome-terminal-аар солих

Code::Blocks гэж юу вэ?

Code::Blocks бол үнэгүй, нээлттэй эхтэй, олон үйлдлийн систем дээр ажилладаг програм хөгжүүлэгч юм. Үндсэн хөгжүүлэх програмчлалын хэл нь С\С++. Мөн DirectX, Fortran, GTK++, MATLAB, OpenGL, Qt, SDL гэх мэт олон програмыг үүсгэж чаддаг.

Олон төрлийн хөрвүүлэгчдийг дэмждэг. Тухайлбал MinGW/GCC, Digital Mars, Microsoft Visual C++, Borland C++, Watcom, LCC, Intel C++ compiler.

Dev C++, Microsoft Visual C++-ийн төслүүдийг (project) ажиллуулдаг, гэх мэт.

Си дээр програм бичихэд тун зүгээр. Eclipse дээр Си аймаар удаан ажилладаг. Терминалаас хөрвүүлнэ энэ тэр гэхээр залхуу хүрээд байдаг. Code::Blocks л хамгийн дажгүй санагдсан.

Тэгсэн нэг гэм нь терминал нь икстерм (xterm) дээр юм аа. Тэгээд жином-терминал болгох хүсэл их байлаа. Тэгсэн их амархан сольчихдог юм байна.

Settings -> Environment гэж ороод General settings цэс дотор Terminal to launch console programs: гэсэн хэсэг дээр gnome-terminal -x гэж болгоод л терминал чинь жином-терминал болчихсон байна.

Флашгот(Flashgot) дээр хүссэн Интернет Татагчаа оруулах

Миний хамгийн дуртай програмуудын нэг нь Флашгот. Жилийн өмнөхөн л Виндөвс ахаас Убунту руу шилжиж билээ. Тэгсэн нөгөө алдарт Интернет Дөвшлөүд Менежер (Internet Download Manager - АиДиЭм) гуай Лайнукс дээр байдаггүй. Сайтаас видео энэ тэр татах болсон чинь болдоггүй. Тэгээд хайж байгаад Мозилла(Mozilla) ахын Файрфокс (Firefox) дээр Флашгот байж нэг нар гардаг байна ш дээ. Флашгот бол сайт дахь медиаг барьж аваад татагчтай холбож өгдөг файрфоксын нэмэгдэл юм.

Тэгсэн бас болоогүй ээ. Нөгөө татагчид нь арай удаан байлаа. АиДиЭм шиг л хурдан татдаг татагч хэрэгтэй байлаа. Тэгсэн Аксел (Axel) гэдэг нэг сайхан залуу гараад ирлээ. Акселыг суулгахаар Флашгот дээр автоматаар нэмэгдчихдэг юм байна. Даанч нэг гэм нь терминал дээр ажилладаг татагч нар маань икстерм (xterm) терминал дээр ажиллаад байх юм. Икстерм-д би дургүй ээ.

Саяхан надад акселийн икстермийг жином-терминал (gnome-terminal)-аар солих хүсэл бий болоод Гүүглэ ахаасаа шалгаалаа. Тэгсэн Монголын Лайнукс бүлгэмийн вики дээр байна. Тэгээд л хүсэж байсан мэдлэгээ олж авлаа. Баярлалаа Лимнукс-даа.

За өөрийнхөөрөө нэг товч тайлбарлачихъя.

1. Танд Флашгот, Интернет татагч чинь байгаа
2. Интернет татагчаа ашиглах бүрхүүл (shell) кодоо бичнэ.
   
Акселын хувьд нэг иймэрхүү.
#!/bin/bash

cd /home/CHANGE_IT_TO_YOUR_USERNAME/Downloads
gnome-terminal --command "axel -an 10 $1" 
 
Татсан файл чинь ~/Downloads дотор хадгалагдана. Дураараа өөрчилж болно.
--command гэдгийн ардаас Татагчийнхаа командыг бичиж өгнө. Тэгээд л sh өргөтгөлтэй хадгална. Жишээ нь дээр бүрхүүл кодыг axel1.sh гэж хадгалъя.


3. Флашгот-доо нэмье. Файрфоксын tools->Flashgot->More Options гэж ороод
General цэс дээр Add гэдгийг дараад axel1 гээд нэр өгчихье. Тэгээд Executable path дээр нь өнөөх бүрхүүл код axel1.sh ээ заагаад өгнө. Тэгээд OK товч дараад дуусаа.

4. Файл татахдаа axel1 гэсэн татагчаа сонгоод л татна.

Одоо хүссэн татагчаа флашгот руу оруулж чаддаг боллоо. Баяр хүргэе!

2012/01/09

Оруулах эрэмбэлэлт (Insertion Sort) [Lisp VS C]

Оруулах эрэмбэлэлт бол маш энгийн эрэмбэлэлт. Бид ихэвчлэн амьдралдаа энэ эрэмбэлэлтийг хэрэглэж байдаг. Үндсэн санаа нь бол жагсаалтаас нэг элементийг нь аваад эрэмбэлэгдсэн жагсаалт руу зөв байрлуулахад оршдог. Уг эрэмбэлэлтийн давуу талууд гэвэл:
  1. Хялбархан, ойлгомжтой
  2. Жижиг жагсаалтыг хурдан эрэмбэлдэг
  3. Нэмэлт санах ой шаардлагагүй
  4. Бараг эрэмбэтэй жагсаалтад илүү үр дүнтэй
  5. Жагсаалтын хэмжээнээс үл хамааран эрэмбэлж эхэлдэг гэх мэт
Үндсэн санааг нь дээр дурдсан. Псевдо код нь:


 for i ←1 to i <= length(A)-1
     key ← A[ i ]
     > A[ i ] is added in the sorted sequence A[0, .. i-1]
     j ← i - 1
     while j >= 0 and A [ j ] > key
         A[ j +1 ] ← A[ j ]
         j ← j -1
     A [j +1] ← key
 
 
 Хугацааны хувьд:
                 Сайн тохиолдолд (Бараг эрэмбэлэгдсэн): Ө(n) 
                 Дундаж тохиолдолд: O(n^2)
           Муу тохиолдолд : О(n^2)
 
Си хэл дээр:

#include <stdio.h>
//Массиваа хэвлэнэ
void print_array(int a[], int n)
{
    int i;
    for(i = 0; i < n; i++)
        printf("%d ", a[i]);
    putchar('\n');
}

void insertion_sort(int a[], int n)
{
    int i, j;
    int key;
    for(i = 1; i < n; i++)
    {
        key = a[i];
        j = i - 1;
        //key-ээс их элементүүдийг урагшлуулж
        while(j >= 0 && a[j] > key)
        {
            a[j + 1] = a[j];
            j--;
        }
        //Үүссэн хоосон зайд key орно
        a[j + 1] = key;
        //Массивыг хэвлэж байна
        print_array(a, n);
    }
}

int main()
{
    int a[8] = {6, 5, 3, 1, 8, 7, 2, 4};

    print_array(a, 8);
    insertion_sort(a, 8);

    return 0;
} 
Гаралт нь:
6 5 3 1 8 7 2 4 
5 6 3 1 8 7 2 4 
3 5 6 1 8 7 2 4 
1 3 5 6 8 7 2 4 
1 3 5 6 8 7 2 4 
1 3 5 6 7 8 2 4 
1 2 3 5 6 7 8 4 
1 2 3 4 5 6 7 8 
 
Lisp дээр:

2012/01/08

Виндөвс (Windows) дээр Лайнукс (Linux)-ыг мэдэрцгээе!

Юникс(UNIX) програмчлал үзэж байгаатай холбогдуулж бүхэл бүтэн үйлдлийн систем суулгахгүйгээр ердөө Виндөвс дээрээ л Юникс, Лайнукс програмчлалыг хийж болохуйц програмыг танилцуулж байна. Энэ бол Сигвин (Cygwin). Сигвиний уриа бол Виндөвс дээр Лайнуксыг мэдэрцгээе! За тэгээд сонирхоно биз дээ.

www.cygwin.com

Байтын Гайхамшиг


Уншаад үз! Програмист хүн ямар байх ёстойг мэдэх болно.


Эх сурвалж: www.hw009.blogspot.com

2012/01/07

Програмист хүний бодрол \Дмитрий Галущенко\

...Бидний ажил төрөлд ямар их мэдлэг мэргэшил, ямар их нөр хөдөлмөр ... өч төчнөөн шөнийн нойр хугаслах хэрэгтэй болдгийг эд даанч мэдэх биш, мэдэхийг ч хүсэхгүй амар амьтас.

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

Үүнийг шинээр гарч ирсэн энэ хоосон толгойтнууд ... фокспар, клиппер, бейсик дээр муруй сарий эрээччихээд өөрсдийгөө лут програмист болчихсон мэтээр төсөөлж цээжээ дэлдэгчид л лав ойлгохгүй. Тэд чинь "Ингэхэд би ямар команд сонговол зүгээр вэ, хаанаас help-ийг нь олох юм бэ... заавар нь тэгээд орос Монголоороо байгаа юм уу ..." гэхчлэн яршигтаж өгнө!

Тэдний "soft" гээд байгаа юм нь ердөө энэ гээд бодохоор өрөвдмөөр инээдтэй. Програм мрограм "бичлээ" гэж сүржигнэж гайхуулаад байдаг зүйл нь нэг их нэлийж бөөгнөрсөн өгөгдлийн сан, алин цагийн өнөөх агуулах, ня-бо бүртгэл ... шал донгио эд.

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

Цагаа тулахаар энэ муусайн техно хархууд ч бидний гүйцэд сайн ойлгохгүй?! Халдварт вирус үржүүлж хамаг амьтныг хорлон сүйтгэж байж алдаршина гэж хачин шүү ... ёстой түй чёрт!

Дмитрий Галущенко-ын "Байтын гайхамшиг" номоос

2012/01/05

Бүүпасандрагийн Шинэ Жил

Бүүпасандрагийн Шинэ Жил

Цагийн зүү дээшээ мацна
Цасан ширхэг ч байхгүй
Өвлийн өвөө ч байхгүй
Сүлд мод ч байхгүй
Бүрэн бус санагдаад
Бүгдээр цуглах санаа авч
Бүтэл үгүй санаа нийлэхгүй
Бүтээх сэтгэл бүрдүүлэх гээд
Бөөнөөр ярилцан сууна
Бүүпасандрагийн шинэ жилээр

Цагийн зүү дээшээ мацна
Цасан ширхэг ч байхгүй
Өвлийн өвөө ч байхгүй
Сүлд мод ч байхгүй
Отто аваад дэлгүүр орсон
Олон ч уут болсон
Олуулаа гэртээ аваачсан
Онцолж нэг нь дутсан
Бүүпасандрагийн шинэ жилээр

Цагийн зүү дээшээ мацна
Цасан ширхэг ч байхгүй
Өвлийн өвөө ч байхгүй
Сүлд мод ч байхгүй
Шоо махтай битүү тогоо
Ширүүдсэн гал, шөл хоёрт зовоод
Шалаар дүүрэн тосоор бөөлжөөд
Шинэ жилийн мөсөн гулгуур
Тосон гулгуур болоод
Бүүпасандрагийн шинэ жилээр

Цагийн зүү дээшээ мацна
Цасан ширхэг ч байхгүй
Өвлийн өвөө ч байхгүй
Сүлд мод ч байхгүй
Хоёроос нэг нь ирсэн, хангалттай
Хийсэн хоол гэдэс цатгана, өлссөний эцэст нь
Авчирсан идээ ширээн дээр өрөөстэй
Арван минут дутуу байна хүмүүсээ
Бүүпасандрагийн шинэ жилээр

Цагийн зүү дээшээ мацна
Цасан ширхэг ч байхгүй
Өвлийн өвөө ч байхгүй
Сүлд мод ч байхгүй
Ёс бодож пуужин нисгэсэн, дэлбэрсэн
Амь насанд гайгүй ээ, зүгээр
Ирэх жилийн барцад нь арилж байгаа юм
Ердөө 1 минут дутуу байна, хү ха
59, 58, 57, хурдлаарай, оргилуун дарс
40, 30, 20, ..., хундагануудаа
3, 2, 1, пок, шинэ он
Бүүпасандрад шинэ он гарлаа 



2012 оны 1-р сарын 1. М.Цэцэнцэнгэл