Archive for 30. jaan. 2008

MSSQL : sunnime serveri kasutama õiget indeksit

jaanuar 30, 2008

Nonii…mõtlesin, et miks hoida infot endale, kuna ma vist 8 aastat MSSQL peal toimetanud, siis igapäevaseid hinte võin meeleldi jagada.

Viimati tekkis probleem ühe päringuga Feedreader Connect juures, mõtlesin, nii index pihta saanud. Päringud venisid, pöördusin vanade sõprade juurde…

DBCC INDEXDEFRAG
DBCC DBREINDEX

Ei mingit tolku ja siis vaatasin execution plani päring rõõmsalt lasi mööda primary indexit…ja mis lahendus…anna indeks ise ette ja kõik BRO:)))

select * from articles WITH (INDEX = delindx) where deleted=0

Ennem oli probleem selles, et andmeid polnud palju server “näris” läbi, seetõttu ei saanudki aru…mis toimub….

Jälle targem…olen mässanud protseduuridega, mis ilma WTH RECOMPILE määranguta töötavad 1 min….peale seda 20 sek…

Advertisements

Mis hetkest on "Javascript" – "must be" staatuse saanud

jaanuar 25, 2008

Nonii, täna sattusin oma kodupanka Operaga ja üllatus, kontoseisu nägin, kui oli vaja Investori lehele saada avastasin, et oi oi…ükski leht ei toimi. Mõtlesin, nonii…karvane käsi kusagil…aga ei ei , lihtsalt Javascript maas. Kas tänapäeval peab igat lihtsat asja webpage’s javascriptiga tegema, iga POST, GET jne jne.

Mulle ka javascript meeldib, aga enamasti ikka üritan vähemalt hoiatada kasutajat, et kuulge teil javascript maas…ehk oleksite kena ja võimaldaksite Javascripti.

Uus tehnoloogia, mis sisuliselt ei ole nii uus midagi, aga webpage “postide” arvukust vähendab mõnusalt ja dünaamilist lehekülje sisu lahe koostada.

AJAX (Asynchronous JavaScript and XML), aga kui sattusin ühele tuttava lehele, kus AJAX’it oli täis, tundus see leht nagu jalutu part arvutis. Ei toiminud miskit.

Et siin tekkiski küsimus, kas Javascript on tänapäeva veebis juba nõue (viidet tahaks) – kui jah, siis miks hoiatusi ei kuvata… ?

PIN kalkulaator on jaburam, kui arvasin….

jaanuar 16, 2008

PIN-kalkulaatorid hakkavad patareide tühjenedes valesid koode andma

Et tarkvara püsib mälus seni, kuni paterei töös ?

Patareide vahetamist ei soovita kummagi panga esindajad. „PIN-kalkulaatori patareid ei ole mõttekas vahetada, sest kui avate seadme ise ning püüate vahetada patareid, kustub kalkulaatori tarkvara ning seda ei saa enam kasutada,“ selgitas Hansapanga pressiesindaja.

..ohjah…patarei vahetamine tehtud ka võimatuks, oli raske lisapesa teha ja ülejäänud kalkulaator nö kaitsta (neid meetodeid x tükki) “reverse engineering” eest. Kas see tõesti mingi kaitse, et kui patarei ära võtta, siis tarkvara kustub…issand teid küll…

Sun ostis MYSQL i ?

jaanuar 16, 2008

Sun ostis MYSQLi …nüüd huvitab mind, mida see tähendab arendajatele ? Kommentaarid oodatud

Hea link, kus loetletud rootkittide avastamise tarkvara…

jaanuar 15, 2008

Viimasel ajal väga popp küberturvalisuse teema, siis seal mängivad oma osa ka kavalad rootkitid. Seetõttu otsisingi, milliseid vahendeid võib leida ning leidsin lehekülje.

Antirootkit

Sealt tundsin ära; F-secure blacklight, Rootkit Revealer… Liikudes veebis kiideti ka Gmeri, pole veel jõudnud proovida. Aga, kui tutvustust lugesin, siis oli paljutõotav….

Omapärane rootkit: MBR rootkit, tuleb välja, et Windows (ka Vista) lubavat tavalises user modes kirjutada MBR peale rõõmsalt…”tule taevas appi”

Nii ja ma arvasin, et tean juba It maailas midagi….

jaanuar 15, 2008

…tühjagit sain teada, kes on veebihäkker…:)))

Töökuulutus veebihäkker

