I hereby claim:
- I am pretorh on github.
- I am pretorh (https://keybase.io/pretorh) on keybase.
- I have a public key whose fingerprint is F7D8 8A0A 1F78 A572 8E6D BBA7 A676 D9AF 5767 085D
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
To list the full path of all watched files that are still accessable: (assuming the sql query was saved to list-watched-files.sql
)
sqlite3 ~/.kodi/userdata/Database/MyVideos90.db < list-watched-files.sql | xargs -L 1 -I filename ls "filename" 2>/dev/null
Kodi uses sqlite databases, located in ~/.kodi/userdata/Database/
. The video database is MyVideosXX.db
, where XX is the version (MyVideos90.db
on OSMC on 2015-05-09)
Teamcity references (follow these/updated versions, use below as summary)
The steps are based on zsh history, so there might me some missing.
/private/var/root/.BuildServer
General setup of live arch VM
Setup on VM
systemctl start sshd
passwd
Setup ssh
echo LANG=en_US.UTF-8 >> /etc/environment
echo LC_ALL=en_US.UTF-8 >> /etc/environment
hostnamectl set-hostname --static example.com
openssl genrsa -des3 -passout pass:x -out server.pass.key 2048
openssl rsa -passin pass:x -in server.pass.key -out server.key
openssl req -new -key server.key -out server.csr -subj "/CN=localhost"
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
rm server.pass.key server.csr
(use "/C=/ST=/L=/O=IT/CN=localhost"
with country code, state|province name, location name for more details in the cert)
I hereby claim:
To claim this, I am signing this object:
creating:
GNUPGHOME=${GNUPGHOME?'need path for new gnupg home dir'}
GPG_PASS_PHRASE=${GPG_PASS_PHRASE-passphrase}
# refuse to overwrite existing
if [ -e "$GNUPGHOME" ] ; then
echo "$GNUPGHOME already exists!"
exit 1
Find the table / table body, and get the rows: $('tbody').children('tr')
For a specific row (ex 12th), find the cells (td
s): .eq(11).children('td')
For all the cells, skip those that have an attribute: not('td[rowspan=8]')
Skip over some fixed columns (ex start at column 2): slice(1, 31)
For example on http://www.tshwane.gov.za/sites/Departments/Public-works-and-infrastructure/Pages/Load-Shedding.aspx, to get
import androidx.lifecycle.LiveData | |
import androidx.lifecycle.MediatorLiveData | |
fun <T1, T2> mergeLiveData(source1: LiveData<T1>, source2: LiveData<T2>): LiveData<Pair<T1, T2>> { | |
val result = MediatorLiveData<Pair<T1, T2>>() | |
var data1: T1? = null | |
var data2: T2? = null | |
fun postDataIfBothAvailable() { |