
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

Aug 22, 2022 • 22min
#99 Android App Development
Android is the most popular operating system in the world, but developing apps for it can feel intimidating. In this episode we breakdown the Android development ecosystem—including the programming languages, frameworks, testing environments, and more. We approach the episode from the perspective of someone new to learning Android app development, but we also compare and contrast Android development with iOS development.
Show Notes
Episode 44: Google v. Oracle
Android Programming: The Big Nerd Ranch Guide via Amazon
Episode 4: iOS vs. Android
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live

Aug 8, 2022 • 13min
#98 How Does Apple Make Money?
It has long been debated whether Apple is more of a hardware company or more of a software company. In its quarterly reports it does not delineate between the two. Instead, it breaks its revenue into four big product categories and services. It cannot be pigeon-holed—it is a fusion of hardware, software, and services. Growth in services, in particular, has been a major focus of the company for the past decade and now accounts for almost a quarter of its revenue. In this episode we get into the details of Apple's latest quarterly report and its long term strategy.
Show Notes
Episode 78: How Does Amazon Make Money?
Episode 71: How Does Facebook Make Money?
Episode 4: iOS vs. Android
Apple Investor Reports
Apple announces $83B fiscal third quarter
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live

Jul 25, 2022 • 17min
#97 What Are APIs?
An Application Programming Interface (API) is a specification for how a piece of software provides functionality to other pieces of software. APIs can broadly be categorized into two categories: local and remote. Local APIs are provided by libraries from the operating system vendor or third parties. Remote APIs are specifications for how software on one computer can provide functionality to software on another computer, typically across the Internet. Today, remote APIs are almost all web services provided over HTTPS and encoded in JSON or XML. Modern software is not built from scratch—it is layered atop other software that has its functionality exposed through APIs.
Show Notes
Episode 6: How does the Web Work?
Episode 36: What is XML?
Episode 44: Google v. Oracle
Wine 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

Jul 11, 2022 • 14min
#96 What is a BIOS?
A BIOS (Basic Input/Output System) is a piece of firmware on a PC that sits between the hardware and the operating system. It takes care of some essential functions like hardware startup tests, power management, boot device order, and control of microprocessor support chips. The original firmware on IBM PCs and PC compatibles was called the "BIOS", but most PCs manufactured in the last decade use a newer standard known as UEFI for their firmware. However, the term BIOS is still used generically to refer to UEFI compatible firmware, so in this episode we discuss PC firmware more generally than any specific BIOS. We discuss what a BIOS does and why a user may want to enter its setup mode to configure it.
Show Notes
Episode 2: What is an Operating System?
Episode 65: What is a Device Driver?
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live

Jun 27, 2022 • 33min
#95 DataOps, Data Pipelines, and Estuary Flow with Johnny Graettinger
The world of data stores has become complex and fragmented. Companies find their data spread across a variety of sources with no obvious way to integrate it. Estuary is a startup that is taming that complexity by making it easier to create real-time data pipelines. In this episode we speak with Johnny Graettinger, the co-founder of Estuary, about data fragmentation, DataOps, data pipelines, and their product, Flow.
Show Notes
Estuary
Estuary on Twitter
Estuary on GitHub
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live

Jun 13, 2022 • 17min
#94 Software Piracy
There is a constant battle between software publishers and pirates who find ways to redistribute proprietary software in violation of its license. In this episode we explain how copyright law protects proprietary software, the mechanisms publishers employ to reduce piracy including forms of DRM, and the means pirates use to distribute software. We also have a philosophical discussion about whether software piracy is wrong.
Show Notes
Hot Property: The Stealing of Ideas in an Age of Globalization by Pat Choate via Amazon
Free Software, Free Society by Richard Stallman via Free Software Foundation
Don't Copy That Floppy via YouTube
Episode 12: Open Source Software
Episode 26: Napster
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live

May 30, 2022 • 13min
#93 Phone Location Tracking
Your phone includes multiple technologies for tracking your location. Your location can be triangulated via signals to cell towers, precisely pinpointed using its GPS chip and a connection to a satellite, and approximated using WiFi signals and a big database of WiFi base station locations. In addition, an Indoor Positioning System like iBeacon can be used to track your phone inside a building. In this episode we explain the tradeoffs between these various methods and how they're typically used.
Show Notes
Episode 4: iOS vs. Android
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live

May 16, 2022 • 15min
#92 Python
Exploring the reasons behind Python's popularity, including its history, multi-paradigm nature, and extensive standard library. Discussing Python's beautiful syntax, use of white space, and rich library ecosystem. Addressing the performance challenges, critiquing Python's dynamic nature, and highlighting its dominance in data science and scientific computing.

May 2, 2022 • 10min
#91 PayPal's Early Innovations
Today we know PayPal as a financial powerhouse. But when it was a young company, it had to innovate to survive. PayPal was the result of the merger of two startups—Confinity and X.com. Confinity was trying to be a digital payments solution for Palm Pilots, while X.com was an early online bank. PayPal first found success as a conduit for eBay payments. But perhaps PayPal's greatest innovations were in the area of fraud prevention. PayPal was a pioneer of bank account verification, CAPTCHAs, and using machine learning techniques on big data.
Show Notes
The Founders: The Story of PayPal and the Entrepreneurs Who Shaped Silicon Valley by Jimmy Soni via Amazon
CAPTCHA via Wikipedia
Random Forest 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

Apr 18, 2022 • 17min
#90 Binary Search
Binary search is an algorithm for finding an item in a sorted data set. It requires that all of the items in the data set be of the same data type and comparable to one another. In other words, the data type needs to have a defined "order." Binary search is orders of magnitude more efficient than its chief alternative, linear search, which is just an in-order search of every item in a data set. Binary search works by continuously reducing the search space by half. A binary search can find an item in a data set in a maximum of log(number of items in the data set) operations where log is base 2. We explain this simple but efficient fundamental computer science algorithm and the downside of requiring that a data set be sorted.
Show Notes
Episode 62: What is an Algorithm?
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live