september 18, 2017

Halvem on parem














See kirjutis tõmbab (mõneks ajaks) joone alla seiklustele Unixi ja C-ga.
On võimalik (never say never), et seiklus jätkub, sel juhul väga tõenäoliselt C++ kujul.
On aga võimalik, et kogu C kogemustepagasist saan ma mõne noore õppinud selli käest mühatuse -
C on reaalsete meeste jaoks, s.t. selliste vanade peerude värk... - kui ta on viisakas ja kui ta ei ole, ei tule sedagi.
Ja seda, mida C puhul hinnatakse, tuleks veel kõvasti harjutada - kirjutada mõni kompilaator valmis näiteks.
Teine rakendus, mida ehk võiks vaja minna, on mõne teise programmeerimise keele jaoks kirjutada mingi jupp koodi, mis midagi teeks väga kiiresti. Tavaliselt on see töö juba ära tehtud ja sellise töö tegijaid ka väga ei vajata.
Kolmas võimalik rakendus oleks robotid ja muu säärane värk. Viimati näiteks uurisin mingit käepaela programmi - see oli tehtud väga algelises C-s. Oskasin isegi probleemi ära lahendada.
Laiale rahvale tarbeprogrammide kirjutamine C-s ilma suure vajaduseta (lihtsalt on antud ette seade X ja temal jookseb keel C) on täielik mõttetus.
C on samasugune relikt, nagu ladina keel. (Teine samasugune relikt olevat Lisp ja neid mõlemat olevat vaja teada tõelise (reaalse) kompuutrihariduse saavutamiseks. Lisp minu lootustes võib olla
ikkagi päris mõistlik keel, kuigi FP keeli on pärast Lispi ohjeldamatult juurde tehtud, üks ikka parem kui teine ...)
Aga C-s võiks selline mõnus masinaläheduse tunne tekkida. Ikkagi viidad (pointerid). Ikkagi käsitsi mäluhaldus. Veel on teada, et C-s on tehtud
Linuxi tuum ja Linuxi muud jupid. Ja see müütiline C kiirus.
Reaalse numbrite jahvatamise jaoks millegipärast aga endiselt kasutatakse FOTRANI. Nii et see ka on vist müüt.
Minu jaoks on C kõige suurem tüütus mäluhaldus. Pead väga täpselt teadma, kuhu mälu eraldatakse, milline asi on staatiline ja milline dünaamiline (nõuab vabastust). Jumala eest ära vabasta staatilist mälujuppi (undefined käitumine, üks hullemaid turvaõudusi turvaspetside jaoks).
Otse uskumatult paljude ilmselgete vigade korral kompilaator on C -s kõigega rahul ja paljude asjade puhul lihtsalt spämmib. Kui siia veel mingid automaatvahendid lisada, siis saab otsatu hulga mõttetut kisa ja mõne teate, mis jällegi on VÄGA TÄHTIS (selle peale programm jookseb pange).
näide (siin ma taplen html tagidega ja lihtsustasin oma mure väiksema märgi ärajätmisega...)
for(int i; i on väiksem kui 10; i++) mingi kood;  

Kompilaatori jaoks ei ole siin miskit viga, kõik on hästi ja nii 75% juhtudel ongi kõik OK. Avastad selle trükivea aga sellest (i= 0 on puudu), et mõnikord jälle see programmi jupike ei tee midagi (endal kogetud nähtumus) ja enamasti teeb täpselt seda, mida vaja.
Kultuslik ++ operaator on tegelikult paljude vigade allikas ja seda tuleks mingi teise tegevusega KOOS tehes igal juhul vältida. Kõik sellised imelikud asjad, nagu i = v[i++] ongi imelikud.
ja veel vähem on vaja raisata aega selle peale, kas kasutada ++i; või i++.
Ei ole try-d ja väga sageli veateate asemel sülitatakse sulle välja segmentation fault, kui ei ole idiootsuseni järjekindel igasuguste NULL-ide (nullviit) käsitlemisel.
Ei soovita mingil juhul algajatele ja edasijõudnutele ka ikkagi siis, kui paistab mingi vajadus.
(robotid, IOT etc...).
C fännid teevad sageli kõike vastupidi Pythoni Zen-is öeldule ja on selle üle isegi uhked.
Näiteks seesama ++ on sünnitanud haiglase maania kõiki asju ühele reale sur(a)uda. Siis on kõik super hästi, kui ühe reaga hakkama saab.

Kahe vana dinosauruse LISP ja C vahel olevat kunagi ammu, nii täna 25 ja enam aastat tagasi käinud kõva lahing. Ja seda lahingut, umbes nagu Maratoni väljal toimunut, on nooremal põlvkonnal ehk vaja siiski teada.
Sellest selle jutu pealkiri, sest see peegeldab väga hästi C-st tulnud (ja võitnud) suhtumist, mis on meile pärandunud ja millest vähemalt selle kõige räigemates variantides on vaja lõpuks vabaneda.
Vähemasti võiks ajalugu korduda ja anda LISP-le või sellest pärandunud suhtumisele uue võimaluse.
Pealkirja või meemi tekitas aga Richard P. Gabriel,
vt. http://dreamsongs.com/RiseOfWorseIsBetter.html, kus on ka tema järgnevatele kirjutistele viited. Aga esialgne meem on kirjas http://dreamsongs.com/WIB.html
Siin on kirjas rohkemgi, mitte ainult arvutiasjanduse ajaloolasele, vaid ka praegusele fännile oleks tegelikult huvitav uurida, kuhu kadus LISP -i „hea seis”, millele Richard Gabriel viitas originaalartiklis aastast 1991, kusjuures see ei puudutanud ärilist edu - see paraku vist jäigi unistuseks? Ja juba siis kuulutas Gabriel LISP-le kadu, ühtlasi tuues esile C/ C++ ... tollal tulevase / praegu olemasoleva võidu põhjused. C/C++ all tähistan kõik järgnenud OO keeli, mitte ainult konkreetselt neid keeli.
Gabriel ristis kahe koolkonna hoiakud järgmiselt:
I hoiaku kandjad olid-elasid MIT / Stanford ülikoolides ja nende ühisnimetajaks sai
Tee õiget asja!” („The Right Thing”)
II hoiak sai Gabrielilit märgise Halvem on parem” Worse is Better”.
ja nende pesitsupaigaks oli New Jersey...
See silt oli erakordselt hästi õnnestunud ja on tänaseni Unixi lipukirjaks, umbes samamoodi nagu „goto kuulutatud kahjulikuks ...mdx mitte ainult Unixi ... ka kõik agiilsed arendajad lehvitavad agaralt seda lippu...Kui mingi asi väga sügavalt pange läheb, siis ilmuvad välja arendajad, kes ütlevad, et kogu viga oli selles, et ei olevat oldud piisavalt agiilne. Aga siin ma lihtsalt teritan hambaid, ma ei ole agiilse ega mitteagiilse arenduse mitte väga suur ekspert.
Artiklis käsitleti programmide erinevaid häid omadusi vaid VEIDI (veidi!) erinevate rõhuasetustega. Hoolimata sellest sai sellest veelahe, mis, nagu ma arvan, tuleb ühel ilusal päeval jälle ületada.
I Tee õiget asja programmeerijad lähtuvad (väidetavalt, sest tegemist on siiski vaid idealisatsiooniga) järgmistest headest omadustest:
Lihtsus -- programmi arhitektuur peab olema lhtne, nii teostuselt kui ka liidestuselt. (implementation, interface). Selle juures on TÄHTSAM liidese lihtsus, mitte teostuse lihtsus. (minu rõhutus ja eelistus, sest seda näeb kasutaja!).
Korrektsus - programm peab olema korrektne KÕIKIDES jälgitavates aspektides. // märkus - ilmselge võimatus ja võimatu on ka tõestada seda, et programm on korrektne. Sellest hoolimata on see ilus põhimõte, eks.
Konsistentsus - programm ei tohi olla mittekonsistentne. Programmil on lubatud olla natukene vähem lihtne (minu rõhutus) ja natukene vähem täielik, et vältida mittekonsistentsust. // aga see on ka kõige hämaram punkt, kõigest hoolimata meeldib mulle näiteks mõte, et mõnikord mõni asi ei peagi nii lihtne olema.
Täielikkus - Programm peab käsitlema nõnda palju olulisi olukordi, kui on praktiline. Kõik eeldatatavad juhud (mõistuse piires) peaksid olema kaetud. LIHTSUS EI OLE LUBATUD (jälle minu rõhutus) liigselt täielikkust kahjustades.

