129 episodes

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.

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?

    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

    • 12 min
    What is a Cache?

    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

    • 12 min
    What is a Hash Table?

    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

    • 19 min
    Open Source Licenses

    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

    • 23 min
    Shareware with Richard Moss

    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

    • 44 min
    Classic Episode: What is a Byte? (Remastered)

    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

    • 20 min

Customer Reviews

5.0 out of 5
25 Ratings

25 Ratings

Sashbogosh ,

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.

mixseadragon ,

great pod :D

really enjoying the pod! undergrad psych:human factors major and found the episode on HCI really useful!

Stevenapk ,

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!

Top Podcasts In Education

Mel Robbins
Three Percent Chance
Dr. Jordan B. Peterson
The Atlantic
TED
Lauryn Bosstick & Michael Bosstick / Dear Media

You Might Also Like

Adam Gordon Bell - Software Developer
Changelog Media
Jonathan Cutrell
NPR
David Senra
iHeartPodcasts