Winamp Logo
Koodia pinnan alla Cover
Koodia pinnan alla Profile

Koodia pinnan alla

Finnish, Technology, 1 season, 34 episodes, 1 day, 3 hours, 15 minutes
About
Podcast pinnan alla tapahtuvasta ohjelmistoteknologian magiasta. Puikoissa Markus Hjort (@mhjort) ja Yrjö Kari-Koskinen (@ykarikos).
Episode Artwork

33. Tee se itse -infra

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äSmartlyKubernetesAnsibleElastic StackKibanaPrometheusGrafanaVictoriaMetricsSLOthPagerDutyHetznerVirtuaalilähiverkko (VLAN)David Heinemeier Hansson, 37Signals: We have left the cloudVierasVille Lautanala: @lautis Juontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikos ÄänityötTuomas Ahva: @tuomasahvaSeuraa podcastiaKotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiAnna palautetta podcastistaYhteistyökumppaniVuono GroupVuonon avoimet työpaikat
2/25/202446 minutes, 5 seconds
Episode Artwork

32. Luotettavat integraatiot

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äSwarmiaWebhookitGraphQLGoogle Pub/SubRate limitingTraffic shapingGoogle Cloud FunctionsRabbitMQSidekiqIdempotenttiReentrantKirjastot sisään tulevan datan parsimiseen ja validointiinio-tszodSwaggerDomain-driven designOAuthVierasOskari Virtaoja Juontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikos ÄänityötTuomas Ahva: @tuomasahvaSeuraa podcastiaKotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiAnna palautetta podcastistaYhteistyökumppaniVuono GroupVuonon avoimet työpaikat
1/28/202450 minutes, 49 seconds
Episode Artwork

31. Tietorverkkojen eristyksen testaus

Eristetyissä tietoverkoissa on kriittistä, ettei mikään tieto valu pois verkosta. Moderneissa verkoissa laitteita on joka lähtöön eikä ole yksinkertaista varmistaa, että yksikään bitti ei karkaa maailmalle. Saimme vieraaksemme Ossi Herralan SensorFulta kertomaan, miten Rustilla toteutetaan koodia, jolla yritetään karata verkosta ja siten testataan verkon eristystä.LinkkejäSensorFuFuzzingLibpcap -kirjastoiptablesethernetAddress Resolution Protocol (ARP)ICMPSoftware-defined Networking (SDN)Active DirectoryPurdue-malliBlogi: VPN-reititin, josta pääsi paketti lipsahtamaan Internettiin kesken käynnistysprosessinBlogi: Eristetyt verkot pilvipalveluissaVierasOssi Herrala: @oherrala Juontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikos ÄänityötTuomas Ahva: @tuomasahvaSeuraa podcastiaKotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiAnna palautetta podcastistaYhteistyökumppaniVuono GroupVuonon avoimet työpaikat
12/29/202348 minutes, 30 seconds
Episode Artwork

30. Reunalaskenta

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ä SQLiteTursoReunalaskenta eli edge computingCloudflareServerless computingLatenssiVercelNetlifyCloudflare WorkersScale to ZeroCloudflare D1Amazon LambdaAmazon S3Serverless Postgres NeonSnapshot isolated readACID: atomicity, consistency, isolation, durabilityFly.ioWebAssemblySQLite in AWS LambdaVierasPekka Enberg: @penberg Juontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikos ÄänityötTuomas Ahva: @tuomasahvaSeuraa podcastiaKotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiAnna palautetta podcastistaYhteistyökumppaniVuono GroupVuonon avoimet työpaikat
12/3/202352 minutes, 22 seconds
Episode Artwork

29. Käännösautomaatio

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ä.  LinkitMesonThe Meson Build System - 4+ years of work to become an overnight successDevausblogiKääntäjäTuring-täydellisyysGCC-kääntäjäCMakeAutotoolsD-BusPythonPython Tybe StubsFortranGstreamerScipyCppCon-konferenssiCygwinMsysHP-UX-käyttöjärjestelmäAIX-käyttöjärjestelmäJussin kirjaRosebudSarjakuvakauppaKirjastotietueVierasJussi Pakkanen: @jpakkaneJuontajatMarkus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikosÄänityötTuomas Ahva: @tuomasahvaSeuraa podcastiaKotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiYhteistyökumppani: Vuono GroupAnna palautetta podcastista
7/8/202351 minutes, 56 seconds
Episode Artwork

