Kopec Explains Software

Follow Kopec Explains Software
Share on
Copy link to clipboard

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.

David Kopec, Rebecca Kopec


    • Mar 20, 2025 LATEST EPISODE
    • infrequent NEW EPISODES
    • 19m AVG DURATION
    • 140 EPISODES


    Search for episodes from Kopec Explains Software with a specific topic:

    Latest episodes from Kopec Explains Software

    #135 Hacking the Classic Mac OS

    Play Episode Listen Later Mar 20, 2025 83:13 Transcription Available


    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

    #134 The CrowdStrike Incident

    Play Episode Listen Later Aug 12, 2024 15:47 Transcription Available


    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

    Play Episode Listen Later Jul 21, 2024 15:45 Transcription Available


    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

    #132 What is Machine Learning?

    Play Episode Listen Later Jun 2, 2024 22:29 Transcription Available


    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

    Play Episode Listen Later Apr 19, 2024 19:52 Transcription Available


    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

    Play Episode Listen Later Mar 18, 2024 19:37 Transcription Available


    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

    Play Episode Listen Later Feb 1, 2024 18:32 Transcription Available


    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

    #128 Copyright & Machine Learning Models

    Play Episode Listen Later Dec 11, 2023 19:02


    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

    #127 The Google Search Antitrust Lawsuit

    Play Episode Listen Later Nov 13, 2023 17:23


    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

    #126 How Does Google Make Money?

    Play Episode Listen Later Oct 30, 2023 16:09


    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

    Classic Episode: iOS vs. Android (2020)

    Play Episode Listen Later Oct 16, 2023 36:44


    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

    #125 What is a Sandbox?

    Play Episode Listen Later Oct 2, 2023 12:12


    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?

    Play Episode Listen Later Sep 19, 2023 12: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

    #123 What is a Hash Table?

    Play Episode Listen Later Sep 4, 2023 19:58


    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

    #122 Open Source Licenses

    Play Episode Listen Later Aug 21, 2023 23:38


    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

    #121 Shareware with Richard Moss

    Play Episode Listen Later Aug 7, 2023 44:09


    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

    Classic Episode: What is a Byte? (Remastered)

    Play Episode Listen Later Jul 24, 2023 20:53


    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?

    Play Episode Listen Later Jul 11, 2023 16: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

    #119 Myths About Open Source Software

    Play Episode Listen Later Jun 26, 2023 12:57


    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

    #118 Five ChatGPT Myths

    Play Episode Listen Later Jun 12, 2023 21:26


    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

    myths chatgpt creo why does it work
    #117 Early Video Game Console Software

    Play Episode Listen Later May 29, 2023 13:49


    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.liveRead transcript

    Classic Episode: What is an Operating System? (Remastered)

    Play Episode Listen Later May 15, 2023 29:45


    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.liveRead transcript

    #116 The Smallest Possible Programming Language

    Play Episode Listen Later May 1, 2023 11:46


    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

    #115 Why Do Strong Passwords Matter?

    Play Episode Listen Later Apr 17, 2023 11:21


    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

    #114 What is an Instruction Set Architecture?

    Play Episode Listen Later Apr 3, 2023 19:58


    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

    #113 The Go Programming Language

    Play Episode Listen Later Mar 20, 2023 21:12


    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

    google creo programming languages go programming language
    #112 Functional Programming

    Play Episode Listen Later Mar 6, 2023 22:10


    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

    #111 The Apple Lisa

    Play Episode Listen Later Feb 20, 2023 12:59


    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

    Classic Episode: What Is Software? (Remastered)

    Play Episode Listen Later Feb 6, 2023 32:04


    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

    #110 What Is Mastodon?

    Play Episode Listen Later Jan 23, 2023 11:32


    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

    #109 How Is Memory Managed by Programmers?

    Play Episode Listen Later Jan 9, 2023 13:02


    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

    #108 How Does Mozilla Make Money?

    Play Episode Listen Later Dec 26, 2022 9:42


    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

    #107 Free Software vs. Open Source Software

    Play Episode Listen Later Dec 12, 2022 13:31


    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

    #106 Cross-Platform Mobile Frameworks

    Play Episode Listen Later Nov 28, 2022 16:36


    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

    #105 The 2038 Problem

    Play Episode Listen Later Nov 14, 2022 8:44


    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

    #104 Web Apps vs. Native Apps

    Play Episode Listen Later Oct 31, 2022 21:31


    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

    #103 Expert Systems: A Forgotten Area of AI

    Play Episode Listen Later Oct 17, 2022 17:40


    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

    #102 PDF

    Play Episode Listen Later Oct 3, 2022 13:21


    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

    #101 Accessibility

    Play Episode Listen Later Sep 19, 2022 13:14


    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

    #100 Early Web Innovations

    Play Episode Listen Later Sep 5, 2022 12:58


    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

    #99 Android App Development

    Play Episode Listen Later Aug 22, 2022 21:40


    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

    #98 How Does Apple Make Money?

    Play Episode Listen Later Aug 8, 2022 12:59


    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

    #97 What Are APIs?

    Play Episode Listen Later Jul 25, 2022 17:25


    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

    #96 What is a BIOS?

    Play Episode Listen Later Jul 11, 2022 14:11


    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

    #95 DataOps, Data Pipelines, and Estuary Flow with Johnny Graettinger

    Play Episode Listen Later Jun 27, 2022 33:22


    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

    #94 Software Piracy

    Play Episode Listen Later Jun 13, 2022 16:49


    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

    #93 Phone Location Tracking

    Play Episode Listen Later May 30, 2022 12:32


    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

    #92 Python

    Play Episode Listen Later May 16, 2022 15:11


    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

    #91 PayPal's Early Innovations

    Play Episode Listen Later May 2, 2022 10:24


    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

    #90 Binary Search

    Play Episode Listen Later Apr 18, 2022 17:02


    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

    #89 Multi-Touch

    Play Episode Listen Later Apr 4, 2022 13:23


    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

    Claim Kopec Explains Software

    In order to claim this podcast we'll send an email to with a verification link. Simply click the link and you will be able to edit tags, request a refresh, and other features to take control of your podcast page!

    Claim Cancel