Kodsnack 402 - Minnesskrivningar som inte tog, med Arno Lepisk
2021-01-26 05:26Fredrik snackar med Arno Lepisk om mjukvaruutveckling i stort, C++ av senaste modell, och intressanta buggjakter.
Först snackar vi om Apples nya processorer och kommande datorer. Vad är det Apple har lyckats med så enormt bra för att få den prestanda de faktiskt har fått? Vi pratar om hur långt det är mellan den kod vi skriver och vad processorn faktiskt utför, även om vi tror att vi programmerar på relativt låg nivå. Arno berättar också om intressanta skillnader i minnesmodell som skulle kunna komma och bita folk när program ska portas från x86 till Arm.
Arno berättar tre intressanta historier om konstiga buggar, och det leder oss in på andra läskiga hårdvarunära buggsituationer, som i flygplan och bilar.
Avsnittet sponsras av GleSYS - eminenta VPS:er i egna miljövänliga datorhallar på svensk mark. Oavsett om du behöver en Linux- eller Windows-VPS, en Kuberneteslösning, eller en Gitlabserver kan du komma igång på några minuter via GleSYS smidiga kontrollpanel.
Hur vi utvecklar mjukvara, programmerrarrollen. Det ingår ju så mycket mer. Det är ju tänkande det handlar om, inte ett språk eller hur snabbt man kan knacka in koden. Det är värt att bredda tanken. Behöver vi färre programmerare och fler mjukvaruingenjörer? Hur bygger vi system som blir enklare och bättre att bygga vidare på över lång tid?
Och för övrigt borde loggning vara ett löst problem.
Sist men inte minst: lite om trevliga nyheter i C++. Vi snackar moduler, koncept, coroutines, ranges, och source location.
Ett stort tack till Cloudnet som sponsrar vår VPS!
Har du kommentarer, frågor eller tips? Vi är @kodsnack, @tobiashieta, @oferlund, och @bjoreman på Twitter, har en sida på Facebook och epostas på info@kodsnack.se om du vill skriva längre. Vi läser allt som skickas.
Gillar du Kodsnack får du hemskt gärna recensera oss i iTunes! Du kan också stödja podden genom att ge oss en kaffe (eller två!) på Ko-fi, eller handla något i vår butik.
Länkar
- Arno
- Arnos tidigare besök i podden: 281 och 191
- Hiq
- Apples M1-kretsar
- Magsafe
- Svag kontra stark minnesmodell
- Rosetta 2
- AMD Ryzen
- Manuell minneshantering
- Use after free
- Sanitizers
- Valgrind
- Minnesmappad IO - MMIO
- FPGA
- GleSYS - veckans sponsor
- VPS
- 1password
- Vmware
- KVM
- Privata nätverk
- Gitlab
- Plesk
- Kubernetes
- Rancher
- Jitsi
- GleSYS objektlagring
- GleSYS datorhallar och miljöarbete
- glesys.se
- Intels divisionsbugg i tidiga Pentium-processorerna
- F00F-buggen
- Boeing 737 max och dess problem
- Bilbromsning med tolvtusen globala variabler
- Why every embedded software developer should care about the Toyota verdict
- Toyota’s killer firmware: Bad design and its consequences
- Watchdog-processer
- Kompilatorstöd för C++20
- C++20
- C++23
- C++11
- Modulsystemet i C++20
- Koncept
- Templates
- Coroutines
- Generatorer i Python
- C17
- Ranges
- Iteratorer i C++
- Source location
- C++-preprocessorn
- AUTOSAR-standarder
- Cppreference.com
Titlar
- För det som inte precis har lyssnat på avsnitt 281
- Utveckling med C++
- RAM är snabbt
- Cache är snabbt
- Man har ju någon slags modell i hjärnan
- Så tror man att det är det CPU:n utför
- Tror ni att det är det här processorn utför?
- Man kan sitta och gissa
- Större del av kakan
- Jag som mjukvaruingenjör försöker leka företagsekonom
- Två datorer på samma burk
- Större och svårare skuta att vända
- Såpass kraftfulla verktyg
- En multipel på åtta bytes
- Minnesskrivningar som inte tog
- Det är nog inte kompilatorn som gör fel
- Vild skrivning i minnet
- Färre programmerare och fler mjukvaruingenjörer
- Rita pilar hit och dit och diskutera
- Mycket lättare om man får saker rätt på en gång
- Loggning borde vara ett löst problem
- Det sista de hann göra innan världen stängde ner
- Då börjar jag skriva vilt
- Allting finns implementerat någonstans
- Uppfyller inte kravet comparable