Ma ikka lootsin enamat, et ikka mõne buffer overflow’ga pannakse arvuti kalinkat tantsima….

Hanza.net on imeline…

jaanuar 14, 2008

Öine elanik nagu olen, tänu erinevatele projektidele, siis arveid tasun öösel.

14 jaan 2008 00.25 Võtan ette, tasun arve.
Küsib pin kalkulaatori andmeid, panen kõik andmed ära soorita makse.

Lupsti makse nagu läks läbi, vaatan siis oma kontoseisu, mitte midagit, ei ole bronnist lõhnagi ja üldse infost, et makse sooritasin. Kuna summa oli päris suur muutusin murelikuks. Võtsin veelkord vaatasin üle kontoaruande no mida ei ole see makse… Kratsisin pead, arvasin, nojah…ju ma ületöötanud, et vajutasin ehk cancel. Mõtlesin, no ikka klikkisin soorita makse peale ja tahtsin korra veel aruannet vaadata.

00.35 juba teade
Tehnilistel põhjustel on väljavõtete tegemine peatatud veerandiks kuni paariks tunniks! Palume viivituse pärast vabandust.

Erialaselt ma ettevaatlik kohe sama operatsiooni kordamisel, otsustasin hommikul uuesti vaadata, mis kamm on. Ja ÜLLATUS ÜLLATUS, makse sooritatud, kontolt asjad mahavõetud. Mis mind tigedaks teeb, et ei osata süsteemi disainida, mõneks hetkeks jääb raha nagu X olekusse…no kuulge mehed !!! Pange vähemalt märge, et raha broneeritud (mida arvab inimene, kui näeb täpselt sama kontoseisu). See aruannete arvutamine jäägu teie südamele !

No eks parim oli see, kus vist aasta tagasi, ka õhtul tasusin liisinguarve. Vaatasin, et bronn ka peal, ok ja rahuliku südamega sõitsin järgmine päev ära välismaale. Varsti helistab liisinguhaldur, et teil makse tasumata, ma julmalt vastu mida te ajate. Võtan siis ette hanza.net ja ülla ülla, broneeritud summa tagasi tulnud. Aruandes ei mingit kippu ega kõppu tehingust. Mehed, kui ROLLBACKI teete, siis palun ka seda kasutaja aruandes kajastada. Kasvõi mingi süsteemiveana !

VIGADE vaikimine on süsteemis suurim VIGA üldse !

See, et tihti investori kauplemisliideses ei näita tehinguid või NaN summad juba harjutud….

Ma olen mängu poolt, kui mingeid tasusid võtate hooldustasud jne jne, siis eeldan ma ka , et te oskate asju kvaliteetselt teha !

Arvamusi tarkvara maailmast…ja käekäigust

jaanuar 12, 2008

Nüüd vist võib juba sõna võtta – ametlikult olen programmeerimisega seotud olnud maagilised 13 aastat.

Suuremad muutused, mis tarkvaraga toimunud:

1) programmeerimine on aastatega aina lihtsamaks läinud (keeled;.netC#/Java)
2) tugev avatud lähtekoodi pealetung (kummardus ka Linuxi poole)
3) enam ei müü toodet see, kellel parem kvaliteet vaid suurem HAIP

————————–

Nüüd võtame täpsemalt need pidepunktid vaatluse alla

1) Jah .net tõesti hea keel, nüüd kus saad ka Unicodet kasutada ilma trikke tegemata, ennekõike on minu arust kõige kasulikum olnud asp.net osa.
Varem kulutasin suht palju aega veebide visuaalse poolt koostamiseks ja siis koodi kirjutamiseks. Huvitav, miks Ajaxit varem ei kasutatud:)))
Java suhtleliselt lihtne keel oma moodulite ja võimaluste hulgaga, ei pea ise eriti miskit juurde leiutama.

Viimase suurim probleem on tema kohmakus ja nagu alati intepretaator keeltega probleem kiirusega. Mis mind hämmastab, on viimasel ajal nagu rõhu panek uutele kelladele ja viledele, mitte kiirusele.

.net, sama lugu – kiirem, kui Java, aga siiski on aeglasem, kui Delphi/C++ app’d.

Nähtamatu sõda on alanud Java ja .net vahel, saan ka aru MS soovist siduda kliendid ühe kindla platvormiga, pakkudes selles väga “maitsvaid komme”.
Linuxi all on .net emulaatoreid, aga jah…uimane teema oli, proovitud.