28. Keskuskoneohjelmointi

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.LinkitY2K – Vuosi 2000 muutoksetCOBOL-ohjelmointikieliKeskuskoneIBM z/OSMinitietokoneetIMSCICSUNIX System Services3270 PääteEräajoRaka-TukiZoweWebSphere for z/OSEBCDIC-merkistöRexx-ohjelmointikieliJoel Spolsky: Things You Should Never DoOpen Mainframe Project: COBOL-ohjelmointikurssiRekisteröinti IBM:n COBOL-ympäristöönHistoriaa: Kun suurkone tuli SuomeenVierasJuha KorhonenJuontajatMarkus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikosÄänityötTuomas Ahva: @tuomasahvaSeuraa podcastiaKotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiYhteistyökumppani: Vuono GroupAnna palautetta podcastista
6/17/202351 minutes, 27 seconds
Episode Artwork

27. Äänichatin moderointi tekoälyllä

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.LinkitPuheentunnistusPrediktiivinen analyytiikka)Syväoppimenen (deep learning)InferenssiTransformerPyTorchgRPC-protokollaProtoBuf-formaattiSpeehlyThe 5 AI Technologies You Need for Voice Chat Moderation in GamesWhisperSiriNVIDIA A100VierasHannes Heikinheimo: @hannes_heiJuontajatMarkus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikosÄänityötTuomas Ahva: @tuomasahvaSeuraa podcastiaKotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiYhteistyökumppani: Vuono GroupAnna palautetta podcastista
5/28/202349 minutes, 46 seconds
Episode Artwork

26. Luotettavat tiedostojärjestelmät

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.LinkitTuxeraNTFS – Microsoftin Windowsin tiedostojärjestelmäNTFS 3G – Linux-ajuriFuse – Filesystem in UserspaceFAT – File Allocation TableTarkistussummaDatan korruptioDefragmentaatio eli eheyttäminenWrite amplificationFlash-muistiAccelerated agingC-ohjelmointikieliperf – profilointiQEMUJournalointiinodeMerkle treePractical File System Design with the Be File SystemWhat is xfstests?xfstestsVierasJouni Roivas: @jouniroivasJuontajatMarkus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikosÄänityötTuomas Ahva: @tuomasahvaSeuraa podcastiaKotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiYhteistyökumppani: Vuono GroupAnna palautetta podcastista)
4/16/202341 minutes, 51 seconds
Episode Artwork

25. Virtuaalitodellisuusohjelmointi

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.LinkitLaajennettu todellisuus XRVirtuaalitodellisuus VRLisätty todellisuus ARFIVR Suomen vr devaajien kerho / startup hubiFIVR:n Helsinki hubUnity XR devaamisen aloitusUnreal XR devaamisen aloitusHotas: Hands On Throttle-And-StickVarjoVierasSamuli Jääskeläinen: @ZhamulJuontajatMarkus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikosÄänityötTuomas Ahva: @tuomasahvaSeuraa podcastiaKotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiYhteistyökumppani: Vuono GroupAnna palautetta podcastista)
3/26/202343 minutes, 4 seconds
Episode Artwork

24. Lääketieteellinen kuvantaminen

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ä.LinkitAzure Blob StorageOpenSeadragonMap tiles & pyramid: How web maps work | Web Mapping Basic #1From Biopsy to DiagnosisNeuroverkotMicrosoft .NETMongoDBRabbitMQRedisProtocol Buffers (Protobuf)TerraformVierasMatti Äijänen: @AeijaeMattiJuontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikosÄänityötTuomas Ahva: @tuomasahva Seuraa podcastia Kotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiYhteistyökumppani: Vuono GroupAnna palautetta podcastista
2/6/202345 minutes, 38 seconds
Episode Artwork

