(Hu)go-testailua

Olen parin viikon ajan testaillut Go-ohjelmointikieltä. Kieli on vaikuttaa varsin mukavalta ja itseä siinä kiinnostaa nopeus sekä käännetyn koodin tarjoamat helpotukset esimerkiksi nettipalvelujen deploy-prosessihin.

Aloin testailumielessä toteuttaa sillä pidempään ideatasolla pyörinyttä podcast proxy -palvelua, jolla on tarkoitus ladata, säätää ja antaa ladattavaksi podcast-feedissä olevia MP3-tiedostolinkkejä. Esimerkki käytöstä olisi seuraavanlainen http://korjaa-aud.io/korjaa/http://linkki.fi/ääni/tiedostoon.mp3. Linkin kutsuminen olisi tarkoitus palauttaa säädetty ja uudelleen enkoodattu MP3-tiedosto ladattavaksi.

Toteutan palvelua Go:lle tehdyllä bindauksella SoX-äänikäsittelykirjastoon. Komentorivityökalu toimii tällä hetkellä, mutta kirjaston/bindauksen ongelmana on todella pieni määrä esimerkkejä sen käytöstä ja joidenkin säätöefektien kummalliset parametrit.

Yksi hyödyllisemmistä efekteistä “silence”, jolla sain lyhennettyä 1 tunti 45 minuuttia kestävästä podcastista pois 15 minuuttia pois leikkaamalla sen keskellä olevat hiljaiset kohdat lyhyemmiksi.

Go:n kirjastojen lisäksi olen testaillut satunnaisia Go:lla tehtyjä ohjelmia. Näistä isommassa testissä on ollut staattisia sivuja sisältö- ja template-tiedostoista generoiva Hugo. Sivuston generoiva komentorivityökalu on nopea, mutta se on vielä kehityksen alla.

Esimerkiksi järjestelmässä ei ole vielä sisäänrakennettua tapaa luoda postauksista sivutettua listaa ja Markdown-parseri tekee vähän omiaan. Kummankin korjaus ja läjä muita kiinnostavia ominaisuuksia on kyllä tulossa.