Vuosi 2023-
Hepp-keikkakalenteri
Hepp hakee Tampereen ja Oulun live-musiikkitapahtumat keikkapaikkojen sivuilta, tuo ne moderoitavaksi ja muokattavaksi ja esittää keikat yhtenä pitkänä listana. Kalenterilla on suunnnitteluperiaate:
- Kaikki kaupungin keikat ovat samalla sivulla, josta voi hakea. Ei sivutusta tai klikkailun tarvetta.
- On ensisijaista, että käyttäjä saisi tarpeellisen informaation mahdollisimman nopeasti.
Käyttäjäosio beta-vaiheessa testiryhmällä: mahdollisuus seurata keikkoja, tapahtumapaikkoja, toimia tapahtumajärjestäjänä ja julkaista tapahtumia, tilata sähköpostimuistutuksia yms. Jos haluat testikäyttäjäksi, ota yhteyttä!
Tekniikat: Ruby on Rails, PostgreSQL, Sidekiq, Redis, Puppeteer, Dokku yms.
Vuosi 2020 + 2025
Queenifier
Uusi versio! Greatest Hits X
Queenifier on erittäin tärkeä botti. Se raapii Spotifystä kaikkien Queenin biisien suosion ja muodostaa niistä kerran vuorokaudessa päivittyvän Greatest Hits -kokoelman, kuitenkin niin, että yksikään listalla oleva biisi ei ole sama kuin Greatest Hits 1, 2 tai 3 -albumeilla.
Kuriositeetti: Queenillä on Spotifyssä 1637 biisi-versiota, mutta “vain” 257 eri biisiä. Joten listallakaan ei tule olla saman biisin eri versioita (ainakin Love of My Life olisi muuten monta kertaa).
Tekniikat: Python & Spotify API (2020 versio), Ruby on Rails & Spotify API (2025)
Tekstinlouhinta työpaikkailmoituksista
Edit 02/2022: MOL on muuttanut APIaan, joten olen kytkenyt toistaiseksi kaikki päivitykset pois
ITDuunit-sivusto hakee päivittäin uudet it-alan työpaikat TE-keskuksen palvelusta ja ylläpitää listaa auki olevien paikkojen edellyttämistä osaamisista. Tällä hetkellä systeemi parsii ilmoitusteksteistä hakijoilta edellytettyjä teknologiataitoja ja näyttää, mitä teknologioita juuri nyt pitäisi osata.
Tekniikat: Webbisivusto: Flask ja Plotly. NLP-työkaluna NLTK.
NLP ja tekstinlouhinta uutisaineistoista
Uutisanalytiikkaa jutuista, jotka käsittelevät sekä Ilmastonmuutosta että Greta Thunbergia. Kyseessä on sovellus, joka raapii uutissivustoilta uutisia, puhdistaa ne ja käyttää erilaisia NLP-tekniikoita uutisten analysoimiseksi. Käytössä on yksinkertaista sanojen yleisyyden laskentaa, sentimenttianalyysiä, nimien tunnistamista ja aihemallinnusta (LDA).
Tekniikat: Web: Flask ja Plotly. Analyysityökaluina mm.
NLTK, Scikit-learn, NewsAPI, Vader jne.
Lähdekoodi:: githubissa
Projektisivu: frostlab.fi/nlpnews
Vuosi 2019
Menomeno event calendar API browser
Webbisovellus, joka hyödyntää Menomeno RESTful APIa (kts. alla).
Tekniikat: ReactJS, Bootstrap 4
Koodi: Githubissa
Menomeno backend & RESTful API
Oulusta, ja ehkä muistakin kaupungeista, puuttuu edelleen tapahtumakalenteri, joka pysyisi ajan tasalla. Tavoitteena on tehdä sellainen. Projekti on vielä työn alla, mutta toimiva, testattu backend ja dokumentoitu REST API on nyt tehty.
Tekniikat: Flask, Flask-RESTful, Python (paikallinen admin:
Javascript, JQuery)
Koodi: Githubissa
API dokumentaatio:
Apiaryssä
Uutistutka
Oulun yliopiston projektissa tekemäni tiedonlouhintasovellus, jossa analysoidaan verkon ilmastonmuutosuutisia. Uutiset haetaan avoimien rajapintojen kautta, puhdistetaan tekstiksi, analysoidaan eri tekniikoita käyttäen ja raportoidaan webbiin.
Tekniikat: Django, Python, NLTK, PostgreSQL, Nginx
Verkossa: – poistettu julkisesta verkosta 19.12.2021 –
ArticleWeb
Oulun yliopiston projektissa tekemäni tiedonlouhintasovellus, jossa puretaan tietellisistä artikkeleista lähdeviitetietoja ja analysoidaan, kuka viittaa kehenkin, mihin journaaleihin ja milloin. Tämän osaksi kehitelty myös articleparse-työkalua, jolla saataisiin pdf-tiedostot purettua järkevästi analysoitavaksi tekstiksi.
Tekniikat: Django, Python, PostgreSQL, Nginx,
articleparse
Verkossa: – poistettu julkisesta verkosta 19.12.2021 –
Vuosi 2017
Hypernote Beast
Käyttöliittymäohjelmoinnin kurssille tehty työ, jossa testasin, miten tehdä käyttöliittymältään mahdollisimman pieni muistiinpano-ohjelma, joka muuttuisi “isoksi” ohjelmaksi hyperteksti-ominaisuuksien avulla.
Tekniikat: Java, Swing
Koodi: githubissa
Vinkka.news
Vinkka.newsin suunnittelu- ja ylläpitotehtävät vuodesta 2008 vuoteen 2020. Nykyinen on jo aika mones versio alkuperäisestä. Wordpressistä lähdettiin liikkeelle, josta Drupalin ja Joomlan testailujen kautta takaisin Wordpressiin. Palvelun vaatimuksena on, että sen pitää olla järkevästi ylläpidettävä, taipua moniin julkaisutarkoituksiin (mm. radio- ja podcast-projektien julkaisu) sekä olla opiskelijoille ja henkilökunnalle helposti opittava. Pohjalla Wordpress. Logo ja graafinen ilme henkilökunnan ja opiskelijoiden yhteistyötä.
Vuosi n. 1993-1994
PC-Atoms
Pelasin teini-ikäisenä kaverin Amiga 500 -koneella kovaa peliä nimeltä Atoms. Itsellä oli vain PC ja peliä ei ollut saatavilla PC:lle, joten tein sen itse. Ei kovin kaunis, mutta toimiva ja ihan ok strategiapeli, jota tuli tahkottua kaveria vastaan aika tavalla. Alkuperäinen toteutus oli Turbo Pascalilla ja jollain sille julkaistulla grafiikkakirjastolla. Toimii DOS-ympäristössä ja edelleen emulaattorin kautta. Lähdekoodit ovat kadonneet, joka ei välttämättä ole valitettava asia.
Muuta mainittavaa
- VDR-pohjaisia linux-digibokseja olen rakentanut omiin ja muiden tarpeisiin. Näissä on opittu paljon linuxeista, sarjaporteista, tv-virittimistä, bash-skriptauksesta, saksankielisistä teknisistä ohjeistuksista, avoimen lähdekoodin olemuksesta ja DVB-tekstitykseen liittyvän idealismin ongelmista.
- Omat Python-projektit pyörivät Ubuntu-virtuaaliservereillä Vultrissa. AWSää testattu myös, mutta Vultr osoittautui omiin tarpeisiin yksinkertaisemmaksi ja riittäväksi. NLP-analyysiprojekti pyörii halvassa webhotellissa (kohtuullisesti!) Apache WSGI-modia hyödyntäen.
- Wordpress-projektit ovat PHP-webhotelleissa, osa modernimmin Docker-konteissa.
- Linux-taidot ovat kohtuullisen hyvät. Tutuimmat Linuxit ovat Debian-pohjaisia.