31. dets 2007

Mida oodata aastalt 2008

Oeh ei teagi, eile 30 dets 2007 kiikasin diislihinda 15.70, 1. jaanuarist pannakse aktsiis otsa 1.33...kuramus....elekter saab ka aktsiisi.

Ehk majanduslikult tuleb raske aasta, kuna maja ka vajab ehitamist, loodame parimat !

Seniks Head uut aastat !

22. dets 2007

Inimesed võiksid mõtlema hakata või peavad ujuma õppima...

Vaatan kalendrisse, 22.detsember õues +2-+6 kraadi, kalendris öeldud, talve algus...

See aasta olnud tulekahjud Californias, Austraalias ning Kreekas, mis veelgi globaalsele kliima soojenemisele hoogu andnud. Nii edasi on lood väga pahad. See aasta täheldasin, et haigusi levib ka väga palju.

Karm värk...ja karta on karmimaks läheb....

20. dets 2007

Hea Hiina vanasõna

"Parem elada päev tiigrina, kui 100 aastat lambana...."

16. dets 2007

MYSQL (odbc) naljad

Mjah...tuli mul feedreaderisse uudis, et mysql odbc 5.1.1 välja, lahe, oligi vaja kasutada koos adoga teda. Jõudsin juba rõõmustada, aga enneaegselt. Kui odbc 5.1.0 sisaldas viga, kui kirjutasid mediumtext väljale, mis oli utfd8 collationiga, siis sisuliselt jättis draiver vabastamata mälu, mis ta sisemiselt küsis selle teksti kirjutamiseks.

Ok, lahe oli, odbc 5.1.1, üllatus üllatus....mäluviga kadunud, viskasin näppu juba. Nüüd vaatasin, et mis jama on Delphi ADO + mediumtext annab tüübiks adLongVarWChar, väga õige, siis kadus ära märkude probleem utf8 puhul, kui conversion õigesti teha.

Muideks odbc 5.1.1 ei toeta enam parameetrit set names !!

Üllatused jätkusid, andmetüüp õige, kõik õige, aga ADO kaudu tuli välja VAID tühistring.
Kuidas ma ka ei proovinud, andis välja valet tüüpi infot, huvitav oli see, et ADO tuvastas selle kui blobina, aga datasize = 0. Mis näitas, et miskit juba mäda.

Eks lahendasin probleemi ära teistmoodi, väga rõveda hackiga, mille pean kahjuks hetkel enda teada hoidma.

Järgmine üllatus oli ADO + odbc koosluses oli: "Row handles must all be released before new ones can be obtained"; jah kursor ei olnud serveri pool;jah tabelit ei uuendatud, ega üritatud miskit lugeda. Tegemist mingi uue bugiga ODBC draiveris, ehk ootame jälle järgmist uuendust.... kurb

Nii, mida olen õppinud vaba tarkvara arendusest

Seda et olemas kahte tüüpi kasutajaid ...

A) viisakad ja normaalsed
B) ebanormaalsed.


Kuna ma terve elu asjadest rääkinud nagu asjad on ilma lillede ja liblikateta.

B) tüüpi kasutajad, eeldavad foorumit risustades, et nende probleemid kõikide omadest tähtsamad. Ja, et kui nemad kirjutavad peame kohe vigu parandama. Märgime ära, et tegemist tasuta tootega. Viga on viga, aga olemas sisemine nimistu, kus TODO, mingeid erandeid ei tee.

Pigem, natuke pean sõnu sööma, olen teinud erandeid sisse, kui A) tüüpi kasutajad viisakalt palunud...nagu öeldakse, et viisakus maksab.


Enamasti B) tüüpi kasutajad on vanuses 15-21 ja neil saab vastu ainult denial staatusega. Tihti, need B kasutajate "vead" on osutunud klaviatuuri ning tooli vaheliseks.

7. dets 2007

Rekordid tulevad imeliku tujuga

04.12.2007 läksin trenni ülimalt paha tujuga , seoses laste silmade probleemiga ja haigustega. Ja endagi imestuseks suutsin 86 kg teha rekordi, 3x150kg jõutõmme (kitsahaardega, mitte sumo stiil). Rohkem nagu polnudki täna miskit kirja panna

2. dets 2007

Nonii, olen portimise maailmameister...

