
129 episodes

Kopec Explains Software David Kopec, Rebecca Kopec
-
- Education
-
-
5.0 • 25 Ratings
-
Every other week we make a software-related technical topic 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.
-
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.live
Read transcript -
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.live
Read transcript -
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.live
Read transcript -
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.live
Read transcript -
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.live
Read transcript -
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.live
Read transcript
Customer Reviews
Makes challenging topics understandable
I am so grateful for this podcast! I unexpectedly ended up in a job where I needed a working knowledge of a lot of internet and computer technology, of which I had basically none. This has really helped me get up to speed in a way I think few other resources could.
great pod :D
really enjoying the pod! undergrad psych:human factors major and found the episode on HCI really useful!
Best Software Concepts / History Podcast Around
This podcast alone segued me into a greater understanding of the software industry. David is an amazing teacher that explains concepts in a way anyone can understand and his love of the topic matter comes through. I listened to every episode, learned a ton, and now am on my way to becoming an iOS developer. Couldn’t recommend the Kopec Explains podcast more!