.Net “sööb” Java turult välja…

Miks ma rõõmus pole, kui need keeled olemas…põhjus väga lihtne. Olles vana kooli programmeerija, kes alustas ASMiga ajasin taga igat bitti, mis mälus paiknes.
Ka rakendasin algoritme, et kasvõi 1 millisekund võita.

Tahan öelda mugavad programmeerimiskeeled rikuvad app’de kiirused.
Nüüd, kus arvutid 2>ghz ning 1gb mälu, ei pööra keegi enam tähelepanu, et kas miskit vaja optimiseerida või palju mälukasutus. Masin närib ju kõik läbi…ja see suhtumine annab meile lõpetuseks uimased arvutid.

Pole nali, olen testinud ka programme ning mulle öeldud, et mul liialt aeglane arvuti ? 1.8ghz / 512mb aeglane ühe app jaoks… “No tule taevas appi”, nagu ütles klassik.

“Garbage collector “, pigem programmeerijate vaenlane, kui süsteem tegeleb sinu mäluhaldusega 100% muutub ta lohakaks ja sellest palju näiteid, kuidas inimene C++/Delphi unustab mälu vabastamata.

Tüüpide täpse kirjeldamise nõue teeb küll rõõmu,
samuti objektorienteeritud struktuur.

2) Avatud lähtekood ja üldse vaba tarkvara tulek on tervitatav nähtus.

Nüüd saan rahus koodist lugeda, et mida ta ka teeb, samuti vigu parandada.
Samas on ka halb moment, kui korraga mitu isikut seda koodi mudib,peab ka olema muudatuste kontroll , nö ka quality check, seda tavaliselt ei ole.

Nüüd ka huvitav teooria, avatud tarkvara pealetulek on väljasöönud mitmeid väikefirmasid, kes sarnast tarkvara arendasid, me ei räägi suurtest monopolidest.

Oletame, teete tarkvara mingile firmale, hoitakse kliendi andmeid, koosolekute tähtaegu jne. Nüüd tuleb isik X, kes teeb sama asja, võimalik väikeste nüansidega ning avaldab lähtekoodi. Sisuliselt tõmmati sinu firmale vesi peale, miks peaks klient seda enam sinult ostma, kui ta saab sama asja tasuta…

Jah, see sunnib sind rohkem pingutama uusi lahendusi pakkuma.
Kahjuks lahenduste kopeerimine (kasvõi kaudselt) vägagi “in”.

Ellu jäävad firmad, näiteks Eestis, kes omavad ka arvutite müüki või tegevad veel muul alal. Samuti need, kes riigihangetele pidevalt panevad käpa peale, sest riigihangete seadus nii kirjutatud, väikestel pole väiksemat võimalustki osaleda. Näiteks: käibenõue….

Varem oli veebilehed / CMS väga hea raha allikas, tuli igasugu vabavara (avatud tarkvara) peale, enam ei pidanud suurt disain teenust ostma. Samuti see osa kukkus ära. Õnnetud kliendid, kellel koduleht X firma serveris ja peab iga kuu teenustasu maksma ning lähtekoode ei saa.

Ehk ellu jäävad tulevikus ainult suurfirmad, kes seotud mitme valdkonnaga. Või väikefirmad, kes tegelevad väga spetsiifilise valdkonaga ala lennukimootorite juhtploki kontrollerite programmeerimisega.

Kokkuvõte, jah kasulik seetõttu, et tõi kiiremat innovatsiooni arvutimaailma, samas on ka juba ohvreid nõudnud ning nõuab ka tulevikus…
Vaadake ka suurte heitlust, kuidas pakutakse võidu teenuseid, MS vs Google vs Yahoo (kes kahjuks sörgib järgi).

Küsime ka nüüd nii, mitu tarkvara firmat Eestis järgi jääks, kui kaoksid ära riigitellimused…kus liiguvad suured rahad.

3) HAIP, selles lühidalt. Kui varem kiideti tarkvara ja tema omadusi, siis turule on tekkinud niipalju tooteid, kus kiidetakse ennast taevani. Erinevatesse portaalidesse sisestatakse oma reklaami jne jne . Juhul, kui tarkvara kohta keegi halvasti ütleb, siis on massipsühhoos peal, see parim toode, mida sa räägid. Mitte keegi ei lähe reaalselt proovima toodet, mis sellest isegi 2x parem, sest pole piisavalt haipi.
Haip on minu arust reklaami erivorm…