23. Signaalihakkerointi ja takaisinmallinnus

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äHDMIDVIDisplayPortTakaisinmallinnusOonan blogiDisobey -tapahtumaLiquid DSP -kirjastoSoX -komentorivityökalucsdr -komentorivityökalugqrx -softaradioFourier -muunnosSignal Identification GuideSpectogram ViewRTL-SDR Quick Start GuidePea Whistle SteganographyData Radio Channel (DARC)VierasOona Räisänen: @windyoonaJuontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikosÄänityötTuomas Ahva: @tuomasahva Seuraa podcastia Kotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiYhteistyökumppani: Vuono GroupAnna palautetta podcastista
12/18/202238 minutes, 16 seconds
Episode Artwork

22. Confidential computing

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 environmentEnclaveVarmentaminen – attestationTCB – Trusted computing baseConfidential computing node on Azure Kubernetes ServicesIntel SGX in AzureGramineRATS – Remote ATtestation ProcedureSDevelopers guide to Gramine Open-Source Lib OS for running unmodified Linux Apps with Intel SGXFrameworkeja eri ohjelmointikielilleEGo – confidential compouting framework in GoRust EDPEnarx - Confidential Computing with WebAssemblyConfidential Compute for PyTorchVierasMikko Ylinen Juontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikosÄänityötTuomas Ahva: @tuomasahva Seuraa podcastia Kotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiYhteistyökumppani: Vuono GroupAnna palautetta podcastista
11/26/202240 minutes, 16 seconds
Episode Artwork

21. Graafitietokannat

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 super-lightweight CMSDatalog in JavascriptApache AgeDatomicExcision in DatomicDatascriptXTDBNeo4JCypherNeo4J CloudMundaneumAsamiTerminusDBSPARQLWikidataDatalogLearn Datalog Todayfly.ioEntity–attribute–value modelRich Hickey: Database as a ValueVierasMikko Harju: @mikharj Juontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikosÄänityötTuomas Ahva: @tuomasahva Seuraa podcastia Kotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiYhteistyökumppani: Vuono GroupAnna palautetta podcastista
11/5/202246 minutes, 39 seconds
Episode Artwork

20. Verkkolaiteohjelmistot

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ä:ReititinReaaliaikainen käyttöjärjestelmäSovelluskohtainen integroitu piiri eli ASICFPGA ohjelmoitava porttimatriisiPriority ceilingLockdepReaaliaikatuki Linux kerneliinVierasJuhamatti Kuusisaari Juontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikos Seuraa podcastia Kotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiAnna palautetta podcastista
8/20/202243 minutes, 20 seconds
Episode Artwork

19. Kvanttiohjelmointi

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ä:IQMKvanttilaskennan peruskäsitteetKvanttitietokoneSuperpositioLomittuminen - kietoutuminen - entanglementOptimaalinen arbitraasiKvanttietu - quantum advantage: kumpi on nopeampi supertietokone vai kvanttitietokoneKubittiAnalogiset tietokoneetKvanttipiirit ja -portitKoherenssiFideliteettiOhjelmistotyökalutQiskitCirqKvanttisimulaattori, Lista simulaattoreistaPilvikvanttilaskentaKvanttilaskennan opiskeluMatematiikkaVektoritMatriisitKompleksiluvutQiskitin verkko-oppikirjaedX-verkkokurssi: Introduction to Quantum Computing for EveryoneCoursera-verkkokurssi: Introduction to Quantum InformationKirjoja kvanttiohjelmoinnista kaikilleIntroduction to Classical and Quantum ComputingQuantum Computing: An Applied ApproachQuantum Computation and Quantum Information (Matemaattisempi kirja)Kirjoja kvanttiohjelmoinnista heille, jotka tuntevat tietojenkäsittelytieteen perusteitaProgramming Quantum Computers: Essential Algorithms and Code SamplesQuantum Computing since DemocritusVieraatHermanni Heimonen: @HermanniHeiOlli Ahonen @olliahonen Juontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikosJakson äänityöt meille teki Tuomas Ahva Seuraa podcastia Kotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiAnna palautetta podcastista
6/20/202243 minutes, 59 seconds
Episode Artwork

