Two things are infinite: the universe and human stupidity; and I'm not sure about the universe ...
Albert Einstein

A computer would deserve to be called intelligent if it could deceive a human into believing that it was human ...
Alan Turing

Two things control men's nature, instinct and experience ...
Blaise Pascal


Во SoftwareMK
Во Најди!


Hits:
Virtual Macedonia 

Topsites


PageRank Checking Tool
 View My Public Stats on MyBlogLog.com
World Cup 

Counter


Powered by Blogger


View My Stats

Sunday, March 25, 2007

Мојата Топ 10 листа на совети

Секогаш е интересно да слушнеш или прочиташ различни размислувања, посебно ако се тоа ДА/НЕ, или ТРЕБА/НЕТРЕБА совети во кои некогаш ќе се препознаеш самиот себеси, а некогаш ќе најдеш критика за својот начин на работа, или пак едноставно нема да се согласиш со напишаното.

На Coding Horror блогот најдов интересен пост Top 6 List of Programming Top 10 Lists.

Посебно ми се допаѓа листата на Jery Weinberg, The 10 Commandments of Egoless Programming.

Базирана на моето скромно искуство, мојата Топ 10 листа на совети би изгледала вака:


  1. Критикувај го својот код. Самокритиката е доблест, а не маана.

  2. Не започнувај да работиш пред јасно да ги разбереш бизнис барањата (business requirements). Не започувај да работиш ако не знаеш што треба да направиш.
  3. Не започнувај да работиш, ако не знаеш како нешто да направиш.
  4. Тестирај пред да кажеш ДА! Мораш да имаш соодветна околина за тестирање. Истата треба да биде многу слична на продукцијската и да дозволува приближна процена на перформансите кога кодот би бил во продукција. Внимавај, перформансите на кодот не се исти кога истиот се извршува над 100 и над 100,000 записи во база. Перормансите на кодот не се исти кога на истиот пристапуваат 10, 100 или 1000 корисници.
  5. Дискутирај пред и за време на програмирањето!
  6. Примај совети од другите, немој да мислиш дека знаеш се!
  7. Copy+Paste Никогаш!!!
  8. Документирај го тоа што си го направил. Ако немаш соодветен софтвер за версионирање, прави бекап од секоја добра верзија на својот код.
  9. Никогаш не ја оставај идејата за утре. Утре, може да биде премногу доцна.
  10. KISS, Keep it Simple and Stupid


Поздрав!

Saturday, March 24, 2007

Oracle TimesTen 10 пати побрзо!

TimesTen е една од аквизициите кои Oracle ги направи не толку одамна (Јуни 2005).

TimesTen е база која комплетно е алоцирана во физичката меморија на серверот. Значи поентата е што повеќе да се елиминира I/O операциите со хард дискот.

За манипулација со податоците користи јазик базиран на SQL стандардите.

Главни компоненти во поглед на архитектурата се checkpoint file и log file. Кога се подига базата, целосната содржина на checkpoint датотеката се реплицира во физичката меморија.

Секоја трансакција се запишува во лог датотека, која периодично се користи за освежување на checkpoint датотеката. Ова значи дека во случај на ненадејно паѓање на системот трансакциите не се губат со губењето на физичката меморија. Кога системот ќе се подигне повторно и базата се стартира, TimesTen ја вчитува содржината на checkpoint датотеката и ги процесира трансакциите од лог датотеките кои не биле запишани во checkpoint датотеката во моментот на губењето на меморијата.

Нормално дека критична компонента на оваа база е checkpoint датотеката. Со нејзино губење се губат и податоците. Како превентива, TimesTen нуди опција за репликација податоците со што би се заштитиле истите во случај на оштетување на checkpoint датотеката.

TimesTen може да работи како самостојна база, или пак да претставува front-end кеш на голема Oracle база која работи во позадина.

Значи овој продукт нуди можност за употреба заедно со стандардна Oracle база. Со оваа солуција добивате робусно решение кое може во голема мерка да ги подобри перформансите на апликацијата.

Суштината на ваквото решение би била во кеширање на најмногу користените податоци со што би се намалило времето на извршување на query-јата.

Табелите кои сакате да ги кеширате ги сместувате во посебни кеш групи.

TimesTen нуди можност за делумно кеширање на податоците од една табела. Податоците во TimesTen се освежуваат со податоците од главната база синхроно или асинхроно. Постои и можност за on-demand освежување.

Но, сега би се поставило прашањето кои табели да се кешираат?

Мое мислење е да се кешираат табели чии податоци се воглавно read only или пак се "речиси" read only.

Зошто?