Ehk avastasin, et olen teinud Feedreader backendile toetuse nii Firebird peale, MSSQL ja nüüd ka MYSQL... Kõige omapärasem on see, et Oracle peale pole veel asja portinud; põhjus suht lihtne, puuduvad käsud, top,limit või first. Rownumber ja subselectid ei sobi, samuti Autonumbrite loomine (sequences). Ju ta vist nii olegi, et suurtel omad puudused.....
Tahaks veel postgre toetuse ka anda. Aga krm ADO + ODBC draiver ja UTF8 = pain in .... piip, toimub märkide teisendamine valeks, isegi kui set names utf8 ja muud parameetrid seadistatud.
Aga, kui kuidagi ei saa, siis kuidagi ikka alati saab;))

15. nov 2007

Päev masendavate uudistega

15.nov 2007 kahjuks suri vanemate juures meie suur kutsu Rocky, ei tea, mis juhtus, lihtsalt kukkus kokku. Üldiselt väga masendav värk, ikkagi oli suur sõber, kahju:(

Mjah, viimastel aastatel neid surmasid liialt palju, kas Eesti närviline mõjub kõigile nii inimestele , kui ka loomadela...oeh jah

11. nov 2007

kas pessimist ja realist on erinevad isiksused

Üks päev öeldi, et ma suht pessimist. Natuke mõtlesin jah: hindasin korra ja leidsin pigem ma elan reaalses maailma ning vaatan tulevikku. Pessimist: teed pessimistlikud ootused...
kui tulevad kehvemad uudised ta oli selleks valmis, kuna kaudselt planeeris selle riski sisse.
Heade uudiste puhul pessimist tunneb 2x rõõmu:)

Sama on ka töös: suure hurraaga kilkad, et asi töötab valmis näiteks suur süsteem, siis mõne päeva pärast hakkab kokku kukkuma. Pigem tuleks asja testida olla valmis ebameeldivusteks, kui 2 kuu pärast asi töötab ja hästi....siis kilkamiseks põhjust kuipalju....ning shampust juua;)

Lõpetuseks ütlengi, et ülim realist = osaliselt pessimist. Realist, kes hindab kauget tulevikku ongi juba olemuselt pessimist.

Kui veel ajud pole koos, siis lahedat õhtu jätku

24. okt 2007

Väike tehtud tööde referens

Ükspäev tuttav küsis, et kas ma mäletan kõik projekte ja programme,
mida olen teinud...ja natuke aega mõtlesin, pidin tunnistama, et ei mäletagi.

Lõpuks suvatsesin kirja panna kõik...mööda arhiivide katalooge liikudes

---------------------------------------------------------------



www.feedreader.com
- Kogu feedreaderi backend. Parimad palad kirjutan lahti.
Täiustasin idhttp, panin ntml ja digesti authoriseerimise tööle.
Ehitasin keeruka multithreaded järjekorra süsteemi, mille kaudu töid tehakse.
Kirjutasin ümber Firebird draiveri, tekitasin universaalse wrapperi, mille kaudu saab FR backendist olla, Firebird,MySql või MSSQL. Samuti olemas andmebaasi objektide pooling süsteem ja ühenduste taastamine. Wrapperid klassid meilide (smtp) ja failide (ftp) saatmiseks. Ma ei kasuta seal ei MAPI't ega Wininetit, mis iseenest oleks tore, aga liialt MS sõltuvus tekiks. Ftp'sse lisasin võimaluse, et http proxy kaudu ka töötaks asi.

Siis "võimsamad tooted" - serverid. Seal oli puhas mäng serviste tasemel, servistes lisasin failide allalaadimise võimaluse (async queue). Ka automaatse meilide saatmise süsteemi. Kõige huvitavam oli IMAP serveri kirjutamine sinna, kuna Indy Imap oli suht algeline, tuli asi suht 0 kirjutada. IMAP + andmebaas andis ikka laheda elamuse.

Kuna feedreader kasutab smartfiltreid, siis loogika kirjutamine, mis oskaks vastavalt kliendi koostatud kriteeriumitele optimaalseid päringuid teha oli ka paras pähkel.

Kõige "karmim" oli veebi/feedide indekseerimine, omamoodi pisikese Google tegemine.
stemmer, skip words, ligatures, weights jne...oleks märksõnad seal. Päris keeruline oli, selle seletamine võtaks aega, aga sain kõvasti targemaks.