18. Mikropalveluarkkitehtuuri

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 MicroservicesAWS-referenssiarkkitehtuuriAzure-referenssiarkkituuriVierasJari Laari: @JariLaari Juontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikos Seuraa podcastia Kotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiAnna palautetta podcastista
5/23/202249 minutes, 28 seconds
Episode Artwork

17. Tekoäly peleissä

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 pelitPathway to GloryAlan WakeTurbo slidersTurbo sliders unlimitedLinkkejäRedlynxRemedyPathfindingAvoin pelimaailma (open world)AAA-pelitEnsimmäisen persoonan ammuntapeli (FPS, 3PS)Reaaliaikainen strategiapeli (RTS)Unity AI assetsRay CastingKirjallisuuttaStuart Russell & Peter Norvig: Artificial Intelligence, a Modern ApproachSteve Rabin: AI Game Programming Wisdom (osat 1-4): yksittäisiä artikkeleita erinäisistä pelitekoälyistäMat Buckland: Programming Game AI by ExampleVierasAntti Mannisto Juontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikos Seuraa podcastia Kotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiAnna palautetta podcastistaTule mukaan kehittämään DIASia: https://dias.fi/jobs.html
4/28/202248 minutes, 17 seconds
Episode Artwork

16. SRE ja palvelujen luotettavuuden kehittäminen

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 EngineeringSLOIncident PostmortemChaos EngineeringChaos ToolkitResilience4JHealth CheckGrafanaGrafana Loki/PrometheusElasticsearchInfluxDBHoneycombSlothSRE FinlandVierasJaakko Pallari: @lepovirta Juontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikos Seuraa podcastia Kotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiAnna palautetta podcastistaTule mukaan kehittämään DIASia: https://dias.fi/jobs.html
4/5/202250 minutes, 18 seconds
Episode Artwork

15. Indiepeliohjelmointi

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 HousemarqueRemedy EntertainmentWestwood StudiosAAA-pelitDemoskeneFrameworkit ja SDK:tUnityUnity Asset StoreUnreal EngineVisual StudioSteamworksXbox Creators ProgramID@XboxC#-ohjelmointikieliDirectXOpenGLMainitut pelitGuntechGuntech2Among UsFall GuysAuta Ukrainan sodan uhrejaPunaisen ristin katastrofirahastoAuta Unicefin kautta Ukrainan lapsiaVierasJani Penttinen: @jani_penttinen Juontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikos Seuraa podcastia Kotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiAnna palautetta podcastista
3/6/202255 minutes, 31 seconds
Episode Artwork

14. Supertietokoneohjelmointi

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-supertietokoneTieteen tietotekniikan keskus CSCCSC:n uutinen LUMIstaSupertietokoneohjelmointikurssi Elements of supercomputingMPI Coding gameRinnakkaisohjelmointiPthreadsOpenMPMessage Passing Interface (MPI)Supertietokoneohjelmoinnissa käytetyt ohjelmointikieletFortranC++PythonRJuliaGPU-ohjelmointi:Nvidia CUDAAMD ROCmAMD HIPKoneoppiminenTensorFlowKerasMuutaIBM Blue Gene SupercomputerTop 500 supercomputersSingularity container system for HPCGromacs molecular dynamics simulationGPAW quantum mechanics simulationHerrasmieshakkerit-podin SupertietokonejaksoCSC MahtiCSC PuhtiVierasJussi Enkovaara Juontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikos Seuraa podcastia Kotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiAnna palautetta podcastista
2/3/20221 hour, 48 seconds
Episode Artwork

13. Koneoppimisen operointi

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-podcastAWS SagemakerSagemaker Notebook InstancesPythonTypeScriptAWS Cloud Development Kit (CDK)AWS API GatewayAWS LambdaOtsikkokuvan diagrammin lähde: Wikipedia File:ML Ops Venn Diagram.svg ja lisenssi: CC-BY-SA 4.0VierasAnniina Sallinen: @annisalli Juontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikos Seuraa podcastia Kotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiAnna palautetta podcastista
1/12/202250 minutes, 1 second
Episode Artwork

