
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 16, 2023 • 37min
Classic Episode: iOS vs. Android (2020)
In this episode, originally published in 2020, we discuss the similarities and differences between iOS and Android. We delve into their history, business models, developer ecosystems, and user experiences. Does it really matter if you use iOS or Android? Listen to this episode and find out.
Show Notes
Episode 89: Multi-Touch
Episode 99: Android App Development
Follow us on X @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.liveRead transcript

Oct 2, 2023 • 12min
#125 What is a Sandbox?
In software, a sandbox is an isolated environment that limits the resources that a particular application can access. Sandboxes are used to protect the security and privacy of the user. All Web apps and much consumer software running on modern operating systems like iOS, Android, macOS, and Windows runs in a sandbox. We also use our general definition of sandbox to discuss their use in software development. A sandboxed, development version of a software product doesn't affect the end users of the production version. Likewise, a sandboxed API doesn't allow a developer to accidentally complete a real-world transaction.
Note that we combine the sometimes more specific use of the term sandbox in computer security and sandbox environment in software development to form our own more general definition in this episode.
Show Notes
Episode 30: Cybersecurity with Duane Dunston
Follow us on X @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.liveRead transcript

Sep 19, 2023 • 12min
#124 What is a Cache?
We explain what caches are, and where they're typically used. We can think of a cache as a piece of temporary fast memory used for the retrieval of pre-computed expensive calculations or high latency resources. Caches can exist in hardware or in software. Beyond the CPU caches and web browser caches that most are familiar with, in this episode we also dive into specific use cases of caches in common types of apps.
Show Notes
Episode 123: What is a Hash Table?
Follow us on X @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.liveRead transcript

Sep 4, 2023 • 20min
#123 What is a Hash Table?
Hash tables are some of the most widely used and powerful data structures. They allow for the efficient storage of key-value pairs. Keys are identifiers that we want to lookup data by, while values are the actual data. Hash tables underly common abstract data types in programming languages used for key-value data known as dictionaries, maps, or associative arrays. Hash tables can accomplish lookups, insertions, updates, and deletions in constant time on average. In this episode we explain what hash tables are used for and how they work.
If you don't know what an array or linked list is, you probably first want to listen to our prior episode, "What is a Data Structure?" Arrays and linked lists are component parts of hash tables and referred to in the episode with assumed knowledge about them.
Show Notes
Episode 61: What is a Data Structure?
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.liveRead transcript

Aug 21, 2023 • 24min
#122 Open Source Licenses
Understanding open source licenses is critical if you're a software developer. What are your rights and responsibilities when you incorporate an open source library in your program? In this episode we explain why we have licenses, the different types of open source licenses, and best practices for an open source practitioner.
Note that the licenses we refer to as laissez faire licenses in this episode, are also widely known as permissive licenses.
Show Notes
Episode 12: Open Source Software
Episode 68: Open Source Busines Models
Episode 107: Free Software vs. Open Source Software
Episode 119: Myths About Open Source Software
The Open Source Definition
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.liveRead transcript

Aug 7, 2023 • 44min
#121 Shareware with Richard Moss
Shareware was a major distribution model for consumer software and games from the 1980s through to the 2000s. We’re privileged to be joined on the show by journalist and tech historian Richard Moss, the author of "Shareware Heroes: The renegades who redefined gaming at the dawn of the internet." In the most common scenario, a piece of shareware is distributed free of charge but users pay a fee to "register" their copy which may include unlocking additional features or content. Some of the most popular PC utilities and games of the 80s and 90s were distributed largely through shareware including PKZip and Doom. Richard discusses the history, impact, and evolution of the shareware model.
Show Notes
Richard on X/Twitter
Richard on Mastodon
Richard on Bluesky
Shareware Heroes Website
The Secret History of Mac Gaming Website
First Person Shooter: The Definitive FPS Documentary
Richard's Website
The Life & Times of Video Games Podcast
Shareware Heroes on Amazon
The Secret History of Mac Gaming on Amazon
Follow us on X/Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.liveRead transcript

Jul 24, 2023 • 21min
Classic Episode: What is a Byte? (Remastered)
We’re out this week, so we remastered a classic episode from 2020. It’s our third episode—a layperson’s introduction to bytes! Original description below:
What is a Byte? In this episode we go down to the fundamentals and explain how data is represented in a computer. We discuss what a bit is, both at the hardware level and the software level. Then we discuss other terms like kilobyte, megabyte, gigabyte, and terabyte. We give various examples of real world files and their storage needs. Finally, we talk about the evolution of microprocessors from 8-bit to 64-bit.
Follow us on Twitter @KopecExplains.
Theme “Place on Fire”, Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.liveRead transcript

Jul 11, 2023 • 17min
#120 What is FreeBSD?
FreeBSD is probably the most popular operating system that most people have never heard of. Currently celebrating its 30th anniversary, FreeBSD is a performant, secure, Unix-like operating system with many advanced features that fills a lot of the same rolls as Linux, but is developed with quite different philosophical underpinnings. In this episode we explain what FreeBSD is, why some companies choose to use it instead of Linux, and expose some of the common consumer devices that you may not be aware run code derived from it.
Show Notes
Episode 32: What is Unix?
Episode 19: What is Linux?
Episode 12: Open Source Software
FreeBSD Website
FreeBSD Journal 30th Anniversary Special Edition
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.liveRead transcript

Jun 26, 2023 • 13min
#119 Myths About Open Source Software
There are many misconceptions about open source software, even amongst those who think they understand it. In this episode we dispel five of the most common myths about open source software:
Open Source Software is non-commercial
Open Source Software is insecure
Open Source Software is the same as public domain software
Any piece of software that has its source code available is open source
Open Source Software is the same as Free Software
Show Notes
Episode 12: Open Source Software
Episode 68: Open Source Business Models
Episode 107: Free Software vs. Open Source Software
Linus's Law via Wikipedia
Why Open Source Misses the Point of Free Software by Richard Stallman via GNU Project
The Free Software Definition via Wikipedia
The Open Source Definition via Open Source Initiative
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.liveRead transcript

Jun 12, 2023 • 21min
#118 Five ChatGPT Myths
ChatGPT and other tools based on large language models (LLMs) have taken the software world by storm. While their capabilities are incredible, they have also sparked a lot of fear, doubt, and hyperbole. In this episode we dispel five myths about ChatGPT and similar tools: 1. That they represent human-level intelligence 2. That they will cause widespread permanent unemployment 3. That they're accurate 4. That they can create original thought on a par with the best humans and 5. That they came out of nowhere.
Show Notes
What Is ChatGPT Doing … and Why Does It Work? by Stephen Wolfram
AI And The Limits Of Language by Jacob Browning and Yann LeCun
Episode 13: Artificial Intelligence
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.liveRead transcript