Samuli Lahdenperä

Koodaaja

Samuli Lahdenperä

Työt

Alla riipaisu omasta työelämästäni 2000 luvulla.

Fasgron Oy
(12.2.2024 - )
Amomatic Oy
Amomaticissa työnkuvaan kuuluu aikaisemmin tehtyjen ohjelmistojen ylläpito sekä uusien suunnittelu ja kehitys. Olemassa oleviin C#, .net ASP.net -ohjelmistoihin olen tutustunut jo Asitekin aikana. Uutta kehitystä tehdään mm. Python / PostgreSQL combolla (3.5.2021 - 9.2.2024)
Receptum Software Oy
Korona-aikana työskentelin Receptum Softwaressa ohjelmoijana pääasiassa etätyönä kotona. Päivittäiseen työhön kuului seuraavia kirjainyhdistelmiä: C#, MSSQL, .net Core, WinForms, WPF, MVC, MVVM, TFS, DevOPS. (7.1.2020 - 30.4.2021)
Ocuspecto Oy
Kolme vuotta vaikutin mielettömän hienon keksinnön parissa Ocuspectossa. Laite, jolla voidaan tutkia ihmissilmän kokonaisvaltaista näkökykyä. WinForms, C#, MSSQL ja raapaisu Azuren ominaisuuksiin. Ohessa sain paljon informaatiota näkökyvystä ja lääkinnällisen laitteen koodaamisesta. (27.2.2017 - 31.12.2019)
Asitek Oy
Uuden koodauskielen opettelin työurani alussa Asitekissa. Microsoftin tuotteista ja C#-kielestä ja WinForms käyttöliittymistä sain paljon kokemuksia ja harjoitusta koko lopputuotteen elinkaaren ajalta. Isoja ja pieniä sovellutuksia laitosten hallintaan. Sivussa taidot karttuivat VBA/VBS-kielistä. Ja paljon rautapuolen hallintaa. (9.7.2007 - 13.2.2017)
Asitek
Rosendahl Digital Networks Oy
Ensimmäinen työputki kesti parin vuoden ajan Rosendahl Digital Networks yhtiössä. Alustana LAMP eli kielenä siis PHP ja tietokantana MySQL. Tämä on mukava yhdistelmä ja siksi omia projekteja tulee edelleen toteutettu tällä yhdistelmällä. (10.10.2005 - 31.4.2006, 1.5.2006 - 24.6.2007)
RDN
Kaiken ylläolevan lisäksi olen vuodesta 2009 alkaen hoitanut Forinbenchin atk-tukea ja ollut apuna IT-hankinnoissa.

Koulutus

Koulutuksia, kursseja, opiskeluja, sertifikaatteja...

Tampereen ammattikorkeakoulu (1999-2006)
Tietotekniikan koulutusohjelman suuntautumisvaihtoehtona Ohjelmistotekniikka.
Turun kristillinen opisto (2009)
Audiovisuaalisen viestinnän ammattitutkinto, Multimedian ja verkkoviestinnän osaamisala.

FITech LUT Network University (2023, 1ECTS)
Introduction to UI (CT10A0014)
FITech LUT Network University (2023, 3ECTS)
Introduction to Web Programming (CT30A2910)
FITech Aalto Network University (2021, 3ECTS)
Ohjelmointi Pythonilla
FITech Aalto Network University (2020, 2+2+2ECTS)
Johdatus ohjelmointiin, Data ja tieto, Internet- ja selainohjelmointi

S7 300/400 peruskurssi (Siemens 2024, 5pv)
Simatic S7 ja logiikkaohjelmoinnin ja HWn perusteet, väylät sekä asennus ja huolto.
ScrumMaster (Tieturi 2017, 2pv)
Ketteryyttä (agile) Scrum-ajattelutavan kautta
SQL-kielen jatkokurssi (Sovelto 2013)
WinCC-valvomo-ohjelmointi (Siemens 2008, 4pv)
C#- ja .Net-framework-ohjelmointi (Sovelto 2007)
Työturvallisuus (2015)
Sähkötyöturvallisuus (2014)
EA1, EA2
Hygieniapassi