12. Massiiviset pyyntömäärät

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 AdsMongoDBApache KafkaApache CassandraAerospikeCanary ReleasePrometheusGrafanaGoogle Cloud BigtableVierasAntti Klemetti Juontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikos Seuraa podcastia Kotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiAnna palautetta podcastista
12/17/202152 minutes, 20 seconds
Episode Artwork

11. Kubernetes: mikä ja miksi?

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ä:KubernetesSupervisor – Verkkosivujen kuormitustestausrdx.net – Olemassaolevien sovellusten siirto KubernetesiinDockerBorg: The Predecessor to KubernetesCloud native computing foundation – CNCFKubernetes pilviympäristöissä:Google Kubernetes Engine (GKE)Azure Kubernetes Service (AKS)Amazon Elastic Kubernetes Service (EKS)AWS FargateAmazon Elastic File System (EFS)Red Hat Ceph StorageHeroku – The Twelve-Factor App – Periaatteet pilviapplikaation kirjoittamiseenAmazon Elastic Container Service (ECS)Googlen ohjeistusta pilviarkkitehtuuriin: Best practices for operating containersImmutable infrastructure in the age of KubernetesGoogle Cloud Run – Konttien serverless-ajoympäristö, luo kontteja ajoon rinnakkain on-demand määritetyn metriikan perusteellaSmartlyMinikube – Paikallinen Kubernetes clusterK3s – Lightweight KubernetesKind – One-off local klustereita devaus- ja testikäyttöönSkaffold – Devaustyökalu paikallisen Kubernetes clusterin automaattiseen re-konfigurointiinHelm – Dynaamisiin Go-templateihin perustuva konfiguraatiohallinta, säilöö asennetun konfiguraation tilan klusteriinKustomize – Deklaratiivinen konfiguraatiohallinta, ei säilytä asennetun konfiguraation tilaa Kubernetes SlackKubernetes GithubLens – Kuberneteksen visuaalinen hallintatyökalu, kätevä tuotantoympäristössäKubernetes Podcast – Googlen julkaisema Kubernetes podcastCommunityn ylläpitämä AWS terraform – AWS EKS käyntiin "vaivattomasti" (tuska tulee vasta päivänä 2)Kubernetes the MovieKubernetes sarjakuvanaVierasPetrus Repo: @petrusrepo Juontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikos Seuraa podcastia Kotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiAnna palautetta podcastista
11/24/202155 minutes, 8 seconds
Episode Artwork

10. Taustajärjestelmäkehittämisen skaalaaminen

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 periaatteita kehittämiseen isossa skaalassa:tiimien autonomiapalvelujen ja/tai repojen omistajuustiimienvälisen keskustelun fasilitaattoritohjelmointikielen tyypitys, esim tyyppivinkit PythonissaLinkkejä:Python-ohjelmointikieli: https://www.python.org/Kotlin-ohjelmointikieli: https://kotlinlang.org/Jerryn Helsinki Python meetup -esitys tyyppiturvallisesta Pythonista: https://www.youtube.com/watch?v=tKy1idOUW8sStaattinen tyyppitarkistaja mypy: https://mypy.readthedocs.io/en/stable/Type stubs -tiedostot: https://mypy.readthedocs.io/en/stable/stubs.htmlVierasJerry Pussinen, Wolt: @JerryPussinenJuontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikos Seuraa podcastia Kotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiAnna palautetta podcastista
11/2/202150 minutes, 15 seconds
Episode Artwork

9. Infra ja hyvä kehittäjäkokemus

