Petri Nordlundin haastattelu
Haastattelijana Mikko Koivunalho <mikkoi@utu.fi>

Tämä haastattelu aloittaa uuden artikkelisarjan Sakussa. Sarjassa esitellään suomalaisia Amiga-ohjelmoijia ja heidän merkittävimpiä ohjelmiaan.

Ensimmäisenä on vuorossa Petri Nordlund, Executive-ohjelmiston kehittäjä. Executive antaa uuden ulottuvuuden Amigan prosessihallintaan, mm. mahdollisuuden säätää prosessien prioriteetit, poistaa prosesseja tai vain tarkistaa, kuinka monta ohjelmaa on syömässä keskussuorittimen tehoa.

Nimi:Petri Nordlund
Ikä:25
Ammatti:ohjelmisto- ja laitesuunnittelija
Ohjelmia:Executive, Impulse, Pyramid3D Windows NT/OpenGL -ajuri
Sähköposti:petrin@megabaud.fi
Kotisivu:http://www.megabaud.fi/~petrin

Petri Nordlund, kuinka kauan olet käyttänyt ja ohjelmoinut Amigaa? Mitä muuta olet tehnyt Executiven lisäksi?

"Ensimmäisen Amigan (A500), hankin muistaakseni vuonna 1987. Se vaihtui muutamaa vuotta myöhemmin A2000:een, joka on käytössä vieläkin, tosin turbolla, lisämuistilla ja isommalla kiintolevyllä varustettuna.

Ensimmäisiä ohjelmia kirjoittelin aikonaan pikkuserkun Vic-20:llä, kunnes sain C-64:n. Amigalla olen aikaisemmin ohjelmoinut muutamia 3D-grafiikkaa sisältäviä demoja.

Viime aikoina olen kehitellyt Impulse-nimistä ohjelmaa, joka Executiven avulla ohjaa kohta myyntiin tulevaa "turboa" (Scorpio Superchager). Scorpio nostaa prosessorin kellotaajuuden maksimissaan nelinkertaiseksi (siis jopa 200 MHz:iin asti). Kellotaajuutta vaihdetaan prosessorin käyttöasteen mukaan."

Executive on saanut valtavan suuren suosion. Esim. CU Amiga ylisti sitä "kaikkien aikojen parhaaksi apuohjelmaksi". Mikä innoitti Sinut ohjelmoimaan Executiven?

"Kaikki lähti siitä, kun nelisen vuotta sitten pohdimme OS/2:n ja AmigaOS:n moniajon eroja. Huomasin, että Amigan moniajo on muihin käyttöjärjestelmiin (UNIX, OS/2, Windows NT) verrattuna varsin alkeellinen, vaikkakin tehokas, ja muistuttaa lähinnä reaaliaika-käyttöjärjestelmiä. Samaan aikaan Amigalle alettiin portata NetBSD UNIX -järjestelmää, jonka lähdekoodi on vapaasti saatavissa. Siitä selvisi, että vastaavan järjestelmän toteuttaminen Amigalla olisi täysin mahdollista, ja se jopa näytti kovin helpolta. Ongelmaksi muodostuivat myöhemmin ohjelmat, jotka eivät suostuneet toimimaan kunnolla, kun niiden prioriteettia muutettiin. Tästä syntyvien ongelmien ratkaiseminen vei jonkin verran aikaa."

Onko Executive saavuttanut kehittelynsä huipun vai vieläkö on paljon paranneltavaa? Jos on, niin mitä esimerkiksi? Millaista tulevaisuutta toivoisit Executivelle?

"Executive tekee nyt sen mitä sen alun perin pitikin tehdä, eli AmigaOS varustettuna Executivella moniajaa ohjelmia yhtä tehokkaasti kuin muutkin käyttöjärjestelmät. Erilaisia apuohjelmia on mukana melkoinen määrä. Uusimmassa versiossa, v2.10, ei tietääkseni enää ole mitään merkittäviä bugeja, joten sen suhteen ei enää ole juurikaan parannettavaa.

Ideoita Executiven kehittelyyn kyllä olisi, mutta mitään isoja ominaisuuksia en enää aio Executiveen lisätä, koska se ei olisi tarkoituksenmukaista. Syksymmällä on mahdollisesti luvassa uusi versio, jossa on yhtä sun toista pientä korjausta ja parannusta."

Pitäisikö Executive liittää kokonaisena osaksi Amigan käyttöjärjestelmää, vai tulisiko sen ominaisuudet ehkä erotella ja sisällyttää käyttöjärjestelmän eri osiin kiinteästi niin, ettei käyttäjäläheinen prosessihallinta erotu kokonaisuudesta omaksi erilliseksi (laajennus)osakseen?

"Moniajon hallinta kuuluu ehdottomasti kiinteäksi osaksi käyttöjärjestelmää, jolloin sen toteuttaminen olisi melko yksinkertaista."

Millaisena näet AmigaOS:n tulevaisuudennäkymät yleisesti?

"AmigaOS kaipaisi 'kasvojenkohotusta', jossa kerralla parannettaisiin käyttöjärjestelmän peruskomponentteja (moniajo, muistin suojaus, virtuaalimuisti), laiteajureita (yhteisiä rajapintoja erilaisille laitteille) sekä käyttöliittymää (Intuition, Workbench, apuohjelmat).