Jotain kontakteja

Somet ja sähköpostit...

     
Myös Facebookista löytyy tilit.

Harrastukset

Jotain ihan muuta...

Kodin seurantaa
Raspberry Pi ja ESP3260 lukee lämpöpumpulta sekä 1-wire verkosta kahden minuutin välein tiedot ja lähettää ne mqtt-protokollalla verkkoon, josta ne tallennetaan kahteen eri pilvitietokantaan. Kotiverkossa tietoa voi tutkia Node-Redin päälle rakenetusta käyttöliittymästä.
Aurinkopaneelien tuotto
Invertteri vie auringosta saadut säteet Froniuksen pilveen
Solar Web (vaatii kirjautumisen)
Suunnistus
Illat kuluu metsässä oranssivalkoisia lippuja etsiessä. Sekä omaksi iloksi että nuorten valmentajana.
Jouluvaloja
Olen aina tykännyt valoista ja valaistuksista. Jouluna on ihanaa laittaa värillisiä ja lämpimän valkoisia valoja sisälle ja pihaan.
Sänkyyn laatikot
Ikean Birkeland sänkyyn piti saada mm. 4 vetolaatikkoa. Lisäksi olen suunnitellut ja toteuttanut kotiin erilaisia huonekaluja.
Halloween 2023-boksi
Arduino Mega 2560 ohjaa savukonetta, valoja, kannen moottoria, PIR-sensoria ja ääntä.

Pari sanaa päivämäärämuotoilusta

Törmäsin taas päivämäärämuotoiluun kopioidessani tutun kuvia hänen koneelleen. Hän on itsekin kopsaillut kuvia ja osannut luoda kuville omia kansioita. Mutta. Kansioita oli nimetty esim. ”mökillä”, ”joulu” jne. Olen yrittänyt aiemminkin kertoa, että päivämäärät helpottaisi kuvien löytämistä kaikkien kansioiden seasta, joten joukossa oli myös esim. ”Tallinnassa 2.6.2018”. Eipä siinä mitään, tuo jo kertoo, että minkä Tallinnareissun kuvia kansiossa saattaisi olla. Insinööritaustaani vasten omat kuvat on järjestetty päivämäärän mukaiseen järjestykseen kirjoittamalla kansionimen alkuun vuosi-kuukausi-päivä ja perään tapahtuma, mistä kuvat on otettu. Kuukausi ja päivä on myös kirjoitettu etunollilla. Näin kuvakansiot järjestäytyvät kivasti kronologiseen järjestykseen, ja oikea kansio on helpompi löytää. Seuraavassa hieman tarinaa, miksi esimerkiksi eurooppalaisittain kirjoitettu päivämäärämuoto (pp.kk.vvvv) ei ole välttämättä paras, vaikkakin huomattavasti parempi, kuin amerikkalaisten (kk/pp/vvvv), jossa ei tunnu olevan mitään järkeä. Kannattaa lukea eteenpäin, varsinkin jos olet tottunut käyttämään jompaakumpaa edellä mainituista, sillä päivämäärämuodolle on olemassa myös standardi ISO 8601.

Perusasiat

Standardin nimen ISO-osa, kertoo sen että se on Kansainvälisen standardointijärjestön (the International Organization for Standardization) kirjoittama varsinainen standardi. Siinä määritellään monia hienoja asioita, kuten tapa kirjoittaa aikavälejä, joista voi olla hyötyä kannettavien ohjelmistojen kirjoittamiseen, ja kalenteri, jossa vuosi ei ole erotettu kuukausilla, vaan viikoilla, jota käytetään taloudessa, mutta nyt kuitenkin enemmän perusasioita. Yksinkertaistettuna standardin päivämäärän perusta näyttää tältä: yyyy-mm-dd hh:mm:ss (vvvv-kk-pp tt:mm:ss), jossa vvvv tarkoittaa vuotta neljällä numerolla, kk kuukautta kahdella numerolla, pp päivää kahdella numerolla, tt tunti kahdella numerolla, mm minuutit kahdella numerolla ja ss sekunnit kahdella numerolla. Helppoa. Kirjoitat vuoden, kuukauden, päivän ja sitten ajan täsmälleen samalla tavalla kuin muissa päivämäärämuodoissa.