Kausi kaksi alkaa jaksolla 9, jossa puhumme pilvi-infrastruktuurista kehittäjän näkökulmasta. Minkälaisilla työkaluilla ja toimintatavoilla saadaan mahdollisimman hyvä kehittäjäkokemus infrahommiin. Vieraana meillä on Yle OPS-tiimistä Jami Karvanen, joka on urallaan päässyt kokemaan infrahommien kehityksen palvelinten käsinkonfiguroinnista nykyaikaiseen pilvipalvelumaailmaan.Linkkejä:yle.dev https://yle.dev/Terraform: https://www.terraform.io/CI: Github Actions https://github.com/features/actionsAWS Amazon Elastic Container Service (ECS) https://aws.amazon.com/ecs/AWS Amazon CloudFront https://aws.amazon.com/cloudfront/AWS Amazon Machine Images (AMI) https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.htmlAWS Amazon Elastic Kubernetes Service (EKS) https://aws.amazon.com/eks/Grafana: https://grafana.com/Kubernetes: https://kubernetes.io/Ruby-ohjelmointikieli https://www.ruby-lang.org/en/Go-ohjelmointikieli https://golang.org/Go Modules https://go.dev/blog/using-go-modulesRust-ohjelmointikieli https://www.rust-lang.org/Scratch container https://hub.docker.com/_/scratchKoodipohjainen infra – Infrastructure as Code (IaC) https://en.wikipedia.org/wiki/Infrastructure_as_codeYle OPS webinaari https://webinars.yle.dev/OPS-Webinaari_5-5-2021.mp4Softan hiilijalanjäljen laskeminen https://medium.com/teads-engineering/evaluating-the-carbon-footprint-of-a-software-platform-hosted-in-the-cloud-e716e14e060cYle Terraform wrapper https://github.com/Yleisradio/yle_tfVierasJami Karvanen Juontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikos Seuraa podcastia Kotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiAnna palautetta podcastistaTule mukaan kehittämään Ykän ja Markuksen kanssa DIASia https://dias.fi/jobs.html
10/5/202146 minutes, 25 seconds
Episode Artwork

8. Laiteläheinen ohjelmointi

Ensimmäisen kauden viimeisessä jaksossa sukellamme sormusten maailmaan vieraanamme Oura-sormuksen laiteohjelmiston kehittäjä Juha-Pekka Syrjälä. Keskustelemme laiteläheisen ohjelmoinnin rajoitteista, miten ne vaikuttavat laiteohjelmiston arkkitehtuuriin, miten hardiksen ja softan debuggaus onnistuu, millainen ohjelmoinnin palautesykli on ja mikä CI/CD:n rooli on siinä.Lisäksi juttelimme laajalle levinneen laitteen ohjelmiston ja siihen integroituneiden mobiiliapplikaatioiden testauksen haasteista. Juha-Pekka antoi myös vinkkejä miten laiteläheisessä ohjelmoinnissa pääsee nykyisin varsin helposti alkuun.Linkkejä:Oura: https://ouraring.com/PPG eli Photoplethysmogram-signaali PPG-signaalin vastaanottopää fotodiodiNTC-vastusOTA-päivitysRaspberry PiArduinoMatlabC-ohjelmointikieliVierasJuha-Pekka Syrjälä, Oura Juontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikos Seuraa podcastia Kotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiAnna palautetta podcastista anonyymisti
6/20/202150 minutes, 22 seconds
Episode Artwork

7. Testaaminen pinnan alla

Jaksossa 7 vieraanamme on Maaret Pyhäjärvi Vaisalasta keskustelemassa muun muassa rajapintojen testaamisesta. Käymme läpi mitä ovat testaamisen mustat aukot, miten rajapintojen elinkaariajattelu liittyy testaamiseen ja mistä tietää onko API ja sen kehittäjäkokemus (DX) kehityskelpoinen.Entä miten löytyvät klassiset ongelmat rajapinnoissa tai niiden spekseissä, erityisesti liittyen päivämääriin tai syötteen pakollisuuteen? Lopuksi sivuamme myös tekoälyn roolia testaamisessa ja sitä, että alalla tulee riittämään töitä niin testaajille kuin kehittäjillekin tekoälyn kasvavasta käytöstä huolimatta.Linkkejä ja muistiinpanoja:Approval TestsBalanssi eri  testauskerrosten välilläYksikkötestaus eli kehittäjän tahtotilaAPI-kerroksen eli liiketoiminnallisten skenaarioiden  testausKäyttöliittymän testausBig List of Naughty StringsTekoälyn testauksen IVVES-projekti: https://ivves.weebly.com/Konenäkö osana testausta: https://www.test.ai/VierasMaaret Pyhäjärvi: @maaretp Juontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikos Seuraa podcastia Kotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiAnna palautetta podcastista anonyymisti
5/25/202148 minutes, 21 seconds
Episode Artwork

