Twitch
Info
Once a week I do a real-time on-line event called "Tech Talk Thursday" on Twitch at https://www.twitch.tv/profkruse - Streams start at 8pm (20:00) Eastern Time and last about 90 minutes. Please join us!
I talk about networking, scripting, or game design topics. Folks in the Twitch chat can interact, comment, and ask questions. Recently I have become very interested in the way modern web applications are built. To help with that topic, another Twitch streamer, "pxslip", is joining me on these streams. He is a web developer for a large non-profit organization and has worked for an educational institution in the past.
Replays of each stream are available at the link above for a relatively short time after each broadcast. Full replays and excerpts of specific topics may be found on YouTube.
Upcoming: 5/6/2021:
Last installment of our nginx installation
Running node.js behind an nginx reverse proxy
Past Broadcasts:
(YouTube Links may be delayed)
Episode 1: 10/22/2020
Measuring Internet performance - what does that mean
Download speed
Upload speed
Latency and Jitter
iperf3
Ep. 2 - 10/29/20
Iperf wrap-up
Pxslip on audio via Discord
Code and software development, history and developments.
Explore obs.ninja and connect pxslip
Chrome developer console (in-browser) - explore the OBS.NINJA site
Obs.ninja code structure (https://github.com/steveseguin/obsninja)
YouTube Links:
Ep. 3 - 11/5/20
A super-simple JS “hello” app
Amazon S3 static hosting
Discussion of tool chains/deployment of web based apps
Discussion of Electron apps
YouTube Links:
Ep. 4 - 11/12/20
Build a “Hello World” web app
Flask and python-based server
JS app in VS Code
Fetch functionality (https://www.javascripttutorial.net/javascript-fetch-api/)
MDN Docs: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API
Standard doc: https://github.com/whatwg/fetch
CORS complications (https://www.codecademy.com/articles/what-is-cors):
https://stackoverflow.com/questions/25860304/how-do-i-set-response-headers-in-flask
YouTube Links:
Ep. 5 - 11/19/2020
We'll take the "Hello World" programs and collect them up in a git repository hosted on github. We'll do most of this from within VS Code.
pxslip will start to build the OBS overlay system we have described on the last two streams (the working title is LST - Local Stream Tool).
Planning and defining features
Getting Electron and View set up
YouTube: youtu.be/K4rprIrrGJY
Ep. 6 - 12/3/2020
Wireshark overview
Network connections
Interface list (specifically on Windows)
LST progress:
OAUTH
YouTube: youtu.be/yP2oWj0KKBQ
Ep. 7 - 12/10/2020
OAUTH2
Review of the standard (RFC 6749) (tools.ietf.org/rfc/rfc6749.txt)
Implementation details
Demo
YouTube: youtu.be/zsaWdq5OeNk
Ep. 8 - 12/17/2020
OAUTH2 add-ons
PKCE (tools.ietf.org/rfc/rfc7636.txt )
OpenID Connect (openid.net/specs/openid-connect-core-1_0.html )
JWT (JSON Web Tokens) are defined in (tools.ietf.org/rfc/rfc7519.txt )
Open Source projects
How we use them in LST
How to participate in a project
"Pull Requests"
YouTube: youtu.be/UAyf-zn_9vU
Ep. 9 - 1/7/2021
HTTPS and Certificates
Using Wireshark on encrypted web traffic
Examine (encrypted) WebRTC traffic
Debugging using Wireshark
Debugging tools for Electron and Web applications
Twitch VOD: www.twitch.tv/videos/865234709
Ep. 10: 1/14/2021
LST Update
Codecs and Containers
MediaInfo - https://mediaarea.net/en/MediaInfo
Audio encoding principles
Audacity - https://www.audacityteam.org/
Video encoding principles
Twitch VOD: https://www.twitch.tv/videos/873933032
Ep. 11: 1/21/2021
More on video
Encoding/Editing with Shotcut
The ffmpeg tools
Twitch VOD: https://www.twitch.tv/videos/882926264
Ep. 12: 1/28/2021:
Follow-up from last week - graphing video bitrates
GnuPlot
Options using python
JS and a static server
The more general context:
DevOPS and modern software development workflow
The GitLab tool
Twitch VOD: https://www.twitch.tv/videos/892035593
Ep. 13: 2/4/2021:
Graphing app for video file bit rate
GitLab and CI/CD
Video frame data analysis in python
WebRTC is an approved standard (quick intro)
Twitch VOD: https://www.twitch.tv/videos/901336517
Ep. 14: 2/11/2021:
WebRTC - a look at some of the standards documents
See references in Ep. 13
Docker and Kubernetes deployment
Deploying iperf servers in docker containers using pre-made containers.
Twitch VOD: https://www.twitch.tv/videos/910484132
Ep. 15: 2/18/2021:
Docker deployment
Customizing a container for our needs.
Twitch VOD: https://www.twitch.tv/videos/919629137
Ep. 16: 2/25/2021:
Using Docker containers on cloud services
Kubernetes (I hope we finally get there)
Twitch VOD: https://www.twitch.tv/videos/928513537
Ep. 17: 3/4/2021:
VScode Remote
More Kubernetes
Twitch VOD: https://www.twitch.tv/videos/937293560
Ep. 18: 3/11/2021
A status update on our Kubernetes Cluster
kubectl
Lens (GUI)
Requests/Limits
A look at Azure's container deployment options
A brief look at Google Cloud
Twitch VOD: https://www.twitch.tv/videos/945937024
Ep. 19: 3/18/2021
Installing/Configuring a VoIP SoftSwitch
The "NetCode" problem in multiplayer games
Intro to GameMaker Studio 2 (which we will use to experiment with NetCode)
Twitch VOD: https://www.twitch.tv/videos/954533890
Ep. 20: 3/25/2021
Installing and configuring Apache 2 servers
Installation and review of the configuration.
Twitch VOD: https://www.twitch.tv/videos/963152278
Ep. 21: 4/1/2021
Apache 2 configuration options; structure of the configuration files
Twitch VOD: https://www.twitch.tv/videos/971928247
Ep. 22: 4/8/2021
Configure Apache 2 for https (self-signed certificate)
Apache 2 virtual hosts
Twitch VOD: https://www.twitch.tv/videos/980530966
Ep. 23: 4/15/2021
Apache 2 with "proper" certificates
Providing automatic directory listing
Preview of ngnix
Twitch VOD: https://www.twitch.tv/videos/988979954
Ep 24: 4/22/2021
Finishing the Apache 2 installation
Installing ngnix
Twitch VOD: https://www.twitch.tv/videos/997347305
Ep. 25: 4/29/2021:
Continuing our nginx installation
Certificate installation for nginx with Certbot
Running PhP behind Apache (pxslip)
Twitch VOD: https://www.twitch.tv/videos/1005508274