Utiliidid, sisuliselt FR on multilanguage app. siis tegin programmi, mis käib elemendid läbi, koostab vajalikud failid tõlgete muutmiseks online modes.
Palju kavalaid trikke, ei mingit teksti parsimist;)


---------------------------------------------------------------
(3 tk)
IE objektidel baseeruvad rakendused, ka BHO; kahjuks konfidentsiaalsuse tõttu ei saa ma nende tööpõhimõtteid avalikustada.


---------------------------------------------------------------

* Töötajate õiguste süsteem andmebaasis (ala õiguste maatriksid)

* EE's näidufailide sisselugemise moodul - vist 8 erinevat formaati minimaalselt + service, mis ka automaatselt neid töötleb. Samas programmis oli ka 2 tüüpi arvestuste massgenereerimist.

* Automaatne kliendi tarkvara uuendamise moodul, täitsa huvitav oli (ala nagu
windows update). (FTP/lokaalsete failide baasil)

* Üks programm, kus sai võlgaste päringuid teha , see oli vaid üks leht, tegemist oli isegi päringumootoriga pigem, kus klient sai teha väga keerukaid päringuid vaid mõne klikiga. Aruandeid seal vähemalt 12 tükki. Kuna EE'le tehtud tarkvara, siis ei saa programmi omadustest täpselt rääkida.

* Ojaaa, siis tuli EE e-arve..paljud e'sid kas pole...see oli lahe projekt...2000 aastal loodud, siiani töötab nagu vana mees (nvarchar ODBC lahendus üleküla kärbes seal, pooling, heavy load cached jne jne). XSL süntaks vist Eesti pikim:))))

* Järgmiseks, Microsoft peaks trummipõrina tegema, vana hea ISAPI lahendus, mille kaudu EE töötajad saavad näite sisestada. Asi tehtud 1999 juba, siiani töötab, tema loogika täielikult Asp.neti eelase oma, väikesed Ajax poiss ideed ka seal sees.
Dünaamilist javascripti seal ka jagus...

* siis TAPI, tore asi, tegin vahekihi, oli üks karbike, kes istus com pordis ja küsis telefonijaamalt numbreid ja siis dll tegi teistele programmidele kogu andmevoo söödavaks. Sel hetkel, kui tegin oli Tapi alles lapsekingades, dokumentatsiooni ikka otsisin nagu kullapuru silmas.

* siis soojuse arvestuste programm, uh seal oli igasugust nänni sees, arvestusi, aruandeid jne jne jne. See oli üks esimesi tõsiseid programm, mis kasutas ADO't, BDE hakkas vanaks jääma vaimult. Seal programmis ka eksperimenteerisin veelgi. Kliendi UI's kasutasin IE activeX objekti, et programm näeks sisuliselt välja nagu veebileht. Kaudne taotlus oli see,et vajadusel saaks kiiresti minna veebi peale üle.

* oli ka üks programm, millega andministraatorid täitsid andmetabeleid. Palju dbgride ei miskit innovatiivset.

* mis veel, küsitluste moodul tore asi 3 osa, service, UI klient, (dün)veebileht.
Tegemist oli jublakaga, millega sai inimestele pakkumisi saata. Samuti teavitab see jublakas kliente elektrikatkestustest. Saadab emaile,sms ja ka prinditud kujul kirju. Seal ka küsitluse võimalus, töötaja koostab küsimused, siis süsteem saadab automaatselt klientidele ekirjad, kus link sees lehele, kus küsimustele saab vastata. Päris töömahukas süsteem oli.

* SQL protseduure erinevate backendide jaoks >150 kindlasti.

28. aug 2007

Tallinnas sadas täna poole kuunormi jagu vihma

Tallinnas sadas täna poole kuunormi jagu vihma. Selline oli 28.08.2007 kuupäeva ilm umbes 12.30-15.00 vahel. Käisin ehitusmaterjale tooma ehitusmarketist, nö vundamendi niiskusetõkke 3tk ja rohutrimmeri, mida pakuti seal alega.

Kuramus tagasisõites polnud midagi näha, vihm oli nii tugev, vähe sellest ma oli ka märg ise, auto seest täiesti udune. Viisin ema töökohta järelkäru tagasi, oh üllatus seal oli poole sääre jagu vett. Tükk aega tuli autos istuda, sest hakkas ka rahet tulema. Kui natuke ilm tagasi andis, võtsin tossud jalast ja sulpsasin jääkülmas vees, et käru õigesse kohta liigutada. Õues sooja 9 kraadi. Kui kliima niimoodi jätkab, läheb elu väga karmiks

