Each 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.
#134 The CrowdStrike Incident
On July 19th, 2024, the cybersecurity firm CrowdStrike released an update for its Falcon Sensor software that brought down millions of Windows computers around the world. Some of these computers were involved in critical infrastructure like airlines, hospitals, and governments. Falcon Sensor, which hooks into the Windows kernel, was certified by Microsoft and cryptographically signed. The update triggered a classic (and common) bug reading past the end of an array. It not only crashed Windows, but didn't even allow it to complete its boot process. In this episode we explain what the bug was and why CrowdStrike did not catch it before it had the opportunity to bring down millions of machines.
Show Notes
Classic Episode: What is an Operating System?
CrowdStrike's Report on the Incident
Follow us on X @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.liveRead transcript
8/12/2024 • 15 minutes, 47 seconds
#133 Ad Blockers
Approximately one in four consumers uses an ad blocker. But do they stop to consider whether that is actually a good thing for them? In this episode, we briefly touch on the technical aspects of ad blockers before having a larger discussion around the ethical and economic considerations of ad blocking technology.
Show Notes
Episode 6: How Does the Web Work?
Episode 82: What Are Cookies?
Ad Blocking - academic article mentioned in episode
Follow us on X @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.liveRead transcript
7/21/2024 • 15 minutes, 45 seconds
#132 What is Machine Learning?
Machine Learning is a discipline within the broader field of Artificial Intelligence concerned with using insights from datasets to make predictions, classify new data points, and generate content. The algorithms used vary greatly in complexity and the real world applications that they are applicable to. Instead of concentrating on any particular algorithm, in this episode we aim to provide a broad understanding of machine learning and what it is used for. We also discuss bias in datasets and some common misconceptions.
You may want to listen to our prior episode on Artificial Intelligence before diving into this episode.
Show Notes
Episode 13: Artificial Intelligence
Episode 103: Expert Systems: A Forgotten Area of AI
The Classic Computer Science Problems Book Series by David
The Hundred-Page Machine Learning Book by Andriy Burkov
Follow us on X @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.liveRead transcript
6/2/2024 • 22 minutes, 29 seconds
#131 Abandonware
Abandonware is old software that is no longer commercially available. It's not a legal term, and in fact it's not legal to download most of the software that is termed "abandonware." In this episode we explain what abandonware is, the different legal situations that old software finds itself in, and we discuss whether or not downloading abandonware is ethical.
Show Notes
Episode 10: What is an Emulator?
Episode 26: Napster
Follow us on X @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.liveRead transcript
4/19/2024 • 19 minutes, 52 seconds
#130 Grace Hopper
Grace Hopper is one of the most iconic people in the world of software. Her career as a mathematician, software innovator, computer science advocate, programmer, and technical leader spanned the early era of computing through to the 1990s. One of the first notable computer programmers, Hopper developed the first programming text book, one of the first compilers, and perhaps most importantly she was the visionary who ideated and developed the first programming language with an English-like syntax. That programming language, FLOW-MATIC, was instrumental in the later development of COBOL, which she advised. COBOL is still used to this day. Her contributions were immense and her legacy has been honored by multiple national awards and the naming of the largest conference for women in software.
Show Notes
Harvard IBM Mark I - Manual via Harvard
The Queen of Code via YouTube
Grace Hopper: The Math Genius who Taught Computers to Talk via Fierce
Grace Hopper: Full lecture at the University of Tennessee, 1983 via YouTube
Grace Hopper via Wikipedia
FLOW-MATIC via Wikipedia
Episode 11: What is a Programming Language?
Episode 87: Compilers and Interpreters
Episode 129: BASIC
Follow us on X @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.liveRead transcript
3/18/2024 • 19 minutes, 37 seconds
#129 BASIC
The creation of BASIC was one of the most important steps in the democratization of computing. BASIC, coupled with the Dartmouth Time Sharing System, was developed by math professors John Kemeny and Thomas Kurtz along with a team of undergraduate students at Dartmouth College in 1964. They revolutionized who could use and access a computer. In the 1970s BASIC became the defacto standard interface to early personal computers. In this episode we contextualize BASIC, tell its story in broad strokes, and explain why it was so successful.
Show Notes
Birth of BASIC Documentary by Dartmouth College via YouTube
BASIC at 50 Website via Dartmouth College
First BASIC Instruction Manual via Dartmouth College
BASIC via Wikipedia
Dartmouth Time Sharing System via Wikipedia
Episode 16: The Personal Computer Revolution
Episode 11: What is a Programming Language?
Follow us on X @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.liveRead transcript
2/1/2024 • 18 minutes, 32 seconds
#128 Copyright & Machine Learning Models
Many large sophisticated machine learning models, like those employed in generative AI, are trained on immense amounts of copyrighted images or text. How is that legal? In this episode we delve into the exceptions to copyright law that enable such uses to not be seen by courts as infringement. This includes expressive vs functional uses of a copyrighted work, fair use, and the possibility of a data mining safe harbor law. We also discuss whether such interpretations are to the benefit or detriment of society as a whole.
A note: as mentioned in the episode, we are not lawyers, and this episode should not be considered legal advice. It is just a discussion of the issue based on our somewhat limited understanding of the legal arguments and expanded to consider the societal implications. Also as mentioned in the episode, we based much of our understanding on the article "Does Training AI Violate Copyright Law?" by Jenny Quang which is linked below in the show notes.
Show Notes
Does Training AI Violate Copyright Law? by Jenny Quang via Berkeley Technology Law Journal
Follow us on X @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.liveRead transcript
12/11/2023 • 19 minutes, 2 seconds
#127 The Google Search Antitrust Lawsuit
In 2020 the Trump administration and eleven state attorney generals initiated an antitrust lawsuit against Google for its alleged anti-competitive behaviors in the search engine market. Last month, the lawsuit went to trial. In this episode we explain what a monopoly is, the government's antitrust allegations, and weigh-in on whether we agree that Google has abused its monopoly position. We also provide some critical background information necessary to better understand the lawsuit. It's worth nothing that Google is in the midst of several other antitrust lawsuits, including one recently initiated by the Biden administration related to the ads market. In this episode we exclusively concentrate on the search engine lawsuit.
Show Notes
Justice Department Sues Monopolist Google For Violating Antitrust Laws via Justice Department
So what exactly is Google accused of? via The Harvard Gazette
Episode 126: How Does Google Make Money?
Episode 98: How Does Apple Make Money?
Episode 108: How Does Mozilla Make Money?
Follow us on X @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.liveRead transcript
11/13/2023 • 17 minutes, 23 seconds
#126 How Does Google Make Money?
Alphabet, the parent company of Google, is one of the largest companies in the world by market capitalization. But where does all of the revenue come from to support that? In this episode we analyze Alphabet's third quarter earnings report and earnings call. We delve into the different categories of revenue, how they breakdown as a percentage, what they mean, and some other interesting details that we noticed. By the end of the episode you will have a solid understanding of what's driving Google's revenue and growth.
Show Notes
Alphabet's Investor Website (including earnings reports)
Episode 71: How Does Facebook Make Money?
Episode 78: How Does Amazon Make Money?
Episode 98: How Does Apple Make Money?
Episode 108: How Does Mozilla Make Money?
Follow us on X @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.liveRead transcript
10/30/2023 • 16 minutes, 9 seconds
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
10/16/2023 • 36 minutes, 44 seconds
#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
10/2/2023 • 12 minutes, 12 seconds
#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
9/19/2023 • 12 minutes, 11 seconds
#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
9/4/2023 • 19 minutes, 58 seconds
#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
8/21/2023 • 23 minutes, 38 seconds
#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
8/7/2023 • 44 minutes, 9 seconds
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
7/24/2023 • 20 minutes, 53 seconds
#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
7/11/2023 • 16 minutes, 32 seconds
#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
6/26/2023 • 12 minutes, 57 seconds
#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
6/12/2023 • 21 minutes, 26 seconds
#117 Early Video Game Console Software
Early video game consoles (1977-1994) had primitive hardware, no operating systems, and software that was distributed on ROM chips embedded in plastic cartridges. Yet, some of the most iconic gaming software of all time was developed on these systems. What programming language did they use? How did they work without a graphics library and operating system? We use the Nintendo Entertainment System (NES) as a lens to discuss early video game console software in this episode.
Show Notes
Episode 10: What is an Emulator?
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
5/29/2023 • 13 minutes, 49 seconds
Classic Episode: What is an Operating System? (Remastered)
We're travelling this week, so we remastered a classic episode from 2020. It's our second episode—operating systems explained for laypeople. Checkout the show notes below for other classic episodes about operating systems. Original description:
This week we discuss the most essential layer of a computer’s software, the operating system. We describe what an operating system is. We denote the differences between popular operating systems. The varying operating system business models are described. And we talk about why operating systems are important.
Show Notes
Episode 4: iOS vs. Android
Episode 19: What is Linux?
Episode 32: What is Unix?
Episode 38: The History of macOS
Episode 42: What was DOS?
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
5/15/2023 • 29 minutes, 45 seconds
#116 The Smallest Possible Programming Language
Read transcript
How small can a programming language be and still be a programming language? In order for a programming language to be able to compute the same sorts of problems as any other language it must be Turing-complete. Amazingly, there is a programming language that has just eight commands, represented by eight single symbols, that is Turing-complete. In this episode we describe what it means to be Turing-complete and how this tiny language does it.
Show Notes
Episode 11: What is a Programming Language?
Brainf... via Wikipedia
Programming Languages: Principles and Paradigms by Allen Tucker and Robert Noonan via Amazon
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
5/1/2023 • 11 minutes, 46 seconds
#115 Why Do Strong Passwords Matter?
Read transcript
Strong passwords are so annoying to type-in and they're even more annoying to remember. Yet just about every modern website and app requires them. Why do we need special characters and numbers and different cases in every password we make? In this episode we explain how passwords are stored, and why a weak password stored securely is still a weak password.
Show Notes
Episode 17: What Is Encryption?
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
4/17/2023 • 11 minutes, 21 seconds
#114 What is an Instruction Set Architecture?
An instruction set architecture (ISA) is a specification of the instructions that a microprocessor understands as well as the infrastructure necessary to support those instructions including registers and a way to communicate with memory. Each microprocessor that implements an ISA may differ in the specifics of its circuitry. But all of the microprocessors that support the same ISA can execute the same machine code. Therefore machine code is specific to a single ISA and two microprocessors that implement different ISAs are incompatible with one another. Today, the two most common ISA families are X86 and ARM. In this episode we discuss what an ISA is, how they come into play for users and programmers, and the current ISA landscape.
Show Notes
Episode 3: What is a Byte?
Episode 23: The Mac's Instruction Set Architecture Transitions
Episode 63: Intel's Current Challenges
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
4/3/2023 • 19 minutes, 58 seconds
#113 The Go Programming Language
Go, a Google-backed programming language, is by some measures one of the ten most popular programming languages in the world. Although it's a general purpose language, it's also an opinionated one. The team of veteran language designers, highly influenced by C and disenchanted with C++, felt it was important to keep things simple. Since its launch in 2009, the language has not changed much. Its simple syntax and strong concurrency primitives have helped it become a significant player in the world of server-side web development and network infrastructure. We discuss the characteristics of Go and its niche.
Show Notes
Episode 11: What is a Programming Language?
Episode 35: The C Programming Language
Episode 47: The C++ Programming Language
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
3/20/2023 • 21 minutes, 12 seconds
#112 Functional Programming
Read transcript
Functional programming languages fit within a declarative paradigm and often have several key characteristics in common: immutable data types, pure functions, a distaste for global state, a preference for recursion over loops, first-class functions, and the liberal use of higher-order functions. We explain what these characteristics mean, why functional programming has been increasingly popular, and how it has influenced mainstream popular programming languages to incorporate some of its ideas. In this episode, we assume you have a working knowledge of at least one programming language. This might be one to skip for the non-programmers.
Show Notes
Episode 11: What is a Programming Language?
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
3/6/2023 • 22 minutes, 10 seconds
#111 The Apple Lisa
Read transcript
Last month marked the 40th anniversary of the Apple Lisa. The Lisa was an important evolutionary link in the history of the personal computer between the innovations at Xerox's PARC laboratory where the graphical user interface (GUI) was first conceived, and the modern GUIs that we are familiar with today. Released in 1983, the Lisa predated the Macintosh by a year and Windows by almost three years. Yet, the Lisa was a commercial failure. In this episode we discuss the Lisa's features, the reasons for its failure, and its legacy today.
Show Notes
Episode 16: The Personal Computer Revolution
Episode 21: How have UIs Evolved?
CHM Live Happy 40th Birthday Lisa! via YouTube
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
2/20/2023 • 12 minutes, 59 seconds
Classic Episode: What Is Software? (Remastered)
We're out sick this week, so we remastered our first ever episode. It's a little more general in scope than what we typically cover on the podcast, but we think it still holds up. We'll see you in two weeks!
We define software. What is software? How is it different than hardware? What is the language of software? What are the different kinds of software? Who makes software? How do they make it?
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
2/6/2023 • 32 minutes, 4 seconds
#110 What Is Mastodon?
Read transcript
Mastodon is a social network currently attracting significant buzz in the tech world. A lot of its new users are part of an exodus from Twitter. But how does Mastodon differ from Twitter? It's open source, run by a non-profit, and uses a federated model. We explain why this matters and some of its downsides in this episode.
Show Notes
Mastodon
Mastodon on Wikipedia
Most popular social networks worldwide as of January 2022 via statista
Episode 71: How Does Facebook Make Money?
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
1/23/2023 • 11 minutes, 32 seconds
#109 How Is Memory Managed by Programmers?
Different programming languages employ different memory management techniques. The most common are manual memory management, tracing garbage collectors, and reference counting. For the programmer, each of these techniques requires different levels of bookkeeping and causes a different trade-off between safety and performance. In this episode, we explain each of these memory management techniques and why a programmer may pick one over another.
Show Notes
Episode 35: The C Programming Language
Episode 55: What is Java?
Episode 69: The Objective-C Programming Language
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
1/9/2023 • 13 minutes, 2 seconds
#108 How Does Mozilla Make Money?
Mozilla is the entity that makes the Firefox web browser. It has an interesting corporate structure. The non-profit Mozilla Foundation has a for-profit subsidiary that does Firefox development. Much of Mozilla's revenue comes from an agreement with Google to be the default search engine within Firefox. In this episode we explore this arrangement and the scale of Google's payment with regards to the rest of Mozilla's finances.
Show Notes
Episode 24: The Browser Wars
Mozilla Foundation and Subsidiaries: Independent Auditors' Report and Consolidated Financial Statements via Mozilla
Firefox Money: Investigating the bizarre finances of Mozilla via The Lunduke Journal of Technology
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
12/26/2022 • 9 minutes, 42 seconds
#107 Free Software vs. Open Source Software
In the late 1990s, the open source software movement split from the free software movement. A rebranding, the open source movement has a less philosophical, or some may say moral, focus than the free software movement. Despite this, 99.9% of open source software is also free software according to their respective official definitions. In this episode we discuss the differences between the free software movement and the open source software movement.
Show Notes
Episode 12: Open Source Software
What is Free Software? via GNU
The Open Source Definition via OSI
Why Open Source Misses the Point of Free Software by Richard Stallman via GNU
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
12/12/2022 • 13 minutes, 31 seconds
#106 Cross-Platform Mobile Frameworks
Cross-platform mobile frameworks enable developers to write an app once and recompile it for both iOS and Android. This can reduce development costs, but there are some downsides. In this episode we discuss the differences between major cross-platform mobile frameworks and weigh their pros and cons.
Show Notes
Episode 104: Web Apps vs. Native Apps
Episode 99: Android App Development
Episode 9: What Does it Take to Make an App?
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
11/28/2022 • 16 minutes, 36 seconds
#105 The 2038 Problem
On January 19, 2038, certain non-updated legacy systems that use Unix time will roll their dates around to December 13, 1901. In Unix, time is recorded as the number of seconds since January 1, 1970. Because a signed 32-bit integer is used to record this value on many legacy systems, they will run out of seconds in 2038 (a signed 32-bit integer can record numbers up to 2,147,483,647, and that's the number of seconds between January 1 1970 at 12:00:00 AM and January 19, 2038 at 3:14:07 AM). Many legacy operating systems, programming languages, and databases that use signed 32-bit integers to record Unix time are still in use in non-updated embedded systems. In this episode we explain the problem and its potential implications.
Show Notes
Episode 45: Two Software Disasters
Episode 32: What is Unix?
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
11/14/2022 • 8 minutes, 44 seconds
#104 Web Apps vs. Native Apps
When planning the development of a new app, one of the most basic questions to answer is whether to develop it as a Web app or as a native app. In this episode we delineate some of the pros and cons of each approach, including cost, accessibility, performance, capabilities, and more. We also discuss some alternatives like hybrid apps and cross-platform frameworks.
Show Notes
Episode 4: iOS vs. Android
Episode 6: How does the Web work?
Episode 59: What is HTML and CSS?
Episode 60: What is JavaScript?
Episode 99: Android App Development
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0Episode Notes
Notes go here
Find out more at http://kopec.live
10/31/2022 • 21 minutes, 31 seconds
#103 Expert Systems: A Forgotten Area of AI
Expert systems are a sub-discipline within artificial intelligence concerned with creating problem solving programs based on machine-encoded human domain expertise. An expert system typically consists of a knowledge base, consisting of human-defined rules, and an inference engine that can run a problem through the rules. Expert systems were a very popular and successful area of AI research in the 1970s and 1980s, but fell out of favor in the 1990s during the so-called "AI winter." Today, most of the excitement in AI is around machine learning based systems, but expert systems still have a place thanks to their ability to explain their conclusions.
Show Notes
Episode 13: Artificial Intelligence
Artificial Intelligence in the 21st Century via Amazon
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
10/17/2022 • 17 minutes, 40 seconds
#102 PDF
The PDF (Portable Document Format) file format has become ubiquitous in the computing world. PDF is a super format that can embed vector graphics, advanced typography, bitmap graphics, multiple compression technologies, fonts, encryption, interactive elements, and more. It is primarily used for creating documents that display exactly as they looked at creation on any machine. They are great for producing perfectly formatted documents for sharing, or for sending to a professional printer. Print shops often request "photo ready" documents be provided in PDF format.
Show Notes
Episode 20: How dod Digital Images Work?
PDF 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
10/3/2022 • 13 minutes, 21 seconds
#101 Accessibility
It is important to make software that is usable by all people, and that includes users with physical or mental challenges. Accessibility is about removing barriers, so that software can be used by everyone. In this episode we give a brief overview of accessibility in software. We emphasize the role that common sense good design plays, and explain how accessibility-aware developers can tap into operating system frameworks to make their software compatible with built-in device accessibility features. We provide specific simple examples to highlight how developers can plugin to OS-level frameworks, but do not provide a comprehensive list of all of the different kinds of accessibility.
Show Notes
Apple Human Interface Guidelines: Inclusion
Google Material Design: Accessibility
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
9/19/2022 • 13 minutes, 14 seconds
#100 Early Web Innovations
When it was released, the World Wide Web revolutionized communications and commerce. It was created by Tim Berners-Lee, who outlined its key technical achievements, philosophy, and insights in his 2000 book Weaving the Web. In this episode, we go over three of the key innovations explained in the book: networked hypertext, the URI, and decentralization. We also discuss one innovation that did not quite make it—a browser that was also an editor.
For this episode, we assume listeners already heard our earlier episode on how the Web works.
Show Notes
Episode 6: How does the Web work?
Episode 5: How does the Internet work?
Episode 24: The Browser Wars
Weaving the Web: The Original Design and Ultimate Destiny of the World Wide Web by Tim Berners-Lee via Amazon
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
9/5/2022 • 12 minutes, 58 seconds
#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
8/22/2022 • 21 minutes, 40 seconds
#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
8/8/2022 • 12 minutes, 59 seconds
#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
7/25/2022 • 17 minutes, 25 seconds
#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
7/11/2022 • 14 minutes, 11 seconds
#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
6/27/2022 • 33 minutes, 22 seconds
#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
6/13/2022 • 16 minutes, 49 seconds
#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
5/30/2022 • 12 minutes, 30 seconds
#92 Python
By several measures, including a 2021 survey by IEEE, Python is the most popular programming language in the world. But why? What's special about it? In this episode we'll go over Python's history, key technical aspects of the language, and the niches within software development that it dominates. We also discuss some problems in the Python world.
Show Notes
Episode 11: What is a Programming Language?
Episode 87: Compilers and Interpreters
Episode 35: The C Programming Language
Top Programming Languages 2021 via IEEE
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
5/16/2022 • 15 minutes, 11 seconds
#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
5/2/2022 • 10 minutes, 24 seconds
#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
4/18/2022 • 17 minutes, 2 seconds
#89 Multi-Touch
Every modern smartphone and tablet uses a multi-touch user interface. Multi-touch is a relatively recent phenomenon. While the earliest research into multi-touch took place in the 1960s and 1970s, it wasn't until Wayne Westerman and Fingerworks in the early '00s that the first modern multi-touch device was created. And it took the iPhone in 2007 to make it mainstream. In this episode we explain where the technology for multi-touch came from and how it has changed the design of software.
Show Notes
Episode 21: How Have UIs Evolved?
Episode 88: Human-Computer Interaction
The One Device: The Secret History of the iPhone via Amazon
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
4/4/2022 • 13 minutes, 23 seconds
#88 Human-Computer Interaction
Human-Computer Interaction is a discipline at the intersection of computer science, psychology, and design. It's about making ergonomic interfaces that sit at the border between the human and the machine. In this episode we explain the field's history, what research in it entails, and its place alongside other disciplines. By the end of the episode you'll gain a general understanding of what HCI is.
Show Notes
Episode 21: How Have UIs Evolved?
Human-Computer Interaction: An Empirical Research Perspective by I. Scott MacKenzie via Amazon
The Design of Everyday Things by Don Norman via Amazon
Simple and Usable by Giles Colborne via Amazon
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
3/21/2022 • 19 minutes, 30 seconds
#87 Compilers and Interpreters
A compiler is a program that takes source code written in a programming language and converts it into machine code that a microprocessor can understand. Compilers are sophisticated programs composed of several different phases including (but not limited to) tokenization, parsing, and machine code generation. In this episode we breakdown why compilers are important, how they work, and how they differ from interpreters. We also explain tangential topics like just-in-time compilers and transpilers. Ultimately compilers and interpreters often have to deal with several trade offs. After listening to this episode, you will better understand those tradeoffs and why one compiler will differ from another.
Show Notes
Episode 35: The C Programming Language
Crafting Interpreters via Amazon
The Dragon Book via Amazon
Ukraine Humanitarian Organizations via Readdle
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
3/7/2022 • 25 minutes, 10 seconds
#86 Tim Howes
Tim Howes is a software executive, entrepreneur, investor, and computer scientist who has been at the forefront of many of the most important waves in the technology industry since the 1990s. During his PhD work in computer science, Howes co-created the Lightweight Directory Access Protocol (LDAP), which has become the industry standard means of managing directory information services. In the late 1990s he worked at Netscape on the server side of their business. After Netscape was acquired by AOL, he joined Marc Andreessen and Ben Horowitz in founding Loudcloud, one of the first companies to sell cloud services, predating Amazon Web Services by nearly a decade. Loudcloud would transform into Opsware and be purchased by HP in a successful exit. Later in his career, Howes would co-found Rockmelt, the developer of an innovative web browser, which was later purchased by Yahoo. Howes has held engineering management and technology leadership positions at HP, Yahoo, AOL, and Facebook. He now does angel investing and advises early stage technology companies.
In this episode, I interviewed Tim about his career and his advice for people just starting their journeys in the industry. The interview was recorded in-person on February 12, 2022 in my office at Champlain College. Champlain has a mask-mandate, so apologies about how my voice sounded a little muffled.
Show Notes
Tim Howes on Twitter
Tim Howes on LinkedIn
Tim Howes via Wikipedia
Loudcloud/Opsware 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
2/21/2022 • 42 minutes, 56 seconds
#85 The End-to-End Encryption Debate
Are your messages secure? End-to-end encryption protects messages and data from being viewed by anyone but their intended recipients. However, systems that implement end-to-end encryption also prevent law enforcement from intercepting the messages of criminals. In this episode we explain end-to-end encryption and the debate surrounding it as the UK government works to prevent its implementation on Facebook. We suggest first listening to our previous episode on encryption (linked below) if you are not familiar with encryption as a concept.
Show Notes
Episode 17: What Is Encryption?
The UK Government is reportedly preparing a PR blitz against end-to-end encryption via Engadget
Microsoft handed the NSA access to encrypted messages via The Guardian
Messenger’s end-to-end encrypted chats and calls are available to everyone via The Verge
FBI–Apple encryption dispute via Wikipedia
Episode 12: Open Source Software
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
2/7/2022 • 20 minutes, 50 seconds
#84 What Is Blockchain?
Blockchain may be one of the biggest tech buzzwords of the decade. But it's not as complicated as you may fear. Pieces of data, blocks, that follow one another chronologically are connected (the chain part) via cryptographic hashes. Each block has a cryptographic hash of the previous block, providing the ability to verify the validity of the chain. We explain the only tricky part of that description, the cryptographic hash function, and also explain why blockchain is only part of the underlying technology of bitcoin. Finally, we consider other applications of blockchain technology.
Show Notes
Episode 17: What Is Encryption?
Episode 57: Version Control Systems, Git, and GitHub
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
1/24/2022 • 0
#83 Why Was the iPhone's Software Revolutionary?
When the iPhone came out in 2007, it totally transformed the mobile industry. But what was so revolutionary about the software in even its first version? For the 15th anniversary of the announcement of the iPhone we talk about the three aspects of the original iPhone's software that set it apart from the smartphones that came before it: its robust operating system, its multi-touch user interface, and the App Store, which arrived 1 year later. We note that it wasn't necessarily the first in all of these categories, but explain why it was the most significant.
Show Notes
Episode 38: The History of macOS
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
1/10/2022 • 10 minutes, 18 seconds
#82 What Are Cookies?
Cookies are primarily used on the Web for two things: authentication and tracking. Although alternatives exist, cookies are the most popular way to provide some state for the stateless HTTP protocol. In this episode we explain what cookies are, how they work, the origin of cookies, applications of cookies, which browsers block "bad" cookies to protect your privacy, first-party versus third-party cookies, and why you need to click those popups about cookies on almost every website you visit.
Show Notes
Episode 6: How Does the Web Work?
Episode 24: The Browser Wars
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
1/3/2022 • 17 minutes, 46 seconds
#81 Is Software Getting Faster?
Software runs on hardware. And of course, hardware has gotten faster over the past few decades by orders of magnitude. So, clearly our software is getting faster. But what do we mean by faster? And why doesn't it always "feel" like it's getting faster? In this episode we explore the underlying factors that sometimes make modern software feel slower, despite actually being faster.
Show Notes
Computer latency: 1977-2017 via Dan Luu
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
12/27/2021 • 14 minutes, 15 seconds
#80 Logging and the Log4J Vulnerability
Almost every large piece of software creates log files. Log files record events that happen during the execution of a program. These could be significant routine events or errors. Logs help software developers fix issues. Last week a significant vulnerability was discovered in Log4J, one of the most popular logging libraries. In this episode we explain logging and why the vulnerability was such a big deal.
Show Notes
Episode 12: Open Source Software
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
12/20/2021 • 14 minutes, 2 seconds
#79 The Logo Programming Language
Logo is an educational programming language that was popular in elementary school computing labs in the 1980s. A generation of programmers began their careers with Logo. Logo is based on turtle graphics, which is centered on commands that guide a virtual turtle cursor around the screen to draw lines. With just a couple very simple commands, learners can begin to draw pictures in code. In this episode we explain Logo's niche, and also talk about educational programming languages more generally.
Show Notes
Episode 43: The Lisp Programming Language
Episode 11: What is a Programming Language?
Logo via Wikipedia
SeaTurtle
Scratch
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
12/13/2021 • 12 minutes, 15 seconds
#78 How Does Amazon Make Money?
Amazon is the world's largest online retailer. But they are so much more. They sell cutting-edge consumer electronics like the Kindle and Echo lines, they provide services to ecommerce vendors, they provide consumer streaming services, they own physical stores, and most importantly for their bottom line, they run AWS, Amazon Web Services. In this episode we explain the importance of AWS to Amazon, look at the numbers from Amazon's most recent quarterly report, and discuss their historically low profit margins.
Show Notes
Episode 56: What is the Cloud?
Episode 71: How Does Facebook Make Money?
Amazon's Q3 2021 Quarterly Report Presentation
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
12/6/2021 • 11 minutes, 5 seconds
#77 What is a Memory Leak?
Memory leaks occur when a program allocates memory and fails to free it when the memory is no longer being used. They can cause the memory use of a program to balloon over time, eventually leading to performance problems or a crash. They are a common programmer error, that has been alleviated, although not eliminated, by modern programming languages. Programming languages like C and C++ use manual memory management, which requires the programmer to do some book-keeping. The programmer must keep track of all of the memory they allocated and must remember to free it. Programming languages with garbage collectors automatically free unused memory. In this episode we explain memory leaks and look at a recent case of a major memory leak in macOS Monterey as an example.
Show Notes
Episode 76: What is Protected Memory?
More memory leaks in Monterey 12.0.1
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
11/29/2021 • 11 minutes, 55 seconds
#76 What is Protected Memory?
Memory protection is a mechanism for protecting one program from another program, which ultimately protects the user. It stops malicious programs from interfering with legitimate programs, and it stops programmer errors in one program from taking down another. Every time you've been able to force quit a non-responsive application and then go on using your system with the rest of it unaffected you've been benefitting from protected memory. But personal computing operating systems didn't always have memory protection. In this episdoe we'll explain what protected memory is, its history in personal computers, and why you don't need to restart after you force quit an app.
Show Notes
Episode 40: What is the Memory Hierarchy?
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
11/22/2021 • 11 minutes, 3 seconds
#75 Why are Technical Interviews so Intimidating?
The application process for a job in software development or software engineering typically involves what's known as a "technical interview." Technical interviews are notorious for being intimidating and exclusionary of otherwise good candidates. Technical interviews may involve whiteboarding, live coding, brain teasers, or even take-home projects. In this episode we'll explain what these different kinds of technical interviews are like and why they induce so much fear. We'll also discuss the bias inherent in these interviews, their pros and cons versus the alternatives, and how to best prepare for them.
Show Notes
Episode 62: What is an Algorithm?
Episode 61: What is a Data Structure?
Episode 57: Version Control Systems, Git, and GitHub
HackerRank
LeetCode
Cracking the Coding Interview via Amazon
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
11/15/2021 • 14 minutes, 31 seconds
#74 Hackers (1995): Fact or Fiction?
Hackers is a cult classic 1995 movie about a group of teenage hackers and their counter culture. The plot revolves around an online battle between the teenagers and a nefarious corporate cyber security expert. In this episode we breakdown how technologically accurate the movie is. What was real, and what was pure fiction? We also review it.
Show Notes
Ghost in the Wires by Kevin Mitnick via Amazon
Hackers via Amazon Prime
Hackers 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
11/8/2021 • 15 minutes, 44 seconds
#73 The Swift Programming Language
Swift is one of the top ten most popular programming languages in the world by almost any ranking or measure. Yet, it's also a niche language. That seems contradictory, until you know that it's only widely used for building apps on Apple platforms. In this episode, we discuss the history of Swift, what makes it unique, and where it's been going.
Show Notes
Episode 11: What is a Programming Language?
Episode 35: The C Programming Language
Episode 69: The Objective-C Programming Language
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
11/1/2021 • 15 minutes, 56 seconds
#72 The Missouri Governor and Tech Illiterate Leadership
Last week a journalist in the St. Louis Post-Dispatch reported on a vulnerability they discovered in the Missouri Department of Elementary and Secondary Education's website that exposed the social security numbers of individual educators. The social security numbers were being exposed in the public facing HTML of the site, making them easily accessible to anyone with a web browser. The journalist disclosed the vulnerability to the state government before publishing the story so it could be fixed. However, the Missouri governor claimed that the journalist had hacked the government and announced that the journalist would be investigated by state police. In this episode we discuss the incident, explain why it was far from hacking, and talk about how it's another example of technologically illiterate leadership. We then broaden the case to include leaders at all levels of government and propose a solution.
Show Notes
Missouri teachers’ Social Security numbers at risk on state agency’s website via St. Louis Post-Dispatch
Episode 6: How does the Web work?
Episode 44: Google v. Oracle
Episode 59: What is HTML and CSS?
Episode 17: What is Encryption?
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
10/25/2021 • 13 minutes, 31 seconds
#71 How Does Facebook Make Money?
Facebook's been in the news again, and as usual it's not a positive story. In this episode we dive into some of Facebook's financial statistics from their most recent quarterly filing with the SEC. We then talk about their business model and how your use of Facebook plays into it. We discuss some of the inputs into Facebook's algorithm, and how the data points you generate for Facebook are used to target you with advertisements. Finally, we touch on the Facebook whistle-blower, whether Facebook should be regulated, and how Apple has hurt Facebook's revenue.
Show Notes
Episode 49: Apple vs Facebook on App Tracking
Facebook's Q1 2021 Filing with the SEC
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
10/18/2021 • 15 minutes, 55 seconds
#70 Steve Jobs Remembrance
Last week marked the tenth anniversary of the death of Steve Jobs. We discuss his legacy and how he inspired people in the tech industry. David also tells the personal story of his Steve Jobs fandom.
Show Notes
Episode 16: The Personal Computing Revolution
Episode 29: Why was the Original Macintosh Significant?
Books About Apple and Steve Jobs via David's Blog
Becoming Steve Jobs by Brent Schlender and Rick Tetzeli via Amazon
Steve Jobs by Walter Isaacson via Amazon
The Presentation Secrets of Steve Jobs by Carmine Gallo via Amazon
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
10/11/2021 • 21 minutes, 58 seconds
#69 The Objective-C Programming Language
Objective-C was developed nearly contemporaneously with C++, yet it never achieved the same widespread level of industry acceptance. Both languages attempted to add object-oriented features to the C language, but they went about doing it in very different ways. Objective-C is a superset of C, marrying a thin object-oriented layer inspired by Smalltalk on top of the venerable C language. Today, Objective-C use is largely limited to Apple platforms where it is being replaced by Swift. In this episode we will explain the history of Objective-C and how it compares to C++.
Show Notes
Episode 35: The C Programming Language
Episode 47: The C++ Programming Language
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
10/4/2021 • 14 minutes, 7 seconds
#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
9/27/2021 • 18 minutes, 19 seconds
#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
9/20/2021 • 19 minutes, 28 seconds
#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
9/13/2021 • 14 minutes, 48 seconds
#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
9/6/2021 • 14 minutes, 22 seconds
#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
8/30/2021 • 13 minutes, 4 seconds
#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
8/23/2021 • 15 minutes, 46 seconds
#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
8/16/2021 • 15 minutes, 15 seconds
#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
8/9/2021 • 20 minutes, 46 seconds
#60 What is JavaScript?
JavaScript is one of the most popular programming languages in the world for a simple reason: it's the only client-side programming language in every web browser. In this episode we'll discuss its purpose, history, and all of the places that it's used. We'll also get into why it is so heavily criticized.
Show Notes
Episode 59: What is HTML and CSS?
Episode 6: How does the Web work?
Episode 55: What is Java?
Episode 11: What is a Programming Language?
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
8/2/2021 • 14 minutes, 52 seconds
#59 What is HTML and CSS?
HTML, or Hypertext Markup Language, describes the content and structure of web pages. A web browser can also be thought of as an HTML document viewer. CSS, or Cascading Style Sheets, is a styling and layout description language that works hand-in-hand with HTML to define a web page's particular look. In this episode we provide a broad overview of both languages from 30,000 feet. If you have no knowledge of how the Web works, consider first checking out our previous episode "How Does the Web Work?"
Show Notes
Episode 6: How does the Web work?
Episode 5: How does the Internet work?
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
7/26/2021 • 13 minutes, 13 seconds
#58 GitHub Copilot's Controversies
GitHub recently launched its AI programming assistant, Copilot, in beta. Copilot can suggest lines of source code or even entire functions to the programmer for instant addition to their project. Copilot's machine learning algorithm was trained on millions of open source projects. This has led to many controversies around legal (copyright infringement), programmatic, and educational issues. In this episode we breakdown the controversies in this current events story.
Show Notes
Episode 57: Version Control Systems, Git, and GitHub
Episode 53: Developer Tools
Episode 13: Artificial Intelligence
Episode 12: Open Source Software
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
7/19/2021 • 13 minutes, 7 seconds
#57 Version Control Systems, Git, and GitHub
Version Control Systems make it possible for software developers to seamlessly work together on large projects. In this episode we explain how version control systems are used and how the different kinds of version control systems compare to one another. We pay special attention to the most popular version control system, Git, and the very popular open source "social network" GitHub.
Show Notes
Episode 53: Developer Tools
Episode 12: Open Source Software
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
7/12/2021 • 16 minutes, 5 seconds
#56 What is the Cloud?
The cloud is an amorphous term that at its heart refers to computation or storage resources that are remote, aka not on your device. What backs the modern cloud are large providers like Amazon Web Services, Microsoft Azure, and Google Cloud that provide on-demand dynamic access to resources that don't require application builders to worry about individual machines. Almost every application we used today connects to the cloud. We discuss what this really means, and why this is nothing new.
Show Notes
Episode 5: How does the Internet work?
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
7/5/2021 • 16 minutes, 20 seconds
#55 What is Java?
Java, the most popular programming language in the world, is also a platform. It enables software to be written once, compiled into platform-independent bytecode, and then run on any computing device with a Java Virtual Machine. We discuss why Java was created, what the Java Virtual Machine is, and what characteristics have made Java successful. We also dive into Java's most popular applications and its future.
Show Notes
Episode 11: What is a Programming Language?
Episode 44: Google v. Oracle
Episode 47: The C++ Programming Language
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
6/28/2021 • 13 minutes, 12 seconds
#54 What is Compression?
Compression is a classic trade-off between space and time. Compressed data uses less space than the original, but it takes computational time to compress and decompress the data. In this episode we discuss the purpose of compression, some basic ways that compression works, and some common applications of compression. We distinguish between lossy and lossless compression, and we talk about algorithmic techniques like run-length encoding and dictionary based compression.
Show Notes
Episode 51: What is Lossless Audio?
Episode 3: What is a Byte?
Episode 7: What is a Character Encoding?
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
6/21/2021 • 14 minutes, 47 seconds
#53 Developer Tools
You need programs to make programs. In this episode we discuss the tools programmers use to make the software you love. We discuss compilers, text editors, debuggers, profilers, documentation, integrated development environments, and more. By the end of the episode you'll have a good sense of how these myriad of components work together.
Show Notes
Episode 11: What is a Programming Language?
Episode 28: Learning to Code
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
6/14/2021 • 17 minutes, 43 seconds
#52 One-Year Anniversary
On our 1-year anniversary of the podcast we discuss our most popular episodes, our favorite episodes, and where we're going with the podcast moving forward. We also give you a bit of a sneak peek behind the scenes as we discuss how we get prepared for an episode. Don't forget to check out our back catalog, there's an episode for everyone. Thank you so much for listening and we'll see you next week!
Show Notes
Episode 24: The Browser Wars
Episode 11: What is a Programming Language?
Episode 12: Open Source Software
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
6/7/2021 • 14 minutes, 25 seconds
#51 What is Lossless Audio?
Lossless audio is coming to Apple Music and Spotify. But what is lossless audio? In this episode we explain the difference between lossy compression, like MP3 files, and the lossless formats that are coming to a streaming service near you. However, anytime we record signals from our analog world in a digital form we lose information. We talk about this dilemma and what lossless audio really means for your typical listener.
Next week is our 1-year anniversary episode. Send us your questions about us, the show, or your ideas for future episodes on Twitter @KopecExplains and we may feature them in the episode.
Show Notes
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
5/31/2021 • 15 minutes, 55 seconds
#50 What is DRM?
Digital Rights Management (DRM) is a software or hardware mechanism that restricts what you can do with your digital media. It may limit a movie from playing without your authenticated credentials, or stop a Nintendo cartridge from working in a third-party console. While DRM was created to limit piracy, it also may limit what you can do with your purchases. In this episode we discuss DRM from legal, technological, and consumer perspectives.
Show Notes
Episode 34: Video Game Distribution and GameStop
Episode 26: Napster
Episode 17: What is Encryption?
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
5/24/2021 • 18 minutes, 16 seconds
#49 Apple vs Facebook on App Tracking
Starting with iOS 14.5, Apple forces developers who want to track users across multiple different apps to get permission on a per app basis. In this episode we talk about the origins of this policy, why it has irked Facebook, and how the conflict has so far played out between the two companies. We get into what it means to be tracked, how the different companies' business models affect their priorities with regards to privacy, and our own opinions on the conflict.
Show Notes
Facebook DESTROYS Apple — The Truth via Rene Ritchie
User Privacy and Data Use via Apple Developer
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
5/17/2021 • 18 minutes, 49 seconds
#48 What's it Like Studying Computer Science in College?
What is it like to study computer science (CS) at the undergraduate level? In this episode we dive into the qualities you need to succeed, the curriculum that most programs follow, and the likely outcomes of earning your degree. We also talk about how CS programs differ, the different subdisciplines that you can study, and how to pick a program.
Show Notes
Episode 28: Learning to Code
Episode 33: What is the Difference Between Information Technology and Computer Science?
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
5/10/2021 • 22 minutes, 29 seconds
#47 The C++ Programming Language
Bjarne Stroustrup originally built C++ in the early 1980s as a successor to C with support for object-oriented programming. Since then, C++ has evolved in a myriad of ways, adding both features and complexity. It's found its way into many use cases, including low-level system development, application development, and game development. However, its complexity due to ongoing additions to the language without removing older features has proven controversial. In this episode we discuss how C++ got started, where it's used, and some of the different opinions that software developers hold about the language.
Show Notes
Episode 35: The C Programming Language
Episode 11: What is a Programming Language?
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
5/3/2021 • 18 minutes
#46 What is The Internet of Things?
It seems like every electric device that we buy today is connected to the Internet. This movement is known as the Internet of Things, or IoT for short. Some people think "Internet of Things" is a specific term, but the truth is that it's very amorphous. There's no exact parameters that make something an IoT device other than it being a thing that's connected to the Internet. Generally the term excludes traditional computers like your PC or your smartphone. If you bought it ten years ago and it was not connected to the Internet, and you buy it today and it is, then it's generally something that's considered an Internet of Things device. In this episode we discuss some of the costs and constraints associated with Internet of Things devices, and how hobbyists and companies can use low cost prototyping platforms like Arduino.
Show Notes
Episode 19: What is Linux?
Arduino
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
4/26/2021 • 17 minutes, 2 seconds
#45 Two Software Disasters
While software has reduced human error in many industries, when software errors are made they can have tragic consequences. The Boeing 737 MAX crashes, occurring shortly after the introduction of the plane, were due in part to a software error in a flight maneuvering system called MCAS.
Some software developers in the 20th century chose to use 2 digits to represent each date, which led to the Y2K bug when the year hit 2000. They saved 1 byte per date, but systems that used 2 digits would roll dates from 1999 to 1900. Mitigating the problem cost hundreds of billions of dollars.
We discuss whether these software disasters were software errors, human errors, or some combination of the two. We also discuss the follow-up to the Y2K issue, the upcoming 2038 bug.
Show Notes
Boeing 737 MAX groundings via Wikipedia
Year 2000 problem via Wikipedia
Episode 32: What is Unix?
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
4/19/2021 • 25 minutes, 36 seconds
#44 Google v. Oracle
Last week the Supreme Court of the United States made a decision in the case known as Google LLC v. Oracle America, Inc. The case centers on whether the use of certain Java technology in Android infringed on Oracle's copyright. In particular, it's concerned with whether Google's reimplementation of Java is legitimate in copying much of the Java standard library's APIs. The legal battle between these tech giants actually began in 2010. For 11 years, the battle has raged back in forth in lower courts over billions of dollars of potential damages. The case also has far-reaching implications for the software industry. Is it "fair use" to reimplement a copyrighted API? If it's not, many software products would be in violation.
Show Notes
Google LLC v. Oracle America, Inc. Opinion via supremecourt.gov
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
4/12/2021 • 9 minutes, 11 seconds
#43 The Lisp Programming Language
Lisp is the second oldest programming language still in wide use. Designed by John McCarthy in 1958, it introduced several new ideas to the field of programming languages, including but not limited to homoiconicity (code is data), the centrality of the list data structure, and automatic memory management. However, its parentheses heavy syntax and use of prefix notation have proved controversial amongst some programmers. For many decades it was the mainstay of AI research, and it even had entire hardware platforms designed around its efficient execution. Today, Lisp's legacy lives on through its influence on other languages and its modern dialects like Scheme and Clojure.
Show Notes
Episode 11: What is a Programming Language
Lisp via Wikipedia
Scheme via Wikipedia
Clojure via Wikipedia
Structure and Interpretation of Computer Programs 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
4/5/2021 • 14 minutes, 55 seconds
#42 What was DOS?
Microsoft became the dominant player in personal computer operating systems through the release of MS-DOS for the IBM PC. Microsoft would go on to license DOS to the many manufacturers building PC clones, eventually reaching a market share upwards of 90% in the personal computer operating system space. MS-DOS was the dominant personal computer operating system of the 1980s and early 1990s. All early versions of Windows were built on top of it. Yet, today, young computer users are often not even aware it existed. What was MS-DOS? Where did it come from? What is its legacy? All of that and some good stories in this episode of Kopec Explains Software.
Show Notes
Episode 16: The Personal Computer Revolution
Episode 22: Why was the IBM PC a Big Deal?
Episode 21: How have UIs Evolved?
CP/M via Wikipedia
MS-DOS via Wikipedia
PCJS Emulator Running DOS in your Browser
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
3/29/2021 • 17 minutes, 22 seconds
#41 How to Pick an Internet Service Provider
Selecting an Internet Service Provider (ISP) can be difficult if you don't know the terminology. How is connection speed measured? How does download speed differ from upload speed? What is latency? What's a data cap? We talk about all of this and more. Plus, we compare in general terms the different kinds of connection modalities, including dial-up, cable, fiber, satellite, and DSL.
Show Notes
Episode 3: What is a Byte?
Episode 5: How does the Internet work?
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
3/22/2021 • 24 minutes, 16 seconds
#40 What is the Memory Hierarchy?
A modern computer doesn't just have one type of memory. It has disk, RAM, CPU caches, CPU registers, and much more. In this episode we dive into the different types of memory and how they work together. We delineate each type by capacity, latency, and permanence. The memory hierarchy is a classic trade-off between space and time. We also discuss other types of memory within our computing systems.
Show Notes
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
3/15/2021 • 17 minutes, 26 seconds
#39 All About Bugs
Bugs in computing systems cost billions of dollars and millions of hours of lost productivity each year. In this episode we break down bugs. What are they? What causes them? How can they be prevented? And how are they fixed? We talk about the different types of bugs including hardware bugs, design bugs, and software bugs. We discuss software engineering methodologies to prevent them, safer programming languages, testing, and more.
Show Notes
Episode 30: Cybersecurity with Duane Dunston
Episode 12: Open Source Software
Episode 34: Video Game Distribution and GameStop
Dave and Rebecca's iPhone Police Incident Twitter Thread
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
3/8/2021 • 24 minutes, 1 second
#38 The History of macOS
The Macintosh is one of the oldest mainstream computing platforms still in use. Its operating system has had to evolve through multiple difficult transitions to stay relevant. In this episode we discuss the history of the Mac's operating system. Or perhaps we should use the plural "operating systems," since the Mac has really been through two distinct eras with very different operating systems.
From 1984 to 2001 the "Classic Mac OS" evolved, with difficulty, from supporting a machine with an 8 MHZ processor and 128 KB of RAM to Internet era multimedia machines. In 2001 it was replaced by Mac OS X built from the foundations of NeXTStep, an operating system that could trace its history to 1989, and the even older Unix, circa 1969. Today Mac OS X has evolved into iOS, tvOS, watchOS, and macOS 11.
All of this and much more in this special episode for #MARCHintosh, a movement by creators to celebrate the history of the Macintosh.
Show Notes
Episode 29: Why was the Original Macintosh Significant?
Episode 23: The Mac's Instruction Set Architecture Transitions
Episode 32: What is Unix?
Episode 21: How have UIs Evolved?
A/UX via Wikipedia
Taligent via Wikipedia
Copland via Wikipedia
BeOS via Wikipedia
NeXTStep via Wikipedia
Mac OS 9 Funeral with Steve Jobs via YouTube
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
3/1/2021 • 0
#37 How do Podcasts Work?
We discuss the history and software infrastructure behind podcasts. Podcasts are distributed using RSS feeds and MP3 files. They are hosted on web servers and podcast feeds are indexed by podcast directories. A podcast player connects to a podcast directory when you search for shows, and it connects to RSS feeds to find new episodes of shows you subscribe to. When you play an episode, your podcast player downloads the corresponding MP3 file from a web server. We explain how all of this works. Plus, we talk about how the podcast ecosystem has evolved and what software you need to start your own podcast.
Show Notes
Episode 36: XML
Episode 26: Napster
Episode 6: How does the Web Work?
Audacity - Audio Recorder/Editor
Pinecast - Podcast Host - Use referral code r-9db122 for 40% off for 4 months.
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
Check out our podcast host, Pinecast. Start your own podcast for free with no credit card required. If you decide to upgrade, use coupon code r-9db122 for 40% off for 4 months, and support Kopec Explains Software.
2/22/2021 • 19 minutes, 7 seconds
#36 What is XML?
Extensible Markup Language (XML) is a data-interchange format that can be used as a meta file format: A format for defining other file formats. Commonly used in Web services for transmitting the results of API calls, it also underlies everything from Microsoft Office's file formats to RSS, the format of podcast feeds. You use XML based file formats every day, even if you don't know it. In this episode we dive into how XML works, what it looks like, and how it's used by programmers, programs, and everyday users.
Show Notes
Episode 6: How does the Web work?
Episode 20: How do Digital Images Work?
XML 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
2/15/2021 • 14 minutes, 47 seconds
#35 The C Programming Language
Today, by some measures, C is the most popular programming language in the world. The early history of C is deeply intertwined with Unix. But C, a relatively simple language, grew well beyond its roots to become fundamental to the development of modern operating systems, essential libraries, device drivers, programming language implementations, and so much more. In this episode we discuss the history of C, its most important characteristics, the reasons for its popularity, and its influence.
Show Notes
Episode 32: What is Unix?
Episode 11: What is a Programming Language?
TIOBE Index — Programming Language Popularity
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
2/8/2021 • 17 minutes, 30 seconds
#34 Video Game Distribution and GameStop
Video game distribution has always been split between two different value chains: console games and PC games. In this episode we discuss why console games have historically been distributed differently from PC games. We get into the different kinds of restrictions that each market has faced, and how online distribution has evolved. Then we talk about GameStop. We provide a little background on the company and why it has been suffering the last few years. Finally, we conclude by offering our opinions on the current controversy surrounding the rapid rise in the share price of GameStop's stock.
Show Notes
Episode 16: The Personal Computer Revolution
Game Over: How Nintendo Conquered the World by David Sheff — book that goes into the details of Nintendo's distribution system in the 1980s and early 1990s via Amazon
Console Wars by Blake Harris — book that goes into video game distribution on Nintendo and Sega platforms of the 1990s via Amazon
GameStop via Wikipedia
GameStop ($GME) Financial Statistics via Yahoo! Finance
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
As an Amazon Associate I earn from qualifying purchases.
Find out more at http://kopec.live
2/1/2021 • 21 minutes, 48 seconds
#33 What is the Difference Between Information Technology and Computer Science?
"Information Technology" and "Computer Science" are often confused. But they are really two different disciplines that both involve working with computers. In this episode we explain the differences. We also delve into the multifaceted meaning of the term computer science. We hope to give listeners a better understanding of what someone who works in IT does, versus what someone who works in CS does. Should you ask your software development friend for help fixing your computer?
Show Notes
Hackers and Painters by Paul Graham
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
1/25/2021 • 15 minutes, 37 seconds
#32 What is Unix?
Unix is the most influential operating system of all time. In this episode we discuss its history, its evolution, and its philosophy. We trace Unix from its origins at Bell Laboratories, through the Unix Wars, and into the dominance of its clone, Linux. We talk about its relationship to the C Programming Language, the four points of its philosophy as outlined by McIlroy, and its future. Join us for a quick dive into Unix.
Show Notes
Episode 2: What is an Operating System?
Episode 12: Open Source Software
Episode 19: What is Linux?
Unix Time-Sharing System: Foreword by McIlroy, Pinson, Tague via Archive.org
Unix: A History and a Memoir by Brian Kernighan via Amazon
Review of Unix: A History and a Memoir by David
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
As an Amazon Associate I earn from qualifying purchases.
Find out more at http://kopec.live
1/18/2021 • 22 minutes, 23 seconds
#31 PowerPoint
PowerPoint has completely changed the way that we communicate. But where did it come from? In this episode we discuss the origins and impact of PowerPoint. We go through the product's history including what it displaced, its development by a startup company, and its evolution under Microsoft. Then we go into some of its criticisms and provide some tips for making great slides in the age of online presentations.
Show Notes
PowerPoint via Wikipedia
Sweating Bullets: Notes about Inventing PowerPoint by Robert Gaskins via Amazon
Beginnings of PowerPoint by Dennis Austin via Computer History Museum
The Presentation Secrets of Steve Jobs by Carmine Gallo via Amazon
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
As an Amazon Associate I earn from qualifying purchases.
Find out more at http://kopec.live
1/11/2021 • 21 minutes, 36 seconds
#30 Cybersecurity with Duane Dunston
What is cybersecurity? This week we are joined by Professor Duane Dunston of Champlain College, an expert in cybersecurity. Duane explains the field from multiple perspectives. He helps us understand the threats, how they are mitigated, and the roles of practitioners in the field. He differentiates between the scale of threats to organizations versus individuals and leaves us with some tips to improve on the security of our systems.
Show Notes
Duane Dunston via Champlain College
Duane Dunston on Twitter
SANS NewsBites
InfoSecSherpa
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
1/4/2021 • 32 minutes, 38 seconds
#29 Why was the Original Macintosh Significant?
The original Apple Macintosh, often referred to as the Macintosh 128K, was a revolutionary device because it brought the Graphical User Interface (GUI) and the mouse to the general public. Released in 1984, the Macintosh 128K was not the first computer with a GUI and a mouse, but it was the first to be priced within the realm of possibility for regular users. Despite its significance, the original incarnation of the machine did not sell well due to several design and technical limitations. In this episode we discuss the significance of the original Macintosh, its ethos, and its limitations.
Show Notes
Episode 21: How have UIs Evolved?
Episode 22: Why was the IBM PC a Big Deal?
Episode 16: The Personal Computer Revolution
Apple's 1984 Super Bowl Commercial to Launch the Mac via YouTube
Xerox Alto via Wikipedia
Apple Lisa via Wikipedia
Macintosh 128K 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
12/28/2020 • 21 minutes, 37 seconds
Trailer
Each 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.
Follow us on Twitter @KopecExplains.
Find out more at http://kopec.live
12/25/2020 • 44 seconds
#28 Learning to Code
Are you thinking about learning computer programming? In this episode we provide some tips for aspiring programmers. What programming language should you choose? What learning resources should you use? How should you setup your environment? What are some good habits as you learn? What kind of mindset should you have? All of this and more tips for overcoming some early hurdles.
Show Notes
Episode 11: What is a Programming Language
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
12/21/2020 • 19 minutes, 59 seconds
#27 Databases
When software gets sufficiently complex it needs a database management system to store, structure, and query its records. In this episode we talk about what a database is, the models behind the most common kinds of databases, and some of the different use cases for each. We concentrate on relational databases, but we also discuss some so-called "NoSQL" databases including document-oriented databases, key-value stores, and graph databases. Along the way we learn a little history and about some of the concepts underlying relational databases including SQL and relational algebra.
Show Notes
Edgar Codd via Wikipedia
Larry Ellison via Wikipedia
Relational Algebra via Wikipedia
Relational Databases via Wikipedia
Episode 12: Open Source Software
Oracle Database via Wikipedia
MySQL via Wikipedia
PostgreSQL via Wikipedia
SQLite via Wikipedia
NoSQL via Wikipedia
MongoDB 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
12/14/2020 • 21 minutes, 3 seconds
#26 Napster
Napster was the first popular peer-to-peer file sharing service. It introduced a generation to MP3 files and digitally swapping music. Created in 1999 by two teenagers, Shawn Fanning and Sean Parker, Napster would go on to upend the music industry and kickstart the online music revolution. But its success would be short lived. The first incarnation of Napster was forced into bankruptcy by legal challenges just a couple of years after its birth. In this episode we discuss Napster's origin, its importance, and the technologies that enabled it to work.
Show Notes
Napster via Wikipedia
Shawn Fanning via Wikipedia
Sean Parker via Wikipedia
Ali Aydar via Twitter
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
12/7/2020 • 20 minutes, 58 seconds
#25 Spreadsheets
We take spreadsheets for granted, but they were actually an incredible innovation that transformed small business. In this episode we talk about the history of spreadsheets and why they are so important. We cover the first popular spreadsheet program, VisiCalc, which was the "killer app" for the Apple II. Then we talk about Lotus 1-2-3 and why it displaced VisiCalc. We finish with Microsoft Excel and areas where spreadsheets are being stretched too thin.
Show Notes
Episode 16: The Personal Computer Revolution
VisiCalc via Wikipedia
Episode 22: Why was the IBM PC a Big Deal?
Lotus 1-2-3 via Wikipedia
Founders at Work by Jessica Livingston via Amazon
Episode 21: How have UIs Evolved?
Microsoft Excel via Wikipedia
Excel: Why using Microsoft's tool caused Covid-19 results to be lost via BBC
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
11/30/2020 • 23 minutes, 6 seconds
#24 The Browser Wars
Throughout the three decade history of the Web various browsers have battled for supremacy. In the 1990s it was Netscape Navigator versus Microsoft Internet Explorer. More recently, Google Chrome has dominated Mozilla Firefox, Microsoft Edge, and Apple's Safari. In this episode we dive into the history of the browser wars. We look at the various periods of web browser development, and identify how one browser's success or failure led to the rise of another. Ultimately we find connections that link every popular browser to every other.
Show Notes
Episode 6: How does the Web work?
Tim Berners-Lee via Wikipedia
WorldWideWeb via Wikipedia
Mosaic via Wikipedia
Marc Andreessen via Wikipedia
Netscape Navigator via Wikipedia
Spyglass Inc. via Wikipedia
Internet Explorer via Wikipedia
WebKit via Wikipedia
Blink 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
11/23/2020 • 27 minutes, 35 seconds
#23 The Mac's Instruction Set Architecture Transitions
Apple is transitioning the Mac from Intel's X86-64 based microprocessors to its own Apple Silicon built on the ARM64 instruction set. But the Mac has already been through two other similar transitions! In this episode we discuss the transitions and how they affect software. We delve into the 1994 transition from the Motorola 68K line to the Motorola/IBM PowerPC, and the 2006 transition from PowerPC to Intel. Finally, we talk about going from Intel to Apple Silicon. Along the way we discuss mitigation strategies for software developers like universal binaries and emulation.
Show Notes
Episode 10: What is an Emulator?
Motorola 68K via Wikipedia
PowerPC via Wikipedia
x86 via Wikipedia
ARM architecture via Wikipedia
Apple Silicon 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
11/16/2020 • 27 minutes
#22 Why was the IBM PC a Big Deal?
The IBM PC, released in 1981, set the standard for personal computing for decades. In this episode we discuss why it was so influential. We talk about IBM's market position and strategy for the PC, as well as choices the company made in terms of both hardware and software that made a standard possible. We discuss Microsoft's role in creating DOS, CP/M's failure, and how PC compatible clones worked.
This episode is a follow-up to episode 16, The Personal Computer Revolution, in which we covered the period of 1975-1980 in personal computer history.
Show Notes
Episode 16: The Personal Computer Revolution
The IBM PC via Wikipedia
Intel 8088 via Wikipedia
CP/M via Wikipedia
DOS 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
11/9/2020 • 21 minutes, 51 seconds
#21 How have UIs Evolved?
Through the history of computing, user interfaces (UIs) have evolved from punch cards to voice interaction. In this episode we track that evolution, discussing each paradigm and the machine that popularized it. We primarily focus on personal computer UIs, covering command-line interfaces (CLIs), graphical user interfaces (GUIs), touch-screen interaction, and voice interfaces. We also imagine the future, including neural interfaces, virtual reality, and augmented reality. This episode is an introductory guide to the interfaces available and a short history, not a comprehensive tour.
Show Notes
Episode 16: The Personal Computer Revolution
The Mother of All Demos via Wikipedia
Fingerworks (developer of modern multi-touch) via Wikipedia
Neuralink 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
11/2/2020 • 23 minutes, 38 seconds
#20 How do Digital Images Work?
Digital images can be broadly categorized into two kinds: bitmap and vector. In this episode we provide the listener a general understanding of how both bitmap and vector images work. We start with the basics, by explaining pixels, but then we talk about a standard color model, and some specific file formats that most people are familiar with. We finish our discussion by talking about smartphone cameras, image manipulation software, and how images work together to make videos.
Note: In this episode we used the term "graphics card" generically. We could have more accurately said Graphics Processing Unit (GPU) to include embedded GPUs as exist in most devices.
Show Notes
Episode 3: What is a Byte?
Pixel via Wikipedia
RGBA via Wikipedia
JPEG via Wikipedia
SVG 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
10/26/2020 • 23 minutes, 38 seconds
#19 What is Linux?
Linux is the foundational piece of software in the majority of computing systems in use today, including most Internet servers, Internet-of-Things devices, and all Android smartphones/tablets. Yet, despite being ubiquitous, most people don't really know what it is. In this episode, we build on our prior episodes about Operating Systems and Open Source Software to give listeners an overview of Linux's origins, how it became ubiquitous, and where it's being used today. We get into the two different ways the term "Linux" is used: including as a way to refer to the ubiquitous kernel and as a short-hand for whole operating systems that are more accurately called "Linux distributions."
Show Notes
Episode 2: What is an Operating System?
Episode 12: Open Source Software
Linux via Wikipedia
Linus Torvalds via Wikipedia
Just for Fun via Amazon
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
10/19/2020 • 21 minutes, 29 seconds
#18 How does Email Work?
Email is the most important communications technology of our time. In this episode we explain how it works behind the scenes. We talk about how email clients talk to email servers, including protocols like SMTP, IMAP, and POP3. We discuss email's format, security, and ecosystem. We touch on spam filters, and end with a call-to-arms about keeping the email ecosystem open.
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
10/12/2020 • 23 minutes, 52 seconds
#17 What Is Encryption?
Encryption enables online payment, secure communication, identity verification, and so much more. In this episode we discuss what encryption is, what it does for us, and we go over some of the different types of encryption. We explain the purpose of a key, and try to provide an intuitive understanding of public key cryptography. We also discuss some practical tips around passwords. Finally, we talk about some of the public policy debates surrounding encryption.
Note that in this episode we refer to cryptographic hash functions as "one-way encryption" to try to simplify the discussion.
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
10/5/2020 • 25 minutes, 1 second
#16 The Personal Computer Revolution
In 1975, the Altair 8800 powered by the Intel 8080 ignited the personal computer revolution. In this episode, we discuss the pivotal forces that made computers accessible to normal people, and enabled the creation of companies like Microsoft and Apple. We discuss some of the major computers of the late 1970s and some of the important software products. We cover the period of 1975-1980.
This episode is not meant to be an exhaustive history, but instead a good general overview. We couldn’t cover every computer, software product, or important person in the PC revolution. But we hope we excited listeners to explore more.
Show Links
Intel 8080
MOS 6502
Zilog Z80
Altair 8800
Atari 2600
Microsoft BASIC
CP/M
Visicalc
Apple I
Apple II
Commodore PET
TRS-80
IBM PC
Bill Gates
Paul Allen
Gary Kildall
Steve Wozniak
Steve Jobs
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
9/28/2020 • 24 minutes, 7 seconds
#15 Product Managers with David Short
Product managers manage the teams that build software. In this episode we interview David Short, whose been a product manager for software teams at multiple companies. He tells us what it’s like to be a product manager, how he works together with software developers, and David gives some advice for aspiring product managers.
Show Links
David Short on Twitter
Products and Payments (David's blog)
Business Books and Co. (David & David's other podcast)
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
9/21/2020 • 27 minutes, 24 seconds
#14 Computer Chess
Since the invention of the modern computer, humans have been trying to write chess playing programs. In this episode, we trace the history of computer chess, and explain how a chess program works. We discuss why developing a world champion computer chess AI was considered a great achievement. And we finish with how computer chess continues to evolve, and how it’s evolving human chess.
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
9/14/2020 • 34 minutes, 57 seconds
#13 Artificial Intelligence
Artificial Intelligence is enabling exciting new computing applications, but many people don’t really understand what it is. In this episode we give AI a broad definition, explain the difference between strong AI and weak AI, and delve into some of the many sub-disciplines that fall under its umbrella. We provide a general sense of machine learning by touching on a few of its approaches including artificial neural networks, clustering, and linear regression. We also briefly dive into older AI techniques like expert systems and adversarial search. We use chess as an example to talk about different AI approaches.
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
9/7/2020 • 31 minutes, 41 seconds
#12 Open Source Software
The open source movement has completely changed the software industry. In this episode we explain what it means for software to be open source. We dive into the origins of the movement, its split from the free software movement, and some of its key players. We explain the four freedoms, the legal model behind open source licenses, and some of the ethics. Most importantly, we explain the benefits of open source software, and why it has become so ubiquitous. At the end we dive into other areas of the world where the open source model is being introduced.
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
8/31/2020 • 33 minutes, 10 seconds
#11 What is a Programming Language?
Programming languages are what we use to communicate ideas in computing. Software is written in a programming language and most people have a vague sense of what a programming language looks like. In this episode we explain a programming language’s purpose and we categorize programming languages into various paradigms. We discuss some of the characteristics that make one programming language distinctive from another. At the end we dispense some advice for those interested in learning their first programming language.
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
8/24/2020 • 30 minutes, 51 seconds
#10 What is an Emulator?
Emulators allow software designed for one computing system to run on another. They act as a kind of translation layer, simulating the hardware of the emulated system in software. Common applications include running software designed for video game systems on personal computers, and running business applications designed for a computing platform that the user doesn’t own. We discuss what emulators do, how they work, and some of the legal issues around them in this episode.
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
8/17/2020 • 23 minutes, 9 seconds
#9 What Does it Take to Make an App?
We discuss what it takes to make a mobile app. What are the primary different kinds of jobs that people who work on apps have? What are the phases of the development cycle to go from idea to release? How hard is it to make an app?
We left our talking about one role: product managers/project managers who may facilitate the whole process and we’ll cover them in a future episode.
Follow us on Twitter @KopecExplains.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
8/10/2020 • 21 minutes, 46 seconds
#8 How do Web Search Engines Work?
Information on the Web is always at our fingertips thanks to search engines. But, what makes them tick? In this episode we go over crawling, indexing, and ranking, the three phases a web page must go through to end up in your search results. We briefly discuss the PageRank algorithm and differences between various search engines. We conclude by discussing privacy issues.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
8/3/2020 • 33 minutes, 29 seconds
#7 What is a Character Encoding?
Computers are not just great for calculating, they’re also great for storing, manipulating, and viewing text. In fact, the majority of the work we do on a computer is “text work.” But, how does a computer actually store text? How is text represented in software? In this episode we dive into the world of character encodings, the way that software represents text.
Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
7/27/2020 • 23 minutes, 26 seconds
#6 How does the Web work?
What are the technologies that underly the Web? We discuss Web Browsers and Web Servers. We touch on: the protocols they use to communicate (HTTP and HTTPS), the languages they use to render web pages (HTML, CSS, JavaScript), and server-side technologies like databases and server-side programming languages.
Theme “Place on Fire” Copyright 2019 Creo, [CC BY 4.0] (https://creativecommons.org/licenses/by/4.0/)
Find out more at http://kopec.live
7/20/2020 • 22 minutes, 8 seconds
#5 How does the Internet work?
The Internet is not a single technology—it’s a combination of networking technologies including protocols, physical devices, and software. In this episode we delve into its many layers and try to provide an intuitive understanding about how they all fit together. We cover topics like routing, packets, application protocols, and encryption.
Theme “Place on Fire” Copyright 2019 Creo, [CC BY 4.0] (https://creativecommons.org/licenses/by/4.0/)
Find out more at http://kopec.live
7/13/2020 • 29 minutes, 51 seconds
#4 iOS vs. Android
iOS vs. Android
In this episode 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.
David Kopec on Twitter
Theme “Place on Fire”, Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
7/6/2020 • 36 minutes, 44 seconds
#3 What is a Byte?
What is a Byte?
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.
David Kopec on Twitter
Theme “Place on Fire”, Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
6/29/2020 • 20 minutes, 54 seconds
#2 What is an Operating System?
What is an Operating System?
This week we discuss the most essential layer of a computer’s software, the operating system. We describe what an operating system is. We denote the differences between popular operating systems. The varying operating system business models are described. And we talk about why operating systems are important.
David Kopec on Twitter
Theme “Place on Fire”, Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live
6/22/2020 • 29 minutes, 47 seconds
#1 What is Software?
What is Software?
We define software. What is software? How is it different than hardware? What is the language of software? What are the different kinds of software? Who makes software? How do they make it?
David Kopec on Twitter
Theme “Place on Fire”, Copyright 2019 Creo, CC BY 4.0
Find out more at http://kopec.live