WWW-diary of Juhapekka Tolvanen:

Thursday, 02 October 2003




07:40:52 EEST @236

Whoah! Olipa rankka Go-peli GNU Go:ta vastaan! Säädin vaikeustason ylimpään arvoonsa, mutta pelasin taas mustilla ja yhdeksällä tasoituskivellä. Alku meni hyvin ja moyot näyttivät kauniilta ja vastusajan ryhmät heikoilta. Mutta sitten jossain kohtaa sähläsin ja siitä eteenpäin asiat menivät päin ulkosynnytintä suorastaan lumivyöryn lailla. Ja hävisin sitten aika reilusti.



11:07:09 EEST @379

Meenpä nukq.



18:12:55 EEST @675

Heräsin jokin aika sitten.



19:36:39 EEST @733

Vaihdoinpas sigua:

Juhapekka "naula" Tolvanen * http colon slash slash iki dot fi slash juhtolv
"Laß mich deine Träne reiten übers Kinn nach Afrika. wieder in den Schoss
der Löwin wo ich einst zuhause war. Zwischen deine langen Beinen such den
Schnee vom letzten Jahr doch es ist kein Schnee mehr da."          Rammstein




22:35:43 EEST @857

Kävin tossa vähän ennen iltayhdeksää kaupassa ostamassa ruokia.

Pian on 10.10 ja Johhny Kniga-kustantamon kotisivun mukaan silloin ilmestyy Johnny Kniga kertoo-lehden numero, jonka teemana on runous. Jkl:ssä tuota lehteä jaetaan ainaskin Bar68:ssa ja Vakiopaineessa. Kandee muistaa ottaa se mukaansa.

Asiasta kolmanteen (kirjaimellisesti): Olen keksinyt uuden käsitteen: "sendmail-tcsh-syndrooma". Tuo käsite kuvaa sitä, kun vanhemmat Unix-ylläpitäjät ovat toisinaan niin kaavoihinsa kangistuneita ja asenteiltaan ja tavoiltaan niin luutuneita, etteivät sitten millään osaa vaihtaa uudempaan ja paremmin toimivampaan jotain ikivanhaa softaa, jonka kehitystyö on jo edennyt niin siihen pisteeseen, että siitä tullut ylläpito- ja edelleenkehityskelvotonta ja/tai tietoturvareikäistä spagettia ja/tai bloatwarea. Tällaisia ikivanhoja paskoja ohjelmia, jotka eivät tahdo lähteä kulumallakaan, koska sendmail-tcsh-syndrooman riivaamat vanhat käävät yhä antavat niille tekohengitystä, ovat ainakin:

Tuollaisille softille puhtaalta pöydältä koodattuja uusia korvikkeita ovat ainakin:

Lisäksi on eräitä rajatapauksia, jotka ehkä pitäisi ottaa tähän tarkasteluun mukaan: esim. Perl vs. Python ja gzip vs. bzip2. Noitten ohjelmien ohjelmakoodin laatuun ja ylläpidettävyyteen en osaa ottaa kantaa. Mutta ainakin Perl on siinä mielessä aikansa elänyttää paskaa, koska sen kanssa on Pythonia helpompaa sortua write-only-ohjelmointiin ja viimeistään sitten kun tuollainen Perl-ohjelma kasvaa tarpeeksi isoksi, sen ylläpitäminen on jo tuska ahterissa, kuulemma. Voi myös olla, että Ruby-kielen advokaateilla on ihan perustellusti pahaa sanottavaa jopa Pythonista. Ja bzip2 toki pakkaa tiukempaan kuin gzip, mutta se syö muistia ja CPU:ta enemmän.

irssi:n koodaajana tunnettu Timo "Cras" Sirainen on kotisivuillaan hieman tarkastellut ja vertaillut esim. sendmail:lille tehtyjä uusia korvikkeita, joissa tietoturvallisuus on jo alunalkaenkin otettu huomioon. Kannattaa tutkia. Toisaalta Guillaume Laurentin WWW-sivu "Being a hacker doesn't protect you from being outdated" myös hieman sivuaa tätä esiinnostamaani ongelmakenttää. Oikeastaan tuon sivun alussa oleviin tokaisuihin voisi varmaan lisätä tällaisen Perl-advokaateilta kuullun möläytyksen: "Ei Pythonia tarvita. Perlilläkin syntyy kaunista ja luettavaa koodia, kun opettelee koodaamaan kunnolla."