Need kõik on väga ilusad põhimõtted muidugi, mida kahjuks on sageli peaaegu võimatu jälgida. Kuid ma tikun endiselt kalduma „Õige asja” jüngriks, sest mingi ideaal peab selles sõnnikulaotamise töös ometi olema? Aga lähme edasi, sest
Richard Gabrielil õnnestus VÄIKESTE (need natukene väikesed järeleandmised!) järeleandmiste kaudu iseloomustada väga hästi ka C/C++/ Unix (ja praegu prevaleeritat tarkvara tegemise filosoofiat). Ok, ta ehitas jah õlgmehikest, aga väga osavalt.
Isegi nii osavalt, et paljud seda artiklit lugenuna tänase päevani ei saa aru, et Richard Gabriel oli tegelikult „Õige asja” jünger. (aga mine sa ikka tea).
II „Halvem on parem” koolkonna (mida Gabriel kutsus New Jersey koolkonnaks - miks - uurige ? ja kommenteerige ...) vaated erinevad ainult NATUKENE ...

Lihtsus - programm peab olema lihtne nii teostuselt kui liideselt. KUID teostuse lihtsus on TÄHTSAM (kõik on minu rõhutused) KUI liidese lihtsus. Lihtsus on programmi kavandamise kõige tähtsam kaalutlus.
Korrektsus - Programm peab olema korrektne kõikides jälgitavates aspektides.
AGA: Pisut parem on olla lihtne, kui korrektne.
[ see siin on minu targutus: Näiteks kui programm mingitel väga erilistel tingimustel jookseb pange, aga neid erilisi tingimusi väga ei teki, siis on lihtsam parem]
Konsistentsus - programm ei tohi olla MITTE LIIGA mittekonsistentne. Konsistentsuse võib mõnikord ohverdada lihtsuse nimel mõningatel juhtudel, aga veel parem on heita kavandist kõrvale vähem ettetulevad vajadused, kui lisada teostusele keerukust või liidesele mittekonsistentsust.
[ Siin ma natuke nõustun. Ju siis on tarkvaraga askeldamine mõne aastaga mind natukene kainestanud ... aga alati on ... põrgutee sillutatud heade kavatsustega, seda nii „ÕIGE ASJA” kui ka „HALVEM ON PAREM” leeris]
Täielikkus [siin on eriklausleid eriti palju välja toodud.]
Programm peab käsitlema nii palju olulisi olukordi, kui on PRAKTILINE.
Kõik mõistlikult eeldatavad juhud võiksid olla kaetud.
AGA: täielikkuse võib ohverdada iga teise kvaliteedi kasuks. Alati tuleb täielikkus ohverdada, kui lihtsus satub löögi alla. Konsistentsuse võib aga ohverdada täielikkuse nimel [???
ei saa aru, ilmselt on mingid manuaalid lugemata]
Aga: eriti mõttetu on LIIDESE konsistentsus.


Ok, jätame 1991 konstrueeritud New Jersey õlgmehikese detailsed vaated programmide kavandamisele veidikeseks kõrvale, sest Gabriel suutis üllatavalt hästi välja tuua põhjused, miks natukene üle jala laastes saab natukene edukama programmi kirjutada. ...

C ja Unix levisid hästi, sest C kompilaatoreid oli lihtne kirjutada. Unix jooksis (ja jookseb) hästi igasuguste asjade (just asjade, incl. pesumasin) peal. Ta täidab 50-80% kasutajate ootusi.
C ja Unix levisid kui viirused ja harjutasid kasutajad üllatavalt kiiresti mõttega, et paremini ei olegi võimalik. / DOS läks siit veel sammukese kaugemale. Apple vahest ehk suutis mingil hetkel üritada „Õiget asja teha”...
Aga alguses ei olegi vaja kõike õieti teha. Kui „viirus” on kirjutatud siiski hästi, saab viirusele kirjutada uusi versioone ja varsti täidab tarkvara 90%-liselt kasutaja ootusi.
Rohkemat aga kasutajad ei saa iialgi. / aga ka „õige asja” tegijad ei saa kunagi valmis üle 90% -list asja.
Kui õlgmehikene C/C++ on veel kujutatud natukene paksudes värvides, siis „õige asja” tegijad hm.
Gabrieli järgi ei saa mitte iialgi mitte ühtegi asja valmis. Või lihvivad kroonijuveeli lõputult.
Ei saa jätta torkimata -
näiteks programmeermiskeskkonda nimega Haskell (kuhu lõpuks saadi külge igasugused huvitavad asjad, ok, aga ohverdati LISP, mis võib-olla oleks 90-ndatel suutnud läbi lüüa õigemini „õiget asja” tehes....
Mdx, vahepeal andis lootusi ju Scala ja ühel ilusal päeval tuleb tuli tuha alt jälle välja ja vana LISP C võitluse elavneb uutes kuubedes kujul mingi eriline funktsionaa
lkeel / mingi ülimoodne uuskeel
25 aastat hiljem on programmeerimise paradigmades aga siiski toimumas muutused.
Halvem on parem” stiilis saadi valmis Internet ja see osutus väga edukaks projektiks. Sellest hoolimata on „halvem on parem” alustus tinginud Internetis väga paljude asjade põhjaliku ümberkirjutuse ja sageli on esialgset disaini teadmata väga raske aru saada, miks selles internetis asjad ikkagi nii keeruliselt / ja ümber nurga käivad ...
Kasutajad on hakanud programmidelt rohkem nõudma. Enam ei olda rahul sellega, et mõnikord on võimalik korrektsuses nii natukene ohverdada - turvanõuded ei lase seda teha.
Seetõttu on puugiste programmide juurde tekkinud testijad, google on pannud kodeerijad ise oma koodi testima ja tõstnud TESTIJAD kõrgemale tavakodeerijast (tavakodeerijat testiteenuse kavandamise juurde ei lastagi, aga musta töö, automaatestimise, teeb iga kodeerija ise), igasuguste veidrate programmerimiskeelte juurde on siginenud igat sorti veel veidramad töövahendid, mis püüavad xxx saia teha, näiteks C-s lisades igasuguseid const -märgendeid (mille peale Pythoni sellid ütlevad, et kui mingi asi on const, siis las ta olla konstant ja FP fännid ütlevad, et neil ongi iga asi const ja milleks sellega programmi koodi risustada) või mõõta
testimisel McCabe indeksit ja ajada see alla 10.
Kasutajal ei ole sellest sooja ega külma, küll meeldib kasutajatele JUST LIIDESE konsistentsus ja programmi konsistenstused ja muud hädad jätavad ta täiesti ükskõikseks.
Aga üldine mõte võiks olla ebaturvalised ja vanad keeled ühel hetkel ehk kõrvale lükata ja hakata
kasutama selliseid, kust puugiseid probleeme ei ole nii palju.
Ja veel üldisem mõte võiks olla „Õige asja” põhimõtted jälle vähemalt kusagile käsulaudadele üles kirjutada ja vähemalt mingis ideaalis püüda neid jälle järgida.

Mis on saanud 25 aasta jooksul „halvem on parem” põhimõtetest?

toodule. kipaka maja pilt pärineb ka sealt.
halvem on paremast on saanud „halvem ja halvem”.
Terve põlvkond programmeerijad (incl me, 25 aastat tagasi olin puhastverd füüsik, episooodilised kodeerimisepuhangud on vaheldunud arvutite administreerimisega) on üles kasvanud nii, et nad isegi ei aima, mis asi on IDEAAL. Nad lihtsalt ei tea, mis asi on „ÕIGE”.
Ma ei ole siin väga nõus küll sellega, et suurfirmad on „Õige” asjaga oma „Halvem on parem” asja asendanud, aga õigemaks on aetud asja küll. DOS (ja eriti BAT!) oli katastroof. Selles sai mõistlikum WindowsNt ja edasi uuemad windows-id, kus kogu aeg pendel „halvem on parem” ja „õigema” vahet käib ... Niisiis on „Õiget” asja hakatud siiski siin ja seal ajama.
Aga laiatarbetarkvara suhtes ... on „halvem on parem” seltskond asendanud
lihtsalt „laisa” (lazy, see on lööksõna programmeerijatele ja kohutavalt HEA ASI)
lähenemisega. Ja ei olegi võimalik teisiti, kui ei ole selge, mis asi on see
halvem on parem” ja misasi „õige” ja millest üldse jutt käib, kui räägitakse konsistentsusest ...
Minu arvates on üks päris õnnestunud teema, milles on senini tegelikult tehtud Õiget asja.
Selliseks „õigeks” asjaks on olnud SQL ja lõpuks on see asi saanud ka isegi päris valmis - seda kasutatakse, see toimib ja ime küll, sellest on üllatavalt raske lahti saada.
Aga praegune Mongode ja sarnaste pealetung otsustab selle „õige asja” saatuse.
Kui siin „halvem on parem” lähenemine jälle võidab, lendab see umbes 40 aasta jooksul valmisnikerdatud „õige asi” nelja tuule poole ja mitmes kohas tuleb äkki jälle otsast alustada?
Samas on maailm astunud edasi. AI on lõpuks hakanud mingeid vilju kandma ja äkki enam
häkkerite variant nii sujuvalt ei õnnestu. SQL on suutnud rünnaku sujuvalt suunata õigele teele - lõpuks on need NoSQL andmebaasid hakanud tunnistama SQLi, õigustused - suured andmemahud
vaikselt ka hääbuvad enamikel juhtudel, sest SQL laagris pingutatakse kõvasti, et nendega toime saada (vaid üle planeedi toimetavatel hiiglastel on niisuured andmemahud, et SQL enam ei käibi ehk) ja kõige selle kõrval saab SQL ka kõvasti paremaks ... ja mõeldakse midagi uut ehk ka välja.
Nii et ma olen selle ühe „õige saare”, „õige asja” suhtes pigem optimist, kuigi see optimism võib põhineda pigem mittekompetentsusel ...

Kui nüüd aga kodeerimise juurest laia maailma pöörduda, siis rämspskapitalism veel ei ole saavutanud oma apogeed. Pigem läheb veel mõni aeg, kui sihikindla rämpsu tootmise asemel hakkab taastekkima normaalse kauba tootmise mõte. Seetõttu on ka pole ka kodeerimises mingeid kiireid muudatusi loota. Ehk nii 15 aasta jooksul jõutakse tasapisi tagasi tarkvara kvaliteedi juurde.
Tõsi on ka küll see, et seda kvaliteeti oli 25 aastat tagasi võimalik palju lihtsamini taga ajada, sest projektid olid palju väiksemad ...
Niipalju siis tarkvara targutust tänasel päeval.

august 30, 2017

HajaMõtteid Haskellist

Küsitlesin oma staazhikat tarkvarakolleegi nime Haskell suhtes.
Olin küll üllatunud, aga mitte nii väga, kui vastuseks tuli, et ta pole kuulnudki sellist nime.

Selline eluterve konservatism selliste jamade suhtes peab mingil ajal välja
kujunema. Andku Haskell Curry (pildil) mulle andeks - ma mõtlen jama all temanimelist programmeerimiskeelt ja jätan õiguse epiteedi jama asemel millalgi hakata kasutama jälle selliseid sõnu nagu "elegantne", "ilus", "veavaba" ja nii edasi ...
Mina eelmisel "semestril" (sügisel) tegelesin selle asjaga pool semestrit ja siis töö kõrvalt õppimise produktina jätsin järele. See polnud hea plaan, võinuks ilusti asja
selgeks teha, aga see selleks. Haskel ongi laisk keel (lazy!). Arvutab midagi välja vaid siis, kui väga vaja. 
Haiglapalati mõned päevad andsid võimaluse eksootikaga jälle tutvust teha.
Ei taha tegelda millegi väga reaalsega ja samas oli mingisugune krunt juba ka all. 
Praegu tundub, et FP on üsna ülehaibitud asi, umbes nagu Unix - Linux ja mina olen väga hea objekt, kellele sellist eksootikat müüa. 
Loete seda minu blogist mingi aeg tagasi. Sealt nähtub väga rohelise
Unix fänni suhtumist.
Linuxil on koht serveritega õiendamisel olemas ja fännidele ka koduarvutina,
- laske käia. Kui on palju vaba aega, siis võib muutuda ka Linux-i guruks. 
Aga hoiak, et C on hea ja C++ on jama on IMHO kahetsusväärne. Torvaldsi järgi ei maksa oma samme seada. Ta võib olla progemise geenius, aga geeniuse klaverimäng võib olla väga vilets õpetaja. C++ peaks siiski lõpuks C nimelise dinosauruse asendama. Või mingi kolmas asi. Punkt.
C-l on tänapäeval mingi koht mingite väga algeliste mikroprotessorite progemisel küll olemas, aga varsti mahuvad kõik C++ teegid ka väga ilusti isegi suvalise minikiibi sisse ära.
Aga selle vanamoodsusega tegelemisest võib vähemasti kasu olla näiteks C++ õppimisel ja mujalgi. Nii et päris mahavisatud C-ga tegeldud aeg ei ole.

Aga nüüd Haskellist veidi:
Haskellil on koht siiski vaid akadeemilise kursuse raames teatud mõtteviisi omandamisel.
Kui aga reaalselt tööturule lähed, siis loed üsna tihti, et ...
kohustuslik Pythoni või Java tagapõhi või midagi sarnast...
Nii et on valida 2 variandi vahel - mitte üldse tegelda FP-ga või üsna palju 
tegelda.
  Vähe tegelda on ilmselt kõige viimane valik (ja seda ma tegin).
Mõned märkused Haskell suhtes (jätan õiguse oma seisukohti 180 kraadi muuta)

1) Kui olete sõrme FP-le andnud, ei pääse erinevate raamistike ja keelte paabelist kuhugi.
Reaalne projekt võib-olla on siiski Scalas. Aga akadeemikute rõõmuks võib alustada Haskellist, nagu väga hea mõte on õppida enne itaalia keele omandamist ladina keele selgeks. Kuid see mõte jääb tavaliselt ajapuuduse taha kinni.

