Skriptiajuri ei koskaan tuhoa mitään, sillä joskus kelvottomissa ja toimimattomissakin skripteissä on jotakin hyvää. Ja kovalevyltä kaikki tekstimuotoiset hommat vievät mitättömän vähän tilaa joten kaiken voi säilyttää.
Esimerkiksi tein aikoinaan skriptin nimeltä: palautuspiste. Koska se käyttää sellaisia menetelmiä joiden käyttämisen "Ubuntu" vuosia sitten esti ei skripti enää toimi. Mutta ei skriptiä tuhotakaan kannata sillä siinä on paljon käyttökelpoistakin. Mutta ei sitä valittavienkaan joukossa kannata pitää koska sitä ei saa valita. Ratkaistakseni ongelman tein jokaiselle kansiotasolle kansion nimeltä ARKISTO/POISTETUT johon kaikki sen kansiotason kelvottomat skriptit siirretään ettei niitä suotta esitettäisi valittavien joukossa mutta että ne löytyisivät tarvittaessa.
**
BASH on toivottoman hidas varsinkin jos sen edistyneempiä toimintoja ei käytetä. Mutta se ei ole syy siihen ettei BASH:ia käytetä vaan todellinen syy on se ettei sitä kukaan hallitse: toimiva skripti on usein helppo tehdä, mutta nopea ja oikein toimiva skripti on melkein mahdoton tehtävä.
"Salahautojen" takia BASH ei olekaan kieli jossa kirjoitetaan vaan kieli jossa kopioidaan. Useimmiten kopioidaan itseltä sillä toisten tekemissä skripteissä on merkityksellistä vain ne ideat johon se perustuvat - skriptit eivät useinkaan edes toimi ja moitteettomia ne ovat erittäin harvoin.
Ja kuitenkaan BASH:issa ei juuri koskaan käytetä kirjastoja vaikka kirjastoa käytettäessä ei tarvitse vaivautua edes kopioimaan. Ilmeisesti BASH on piikki kehittäjien lihassa, sillä kirjasto-osoitin poistettiin käytöstä ja se tekee kirjastojen käytöstä vaikeaa.
**
Toistaiseksi on järkevää ainoastaan tehdä rutiini joka ilmoittaa kun skriptissä on kontrollimerkkejä. Kontrollimerkkien automaattinen poistaminen taitaisi olla hölmöä sillä ainakin joitain niistä tarvitaan aina ja jotkut aikaansaavat toivottuja ilmiöitä. Kenties joskus tulevaisuudessa kun skriptiajurin tietokanta on paljon suurempi voi analysoida kontrollimerkkien merkitystä ja tehdä poistorutiinin.
- kaikki kielet kärsivät näistä merkeistä jossain määrin: esimerkiksi BOM (?) joka kertoo kuinka seuraavat merkit tulkitaan, onko käyttöjärjestelmä big- vai low-endian, Widows/Linux vai Apple.
**
Jokainen uusi sukupolvi hylkää edellisen sukupolven tekemisistä kaiken sillä vanhoilla tavoilla saa hitaasti aikaiseksi hitaita skriptejä. Tämä johtuu siitä ettei missään kerrota kuinka ne hyvät skriptit kootaan. Ja hyvät keinot ovat kymmeniä kertoja kertoja parempia kuin huonot - ja on suurinpiirtein varmaa ettei kukaan niitä hyviä keinoja yksikseen löydä eikä löydä edes isossa joukossa. Aikoinaan yritettiin keksiä keinot löytää niitä hyviä tekomenetelmiä mutta epäonnistuttiin surkeasti. Mutta nyt asiat ovat toisin: netti pursuaa niitä hyviä menetelmiä ja BASH-4 mahdollistaa niiden kokoamisen.
Tehtäessä skriptejä ei kirjoiteta omasta muistista mitään, vaan kaikki kopioidaan netistä kootusta tietokannasta - tarkoitus olisi että voitaisiin kopioida poikkeuksetta sillä poikkeukset palauttavat siihen vanhaan tapaan skriptata ja se johtaa hitaaseen kyvyttömien skriptien tekemiseen.
Kopiointi edellyttää hyviä hakumoottoreita. Skriptiajurin hakumoottori onkin hyvä sillä se on tehty seulomaan sitä sekamelskaa josta BASH-skriptit muodostuvat. Mutta sekään ei riitä sillä vaikka hakumoottorille voikin antaa rajoittavia haku-termejä niin silti vastauksia tulee liikaa. Mutta hakumoottori osaa myös rajoittaa haku-paikkansa niihin joista löytyvät parhaat vastaukset - ja skriptiajuri puolestaa osaa muodostaa hyviä hakupaikkoja.
**
Työtilat saa unohtaa skriptiajurin kanssa sillä vaikka virtuoosit eivät kärsikään niiden omituisuuksista niin noviiseille ne ovat ylipääsemätön paikka.
Käyttöjärjestelmän ikkunointia käyttävä järjestelmä taas toimi niin mallikkaasti että kehitin sitä melkoisesti. Mutta kun lopussa vertasin sitä itsenäiseen skriptiajuriin niin itsenäinen skriptiajuri oli parempi.
**
Tulipahan kokeiltua eri pääteohjelmia ja mitä tapahtuu kun esimerkiksi gnome-terminalin poistaa. Oli muuten pikkuisen kolkko tunne kun näennäisesti päätettä ei ollut. Xterm alkoi kuitenkin ajaa skriptiajuria ilman että tarvitsi tehdä mitään.
Muuten Mintistä poistin mate-terminalin ja varmistuttuani että Xterm toimii siinäkin asensin pääteohjelmaksi gnome-terminalin. Hyvin sekin toimi.
**
Skriptiajuri on nyt vähän aikaa vain testauksessa ja samalla onkin aikaa hyödyntää sen ominaisuuksia kirjaston parantamisessa. Kirjastoon alkaakin kertyä hieman korkeamman tason käskyjä kuten esimerkiksi "ei ihan triviaaleja" matriisi-operaatioita ja niiden dokumentaatioita.
**
Toisilta ei koskaan kopioida vaan kopioidaan vain omia tekosia. Mutta tämä on yksinomaan yritystä suojautua huonolta koodilta. Ideoita sensijaan voi "kopioida" toisilta täysin vapaasti sillä alunperin ideat ovat Linuxin kehittäjien ja hehän ovat antaneet ideansa yleiseen käyttöön. Joten jos joku yrittää omia muka itse kehittämiään ideoita niin syyllistyy rikolliseen tekoon. Rikollista noissa yrityksissä on olla kertomatta että "copyright" koskee yksinomaan kirjoitus-asua; ja siinäkin yritetään "copyrightata" toisten omaisuutta.
- esimerkiksi käsky: awk '!a[$0]++' joka tulostaa tiedoston jättäen pois samanlaiset rivit on näennäisesti kovin keksinnöllinen. Voit kuitenkin olla täysin varma siitä että awk:in kehittäjät ovat suunnitelleet awk:in toimivan myöskin noin ja että tuokin käsky olisi mahdollista kehittää itsekin kunhan hankkii "awk-kirjoitustaidon" vuosien työllä. Kova työ, kieltämättä. Mutta pyörän keksimistä uudelleen.
Mutta edes ideoita ei kannata käyttää sellaisenaan vaan yrittää käsittää kuinka ne toimivat, testata ja muokata niitä loputtomiin. Lisäksi toimiakseen ideat vaativat yleensä tukea monilta muilta ideoilta.
**
BASH:in merkintätavat ja logiikka ovat vieraasta maailmasta. Muissa kielissä ongelma ei ole yhtä paha, ja niissä kirjastot vielä pienentävät ongelmaa. BASH osaa sekin käyttää kirjastoja ja itseasiassa sille on tehtykin lukemattomia kirjastoja - kirjastoja joita vartioidaan mustasukkaisesti, niiden koodi salataan paketteihin koettaen väittää että homma on jotenkin "mun kehittämääni".
**
Skriptiajuri kehittyy kyllä kokoajan, mutta se on saavuttanut vakaan vaiheen ja tekee kokoajan sitä tehtävää johon se on tehty; se nopeuttaa skriptintekoa "kymmenkertaisesti".
Mutta ennenkaikkea skriptiajuri mahdollistaa uudentyyppisten skriptien tekemisen: vaikka BASH:illakin täytynee olla rajat niin minä en ole löytänyt niitä. Ja kun ongelma on niin vaikea ettei sitä millään kielellä saa ratkaistua alkaakin BASH tuntua mielekkäältä: vaikka BASH onkin hidas niin on parempi saada tulos BASH:illa kuin ei ollenkaan.
**
Älä anna BASH:in nykytilan hämätä: edesmenneillä virtuooseilla on ollut käytössään todella edistyksellisiä skriptejä. Mutta nuo skriptit on toimimattomina päästetty häviämään sillä maailman muuttuessa noihin skripteihin olisi täytynyt tehdä vastaavat muutokset eikä kukaan ole muutoksia osannut tehdä; ei se uus-kyvyttömyys mitään uutta ole.
Myös kauan sitten itsetekemäni skriptit ovat kaikki menneet käyttökelvottomiksi Ubuntun muuttuessa ja niiden korjaaminen toimiviksi on aikaisemmin osoittautunut liian työlääksi. Mutta skripti-ajuri on muuttanut senkin: noiden vanhojen skriptien korjaaminen on osoittautunut nopeaksi ja ennenkaikkea varmaksi; koska työtä ei tarvitse alkaa tehdä ajatellen "kuinkahan tässä käy ja paljonko aikaa tuhraantuu" niin korjaamisesta tulee "vähemmän epämiellyttävää" ja nopeaa.
**
Saycy testattu käytettäessä btrfs-tiedostojärjestelmää. Skriptiajuri toimii kaikissa suhteissa. Samoin tarkistin että kaikki toimii käytettäessä EFI:ä ja GPT:tä. Muuten kaikki toiset skriptit eivät toimi kun joku näistä on paikalla.
**
Varsinaisia virheitä ei ole tullut vuoteen mutta jatkuvaa testaustahan tämä on samoinkuin kosmeettisia muutoksia. Ja kohtahan tulee BASH:in seuraava versio.
Se ominaisuus on huippu-kätevä että kun tehtävä skripti villiintyy niin tuon villiintyneen skriptin voi kaataa tahallaan ctrl-c:llä tai jollain ja silloin palataan heti skriptiajuriin siihen pisteeseen jossa oltiin ennen villiintymistä. Skriptiajuri itse ei ole moksiskaan vaikka painelisit ctrl-c naama punaisena.
**
ohje kuinka Skriptiajurille tehdään kuvake työpöydälle:
http://forum.ubuntu-fi.org/index.php?topic=42023.msg323640#msg323640. ohje on pysynyt toimivana jo puolitoista vuotta - se on iäisyys Ubuntu-vuosissa.
**
Tehty 14.04/64bit/btrfs:n vaatima muutos. Korjasin Skriptiajurin Skriptiajurissa sillä se on ylivertainen korjauksessakin. Minulla ei ole selvää käsitystä mikä aiheutti väärin tulkkaamisen, mutta skriptiajurin näytöstä oli helppo päätellä missä tarvitaan muutosta ja minkä kaltainen sen täytyy olla. Muutoksen jälkeen kaikki vanhakin toimii.
**
Skriptiajuri kannustaa kopioimaan. Mutta koodia kopioidaan vain itseltä, ei koskaan toisilta. Tämä on tismalleen sama kuin se että ryhmä tekee ohjelman nopeasti ja se aikaansaa huomattavasti enemmän kuin hyväkään koodari - mutta taas kun mennään todella edistyneisiin ohjelmiin niin ne ovat yksinäisten "super-koodarien" tekemiä.
Ideoita "kopioidaan toisilta": on täysin mahdotonta olla kopioimatta sillä kaikki on tehty jo aikoja sitten - "super-koodaritkin" tekevät yleensä jotakin joka on tehty jo monesti ennen.
**
19.11.13 jälkeen en ole tehnyt skriptiajurille mitään muuta kuin tarkistanut sillointällöin sen toimivuuden; voiko edelleen tehdä uutta ja korjata vanhaa, toimiiko versionhallinta, toimiiko 14.04:ssa, toiminta btrfs:ssä jne. Toiminnassa ei ollut mitään huomautettavaa.
- tosiaan senverran uutta että aloin kirjoittamaan elämänkertaani. Soveltuu Skriptiajuri näemmä siihenkin. Muuten versionhallinta on rautaa kaikissakin blog-tyyppisissä kirjoituksissa.