Ако сакате да кеширате голема табела врз која ќе извршувате комплесни query-ја, TimesTen нема да ви ги даде очекуваните перформанси. Имено, позади Oracle базата стои Oracle Optimizer кој ви помага да ги добиете вашите податоци на најбрз можен начин. TimesTen не е толку суфистицирана. На пример во случај на извршување на комплексно query кое што вклучува итеративно извршување на sub-query TimesTen најверојатно ќе го извршува sub-query-то за секој рекорд кој го враќа назад. Тоа води кон интензивно читање на меморијата кое во случај да sub-queryto процесира повеќе податоци, може многу да го успори вкупното извршување. Oracle CBO Optimizer-от би го процесирал sub-query-то само еднаш, без разлика дали главното query враќа 1, 100 или 100,000 рекорди. Во следниве денови планирам да направам неколку теста па ќе ви ги презентирам резултатите.

Мое мислење е дека TimesTen најкорисна би била за трансакции кои процесираат малку податоци со помош на едноставни query-ја. Кешираните податоци би требало да бидат read-only или "речиси" read-only. Секој обид за кеширање на големи бази со висок степен на I/O активности би довел до намалување на перформансите.

TimesTen би можела да се користи како меѓу-ниво помеѓу базата и апликацискиот сервер. Со мала измена на апликацијата, некои query-ја би пристапувале кон TimesTen, а други кон главната Oracle база.

Сешуте ја истражувам TimesTen, ако дојдам до некои интересни заклучоци сигурно ќе ги објавам.

За оние кои сакат да ја пробаат, TimesTen може да се симне од овде.

За повеќе информации, можете да ја посетите официјалната страница на Oracle TimesTen.

Sunday, March 18, 2007

Алатки без кои неможам...


Алатки без кои неможам да си го замислам работниот ден:


  1. Cygwin ја користам кога работам на оддалечени UNIX-базирани сервери. (Solaris, AIX, Red Hat Linux)

  2. PowerTerm ја користам како terminal server емулатор за работа со оддалечени OpenVMS сервери.

  3. VNC ја користам како terminal server емулатор за работа со оддалечени Windows сервери и десктоп компјутери.

  4. Telnet, денот ми почнува и завршува со Telnet.

  5. PL/SQL Developer, ја користев уште во Македонија како алатка за развој на PL/SQL код.

  6. SQL Developer ја користам за истата намена како и PL/SQL Developer. Оваа алатка е продукт на Oracle и е бесплатна. Плус ми се допаѓа работната околина е фактот дека е независна од системската платформа. Мислам дека е малку пофлексибилна од PL/SQL Developer.

  7. Oracle Enterprise Manager - Grid Control, за контрола и администрација на Oracle базите.

  8. SQL*Plus, ништо неможе да се спореди со слободата да се конектирате од било кој оперативен систем на било која база (нормално ако имате валидна мрежна конекција до серверот каде што се наоѓа базата)

  9. iSQL*Plus, малку покомплицирана Web варијанта на SQL*Plus, ми дава можност да се конектирам на било која база од било кој компјутер кој има пристап до интернет и нормално некаков пребарувач.


Wednesday, March 14, 2007

Среќен Pi-ден !!!

После подолг период еве ме повторно. Не кренав раце од блогосверата, едноставно некои активности имаа многу поголем приоритет и неможеа да бидат запоставени, така да ми остануваше многу малку слободно време. Морам да признаам дека понекогаш не помислував да го уклучам компјутерот (дома) дури неколку дена.

Инсталирањето на неопходните "закрпи" за што побезбедна имплементација на 2007 Daylight Saving Time беше една од поважните активности кои ги работев на работа. Помина фамозниот 11 Март, сега за сега се е во ред.
Поради оваа промена моментално, Чикаго е 6 часа зад Скопје (нормалната разлика е 7 часа) и тоа ќе потрае до 1 Април кога се ќе си дојде на свое.

Неодамна го посетив New York. Тоа беше моја прва посета на овој фантастичен град. Гужва, уличен хот дог, Central Park ќе ми останат во сеќавање.

Да се вратам во реалноста. Вчера добив mail од Sun Microsistems ме канат да учествувам во тестирањето на GlassFish V2 Beta. Добро, mail-ot не беше специјално до мене туку до Firstname и започнува со Dear [Firstname]...
Сега одма се прашувам, дали пораката ја генерирале во GlassFish работна околина?! :-)
Во mail-от понатаму се нагласува дека четворица учесници, чиј придонес ќе биде оценет како најдобар, може да добијат Apple iPod Nano со 2GB меморија. Всушност учесниците ќе го оценуваат продуктот, читај тестираат.
Ако е од Sun, МАЛКУ Е!!! Плус е ограничен на државите од кои доаѓаат учесниците. За жал ја нема Македонија.

Среќен Pi-ден

