The stories and people behind the code. Hear stories of software development from interesting people.
Story: From Everest to Startups: Yoshio's Journey of Resilience and Coding
How do you know what matters? What if training to climb Everest left you certain you were on the wrong career path? Join us as we explore Yoshio's incredible journey from the heights of Everest, to coding bootcamps, to finding his true calling in start-ups and communication skills training. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
02/10/2024 • 50 minutes, 21 secondes
Story: From Code to Capital - Tim Chen's Journey from Engineer to VC
What if your corporate job left you feeling empty, and you decided to leap into venture capital? Tim Chen, a software engineer, was disillusioned with corporate life at Microsoft. The 2008 market crash and layoffs deepened his dissatisfaction. Seeking more impactful work, Tim joined startups and contributed to open-source projects, like Kafka and Docker. Then after his own start-up, Tim found a niche bridging the gap between technical founders and venture capital. But could get into Venture Capital himself? Join me and Tim to hear his journey from a disillusioned software engineer to a successful venture capitalist, exploring the highs and lows of his unusual career move. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
02/09/2024 • 46 minutes, 48 secondes
Behind the Mic: Adam Gordon Bell on Communication with Software Misadventures Podcast
Today the tables have turned and you're going to hear someone interview me. Ronak and Guang from the Software Misadventures podcast are going to interview me about podcasting. My history as a software developer and I guess this big idea. That I don't think I've shared too much about the importance of communication. More details including a video version of the interview here: https://softwaremisadventures.com/p/adam-gordon-bell-story-telling
06/08/2024 • 1 heure, 3 minutes, 40 secondes
Story: Jeffrey Snover and the Making of PowerShell
What if you had to fight against your company's culture to bring a revolutionary tool to life? Meet Jeffrey Snover, the Microsoft architect behind PowerShell, a command tool that transformed Windows system administration. Initially met with skepticism, Snover's idea faced resistance from a company that favored graphical interfaces. Snover's journey began with a simple mission: to make Windows as command-line managable as UNIX systems. Despite facing pushback and navigating through company restructures, his persistence paid off. This episode explores how Snover's relentless drive and clear vision overcame numerous obstacles, leading to a tool that is now fundamental in modern enterprise environments. Listen to how one person's determination can challenge the status quo. Help Adam Find His Next Role I'm on the hunt for a new developer relations role. If you know of any companies where they need someone who can speak engineer, who can communicate to developers, that's me. I'm your guy for explaining complex stuff in a way that's catchy and fun and makes sense to software developers. If you know of any roles like this, let me know. Who should I be talking to? Reach out: [email protected], @adamgordonbell, Linkedin, My Calendar. Links: Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
04/07/2024 • 49 minutes, 19 secondes
Story: From Burnout to Breakthrough
Can you imagine risking your career to making coding easier to learn? Meet Felienne Hermans, a professor who did just that by stepping beyond academia to redefine coding education. Disillusioned by her research’s limited impact, Felienne discovered a new calling in teaching coding to underserved students. Her journey led to the creation of Hedy, a programming language designed to dismantle language and learning barriers in coding. Confronting skepticism from her peers, Felienne’s dedication to accessible coding challenged traditional academic priorities. Felienne’s story is a powerful reminder of the impact one person can have by following their passion against the odds. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
04/06/2024 • 52 minutes, 26 secondes
Story: Coding Machines
What if the tools you trust were actually betraying you? Join us for a riveting story where a team of software developers discovers that their compiler is compromised. What starts as suspicion of a simple bug quickly escalates into the alarming realization. In this 100th episode celebration past show regulars Don and Krystal join Adam lend their voice to this work of fiction about the limits of trust in computing from Lawrence Kesteloot. Join us in as we peel back the layers of trust in the software we rely on daily and celebrate our 100th episode. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
03/05/2024 • 48 minutes, 12 secondes
Story: Code, Kickflips and Crunch Time - Mick West's Neversoft Journey
Meet Mick West, whose career began in an unusual office setup — sandwiched between a kebab shop and a phone sex hotline. From there he worked all over Manchester, making computer games for Tiertex and Ocean. Career opportunies brought him to California and to his own game dev company, Neversoft. At Neversoft, navigating team growth and tight deadlines, Mick played a key role in creating "Tony Hawk's Pro Skater." This wasn't just another game; it was a huge hit and secured Mick's legacy in the gaming world. Join us as we explore Mick West's journey from a quirky start to the heights of video game innovation and beyond. Discover the resilience, adaptability, and teamwork that fueled his success and how he continues to explore new horizons. How did he tackle the technical challenges that came his way, and what can we learn from his relentless pursuit of the next big thing? Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
02/04/2024 • 57 minutes, 9 secondes
Story: Leaving LinkedIn - Choosing Engineering Excellence Over Expediency
What if your dedication to doing things right clashed with your company’s fast pace? Chris Krycho faced this very question at LinkedIn. His journey was marked by challenges: from the nuances of remote work to the struggle of influencing company culture, and a critical incident that put his principles to the test against the company’s push for speed. Chris’s story highlights the tension between the need for innovation and the importance of project health. This all led Chris to a pivotal decision: to stay and compromise his beliefs or to leave in pursuit of work that aligned with his principles. He chose the latter. Join us as we dive into Chris’s compelling story, exploring the challenges of advocating for principled engineering in a world that often prioritizes quick wins over long-term value. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter Chris's Personal Website
Greg Wilson has been on a decades-long quest to transform how we teach and talk about software design. From getting rejections for using the term “beautiful code,” to empowering scientists through workshops on Python and Unix, Greg has pushed to bridge the gap between theory and practice. Join us as Greg shares his failures and epiphanies along the way. You’ll hear how he revolutionized research computing by showing physicists the power of profilers. How he taught grad students the elegance of shell scripts. And how he’s crusaded to create a shared language to discuss software architecture with the nuance of true craftsmanship. Greg’s captivating journey reveals that with perseverance and the right examples, we can elevate software design discussion to an art form. But that we’ve got a long way to go. You’ll come away enlightened and eager to level up your own understanding of software design. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
02/02/2024 • 57 minutes, 20 secondes
Story - Code as a Lifeline: Brain Injury Sparks Python Mastery
What if your dreams were suddenly ripped away? What if your talents vanished, your passions erased? That's what happened to Jason McDonald when a traumatic brain injury at 16 ravaged his planned destiny of becoming a doctor. Jason painfully rebuilt his ind and body from scratch - relearning to read, write, even speak. A serendipitous discovery of coding ignited a new passion within Jason. He dove into the world of Python, even writing a popular programming book. His is a story of the incredible resilience of the human spirit when faced with life-altering challenges. One that calls us to embrace our own vulnerabilities as gateways to growth. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
02/01/2024 • 44 minutes, 12 secondes
Story - From 486 to Vue.js: Evan You's Full-Time Gamble on Open Source
From the early days of exploring creative possibilities on a 486 computer in his childhood to developing one of today's most popular web frameworks, Evan You's journey is a tale of passion and innovation. Evan started Vue.js while working at Google, just wanting to scratch his own itch for a lightweight JavaScript framework. But soon Vue started to gain a huge following. Eventually Evan then faced a tough dilemma - should he take a leap of faith and devote himself fully to his fledgling open source project? Hear Evan's firsthand story of that key career transition. How the explosive user feedback at Vue conferences gave him confidence. But also the challenges he faced by putting himself directly in the line of fire from unhappy users. It's an inspiring journey - from a developer just trying to solve his own problems to the leader of one of today's most popular web frameworks. Hear the very human story behind Vue.js. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
04/12/2023 • 46 minutes, 17 secondes
Story: Platform Takes The Pain
How did Spotify scale from 10 engineers to 100s to 1000s ...without slowing down? Without becoming corporate? Facing an IPO deadline, Pia Nilsson worked with 300 teams to transform how Spotify built software. She spearheaded a movement that led them from working in silos to a unified developer platform. Hear the inside story of how Spotify's Platform teams embraced transparency and customer focus to create Backstage — now used by companies worldwide. It's an amazing tale of ingenuity and perseverance. Hear Spotify's secret to scaling engineering without losing speed and independence. Don't miss it! Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
02/11/2023 • 48 minutes, 36 secondes
Story: Sloot Digital Coding System
Lost treasure. Conspiracy theories. Impossible tech demos. Jan Sloot claimed to have invented revolutionary data compression that could fit a full movie into a tiny smart card chip. Top executives and investors witnessed his demos and became true believers, ready to bankroll this company into the stratosphere. But was it all an elaborate illusion? Join me as I unravel the perplexing story of Jan Sloot, the eccentric Dutch TV repairman who dazzled the tech world with his compression claims. Discover the shady details and follow the bizarre twists and turns, as we try to separate fact from fiction in the puzzling case of the Sloot Digital Coding System. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
02/10/2023 • 51 minutes, 50 secondes
Story: Configuring Identity: Adam Jacob and the Search for Self in Software
Today, we go behind the scenes at Chef - the game changing infrastructure automation tool. Adam Jacob created Chef, and it became a massively popular DevOps tool. But despite Chef's success, Adam constantly battled self-doubt and finding his footing as a leader. In this raw episode, Adam shares how the pressure of going from sysadmin to startup CEO caused an identity crisis. He opens up about the motivational speech that left him in tears, realizing his self-worth was too tied to Chef's outcomes. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
01/09/2023 • 42 minutes, 53 secondes
The Science of Learning to Code
Learning to code can feel impossible. Like facing a sheer rock wall with no ropes or harnesses. But what if there was a path up the mountain? A trail blazed smooth by master coders who went before? In this episode, we'll follow that path. We'll hear the stories of legends like Seymour Papert, who championed active, project-based learning. Of Fred Brooks, who discovered that pairing accelerates learning. And more. The research shows that with the right methods, motivation, and support, anyone can master learning curves and summit. So join me as we uncover the science behind learning to code. You'll walk away fired up, equipped with proven techniques to unlock your potential and conquer new technical skills. The climb is on! Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
02/08/2023 • 50 minutes, 45 secondes
Story: A Dark Room
Have you ever been frustrated with your job? Maybe not burnt out, but getting close to there? You used to love what you did, and it felt so creative and empowering, but then it starts to feel a bit more cookie cutter. Have you ever been frustrated with your whole life? The daily grind has taken what you love and it just doesn't feel the same anymore. Some of the magic just has slowly faded away. You don't know when it started, but it did. Today's guest is Amir Rajan. He's hard to describe. Is he a developer? Yes. An artist who sold everything that he owned for indie game development. Yes. The subject of a New Yorker profile? Yes, all of that. And also, somebody who got frustrated with his life and left everything behind. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
03/07/2023 • 40 minutes, 42 secondes
Story: Quitting (And Then Rejoining) Stack Overflow
Today, we meet Ben Dumke-von der Ehe, one of the early developers on the Stack Overflow team. He was on the front lines as the platform transformed how programmers worked. And he embodies the spirit of Stack Overflow: Its transparency, playfulness, and even some of its struggles to be as welcoming and friendly as it should be. But you'll see what I mean. So stick around as Ben takes us on a journey through the building of Stack Overflow. Get ready for a candid inside look at the creation of a platform that would become an essential part of the developer community and the internet as we know it. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
02/06/2023 • 53 minutes, 28 secondes
Story: From Project Management to Data Compression Innovator
How do you accomplish something massive over time? I've had the chance to meet with a number of exceptional software developers and it's something I always wonder about. Today, I might have an answer with the incredible story of Yann Collet. Yann was a project manager who went from being burnt out on corporate life to becoming one of the most sought-after developers in the world. What happens when you build something so impressive and valuable that it essentially becomes invisible? And how do you do that when your day job is mainly organizing spreadsheets and keeping timelines on track? Yann built LZ4 and ZStandard - two of the world's fastest compression algorithms that have transformed databases, operating systems, file systems, and much more. We'll go back in time to Yann's initial steps with programming, his game-changing discoveries along the way and how his devotion to data compression hobby led him to create something that saves billions of dollars worldwide. Episode Links Episode Page Bonus 17 - Accomplishing Hard Things Support The Show Subscribe To The Podcast Join The Newsletter
02/05/2023 • 59 minutes, 23 secondes
Story: JSON vs XML
Today's guest is Douglas Crockford. He's sharing the story of JSON, his discovery of JavaScript's good parts, and his approach to finding a simple way to build software. Also, his battles against XML, against complexity, his battles to say that there's a better way to build software. This is foundational stuff for the web, and Doug is an iconoclast Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
03/04/2023 • 49 minutes, 56 secondes
Story: Sun's Mobile Blunders
Shai Almog worked at Sun on Mobile JVMs just as phones started to turn from phones into something else. Sun had deep expertise in mobile development, and amazing engineering driven culture and relationships with manufacturers and operators. And yet interal politics and the collapse of its server market made it hard to get things done. At Sun, as the mobile market changed, Shai and his friend Chen Fishbein launched a popular UI toolkit. Today Shai shares their struggles at Sun and after it to shape mobile UI development. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
02/03/2023 • 51 minutes, 45 secondes
Story: Shipping Graphing Calculator
I've been on many projects that get canceled. We're building cool stuff. We're going above and beyond, and we're excited. But the project encounters reality, shifting priorities, or budgeting constraints, and the work never goes anywhere. It always feels tragic, but then I move on. But what if I didn't let a project get canceled? What if I couldn't accept that? That is what Ron Avitzur's story is all about. He is the creator of "Graphing Calculator," and he would not let it be canceled. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
02/02/2023 • 46 minutes, 47 secondes
Story: The Unfulfilled Engineer
Nothing good comes from being insecure about your worth, especially at your job. That's what today's episode is about. That's what today's guest is here to discuss. It's a slow burn, but if you listen to the end, I think you will value yourself more professionally. My Guest is Don Mckay. Someone longtime listeners will undoubtedly know. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
02/01/2023 • 42 minutes, 4 secondes
Story: DOOMed to Fail
Today Rebecca Burger Becky Heineman shares the tale of porting Doom to the 3DO console under extreme conditions. There is an engine to tweak, deadlines to hit, hardware acceleration to get working, and dramatic rock anthems to record. We also learn about how game piracy led her to game development and what it was like to do game development in the mania of the mid-nineties. Finally, we close with Becky's advice on learning bare metal development skills. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
02/12/2022 • 45 minutes, 3 secondes
Story: Software World Tour
Today story is from Son Luong Ngoc who shares what’s it was like for him to work and live in many different countries around the world, including working for AliBaba at the Xixi campus in Hangzhou, China. It’s a story of a software developer finding a place that fits them, a place that suits them. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
02/11/2022 • 48 minutes, 57 secondes
Story: Android's Unlikely Success
What could you accomplish if your teammates were all excited and determined to hit some project timelines? What is it like for a group of people to give it all they have? That's what today is about. Chet Haase from the Android team is here to share the story of the early days of Android, the mobile operating system that powers the majority of phones worldwide. We'll cover the years from 2005 to around 2011. It's a wild story. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter Android's Book
03/10/2022 • 1 heure, 7 secondes
Story: From Prison To Programming
I believe that getting underrepresented groups into software development is a good thing. This is not a controversial opinion until you start talking about felons. Today's guest is Rick Wolter. He's an iOS developer who served 18 years in prison for second degree murder. Rick killed somebody and for some that's all they need to know about Rick. But today's episode is about Rick's path to redemption him, teaching himself to code in prison, smuggling in a Python interpreter, and then getting out and trying to get a job as a dev when you're a felon. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter UnderDog Devs
02/09/2022 • 46 minutes, 37 secondes
CPAN - This Day In History
CPAN was the first open-source software module repository. And on this day, Aug 1st, in 1995, CPAN was first announced to a private group of PERL users. If you are building things today by pulling in various packages from various open source places – and really, who isn’t – then the history of how this world came to be is essential. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
01/08/2022 • 56 minutes, 3 secondes
Story: The History and Mystery Of Eliza
I recently got an email from Jeff Shrager, who said he'd been working hard to solve a mystery about some famous code. Eliza, the chatbot, was built in 1964, and she didn't answer questions like Alexa or Siri. She asked questions. She was a therapist chatbot and quickly became famous after being described in a 1964 paper. But here is the mystery. We're not sure how the original version worked. Joseph Weizenbaum never released the code. But Jeff tracked it down, and some of the things we thought we knew about Eliza turned out to be wrong. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
05/07/2022 • 44 minutes, 7 secondes
Chat: Why still 80 columns?
On June 1st, 2014, the following question showed up on hacker news: "Why is 80 characters, the standard limit for code width." You probably know what happens next. People started to post their opinions and the comments and other people started to disagree. The posts spread around the internet. So that is going to be today's show: Let's answer this question. It's a question about traditions and teamwork, and how preexisting idioms shape us and help us, but sometimes restrict us. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
01/06/2022 • 39 minutes, 23 secondes
Story: LISP in Space
Have you ever had a unique approach to a problem and been excited to use it, but you're met with skepticism? Today's story: what happens if you take someone who's passionate about LISP and put them in an organization where that's just not how they write software. Today's story is about getting LISP into space. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
02/05/2022 • 38 minutes, 3 secondes
Chat: April Fools' Is Cancelled
On this day in 2014 "lame april fools' jokes" were banned from hacker news. Today in our first This-Day-in-History segment, I want to share some of history not just of April Fools', but of tech pranks in general, all leading up to 2014. Why were pranks and April Fools' jokes traditionally celebrated in tech? Why are they now considered as dang said, "lame?"? And is there anything we can do to save them? Those are today's questions. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
01/04/2022 • 38 minutes, 50 secondes
Story: The Story Graph with Nadia Odunayo
Whenever I work on a side project, I can't help but daydream of it taking off in a big way. For today's guests, something like that did happen. When Nadia started building her side project, she didn't know that it would end up spreading virally. She didn't know that it would end up competing with an Amazon product. She didn't know that keeping it up would be something that would drive her close to tears. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
02/03/2022 • 48 minutes, 5 secondes
Story: Serenity OS
How would you build an operating system? My answer is I wouldn't. First off, I don't know how. And the second thing is it seems like to large of a task. It took thousands of developers to build Windows XP. But actually, it is possible to build an operating system from scratch. My guest is doing it. Andreas Kling created SerenityOS starting from an empty Git repository. So today, I find out how he did it, how this is possible. But mainly today, I find out why. Why build an operating system from scratch? And it all started in the 2010s when Andreas worked at Apple. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
01/02/2022 • 41 minutes, 29 secondes
Chat: The Internet Is Made of Duct Tape
Today, I have two of my favorite guests together: Krystal Maughan and Don McKay. We are going to be sharing strange and interesting facts about computing. I'm super pumped about this because, sometimes, I learn something new, and I'm excited about it. And I want to tell people about it. And so today is a chance for Don and Krystal and I to share some of these "Oh, my God. Did you guys see this?" stories. Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
02/01/2022 • 42 minutes, 23 secondes
Story: Cocoa Culture
The last episode, I said I wasn't sure there was such a thing as culture, but that's not the case. Every place I've worked has been a bit different, and often those differences had huge impacts on the software we built. The team where people roll their eyes at UX feedback will not have as simple of a product as a team where the user experience is highly valued. If software performance isn't valued, the end result won't be performant. Today, I found an expert on observing developer cultures. Hansen Hsu worked on the AppKit team at Apple, and he's here to talk about this mushy concept called culture. How does it manifest? How does it affect what people build? And how can it lead to beautiful software? Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
02/12/2021 • 44 minutes, 22 secondes
Story: Leaving Debian
Today’s story is an insider view of Debian. One of the oldest Linux distributions and probably one of the longest-running volunteer-based open-source projects. Joey Hess is my guest, and he dedicated significant parts of his adult life to working on Debian. He’s going to share what that was like. The good and the bad, and it’s almost all good. It’s a story about open source software, but it’s also about community and teamwork Links: Episode Page Support The Show Subscribe To The Podcast Join The Newsletter
02/11/2021 • 40 minutes, 27 secondes
Story: The Original Remote Developer
Today's episode is about remote work. Well, sort of. I found someone with a different perspective on remote work and a fantastic story to share, Paul Lutus. I think that he might be the original remote software developer. He left California behind for a lower cost of living in Oregon. And from Oregon, he developed software for Apple. But the kind of surprising thing is he did this in the 1970s! And he did it so well he became rich and even briefly quite famous. Episode Page Subscribe To Podcast Newsletter You can support the podcast and encourage me to keep making it on patreon.
04/10/2021 • 41 minutes, 27 secondes
Chat: Quines, Polygot Code, and Other Fun Computations
Today, previous guest and my neighbor Don Mckay and I will discuss items from the endless fascinating Cursed Computer Iceberg Meme. The Iceberg is a giant list of "the peculiarities and weirdness of computers." We each a few items from the list and alternate explaining it to each other. Don's choices are varied, and mine focus on quines and esoteric coding problems. We also share some coding horror stories from our past. You can support the podcast and encourage me to keep making it on patreon. Episode Page Subscribe To Podcast Newsletter
02/09/2021 • 1 heure, 1 minute, 24 secondes
Story: Full-Time Open Source
Today's show: How to Quit Your Job and Work on Open Source Full Time. This story has it all, balancing open source work and full-time employment, building up enough supporters and enough savings to leave your job. The hardest part to me which is explaining leaving your job to your significant other and to your family and friends. And also what do you do if your project succeeds, and then someone forks it and builds a commercial business around it? There's a lot more as well dealing: with hacker news feedback, how to improve upon the C programming language and how to be super ambitious without seeming arrogant. Sponsor the podcast: If you go to patreon.com/adamgordonbell, you can find the Patreon page for the podcast, and if you are enjoying these episodes and want me to keep putting more time into them, think about setting up a recurring donation. Links: Andrew’s personal website Zig
02/08/2021 • 46 minutes, 15 secondes
Story: The Untold Story of SQLite
On today's show, I'm talking to Richard Hipp about surviving becoming core infrastructure for the world. SQLite is everywhere. It's in your web browser, it's in your phone, it's probably in your car, and it's definitely in commercial planes. It's where your iMessages and WhatsApp messages are stored, and if you do a find on your computer for *.db, you'll be amazed at how many SQLite databases you find. Today, Richard is going to share his story. It's the story of creating a small open source project and having it grow beyond your wildest ambitions. It's the story of following that success wherever it leads: From relationships with tech-giants to interesting testing procedures and more. Episode Page Subscribe To Podcast Newsletter
02/07/2021 • 38 minutes, 35 secondes
Story: From Competitive Programming to APL
Today on the show, we have solving algorithmic programming problems. You know when you interview for a job to write CSS and they ask you to reverse a binary tree on the whiteboard using C and in constant memory space? It's that kind of thing. These problems have their roots in algorithmic programming contests. And our guest, Conor Hoekstra, is a former competitor. Episode Page
02/06/2021 • 53 minutes, 42 secondes
Story: Ethereum Rescue
Today I talk to Dan Robinson about trying to get someone their money back on Ethereum. He's going to be battling this murky world of blockchain high-frequency bots. Along the way, we'll learn how trades are executed on Ethereum and a bit of game theory and political philosophy. It's an entertaining peek into a world that seems like pure science fiction to me, a world where nobody's in charge, where there's no regulation, and where these forces of greed and idealism are in direct conflict with each other Episode Page / Transcript
02/05/2021 • 34 minutes, 58 secondes
Story: Apple 2001
David Shayer worked at Apple for 14 years, and he has a wild experience to share. Apple has a unique culture, and David will give us an insider view of what it was like for him at Apple during the 2000s, roughly between 2001 to 2015 when Apple transformed into the powerhouse that it is today. David worked as a Software Engineer but for the hardware organization with Apple. He worked on a few special projects at Apple: at least one of them was top secret. But he is also going to share the struggles of building file systems and working on really short timelines and having development plans upended by Steve jobs. Episode Page
03/04/2021 • 48 minutes, 8 secondes
Story: Video Game Programming From Scratch
I'm not really a big gamer, but lately, I've fallen down this rabbit hole into the world of Casey Muratori, and this project that he started on Twitch in 2014. He is building a video game from scratch and explaining it all as he goes along. Casey is a professional video game and game engine, creator. He has been doing it for over 30 years. His approach to development feels a little bit like it's from the 1970s. Yet, it resonates with many smart people who are learning how to truly build things and understand fundamentals from Casey. Casey has a lesson about learning and teaching for us all. Episode Page
01/03/2021 • 41 minutes, 15 secondes
Story: Reinforcement Learning At Facebook with Jason Gauci
If you ever wanted to learn about machine learning you could do worse than have Jason Gauci teach you. Jason has worked on YouTube recommendations. He was an early contributor to TensorFlow the open-source machine learning platform. His thesis work was cited by DeepMind. But what I find so fascinating with Jason is he recognized this problem that was being solved the wrong way and set out to find a solution to it. So that's the show today. Jason is going to share his story. Links: ReAgent.ai Programming Throwdown Episode Bonus
01/02/2021 • 38 minutes, 6 secondes
Chat: 2020 Year End
Welcome to the year-end episode. Today is all the bonus questions. Often times I have questions that I want to ask guests, but they don't quite fit the overall theme of the episode. So today we're going to do a whole episode of those extra questions. I have previously recorded questions for Brian Kernaghan, the creator of AWK among many other things. I have questions for Sean Allen, who works at Microsoft Research, and a couple of other people. Episode Page: http://corecursive.com/060-2020-year-end Slack Channel: https://rebrand.ly/corec_slack Twitter: https://twitter.com/adamgordonbell
01/01/2021 • 34 minutes, 27 secondes
Story: Frontiers of Performance with Daniel Lemire
Did you ever meet somebody who seemed a little bit different than the rest of the world? Maybe they question things that others wouldn’t question or said things that others would never say. Daniel is a world-renowned expert on software performance, and one of the most popular open source developers, if you measure by get up followers. Today, he’s gonna share his story. It involves time at a research lab, teaching students in a new way. It will also involve upending people’s assumptions about IO performance. Elon Musk And Julia Roberts will come up a little bit more than you might expect. Episode Page Episode Transcript Links: Daniel's Blog Daniel's Github Parsing JSON Really Quickly: Lessons Learned
01/12/2020 • 47 minutes, 9 secondes
Story: The Birth of Unix with Brian Kernighan
As Brian Kernighan said “UNIX since the start has become a vehicle for creating and using programming languages.” Brian initiated work on what would become the UNIX system. He helped develop it to run on a minicomputer and would eventually be ported to other computers. In this episode, Brain will go in-depth on how the UNIX was built. Episode Page Episode Transcript “If you wanted, you could go sit in your office and think deep thoughts or program, or write on your own blackboard or whatever, but then come back to the common space when you wanted to.“ - Brian Kernighan “I found it easier to program when I was trying to figure out the logic for myself rather than trying to figure out where in the infinite stack of documentation was the function I needed. So for me, programming is more like creating something rather than looking it up, and too much of today's programming is more like looking it up.” - Brian Kernighan “If what I find challenging or hard or whatever is also something that other people find hard or challenging or whatever, then if I do something that will improve my lot, I'm perhaps improving their lot at the same time.” - Brian Kernighan Links: Brian's Homepage Book: Unix: A History and a Memoir Book: Millions, Billions, Zillions: Defending Yourself in a World of Too Many Numbers Book: Understanding the Digital World: What You Need to Know about Computers, the Internet, Privacy, and Security
01/11/2020 • 51 minutes, 10 secondes
Story: To The Assembly
How do CPUs work? How do compilers work? How does high-level code get translated into machine code? Today's guest is Matt Godbolt and he knows the answers to these questions. How he became an expert in bare metal programming is an interesting story. Matt shares his origin story and the creation of compiler explorer in today's interview. Episode Page Episode Transcript Links: Compiler Explorer Matt's Github Matt's Blog Matt's YouTube
01/10/2020 • 41 minutes, 20 secondes
Story: Memento Mori
Preparing our minds for the inevitable - death is pressing. After facing terminal cancer, Kate Gregory reminded herself that this event can still become inspiring by focusing on the positive. In this episode, Kate is going to share her success and explain how you would apply her 5 pieces of advice to your career as a software developer to help you to build a remarkable career for yourself. Episode Page Episode Transcript Links: Gregory Consulting Limited Kate's Classes in Pluralsight Include CPP Kate's Blog
01/09/2020 • 40 minutes, 33 secondes
Story: We are teaching Functional Programming Wrong
Today Richard Feldman shares his story of going from javascript developer to elm developer to functional programming teacher. Along the way, Richard finds that people are teaching functional programming wrong. We are teaching it in a way that misses how most industrial software developers learn best. In this episode, Richard Feldman delves into Elm, his approach, and how to make teaching delightful. Episode Page Episode Transcript Links: Book: Elm in Action A Taze of ATS Elm Language
03/08/2020 • 46 minutes, 40 secondes
Story: Software That Doesn't Suck With Jim Blandy
Building Subversion Software is just the tool and it should get out of your way. In this episode, we will discuss Jim Blandy’s insights on how to build and recognize improvements for a great developer tool and find out how he approached the question: “What's the worst software that you use every day?” “Everybody likes imaginary code because imaginary code is always perfect.” -Jim Blandy “You don't want to maximize engagement with your version control system. You just want it to do its job and get out of the way. And so basically if somebody says, you know, this doesn't suck. That's actually pretty much exactly the right thing.” - Jim Blandy “If you're making a series of small incremental changes to a large data structure, then the way that the persistent data structures are trying really hard to share as much data as possible really works in your favor.” -Jim Blandy Episode Page Episode Transcript Links: Subversion Jim's Email Mercurial GNU Emacs
01/07/2020 • 37 minutes, 17 secondes
Story: Unproven Tech Case Study with Sean Allen
Choosing The Right Tool For the Job Choosing the right programming language or framework for a project can be key to the success of the project. In today’s episode, Sean Allen Sean shares a story of picking the right tool for a job. The tool he ends up picking will surprise you. His problem: make a distributed stream processing framework, something that can take a fire hose of events and perform customer’s specific calculations on them but the latency needs to be less than a millisecond and the calculations might be CPU intensive. Who would need something like this? The initial use case was risk systems for Wall Street banks. “Basically programming languages are tools. It's not about ergonomics, it's not about developer experience, it's not about all the things that we normally talk about, it's about getting the job right. For whatever that means it's a means to an end.” - Sean Allen Episode Page Episode Transcript Links: Martin Thompson - Low Latency JVM Basho - Riak Haskell Quicksort Pony Talk Pony Lang
10/06/2020 • 39 minutes, 3 secondes
Story: Krystal's Story
Chasing Your Curiosity and Continuous Learning Things are easier to learn when you are passionate about something. A lot of great careers are built on curiosity and obsession including Krystal Maughan our guest for today's episode. Krystal will share her journey as she chased her curiosity in programming wherever it led her. "Everybody has that moment when everything's shiny, you know when it's new and you walk on to campus like Google or whatever. Like the first time, I went to Google IO and I just thought it was like, this is insane." "If you like to learn things, I think that's a gift. I think that's not something that everybody has." "I think that seeing programming in different ways and seeing that it could be this kind of fun thing that you could break apart and find different ways of executing." Episode Page Episode Transcript Links: Krystal's Blog Her GSOC Project Interview with Krystal Full Timeline of Krystal's Journey
18/05/2020 • 40 minutes, 20 secondes
Story: Learning a new language with Bruce Tate
There’s joy that can be found in language learning and pain as well. Whether you’re a beginner or an expert, there are still some things you can only discover by picking up a new language. Bruce Tate will tell us how learning new languages rekindled the spark of joy for him. “I find that learning a new language mixes a lot of joy in that pain, and that's when I grow most rapidly as a developer.” “You can't break somebody else through their own pain. They have to learn their own lessons, and they have to, at some point in the model, they have to feel more and more pain to break through to the expert.” “When you visit other places, when you learn other languages, the world gets smaller.” Episode Page Episode Transcript Links: 7 Languages in 7 Weeks Book 7 More Languages Joy Talk
06/05/2020 • 35 minutes, 38 secondes
Story: Portal Abstractions with Sam Ritchie
Buckle up, on today’s episode Adam interviews Sam about how the abstract algebra and probabilistic data structures helped solve fast versus big data issues that many are struggling with. Sam Ritchie is a machine learning researcher and a mechanical engineer by training. Stop in to hear Adam and Sam’s conversation about portal abstractions that let you leverage work from other fields. You cannot miss this episode! "And that's really all we want to do. Like, we want things where you can pause and wait a while and then load it back out and keep going." - Sam Ritchie "I'm aiming to implement these interfaces and pass these tests and then being able to immediately turn around and have like an approximate sliding window counter that would just work with stripes, like entire machine learning feature generation interface." - Sam Ritchie "I'm really passionate about and the reason this stuff's important is. You want to go mine the literature of what other people have done. You know you want to go be able to plug these things into your work and really just benefit from this incredible community that's been cranking for, you know, again, maybe hundreds of years." - Sam Ritchie Episode Page Episode Transcript Links: Sam's Blog Summing Bird Algebird Reinforcement Learning
17/04/2020 • 35 minutes, 11 secondes
Chat: Loving Legacy Code with Jonathan Boccara
Legacy code is everywhere. I don't think I've met anyone who doesn't have to deal with legacy code in the substantial portion of his work. Our guest, Jonathan Boccara is a French C++ developer and the author of The Legacy Code Programmer's Toolbox. In this episode, Jonathan will help us understand and build the correct mindset to effectively work with legacy code by using his approach and processes. "An important message I'm trying to get across is that you should not complain if you don't, in turn, intend to improve the code." - Jonathan Boccara "That would be any critique that's technical. One thing that comes up very often is levels of obstruction. If I had to sum up best practices in, in three words, that would be those levels of obstruction." - Jonathan Boccara "The point of code is to make a piece of software run and to make it run in a way that will make customers happy. " - Jonathan Boccara Episode Page Episode Transcript Links: Fluent C++ SE Radio: Understanding Legacy Code Counting words in your code
03/04/2020 • 24 minutes, 51 secondes
Tech Talk: The Reason For Types with Jared Forsyth on ReasonML and Javascript
Tech Talks are in-depth technical discussions. Adam talked to Jared Forsyth about his journey from untyped javascript to using flow and eventually reasonml. Click here to see if you are eligible for a the Springboard scholarship from our sponsor "I mean, I was, I'll admit it I was definitely in the: 'I was scarred by Java and C plus plus in an intro to programming class and I never want to look at types again' Camp" "My first language was Python and followed closely by Javascript. And so I was, I was loving the loosey goosey scripting language. My first experience of using types in JavaScript, I was like is this going to be terrible? Because there's so much overhead in Java and C plus, plus you have to write types for literally everything." Links: Springboard Scholarship Reason Town Podcast ReasonML Jared's Talk on ReasonML React with Reason Talk Types in Javascript
16/03/2020 • 36 minutes, 36 secondes
Tech Talk: Karl L Hughes on Speaking and Conference Talks
Tech Talks are in-depth technical discussions. Adam talks to Karl Hughes about his path to becoming a conference speaker and the work he has done to make it easier for others to follow in his footsteps. "I didn't start trying to speak at conferences until I was at least seven or eight years into my software development career. So. Just a couple of years ago and before that, I think what helped build confidence was speaking occasionally at meetups. I started talking occasionally at local code bootcamps, just kind of getting to be in front of a crowd and start to build up some like level of self-assuredness and eventually I think the next step was just obvious. I wanted to push myself to do something a little scarier and bigger, and that was like, get in front of people at a real conference. " "And so it is scary. Partly also it's that, you know, because it was my first time, I didn't really know what to expect. I had only been to a couple of tech conferences before. I didn't know what the audiences were going to be like. If there was kind of be this like big tomato throwing thing at the end, they're all just bashed me or if it was going to be like a more of a friendly conversation." Show notes: CFP Land Karl's Personal Site Washing Machine Guy Talk episode webpage
02/03/2020 • 50 minutes, 31 secondes
Chat: Don and Adam discuss folds
Today we try a different format. Adam invites his neighbour, Don McKay, over to ask him questions. An interesting discussion on recursion, corecursion and the naming of the podcast unfolds. "John was saying, we conclude that since modularity is the key to successful programming, dah, dah, dah, dah, dah. I think what he means by modularity is okay, we write our fold and it's like three lines long. Once that exists somewhere, we don't have to have that base case all over our code. We ended up programming a higher declarative level. The other reason is just I really like clean abstractions. There's more to learn but once you do, you're able to kind of have this language where you can talk about these things at a higher level" Why Functional Programming Matters - John Hughes Beautiful Folds - Gabriel Gonzalez Folds in Scala Recursion Training https://corecursive.com/046-don-and-adam-folds/
15/02/2020 • 36 minutes, 17 secondes
Story: David Heinemeier Hansson, Software Contrarian
David Heinemeier Hansson talks to Adam about being avoiding a software monoculture. He explains why we should find a programming language that speaks to us, why ergonomics matter and why single page apps and microservices are not for him. "That is the pleasure and privilege of working with the web. No one knows what you built it. It, you could build an in basic, you can build it a Ocaml, you can build in the Haskell, you can build it in whatever Ruby. No one is going to be none the wiser you get to choose" You want to write for the web. I mean, literally every programming language that's ever been invented and known to humankind is serving a webpage somewhere." "There's just something heartwarming in that, that this idea of the monoculture that like this is all just a battle to the death and there's going to be one framework and there's going to be one programming language that lifts is left standing. Programmers are really drawn into that right into that horse race." So much of their technology choices seem to be predicated on like, is this popular? Is this going to be popular next year? Do you know what I mean?" "The crimes against programming humanities that have been done in the service of single page applications are far worse than the ones that have been done in the service of microservices. But then of course, as it is, lots of people combine the two. So it's a fleet of microservices serving a single page application, and that's just where it bam, my head explodes with like, yeah, I would rather retire and fucking, I don't know, make weaved baskets than deal with that shit." "I'm not saying that email is sort of in its base form is wonderful, but you know what is wonderful asynchronous. Write-ups of cohesive, full thoughts, people using actual goddamn paragraphs to describe ideas and proposals, and they put those paragraphs together into form entire, cohesive thoughts. And then letting someone take that in, read those several paragraphs, sit back for more than five minutes. Ponder that. And then respond." Links: The Majestic Monolith On React TDD is Dead RailsConf 2014 Podcast Page
01/02/2020 • 1 heure, 2 minutes, 9 secondes
Tech Talk: The Business Of Developer Tools With Lee Edwards
How do you build a business around tools for software engineers? Adam talks to Lee Edwards, a VC who spends a lot of time thinking about this question. "When I think about is this a good business, I think about is there value Accruing. The question is just how much. The question about is it a venture-backed business? The very, very oversimplified answer is do you believe you can get $100 million in revenue within 10 years? And those numbers are kind of fudgy. But if you can do that, you can IPO a company and it's kind of amazing that PagerDuty and Twillio each do one thing well and they're multibillion-dollar companies. " "Another interesting thing that venture capitalists talk about behind closed doors and probably never tweet about or say publicly because it makes them look bad. But you do often wonder if the founder of a dev tool company, a lot of times they're really altruistic and you know, I feel this way too, right? But venture capitalists are like, wait, don't give your stuff away for free. And it can sometimes be kind of like a conflict. I think when you're looking for an open-source founder, you need to look for someone as a VC that actually does want to make everyone money." Show Notes: Root VC The Business Value of Developer Relations - Mary Thengvall Code Climate Particle.io FlexPort
18/12/2019 • 37 minutes, 39 secondes
Tech Talk: Software in Context with Zach Tellman
Tech Talks are in-depth technical discussions. Adam talks to Author and Clojure advocate Zach Tellman about how great software is built. "If we say something is over-engineered, what we mean is it's too complex or it's too robust or it handles a bunch of situations or scenarios that are not relevant to how we're using it. It's okay for us to create narrow things. It's okay for us to create Powershells instead of bash sort of environments because that narrowness gives us the ability to go and do things we might not otherwise be able to do." "Twitter are built on top of Ruby because that was a reasonable thing. And then it stopped being the reasonable thing. And again, you have this kind of, I dunno, I call it hacker news induction, which is like, well I built this thing and then I built this other thing, which is almost exactly the same thing. And it worked or it didn't work. And therefore I think that this must generalize across all possible applications of this thing, right? So I tried to rails and it was great or it was awful and therefore it is great or awful, you know, in all situations. " Zach's Personal Site Elements Of Clojure Book https://corecursive.com/042-zach-tellman-software-in-context/
02/12/2019 • 53 minutes, 27 secondes
Tech Talk: Beautiful and Useless Coding with Allison Parrish
Tech Talks are in-depth technical discussions. Generative Art involves using the tools of computation to creative ends. Adam talks to Allison Parrish about how she uses word vectors to create unique poetry. Word vectors represent a fundamentally new tool for working with text. Adam and Allison also talk about creative computer programming and building twitter bots and what makes something art. "Computer programming is beautiful and useless. That's the reason that you should want to do it is not because it's going to get you a job, because it has a particular utility, but simply for the same reasons that you would pick up oil paints or do origami or something. It's something that has like an inherent beauty to it that is worthy of studying." "For my purpose as an artist and as like someone who teaches programming to artists and designers, I want to emphasize that it's not only a vocational thing, it's not only a way for building things like to do apps for that matter. It's not only a way to, you know, write useful applications that help to organize communities or help to do scientific work and other like good applications of programming and software engineering. But there is this like very essential, very core part of computer programming that is just joyful. Um, that's about understanding your own mind in different ways and understanding the world in different lands." Experimental Creative Writing with the Vectorized Word Every Icon Word2Vect Allison Parrish's Website Tracery Articulations Every Word
16/11/2019 • 52 minutes, 20 secondes
Tech Talk: Tech Evangelism and Open source With Gabriel Gonzalez
What makes some pieces of technology take off? Why is java popular and not small talk or Haskell. Gabe is a popular blogger, a former Haskell cheerleader, and creator of the Dhal configuration language. Today we talk about marketing and tech evangelism. "One common mistake I see a lot of new open source developers make is they tried to build what I call the hype train. Where they have started a new project that has a lot of poTech Evangelism with Gabriel Gonzalez tential and they advertise on hacker news hoping that, okay, we're gonna generate a lot of hype, maybe get a lot of influx of new contributors, new contributes, new features, generate more hype and so forth." "They hope that there'll be that virtuous cycle that will get them to the mainstream in practice, that never happens. Usually, the thing about contributors is that their needs are always going to be fragmented, right? If you have eight new contributors, they're going to be taking you in eight different directions. You should focus on one direction and sometimes that means not only doing a lot of work yourself, but it's explicitly saying no to something and saying this is not where I want to take the product right now." Links: Crossing the Chasm Dhall Lang Adam's SE Radio Interview with Gabe Haskell For All - Gabe's Blog
01/11/2019 • 1 heure, 7 minutes, 5 secondes
Tech Talk: Structure and Interpretation of Computer Programs with Hal Abelson
Tech Talks are in-depth technical discussions. Adam talks to Hal Abelson about the textbook he coauthored in 1984, SICP and why it is still popular and influential today. "If you pick up almost any computing book it starts out 'here are these datatypes, these operations that you do' and somewhere around 20 or 30% through the book, they show you how to define a function or a procedure. Whereas we really take the opposite approach. We say the key thing is abstraction. So we kind of start there." "The axe [the book] is grinding is that people write programs to do one particular thing. And then the price of that is that a whole lot of software engineering ends up being trying to get out of the hole you dug yourself into because you made a program that was too specific." SICP Lectures The Structure and Interpretation of Computer Programs Hal Interview https://corecursive.com/039-hal-abelson-sicp/
01/10/2019 • 56 minutes, 20 secondes
Tech Talk: Open Source Health and Diversity with Heather C Miller
Tech Talks are in-depth technical discussions. Heather C Miller is an Assistant Processor at CMU. She is concerned that key open source projects are at risk of failure and no one is paying attention. Adam talks to her about open source, how it grows, the diversity problems it has and much more. Heather also shares some interesting stories about the early days of Scala and her ideas for increasing diversity in tech. Heather's JuliaCon keynote Digital Infrastructure Scala Center https://corecursive.com/038-heather-miller-open-source/
15/09/2019 • 41 minutes, 28 secondes
Tech Talk: Compiling to Bytecode with Thorsten Ball
Tech Talks are in-depth technical discussions. What do compilers do? What is the runtime of a language? What does it mean to compile something down to bytecode and what executes the byte code. Throsten Ball Answers these questions in this interview with Adam. "A virtual machine is a computer built-in software, a CPU built-in software" "Compilers can be slow. You know, I grew up running Linux and I had Gentoo running, so I basically let my computer run for the whole night to compile my window manager. So I do know how slow compilers can be and the reason they're slow is because you're paying the upfront costs that an interpreter pays at runtime. You're paying a little bit more because you're doing additional optimizations. You're shifting the cost to a point in time where you're happy to pay it." Writing a compiler in GO GCC Codebase Mirror LLVM Codebase TCC Compiler C in 4 functions 8CC - small self hosting compiler https://corecursive.com/037-thorsten-ball-compilers/
01/09/2019 • 58 minutes, 28 secondes
Tech Talk: Bartosz Milewski on Category Theory
Tech Talks are in-depth technical discussions. Today Adam talks to Bartosz Milewski. He is the author of a famous blog series, lecture series and now book on Category Theory for programmers. The world of functional programming is rife with terminology imported from abstract algebra and Category Theory. In fact, it may be one of the most valid criticisms of functional programming is the use of Category-Theoretic terminology that can be unwelcoming to newcomers. Category theory can also be a tool to teach us to see software development in a different light and it can teach us to build better software. Bartosz is also just an interesting person, if you haven't heard of him yet, you are in for a treat. Bartosz's Website Blog Series Book Lecture Series https://corecursive.com/035-bartosz-milewski-category-theory/
15/08/2019 • 53 minutes, 33 secondes
Tech Talk: Jimmy Koppel on Advanced Software Design
Tech Talks are in-depth technical discussions. How do we create great software? What are the important skills need to properly review a PR? How do you identify assumptions of a code base and the stable contracts of a software module? Jimmy Koppel is working on his Ph.D. in the field of program synthesis at MIT. He was previously paid 100 thousand dollars to drop out of university by Peter Thiel, but yet still graduated with two degrees. The most interesting, however, about Jimmy is he is working hard to teach the world how to design better software. Due to his time working on program synthesis, he developed some unique insights into what makes software good, and what makes it bad, and he spends time teaching people his insights. Three Level of Software Peter Thiel 20 under 20 Benjamin Franklin Method You are a Program Synthesizer Jimmy's Coaching Program Episode Page: https://corecursive.com/036-jimmy-koppel-advanced-software-design/
01/08/2019 • 53 minutes, 13 secondes
Tech Talk: Typescript with Chris Krycho
Tech Talks are in-depth technical discussions. How do we make JavaScript easier to work with? Chris Krycho has been using typescript to add types to javascript since 2016. Chris is a software developer at LinkedIn who, at his previous gig, worked on converting one of the largest Ember apps in the world to TypeScript. I was shocked by the size. Chris also loves Rust and types and is a former C and FORTRAN programmers. He hosted a podcast called the New Rustacean, which he has retired from. Today we talk about TypeScript and when you should use it. We also talk about Language Server Protocols, Rust, working with large codebases, Structural types, row polymorphism and talking code over audio. Chris's Blog TypeScript New Rustacean Chris's Typescript Refinement types in TypeScript Winning Slowly Podcast https://corecursive.com/034-chris-krycho-typescript/
15/07/2019 • 1 heure, 10 minutes, 55 secondes
Tech Talk: Rethinking Technological Positivism with Cory Doctorow
Self-driving cars or armed autonomous military robots may make use of the same technologies. In a certain sense, we as software developers are helping to build and shape the future. What does the future look like and are we helping build the right one? Is technology a force for liberty or oppression. Cory Doctorow is one of my favorite authors and also a public intellectual with a keen insight into the dangers we face a society. In this interview, I ask him how to avoid ending up in a techno-totalitarian society. We also talk about Turing, DRM, data mining and monopolies. The coming war on general computation Cory's Personal Site Radicalized (and other books) EFF Website for Page
15/06/2019 • 1 heure, 1 minute, 12 secondes
Tech Talk: Crafting Interpreters With Bob Nystrom
Bob Nystrom is the author of Crafting Interpreters. I speak with Nystrom about building a programming language and an interpreter implementation for it. We talk about parsing, the difference between compiler and interpreters and a lot more. If you are wondering why many languages have hand-rolled parser implementations yet much work on build language implementations focuses on parser and tokenizer generators then Bob's insights will be eye-opening. Also, if you've ever used regexes to pull strings apart into structured data, and I sure have, then Bob's perspective on the simplicity of hand-rolled parsers will certainly open up some new possibilities for you. Links: http://craftinginterpreters.com/ http://gameprogrammingpatterns.com/ http://journal.stuffwithstuff.com/
31/05/2019 • 56 minutes, 6 secondes
Tech Talk: Rethinking databases and Noria with Jon Gjengset
Can we make databases faster and remove the need for caching reads in an external cache? Can we make a distributed SQL based relational database that outperforms memcached? Jon Gjengset and the PDOS team at MIT CSAIL have done just that with Noria. Today I talk to Jon about Noria, about building a database in rust and his efforts to teach people intermediate rust via live coding sessions. Jon was great to talk to. He really was able to explain to me how Noria is able to do what it does and where it is in terms of maturity. The key, besides Rust and evmaps, is that Noria uses materialized views to do query optimization ahead of time, on write. The devil is in the details though, of course. And the details, in this case, are turning declarative SQL into a dataflow program that handles cache updates on new writes. http://corecursive.com/030-rethinking-databases-with-jon-gjengset/ Show notes: Noria Project pdos group at MIT Noria Paper Noria Article Jon's Rust Streaming
30/04/2019 • 58 minutes, 44 secondes
Tech Talk: Learning to Think with Andy Hunt - Pragmatic Programmers guide to being productive
Andy Hunt is a celebrity in the world of software development. Or at least he is one to me. The Pragmatic Programmer is a classic book on software development book. He is an author of the agile manifesto and started the book company that has published many great books, including several by recent guests. Today I talk to Andy about how software engineers can get better at thinking and learning. How can we develop this meta-skill and how can being aware of common mistakes our brain make us more productive? Show notes: The Pragmatic Programmer Pragmatic Thinking and Learning Conglommora Webpage for Episode
15/04/2019 • 54 minutes, 51 secondes
Tech Talk: Data and Scale with Pat Helland - The long view on distributed databases
Tech Talks are in-depth technical discussions. Pat Helland has a wealth of knowledge on building distributed data stores. He has been working on distributed data stores since 1978, when he worked on the tandem fault-tolerant database. Since then he has been involved in many distributed database projects. Here is the key thing, he is also a master at explaining the key ideas of distributed systems using simple language and practical everyday examples. Can you get married on the phone? How are messaging systems and idempotence like regional offices communicating via fax machine? These are the type of metaphor that Pat uses. Today, Pat sits down with me and teaches me about dealing with data in a distributed, fault tolerant, infinitely scaling world. Webpage : http://corecursive.com/028-data-pat-heland/ Links: Pat's articles ON ACM QUEUE Mind your state for your state of mine Consistency Eventually Standing on Distributed Shoulders of Giants The Singular Success of SQL Life Beyond Distributed Transactions
31/03/2019 • 56 minutes, 16 secondes
Abstraction and Learning with Runar Bjarnason
What is abstraction? Can we have a precise definition of abstraction that, once understood, makes writing software simpler? Runar has thought a lot about abstraction and how we can choose the proper level of abstraction for the software we write. In this interview, he explains these concepts using examples from the real world, from SQL, from effectful computing and many other areas. We also talk about how to learn and acquire the skills necessary to understand abstract concepts like very polymorphic code and category theory. Runar also explains his latest project unison computing and how it uses the correct level of abstraction to rethink several foundation ideas in software development. Links: Constraints Liberate Maximally Powerful, Minimally Useful Unison Computing Webpage for show
15/03/2019 • 49 minutes, 29 secondes
Tech Talk: Modern Systems Programming And Scala Native With Richard Whaling
Richard Whaling has an interesting perspective on software development. If you write software for the JVM or if you are interested in low level system programming, or even doing data heavy or network heavy IO programming then you will find this interview interesting. We discuss how to build faster software in a modern fashion by using glibc and techniques from system programming. This means using raw pointers and manual memory management but from a modern language. Richard also shares some perspectives on better utilizing the underlying operating system and how we can build better software by depending on services rather than libraries. Links: Beej's Guide to C Beej's Guide to Unix Interprocess Communication Beej's Guide to Network Programming Gary Bernhardt's Destroy All Software Screencasts (Web Server from Scratch, Malloc from scratch, shell from scratch) Stevens & Rago Systems Programming books: Advanced Programming UNIX Environment Unix Network Programming - Sockets UNIX Network programming - Interprocess Communication
22/02/2019 • 53 minutes, 56 secondes
Burn out and recreational coding with Jamis Buck
A decade ago Jamis Buck was not loving his job. He was an important open source contributor. He worked for the hottest trendiest software company at the time, 37 signals, creator of ruby on rails. He was on top of the world but also he was burnt out. Today Jamis talks about how he overcame burn out. We discuss how his struggle lead him to write a book about generating mazes and another about building a ray tracer. His books are great fun, and all about recreational programming. You will learn to build things with a focus not on the latest trends in software development and not even a specific programming language. The focus instead is on fun.
25/01/2019 • 59 minutes, 30 secondes
Tech Talk: Software as a Reflection of Values With Bryan Cantrill
Which operating system is the best? Which programming language is the best? What text editor? Bryan Cantrill, CTO of Joyent says that is the wrong question. Languages, operating systems and communities have to make trade offs and they do that based on their values. So the right language is the one who's values align with you and your projects goals. This simple idea carries a lot of weight and I think has the potential to lift up technical discussions to a higher level of discourse. You will find it to be a helpful frame next time you need to make a technical decision. Bryan is also pretty excited about how the values of the rust community align with his values for system software. Also we cover Oberon, Clean and Simula 4, none of which I've never heard of and how IBM System/370 's Global Trace Facility doesn't hold a candle to Dtrace. Webpage for this episode Show Links: Software Values Slides The Design and Implementation of the FreeBSD Operating System Microsoft should buy github All Bryan's Talks Slack Channel for Site
18/12/2018 • 1 heure, 19 minutes, 4 secondes
Tech Talk: The Little Typer With Daniel Friedman and David Thrane Christiansen
Tech Talks are in-depth technical discussions. When it comes to type systems "I am, so far, only in the dependent types camp" - Daniel P. Friedman You can write more correct software and even rigorous mathematical proofs. Prepare for some mind stretching. Previous guests like Edwin Brady and Stephanie Weirich have discussed some of the exciting things a dependent type system can do Miles Sabin said dependent types are surely the future. This interview is to get us ready for the future. Daniel P. Friedman is famous for his "Little" series of books. Little Schemer, Little prover, Little MLer and so on. These books are held in high regard. Here is a quote from Doug Crockford: "Little Schemer teaches one thing, a thing that is very difficult to teach, a thing that every profession programmer should know, and it does it really well. These are lessons that stick with you." The latest one is the little typer and its about types. Specifically dependent types. Dan's coauthor is David Thrane Christiansen, Idris contributor, and host of a podcast about type theory that is way over my head. Together they are going to teach us how the programming skills we already have can be used to develop rigourus mathematical proofs. Stay tuned to the end for my guide to working thru the book. Originally published at CoRecursive here Join Our Slack Community
01/12/2018 • 1 heure, 7 minutes, 27 secondes
Tech Talk: Big Ball Of Mud
Tech Talks are in-depth technical discussions. Evolving software under constrained resources is a challenge, and I think we kid ourselves when we don't admit this. Software that is providing value often grows in scope until it is a mess. Today I talk to Wade Waldron about how avoid this situation or recover from it. Big ball of mud is the title of a paper presented at the 1997 Patterns Languages of Programs conference and I think it is super interesting. The researchers went out into the field to see what architectures software in industry were following. Big Ball of mud is what they found, along with other 6 other patterns with names like "sweep it under the rug" and reconstruction, which is the throw it away and start again pattern. Links: Big Ball Of Mud Paper Hexagonal Architecture Reactive Foundations Course Reactive Advanced Course Check out other episodes like this Philip Wadler: https://corecursive.com/021-gods-programming-language-with-philip-wadler/ This podcast originally published here : https://corecursive.com/22-big-ball-of-mud-architecture-and-services-with-wade-waldron/
14/11/2018 • 1 heure, 51 secondes
Tech Talk: God's Programming Language - Philip Wadler on Haskell
Tech Talks are in-depth technical discussions. Today I talk to Professor Philip Wadler, a very accomplished programming language researcher. Phil walks us through a principle that has guided his career. That principle is that typed lambda calculus is not invented but a discovery of a deep truth. It is something connected to the mathematical underpinning of the universe itself. It follows from this that functional programming languages are therefore more correct or more deeply justified and fundamental than other languages. I am probably stating things in a stronger fashion than Phil is comfortable with, but I like fp, so I can be a little hyperbolic. While explaining this principle, that has guided his career, Phil takes us through the history of computer science. We start with Turing and Alonzo Church. Eventually we get to what the movie Independence Day got wrong and what language a theoretical creator deity would program in. Show notes: talk paper Web page for this episode CoRecursive On Twitter CoRecursive On Itunes
22/10/2018 • 1 heure, 53 secondes
Tech Talk: Test in Production and being On-Call with Charity Majors
Tech Talks are in-depth technical discussions. "Metrics and Dashboards can die in a fire and every software engineer should be on-call" - Charity Majors Today's Interview is with Charity Majors. We talk about how to make it easier to debug production issues in today's world of complicated distributed systems. A warning, There is some explicit language in this interview. I originally saw a talk by Charity where she said something like fuck your metrics and dashboards, you should test in production more. It was a pretty hyperbolic statement, but backed up with a lot of great insights. I think you'll find this interview similarly insightful. Charity and her company are probably best known for popularizing the concept that observability in the key to being able to debug issues in production. Also if you are a talented developer with functional programming skills, I've got a job offer for you. My employer Tenable is hiring. Tenable is a pretty great place to work. Here is a job link. Show notes: Facebook Scuba Observability Talk the-engineer-manager-pendulum HoneyComb.io Show Link
31/08/2018 • 47 minutes, 59 secondes
Tech Talk: Domain Driven Design And Microservices
Tech Talks are in-depth technical discussions. Today I talk to Vaughn Vernon about how Domain Driven Design can help with designing microservices. The guidelines that Vaughn has developed in his work on DDD can provide guidance for where service and consistency boundaries should be drawn. We also talk about the platform he is developing for applying these DDD concepts using the actor model, Vlingo. Show Notes: Implementing DDD Book Vlingo Platform Vlingo Source
17/08/2018 • 49 minutes, 1 secondes
Tech Talk: Http4s and Functional Web Development With Ross Baker
Tech Talks are in-depth technical discussions. The promise of functional programming is code that is easier to reason about, test and maintain. Referential transparency means there is no extra context to worry about, we can just focus on inputs and outputs. Examples of functional programming in the small are plentiful. Fibonacci is easy to write as a function but what about fp in the large? Http4s is a web framework written in scala that takes a pure functional approach to building http services. Ross Baker is a contributor to http4s and he explains the benefits of this approach. We also touch on the benefits of working remotely, since he and I have both been doing it for some time. Links: Http4s Presentation on Http4s Today I talk with @rossabaker about http4s and the benefits of a pure functional approach to building http services
27/07/2018 • 50 minutes, 59 secondes
Tech Talk: Moves and Borrowing In Rust With Jim Blandy
Tech Talks are in-depth technical discussions. The surprising thing about rust is how memory management works. Rust has the concepts of moves and borrowing. If you have heard about Rust, you may have heard people talking about the borrow checker and trying to make it happy. In this interview, Jim Blandy walks us through what these concepts mean and how they work. We also talk about how to avoid fighting with the borrow checker at all and why the conceptual model that Rust adopts, though it may seem unusual at first, is actually more representative of how computers work and therefore an easier programming model.
03/07/2018 • 1 heure, 7 minutes, 4 secondes
Tech Talk: Dependent Types in Haskell with Stephanie Weirich
Tech Talks are in-depth technical discussions. At Strange loop 2017, a wandered into a talk where I saw some code that deeply surprised me. The code could have been python if you squinted, passing dictionaries around, no type annotations anywhere. Yet key look up in the dictionary was validated at compile time. It was a compile time error to access elements that didn't exist. Also the dictionary was heterogeneous, the elements had different types, and it was all inferred and validated at compile time. What I was seeing was Dependent types in Haskell. In today's interview Stephanie Weirich explains her efforts to add dependent types to haskell and how that example worked. Shows Notes: Dependent Types in Haskell Talk https://www.cis.upenn.edu/~sweirich/ https://github.com/sweirich @fancytypes Dependent Types Regex
13/06/2018 • 58 minutes, 44 secondes
Tech Talk: Micro Services vs Monoliths With Jan Machacek
Tech Talks are in-depth technical discussions. I don't know a lot about micro services. Like how to design them and what the various caveats and anti-patterns are. I'm currently working on a project that involves decomposing a monolithic application into separate parts, integrated together using Kafka and http. Today I talk to coauthor of upcoming book, Reactive Systems Architecture : Designing and Implementing an Entire Distributed System. If you want to learn some of the hows and whys of building a distributed system, I think you'll really enjoy this interview. The insights from this conversation are already helping me. Contact Jan Machacek is the CTO at Cake Solutions. Videos long lived micro services Book - Reactive System Architecture
06/06/2018 • 1 heure, 6 minutes, 33 secondes
Tech Talk: Rust And Bitter C++ Developers With Jim Blandy
Tech Talks are in-depth technical discussions. Rust, the programming language, seems to be really trendy these days. Trendy to me means shows up a lot on hacker news. Rust is really interesting language though, and I think the growing popularity is deserved. Today I talk with Jim Blandy, one of the authors of Programming Rust. We talk about what problems rust is trying to solve, the unique language features and type system of rust. It includes both algebraic data types, type classes, and generics. There is even a proposal somewhere for adding HKT. We also touch on why it is so hard to secure code. Jim works on Firefox and his insights into the difficulty of writing secure code are super interesting. Show notes Rust Programming Rust Book MESI protocol Constraint-based Verification of Parameterized Cache Coherence Protocols Formal Methods in System Design Rust Validation - 3d game demo - (not sure where this is, post in comments if you find it) integer overflow
16/05/2018 • 1 heure, 2 minutes, 53 secondes
Tech Talk: Erlang And Distributed Systems with Steven Proctor
Tech Talks are in-depth technical discussions. Today's interview is with Steven Proctor, the host of the functional geekery podcast. We talk about distributed programming in general and specifically how erlang supports distributed computing. We also talk about things he's learned about functional programming and applying FP principles to various non FP contexts. Contact Proctor: Functional Geekery Podcast @stevenproctor @fngeekery
02/05/2018 • 1 heure, 1 minute, 26 secondes
Tech Talk: Purescript And Avocados with Justin Woo
Tech Talks are in-depth technical discussions. Purescript is a functional programming language that compiles to javascript. It is a strict haskell dialect that can run anywhere that javascript does. Justin Woo is a self described Purescript evangelist and enthusiast. We talk about purescript vs elm and working with expressive type systems. Justin also had some great metaphors about phantom types and masking tape as well as avacados and testing. Contact Justin: twitter github website Show notes: Purescript purescript training videos My team at Tenable is hiring. We are a distributed team of scala developers working on static analysis of docker containers (among other things). We are a team of smart people, working fairly autonomously on interesting problems. We are one of many teams working on interesting problems at Tenable. I think its a great place to work. I am in Peterborough, in Canada, and our team has people working in the US, Ireland and the UK as well. Here is the job posting: https://www.linkedin.com/jobs/view/586241797/ Tell them Adam sent you, or you can email me directly at work abell at tenable.com or use this link to apply.
04/04/2018 • 51 minutes, 6 secondes
Tech Talk: Throw Away the Irrelevant with John A De Goes
Tech Talks are in-depth technical discussions. Today's interview is with John A De Goes. We talk about performance problems with monad transformer on the jvm, various flavours of IO monads and reasoning about polymorphic type signatures. On the lighter side of things, we discuss how to write technical articles well, flame wars and Zee vs Zed pronunciation. Show Notes: John's Website and Twitter Descriptive Variable Names: A Code Smell Data Structures Are Antithetical to Functional Programming A Modern Architecture for FP
21/03/2018 • 1 heure, 7 minutes, 41 secondes
Tech Talk: Total Swift Programming
Tech Talks are in-depth technical discussions. In simple terms, a total function is a function that produces a well defined output for all possible inputs. A total program is a program composed of only total functions. A non-total, or partial function, would be a function that can fail given certain inputs. Such as taking the head of a list, which can fail if giving an empty list and is therefore non-total. Total programming can be done in any language, however many languages make this easier. Some, going so far as to require proof of totality. In this interview Andre Videla discusses how the swift program language encourages programming in a total style. He also discusses his love of Idris, proof assistants and how his research into haskell, idris and dependant types have made him a better swift programmer. Links: Total Programming In Swift
12/02/2018 • 53 minutes, 53 secondes
Tech Talk: Idris, Proofs and Haskell with Edwin Brady
Tech Talks are in-depth technical discussions. Edwin Brady is the creator of the Idris programming language and Author of the book Type-Driven Development with Idris and a computer science lecturer. The book, the language and Edwin himself all seem to be chock full of ideas for improving the way computer programming is done, by applying ideas from programming language theory. In this interview, we discuss dependent types, type holes, interactive and type-driven development, theorem provers, Curry–Howard correspondence, dependant haskell, total functional programming, British vs American spelling and much more. Links: The Book Idris Lectures at OPLSS Idris Language Site
Tech Talks are in-depth technical discussions. In object oriented languages, modeling a complex problem domain is a well understood process. Books like Domain Driven Design contain techniques for breaking down a problem domain and earlier books like the gang of four book catalogue design patterns for modeling these domains in an object oriented way. In today’s interview Debashish Ghosh explains how to model a complex problem domain in a functional paradigm. His solution focuses on modelling the behaviour of the software system rather than nouns it will contain. He also focuses on an algebraic approach to api design and discusses how abstract algebra provides tools for building better software. Episode Page Episode Transcript “I first come up with what I call the algebra of the behaviors. The algebra of the behaviors refers to the basic contract, which the behavior is supposed to support, which the behavior is supposed to honor. So that's the algebra.” -Debashish Ghosh Links: Debashish's Book