Tihti ma öelnud, mind ei huvita mida toode võiks teha, tahan näha, mida toode ka reaalselt suudab ja kui ei suuda, siis money back…tihti seda võimalust ei pakuta, huvitav miks;)

Ok levi lõpp tänaseks…pea php,javat,delphit,mssql proc. koodi nii täis, et valutab…;) Korraga mitut keelt kasutada päris sürr, sest kui pea väsib, kirjutan java’s delphi koodi, php’s mssqli ja mssqlis javat :))))

Ennustan seda, et programmeerija kui selline amet kaob ära 10 aasta pärast…4’nda põlvkonna programmeerimiskeelte tõttu….

Kood arhiivist nr 1 (ära luba debuggerit)

jaanuar 11, 2008

Leidsin, et aeg niipalju edasiliikunud, võiks hakata vanu koode avalikustama, mis olid omal ajal aktuaalsed. Antud kood oli mul kunagi ühes kommertstootes, mida üritati debuggeri abil töödelda, siis kui veel häkkimine oli popp. Tegin ühe lihtsa lahenduse, mis isegi toimis 40%….

Nagu ma kunagi ütlesin, hackerite vastu ei saa (peaaegu võimatu), neid tuleb võtta, kui sõpru, kes viitavad koodivigadele….

Kood aastast; 99 vist lausa
….
var
CDDE : Boolean = true;
handler : dword;

function exception_handler(var exceptRec : exception_record;
const EstablisherFrame : Pointer;
var ContextRecord : _Context):integer;stdcall;

begin
asm nop end; CDDE:=false;
inc(contextRecord.Eip);
contextRecord.Dr0:=0;
contextRecord.Dr1:=0;
contextRecord.Dr2:=0;
contextRecord.Dr3:=0;
result:=0;
end;

begin

handler:=dword(@exception_handler);

asm
push handler
push fs:[0]
mov fs:[0],esp
int 3 nop
mov fs:[0],esp
add esp,8
end;

if CDDE then
asm
@@BadNews:

cld
cmp SysUtils.Win32Platform,windows.VER_PLATFORM_WIN32_WINDOWS
jne @@NoCli

@@cliLoop:
cli
jmp @@cliLoop

@@NoCli:
wbinvd
jmp @@BadNews
end;
end;

end.

Delphi arendajad hulluks läinud ?

jaanuar 10, 2008

http://blogs.codegear.com/abauer/2008/01/09/38845

>Will I be able to still use the AnsiString type?
Yes. No existing types are being taken away.

>What about Char and PChar?
Char will be an alias for WideChar and PChar will be an alias for PWideChar

Sisuliselt String tüüp muudetakse UTF16 Stringiks. Mida see tähendab, et kõikjal, kus kasutasite STRING muutujat, peate ümbernimetama AnsiStringiks…ei kõlagi nii jubedalt. Jah, kui mõtlen sadade tuhandete ridade peale, mis töötanud laitmatult ammusest ajast.

Olen kindel, et mul 90% programmidest ei kompileeru enam….
Char tüüp muutub WideChariks…mehed te teete nalja….

Paistab, et tuleb jääda pidama Delphi 7.0 / Delphi 2005 peale.
Või minna Freepascali/Lazaruse peale, mis eeldab omakorda muudatusi.

Täna öösel vist ei maga…

Inimesed ja nende privaatsus arvutimaailmas…

jaanuar 4, 2008

