AI-powered
podcast player
Listen to all your favourite podcasts with AI-powered features
Code Is a Triumph of Information Hitting and Modularity
Meetings came up as the second most productive activity over all and the topmost unproductive activity. Open source is a triumph of information hiding and modularity. The word fungible comes to mind, as defined by the ability to replace or be replaced by another identical item, mutually interchangeable. In this extreme modularity promises that we can ge underlying components.
In this newest episode of The Idealcast, Gene Kim speaks with Dr. Gail Murphy, Professor of Computer Science and Vice President of Research and Innovation at the University of British Columbia. She is also the co-founder, board member, and former Chief Scientist at Tasktop. Dr. Murphy’s research focuses on improving the productivity of software developers and knowledge workers by providing the necessary tools to identify, manage, and coordinate the information that matters most for their work.
During the episode, Kim and Dr. Murphy explore the properties of modularity and information hiding, and how one designs architectures that create them. They also discuss how open source libraries create the incredible software supply chains that developers benefit from everyday, and the surprising new risks they can create.
They discuss the ramifications of system design considerations and decisions made by software developers and why defining software developers’ productivity remains elusive. They further consider open-source software as a triumph of information hiding and how it has created a massively interdependent set of libraries while also enabling incredible co-evolution, which is only made possible by modularity. Listen as Kim and Dr. Murphy discuss how technologists have both succeeded and fallen short on the dream of software being like building blocks, how software development is a subset of knowledge work, and the implications of that insight.
ABOUT THE GUEST
Gail C. Murphy is a Professor of Computer Science and Vice President of Research and Innovation at the University of British Columbia. She is a Fellow of the Royal Society of Canada and a Fellow of the Association for Computing Machinery (ACM), as well as co-founder, board member, and former Chief Scientist at Tasktop.
After completing her BS at the University of Alberta in 1987, she worked for five years as a software engineer in the Lower Mainland. She later pursued graduate studies in computer science at the University of Washington, earning first a MS (1994) and then a PhD (1996) before joining University of British Columbia.
Dr. Murphy’s research focuses on improving the productivity of software developers and knowledge workers by providing the necessary tools to identify, manage, and coordinate the information that matters most for their work. She also maintains an active research group with post-doctoral and graduate students.
YOU’LL LEARN ABOUT
RESOURCES
TIMESTAMPS
[00:27] Intro
[03:52] Meet Dr. Murphy
[04:32] Determining where design occurs in software development
[10:30] Refactoring
[16:08] Defining developer productivity and why it defies explanation
[20:26] What is modularity, architecture and why they’re important
[28:52] An extreme example
[30:51] Information hiding
[36:06] The leftpad and mime-magic incidents and SemanticConflict
[44:13] The work of André Meyer
[47:23] Open source is a triumph of information hiding
[52:56] Architectures give different trade offs to different problems
[57:25] Relationships between a leader’s roles and responsibilities
[1:05:10] BLAS: Basic Linear Algebra Subprograms
[1:09:20] Communication paths within an organization
[1:16:58] The Mylyn project
[1:20:11] Analysis of Dr. David Parnas’ 1972 paper
[1:26:23] Falcon missile program and socio-technical congruence
[1:31:10] The work of Dr. Carliss Baldwin
[1:40:01] How Dr. Baldwin defines modularity
[1:47:26] Modularity and open source software
[1:51:31] Defining real options
[1:53:17] 1 billion dollar rearchitecture project
[1:55:29] This work is primarily about making decisions
[2:01:58] Open source systems are Darwinian systems
[2:06:33] Dr. Murphy’s ideal of software developer’s daily work
[2:09:53] How to contact Dr. Murphy
[2:11:01] Outro
Listen to all your favourite podcasts with AI-powered features
Listen to the best highlights from the podcasts you love and dive into the full episode
Hear something you like? Tap your headphones to save it with AI-generated key takeaways
Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more
Listen to all your favourite podcasts with AI-powered features
Listen to the best highlights from the podcasts you love and dive into the full episode