За крај сакам да ве прашам дали знаете дека денес е Денот на бројот Pi?
Имено, овој ден е прифатен како официјален празник на математичката константа Pi.
Се празнува во Математичките оддели кои се дел од образовните и научно истражувачките центри.
Математичарите го празнуваат на најразлични начини, еве некои од поинтересните:


  1. Конвертирање ги работите во Pi

    1. На пример за 12 часот велат Pi/2

      Ако некој има 31 година, велат дека е стар 10pi години. Кога е вашиот следен Pi роденден?

  2. Јадење храна која почнува на Pi: пица, пита, ...

Еве неколку адреси кон интернет страници кои имаат интересни информации поврзани со денешниот ден:
PiDay.org
Како да го прославите Pi-денот.
Активности за Pi-денот
Доказ дека 22/7&>Pi
СРЕЌЕН Pi ДЕН !!!

Но, денес не е само значаен за бројот Pi. На 14 Март 1879 година е роден Алберт Ајнштајн (1879-1955)


Значи навистина посебен ден!!!

Wednesday, December 13, 2006

Mr.Brain

Reading, after a certain age, diverts the mind too much from its creative pursuits. Any man who reads too much and uses his own brain too little falls into lazy habits of thinking. - Albert Einstein

Од една страна и не е толку лошо да патуваш секој ден од дома до работа и назад по еден час во еден правец. Всушност, додека се возам во CTA воз секогаш читам нешто, најчесто стручна литература со која си го обновувам знаењето или го повторувам веќе стекнатото по пат на само-тестирање. Има денови и кога не ми се чита ... тогаш решавам SUDOKU.

SUDOKU е страшно заразна лигичка игра, идеална за "квалитетно" трошење на слободно време. Има неколку нивоа на тежина и има многу едноставни правила на играње. SUDOKU е игра која те тера да размислуваш Outside of the Box. SUDOKU е моментално најпопуларна игра која се игра по возови, по чекалници, во аеродромски терминали ... Издадени се многу книги со SUDOKU сложувалки.

6,670,903,752,021,072,936,960 е конечниот број на можни комбинации на SUDOKU матрицата. До тој број дошле Bertram Felgenhauer and Frazer Jarvis.

Јас најчесто го користам http://www.websudoku.com/ за да си испечатам SUDOKU сложувалка која ќе ја решавам во наредниот ден.

Дали сум Freak или само сакам да си го тренирам мојот мозок?

Една доста интересна статија до која дојдов преку некој блог, во која се опишуваат 22 начини да го оверклокуваш твојот мозок.

Во статијата се употребени резултати од најразлични истражувања.

Како 8-ми начин е наведена потребата од решавање на сложувалки (во групата на сложувалки ги опфаќам и крстозборите) ... Решавајќи ги нив, во слободно време, е добар начин да го активирате вашиот мозок и да го одржувате во добра кондиција.

Како 10-ти начин се навидува потребата од Подобрување на веќе стекнатите знаења ... и овде се препознав себеси ...

Значи сепак тоа што го правам додека се возам во воз е ништо друго туку интуитивна потреба од тренинг на мојот мозок.

И повторно Ајнштајн
The only real valuable thing is intuition.

Дали Вие го тренирате Вашиот мозок?!

Sunday, November 26, 2006

1.01MB/s

Најмногу до сега ...

Friday, November 03, 2006

Син екран, жолти букви и OpenVMS - Идила :-)

OpenVMS, е последниот оперативен систем кој што морав да го научам, и тоа за многу кратко.
Добро, морам да признаам дека не го познавам толку за да можам да се фалам со тоа.
Син екран, жолти букви, идила :-) VAX едиторот е приказна сама за себе.

cd disk$oradata4:[tekic.oracle]

ќе ме однесе до директориумот oracle кој е дел од профилот tekic и се наоѓа на дискот oradata4.

Ако сакам да пребарувам некој фајл кој се наоѓа во профилот tekic, тогаш ја користам следнава команда

dir disk$oradata4:[tekic...]ime na datotekata

ако сакам да отидам до директориумот admin кој се наоѓа во disk$oradata4:[tekic.oracle] тогаш тоа ќе го направам со следната команда

cd disk$oradata4:[tekic.oracle.admin] или ако веќе сум во disk$oradata4:[tekic.oracle] тогаш со cd [.admin]

ако сакам да се вратам едно ниво подолу, тогаш

cd [-]

Загради, загради и само загради и секогаш, речиси секогаш да се наведува комплетната патека...

Моментално базите кои ги администрирам се распоредени на неколку оперативни системи: Sun Solaris, AIX, RedHat Linux, Alpha OpenVMS и Windows (Овој последниов го ставив намерно на крај :-)).

Но сепак, не се жалам, интересно е :-)

Ако ви треба некаков help или совете, повелете, несебично ќе го поделам своето знаење со Вас (барем тоа што јас го имам апсорбирано).


Неколку корисни OpenVMS линкови:
OpenVMS Community Portal
HP OpenVMS Technical Journal
Documentation