Tyypillistä sendmail-tcsh-syndrooman riivaamille ihmisille on noitten ikivanhojen softien ongelmien vähättely ja kaikenlaiset ympäripyöreät möläytykset tyyliin: "Kyllä tää ircII ihan hyvin toimii". Pahimmassa tapauksessa he kertakaikkiaan kieltäytyvät näkemästä syytä vaihtamiseen. Erityisen huvittavaa on ollut se, kun joku on ensin möläyttänyt "Ei tässä sendmailissa ole viime aikoina ollut enää paljoa reikiä" ja muutaman viikon tai kuukauden päästä sendmailista on taas löytynyt joku tietoturvareikä. On myös naurettavaa yrittävää yrittää puolustella sendmail:ia näin: "sendmail elää ja voi hyvin, koska siitä yhä tulee uusia versiota". Vaikka maailmasta löytyisikin sellaisia hulluja, jotka ainakin maksua vastaan suostuvat ylläpitämään sendmailin kaltaista koodiläjää, niin ei se välttämättä sitä tarkoita, että moinen touhu olisi varsinkaan pitemmän päälle järkevää. Sendmail-tcsh-syndrooman riivaamille ei vaan tunnu menevän kaaliin, että olisi parempi käyttää softaa, joka on alunalkaenkin suunniteltu tietoturvallisuutta silmälläpitäen eikä eikä softaa, joka on koodattu niin, että ensin on vaan koodattu kasa ominaisuuksia ja sitten koko loppuikä paikkaillaan reikiä, joitten perimmäinen syy on joskus vuonna miekka ja kypärä ennen käpysotia tehdyt suunnitteluvirheet, joista ei ilman ohjelman täydellistä uudelleenkirjoitusta enää voi päästä eroon.

Sen toki vielä jotenkin ymmärtää, että jossain isossa organisaatiossa jonkin sendmailin tyylisen isomman softan vaihtaminen ei niin vain käy, ja se vaihtaminen on ihan oikeasti hankalaa ja ongelmallista myös muista kuin asennesyistä. Vaihtamisessa sendmailista pois on myös sekin ongelma, että sendmailissa on todella paljon ominaisuuksia ja niistä monia saatetaan ihan oikeasti käyttää, enabloida ja pitää päällä ja sitten johonkin sendmailin korvikkeeseen vaihtaessa voi käydä niin, ettei siitä korvikkeesta löydykään ihan kaikkia niitä ominaisuuksia, mitä sendmailissa tuli käyttäneeksi. Mutta parempi ottaa oikeasti selvää, eikä vaan ylimielisesti möläyttää: "Ei se Postfix kuitenkaan osaa tehdä kaikkea sitä, mitä mä sendmaililla teen". Ja jos todellisia puutteita sitten ilmenee, niin voi olla hyvä idea kertoa niistä sen korvaavan ohjelman tekijöille. Mutta sitä en kyllä voi käsittää, miksi esim. sendmail pitäisi laittaa MTA:ksi silloin, kun aletaan puhtaalta pöydältä tehdä uusia tietojärjestelmiä, jotka eivät vielä ole niin isoja, että ne tarvitsivat vain sendmailista löytyviä ominaisuuksia.

En tosin usko, että vaihtaessa tcsh:sta zsh:hon tulisi sellaisia ongelmia, että jotain tcsh:sta tuttua ominaisuutta ei zsh:sta löytyisi. Zsh on nimenomaan tehty niin, että siinä on mukana kaikki vanhempien shellien (csh, tcsh, sh, ksh ja bash) pillit ja kellot ja niitten lisäksi kasa uusia pillejä ja kelloja. Mutta vaihtaessa pine:stä mutt:iin tuollaisia ongelmia saattaa jopa tulla, jos on pine:n kanssa melkoinen "tehokäyttäjä". Perl vs. Python -vastakkainasettelussa usein otetaan esiin se ongelma, kun vähän vaikka mihin eri tarkoitukseen näyttää löytyvän valmiita Perl-moduleita, niin ettei koodattavaa jää kovin paljoa, kun jotain uutta Perl-softaa alkaa tehdä, kun taas Python-moduleita ei ole aivan niin paljoa valmiina. Mutta voi olla parempi ottaa ensin selvää Python-moduuleista eikä tuosta vaan rynnätä koodaamaan Perlillä käyttäen Perl-moduuleita.

En myöskään kannata sitä, että aivan tuosta vaan mennään uusimpien virtausten mukana liikoja miettimättä: On tärkeää huomata, että ainakin nuo ehdottamani korvikkeet ikivanhoille paskoille softille ovat sen verran pitkälle kehittyneitä, että niitä ihan oikeasti uskaltaa jo käyttää, myös bzip2. Kun versionumero ohittaa maagisen rajan nimeltä "one-dot-oh", niin yleensä silloin joku uusi softa on jo erittäin käyttökelpoinen. Yllämainituista softista irssi on kyllä poikkeus tuosta one-dot-oh -säännöstä.

Seurauseettisesti tarkastellen sendmail-tcsh-syndrooma vaikuttaa vastenmieliseltä ilmiöltä ainakin silloin, kun tuon syndrooman riivaamat vanhat käävät tartuttavat luutuneet asenteensa uusiin Unix-ylläpitäjien sukupolviin. Eikä sekään ole kivaa, kun uusille käyttäjille laitetaan jotain tcsh:ta oletusshelliksi ja sitten heidätkin saadaan jäämään siihen koukkuun. Inhottavaa sendmail-tcsh-syndrooman riivaamisssa ihmisissä on juuri se, että irtipääseminen menneisyyden painolastista on heidän vuokseen niin hankalaa. Eli sanoisin sendmail-tcsh-syndrooman riivaamille: Vaikka ette itse osaisikaan enää vaihtaa pois ikivanhoista paskoista softistanne, niin älkää ainakaan uusille käyttäjille opettako pahoja tapojanne; älkää olko kehityksen jarruna vaan antakaa edes joskus uusienkin tuulien puhaltaa.



Edellinen / Previous

Seuraava / Next

Juhapekka Tolvanen