First of all install update and upgrade your system:
$ sudo apt update
$ sudo apt upgrade
Then, install required libraries:
brew install pandoc | |
brew tap homebrew/cask | |
brew cask install basictex | |
eval "$(/usr/libexec/path_helper)" | |
# Update $PATH to include `/usr/local/texlive/2020basic/bin/x86_64-darwin` | |
sudo tlmgr update --self | |
sudo tlmgr install texliveonfly | |
sudo tlmgr install xelatex | |
sudo tlmgr install adjustbox | |
sudo tlmgr install tcolorbox |
import csv | |
import tweepy | |
# get credentials at developer.twitter.com | |
auth = tweepy.OAuthHandler('API Key', 'API Secret') | |
auth.set_access_token('Access Token', 'Access Token Secret') | |
api = tweepy.API(auth) | |
# update these for whatever tweet you want to process replies to |
Preamble:
In this post I will explore how to stream a video and audio capture from one computer to another using ffmpeg and netcat, with a latency below 100ms, which is good enough for presentations and general purpose remote display tasks on a local network.
The problem:
Streaming low-latency live content is quite hard, because most software-based video codecs are designed to achieve the best compression and not best latency. This makes sense, because most movies are encoded once and decoded often, so it is a good trade-off to use more time for the encoding than the decoding.
Streaming your Linux desktop to Youtube and Twitch via Nvidia's NVENC and VAAPI:
Considerations to take when live streaming:
The following best practice observations apply when using a hardware-based encoder for live streaming to any platform:
Set the buffer size (-bufsize:v
) equal to the target bitrate (-b:v
). You want to ensure that you're encoding in CBR mode.
Set up the encoders as shown:
# | |
# This is a little script to populate Firefox Sync with | |
# fake password records. Use it like so: | |
# | |
# $> pip install PyFxA syncclient cryptography | |
# $> python ./upload_fake_passwords.py 20 | |
# | |
# It will prompt for your Firefox Account email address and | |
# password, generate and upload 20 fake password records, then | |
# sync down and print all password records stored in sync. |
{ | |
"7 Pot Brain Strain Red Pepper": "Capsicum Chinense", | |
"7 Pot Bubble Gum Pepper": "Capsicum Chinense", | |
"7 Pot Pepper Barrackpore": "Capsicum Chinense", | |
"7 Pot Pepper Brain Strain Yellow": "Capsicum Chinense", | |
"7 Pot Pepper Orange": "Capsicum Chinense", | |
"7 Pot Pepper Yellow": "Capsicum Chinense", | |
"7 Pot Pink Pepper": "Capsicum Chinense", | |
"7 Pot Rust Pepper": "Capsicum Chinense", | |
"Abe Lincoln Tomato": "Solanum Lycopersicum", |
# Usage: | |
# source iterm2.zsh | |
# iTerm2 window/tab color commands | |
# Requires iTerm2 >= Build 1.0.0.20110804 | |
# http://code.google.com/p/iterm2/wiki/ProprietaryEscapeCodes | |
tab-color() { | |
echo -ne "\033]6;1;bg;red;brightness;$1\a" | |
echo -ne "\033]6;1;bg;green;brightness;$2\a" | |
echo -ne "\033]6;1;bg;blue;brightness;$3\a" |
// Use Gists to store code you would like to remember later on | |
console.log(window); // log the "window" object to the console |