2) "Ei usu!"
  Ärge uskuge juttu, et Erasthotenese sõel on reaalselt efektiivne Haskellis
kirja panna. Selle algoritmi tõeline realisatsioon Haskellis on üsna pikk.
  Ärge uskuge kiire sorteerimise (quicksordi) kräppi. See kood on jama, mis sellest, et ühe rea peal.
  Ärge uskuge seisundivaba maailma olemasollu. Sellist asja ei ole ega tule. Haskellis on see asi tehtud
niinimetatud MONAADIDE kaudu ja mis asjad need on, saan selgeks vastavalt edasisele vajadusele haiglapalatis (reaalses)
viibida. Seal on sobiv koht eksootika üle mõtisklemiseks.
Ärge uskuge (see on teadmine AA-st, tänud ülikoolile selle eest), et jube tore mõte on fibonacci arve (ja ka muud sarnast) kodeerida nii: 
f(n) = f(n-1) + f(n-2).
Proovige nii välja rehkendaa f(100), siis saate aru.
Samamoodi ei tasu uskuda igat sorti ekspertide kräppkoodi (k.a. allakirjutanu. Kusagil blogirulli ajaloos on
lugu, kus ma võrdlesin fibonacci rekursiivset koodi tavalise koodiga ja olin väga leilis rekursiivse kräppvariandi peale. Ikka see üherealisus müüb).
Korraliku pusimise korral võib aga tõesti üles leida mõne probleemi lahendamisel need 2 rida, mis Haskellis reaalselt asja ära ajavad ja kusagil teises keeles mitte.
3) Haskell aga on olnud paljudele keeltele inspiratsioooni (loe mahakirjutamise) allikas. Osa püütonist on laenatud Haskellist, k.a. treppimine või taandamine (indentation).
Või siis need kõrgemat järku funktsioonid - js-s ja Pythoniski ja kus kõik veel on sees
map, filter etc... f-d. Väga ilusad asja kusiganes nad olemas on ja tänud FP-le nende tavaprogrameerimisse
jõudmise eest.
4) FP hoiak seisundivaba maailma suhtes võib olla küll samalaadne võimalusega paradiisi pääsemiseks (ja muu sarnane targutamine meenutab ka kristlust), aga vähem pattu (seisundeid) võiks maailmas olla küll.
Palju lõbusam oleks elada...
5) Ja see tarastamine, kus patused seisundid elavad kusagil IO maailmas ja puhas ja ilus kood on siis kõrval on omaette tore.
[Aga see on kindlasti koht, millest ALUSTADA, sest muidu avastad järsku, et oskad küll ilusat puhast liivakasti koodi kirjutada, aga mitte ühtegi reaalset programmi. Ma ei teagi, kas ma näiteks leian aega liivakastist väljumiseks. Tahaks mõnda harjutusprogrammi, näiteks sudoku
lahendamist, haskelli portida, aga selleks on vaja vaba aega...
]

6) FP tegelemise pluss on kindlasti see, et saad aru, mis imelikud asjad on lambda nimelised objektid C# -s ja mujalgi. Nagu ladina keelgi annab põhja enamike Euroopa keelte mõistmiseks ja eriti võõrsõnakartusest vabanemiseks. 

Tehisintellekti haibist: 
Kuna haiglapalatis sai loetud ka Andres Laane tehisintellekti käsitlevat raamatut, siis tundub, et FP võib-olla on üks samm AI omandamisel, aga sain raamatust aru sedaviisi, et kõige olulisem hüpe viimasel kümnendil
on neuronvõrkude progemine. See koht on aga mulle täiesti tume maa ja mis keeles seda kõige paremini saab teha, sellele jään ka vastuse võlgu.
Andres Laane raamat reaalse programmeerimisega ei tegelenud.
Nii et sellest võib olla mõni teine kord, kui jälle targutamise tuju peale tuleb.
[On täiesti võimaik, et kolistan varsti AI nimelises ämbris oma jalgu. Kuulun nende inimeste klassi,
kes õpivad vaid oma kogemustest].