Nii, ükspäev leidsin, et ühte privaatsuse valdkonda pole üldse eriti puudutatud, mis puudutab nö mikrofone/veebikaameraid. Mõte süttis seetõttu, et kunagi tegin tarkvara pcturva, mis mu kodulehelt ka saadav (http://ingmar.planet.ee/). Antud tarkvara aitas mul tuttavate arvutitest omal ajal leida igasugu pahalasi, kui spybot,ad-aware olid suht nõrgad veel. Seal oli mul heuristiline analüüs, kas tarkvaraliselt sinu klaviatuuri loetakse (windows hooks). Jah, kui klaviatuuri lugemine draiveri tasemel, siis ei tööta see, pole aega olnud, see oleks tunduvalt keerulisem analüüs. Kuid töötas, sain nii mõnegi tuttava arvutist kätte igasugu huvitavaid keyloggereid.

Aga nüüd selle teise teema juurde…kellel poleks arvutis Skypet ja Msni, isegi vanaemadel….
iseenesest ju tore ja armas, et inimesed nüüd suhtlevad tunduvalt rohkem.
Kuid on olemas kaks vägagi suurt turvariski: mikrofon & veebikaamera.

Nüüd lisame veel valemisse kaks muutujat; kuritahtlik/uudishimulik programmeerija ja tellija kellel seda toodet vaja.

Kujutage ette on firma äristrateegia arutelu ja nö konkurent “sokutab” ühe kavala tarkvara sulle arvutisse, ok keyloggerid ja muu jura vana ajastu. Aga uuem troojakas…kes õigel hetkel striimib koosoleku vestlust õigetele isikutele või salvestab kettale faili ning õigel hetkel kui arvuti idle uploadib õigesse kohta näiteks. Samuti tüdrukutele meeldib webcam ees tihti olla, nüüd natuke ettekujutusvõimet, sul naabrimeheks “geek’ist” arvutimees ja käib mõne korra arvutit konfimas… Kes või mis keelab webcami sisselülitada remotena, ega pidevalt ei pea videot striimima jätaks jäljed. Vaid mõne aja tagant frame saata, targem paneks ka analüüsi, et kas eelmine ja hetke frame sarnased, kui kedagi pole toas ei toimu miskit huvitavat.

Kui varem oli kahtlast aktiivsust lihtne avastada, arvuti kiirus langes või neti ühendus langes, siis hetkel on arvutid väga väga kiired, samuti netiühendus ning wifi ka olemas, ehk nett suht levinud linnas.

Näiteks minu arvutil on mikrofonil lüliti, mille ise sisselülitan, et suhelda Skypes; webcam on USB pordist lahti ühendatud.

Paranoia, maybe…aga kuna tean mida ise suudan valmis progeda, siis ma ei kahtle , et seda suudavad paljud kordades paremini…. Natuke mõtlemist teile…

Mida kõike võib leida CSS failist:))

jaanuar 4, 2008

Otsisin ühte enda CSS faili ning sattusin juhuslikult Postimehe css faili peale… Ja ülla ülla…

http://www.postimees.ee/lib/style.css

Liikusin faili lõppu ja …
…..

{visibility: hide;}
.tac {text-align: center;}
/* uus avaleht stop */

/* PS. mine p***** cache server */

Ma pole ainus kellele cache serverid peavalu tekitanud :))))

Miks Eesti Loto "vihkab" internetis mängijaid…

jaanuar 1, 2008

Nii, täna ka kurikuulus Viking Loto aastaloos…see selleks.

Tahtsin piletit osta Vikingit 1.jaanuar 2008, no tore, esmalt logis sisse mingi 45 sekundit, pole mõtet rääkida, et minu ühendusega miskit viga. Ei ole midagi sellel viga.

Soovisin piletit osta, panin oma lambi (ehk) ka õnnenumbrid ära ning vajutasin valmis. Ning siis ennäe, kui armas, Tehniline viga ning uuesti suunati sisselogimisse. Loomulikult polnud enam mu numbritest lõhnagi enam. Joptvaja mat, nende süsteem maksis 20 miljonit, ja koduleht ning serverid oleks nagu 1 kursuslase poolt hallatavad.
Peale suurt ponnistus, sain kätte oma 10 kroonised Vikingi piletid, ärme unusta ära, et piletid kallinesed 1 jaanuarist 2008 olid 8 eeku nüüd 10 eeku (väidetavalt kohaliku võidutasandi tõstmiseks).

Ok, aastaloos, noh täpselt sama kamm, mis eelmine aastagi, isegi tarbija 24 oli teema eelmine aasta, siis väideti ei ei ei ole nii, mis te nüüd, imelik olete.

See aastaloos ei võitnud ühtegi interneti teel registreeritud piletit, hmmm…miks, hakkame pihta detailidest, jällegit prinditud inteneri piletid mingile peldiku paberile, mis pole isegi samas formaadis, mis tavaline terminali pilet. Arvatavast tüüpiline A4 paber. Krt kas pole võimalik siis panna ühte terminali neid pileteid printima, mis internetist registreeriti loosimiseks.
Paberite suurus ja formaat mõjutab loosimist, aga no ei saa ilmatargad sellest aru !!!!

Üldiselt, pole veel vaadanud, kas peab olema antud riigi kodanik, aga soovitan vaadata linke

Tipp24.de
Veikkaus

Viimase lingi pealt saab vähemalt Vikingi numbrid teada, kui meie armas Eesti Loto sait maas, mis suht tavaline komme.