DiscoverKopec Explains Software
Kopec Explains Software

Kopec Explains Software

Author: David Kopec, Rebecca Kopec

Subscribed: 53Played: 837
Share

Description

We make software-related technical topics intelligible. We aim to help you develop an intuitive understanding of each subject, instead of emphasizing formal definitions. Join us as we learn about the wide world of software.
140 Episodes
Reverse
The Classic Mac OS refers to the operating system that Apple Macintosh computers ran from 1984 to 2001. While it was one of the first popular operating systems to feature a graphical user interface, it hit some very real growing pains by the 1990s. In this episode, prolific hacker of the classic Mac OS, Elliot Nunn, joins us to dive into some of the quirks of this landmark operating system. We discuss some of its unique traits, how it compares to a modern operating system, and some of Elliot's projects to reverse-engineer it. By the end of the episode you'll have a much stronger understanding of how the Classic Mac OS (System 1 through Mac OS 9) worked. Show Notes Elliot Nunn's Website Elliot Nunn on GitHub Elliot Nunn on Mastodon os9.shop Classic Episode: What is an Operating System? Episode 111: The Apple Lisa Episode 38: The History of macOS Episode 29: Why was the Original Macintosh Significant? You can also find Elliot on #mac68k on Libera.Chat Follow us on X @KopecExplains. Theme “Place on Fire” Copyright 2019 Creo, CC BY 4.0 Find out more at http://kopec.liveRead transcript
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
#133 Ad Blockers

#133 Ad Blockers

2024-07-2115:451

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
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
#131 Abandonware

#131 Abandonware

2024-04-1919:52

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
#130 Grace Hopper

#130 Grace Hopper

2024-03-1819:37

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
#129 BASIC

#129 BASIC

2024-02-0118:32

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
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
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
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
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
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
#124 What is a Cache?

#124 What is a Cache?

2023-09-1912:11

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
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
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
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
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
#120 What is FreeBSD?

#120 What is FreeBSD?

2023-07-1116:32

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
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
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
loading
Comments (1)

Deborah Metz

Thank you so much for doing this! I really enjoying listening to you and you simplify topics in a way I understand. I recently started taking classes and you helped me understand what I wasn't getting when reading my textbook.

Sep 26th
Reply
loading