Miksi se on parempi

Se on yksiselitteinen

Tämä on tärkein syy standardin kirjoittamiseen ja miksi ihmiset edelleen käyttävät sitä. Muut päivämäärämuodot voivat olla hankalia erottaa toisistaan. Harkitse esimerkiksi tätä päivämäärää: 02-03-04

Kun luet sen kontekstista, sinulla ei ole mitään aavistustakaan, mitä mikäkin numero tarkoittaa. Onko 02 päivä vai kuukausi vai vuosi? Et vain voi tietää, ellei päivämäärän päivä ole suurempi kuin 12, jolloin se ei voi olla kuukausi. Silti se voi olla vuosi: 30-03-04 Tämä päivän ja kuukauden epäselvyys on todella yleinen ongelma, jota esiintyy usein verkossa. Ihmiset vain kirjoittavat päivämääränsä tiedossa olevaan päivämäärämuotoon ajattelematta edes, että muut ihmiset voivat tulkita sitä eri tavoin. ISO 8601:llä ei ole tätä ongelmaa, koska muodon ainutlaatuisuuden vuoksi on aina selvää, mikä osa on päivä ja mikä on kuukausi: 2004-03-02

Se on tiukempi

ISO 8601 standardissa on vain yksi oikea tapa kirjoittaa päivämäärä, mikä ei ole vain hyödyllistä tietokoneiden jäsentämiseen, vaan myös ihmisille, jotta vältetään sekaannus muiden muotojen kanssa ja parannetaan luettavuutta. Tässä on joitain rajoituksia:

  • Päivämäärän osat erotetaan aina viivalla. Useissa päivämäärämuodoissa ei käytetä viivaa, mutta väliviiva on hyvä, kun käytetään päivämääriä tiedostonimissä, koska esimerkiksi kauttaviivoja ei yleensä hyväksytä niissä
  • Jokainen osa on aina kirjoitettu enimmäismäärällä numeroita. Tämä ei pelkästään helpota päivämäärien lukemista, mutta tiedostot, joiden nimessä on päivämäärä, voidaan lajitella tiedostonimen mukaan
  • Vuosi kirjoitetaan aina täydellisessä muodossa. Tämä tekee muodosta yksiselitteisen kirjoitettaessa ja poistaa vuoden 2000 ongelman missä tahansa muodossa. Esimerkiksi syntymäpäiviä kirjoitettaessa on aina selvää, mistä vuosisadasta puhumme
  • Aika kirjoitetaan aina 24 tunnin muodossa, joten ei voi olla hämmennystä siitä, tapahtuuko jotain aamupäivällä vai illalla

Se on järkevämpää

Ensi silmäyksellä näyttää siltä, että eurooppalainen muoto on käytössä looginen – ensin päivät, sitten kuukaudet ja lopuksi vuodet, jolloin osat kasvavat vasemmalta oikealle:
18.12.2002
--> --> ---->
Tämä jättää kuitenkin huomiotta lukujen erittäin tärkeän ominaisuuden – ”tavujärjestyksen”. Jos ajatellaan esimerkiksi normaalia kokonaislukua:
69420
<------
Tässä järjestys onkin päinvastainen eurooppalaiseen päivämäärämuotoon verrattuna. Eli vähiten merkitsevä numeron on eniten oikealla, kun taas eurooppalaisessa päivämäärämuodossa vähiten merkitsevä numero on eniten vasemmalla. Amerikkalaisessa päivämäärän esitystavassa ei taasen ole mitään järkeä.
12/18/2002
--><--<-----
ISO 8601 on tässä suhteessa täysin johdonmukainen, ja verrattavissa kokonaislukuihin, joissa eniten merkitsevä numero on ensimmäisenä vasemmalla:
2002-12-18
<---- <-- <--
Tilanne pahenee entisestään, jos otetaan huomioon aika:
18.12.2002 23:03:59
-->.-->.-----> <--:<--:<---
12/18/2002 23:03:59
-->. <--. <---- <-- <-- <--
2002-12-18 23:03:59
<---- <-- <-- <--: <--: <--

