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 epis...
Oct 26, 2020•24 min•Ep. 20
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 differen...
Oct 19, 2020•21 min•Ep. 19
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...
Oct 12, 2020•24 min•Ep. 18
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...
Oct 05, 2020•25 min•Ep. 17
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 e...
Sep 28, 2020•24 min•Ep. 16
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...
Sep 21, 2020•27 min•Ep. 15
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 htt...
Sep 14, 2020•35 min•Ep. 14
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 te...
Sep 07, 2020•32 min•Ep. 13
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 ...
Aug 31, 2020•33 min•Ep. 12
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...
Aug 24, 2020•31 min•Ep. 11
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 @K...
Aug 17, 2020•23 min•Ep. 10
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://kope...
Aug 10, 2020•22 min•Ep. 9
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...
Aug 03, 2020•33 min•Ep. 8
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...
Jul 27, 2020•23 min•Ep. 7
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...
Jul 20, 2020•22 min•Ep. 6
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...
Jul 13, 2020•30 min•Ep. 5
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...
Jul 06, 2020•37 min•Ep. 4
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 , ...
Jun 29, 2020•21 min•Ep. 3
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...
Jun 22, 2020•30 min•Ep. 2
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
Jun 15, 2020•31 min•Ep. 1