Sähköposti on yksi internetin vanhimmista palveluista ja se on myös edelleen yksi tärkeimmistä internet-teknologioista. Tässä jaksossa sukellamme sähköpostin syövereihin ja keskustelemme siitä mistä kaikista komponenteista moderni sähköpostipalvelu oikeastaan koostuu. Asiantuntijavieraana on Aki Tuomi Dovecot-yrityksestä, jossa kehitetään suosittua palvelinpään sähköpostiohjelmistoa. Linkkejä Dovecot Postfix MX MTA MUA POP3 IMAP JMAP MSA MAPI MIME Sieve RFC Open-core model Valgrind Open-Xchange ...
Mar 24, 2025•56 min•Ep. 39
Miten monta eri monikkomuotoa kattaa kaikki maailman kielet? Mitä pitää tietää, kun haluaa sopeuttaa oman ohjelmistoprojektinsa tukemaan sen käyttöä eri kielillä? Entä mitä kaikkea työtä lokalisaatiokirjastojen ja -tietokantojen taustalla tapahtuu? Saimme vieraaksi Eemeli Aron kertomaan mistä rakennuspalikoista lokalisointijärjestelmät koostuvat. Eemeli rakentaa työkseen lokalisointikirjastoja ja -formaatteja Mozillalla. Linkkejä ICU Messageformat Kansainvälistäminen ja lokalisointi – Internatio...
Dec 23, 2024•50 min•Ep. 38
Aktiivisessa kehityksessä olevan tuotantosovelluksen taustajärjestelmän uudelleenkirjoitus ei ole mikään pikkujuttu. Tässä jaksossa käydään läpi esimerkkitarina siitä miksi ja miten tällainen uudelleenkirjoitus onnistui Digitaalisen Asuntokauppa DIASin kontekstissa. Kyseessä on erikoisjakso, sillä asiantuntijavieraiden penkeillä istuukin tällä kertaa podin vetäjät Markus Hjort ja Yrjö Kari-Koskinen. Jakson juontajana on Webbidevaus-podastista tuttu Antti Mattila. Linkkejä Digitaalinen Asuntokaup...
Jun 15, 2024•55 min•Ep. 37
Kauan odotettuun GraphQL-jaksoon saimme vieraaksi Lauri Piispasen Starcartilta. Heillä GraphQL on ollut käytössä alusta asti. Lauri valottaa hyväksi koettuja mekanismeja GraphQL-taustajärjestelmien rakentamiseksi kuten federointi, aggregointi ja näihin soveltuvat teknologiapinot. Linkkejä Starcart GraphQL GraphQL-Federointi Next.js Apollo Gateway Apollo Server Domain-driven design tRPC gRPC Grafbase Githubin GraphAQL-rajapinta Hasura PostGraphile Generate code from your GraphQL schema How to mon...
May 23, 2024•50 min•Ep. 36
Minkälaista on koodata ja debugata ohjelmistoa, joka asennetaan kovaa vauhtia avaruudessa liikkuvaan kuutioon? Tästä ja muusta satelliitin ohjelmointiin liittyvistä erikoisuuksista kanssamme keskustelemassa on asiantuntijavieras Daniel Landau Kuva Spacelta. Linkkejä Kuva Space FPGA Laitteistokuvauskielet VHDL ja Verilog Hyperspectral imaging CAN-väylä Camera Link Protocol Cubesat Space Protocol S Band Matala Maan kiertorata (LEO) VLEO Tinyscript Vieras Daniel Landau: @daniel Juontajat Markus Hjo...
Apr 21, 2024•48 min•Ep. 35
Miten PostgreSQL-tietokanta mukautetaan serverless-ympäristöjen käyttöön ja miten laskennan ja taltion erottaminen auttaa siinä? Heikki Linnakangas on vieraanamme kertomassa miten Neon on rakentanut relaatiotietokantaratkaisun, joka mahdollistaa muun muassa helppokäyttöiset datan haaraumat ja aikamatkustuksen. Linkkejä Neon Neon-tallennusjärjestelmä Githubissa PostgreSQL Sivutus Transaction log Ceph storage system Amazon Aurora Amazon S3 Vieras Heikki Linnakangas Juontajat Markus Hjort: @mhjort ...
Mar 23, 2024•44 min•Ep. 34
Julkiset pilvipalvelut ovat muodostuneet vakiotavaksi rakentaa tuotteelle infrastruktuuri. Tämän ei tarvitse kuitenkaan olla se yksi ja ainoa tapa toteuttaa asioita kustannustehokkaasti. Tässä jaksossa tutustutaan Smartlyn infrastruktuuriin, jossa tuhansien palvelimien rauta on vuokrattua, mutta kaikki muu hoidetaan itse käyttöjärjestelmätasolta lähtien. Asiantuntijavieraana meillä on Ville Lautanala kertomassa kuinka tämä kaikki toimii käytännön tasolla. Linkkejä Smartly Kubernetes Ansible Elas...
Feb 25, 2024•46 min•Ep. 33
Lähes kaikissa ohjelmistoprojekteissa tehdään integraatioita eri järjestelmien väleillä esimerkiksi REST APIen, GraphQL:n tai webhookien avulla. Saimme vieraaksemme Oskari Virtaojan Swarmialta keskustelemaan siitä, millä tekniikoilla ja työkaluilla integraatiot voidaan rakentaa luotettavasti. Linkkejä Swarmia Webhookit GraphQL Google Pub/Sub Rate limiting Traffic shaping Google Cloud Functions RabbitMQ Sidekiq Idempotentti Reentrant Kirjastot sisään tulevan datan parsimiseen ja validointiin io-t...
Jan 28, 2024•51 min•Ep. 32
Eristetyissä tietoverkoissa on kriittistä, ettei mikään tieto valu pois verkosta. Moderneissa verkoissa laitteita on joka lähtöön eikä ole yksinkertaista varmistaa, ettei yksikään bitti karkaa maailmalle. Saimme vieraaksemme Ossi Herralan SensorFulta kertomaan, miten Rustilla toteutetaan koodia, jolla yritetään karata verkosta ja siten testataan verkon eristystä. Linkkejä SensorFu Fuzzing Libpcap -kirjasto iptables ethernet Address Resolution Protocol (ARP) ICMP Software-defined Networking (SDN)...
Dec 29, 2023•49 min•Ep. 31
Mikä merkitys verkkolatenssilla on sovellusten rakentamisessa ja miten reunalaskenta voi ratkaista pilvipalvelujen latenssin aiheuttamia haasteita? Saimme vieraaksemme reunatietokanta Turson CTO:n Pekka Enbergin keskustelemaan mm. reunalaskennasta, reunatietokannoista sekä lähi- ja kaukoreunasta. Pekka vieraili aiemmin podissamme keskustelemassa systeemohjelmoinnista jaksossa 3 . Linkkejä SQLite Turso Reunalaskenta eli edge computing Cloudflare Serverless computing Latenssi Vercel Netlify Cloudf...
Dec 03, 2023•52 min•Ep. 30
Kauden viimeisessä jaksossa käsittelyssä on kaksi asiaa yhden hinnalla. Jakson aiheena on käännösautomaatio, jota käsittelemme avoimen lähdekoodin projektin esimerkin kautta. Vieraana meillä on Jussi Pakkanen Rakettitieteeltä, joka on suositun Meson-buildtyökalun pääkehittäjä. Linkit Meson The Meson Build System - 4+ years of work to become an overnight success Devausblogi Kääntäjä Turing-täydellisyys GCC-kääntäjä CMake Autotools D-Bus Python Python Tybe Stubs Fortran Gstreamer Scipy CppCon-konf...
Jul 08, 2023•52 min•Ep. 29
Mihin tarvitaan keskuskoneita eli OG ATK:ta ja COBOLia 2020-luvulla? Entä lyökö COBOL-ohjelmointi todella leiville? Saimme vieraaksemme Samlinkilta Juha Korhosen, joka kertoo mitä kaikkea ohjelmointi keskuskoneympäristössä käytännössä tarkoittaa ja mitkä keskuskoneen vahvuudet ovat. Linkit Y2K – Vuosi 2000 muutokset COBOL-ohjelmointikieli Keskuskone IBM z/OS Minitietokoneet IMS CICS UNIX System Services 3270 Pääte Eräajo Raka-Tuki Zowe WebSphere for z/OS EBCDIC-merkistö Rexx-ohjelmointikieli Joe...
Jun 17, 2023•51 min•Ep. 28
Tekoälypohjainen puheentunnistus on ollut arkipäivää jo pidemmän aikaa yksinkertaisissa puheohjaussovelluksissa. Tässä jaksossa menemme kuitenkin syvemmälle teknologiaan ja käymme läpi miten tekoäly pystyy automaattisesti moderoimaan videopelien keskusteluja. Asiantuntijavieraana jaksossa meillä on Speechlyn teknologiajohtaja Hannes Heikinheimo. Linkit Puheentunnistus Prediktiivinen analyytiikka) Syväoppimenen (deep learning) Inferenssi Transformer PyTorch gRPC-protokolla ProtoBuf-formaatti Spee...
May 28, 2023•50 min•Ep. 27
Jouni Roivas Tuxeralta pääsi vieraaksemme kertomaan mitä tarkoittaa luotettava tiedostojärjestelmä ja miten sellaisia kehitetään ja testataan. Tuxeralla on pitkä historia Linuxin tiedostojärjestelmäajurien kehityksessä. He kehittävät nykyisin useita luotettavia tiedostojärjestelmä mm. vaativiin sulautettuihin ympäristöihin. Linkit Tuxera NTFS – Microsoftin Windowsin tiedostojärjestelmä NTFS 3G – Linux-ajuri Fuse – Filesystem in Userspace FAT – File Allocation Table Tarkistussumma Datan korruptio...
Apr 16, 2023•42 min•Ep. 26
Virtuaalitodellisuusteknologia kehittyy tällä hetkellä kovaa vauhtia ja sovelluskohteita löytyy nykyään sekä kuluttaja että ammattipuolelta. Teknologiaan liittyy paljon erilaisia lyhenteitä kuten VR, AR ja XR. Tässä jaksossa tutustumme siihen mitä kaikkea virtuaalitodellisuus oikeastaan tarkoittaa ja miten tätä teknologitaa hyödyntäviä sovelluksia käytännössä kehitetään. Asiantuntijavieraana meillä on alan pioneeri Samuli Jääskeläinen Varjolta. Linkit Laajennettu todellisuus XR Virtuaalitodellis...
Mar 26, 2023•43 min•Ep. 25
Mitä tekemistä on Google Mapsilla ja lääketieteellisellä kuvantamisella? Miten mahdollistetaan isojen kuvamassojen tehokas käsittely ja selaaminen? Vieraanamme on Matti Äijänen Aiforialta kertomassa digipatologiasta eli tekoälyavusteisesta sairauksien diagnosoinnista digitaalisista kudosnäytteistä. Linkit Azure Blob Storage OpenSeadragon Map tiles & pyramid: How web maps work | Web Mapping Basic #1 From Biopsy to Diagnosis Neuroverkot Microsoft .NET MongoDB RabbitMQ Redis Protocol Buffers (P...
Feb 06, 2023•46 min•Ep. 24
Signaaleja kuuntelemalla ja analysoimalla voi tutkia olemassaolevan järjestelmän toimintaa. Parhaimmillaan näistä signaaleista voi takaisinmallintaa miten joku ohjelma on toteutettu. Asiantuntijavieraana meillä asiasta kertomassa on tunnettu signaalihakkeri Oona Räisänen. Jaksossa käymme läpi muutamia mielenkiintoisia signaalimysteerejä, joita Oona on ollut tutkimassa. Linkkejä HDMI DVI DisplayPort Takaisinmallinnus Oonan blogi Disobey -tapahtuma Liquid DSP -kirjasto SoX -komentorivityökalu csdr...
Dec 18, 2022•38 min•Ep. 23
Millä teknologioilla rakennetaan luotettava ajonaikainen suoritusympäristö pilveen? Entä miten siihen liittyvät käsitteet TEE, enclave ja attestaatio? Saimme Mikko Ylisen Inteliltä kertomaan confidential computing -teknologioista, joilla mahdollistetaan prosessien ajaminen niin, että data on salattuna keskusmuistissa. Linkkejä TEE – Trusted execution environment Enclave Varmentaminen – attestation TCB – Trusted computing base Confidential computing node on Azure Kubernetes Services Intel SGX in ...
Nov 26, 2022•40 min•Ep. 22
Moni sovellus luottaa tiedon tallentamisessa perinteiseen relaatiotietokantaan vaikka se ei aina olisikaan optimaalisin vaihtoehto. Tässä jaksossa sukellamma vaihtoehtoisten tietokantojen maailmaan ja puhumme graafitietokannoista. Vieraana Mikko Harju Taisteelta jakamassa kokemuksia erilaisten graafitietokantojen käytöstä. Jaksossa käsittelemme tarkemmin näiden kantojen ominaisuuksia ja pohdimme minkälaisissa tilanteissa niiden käytöstä saa etua. Linkkejä: Using datascript and static EDN as a su...
Nov 05, 2022•47 min•Ep. 21
Moderni maailmamme on riippuvainen siitä, että ihmiset ja laitteet pystyvät kommunikoimaan keskenään internetin välityksellä. Pinnan alla tätä kaikkea tietoa välittävät erilaiset verkkolaitteet, joissa olevan softan pitää olla erityisen luotettavaa ja skaalautuvaa. Tässä jaksossa verkkolaiteohjelmistojen veteraani Juhamatti Kuusisaari on vieraanamme keskustelemassa siitä miten näitä softia koodataan. Linkkejä: Reititin Reaaliaikainen käyttöjärjestelmä Sovelluskohtainen integroitu piiri eli ASIC ...
Aug 20, 2022•43 min•Ep. 20
Mitä pitää tietää kvanttimekaniikasta ja -fysiikasta, jotta voi ohjelmoida kvanttitietokoneelle? Entä mitä ovat kubitit, superpositio ja kvanttipiirit? Ja koska saavutetaan kvanttiherruus? Saimme vieraaksemme IQM:ltä Olli Ahosen ja Hermanni Heimosen, jotka tekevät töitä ihan oikeiden kvanttitietokoneiden kanssa ja kertovat mistä kaikesta kvanttiohjelmoinnissa on oikeasti kysymys. Linkkejä: IQM Kvanttilaskennan peruskäsitteet Kvanttitietokone Superpositio Lomittuminen - kietoutuminen - entangleme...
Jun 20, 2022•44 min•Ep. 19
Matkan varrella mikropalveluarkkitehtuuri on mainittu monessa jaksossa. Tällä kertaa pureudumme tarkemmin siihen mistä siinä on kyse. Mitkä ovat mikropalveluarkkitehtuurin hyvät ja huonot puolet? Vieraana meillä on Vincitiltä Jari Laari, jolla on ensikäden kokemusta siitä, miten monoliittijärjestelmää on purettu pala kerrallaan kohti mikropalveluarkkitehtuuria. Linkkejä: Sam Newman: Building Microservices AWS-referenssiarkkitehtuuri Azure-referenssiarkkituuri Vieras Jari Laari: @JariLaari Juonta...
May 23, 2022•49 min•Ep. 18
Mikä tekee tietokonepelien tekoälystä hyvän? Miten selllainen luodaan? Miten eri pelityyppien tekoälyn kehitys eroaa toisistaan? Näistä kanssamme keskustelemassa Antti Mannisto, joka on ollut luomassa mm. Alan Waken vihollisten tekoälyä Remedyllä. Mainitut pelit Pathway to Glory Alan Wake Turbo sliders Turbo sliders unlimited Linkkejä Redlynx Remedy Pathfinding Avoin pelimaailma (open world) AAA-pelit Ensimmäisen persoonan ammuntapeli (FPS, 3PS) Reaaliaikainen strategiapeli (RTS) Unity AI assets...
Apr 28, 2022•48 min•Ep. 17
SRE eli Site Reliability Engineering on alunperin Googlen lanseeraama malli sovelluspalvelujen kehittämiseen ja hallintaan. Tavoitteena on lähestyä IT-operointia ja palveluiden luotettavuuden parantamista sovelluskehitysmäisesti ja riskejä hallitsemalla. Halusimme selvittää mitä kaikkea tämä käytännössä tarkoittaa. Tässä jaksossa meillä on vieraana Jaakko Pallari Polar Squadista avaamassa mitä kaikkea SRE oikeastaan on. Linkkejä: Site Reliability Engineering SLO Incident Postmortem Chaos Enginee...
Apr 05, 2022•50 min•Ep. 16
Pelialan pioneeri Jani Penttinen Las Vegasista pääsi vieraaksemme kertomaan miten helppoa indiepeliohjelmointi konsoleille nykyisin on. Kynnys aloittaa 3D-pelien ohjelmointi on todella matalalla ja esimerkiksi Xboxille saa hyvin helposti developer kitin, jolla pääsee alkuun oman pelin kehittämisessä. Bloodhouse ja Housemarque Remedy Entertainment Westwood Studios AAA-pelit Demoskene Frameworkit ja SDK:t Unity Unity Asset Store Unreal Engine Visual Studio Steamworks Xbox Creators Program ID@Xbox ...
Mar 06, 2022•56 min•Ep. 15
Tänä vuonna Kajaanissa otetaan käyttöön maailman nopeimpiin kuuluva supertietokone LUMI. Jussi Enkovaara CSC:ltä kertoo tässä jaksossa mitä kaikkea supertietokoneella voi tehdä, mikä tekee supertietokoneesta supertietokoneen ja mitä tekniikoita sen ohjelmoinnissa käytetään, jotta saadaan siitä kaikki tehot irti. LUMI-supertietokone Tieteen tietotekniikan keskus CSC CSC:n uutinen LUMIsta Supertietokoneohjelmointikurssi Elements of supercomputing MPI Coding game Rinnakkaisohjelmointi Pthreads Open...
Feb 03, 2022•1 hr 1 min•Ep. 14
Vieraanamme on Anniina Sallinen Ouralta ja Koodikahvit-podista, jonka kanssa syväsukellamme koneoppimisen ja datan käsittelyn operointiin pilvessä (MLOps). Tämä tarkoittaa käytänteitä kuten versionnit, monitoroinnit, tietoturva ja CI/CD. Lisäksi käydään läpi millaisia rooleja koneoppimistiimissä on ja mitä moderneja työkaluja on tarjolla koneoppimismallin luontiin ja käsittelyyn jatkuvassa operoinnissa. Linkkejä Koodikahvit-podcast AWS Sagemaker Sagemaker Notebook Instances Python TypeScript AWS...
Jan 12, 2022•50 min•Ep. 13
Tässä jaksossa keskustelemme massiivisista käyttäjä- ja pyyntömääristä. Minkälaisia ratkaisuja pitää tehdä palvelinpäässä, kun asiakasohjelmisto on asennettu yli kahteen miljardiin mobiililaitteeseen ja kun koneoppimista vaativia pyyntöjä pitää käsitellä yli 100 000 kertaa sekunnissa. Vieraana meillä on Antti Klemetti, joka on tullut kertomaan tarinan siitä miten Unityn maailmanlaajuista mainosverkkoa pyöritetään Suomesta käsin. Linkkejä Unity Ads MongoDB Apache Kafka Apache Cassandra Aerospike ...
Dec 17, 2021•52 min•Ep. 12
Petrus Repo tuli vieraaksemme keskustelemaan Kuberneteksesta: Mikä se itse asiassa on ja mitä se ratkaisee? Kenen pitäisi olla kiinnostunut Kuberneteksestä? Milloin Kubernetesta kannattaa käyttää ja milloin se kannattaa rakentaa itse? Linkkejä: Kubernetes Supervisor – Verkkosivujen kuormitustestaus rdx.net – Olemassaolevien sovellusten siirto Kubernetesiin Docker Borg: The Predecessor to Kubernetes Cloud native computing foundation – CNCF Kubernetes pilviympäristöissä: Google Kubernetes Engine (...
Nov 24, 2021•55 min•Ep. 11
Tässä jaksossa keskustelemme taustajärjestelmäkehityksen skaalauksesta tiiminäkökulmasta. Miten ohjelmistoa voidaan tehokkaasti kehittää, kun tuotekehitystiimejä on kymmeniä ja tiimien määrä tuplaantuu vuosittain. Jakson vieraaksi olemme saaneet Woltilta Jerry Pussisen, joka toimii Competence Leadina Python-teknologiaan liittyen. Pureudumme muun muassa tyypityksen hyötyihin Python-ohjelmointikielessä ja siihen miten autonomiset tiimit toimivat ilman erillistä arkkitehtiroolia. Hyväksi havaittuja...
Nov 02, 2021•50 min•Ep. 10