Se on standardoitu ja aktiivisesti käytetty

Jos luulet, että ISO 8601 on typerä asia, jonka joku kellarissaan keksi ja jota kukaan ei todellakaan käytä, ajattele uudelleen, koska se ei voi olla kauempana totuudesta:

  • Se, että se on standardoitu, sanoo ainakin jotain. Onko suosikkipäivämäärän esitystavassa useita satoja sivuja sisältävä asiakirja, jossa se on kuvattu erittäin yksityiskohtaisesti ja joka on kansainvälisesti tunnustettu? Standardi on myös aktiivisesti ylläpidetty - sen julkaisemisen jälkeen vuonna 1988 se päivitettiin vuosina 1991, 2000, 2004 ja 2019
  • Standardia käytetään aktiivisesti IT-alalla. Lähes kaikki ohjelmistot käyttävät numeerisena päivämäärämuotona ISO 8601 -standardia
  • vvvv-kk-pp on alusta alkaen käytetty kansallisena päivämäärämuotona monissa maissa, kuten Kanadassa, Ruotsissa ja Japanissa

Usein Kysytyt Kysymykset

Miksi et käyttäisi muotoa, kuten 1. Tam. 2020?

Sillä ei ole ISO 8601 standardin näppäriä ominaisuuksia ja se ei toimi kansainvälisesti (eli oletetaan, että henkilö, jonka kanssa olet tekemisissä, osaa suomeksi vähintään kuukaudet). Jos luulet, että jälkimmäinen ei ole ongelma, kuvittele, miltä sinusta tuntuisi, jos sinun pitäisi lukea päivämäärä, jonka joku kirjoitti äidinkielellään, jota et ymmärrä:
01-Янв-2020

vvvv-kk-pp näyttää oudolta

Ainoa syy miksi se sinulle on, koska et ole tottunut siihen. Pienen harjoittelun jälkeen se on vielä vähemmän outoa kuin suosikkipäivämuotosi.

Ehkä eurooppalainen päivämäärämuoto on parempi, koska päivämäärän osat ovat tärkeysjärjestyksessä?

Ainoa tilanne, kun voi sanoa, että tärkein osa päivämäärästä on ensimmäisenä, on silloin, kun puhumme päivittäin tapahtuvista tapahtumista, mutta entäpä lukuisat tapaukset, joissa vuosi ja kuukausi ovat merkityksellisempiä:

  • Artikkelin julkaisupäivä
  • Historiallinen tapahtuma
  • Henkilökohtainen tapahtuma, joka tapahtui kauan sitten
  • Syntymäpäivä
  • Satunnainen tietokantamerkintä
Jos taas tuntuu, että juuri tällä kertaa vuosi ei ole merkittävä, voit ohittaa sen ja lukea päivämäärän loppu samalla tavalla kuin tekisit lukiessasi aikaa etkä ole kiinnostunut tunnista.

Johtopäätös

ISO 8601 näyttää selvästi paremmalta kuin muut päivämäärämuodot kansainvälisessä viestinnässä (kuten päivämäärän käyttäminen netissä tai tiedostojen ja kansioiden järjestämistä tietokoneella). Vaikka standardin formaatilla on varmasti oma käyttäjäkuntansa jo olemassa, on valitettavaa, että se ei ole niin suuri kuin voisi olla. Toivottavasti tästä artikkelista jäisi jotain ajattelemisen arvoista seuraavan kerran, kun päivämäärä pitää jonnekin kirjoittaa.

Lähteitä:
Wikipedia
Mr. Kevinson blog

Fasgron