Kopec Explains Software cover image

Kopec Explains Software

Latest episodes

undefined
5 snips
May 15, 2023 • 30min

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.liveRead transcript
undefined
May 1, 2023 • 12min

#116 The Smallest Possible Programming Language

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.liveRead transcript
undefined
Apr 17, 2023 • 11min

#115 Why Do Strong Passwords Matter?

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.liveRead transcript
undefined
9 snips
Apr 3, 2023 • 20min

#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
undefined
10 snips
Mar 20, 2023 • 21min

#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
undefined
25 snips
Mar 6, 2023 • 22min

#112 Functional Programming

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.liveRead transcript
undefined
Feb 20, 2023 • 13min

#111 The Apple Lisa

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.liveRead transcript
undefined
Feb 6, 2023 • 32min

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
undefined
Jan 23, 2023 • 12min

#110 What Is Mastodon?

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.liveRead transcript
undefined
13 snips
Jan 9, 2023 • 13min

#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

Get the Snipd
podcast app

Unlock the knowledge in podcasts with the podcast player of the future.
App store bannerPlay store banner

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode

Save any
moment

Hear something you like? Tap your headphones to save it with AI-generated key takeaways

Share
& Export

Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode