Runtime Arguments

Jim McQuillan & Wolf

Conversations about technology between two friends who disagree on plenty, and agree on plenty more.

  1. 14 HR AGO

    25: The X Window System and Wayland

    If you've been using Linux on the desktop you almost certainly have been using the X Window System. In this episode we dive into what that is, where it came from and what kinds of choices you have. We get into the toolkits like GTK and Qt and talk about desktop environments like Gnome and KDE. Then we get into the future, namely Wayland. If you want to run an X client application on a remote server, you need to have an Xserver running local. If your desktop is MacOS, you can install Xquartz. If it's Windows, you can install Xming.  If your desktop is Linux, you already have an Xserver running (or maybe you have Wayland, in which case you can run Xwayland). The following command will log you into a remote system where you can run an X client application and have it display on your local desktop: ssh -X user@example.com If you echo your $DISPLAY environment variable, you should see something like: localhost:10.0 That's telling the X client app to send it's data using the X protocol to the your local desktop and proxy it over SSH. The next step is run on an X app. It's easy, just run it: xterm A terminal window should pop up on your local desktop. Hosts: Jim McQuillan can be reached at jam@RuntimeArguments.fm Wolf can be reached at wolf@RuntimeArguments.fm Follow us on Mastodon: @RuntimeArguments@hachyderm.io If you have feedback for us, please send it to feedback@RuntimeArguments.fm Checkout our webpage at http://RuntimeArguments.fm Theme music: Dawn by nuer self, from the album Digital Sky

    1hr 8min
  2. 21 MAR

    24: Bayes' Rule - The Formula For Learning Everything

    If you've ever debugged a program, looked for lost socks or tried to figure out why red spots are developing on your skin, then Bayes' rule was almost certainly used to help you on your journey. Even if you don't know anything about it. Humans have evolved to solve problems but along the way, we as a species sometimes fall for traps or fail to consider all the evidence when figuring things out. In this episode, Wolf explains what Bayes' rule is, how we use it and how we could use it better to solve our mysteries. One sentence Bayes' Rule is the formula that tells you how to update what you believe when you get new evidence — it combines what was already true with what you just learned. The math The probability of A given B equals the probability of B given A, times the probability of A, divided by the probability of B P(A | B) = P(B | A) * P(A) / P(B) Key concepts Bayes' Rule — the formula for updating what you believe when you get new evidenceRepresentativeness heuristic — substituting "how well does this match?" for "how likely is this?" (ignoring base rates)Base rate neglect — the tendency to ignore population-level frequencies when evaluating specific casesPrior / likelihood / posterior — what you believed before, how likely the evidence is, what you should believe nowSystem 1 / System 2 — Kahneman's framework for fast intuitive thinking vs. slow deliberate reasoningThe Tom W problem From Kahneman's Thinking, Fast and Slow, Chapter 14. A personality description that tricks you into ignoring base rates. The Sin of Representativeness — Unearned Wisdom The cab problem Also from Kahneman. A witness, a hit-and-run, and the surprising math of why 80% reliability doesn't mean 80% probability. Kahneman's Bayesian inference example Books: Daniel Kahneman, Thinking, Fast and Slow (2011) — the Tom W problem, the cab problem, System 1/System 2, representativenessSharon Bertsch McGrayne, The Theory That Wouldn't Die (2011) — the history of Bayes' theorem from its discovery through the frequentist wars to its modern resurgenceDouglas Hofstadter, Gödel, Escher, Bach: An Eternal Golden Braid (1979) — a Pulitzer-winning exploration of how self-reference and formal systems connect mathematics, art, and musicErnest Nagel and James R. Newman, Gödel's Proof (1958) — a concise, accessible walkthrough of Gödel's Incompleteness Theorems for non-mathematiciansHistorical: Thomas Bayes (1701–1761) — Presbyterian minister who first derived the theorem; never published it. Richard Price submitted it posthumously.Pierre-Simon Laplace — independently derived and generalized Bayes' work; arguably did the heavier mathematical liftingTools (if you want to go deeper): PyMC — Python library for Bayesian statistical modelingBayes' theorem — WikipediaThinking, Fast and Slow — WikipediaHosts: Jim McQuillan can be reached at jam@RuntimeArguments.fm Wolf can be reached at wolf@RuntimeArguments.fm Follow us on Mastodon: @RuntimeArguments@hachyderm.io If you have feedback for us, please send it to feedback@RuntimeArguments.fm Checkout our webpage at http://RuntimeArguments.fm Theme music: Dawn by nuer self, from the album Digital Sky

    1hr 8min
  3. 7 MAR

    23: Containers - What's in the box????

    Containers have become the standard way for deploying applications on servers and the web and sometimes even on the desktop. In this episode we dive into what containers are, how they work, how to build them and what you can do with them. Whether you are using containers in your development environment, deploying on servers in your data center or as a cloud service, containers save time, handle dependencies, increase security and just make things easier and better in so many ways. We discuss several commands to build and run containers and we've included examples here: Dockerfile example: ------------------------------------------------------------------------------------------------------- FROM ubuntu RUN apt update && apt install -y apache2 ENTRYPOINT [ "/usr/sbin/apachectl", "-D", "FOREGROUND", "-k", "start" ] ------------------------------------------------------------------------------------------------------- Build the image using the above Dockerfile:     docker buildx build --tag my_container ./ Run the container:     docker run -p 8080:80 -d my_container Now, point your web browser at http://localhost:8080 (assuming you did this on your desktop) Display a list of running containers:     docker compose ls Attach to a running container and get a shell:     docker exec -it [container name] /bin/bash Stop a container:     docker container stop [container name] Start it running again:     docker container start [container name] Remove a container (after stopping it)     docker container rm [container name] Hosts: Jim McQuillan can be reached at jam@RuntimeArguments.fm Wolf can be reached at wolf@RuntimeArguments.fm Follow us on Mastodon: @RuntimeArguments@hachyderm.io If you have feedback for us, please send it to feedback@RuntimeArguments.fm Checkout our webpage at http://RuntimeArguments.fm Theme music: Dawn by nuer self, from the album Digital Sky

    1hr 41min

About

Conversations about technology between two friends who disagree on plenty, and agree on plenty more.