
Kopec Explains Software
We make software-related technical topics intelligible. We aim to help you develop an intuitive understanding of each subject, instead of emphasizing formal definitions. Join us as we learn about the wide world of software.
Latest episodes

Oct 4, 2021 • 14min
#69 The Objective-C Programming Language
The podcast explores the history and adoption of Objective-C, comparing it to C++. It discusses the syntax and usage of Objective-C, highlighting its differences and foreign appearance. The importance of Objective-C in the Apple world is explored, along with its performance comparison to C/C++. The podcast ponders an alternative history where Objective-C could have rivaled C++.

Sep 27, 2021 • 18min
#68 Open Source Business Models
Open source does not mean non-commercial. We start this episode by dispelling the common myths amongst the general public about the relationship between the business world and open source software. We then get into the many different business models that open source software companies use to make money. We cover six different business models, ranging from selling services to using your open source product as a so-called "loss leader." After we tour the major business models, we discuss some of the less well-known business models, like selling documentation.
Show Notes
Episode 12: Open Source Software
Episode 65: What is a Device Driver?
Episode 64: What is a Content Management System?
The Cathedral and the Bazaar by Eric Raymond
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live

Sep 20, 2021 • 19min
#67 Clive Sinclair and his Personal Computing Legacy
Last week, influential British inventor and entrepreneur Clive Sinclair passed away. Sinclair invented some of the first slim calculators, handheld televisions, and digital watches, but he is perhaps best known for being one of the pioneers of the British personal computer industry. In the early 1980s his company, Sinclair Research, developed the hot-selling and widely cloned ZX80, ZX81, and ZX Spectrum computers. In this episode we talk about Clive Sinclair's life and the legacy of the ZX line of personal computers.
Show Notes
Episode 16: The Personal Computer Revolution
Episode 22: Why was the IBM PC a Big Deal?
Episode 3: What is a Byte?
Clive Sinclair via Wikipedia
Micro Men via Wikipedia
ZX80 via Wikipedia
ZX81 via Wikipedia
ZX Spectrum via Wikipedia
Sinclair QL via Wikipedia
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live

Sep 13, 2021 • 15min
#66 What is a Firewall?
Firewalls protect computers and private networks from threats originating across the wider Internet. They come in both hardware and software flavors. They ensure unwanted network traffic is turned away or dropped and that legitimate traffic is only routed to the appropriate application. They work by both simply blocking ports and by analyzing packet data. Windows has had a built-in firewall since Windows XP. In this episode we provide a basic overview of firewalls.
Show Notes
Episode 5: How does the Internet work?
Episode 6: How does the Web work?
Episode 18: How does Email Work?
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live

Sep 6, 2021 • 14min
#65 What is a Device Driver?
Every hardware peripheral connected to your computer is powered by a device driver. A device driver sits between the operating system and a hardware device. It speaks the language of the hardware. It understands its commands. It's a point of translation and control. In this episode we explain what device drivers do, why they need to be managed, and how they differ from firmware.
Show Notes
Episode 2: What is an Operating System?
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live

Aug 30, 2021 • 13min
#64 What is a Content Management System?
A content management system (CMS) is a piece of software that lives on a web server for the dynamic generation of web sites based on content that lives in a database. A CMS frees a site developer from the need to edit raw HTML and CSS to update and stylize their site. The most popular CMS in the world by far is WordPress, but there are many open source and proprietary alternatives. In this episode we explain why a CMS is useful, how it compares to a static site, and the ways that a CMS is expandable.
Show Notes
Episode 59: What is HTML and CSS?
Episode 6: How does the Web work?
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live

Aug 23, 2021 • 16min
#63 Intel's Current Challenges
Intel has received a lot of bad press the last few years. It never successfully made the leap into the smartphone market. Its fab got stuck at a 14 nanometer (nm) node for several years while competing fabs pressed on to 7 and 5 nm. And it lost a huge amount of share in the X86 market to arch-rival AMD. Yet, Intel is still very profitable and it still has its chips in the majority of desktops, laptops, and servers. With new leadership, it's branching out in several new directions. In this episode we break down why Intel has faced challenges and where it's experimenting with going next.
Show Notes
Episode 22: Why was the IBM PC a Big Deal?
Episode 23: The Mac's Instruction Architecture Transitions
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live

Aug 16, 2021 • 15min
#62 What is an Algorithm?
Algorithms are at the heart of computer science. And they're actually a really simple concept. What are the steps we need to take to solve a problem? The best algorithms are generic enough to be used on different problems of the same type. Software developers favor algorithms that are efficient and easy to implement. In this episode we'll discuss what an algorithm is, how algorithms are measured, how we can be sure they are correct, and some of the issues around bias in algorithms.
Show Notes
Episode 61: What is a Data Structure?
Episode 53: Developer Tools
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live

Aug 9, 2021 • 21min
#61 What is a Data Structure?
The official definitions of data structures are very vague. For example, Introduction to Algorithms defines a data structure as "A way to store and organize data in order to facilitate access and modifications." They're really about collections of data. How do we put multiple pieces of data in the same place in memory and make it efficient to retrieve them or do various operations on the collection? We'll discuss two illustrative examples: arrays and linked lists. We'll explain the tradeoffs between the two and provide some analogies for them that non-programmers can understand.
Show Notes
Episode 11: What is a Programming Language?
Episode 3: What is a Byte?
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live

Aug 2, 2021 • 15min
#60 What is JavaScript?
Explore the purpose, history, and usage of JavaScript, the popular programming language used in web browsers. Compare it with Java and discover its versatility in web, server-side, desktop, and mobile development. Learn how JavaScript works with HTML and CSS, and why it receives heavy criticism despite its widespread popularity.