23. aug 2007

nonii natuke tööst ja maja ehitusest

Alustan pihta viimasest, kahjuks see aasta vundamenti ei vala, natuke kurbust tekitab, paljud halvad asjaolud tulid peale.

Aga, mis minu tekitas masendust on see, et elektrikud ja ehitajad juba hakanud "jumala staatusesse" astuma. Mul Pärnus nüüd EE kilp olemas ja mul ajutine olemas, isegi maakaabel veetud. Vaja üks paber täita elektriku poolt ja kaablid sinna külge ühendada: maksimaalselt on 30 min tööd....Võtsin siis ette kataloogi hakkasin Pärnu elektrifirmasid läbi helistama, aga oh üllatust, nad pole üldse sellest tööst huvitatud. Pakkusin, et noh 1800 eeku kohe kätte, töö tehtud,,,aga üllatus, mind saadeti pikalt. Ma nagu mõtlen, mis loogikaga firmad mõtlevad, kui maja elektrit hakkan paigaldama, siis nad kaotavad tulevikus kliendi, sest ma ei ole enam neist huvitatud. Selline rõve IT mehe täpsus, kirjutan üles firmad, kellega mitte tegemist enam teha ning mainin seda ka tuttavatele.

Kas tõesti aasta pärast (2008 sept näiteks), kus buum vaibunud, samamood siristatakse väikeklientide peale....eks aeg näitab....

-------------------

Kui tööst rääkida, siis sain valmis indeksite süsteemi ja nüüd ka otsingute normaliseerimissüsteemi selle peale. Minu Alfa testid näitasid, et asi töötab hästi.
Eks järgmine hetk on see, kuidas turg seda toodet vastu võtab.

Üksinda karm selliseid koode kirjutada !

8. aug 2007

Uh, koodid koodid koodid

Sai enne juulit 2007 valmis tehtud service, mis feede indekseerib, eks otsingumootoritega nagu alati pusimist on. Kui splitid teksti, siis mida splitid, milliseid märke ignoreerida (inimene, kes arvab, et ainult jälgi tühikuid tõsine "rookie"). See vajab veel kindlasti lihvi, kuid nüüd indexed loogika rakendamine Feedreaderi filtritesse ikka paras pähkel, tunne, et tahaks juuksed peaks välja kitkuda:))) Huvitav, kas paljud It mehed on sellepärast kiilad


Nojah, rohkem hetkel pole midagi lisada, lähen uuesti pead vastu seina taguma

3. aug 2007

Windowsi sõnumid, mida viimasel ajal unustatakse

Alles hiljuti puutusin kokku probleemiga, kus inimesed muutsid kuvarite arvu (!) ja resulutsioone. Peale, mida programmid läksid suht lolliks, salvestasid viimased ekraani koordinaadid, mistõttu jäid nad kadunuks.

Kindlasti soovitan kasutada messaget:

procedure WMDISPLAYCHANGE(var Message: TWMDISPLAYCHANGE); message WM_DISPLAYCHANGE;

kus sees ka kontrollida

screen.MonitorCount või parem variant screen.MonitorFromWindow(self.handle,mdNull);

täiendavalt võib kontrollida ekraani koordinaate apiga (väga asjalik API)
SystemparametersInfo( SPI_GETWORKAREA,.....

----

Kindlasti, kui programmil on aeg tähtis faktor, võiks ta jälgida ka sõnumit:

procedure WMTIMECHANGE(var Msg: TWMTimeChange); message WM_TIMECHANGE;

procedure WMSettingChange(var Message: TWMSettingChange); message WM_SETTINGCHANGE;

17. juuni 2007

Puhkus silmapiiril

Oeh...varsti puhkus juuli kuus ei jõua ära oodata, aasta jooksul teinud vist miljon + 1 keerulist projekti aju kapsas, mis kapsas. Kuna ehk õnnestub maja ehitamise algus, siis terve juuli saab ehitusega tegeleda, jumal tänatud.

Üritan veel täiustada otsingumootorit, mida arendan; otsingumootorid, mis unicode toetavad ikka suht keerulised. Kõige keerulisem on just teksti tükeldamise osa, eriti kui tegemist mingite valemitega.