Episodit
-
This is part II of our Standing on the Shoulders of Giants episode about Edsger Dijkstra, the greatest philosopher of our field.
On the Cruelty of Really Teaching Computer Science (1988)Letter protesting U Texas switch to Java from Haskell (2001)âHow do we tell truths that might hurt?â (1975)âOn the Foolishness of âNatural Language Programmingâ (Video) âLecture: Reasoning About Programs - Solving 2 problems using programingâ - 1990
Instead of using social media, Dijkstra would dash off hot takes on his typewriter or his pen and in this episode we cover various of his opinions and essays. You'll hear him say stuff like, "Java sucks" and it's "cowardly to call our errors 'bugs'."
Here are some links to the material we discussed: -
This week we talked about the greatest philosopher of our field: Edsger Dijkstra. Most software engineers will immediately recall Dijkstra's Algorithm, for finding the shortest path between two nodes in a graph, but Dijkstra's work covers a large range of topics over 5 decades, from code quality to complexity to concurrent programming, and programming languages.
Notes on structured programmingSolution of a problem in concurrent program control (1965)Two Problems in Connexion with Graphs (1959)Go To Statement Considered Harmful
In this episode, we talked specifically about the following works, including the original paper where Dijkstra first published what we now call "Dijkstra's algorithm":This episode is part I of our Dijkstra discussion. We'll be back next week for more.
-
Puuttuva jakso?
-
A week ago a developer in San Francisco named Andres Freund found a backdoor in SSH which would grant some shadowy figure access to Linux machines running the latest version of a library called liblzma. Even more incredibly, there were various semi-anonymous figures clamoring for inclusion of this compromised version of liblzma into the latest version of various Linux distros.
The Verge: âHow one volunteer stopped a backdoor from exposing Linux systems worldwideâ Wired: âThe Mystery of âJia Tan,â the XZ Backdoor Mastermindâ TuxCare: âA Deep Dive on the xz Compromiseâ Timeline from Boehs.org: https://boehs.org/node/everything-i-know-about-the-xz-backdoor
This entire scheme had been underway for over three years before it fell apart under Freund's scrutiny and attention from the broader software industry.
This week Mike gives us a breakdown of the exploit and we talk about the fallout from this backdoor which took advantage of an overworked and vulnerable open-source maintainer.
As Mike puts it, the story is "bonkers".
To read more about it, check out these articles: -
Along with our friend Bob Farzin, we visit upon the sleeping body of AI three ghosts this week: one for the past, one for the present, and one for the future. We make a sincere attempt to haunt the crap out of LLMs like GPT, Claude, and Github Copilot and to give them a truly spooky, creeped out feeling as they look upon what they're doing to their industry.
What skills will we need in the future if AI writes all of our code for us? What's going to happen to our tools, our programming languages, our industry? Will we have to go to more meetings?
Erik is a lot more nervous about the future than the calmly reflective Mike and Bob, but we'll do our best this week to predict the future. -
In our industry there are myriad examples of companies behaving unethically, so what power do we have as software engineers to uphold ethical principles and resist bad behavior? In this episode Mike and Erik look at adopting a software engineering code of ethics, relying primarily on the ACM's Code of Ethics as a foundational set of guidelines for ethical and professional behavior.
Also, we're not really known for this but it's worth mentioning that this episode may include some hot takes? I guess I would say that these takes are at least a little warmer than usual.
Mike's music choice this week is The Past is Still Alive by Hurray For The Riff Raff, while Erik talked about his travails with DNS.
Oh, by the way, if you want to email us, the email address is working now(!) and we can be reached over at [email protected] -
Mike's out this week so Erik went into his backyard and talked about famous Naturalists while birds chirped in the background. It's short and unexpected!
-
Itâs a very old software engineering question: should we build the thing or buy the thing? Fred Brooks says "you should always buy." This may even be an existential question: my role is to build things, not to buy them, right? Why would I ever buy anything?
According to Mike, learning to answer the "Build or Buy" is an essential part of becoming a software engineer, so we'll try to answer it for you definitively this week!
Erik has been listening to Ovlov's Buds while Mike has been listening to Strings Attached: The Voice of Kannel by Anna-Liisa Eller. -
In which Mike and Erik try to understand what "edge computing" means and whether it's meaningful or marketing speak. The topic comes up because Mike decides to run an LLM on his laptop and it turns out that when he's doing this he's participating in edge computing!
For musict his week Erik is listening to the Baroness album Stone while Mike has been into Brittany Howard's What Now. -
This week Mike and Erik dig into their bookshelves to find and discuss their favorite technical books. As per usual, Mike references a bunch of stuff Erik has never heard of but one new thing this week is that Erik tries hard not to piss off Radiohead fans.
Unix Network Programming, W. Richard StevensSoftware Architecture in Practice, Bass, Clements, KazmanFundamentals of Interactive Computer Graphics, Foley and Van DamThe C Programming Language by Brian Kernighan and Dennis RitchieHackerâs Delight by Henry WarrenJoe Celko's Trees and Hierarchies in SQL for SmartiesA Practical Guide to Linux Commands, Editors, and Shell ProgrammingMastering Regular ExpressionsJavascript: The Good Parts by Douglas CrockfordNatural Language Processing with PythonAn Introduction to Functional Programming Through Lambda Calculus by Greg MichaelsonKubernetes Up and Running by Kelsey Hightower, Brendan Burns, and Joe BedaBuilding Microservices by Sam NewmanEnterprise Integration Patterns by Gregor Hohpe and Bobby WoolfDesigning Data-Intensive Applications by Martin KleppmannThe SRE Book by Betsy Beyer, Chris Jones, Jennifer Petoff and Niall Richard MurphyMazes for Programmers by Jamis BuckBuilding an Interpreter in Go, by Thorsten Ball
Books MentionedFor music this week Erik's into The Smile's Wall of Eyes, while Mike likes Compassion by Vijay Iyer, Linda May Hah Oh, Tyshawn Sorey
-
This week Mike and Erik conclude their discussion on complexity with a review of the 2006 fan-favorite paper "Out of the Tar Pit."
-
As programmers, we want to control complexity and simplify our software, but these things are often hard for us to define. We know them when we see them!
This week, Mike and Erik talk about what it means to say that software is "complex" and along the way they'll offer three definitions of complexity, so the next time you're at work and commenting on pull requests and telling someone that what they've written is too complex, you can cite these random guys on this podcast!
For music this week Mike has been listening to ORQUĂDEAS by Kali Uchis while Erik is listening to SUSS, a work of ambient country music (whatever that means). -
This week Mike and Erik chat about deploying software and try to understand how it used to be and characterize what it's mostly like now. What are the best ways to deploy we've seen in our careers and what mistakes can we avoid. As is typical, there is much complaining also.
For music this week Mike mentioned Melusine by Cecile Mclorin Salvant,
where are we? by Joshua Redman and Gabrielle Cavassa, and Continuing by Tyshawn Sorey. Erik continued on his journey into the peaceful-feelings music forest with Alberta Cross's Sinking Ships.
Links
- Google Paper "Towards Modern Development of Cloud Applications" -
Mike and Erik share debugging stories...
-
In this last recording for 2023, Mike and Erik talk about embarrassing things they've done at work over the years. These are mistakes, errors, screwups and mishaps and, yes, there will be swearing.
As mentioned on this episode, we have an email now, so please get in touch with us! Send us your feedback, tips, or ruminations on the show here: [email protected].
Also, check out the PMC - 2023 Playlist on Spotify. The playlist link is here: https://open.spotify.com/playlist/4TdS9U2ONDC0gLyFp1Os9M?si=37adbdc3e1b34706
Erik predicts that Mike is the only person in the world who can listen to this entire thing and enjoy every song on there.
Have a happy new year, listeners! We'll be back in 2024... -
In this episode Mike and Erik talk to Chris Staszak who works for a startup investor in San Diego. Chris teaches the pair of hosts how to pitch startups to investors and also raises some of the common pitfalls in approaching funders and running a startup.
In order to test their newfound skills, Erik pitches an AI-powered coffee machine while Mike pitches a solution to the housing crisis involving tents for seniors.
If you've ever wanted to start a tech company and learn how to get some funding, this is the episode for you! -
This week on the show, Mike and Erik discuss the work of Barbara Liskov. Their discussion includes a tour through types, concurrency, and distributed systems. Liskov has had an incredible career spanning 6 decades and contributed ideas that are foundational to work we do as day-to-day software developers. Hope they're up to this task!
Abstract TypesâProgramming with abstract data typesâ, Barbara Liskov, Stephen Zilles, 1974âA Behavioral Notion of Subtypingâ, Barbara Liskov, Jeanette Wing, 1994The âLiskov Substitution PrincipleâDistributed ComputingâGuardians and Actions: Linguistic Support for Robust, Distributed Programsâ, Liskov, Schiefler, 1983âPromises: linguistic support for efficient asynchronous procedure calls in distributed systemsâ, Liskov, Shrira, 1988âViewstamped Replication: A New Primary Copy Method to Support Highly-Available Distributed Systemsâ, Oki, Liskov, 1988 âPractical Byzantine Fault Toleranceâ, Miguel Castro, Barbara Liskov, 2002Wikipedia articleQuanta interview âThe Architect of Modern Algorithmsâ
References
For music this week, Erik talked about Theo Katzman's Be the Wheel while Mike just fell into a hole and listened to the genre of deathcore for a week. -
Today on the show we welcome Scott Aker who regales us with a tale of a seedy group of hackers breaking into cloud compute services in order to steal compute power for their own nefarious aims.
Scott started writing software in the Bay Area in the '80s and moved on to become an engineering manager overseeing operations and infrastructure, areas of activity we would today probably call "DevOps". At the time this story took place, Scott found himself in a startup that was going up against the likes of AWS, and this company's existence was potentially threatened by these hackers who were targeting their services.
What was this hacking group trying to do? Listen to Scott's story to find out. -
This week Erik asks Mike what living person he'd want to meet and then volunteers a person he would _not_ want to meet, Ludwig Wittgenstein. Then Erik promises Mike that if they spend an hour talking about language philosophy, he'll never bring it up again, which Mike openly doubts. Finally, the pair try to relate this unexpected conversation to software.
This week Mike was listening to Mike Reed's The Separatist Party, while Erik was stuck on an album by Boygenius called the record. -
On this episode, Mike and Erik talk Kubernetes requests and limits as well as the Linux CPU scheduler. Erik complains impotently and Mike sagely breaks down the problem and then Erik complains some more. There is even some light ranting.
Oh, also, Mike talks a lot about Bach and Erik talks about Aesop Rock's new record Integrated Tech Solutions, where he raps that "we cannot be trusted with the stuff that we come up with," which, hey, that sounds just like us! -
This week on the 35th anniversary of the infamous Morris Worm, Mike and Erik look back at this sensational true crime story. Computers will be disconnected from the internet and wiped clean! Network switches may be rigged to explode!
The Spafford paperWikipedia entryUS GAO ReportFBI Report on Catching Morris
The Morris Worm was the first widespread hack that propagated itself independently from user actions and it paved the way for the botnets of today.
Music we were listening to this week: Dawn FM by The Weeknd, Water Made Us by Jamila Woods, and No Love Lost by Year of the Knife.
Here are Some Links to Things We Talked About: - Näytä enemmän