august 24, 2017

Võimalik vaid Tartus













  Inimese elu on näide vaid sellest, et enamasti ei ole ta oma kogemusest võimeline
õppima. Viis aastat tagasi tuli mul kirjutada sellest, kuidas voolikute alla sattusin.
Põhjuseks torusüsteemi leke. Roided said kukkumise tagajärjel katki, üks roidemurd
tekitas aga rindkerre verejooksu ja nii leidsin ma ennast ühel hetkel intensiivpalati voolikute alt.
Sisemine verejooks on kuratlikult salakaval. Inimesed (nii mehed kui naised, erinevatel põhjustel, mehed sõjanduslikel ) on disainitud sellisteks, et hästi toime saada verekaotusega. Nii läheb esimese liitri vere kaotus sisemise verejooksu
tõttu vist väga kergesti - enesetunne võib isegi paraneda.
See on vähemasti minu puhul nii olnud.
Siis läheb küll tasapisi halvemaks, aga meie organismi erakordse võimekuse tõttu
oma olukorda reguleerida on inimene võimeline väga hästi hakkama saama umbes poole vere kaotusega. Vähemasti õngitseti esimesel korral organismist välja umbes
3 liitrit (!!) sinna kogunenud verd.
Ühel hetkel aga läheb väga kiiresti olukord kontrolli alt välja ja siis aitab vaid hea ja kiire kiirabiteenus kõige halvema eest.
Sellel reedel oli üsna kuum ilm. Meie töökoha konditsioneer jukerdas ja ootas parandajat,
aga ühel hetkel tundsin, et tuleb see riistapuu käima panna. Higi sõna otseses mõttes voolas. Ajasin selle mõttes hommikuse basseinitreeningu
süüks (eesmärgiks Raivo E. Tammele ja Märt Avandile vähemalt basseinis ära teha, mis
ka vist õnnestub, sest Avandi Pühajärve saare ümber saadud aeg, millega ta Postimehes uhkeldas, on mul konnastiilis täitsa löödav!
Ei, kolleeg A. See ei olnud ületreening, vaid leke. 

Õhtul koju minnes (päevatöö sai ikka ära tehtud ja konditsioneer anomaalse higistamise lahendas ) oli aga imelikult raske neljandale korrusele tõusta.
Selle panin jälle suure ületreeningu süüks.
Järgmine hommik tundus helgem. Aga pärast tühja kõhu peale joodud kohvitassi algas jälle higistamine. Ja siis ühel hetkel arvasin siiski, et midagi on viltu.
Sest üks soolestikusüsteemi väljuva verekaotuse tunnuseks on kohvipaksu värvi väljastus. Lugesin seda veel internetist üle ja igaks juhuks helistasin 112.
Ja siis ühekorraga, vaid mõni minut hiljem avastad, et ei ole võimeline enam püstigi tõusma.
Edasi läks kõik väga, väga kiiresti. Vast 5-10 minutiga oli kiirabi ukse taga, siis aga läks juba vaja hapnikku ja nii poole tunni möödudes
olin EMO-s.
Kui kõik toimub nii, on tulemus hea, kiire vereülekanne päästab halvimast ja edasi tulevad uuringud ja nii edasi ...
Järgnevad vaatused selle lekkega seisnevad kõigepealt Pylori nimelise pahareti (pildil) kõrvaldamises maost.
Aga et neid vaatusi ikkagi jätkuks, peab vähemalt esimene vaatus olema õnneliku lõpuga.
Ja nüüd on see koht, miks ma seda juttu kirjutan.
See kõik on võimalik vaid Tartus, sest vaid Tartus saab tellida kiirabi kohale ja 10 minuti pärast ta ongi sinu ukse taga.
Ja siis poole tunni järel oled juba EMO brigaadi hoole all.
Tallinnas sellist luksust ei saa lubada, Tallinn on selleks liialt suur.
Veel vähem kusagil Põlvas või Raplas või isegi Elvas. Ühe hea palatikaaslasega (kes vist ka juba kodusel ravil) näiteks läks tee taastumisele läbi kooma. See enam nii tore ei ole.
Veel hullematel juhtudel võib aga asi lõppeda anatoomikumis.
Järelikult on nende lekete puhul väga, väga oluline kiiresti taibata, mis lahti. Ja siin tasub kohvipaksu värvi väljastusi väga tõsise signaalina võtta. Või kasvõi seda, et vist organismi termoregulatsiooni võime sel juhul läheb esimesena käest ja asja eest teist
taga hakkab higi ojadena voolama...siin on tegemist võhiku targutustega, kui spetsialist loeb...
Viimane märk - otsese vere väljastus ... tähendab juba seda, et on VÄGA, VÄGA kiire ...
Ka minu puhul võinuks minna väga "põnevaks", kui jõudnuksime järve äärde ujuma ...
Ei ole halba heata. Lugesin haiglas arvuti puudumise tõttu läbi inglise müstiku Blake eluloo (402 lehekülge palatis 403  (404-- !!)
interneti arvuti puudumisel )
Alustasin ka Andres Laane tehisintellekti raamatu uurimist.
Sellesama tehisintellekti raamatu esimene peatükk ongi negatiivsest tagasisidemest.
Seesama meile sisse ehitatud negatiivse tagasisideme mehhanism läheb aga väga kiiresti käest, kui organism ühel hetkel ei saa hakkama, nagu minulgi, kus vererõhku mingi hetk mõõta ei saanudki ...
Selle meditsiinilise aruande või EPIKRIISI (mis imelik sõne neil meedikutel selle kohta on) mõte ongi sellele tähelepanu juhtida. Kui teie organismis
on midagi väga teistmoodi, siis võib juhtuda, et nii ongi. Et ei ole ületreening või isegi
suure (ja hilise) suvekuuma mõju.
Ja arstid on Tartus tasemel nagu alati. Organisatsiooniliselt on asju kõvasti vussi
keeratud, aga Linkbergi vaim on TÜ kliinikumis endiselt kohal. Ja Tartu linna
eelis igasuguse teise Eesti koha ees on kiirabi kiire kohalejõudmine. Epikriisist epiloogi sedapuhku ei saanud.
 

juuni 10, 2017

Ühe tantsu lõpetus


juuni 07, 2017

Lillede valss Järvilt Järvile



Maestro tähistab täna oma 80-ndat juubelit.
Palju energiat ja jõudu edaspidiseks!

mai 27, 2017

Spam, spam, spam



Tõmban mingit joont alla umbes 2 aastasele pusimisele IT vallas.
Spämmi on olnud palju ja ei ole osanud seda tõrjuda.
Hea meelega tõmbaks maha mõne tegevuse, mida olen teinud ja tegeleks näiteks rohkem mingi teise asjaga.
Näide: mingi DOS BAT failidega jantimise asemel (millest ka blogis on pikk traktaat säilinud) ikka see C# või koguni C++, mida nüüd järan, või koguni vana klassikaline C.
C, C ja C niisiis.
Ei ole väga vaja läinud ja ei lähe ka tõenäoliselt mujal, kui kusagil esinemisel, kus pead näitama oma teadmist, regulaarseid avaldisi.
Võinuks vähemaks kruttida mingit Unix uurimist ja seda asendada toore C -ga. Aga ka C võib osutuda peaaegu täiesti kasutuks tuleviku mõttes, sest C++ tegelikult ei ole C väikeste lisanditega, vaid otse vastupidi... rääkimata C koos trellidega kombinatsioonist.
Perl on olnud täitsa huvitav hariduslik teadmine, aga millegipärast tänapäev eelistab Pythonit, mida võinuks selle asemel puurida.
Java ikka võtab hoogu poole peal - ei kõlbaks näiteks töövestlusele veel.
PowerShell võis osutuda kasulikuks, aga seni on ilma läbi saadud. Kui vaja, kirjutada mingis keeles .exe ja ei peagi skriptima väga, kasutajat ei huvita su skriptid ja nende täiendamine.
Ja mida peale hakata Haskelliga? Olen täpselt kohal, kus sellest kõige vähematki kasu ei ole, kui ehk umbes samavõrra, nagu minu hispaania keele õpingutest rahvaülikoolis - sõna manjaana teadmine.
Ja elu on lühike.
Üks lühikeseks jäänud täht, Kukumägi saadeti täna ära näiteks.
Teine, pikem tähelend on see onu Eskimo. Ja isegi sellise elukaare korral on mul üle poole tehtud.
Dilemma ootab ees C++ uurimisel.
Microsoft on maha saanud MFC nimelisa nähtusega, mis aga on vananenud. Samas ei pääse mitte kusagil, kus C++ reaalselt kasutatakse, sellest moodustisest.
Qt on põnev asi, aga kasutatakse seni vähe.
Ja mitte ükski koodnikerdaja ei pääse üle ega ümber pärandist. Näiteks on meile pärandunud vanast ajast selline asi nagu Delphi.
Tegelikult on selles keeles kirjutatud tänaseni tiksuvat koodi, mida endiselt on vaja täiendada kellelgi, tahab ta seda, või ei taha.
Mingil hetkel võib selliste vanade asjade keskel olla ka C# ja ootamatult mitte olla C++, või otse vastupidi, või juba on Objective C. Tuleb aga tahtmine arvutusi programmeerida - peab selgeks saama FORTRANI.
Need sattumused ei sõltu mitte ainult keelest, vaid suurte firmade hetke poliitikatest ja moodidest ja kellegi finantsilisest põrumisest ja mingi juba kunagi tähistaevasse tõusnud keel ikkagi jääb kodeerimisruumi  tiirlema nii ehk nii. Mõni asi isegi nagu prügi, käsitlen sellisena BAT keelt.
Keelte väljasuremine on tegelikult pikk ja vaevaline ja uute tulek ka üsna pikaajaline ja lõppude lõpuks on meil olemas veel üks täpselt samu asju tegev programmeerimiskeel, nagu ennegi.
Spämmi maht on lihtsalt kasvanud.
Ma ei usu, et see olukord väga muutub. Pigem 2030 on meil juures veel mõni uus täht, mis juba jälle loojuma hakkab ja uutele koodinikerdajatele terenduvad järjekordset virnad manuaale, mida peaks teadma või olema vähemalt sirvinud koos VANADEGA, sest nende keeltes vedeleb juba niipalju koodi ees ja mingisse uude keelde üleviimiseks ei ole kellelgi ressurssi piisavalt.
Siit järeldub tõsiasi, et nii nagu rallisõitki, on programmeerimine kogenud meeste mäng.
Kui hakkad hilja pihta, on kõrvatagused veel hallipäiselt ka rohelised.
Ja tõsiasi on seegi, et musta tööd on palju. Nagu näiteks ralliski ja  kokanduseski, Nii ma lohutan ennast, mõeldes Tänaku 2012 -le aastale. Või näiteks kokanduses kodukoha mees  Lauri Ülenurm.
Nii 15 aastat võtti tal aega, et tipptegijaks saada....
Siin panen laupäevaõhtuse punkti.
Sellest hoolimata, et kõik, mida teeme, muundub lõpuks korduvaks spämmiks, ei ole inimesel sellest kusagile pääsu. Meil ei ole üleloomulikke arvutusvõimsusi, mälu, isegi mõne arvu meeldejätmine ilma kilpkonnaliku kordamiseta ei õnnestu. Kui vaja, siis ka 37 korda korrates, sest see olevat "tarkuse" ema.
On lausa ime, et selliste omadustega olend on veel võimeline aru saama näiteks arvutitest ...
















aprill 15, 2017

Paki pillid, mr. Jones
















Sattusin lugema ja ostma Inseneeria 100. numbrit.
Seal oli ühel lehel ilus kokkuvõte põlvkondadest
X ja Y ja Z.
Otsisin ja leidnud oma ilmaletuleku numbrit,  et kuhu see küll kukub?
Ei kukkunudki kuhugi.
Leidsin eakohase märkuse kusagilt marketroididele määratud artiklist:
Jones-ite põlvkond hakkab ... tasapisi pensionile minema.
Aga alt, armsad millenniaalid, on tulemas juba Z!
Robotid, nagu samast Inseneeria numbrist sai külluses veenduda,
aga ei halasta kellelegi. Täna nad asendavad kusagil Saku õlletehase
laos (2 miljoniline investeering) ringi tuiavaid laotöölisi, homme
natukene kõrgema taseme tegelasi ja ülehomme tuleb tehislik intelligents.
Aga see ülehomme on ootamatult kiiresti saamas tänaseks päevaks ja mr. Jones ei pruugi pensionile üldse jõudagi.
Teisalt on see robootika meie tagurpidi rahvastikupüramiidi jaoks omamoodi õnnistuseks - teisiti oleks Eesti juba praegu üsna käpuli, sest Z põlvkond on tunduvalt väiksearvulisem, nende pärast kaklesid ja kaklevad juba ülikoolid ja ka tööandjad.
Aga olgu. Ükskõik, mida arvab Y X-dest või Jonesitest, lõpplahenduse paneb paika ikkagi loodus ise.
Siis äkki selgub isegi neile kõigevägevamatele siin planeedil, näiteks vanuses 101, et ...
on veel midagi kõrgemat meie lühikesest elukaarest siin planeedil.
Alasti tulin ma.
Ja minnes pole meil midagi rohkemat kaasa võtta, kui õblukene hing, mis pidavat kaaluma ei rohkem ega vähem, kui 21. grammi.
Kui sedagi.









märts 24, 2017

MOV AX, 723h ; R.I.P.L.V.B.















See krüptiline pealkiri (koos natukene vähem krüptilise nooditekstiga) on maha kirjutatud lõiguke surematust teosest  Code Complete ...
Nagu gurud ütlevad, see asi tuleks igasse ITfirmasse riiulisse saada ja seal ribadeks lugeda.

See ühe programmi kommentaar aga, ainukene üldse terve programmi peale, pärineb reaalsest juhtumist ühe reaalse programmeerija tööst, kus ta pidi üleöö muutma
teise reaalse programmeerija koodi.
See on assembler, selline lihtne ja arusaav asi. Registrisse kirjutatakse number
1827, mis 16 -nd süsteemis on 723h.
Nüüd vist taiplikumad juba mõikavad. Sel aastal suri Ludvig Van Beethoven.
Noh, ma tegin küll dekodeerijate ülesande siin lihtsamaks - panin pildi tema kõige kuulsama motiivi noodiga ka lisaks juurde..
...

Kuigi reaalsed programmeerijad ei kirjuta kommentaare, sest nende kood on isedokumenteeruv
ja on üllatavalt palju netisaite, kus seda seisukohta põhjendatakse ja üritatakse algajatele
kodeerijatele selgeks teha (pähe määrida), et "kommentaar on nõrkadele", olen alati olnud ja olen ka edaspidi,
selle koha pealt nõus Komissaroviga:

EI USU!

Vist ka kuni lõpuni välja.
(Mõtte pähe määrimine, et kommenteerimine on natuke paha, muidugi nii lihtsalt ei käi. Kommentaar hm. jah, aga kõige parem asi on ikkagi see kood kuidagi nii vingelt ümber kirjutada, et iga loll kohe saab aru .... ja siis on kommentaar puhas ajaraisk).
Ja kõik muu ilujutt, kuidas mingi metoodika, kõrgkeel, kõrgmõtlemine, struktueeritus, objektorienteeritus ja muu väga palju parandab ja muudab kõik iseenesestmõistetavaks ... ei tundu väga usutav.
Isegi egüptoloogid eelistavad inglise keelt oma armastatud hieroglüüfidele.
Loomulikult ma olen teadlik arvamusest, et kui midagi on juba vaja kommenteerida, siis tuleks kood ümber kirjutada ja selle tagajärjel nagu muutuks see tohutult arusaadavamaks. Võtsin CC-st toodud näited. (Code Complete, on selline piibel, mida peab peast teadma ja tsiteerima).
Üks oli paha näide, kus kasutati muutujaid i ja j ja teine oli hea, kus oli muutujanimes kuidagi ära mainitud, et mingit pidi on tegemist algarvudega mehkeldamisega.
Peaaegu mõlemaga läks ühepalju aega.
Selle lihtsa võimaluse peale aga, et selle jupikese ette kirjutada, see arvutab, kas mingi asi on algarv või ei ole, CC autor millegipärast ei tulnud.
Ja nii võikski ju olla.
Mingi IBM uuring väitis, et 1:10 võiks kommentaaride % olla.
See tähendakski, et inglise-eesti-suahiilikeelne jutt oleks 1:10 koodi mahust ja see võiks selle koodi läbivaatamist paar korda kiirendada küll. Sest seda on juba mahuliselt vähem, 10 x vähem.
Kindlasti kommentaarid ei suuda ja ei pea kõike väljendama, mida kood teeb, aga mõnikord on see võimalus olemas, öelda - siin kontrollime, kas N on algarv. Punkt.
Võimendusteguriga 1:10 või isegi enam (tavaliselt enam) saab kõik ära öelda.
Ja see ülihästi struktureeritud või struktureerimata koodiläbu seal taga ei huvita MITTE KEDAGI.
Kui seal aga on viga, siis see ongi väga hea, et rida seal ees ütleb - kood võiks tuvastada, kas N on algarv ja kui näiteks 15 ei tule algarv, siis oleme leidnud vea.
Võib juhtuda, et Komissarovi kuulsat EI USU ütlust võib pruukida veel ja veel.
Näiteks programmeerimise klassik Edsger Dijkstra arvas kunagi, et GOTO on harmful.
Võib-olla natukene oli ka.
Aga kui tänapäevaseid asünkroonseid koodimonstrumeid puurida-uurida (ja neid ei päästa mistahes kommenteerimine), siis on kõik kuradima OK.
Aga asünkroonne progemine tegelikult ongi üks varjatud GOTO-tamine üle terve programmi, nii et silm ka ei pilgu.
Aga sellest kunagi mõnes teises jutus - praegu ma siis lihtsalt olen CC läbi sirvinud ja julgen teistele ka soovitada. Mingi vana versioon oli pdf-na netist kättesaadav, uut ei tabanud.
Soovitan ühesõnaga.




märts 18, 2017

12 prelüüdi Bachilt ja Tatjana Nikolaevalt


Need on väga lihtsad lood. Mängige ja proovige järgi teha
neid lihtsaid klahvivajutusi - teil ei õnnestu.
Aga siit ma sain esimest korda aimu, kuidas mängida prelüüdi nr. 2.

märts 11, 2017

Olulisuse olulisus ehk ikka veel hõbekuulist















Mida enam tarkvaraasjandusega tegeled, sedavõrd väheneb ka sellest kirjutamise soov.
Ometi on minus süvenenud veendumus, et nii ei ole päris õige. Nii ma proovin ikkagi jätkata tarkvara lainel kirjutamist, hoolimata asjaolust, et eestikeelset juttu tikub kodeerimise teemadel järjest harvemaks jääma ja on seda üldse iialgi piisavalt palju olnud?
Veel hirmutavam on english only suhtumise kiire levik. Ühekorraga arvavad kõik tarkvarast kirjutajad, et nad peavad hirmsat moodi hakkama oma blogis englishit purssima.
Ma õnneks ei oska seda keelt - võiksin siis slaavi ekvivalendi järgi talitada, eriti seetõttu, et voorimehe moodi vandumine vene keeles on senini ületamatu olnud...
Kui mingi loengu pidaja enam ei oska tõlkida sõna "implementation" ja paneb seejärel kõik oma slaidid englishkeelsetena hakkam, siis on midagi vist ikka väga viltu?
Sellele kõigele lükatakse praegu aga ainult tagant, meie omade eestlaste poolt, aru saamata, et see on midagi sama tähtsat, nagu mets ja maa, mis pidanuks kuuluma ju meitele...
See on see punkt Brooksi sõnumis, mida me jätame tähele panemata - ainuke, mida saab teha paremaks kodeerimiseks - olulise eraldamine - terade eraldamine sõkaldest.

Ja  keel ja mõtlemine on tähtsad. Neid ei tohi lasta risustada. Kui me ei oska oma kodeerimise asju emakeeles arutada, ei oska me üldse mitte midagi.

Hea on teada, et loll räägib kõike, mida teab ja tark teab, mida räägib. Ma lisaksin, et parema meeskonnatöö huvides tasub järelikult meeskond komplekteerida lollidest. Sest kommunikatsioon loeb. Ja parem kirjutada ja kommenteerida ja dokumenteerida, kui jätta kirjutamata ja dokumenteerimata.

Kuna Brooksi sõnumi lugemisel endiselt on rõhk sõnal HÕBEKUUL, ei ole tänaseni jõutud kohani, et peaks tegelema olulisega. Pilt ei ole aastatega muutunud paremaks, vaid pigem järjest hägusemaks.
Java ei ole asendanund näiteks C++, vaid lihtsalt asunud C++ kõrvale koos C# ja muude asjadega, tõrjudes kõrvale Delphi.
Ühekorraga on meil neid kõiki vaja teada ja need kõik kokku on asjaolud, mida võiks nimetada pigem juhuslikeks, kui olulisteks. C++ hästi oskav kodeerija ei saa paremaks inimeseks, kui õpib ära ka Java, Java äss ei saa väga palju paremaks, õppides ära Delphi ja C# ja nii edasi. See, et mitu keelt teeb sind kõvasti targemaks, on suur müüt. // pean võimalikuks neid sõnu süüa millalgi...
Kokkuvõttes oled lihtsalt raisanud rohkem aega juhusliku ja ebaolulise peale, aga kogusummas muutub see ju millekski oluliseks - olulisuse silmist kaotamine on ju oluline?
Ometi on vaja jõuda koodini, ka autos ei ole oluline, kus paikneb pidur ja sidur, ometi võtab eriti palju aeg pidurdamise reflektoorse refleksi teke. Enne seda aga ei saa rääkida vilunud autojuhist.
Aga kui ühes autos on piduri asemel sidur ja vastupidi (võrdlus Delphi ja C võrdusmärkide osas näiteks). 
Kuna aga ei saa ette öelda, mis asjad kusagil ringlevad, jõuab mingi aja möödudes keskmine kodeerija paratamatult sellest multikultist omandada üsna palju. Aga samavõrra võinuks ta tegelda võib-olla mingite olulisemate asjadega? Näiteks algoritmide analüüsiga Donald Knuthi abiga?
Seda mitmekesisust rikastab veel poliitiline maadejagamine - Linux / MS kõige ilmekama veelahkmena...
OLULINE oleks ükskord võtta aksioomiks teadmine, et hõbekuuli ei tule ja selle asemel tegelda esimese poolega - juhuslik osakaalu vähendamisega.
Mina näen siin aga juhuslikkuse osa tõusvana?

Kui ma millelegi olulisele aga olen pihta saanud, siis vahest on see võrdlus muusika või kokkamisega.
Teooriat on rakenduslikus IT-s kohati täpselt sama palju, kui kokanduses biokeemiat.
Aga võrreldav on kohutav nikerdamine, käsitsinikerdamine ja mite mingisugune erihakklihamasin ei võta seda vähemaks - vähemalt mitte meie Eesti tippkoka Dmitri Roozi puhul.
Nii ma vähemalt lugesin, kui Dmitri jamas selle Prantsuse erikanaga ja sai kokkamise maailmameistrivõistlustel finaali ja seal 14. koha! Selleks tuli tal 32 korda harjutada mingi kana valmistamist, iga korda 4.5 tundi. Ja alles 33 korral siis oli see finaalvõistlus ja siis vahest oli tal see kana valmistamine käpas. 14. maailmas on muuseas ülikõva koht!
Ja võrdlus muusikaga peab ka paika - millist üleinimlikku vaeva peab nägema pianist mõne etüüdi harjutamisel!
Võimalik, et siin IT jääb kokandusele ja muusikale küll alla.
Nii et kunst kunstiks, aga niimoodi ei saa IT-s küll ühtegi programmi valmis, et võtad mingi munavalge ja viskad lõuendile ja ongi pilt missugune!

Ja lõpuks kui kõik keeled, või väga paljud, ja enamus  raamistikud on selged, võtad sa ikkagi ette TAOCP (Donalt Knuthi peateos) või mõne sarnase asja.
Kõige alguses oli Algoritm. Ja siis tulid alles muud asjad, nagu valgus, vesi ja inimesed ...



veebruar 26, 2017

Lucas Debargue'i sentimentaalne lugu



Seda sentimentaalse valsi esitust tõenäoliselt ei oleks sündinud, kui 10 aastasele Lucas'-le (see oli siis kunagi 2000. aasta sügisel või 2001. aastal - sündinud oli Lucas 1990. aasta 23. oktoobril)
poleks  ette sattunud CD-d Mozarti 21. kontserdiga. Teate küll seda II osa. Kuna Debargue ise ei oska ka öelda, kelle esitus see oli, siis valisin ise - olgu siis selleks Mitsuko Uchida:



Uchida on kahtlemata üks Mozarti väljapaistvamaid esitajaid - aga nagu selgub (ja ma jagan seda arvamist), Lucas ütles selle kohta, et see, mis on Bachi ja Mozarti osas unikaalne -  Mozart jääb Mozartiks ja Bach Bachiks isegi keskpärase esituse korral ...

Tema peres, kus isa ja ema lahutasid, muusikaga tegelemist ei toetatud. Nii tegeles Lucas muusikaga omal käel.
Noormehel oli absoluutne kuulmine, suurepärased sõrmed, mis nagu Horowitzil-gi suutsid teha absoluutselt kõike , mida tema peremees soovis (seda absoluutselt ebareeglipäraselt) ning erakordne muusikaline mälu.
(Heakene küll, olen natukene nagu uhke, et võin ühel sõrmel kenasti järgi mängida, noh natuke saadet ka juurde mõne loo. Näiteks "Kõik roosid ma kingiksin Sulle" või midagi sarnast .... Ilmselt on palju selliseid muusikuid Eestis, kes kindlasti väga hästi suudavad mängida kuulmise järgi igasuguseid asju ...)
Kuid see noormees suutis seda teha ABSOLUUTSELT perfektselt (nagu näiteks ka Clara Haskil, ma ei valinud teda ilmaasjata Mozarti sünnipäeva esitajaks!).
Kellel tekib soov oma võimeid võrrelda, siis ... paluks kuulmise järgi (kuulmise!) järgi mängida Prokofjevi 3. sonaati ! Siin ma tean Lucase ühte lemmikut - valisin Gilelsi - peate vaid lingilt minema jutjuubi.


Kui Ismene Brown Lucaselt esimese avaliku intervjuu võttis, vt.
http://ismeneb.com/blogs-list/150715-the-first-interview-with-lucas-debargue.html
 (enne seda oli noormees avalikkusele tundmatu), tellisid nad kõrvale venepäraselt (see toimus Moskvas) dzinni ja vodkat. Märkimisväärne oli Lucas'e sissejuhatav ütlus - btw - ka inglise keeles oli noormes omapärane autodidakt, kes hoolimata sellest oli lugenud originaalis James Joyce'i Ulysses-t.

“Teate, et Edgar Allan Poe suri dzinni ja tooniku joomisest.  Tal ei olnud kellegiga rääkida. Nüüd kuulete igal pool, et alkohol on paha,  suitsetamine on paha - aga mitte sellest, et suurim haigus on üksindus."
Aga üksindusest hoolimata tegeles Lucas klaveriga omal käel. Kus ta seda harjutas, me alati täpselt ei tea -
- üldiselt pärast Tšaikovski konkurssi on Lucas rohkem lihvinud oma elu lugu ja mulle tundub, et midagi lisanud, näiteks selle, et tema peres ikkagi tegeldi muusikaga ... (võrdlesin Lucas Debargue'i erinevaid intervjuusid ja võtsin oma uurimise aluseks päris esimese avalikkuse ette jõudnud intervjuu. Võimalik, et siin siiski ajakirjandus on lisanud oma osa legendile. See näljase ja palja kunstniku kujund ju müüb ... )
Aga vaevalt, et me seda üldse iial täpselt teada saame, sest ausalt öeldes ei ole kellelgi meeldiv väga palju rääkida sellest, kuidas ta ikka oli näljane ja paljas ja kassiir supermarketis ja kui ta ka räägib sellest, tikuvad sinna tekkima takkajärele tarkused ja tähendused, mida algselt ei olnud)
Igatahes kodus tal klaverit ei olnud ja ka ei tulnud ja tema muusikategemisi ei toetanud keegi.
Uuris omal käel noote, vahel mängis kuulmise järgi, vahel improviseeris - Tšaikovski konkursil hämmastas ta kõiki oma vahepealsete dzässimprovisatsioonidega. Elatise teenimiseks tuli tal mängida baarides, vahel pidada ka kassiiriametit ...
17 aastaselt lahkus kodunt, oma "elu armastusega", mis 19 aastaselt, selgus, ei olnud elu armastus.
Mängis rokk bändis basskitarri, õppis ülikoolis kirjandust. Rokk bändis olevat olnud aga "laisad" muusikud.

Ma siin natukene ise improviseerin loole juurde ... selle Edgar Allan Poe võrdluse põhjal.
Ma kaldun arvama, et noormees mängis algusest peale küllaltki hästi - aga tegelikult mitte kellelegi seal Pariisis ei läinud see eriti korda. Noh, istub kohviku nurgas ja klimberdab midagi. Mõnele võib-olla tuli natukene nagu tuttav ette - midagi nagu oleks olnud Bachi  moodi ... Joome siin oma dzinni toonikuga edasi ...
 Kunagi näidati telekas ühte teist "sentimentaalset" lugu, kus üks hulguseks maskeerunud viiuldaja mängis mingit Beethooveni lugu metroos. Ega keegi temast seal küll eriti välja ei teinud. Mängi mida tahad ... Klipi juurde imestati veel variserlikult, et KUIDAS küll inimesed ei saa aru, et see seal metroos on ju ometi geenius.
Enamikule oli ja on selline asi kahjuks absoluutselt SAVI.  Tegelikult toetub kõik see muusikamaailm tänase päevani 99% ulatuses autoriteetide arvamistele ja see 1%, kes ehk viitsib oma kõrva pingutada, on siiski erandlik nähtus ...
Kunagi aga elas Salzburgis üks muusik, Mozart nimeks.
Salzburgi rahvale ei olnud see muusik väärt isegi kapellmeistri ametit. Provints on selles osas ületamatuim. Siin isegi puudub lootus. Keegi peab geeniuse paiskama kuhugi Pariisi või Viini (Pariisi kohta Lucas eriti hästi ei arvanud) ja sealt Venemaale, kes jälle (jälle see Venemaa) peab maailmale selgeks tegema, et teie ees on GEENIUS. Muuseas, Mozartil oma eluajal Salzburgi vaevalt ikkagi oleks tagasi asja olnud, isegi pärast seda, mida ta saavutas Viinis. Ka siin on provints ületamatu. vrdl. Eestiga. Tule siia meilt ärakaranud maailmanimi, küll me sulle siin näitame!
Ja kui see provints ükskord ärkab ja avastab, et näe, siin liikus ringi Mozart, ei tule lõppu sellele hardale eneseupitamisele. Näe, meie siin kasvatasime ja andsime maailmale üle sellise geeniuse ...
Aga Venemaa on selles osas natukene erandlik. Seal tuntakse geenius vähemalt ära. Ollakse harjunud selliste "nejurodivõi" tüüpidega.
Ka Glenn Gouldist poleks iial saanud Glenn Gouldi ilma tema fenomenaalse debüüdita Venemaal.
Vaadake ära see film Gouldi tähelennu kohta:

Selle tiraadi lõpetuseks -
Ja nüüd on kõige krooniks välja karanud inimesed, kes kõik arvavad, et kõike võib saavutada 10000 tunniga ...
Ja siis vahepeal tuntakse endal natukene nagu süüd olevat nendes mittemärkamistes ja et mõni näljane ja paljas geenius õnnelikuks teha, tehakse talendishow. Leitaksegi mõni selline üles ja pannakes puuri, just sellisesse puuri, millest Lucas põgenes, olles kuulanud Mozarti 21. kontserdi teist osa.
Ole rahulik, Lucas. Sind istutakse veel kindlamini kullast puuri, kui sa oskad oodata...


Aga ühel päeval, kui noormees oli saanud juba 20 aastaseks, otsustas ta käia "loomi" (fr. monstres ...nii nimeats Lucas neid, kes klaveriõpet juba 5 aastaselt alustanud ...)
õrritamas, osaleda Rueil-Malmaison-i muusikakooli eksamil ...Et tema ka nagu natuke oskab mängida (kuulmise järgi).
Aga anname sõna venelanna Rena Shereshevskajale, kellele ta oma palu esitas.
https://rg.ru/2015/06/27/interviu-poln.html
"Lavale tuli selline pikk noormees, jalad erinevates suundades, istub ja mängib: pooli noote pole kuulda, kostub nagu hipodroomil. Interpretatsiooni osas saab tavaliselt kellegile öelda - kas sa ei näinud, mis nootides kirjas on? Aga siin oli üleüldse kõik pea peale pööratud - tragöödiast sai komöödia, komöödiast tragöödia. Mõtlesin, et see on mõni emotsionaalselt hullunud noor inimene. No ei saa olla, et ta mängis (Sekeldaja  rõhutus) KÕIKE kuulmise järgi - ta ei ole  ju Bach, ta ei ole ju Mozart!
Kolleeg küsis minult - kas sa võtad tema? - Ütlesin - jah. Ja tema - mida sa temaga tegema hakkad - vastasin - ei tea ...

Lucas ei tulnud ega tulnud esimesse tundi. Ma ei saanud millestki aru. Helistan talle - Lucas, siin Shereshevskaja. Miks te ei ole tundi tulnud? Vaikus. Seejärel - aga kas te mind võtsite?
Ta ei tulnud isegi nimekirju vaatama - ta oli absoluutselt kindel, et sellist asja ei saa juhtuda, et ma võtan ta oma klassi õpilaseks."
PS! Sekeldaja. 
Selleks pidi olema venelanna Shereshevskaja, et võtta Lucas Debargue oma õpilaseks. Teistega see trikk vaevalt oleks läbi läinud.
Kusagil esimestes tundides oli siis see lugu Prokofjevi sonaadiga nr. 3:
 "Hakkan teda õpetama, räägin - Lucas, kas sa tead, et võib mängida paremat kätt kõvemini vasakust, vasakut kõvemine paremast? Tema: see on raske.!
Aga minu tunnis üks 12 aastane poiss, kes mängis Vladimir Spivakovi festivalil, mängib 3. Prokofjevi sonaati.

Lucas istub minu kõrval ja äkki ütleb - jumaldan vene muusikat, jumaldan Prokofjevit, jumaldan seda sonaati, ma juba tean teda peaaegu kuni lõpuni...
Küsin, et kas sa õppisid seda? Tal oli oma muusikapedagoog, 2  või 3 aastat tegeles temaga, nagu amatööriga. Ta vastab - ei, ei õppinud. Lugesid noodist? - Ei.  Ütlesin, et mängigu siis mulle...
Ja ta istub ja mängib 3. sonaati ja naeratab oma naeratust ...Prokofjevi 3.ndat sonaati kuulmise järgi..."
Rena Shershevskaja oli ... realist - ja tahtis võimatut. Ta sättis noormehele ülesandeks ei rohkem ega vähem, kui jõuda Tchaikovski konkursile (ei, isegi Rena ei arvanud, et Lucas võiks seal võita või isegi edasi jõuda).
Kui hiljem näiteks Satie Spivakova saates Satie küsis, kas konkursil mängimine oli raske, siis ei olnud nii - 4 aastat iga päev oli Lucas' jaoks enesetõestus - konkurss  - õpetaja juures, keda Lucas tänase päevani usaldab.
Ja kõige raskem ja väsitavam oli vahepausid, ootamine. Ja seda oli koos läbipõlemistega konkursil kindlasti palju.
Aga kõige alguses oli Mozart.
Küsimus:
Kuidas sa ikkagi esimest korda sattusid klaveri taha?
Üks minu sõpradest mängis klaverit. See aga ei olnud tähtis. Tähis on see, et ma kuulsin seda ilusat muusikat - ilus ei ole õige sõna - Mozarti 21. kontserdi teist osa.
See on võrdväärne tuhandete raamatute ja tuhandete aastatega  inimkonna ajaloos, sest selles on nii palju tõde, nii palju sügavad armastust. See näitas mulle midagi, mida ma võiksin saavutada.
... Kuulad Mozarti muusikat ja äkitselt taipad - vaata, kui suur see on, vaata enda ümber, kui suur SEE (sekeldaja rõhutus) kõik on, ja oli absurdne olla elanud enne seda kookonis, puuris. Aga ma ei saanud sellest rääkida oma vanematele, sest nemad olid keskendunud reaalsele elule - mingis mõttes oli neil õigus - neil pidi olema piisavalt raha, et meid ära toita ...

Aga kuulame siis Lucase Mozarti esitust  Tšaikovski konkursilt:
24.ndat, mitte 21.st.

Kuid Mozart pianismi sportlikus mõttes veel ei ole see tipp.
Üks tipp on aga  Raveli "Gaspard de la Nuit". Tausta selle pala kohta lugege netist.
Lucas' Tšaikovski konkursi esitust jutjuubis ei ole mingite autoriõiguste tõttu, aga tuub sisaldab Lucas' Peterburi kontserti selle koletu ööga (la Nuit - öö prantsuse k.).


Lisaloona sellel kontserdil esitas Lucas aga dzäss improvisatsiooni:


Ilmselt sarnase klimberdamisega teenis Lucas elatist veel siis, kui ta Tšaikovski konkursil polnud käinud ...

Lisan veel lõpetuseks eestikeelse klassikaraadio lingi. Saate autoriks Ia Remmel.


http://klassikaraadio.err.ee/v/braavolegend/saated/9237aea1-af7b-4743-8dbc-8c5e271b2f8f/braavo-noor-prantsuse-pianist-lucas-debargue

veebruar 24, 2017

Ma siia jääks



jaanuar 27, 2017

Mozarti päev



Täna on Mozarti sünnipäev. 260 aastat tagasi sündis meile väga lühikeseks ajaks geenius, keda ei ole tänini suutnud vist küll mitte keegi ületada.
Ja selles videos mängib Mozartit geenius, keda Charlie Chaplin pidas üheks 3-st 20 sajandi geeniustest -
1 oli Einstein, teine oli Churchill - selle ma vaidlustaks, aga ok, jätame.
Aga 3., muusikaline geenius oli Clara Haskil.
Minu arvates avaldub see eriti siis, kui Clara mängis Mozartit.
Maailmas on väga palju inimesi, kes suudavad kõik ilusa rikkuda ja ära määrida. Nii läks ka Mozartiga. Ta leidis illusoorse solidaarsuse inimestega, kes teda tegelikult ei mõistnud ega hinnanud. Ta sai selle tasuks küll tunnustuse, väljapääsu Salzburgi konnatiigist Viini, aga kahjuks ka väga lühikese elukaare.
Tänini püütakse Mozarti nime kaudu määrida teist väljapaistvat geeniust - mis sellest, et II  või III - Salierit - kelleta muuseas me ei saaks nautida Schubertit - sest tema organiseeris selle geeniuse muusikalise õppe -  ja tänini leidub massiliselt inimesi, kes seda kõike usuvad ja kaasa määgivad ...
Aga jätame selle.
Tegelikult on täna Mozarti päev.
Kuulakem Mozartit.



jaanuar 11, 2017

Valejärgne maailm




Ma ei julgeks öelda, et selline hetk üldse käes oleks.
Ometi on jää hakanud mõranema,
Igal juhul mind ei üllata, et selle praeguse hetke kohta on leiutatud mõiste "tõejärgne" maailm.
Aga mõiste ise on selline sulepeast väljaimetud asi, sest tahab lambaid panna uskuma, nagu oleksime kogu aeg tõe keskel elanud ja nüüd .... kui inglased enam ei taha, prantslased enam ei taha, itaallased ka ei taha ja lõpuks ameeriklastel on ka kõrini senisest Hollywoodist, siis enam ei osata muud välja mõelda, kui et tõejärgne maailm on saabunud.
Kui aga ühel hommikul ärkaksime mõttega, et nüüd on valejärgne maailmaajastu saabunud, siis see ei ole siiski veel tõe maailm.
See on pill peale pikka pidu mõnedele ja paljudele teistele ka, kuigi enamiku jaoks mingit  pidu polegi olnud, On vaid läbu koristamise vaev olnud rahaülikute tagant.
Sellele järgneb pikk periood võõrutusnähtusi, sest tõega ei olda ju enam üldse harjutud.
Nii lihtne on kõike propagandaga ära mätsida.
Kui 2011 Fukushima jaamaga läks halvasti ja see väsimatult Jaapanit, mis veel hullem - Vaikset ookeani - reostab, siis tänase päevani on olemas akadeemikute tasemel seltskond, kellele kõik väga lihtne näib - mätsime kinni ja laseme veel suurema kaarega edasi.
Ehitame veel vägevamaid raudteid, et kaevandada veel suuremal hulgal sodi, ressurssi veel on, pudel pole põhjani joodud ...
Ja nii edasi ...
Mulle see siiski sobiks paremini, kui selle suure TÕE keskel elamine, peaaegu sama suure ja absurdse tõe keskel, kui oli NL-s.
Aga minu elupäevad jäävad liiga lühikeseks mingigi suurema tulemini jõudmiseks.
Vist jõuame Brutuste juurest armastatud diktaatorite juurde tagasi enam-vähem suuremas osas maakeral.
Jõuan ehk ära näha kõdunenud demokraatia vaikset hääbumist ja kaasnähtena vandeseltslaste kadumist ajalooareenilt.
Kui juhtub hästi minema, saame kohati mõistlikud diktaatorid, kui ei juhtu, ei saa, saame Caligulad.
See kõik on kirjas Rooma ajaloo raamatutes ja ma väga igatseks selle aja järele, kui neid lugeda saaks, sest seda, mis tuleb, saab sealt järgi vaadata  vastavalt Spenglerile.
Aga ma ei saa, sest täna nõuab oma obrokit tehnoloogiamoolok ja tõtt öelda ongi aeg see obrok maksta.
Vähemalt on väike inimene sõltumatum, kui teed mingit asja, mida on vaja ja mille eest natukene makstakse -  saab öelda ja mõelda seda, mida mõtled - sedagi poole suuga.
Ei ole nii, et ütled ühte, mõtled teist ja teed kolmandat, kuigi niikaugele võidakse ka jõuda isegi "väikese" inimese puhul.
Aga need suured esikaanemolud on kõik üdini ära tüüdanud.
Valejärgse maailma esimene samm on jõudmine tõdemuseni, et edasi nii ei saa. Ei ühtegi valet enam, nagu ei ühtegi orja. Aga ... ma tean realistina väga hästi, et jätan ka lahkudes - noh, mitte üle 50 aasta mul pole jäänud - maailma endiselt peaaegu sama suure vale sisse. Mõni vana vale leitakse üles ja lükatakse ümber, aga selle käigus jõutakse leiutada 100 uut.
Üks uus vale ongi ju leiutatud - vale mingist "tõejärgsusest", mis maailmas võimust võtvat.
...
Aga aitab tühjadest sõnadest -
Kuulakem parem seda naist, eriti siis, kui ta mängib Bachi!