6. Modernit palvelut pankkimaailmassa

Jaksossa 6 vieraana on Markus Lindqvist OP-ryhmästä. Hän kertoo miten OP on lähtenyt modernisoimaan pankkipalvelujen rakentamista AWS-pilvialustalle.  Pohdimme millä perusteella pankkipalvelun voi viedä pilveen ja mitä se vaatii mm. rajapintojen, tietoturvan, logituksen ja regulaation kannalta. Entä millainen arkkitehtuuri mahdollistaa reaaliaikaisen pääsyn mainframessa tallennettavaan dataan? Markus kertoo myös, miten palvelujen operointi ja devops-malli on saatu toimimaan OP:lla.Linkkejä OP Tech podcast: https://soundcloud.com/op-ryhmae/sets/op-techAmazon Web Services: https://aws.amazon.com/Apache Kafka: https://kafka.apache.org/AWS Direct Connect: https://aws.amazon.com/directconnect/VierasMarkus Lindqvist: @markuslindqv Juontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikos Seuraa podcastia Kotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiAnna palautetta podcastista
4/30/202142 minutes, 32 seconds
Episode Artwork

5. Graafihaut

Jakson 5 aiheena ovat graafihaut ja niiden hyödyntäminen isojen datamassojen louhinnassa.  Aiheesta keskustelemassa keskustelemassa IPRallyn CTO Juho Kallio, joka on ollut viime vuodet rakentamassa tekoälyä hyödyntävää patenttihakukonetta. Pureudumme siihen miten ison datamassan hakemisessa voi hyödyntää graafeja, vektoreita ja neuroverkkoja.Linkkejä IPRally: https://www.iprally.com/Annoy: https://github.com/spotify/annoyPyTorch: https://github.com/pytorch/pytorchNLP: https://en.wikipedia.org/wiki/Natural_language_processingTensor: https://en.wikipedia.org/wiki/TensorNeo4J: https://github.com/neo4j/neo4jKahvit näppikselle -podcast: https://www.aalto.fi/fi/podcastit/kahvit-nappikselleVierasJuho Kallio: @juhopkallio Juontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikos Seuraa podcastia Kotisivu: https://koodiapinnanalla.fi/Twitter: @KoodiPinnanAllaSähköposti: koodaillaan@koodiapinnanalla.fiAnna palautetta podcastistaTule mukaan kehittämään Ykän ja Markuksen kanssa DIASia https://dias.fi/jobs.html
3/19/202150 minutes, 24 seconds
Episode Artwork

4. Tapahtumapohjaiset arkkitehtuurit

Jakson 4 aiheena ovat tapahtumapohjaiset arkkitehtuurit. Tällä kertaa meillä mukana keskustelemassa aiheesta Sharetriben CTO Olli Vanhapiha. Keskusteluissa käymme läpi mitä tapahtumapohjainen arkkitehtuuri tarkoittaa ja minkälaista käytännön hyötyä siitä on devaajan työkalupakissa.Linkkejä Tapahtumapohjainen arkkitehtuuri: https://en.wikipedia.org/wiki/Event-driven_architectureChange Data Capture (CDC): https://en.wikipedia.org/wiki/Change_data_captureMartin Kleppmann: Designing Data Intensive Applications: https://dataintensive.net/Datomic: https://www.datomic.com/Kafka: https://kafka.apache.org/Debezium: https://debezium.io/Sharetribe: https://www.sharetribe.com/ Vieras Olli Vanhapiha: @vanhaol Juontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikos Seuraa podcastia https://koodiapinnanalla.fi/@KoodiPinnanAllaAnna palautetta podcastistaTule mukaan kehittämään Ykän ja Markuksen kanssa DIASia https://dias.fi/jobs.html
2/21/202147 minutes, 2 seconds
Episode Artwork