Kaikki vanhat ohjelmat eivät toimisi tässä uudessä järjestelmässä, mutta ilman rohkeita muutoksia parannukset jäävät näpertelyksi. Erityisesti haluaisin välttää Windows 95:n kaltaista käyttöjärjestelmää, joka on rakennettu puhtaasti MS-DOS:n päälle ja kaatuilee tasaiseen tahtiin suojaamattoman DOS:n alamuistin seotessa."

Entä Amigan tulevaisuuden tietokoneena tai järjestelmäfilosofiana?

"Commodorehan kaatui vakaassa uskossa siihen, että Amigan pitää ehdottomasti kilpailla PC:n kanssa. Applekin on jo hävinnyt saman kilpailun, vaikka ei sitä ehkä myönnä. Tämä ei johdu mitenkään PC:n tai Windowsin teknisestä ylivoimasta. Totuus vain on, että kaupasta saatavalla 10 000 markan PC:llä monet asiat sujuvat (useimmiten) joutuisammin, ja pelejäkin voi pelailla. Omasta koneestani on tosin viimeisen puolen vuoden aikana seonnut kiintolevyn FAT jo kolme kertaa.

Amigalla on hyvät mahdollisuudet vallata itselleen sopiva markkinarako, mutta se edellyttää kehitystyötä. Työpaikoilla verkkotietokoneet (NC:t) korvaavat pian PC:t, ainakin itse uskon tähän. NC:t ovat moneen tehtävään tarkoituksenmukaisempia ja teknisesti ylivoimaisempia kuin PC:t. NC-koneiden vastustajat ovat yleensä täysin hakoteillä kritiikissään. (Microsoftkin on sitä mieltä, ettei verkkotietokoneilla tee yhtään mitään, mutta silti heillä on kolme eri NC-määritelmää.)

Nintendo 64 on osoittanut, että muutaman tuhannen markan pelikonsolit pyörittävät yhtä näyttäviä pelejä kuin yli 10 000 markan PC:t, ja monelle tämä riittää, joten PC:n tulevaisuus ei näytä mitenkään ruusuiselta. Yleiskäyttöisenä koneena PC on kylläkin varsin mainio, eikä tätä asemaa kukaan pystyne horjuttamaan. Amigan tulevaisuus riippuu siis sopivien markkinoiden löytämisestä."

Executiven kirjoittaminen vei Sinulta kolme vuotta. Tuossa ajassa muodostit varmasti oman käsityksesi Amigasta ohjelmointiympäristönä. Mikä siinä on hyvää ja mikä huonoa, ja mitä voisi muuttaa?

"Ohjelmointiympäristönä Amiga on samanlainen kuin UNIX tai Win32. API:t ovat selkeitä ja helppokäyttöisiä. Huonoa on lähinnä kunnollisen käyttöliittymän ohjelmoinnin vaikeus, pelkkä GadTools ei oikein riitä. MUI:n (Magic User Interface) (tai vastaavan oliopohjaisen järjestelmän) liittäminen käyttöjärjestelmän vakiopalveluihin olisi suotavaa."

Mitä puuhailet nykyään? Onko Executive millään tavalla vaikuttanut vaikkapa työpaikan saamiseen?

"Olen viimeiset puoli vuotta ohjelmoinut Pyramid3D-nimiselle 3D-grafiikkapiirille Windows NT ja OpenGL-ajureita. Pyramid3D on suunniteltu kokonaan Suomessa, sen takana on PC-maailmassa tunnetun Future Crew -demoryhmän jäseniä. Piiriä kehittää Bitboys Oy (www.bitboys.fi), joka maksaa minunkin palkkani. Markkinoinnista vastaa amerikkalainen TriTech Microelectronic, Inc. Pyramid3D-piiristä saa tarkempaa tietoa osoitteesta:http://www.tritech-sg.com/mm/pyra/index2.htmUskoisin Executiven jonkin verran vaikuttaneen työpaikan saantiin."

Haluatko sanoa jotakin evästykseksi nykyisille ja tuleville erityisesti Amiga-ohjelmoijille, jotka etsivät innoitusta Executiven kaltaisista "jättiläishankkeista" toivoen itse pystyvänsä joskus tekemään jotakin yhtä vaikuttavaa?

"Executivesta ei oikeastaan koskaan pitänyt tulla muuta kuin korkeintaan parin viikon projekti, mutta työn edetessä nälkä kasvoi ja huomasin, että ohjelmalla saattaisi olla jopa jotain hyötykäyttöäkin.

Isot projektit vaativat ennen kaikkea paljon tietoa ja suunnittelua. Hyvistä kirjoista löytyy vastaus moneen ongelmaan, joten niitä kannattaa hankkia mahdollisuuksien mukaan. Myös netistä löytyy valtavasti hyvää tietoa, kunhan sen osaa seuloa. Voisi kai sanoa, ettei ohjelmaa ole koskaan suunniteltu ennen ohjelmointia tarpeeksi hyvin.

Luin äskettäin suomalaisen kirjan nimeltä 'Ohjelmistotyö'. Siitä jäi mieleen seuraava Gerald Weinbergin lausahdus, joka kiteyttää aika hyvin ohjelmoinnin:

'There's no consistent substitute for a thorough understanding of your problem, though sometimes people get lucky.'"