3. Systeemiohjelmointi

Jakson 3 aiheena on systeemiohjelmointi. Vieraana Linux-kerneldevaaja Pekka Enberg, joka tekee työkseen tietokantaa  ScyllaDB-nimisessä firmassa. Pekka kertoo minkälaista on tehdä softaa syvemmällä pinnan alla, jossa abstraktiotasoja raudan ja softan välissä on vähemmän. Linkkejä ScyllaDB: https://www.scylladb.com/Apache Cassandra: https://cassandra.apache.org/QEMU: https://www.qemu.org/KVM: https://www.linux-kvm.org/page/Main_PageProfilointi: http://www.brendangregg.com/linuxperf.htmlPortable Hardware Locality (hwloc): https://www.open-mpi.org/projects/hwloc/Non-Uniform Memory Access (NUMA): https://en.wikipedia.org/wiki/Non-uniform_memory_accessSeastar framework: http://seastar.io/ Vieras Pekka Enberg: @penberg Juontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikos Seuraa podcastia https://koodiapinnanalla.fi/@KoodiPinnanAllaTule mukaan kehittämään Ykän ja Markuksen kanssa DIASia https://dias.fi/jobs.html
1/24/202143 minutes, 59 seconds
Episode Artwork

2. Vuoden nostot – ja mokat

Vuoden viimeisessä jouluspesiaalijaksossa Markus ja Ykä käyvät läpi nostoja ja oppeja vuoden varrelta. Lopussa muistellaan paria eeppistä mokaa kummankin uralta ja mitä niistä opittiin.NostotRust-ohjelmointikieli ja muistinhallintaTietoturvaTwitter social engineering attackYubiKey hardware security keyAuthy 2FA palveluAmplifi Wifi RouterMuista: huolehdi omasta tietoturvasta, epäile muiden tietoturvaa, ota käyttöön 2FA, ota käyttöön uudet laitteet ja päivitä niiden softatInfrastructure as Code (IaC)AWS CloudFormationAzure ARM TemplatesKubernetesEtätyö ja ergonomiaParas työasento on se seuraavaJuontajatMarkus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikosSeuraa podcastiahttps://koodiapinnanalla.fi@KoodiPinnanAlla
12/24/202052 minutes, 33 seconds
Episode Artwork

1. Mobiilipelibäkkärit

Jakson 1 aiheena on mobiilipelibäkkärit. Vieraana Matias Kirvelä Supercellin Clash Royale -tiimistä. Matias on viime vuodet ollut koodaamassa eri pelifirmoissa bäkkäreitä mobiilipeleihin ja jakaa tarinansa siitä minkälaiselta suositun onlinemobiilipelin tekeminen näyttää pinnan alla. Lainauksia:“pulssi on korkeella ja kädet on kylmät”“deploy-hanskat, pystyy naputtelee, verenpaine nousee niin kovaks et kädet on jäässä”"serverityypit huomataan kun peli ei toimi"Linkkejä Elixir: https://elixir-lang.orgProtobuf: https://developers.google.com/protocol-buffers Vieras Matias Kirvelä: @mkirvela Juontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikos Seuraa podcastia https://koodiapinnanalla.fi/@KoodiPinnanAlla
12/10/202046 minutes, 17 seconds
Episode Artwork

0. Modernit bäkkärit

Jakson 0 aihe on modernit bäkkärit. Vieraanamme on Oskar Ehnström Futuricelta,  joka on on työskennellyt pitkään projektissa Sanomilla, missä tehdään mikropalveluarkkitehtuurilla bäkkäreitä useisiin Suomen tunnetuimpiin uutissivustoihin.  Linkkejä Scala Play Framework: https://www.playframework.com/ Vieras Oskar Ehnström: @oehnstro Juontajat Markus Hjort: @mhjortYrjö Kari-Koskinen: @ykarikos Seuraa podcastia https://koodiapinnanalla.fi/@KoodiPinnanAlla
11/17/202041 minutes, 6 seconds