Skip to content

Instantly share code, notes, and snippets.

@pagdot
Last active July 25, 2021 15:50
Show Gist options
  • Save pagdot/3b39187c6e0ca18dedd1f1108338855f to your computer and use it in GitHub Desktop.
Save pagdot/3b39187c6e0ca18dedd1f1108338855f to your computer and use it in GitHub Desktop.
Selfhosted.show transcription
#!/bin/bash
apikey=redacted
url=redacted
file=test2
# run watson
curl -X POST -u "apikey:${apikey}" --header "Content-Type: audio/mp3" --data-binary @${file}.mp3 "${url}/v1/recognize?model=en-US_BroadbandModel&speaker_labels=true" > ${file}.json
# download youtube transcription as ttml
youtube-dl -o "sub" --write-auto-sub --sub-format=ttml --skip-download https://www.youtube.com/watch\?v\=ro9D2-vxB5Q
import json
raw = open("test.json", "r")
timestamps = parsed['results'][0]['alternatives'][0]['timestamps']
labels = parsed['speaker_labels']
last = -1
label_idx = 0
for i in range(0, len(parsed['results'])-1):
timestamps = parsed['results'][i]['alternatives'][0]['timestamps']
for j in range(0, len(timestamps)-1):
label = parsed['speaker_labels'][label_idx]
if last != label['speaker']:
print(f"\n{label['speaker']}: ", end = '')
last = label['speaker']
print(f"{timestamps[j][0]} ", end = '')
label_idx = label_idx + 1
print()
import json
from bs4 import BeautifulSoup
from parse import parse
raw = open("test.json", "r")
xml = open("sub.en.ttml", "r")
parsed = json.load(raw)
xml_root = BeautifulSoup(xml, 'lxml')
xml_items = xml_root.find('body').find('div').findAll('p')
timestamps = parsed['results'][0]['alternatives'][0]['timestamps']
labels = parsed['speaker_labels']
def first_match(iterable, predicate):
try:
return next(idx for idx,n in enumerate(iterable) if predicate(n))
except StopIteration:
return None
def parseTime(str):
result = parse("{:d}:{:d}:{:f}", str)
time = result[0] * 3600 + result[1] * 60 + result[2]
return time
last = -1
for item in xml_items:
start = parseTime(item.get('begin'))
end = parseTime(item.get('end'))
label_idx = first_match(labels, lambda x:
(start >= x['from'] and start <= x['to']) or # start between from and to
(end >= x['from'] and end <= x['to']) or # end between from and to
(x['from'] >= start and x['from'] <= end) or # from between start and end
(x['to'] >= start and x['to'] <= end)) # to between start and end
label = labels[label_idx]['speaker'] if label_idx != None else 'None'
if last != label:
print(f"\n{label}: ", end = '')
last = label
print(f"{item.next} ", end = '')
print()
{
"result_index": 0,
"results": [
{
"final": true,
"alternatives": [
{
"transcript": "but I'm pleased to welcome back to the show Mister Chris Fischer welcome back Chris thank you Alex I just got done drying everything off only a few moments ago we mystery man so where it's story time I need to stay awhile and listen yes and first of all thank you to Morgan for filling in I at the last minute I had to jump out when I realized that my laptop I got soaked and I didn't want to turn it on and it'll clicks together with somebody to fill in for me all right so I was set up to go camp out in the woods pre story and I wanted to get out to the woods and get set up in time for the show and so I was in a bit of a rush and I thought because I'm an idiot I thought Hey you know be a great idea is all do some updates on this laptop I've got this really old twenty thirteen macbook that runs arch Lennix by the way and so it's for me it's like this thrill to booted up about once every six months and see if when I do an update of the insulation explodes or not right so I thought well I'm running around packing up the R. ",
"confidence": 0.86,
"timestamps": [
[
"but",
0.2,
0.34
],
[
"I'm",
0.34,
0.42
],
[
"pleased",
0.42,
0.66
],
[
"to",
0.66,
0.73
],
[
"welcome",
0.73,
0.99
],
[
"back",
0.99,
1.18
],
[
"to",
1.18,
1.3
],
[
"the",
1.3,
1.38
],
[
"show",
1.38,
1.68
],
[
"Mister",
1.68,
1.99
],
[
"Chris",
1.99,
2.26
],
[
"Fischer",
2.26,
2.74
],
[
"welcome",
2.74,
3.03
],
[
"back",
3.03,
3.27
],
[
"Chris",
3.27,
3.88
],
[
"thank",
3.92,
4.14
],
[
"you",
4.14,
4.24
],
[
"Alex",
4.24,
4.54
],
[
"I",
4.54,
4.6
],
[
"just",
4.6,
4.78
],
[
"got",
4.78,
4.92
],
[
"done",
4.92,
5.12
],
[
"drying",
5.12,
5.52
],
[
"everything",
5.52,
5.93
],
[
"off",
5.93,
6.15
],
[
"only",
6.15,
6.42
],
[
"a",
6.42,
6.49
],
[
"few",
6.49,
6.68
],
[
"moments",
6.68,
7.02
],
[
"ago",
7.02,
7.39
],
[
"we",
7.6,
7.83
],
[
"mystery",
7.83,
8.2
],
[
"man",
8.2,
8.58
],
[
"so",
8.69,
9.02
],
[
"where",
9.02,
9.41
],
[
"it's",
9.88,
10.09
],
[
"story",
10.09,
10.47
],
[
"time",
10.47,
11.01
],
[
"I",
11.45,
11.59
],
[
"need",
11.59,
11.73
],
[
"to",
11.73,
11.82
],
[
"stay",
11.82,
12.04
],
[
"awhile",
12.04,
12.37
],
[
"and",
12.37,
12.47
],
[
"listen",
12.47,
12.92
],
[
"yes",
13.16,
13.49
],
[
"and",
13.49,
13.77
],
[
"first",
13.95,
14.24
],
[
"of",
14.24,
14.31
],
[
"all",
14.31,
14.42
],
[
"thank",
14.42,
14.66
],
[
"you",
14.66,
14.72
],
[
"to",
14.72,
14.79
],
[
"Morgan",
14.79,
15.25
],
[
"for",
15.28,
15.63
],
[
"filling",
15.63,
15.98
],
[
"in",
15.98,
16.42
],
[
"I",
16.48,
17.18
],
[
"at",
17.52,
17.71
],
[
"the",
17.71,
17.82
],
[
"last",
17.82,
18.34
],
[
"minute",
18.34,
18.61
],
[
"I",
18.61,
18.65
],
[
"had",
18.65,
18.83
],
[
"to",
18.83,
18.91
],
[
"jump",
18.91,
19.18
],
[
"out",
19.18,
19.44
],
[
"when",
19.44,
19.88
],
[
"I",
20.73,
20.82
],
[
"realized",
20.82,
21.22
],
[
"that",
21.22,
21.33
],
[
"my",
21.33,
21.47
],
[
"laptop",
21.47,
22.0
],
[
"I",
22.0,
22.07
],
[
"got",
22.07,
22.35
],
[
"soaked",
22.38,
22.93
],
[
"and",
22.93,
23.04
],
[
"I",
23.04,
23.08
],
[
"didn't",
23.08,
23.33
],
[
"want",
23.33,
23.46
],
[
"to",
23.46,
23.52
],
[
"turn",
23.52,
23.74
],
[
"it",
23.74,
23.83
],
[
"on",
23.83,
24.17
],
[
"and",
24.57,
24.94
],
[
"it'll",
25.81,
26.21
],
[
"clicks",
26.4,
26.75
],
[
"together",
27.39,
27.66
],
[
"with",
27.66,
27.89
],
[
"somebody",
27.89,
28.16
],
[
"to",
28.16,
28.26
],
[
"fill",
28.26,
28.48
],
[
"in",
28.48,
28.59
],
[
"for",
28.59,
28.83
],
[
"me",
28.83,
29.05
],
[
"all",
29.4,
29.48
],
[
"right",
29.48,
29.65
],
[
"so",
29.65,
29.73
],
[
"I",
29.73,
29.76
],
[
"was",
29.76,
29.89
],
[
"set",
29.89,
30.11
],
[
"up",
30.11,
30.35
],
[
"to",
30.35,
30.45
],
[
"go",
30.45,
30.59
],
[
"camp",
30.59,
30.91
],
[
"out",
30.91,
31.04
],
[
"in",
31.04,
31.1
],
[
"the",
31.1,
31.18
],
[
"woods",
31.18,
31.46
],
[
"pre",
31.46,
31.67
],
[
"story",
31.67,
32.1
],
[
"and",
32.28,
32.63
],
[
"I",
32.93,
33.06
],
[
"wanted",
33.06,
33.36
],
[
"to",
33.36,
33.43
],
[
"get",
33.43,
33.59
],
[
"out",
33.59,
33.8
],
[
"to",
33.8,
33.86
],
[
"the",
33.86,
33.97
],
[
"woods",
33.97,
34.22
],
[
"and",
34.22,
34.34
],
[
"get",
34.34,
34.5
],
[
"set",
34.5,
34.65
],
[
"up",
34.65,
34.78
],
[
"in",
34.78,
34.87
],
[
"time",
34.87,
35.12
],
[
"for",
35.12,
35.25
],
[
"the",
35.25,
35.34
],
[
"show",
35.34,
35.75
],
[
"and",
36.03,
36.21
],
[
"so",
36.21,
36.31
],
[
"I",
36.31,
36.38
],
[
"was",
36.38,
36.52
],
[
"in",
36.52,
36.62
],
[
"a",
36.62,
36.7
],
[
"bit",
36.7,
36.92
],
[
"of",
36.92,
37.0
],
[
"a",
37.0,
37.11
],
[
"rush",
37.11,
37.75
],
[
"and",
38.12,
38.79
],
[
"I",
39.07,
39.2
],
[
"thought",
39.2,
39.55
],
[
"because",
39.55,
39.7
],
[
"I'm",
39.7,
39.81
],
[
"an",
39.81,
39.96
],
[
"idiot",
39.99,
40.42
],
[
"I",
40.45,
40.53
],
[
"thought",
40.53,
40.78
],
[
"Hey",
40.78,
40.91
],
[
"you",
40.91,
41.01
],
[
"know",
41.01,
41.11
],
[
"be",
41.11,
41.24
],
[
"a",
41.24,
41.29
],
[
"great",
41.29,
41.51
],
[
"idea",
41.51,
41.85
],
[
"is",
41.85,
42.23
],
[
"all",
42.49,
42.79
],
[
"do",
42.79,
42.94
],
[
"some",
42.94,
43.1
],
[
"updates",
43.1,
43.51
],
[
"on",
43.51,
43.7
],
[
"this",
43.7,
43.85
],
[
"laptop",
43.85,
44.28
],
[
"I've",
44.28,
44.41
],
[
"got",
44.41,
44.59
],
[
"this",
44.59,
44.76
],
[
"really",
44.76,
45.29
],
[
"old",
45.29,
45.74
],
[
"twenty",
45.74,
46.09
],
[
"thirteen",
46.09,
46.65
],
[
"macbook",
46.65,
47.15
],
[
"that",
47.15,
47.27
],
[
"runs",
47.27,
47.5
],
[
"arch",
47.5,
47.78
],
[
"Lennix",
47.78,
48.33
],
[
"by",
48.47,
48.65
],
[
"the",
48.65,
48.76
],
[
"way",
48.76,
49.05
],
[
"and",
49.39,
49.79
],
[
"so",
49.79,
50.12
],
[
"it's",
50.15,
50.37
],
[
"for",
50.37,
50.52
],
[
"me",
50.52,
50.71
],
[
"it's",
50.71,
50.87
],
[
"like",
50.87,
51.06
],
[
"this",
51.06,
51.24
],
[
"thrill",
51.24,
51.61
],
[
"to",
51.61,
51.7
],
[
"booted",
51.7,
52.02
],
[
"up",
52.02,
52.21
],
[
"about",
52.21,
52.46
],
[
"once",
52.46,
52.68
],
[
"every",
52.68,
52.91
],
[
"six",
52.91,
53.18
],
[
"months",
53.18,
53.6
],
[
"and",
53.89,
54.1
],
[
"see",
54.1,
54.27
],
[
"if",
54.27,
54.45
],
[
"when",
54.9,
55.11
],
[
"I",
55.11,
55.15
],
[
"do",
55.15,
55.28
],
[
"an",
55.28,
55.36
],
[
"update",
55.36,
55.73
],
[
"of",
55.73,
55.82
],
[
"the",
55.82,
55.93
],
[
"insulation",
55.93,
56.42
],
[
"explodes",
56.42,
56.86
],
[
"or",
56.86,
56.92
],
[
"not",
56.92,
57.15
],
[
"right",
57.18,
57.5
],
[
"so",
57.9,
58.06
],
[
"I",
58.06,
58.14
],
[
"thought",
58.14,
58.37
],
[
"well",
58.37,
58.56
],
[
"I'm",
58.56,
58.7
],
[
"running",
58.7,
58.92
],
[
"around",
58.92,
59.31
],
[
"packing",
59.31,
59.6
],
[
"up",
59.6,
59.71
],
[
"the",
59.71,
59.82
],
[
"R.",
59.82,
59.98
]
]
}
]
}
],
"speaker_labels": [
{
"from": 0.2,
"to": 0.34,
"speaker": 0,
"confidence": 0.61,
"final": false
},
{
"from": 0.34,
"to": 0.42,
"speaker": 0,
"confidence": 0.61,
"final": false
},
{
"from": 0.42,
"to": 0.66,
"speaker": 0,
"confidence": 0.61,
"final": false
},
{
"from": 0.66,
"to": 0.73,
"speaker": 0,
"confidence": 0.61,
"final": false
},
{
"from": 0.73,
"to": 0.99,
"speaker": 0,
"confidence": 0.61,
"final": false
},
{
"from": 0.99,
"to": 1.18,
"speaker": 0,
"confidence": 0.61,
"final": false
},
{
"from": 1.18,
"to": 1.3,
"speaker": 0,
"confidence": 0.61,
"final": false
},
{
"from": 1.3,
"to": 1.38,
"speaker": 0,
"confidence": 0.61,
"final": false
},
{
"from": 1.38,
"to": 1.68,
"speaker": 0,
"confidence": 0.61,
"final": false
},
{
"from": 1.68,
"to": 1.99,
"speaker": 0,
"confidence": 0.61,
"final": false
},
{
"from": 1.99,
"to": 2.26,
"speaker": 0,
"confidence": 0.61,
"final": false
},
{
"from": 2.26,
"to": 2.74,
"speaker": 0,
"confidence": 0.61,
"final": false
},
{
"from": 2.74,
"to": 3.03,
"speaker": 0,
"confidence": 0.61,
"final": false
},
{
"from": 3.03,
"to": 3.27,
"speaker": 0,
"confidence": 0.61,
"final": false
},
{
"from": 3.27,
"to": 3.88,
"speaker": 0,
"confidence": 0.61,
"final": false
},
{
"from": 3.92,
"to": 4.14,
"speaker": 1,
"confidence": 0.44,
"final": false
},
{
"from": 4.14,
"to": 4.24,
"speaker": 1,
"confidence": 0.44,
"final": false
},
{
"from": 4.24,
"to": 4.54,
"speaker": 1,
"confidence": 0.44,
"final": false
},
{
"from": 4.54,
"to": 4.6,
"speaker": 1,
"confidence": 0.44,
"final": false
},
{
"from": 4.6,
"to": 4.78,
"speaker": 1,
"confidence": 0.44,
"final": false
},
{
"from": 4.78,
"to": 4.92,
"speaker": 1,
"confidence": 0.44,
"final": false
},
{
"from": 4.92,
"to": 5.12,
"speaker": 1,
"confidence": 0.44,
"final": false
},
{
"from": 5.12,
"to": 5.52,
"speaker": 1,
"confidence": 0.44,
"final": false
},
{
"from": 5.52,
"to": 5.93,
"speaker": 1,
"confidence": 0.44,
"final": false
},
{
"from": 5.93,
"to": 6.15,
"speaker": 1,
"confidence": 0.44,
"final": false
},
{
"from": 6.15,
"to": 6.42,
"speaker": 1,
"confidence": 0.44,
"final": false
},
{
"from": 6.42,
"to": 6.49,
"speaker": 1,
"confidence": 0.44,
"final": false
},
{
"from": 6.49,
"to": 6.68,
"speaker": 1,
"confidence": 0.44,
"final": false
},
{
"from": 6.68,
"to": 7.02,
"speaker": 1,
"confidence": 0.44,
"final": false
},
{
"from": 7.02,
"to": 7.39,
"speaker": 1,
"confidence": 0.44,
"final": false
},
{
"from": 7.6,
"to": 7.83,
"speaker": 0,
"confidence": 0.59,
"final": false
},
{
"from": 7.83,
"to": 8.2,
"speaker": 0,
"confidence": 0.59,
"final": false
},
{
"from": 8.2,
"to": 8.58,
"speaker": 0,
"confidence": 0.59,
"final": false
},
{
"from": 8.69,
"to": 9.02,
"speaker": 0,
"confidence": 0.56,
"final": false
},
{
"from": 9.02,
"to": 9.41,
"speaker": 0,
"confidence": 0.56,
"final": false
},
{
"from": 9.88,
"to": 10.09,
"speaker": 0,
"confidence": 0.6,
"final": false
},
{
"from": 10.09,
"to": 10.47,
"speaker": 0,
"confidence": 0.6,
"final": false
},
{
"from": 10.47,
"to": 11.01,
"speaker": 0,
"confidence": 0.6,
"final": false
},
{
"from": 11.45,
"to": 11.59,
"speaker": 0,
"confidence": 0.6,
"final": false
},
{
"from": 11.59,
"to": 11.73,
"speaker": 0,
"confidence": 0.6,
"final": false
},
{
"from": 11.73,
"to": 11.82,
"speaker": 0,
"confidence": 0.6,
"final": false
},
{
"from": 11.82,
"to": 12.04,
"speaker": 0,
"confidence": 0.6,
"final": false
},
{
"from": 12.04,
"to": 12.37,
"speaker": 0,
"confidence": 0.6,
"final": false
},
{
"from": 12.37,
"to": 12.47,
"speaker": 0,
"confidence": 0.6,
"final": false
},
{
"from": 12.47,
"to": 12.92,
"speaker": 0,
"confidence": 0.6,
"final": false
},
{
"from": 13.16,
"to": 13.49,
"speaker": 1,
"confidence": 0.41,
"final": false
},
{
"from": 13.49,
"to": 13.77,
"speaker": 1,
"confidence": 0.41,
"final": false
},
{
"from": 13.95,
"to": 14.24,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 14.24,
"to": 14.31,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 14.31,
"to": 14.42,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 14.42,
"to": 14.66,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 14.66,
"to": 14.72,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 14.72,
"to": 14.79,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 14.79,
"to": 15.25,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 15.28,
"to": 15.63,
"speaker": 1,
"confidence": 0.42,
"final": false
},
{
"from": 15.63,
"to": 15.98,
"speaker": 1,
"confidence": 0.42,
"final": false
},
{
"from": 15.98,
"to": 16.42,
"speaker": 1,
"confidence": 0.42,
"final": false
},
{
"from": 16.48,
"to": 17.18,
"speaker": 1,
"confidence": 0.45,
"final": false
},
{
"from": 17.52,
"to": 17.71,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 17.71,
"to": 17.82,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 17.82,
"to": 18.34,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 18.34,
"to": 18.61,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 18.61,
"to": 18.65,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 18.65,
"to": 18.83,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 18.83,
"to": 18.91,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 18.91,
"to": 19.18,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 19.18,
"to": 19.44,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 19.44,
"to": 19.88,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 20.73,
"to": 20.82,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 20.82,
"to": 21.22,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 21.22,
"to": 21.33,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 21.33,
"to": 21.47,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 21.47,
"to": 22.0,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 22.0,
"to": 22.07,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 22.07,
"to": 22.35,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 22.38,
"to": 22.93,
"speaker": 1,
"confidence": 0.43,
"final": false
},
{
"from": 22.93,
"to": 23.04,
"speaker": 1,
"confidence": 0.43,
"final": false
},
{
"from": 23.04,
"to": 23.08,
"speaker": 1,
"confidence": 0.43,
"final": false
},
{
"from": 23.08,
"to": 23.33,
"speaker": 1,
"confidence": 0.43,
"final": false
},
{
"from": 23.33,
"to": 23.46,
"speaker": 1,
"confidence": 0.43,
"final": false
},
{
"from": 23.46,
"to": 23.52,
"speaker": 1,
"confidence": 0.43,
"final": false
},
{
"from": 23.52,
"to": 23.74,
"speaker": 1,
"confidence": 0.43,
"final": false
},
{
"from": 23.74,
"to": 23.83,
"speaker": 1,
"confidence": 0.43,
"final": false
},
{
"from": 23.83,
"to": 24.17,
"speaker": 1,
"confidence": 0.43,
"final": false
},
{
"from": 24.57,
"to": 24.94,
"speaker": 1,
"confidence": 0.43,
"final": false
},
{
"from": 25.81,
"to": 26.21,
"speaker": 0,
"confidence": 0.54,
"final": false
},
{
"from": 26.4,
"to": 26.75,
"speaker": 0,
"confidence": 0.55,
"final": false
},
{
"from": 27.39,
"to": 27.66,
"speaker": 1,
"confidence": 0.29,
"final": false
},
{
"from": 27.66,
"to": 27.89,
"speaker": 1,
"confidence": 0.29,
"final": false
},
{
"from": 27.89,
"to": 28.16,
"speaker": 1,
"confidence": 0.29,
"final": false
},
{
"from": 28.16,
"to": 28.26,
"speaker": 1,
"confidence": 0.29,
"final": false
},
{
"from": 28.26,
"to": 28.48,
"speaker": 1,
"confidence": 0.29,
"final": false
},
{
"from": 28.48,
"to": 28.59,
"speaker": 1,
"confidence": 0.29,
"final": false
},
{
"from": 28.59,
"to": 28.83,
"speaker": 1,
"confidence": 0.29,
"final": false
},
{
"from": 28.83,
"to": 29.05,
"speaker": 1,
"confidence": 0.29,
"final": false
},
{
"from": 29.4,
"to": 29.48,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 29.48,
"to": 29.65,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 29.65,
"to": 29.73,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 29.73,
"to": 29.76,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 29.76,
"to": 29.89,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 29.89,
"to": 30.11,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 30.11,
"to": 30.35,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 30.35,
"to": 30.45,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 30.45,
"to": 30.59,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 30.59,
"to": 30.91,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 30.91,
"to": 31.04,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 31.04,
"to": 31.1,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 31.1,
"to": 31.18,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 31.18,
"to": 31.46,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 31.46,
"to": 31.67,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 31.67,
"to": 32.1,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 32.28,
"to": 32.63,
"speaker": 1,
"confidence": 0.32,
"final": false
},
{
"from": 32.93,
"to": 33.06,
"speaker": 1,
"confidence": 0.57,
"final": false
},
{
"from": 33.06,
"to": 33.36,
"speaker": 1,
"confidence": 0.57,
"final": false
},
{
"from": 33.36,
"to": 33.43,
"speaker": 1,
"confidence": 0.57,
"final": false
},
{
"from": 33.43,
"to": 33.59,
"speaker": 1,
"confidence": 0.57,
"final": false
},
{
"from": 33.59,
"to": 33.8,
"speaker": 1,
"confidence": 0.57,
"final": false
},
{
"from": 33.8,
"to": 33.86,
"speaker": 1,
"confidence": 0.57,
"final": false
},
{
"from": 33.86,
"to": 33.97,
"speaker": 1,
"confidence": 0.57,
"final": false
},
{
"from": 33.97,
"to": 34.22,
"speaker": 1,
"confidence": 0.57,
"final": false
},
{
"from": 34.22,
"to": 34.34,
"speaker": 1,
"confidence": 0.57,
"final": false
},
{
"from": 34.34,
"to": 34.5,
"speaker": 1,
"confidence": 0.57,
"final": false
},
{
"from": 34.5,
"to": 34.65,
"speaker": 1,
"confidence": 0.57,
"final": false
},
{
"from": 34.65,
"to": 34.78,
"speaker": 1,
"confidence": 0.57,
"final": false
},
{
"from": 34.78,
"to": 34.87,
"speaker": 1,
"confidence": 0.57,
"final": false
},
{
"from": 34.87,
"to": 35.12,
"speaker": 1,
"confidence": 0.57,
"final": false
},
{
"from": 35.12,
"to": 35.25,
"speaker": 1,
"confidence": 0.57,
"final": false
},
{
"from": 35.25,
"to": 35.34,
"speaker": 1,
"confidence": 0.57,
"final": false
},
{
"from": 35.34,
"to": 35.75,
"speaker": 1,
"confidence": 0.57,
"final": false
},
{
"from": 36.03,
"to": 36.21,
"speaker": 1,
"confidence": 0.43,
"final": false
},
{
"from": 36.21,
"to": 36.31,
"speaker": 1,
"confidence": 0.43,
"final": false
},
{
"from": 36.31,
"to": 36.38,
"speaker": 1,
"confidence": 0.43,
"final": false
},
{
"from": 36.38,
"to": 36.52,
"speaker": 1,
"confidence": 0.43,
"final": false
},
{
"from": 36.52,
"to": 36.62,
"speaker": 1,
"confidence": 0.43,
"final": false
},
{
"from": 36.62,
"to": 36.7,
"speaker": 1,
"confidence": 0.43,
"final": false
},
{
"from": 36.7,
"to": 36.92,
"speaker": 1,
"confidence": 0.43,
"final": false
},
{
"from": 36.92,
"to": 37.0,
"speaker": 1,
"confidence": 0.43,
"final": false
},
{
"from": 37.0,
"to": 37.11,
"speaker": 1,
"confidence": 0.43,
"final": false
},
{
"from": 37.11,
"to": 37.75,
"speaker": 1,
"confidence": 0.43,
"final": false
},
{
"from": 38.12,
"to": 38.79,
"speaker": 1,
"confidence": 0.5,
"final": false
},
{
"from": 39.07,
"to": 39.2,
"speaker": 1,
"confidence": 0.47,
"final": false
},
{
"from": 39.2,
"to": 39.55,
"speaker": 1,
"confidence": 0.47,
"final": false
},
{
"from": 39.55,
"to": 39.7,
"speaker": 1,
"confidence": 0.47,
"final": false
},
{
"from": 39.7,
"to": 39.81,
"speaker": 1,
"confidence": 0.47,
"final": false
},
{
"from": 39.81,
"to": 39.96,
"speaker": 1,
"confidence": 0.47,
"final": false
},
{
"from": 39.99,
"to": 40.42,
"speaker": 1,
"confidence": 0.38,
"final": false
},
{
"from": 40.45,
"to": 40.53,
"speaker": 1,
"confidence": 0.47,
"final": false
},
{
"from": 40.53,
"to": 40.78,
"speaker": 1,
"confidence": 0.47,
"final": false
},
{
"from": 40.78,
"to": 40.91,
"speaker": 1,
"confidence": 0.47,
"final": false
},
{
"from": 40.91,
"to": 41.01,
"speaker": 1,
"confidence": 0.47,
"final": false
},
{
"from": 41.01,
"to": 41.11,
"speaker": 1,
"confidence": 0.47,
"final": false
},
{
"from": 41.11,
"to": 41.24,
"speaker": 1,
"confidence": 0.47,
"final": false
},
{
"from": 41.24,
"to": 41.29,
"speaker": 1,
"confidence": 0.47,
"final": false
},
{
"from": 41.29,
"to": 41.51,
"speaker": 1,
"confidence": 0.47,
"final": false
},
{
"from": 41.51,
"to": 41.85,
"speaker": 1,
"confidence": 0.47,
"final": false
},
{
"from": 41.85,
"to": 42.23,
"speaker": 1,
"confidence": 0.47,
"final": false
},
{
"from": 42.49,
"to": 42.79,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 42.79,
"to": 42.94,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 42.94,
"to": 43.1,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 43.1,
"to": 43.51,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 43.51,
"to": 43.7,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 43.7,
"to": 43.85,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 43.85,
"to": 44.28,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 44.28,
"to": 44.41,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 44.41,
"to": 44.59,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 44.59,
"to": 44.76,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 44.76,
"to": 45.29,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 45.29,
"to": 45.74,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 45.74,
"to": 46.09,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 46.09,
"to": 46.65,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 46.65,
"to": 47.15,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 47.15,
"to": 47.27,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 47.27,
"to": 47.5,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 47.5,
"to": 47.78,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 47.78,
"to": 48.33,
"speaker": 1,
"confidence": 0.53,
"final": false
},
{
"from": 48.47,
"to": 48.65,
"speaker": 1,
"confidence": 0.4,
"final": false
},
{
"from": 48.65,
"to": 48.76,
"speaker": 1,
"confidence": 0.4,
"final": false
},
{
"from": 48.76,
"to": 49.05,
"speaker": 1,
"confidence": 0.4,
"final": false
},
{
"from": 49.39,
"to": 49.79,
"speaker": 1,
"confidence": 0.39,
"final": false
},
{
"from": 49.79,
"to": 50.12,
"speaker": 1,
"confidence": 0.39,
"final": false
},
{
"from": 50.15,
"to": 50.37,
"speaker": 1,
"confidence": 0.54,
"final": false
},
{
"from": 50.37,
"to": 50.52,
"speaker": 1,
"confidence": 0.54,
"final": false
},
{
"from": 50.52,
"to": 50.71,
"speaker": 1,
"confidence": 0.54,
"final": false
},
{
"from": 50.71,
"to": 50.87,
"speaker": 1,
"confidence": 0.54,
"final": false
},
{
"from": 50.87,
"to": 51.06,
"speaker": 1,
"confidence": 0.54,
"final": false
},
{
"from": 51.06,
"to": 51.24,
"speaker": 1,
"confidence": 0.54,
"final": false
},
{
"from": 51.24,
"to": 51.61,
"speaker": 1,
"confidence": 0.54,
"final": false
},
{
"from": 51.61,
"to": 51.7,
"speaker": 1,
"confidence": 0.54,
"final": false
},
{
"from": 51.7,
"to": 52.02,
"speaker": 1,
"confidence": 0.54,
"final": false
},
{
"from": 52.02,
"to": 52.21,
"speaker": 1,
"confidence": 0.54,
"final": false
},
{
"from": 52.21,
"to": 52.46,
"speaker": 1,
"confidence": 0.54,
"final": false
},
{
"from": 52.46,
"to": 52.68,
"speaker": 1,
"confidence": 0.54,
"final": false
},
{
"from": 52.68,
"to": 52.91,
"speaker": 1,
"confidence": 0.54,
"final": false
},
{
"from": 52.91,
"to": 53.18,
"speaker": 1,
"confidence": 0.54,
"final": false
},
{
"from": 53.18,
"to": 53.6,
"speaker": 1,
"confidence": 0.54,
"final": false
},
{
"from": 53.89,
"to": 54.1,
"speaker": 1,
"confidence": 0.52,
"final": false
},
{
"from": 54.1,
"to": 54.27,
"speaker": 1,
"confidence": 0.52,
"final": false
},
{
"from": 54.27,
"to": 54.45,
"speaker": 1,
"confidence": 0.52,
"final": false
},
{
"from": 54.9,
"to": 55.11,
"speaker": 1,
"confidence": 0.56,
"final": false
},
{
"from": 55.11,
"to": 55.15,
"speaker": 1,
"confidence": 0.56,
"final": false
},
{
"from": 55.15,
"to": 55.28,
"speaker": 1,
"confidence": 0.56,
"final": false
},
{
"from": 55.28,
"to": 55.36,
"speaker": 1,
"confidence": 0.56,
"final": false
},
{
"from": 55.36,
"to": 55.73,
"speaker": 1,
"confidence": 0.56,
"final": false
},
{
"from": 55.73,
"to": 55.82,
"speaker": 1,
"confidence": 0.56,
"final": false
},
{
"from": 55.82,
"to": 55.93,
"speaker": 1,
"confidence": 0.56,
"final": false
},
{
"from": 55.93,
"to": 56.42,
"speaker": 1,
"confidence": 0.56,
"final": false
},
{
"from": 56.42,
"to": 56.86,
"speaker": 1,
"confidence": 0.56,
"final": false
},
{
"from": 56.86,
"to": 56.92,
"speaker": 1,
"confidence": 0.56,
"final": false
},
{
"from": 56.92,
"to": 57.15,
"speaker": 1,
"confidence": 0.56,
"final": false
},
{
"from": 57.18,
"to": 57.5,
"speaker": 1,
"confidence": 0.26,
"final": false
},
{
"from": 57.9,
"to": 58.06,
"speaker": 1,
"confidence": 0.42,
"final": false
},
{
"from": 58.06,
"to": 58.14,
"speaker": 1,
"confidence": 0.42,
"final": false
},
{
"from": 58.14,
"to": 58.37,
"speaker": 1,
"confidence": 0.42,
"final": false
},
{
"from": 58.37,
"to": 58.56,
"speaker": 1,
"confidence": 0.42,
"final": false
},
{
"from": 58.56,
"to": 58.7,
"speaker": 1,
"confidence": 0.42,
"final": false
},
{
"from": 58.7,
"to": 58.92,
"speaker": 1,
"confidence": 0.42,
"final": false
},
{
"from": 58.92,
"to": 59.31,
"speaker": 1,
"confidence": 0.42,
"final": false
},
{
"from": 59.31,
"to": 59.6,
"speaker": 1,
"confidence": 0.42,
"final": false
},
{
"from": 59.6,
"to": 59.71,
"speaker": 1,
"confidence": 0.42,
"final": false
},
{
"from": 59.71,
"to": 59.82,
"speaker": 1,
"confidence": 0.42,
"final": false
},
{
"from": 59.82,
"to": 59.98,
"speaker": 1,
"confidence": 0.42,
"final": true
}
]
}
Alex: but I'm pleased to welcome back to the show Mister Chris Fischer welcome back Chris
Chris: thank you Alex I just got done drying everything off only a few moments ago
Alex: we mystery man so where it's story time I need to stay awhile and listen
Chris: yes and first of all thank you to Morgan for filling in I at the last minute I had to jump out when I realized that my laptop I got soaked and I didn't want to turn it on and
Alex: it'll clicks
Chris: together with somebody to fill in for me all right so I was set up to go camp out in the woods pre story and I wanted to get out to the woods and get set up in time for the show and so I was in a bit of a rush and I thought because I'm an idiot I thought Hey you know be a great idea is all do some updates on this laptop I've got this really old twenty thirteen macbook that runs arch Lennix by the way and so it's for me it's like this thrill to booted up about once every six months and see if when I do an update of the insulation explodes or not right so I thought well I'm running around packing up the RV I'll set this thing to do some updates just so I can you know have like a little thing to do for my eighty and check in on it and so I'm packing up then I go around I collect all of my electronics because I had my kids and I had been going through some stuff and so we had it the fire tablets were down off the wall that we use to control home assistant our front end and some game controllers were out and we're going down the road we want to get there quick so I just took this basket and like a good little boy picked up everything and put my basket because I don't want that basket to spill so I I said in the back in the bathroom and finished up my laptop and close the lid and what about packing up the rest of the RV I'm driving down the road for probably twenty twenty five minutes and I realize I should probably get gas because I'm gonna be off grid for a while and if for some reason we don't get good solar I'm gonna need to be able to run my generator so I I I pulled to a gas station and I start to pull in which is a down hill kind of turned in and as I pull into the gas station and begin to climb down into the parking lot I feel like like a wave sound behind me like I'm like is there a noise maker on may I turn around look over my shoulder Alex and I see this wave of water coming down the middle of the hallway of my RV it sloshes down into the food that
Alex: into this then
Chris: the step well it's all over the place it's coming down and my feet while I'm driving it was everywhere how
Alex: tied to terror also pocket when you saw Alex in
Chris: like one motion I like grabbed the radio and a radio to my wife because she's chasing me in the car behind there you got to get in here quickly got emergency I throw the radio down I parked the RV stand up and I began just walking straight to the back and as I approach the back of the R. V. I hear the sound I immediately it's about water pump and its competence pump in its pump and it shouldn't be on but in our
Alex: rush
Chris: to leave I have left it on and didn't notice and so I flip it off as they open the door and I look right at the sink all right it's just instinctively knew the problem was going to be somehow I knew and I could immediately see the entire chain of events I had left that big old heavy macbook on the counter and when I went down the road it slid down the counter sled just right and fell into the sink and as it fell it turned the faucet on which is where my basket full of electronics was sitting home the big
Alex: dirt
Chris: that Alex to turn into a bath tub Alex it was it was so bad Alex it soak everything and then proceeded to spill out from there into the rest of the R. about seventeen seventeen fifteen twenty gallons it's hard to I got the laptop got all the fire tablets got the game controllers got all the charging bricks everything not to mention flooded the RV I I I I had to act quick and so thankfully I was able to position the RV in such a way that it kind of tilted it so I could just get all the water to pour out in one direction and then I just like two hours dried up then we moved out
Alex: to a
Chris: spot in the woods and spend another couple of hours trying to dry it all I lost a lot of devices a lot of good devices died that day but not that stupid old macbook it's still
Alex: Kickin even
Chris: though I got water in the event in the vents and all that it's still the device that caused the problem just ran away
Alex: getting teed up today doing great yeah although its power adapter bit the dust so I
Chris: don't know exactly what it's long term plan once that's like cutting in nice of to spite your
Alex: face isn't it that's why you should plan and plan to learn
Chris: visit our sponsor cloud guerrilla leader learning for the cloud Lennix and other modern tech skills hundreds of courses and thousands of hands on labs get certified get hired get learning at a cloud guru dot com yeah that story just hurts me so deeply because
Alex: water and electronics you just have this pathological thing that they don't yeah go with the they just don't mix like now I've probably missed out on several experiences in
Chris: my
Alex: life because I had a fight in my pocket I'm like well I'm gonna go and run in the ocean or whatever it is because of a fight in my pocket and and so many devices obvious statement time but I
Chris: really was feeling miss so many devices have the battery built in and so there's just nothing I can do damn man I feel your pain I really it
Alex: was rough it was rough insight now I have to
Chris: selectively choose what I'm gonna replace and what I'm just gonna try to live without okay and you just miss prime I
Alex: know that crossed my mind because I had a couple of fire tablets
Chris: in the mix don one all right you got something to cheer me up what I
Alex: was watching a YouTube as a as is often the case in in my household and I was watching a video by techno to him and he did that and Phalia introduction this is a single sign service that basically allows you to have one login cookie gets set which then allows you to login so all of the
Chris: services
Alex: that you select through a set of rules you configure to say it right if I want to access them nextcloud as long as it was taken set then I'm I'm all good and then you could do it for a week he any of any of the services are running on the and the really nice
Chris: thing is
Alex: it is it's configured with a single line of docker compose configuration so you just added a single line to declare that you want to use Australia as what's called a piece of middleware in the traffic M. and you're good to go that's it I see so it is personal we should mention it's open source and it essentially takes
Chris: authentication requests using in genetics and provides authorization for those authentication requests yeah not just engine axis supports traffic as well as a bunch of others and actually
Alex: more recently supports communities ingress controllers which is nice as well I am checking it
Chris: out
Alex: right now it actually looks like it is a pretty good
Chris: interface to so this will have linked in the show notes or you can go to a U. T. H. E. L. I. A. dot com you don't really need a whole bunch of interface for a a
Alex: login client essentially what happens when you have a service that's backed by this let's see I got a wiki my my personal wiki mightily wiki traffic will detect that I've set that piece of middleware is part of the chain of traffic that it wants to go through and so I will finally wear them pop up but a standard web formal type in my username and password it does support two factor authentication save free even for services that don't have to F. A. natively I can use failure to adds to FAP to those services as well and then just transparently and that token lasts for the length and duration of your session you can figure out how long it is I think it's five minutes by default any of the service has the same rule on your system it will re use the authentication token sorry fuel switching between a bunch of different services on your system login once and you're locked into all of them all at once automatically boy that does seem nice if you have a lot of great features in here all right well sounds like something
Chris: to check out we talk about this kind of stuff also when we talk about things like hosting your own password manager or hosting your own email I wonder if there's an audience and I wonder if you at the tone of there's a portion of the audience that things I'd never want to host this this crosses a line like this is this is like this breaks and things get hosed and so I I wonder if there isn't just a discussion to be had there Alex where that line is for us and if we ever consider dropping something saying you know what I'll just go with the commercial service for this is this grumpy old man Alex coming out here but my tolerance for breaking B. L. update
Alex: B. F. dot G. power whatever the reason my tolerance is so low these days and a couple
Chris: of episodes
Alex: ago I mentioned I had myself from the desk next to me because of trouble shooting some issues with hard drives failing it turns out it wasn't a hard drives failing I wasted maybe three weeks I'm trying all sorts of different drives and cables and disk controllers no it was the power cable from the power supply to the drives no kidding I wasted three weeks on that damn thing and that that just left me with a huge bitter
Chris: taste in
Alex: my mouth and you know I'm not going to stop self hosting time don't worry audience were but they were just moments a not three week paradox like screw this I just want to throw the towel in and just be done and just pay Netflix so whoever it is well you know in that same time I think you also have a certain home system update not go so well
Chris: so you were really getting it from both ends yeah that's the thing and you know this week another example is that nextcloud just stopped working for some reason I
Alex: have no idea why I've been sent on nextcloud nineteen for the last year plus I haven't touched it I I pull in the regular updates that they provide to the nineteen brunch for docker hub tagging but I don't update major versions of nextcloud in this I have a good reason to you because I don't want all of the new stuff but I just use it for documents that's pretty much it right I actually figure this out because I got a notification on my phone because photo upload stop working it said
Chris: discoveries
Alex: in maintenance mode and I'm like okay I remember I thought this before see you Google it best result says going to the config file and edit a single line that says change maintenance mode from true to false in the conflict a PHP so I did that was already set to maintenance mode falls some might hope K. E. well clearly something's going on here so I then start looking into the next trial container and then it said something about character in coding UTF eight charset sind just at that point I was like oh no here we go this is gonna be a long long story short I ended up having to go into the MySQL container itself with the docker exec command get into the my sequel nitty gritty details delay and change a couple of data types from vault shots to text fields analyst you know stuff is way over the head of most people are doing self hosting unless this is your day I just thought to myself who is this stuff targeted at if I was paying for nextcloud as a hosted service I mean these things exist but Google drive moon a similar one drive you know all these different cloud file repositories if these things broke and I had to jump through all these different hoops to fix I would just buy great two different service and yet because I feel a certain sense of obligation partly because of the show but also partly because of my beliefs towards self hosting in general I power through it but sometimes I I just want to throw the towel in you know did you ever get to the root of why that nextcloud issue just cropped up M. I think it was because of the the character encoding so wind up
Chris: doing is part of the troubleshooting process was like right okay well I mean
Alex: the weeds here may as well go to nextcloud twenty two of them here yes that would be my line of thinking too yeah and then I thought wait it it didn't stop because I saw some database schema changes of probably happened
Chris: and it's just not tested properly in nineteen okay
Alex: fine August the next major release that stable yeah and so like I said Gee
Chris: I
Alex: had to drop to the my sequel command line delete a couple of tables that were failing the repair because there's an OCC command so you can you can login to the extra container and run this like a shell look at the C. L. I. M. to bill into echoed ICC I'm cloud client I would imagine it's what it stands for thank quote me on and you can do a bunch of maintenance
Chris: stuff
Alex: like into maintenance mode on and off you can repair things eccentricity and it kept failing on this line item to do with news articles which is a plug and I don't even use anymore I think I am able to for testing and then forgot and that much like my home is just an update I probably missed in the logs because I don't necessarily look at the logs every day because of other stuff to and yet once I deleted the news who wants a gun into the correct database table and then deleted this thread for lines that were causing the schema migrations to fail then the upgrade proceeded and it was all
Chris: fine
Alex: but it took me a couple of hours I've had those moments where I thought maybe like the server was dead and gone and I thought I don't I don't know if I I don't know if I ever want
Chris: to rebuild I'm in thanks bye they came back and I thought okay
Alex: I'm gonna get my back up better get my back up they
Chris: get out I yeah because I mean you really got it I mean you got a hardware failure in your server you got a software failure in nextcloud home assistant a pretty dramatic home assistant failure based on some deprecation changes I mean you got a one after another I recently also had a home assistant update go south wind the OS update didn't complete correctly the system locked up and then rebooted and then it couldn't get an I. P. until I had fiddled with her for quite a while and have for a brief moment I thought to myself should I just bail on this and maybe just go back to a traditional server and I'm assisting core container and just keep it OB and then it gets working again and I think okay no this is better and I like this and I think to myself in the grand scheme of things this is the cost of having full control over the services and it does give me a better appreciation of the value that the cloud providers are offering and it makes me also understand how valuable my data must be if they can pay for the services based on my name Mason like wow there must be some real value there because it's not cheap and to keep something reliable like file services for you know a ten year streak actually takes an incredible amount of effort yeah you're not wrong I mean these these guys their entire jobs I mean a site reliability engineer says the name of our you know S. supporters club that we have there's an entire job dedicated to keeping things up
Alex: and stable and reliable these guys they write software they write scripts they do all sorts of ninja magic to to keep the services online I think part of it Alex is giving yourself and you've done this you know the ability to rebuild fairly quickly like you do that you makes you makes if you adopt something you make sure that you
Chris: can redeploy as necessary in those kinds of things I think they help a lot but if I I think this show should ask the question more often is there a cloud service that could do this and if there is why are we not choosing to use it because it is a big trade off every time and the more critical the services to you I think the more serious you have to consider that try to think of a good example I suppose wiki would beat the someone because you can you can probably throw some stuff on get hopping over around the Republic tree as a bunch of text files Hey
Alex: cool via wiki if you want to you could go to some random website as a body properly wiki capabilities but there's nothing quite like hosting your writing keeping that kind of information in house because the the role of whiskey in particular often is to propri tree you know custom information United maybe wifi passwords feel house or something the date code to the safe so that your wife can open it when you're out so something other than what people storing them in their time wikis but there could be some sensitive information in there sounds like you have a code for a safe that if I was ever on your lan I should try to get that code by the safe thing only he has the same okay it's a good example you're right I have
Chris: been thinking like how can I leave my wife notes in a way that is fully secure and there is this feeling that I
Alex: think is actually pretty special and is this total feel
Chris: of control and I I feel this when I am off grid and I'm generating my own power and I've brought my own food and I don't need anyone to do anything I a for for a brief moment I feel like I'm truly in control and I have that same sense when it comes to everything being offline in my RV and and being self contained to the RV and having having this done through this project off grid where I off loaded a bunch of services and got everything running when when I get access to that stuff it's
Alex: it's
Chris: like this is this feeling of confidence that we get so sparingly now with with so many cloud services that integrate with our mobile devices are integrated with commercial desktops less and less consumers and and technology users have control less unless they have less control than ever of modifying their devices of controlling their devices or even determining who has access to their data or if it can be scanned or any of that and so when we have these areas we can actually exercise that control we have to keep doing it or else it will go away if there's no users of the self hosted services and if there's no market demand for this control the developers and the companies that serve that each will dry up and so it's like you have to always be looking like where can I exercise that control where does it matter the most and that's kind of where I've come down on it okay this information like secret stuff I want to give my wife that is always going to be on my land like I'm just never gonna put anywhere else and thankfully you know I've come up with a little system was just a markdown files it's really simple it's not it's not it's not a big effort to actually do it you all right there are an increasing number of companies doing stuff for this market place in a two year we had been told by the last episode with Morgan have announced the a native I'm assistant integration as part of their product line
Alex: yes these things are happening and you see what's his name Linus Sebastian has just bought a new house and he's talking about how he's gonna implement smart dampers in every room signal at conditioning every room and how there is lots of proprietary services that could do this stuff and how it's just all so overwhelming and I think that's largely what I'm feeling too is just a bit overwhelmed by the amount of stuff I could do you know it's not even necessarily just when stuff breaks says it's it's not feeling of once I put my daughter to battle something in the evening of okay I've got a couple of hours before I go to sleep now I don't want to just sit and venture much cartoons necessarily I'll do that while some doing something else but what out of my huge long list of ideas I've got should I pick an accountable the Dodgers watch you know what I've been doing is like the really simple stuff I went through my home system dashboard and I made individual I chose like individual icons for each entity so each light ball has like a unique light bulb icon really just slow
Chris: kind of paced work while I was watching Rick and you know it's a it's like not very high cognitive load but I can sit there and fiddle with something and then the other thing that I did recently it was it was one of those moments where I was like I don't need to build
Alex: something complicated
Chris: here I could just get a couple of window fans off of Amazon that have manual controls plug them into some smart plugs and I can have some set the input and I can have some set the output and then I could just set up automations to turn the smart plugs on and off and it was one of those moments where it's like I could just do something very simple for cooling and it would probably take me thirty five minutes to set it all up and I was so down in the weeds with all of these things like I could build a new virtualisation back and and then I could set up individual host OS's and then the containers in there like I was going through this entire thing about how I wanted to rebuild all the infrastructure and I thought you know what else I could do is I could just spend thirty minutes doing this tonight I'll spend thirty minutes doing that tomorrow and over a couple of nights I got it all done if it works getting Leno dot com slash SSH go there to support the show ended one hundred dollars in credit on a new account Lynott is our cloud hosting provider when we're building something that we want to experiment with we do it on the
Alex: note there's a lot of
Chris: quick ways to deploy them eleven data centers to choose from if crazy fast network connections and a whole range of types of servers so we want something simple will get like a five dollar a month system but sometimes we want some dedicated CPUs or GPUs they have a lot of choices Roger wrote into the show to say that he is
Alex: Leno to replace zoom
Chris: with something he can host himself he says along with just about everybody else the Milwaukee Lennix users group had to go to virtual data covered nineteen and as you might expect from a group of Lennix users they were a big fan of using zoom they wanted to use gypsy so I looked around at different providers and they chose Lin note they pick the five dollar a month machine and they also chose to do the automatic backup service so that way there's just backups are just taking care of they installed gypsy me on that system and they're not using it with nextcloud talk to do the video calls for their luck all running on the you know what's really nice about this too is is Roger was able to prototype gypsy and nextcloud and try them all out really quickly in environments that are production style environments you can really get a sense for how it's going to and it's pretty great because at one point they made a change to nextcloud just before the lug meeting and it broke the whole ride just as they were able to use the snapshot that they got with the automatic back ups and just roll all right so is basically a non issue and then after the log was over they were able to continue on with the nextcloud update and that's just an example of how you can use let out you know to run your own zoom instance they also have a one click deployment for own cast which is essentially a twitch in a you can use it for that as well there's so many different choices from hosting your website to their object storage like I use it for like a sink thing instance just go try it out learn something and experiment with that one hundred dollars and support the show at Lenovo
Alex: dot com slash now in case you haven't
Chris: heard we getting together in Denver I'm looking forward to this and not only is Alex going to be there but he's gonna be our trivia master at the meet up so you got to come just to say hi Alex looking forward to that I've been
Alex: working hard on the trivia questions I promise you they'll be
Chris: a bunch of limits questions they'll be some United general knowledge stuff but there's also going to be some like older more esoteric hardware questions as well I've been having a real fun digging out
Alex: some of these I'm looking forward to that so we'll have the meat of details we have to meet ups actually planned Alex gonna be the Denver meet up there's also a Salt Lake City meet up on the books details are over at meetup dot com slash Jupiter broadcasting and then additionally in lady juice my RV I will have
Chris: a live tracker and if there is and there will be more details and if it works out we'll do a little micrometer just be you know just come by and say hi and we'll have this embedded web page that you'll be able to view over at colony tracker dot live it'll show you right where we are at it's all in the works right now just in this last week we got the back and set up for own tracks to record where I'm actually going to be at and that's a pretty neat deal Alex how are you doing that is up on the night or something yeah of gore is naturally yeah yeah of course yeah yeah in fact we just we just decided to do a
Alex: Lauren winnowed because what we want to
Chris: do is put a little website on there that has the details
Alex: and stuff and then tracks itself is kind of like in
Chris: multiple components and so the recorder
Alex: is a docker image that you
Chris: can deploy and that's like a light weight back in that stores the location data and you can publish your location information to it in two different ways either over H. T. T. P. or over M. Q. T. T. and then the recorder as the name implies records information and then makes your location data available which is all completely under your control via a a berry a set of API's at some of which can integrate directly in the home assistant so you can actually use own tracks to provide home assistant with your real time location which is a fantastic way to control automations and one way that we use this I'm not with own tracks today but soon is when no one is at home if some of the lights which always happens get left on never fails to get left on then if no one's home and it's in a certain amount of time is past the lights just automatically turn off and that's just a simple way to use the automations or in the winter if we're approaching and it's cold for heating turns on really simple stuff that stuff that we just don't want to even have to think about and but the key is getting your location in the home assistant and own tracks can essentially be that source of information I'm using it for a live invented map on a web page so that way you guys can find me and we can meet up and I'll be running the tracks client which publishes that information to the recorder on my pixel yes so cool it eases MQTT to do that yes it's clever it seems like actually a great use of it because you could see how when you have maybe a loss of connectivity can queue up and then when you connect it can just transmit the the bits that were cued wild you had no
Alex: signal it's it's really smart perfect is exactly what
Chris: it was designed for now my favorite robot vacuum phone way valley to dive had a big release last month and I finally got around to updating and installing it this I'm a glutton for punishment on site has lots of stuff breaking and I still go ahead install these updates and
Alex: guess what did it break well I mean
Chris: no the
Alex: updates went fine but there'd been some changes to how the the vacuums get communicated with from home assistant they've deprecated the vacuum dot send command which was what I used to say Hey robot coke we live at Hoover the bedroom or I am and they've deprecate St for
Chris: an M. Q.
Alex: T. T. publish command so we both using MQTT here in wildly different use cases but I just think that's so cool has the same technology it is pretty neat and I just as a side note I hate I hate it when stuff like that gets deprecated like I think I think the whole Z. wave stack that I'm using in home
Chris: assistant
Alex: has been deprecated and I just don't want to reset my Z. wave network and I don't know what that migration
Chris: process is like and I just don't want to deal with it and it kind of goes back to your topic earlier it's like it's working I just don't I don't wanna break it I don't wanna have to do anything with it because it's just so part of my infrastructure now it no longer feels like a separate system it feels like it is part of my home and I don't like messing with that stuff anymore and equally because it is part of
Alex: the
Chris: house the up time needs to be as close to a hundred percent of possible yeah and then you have to balance the offer games deploying updates because it's part of your house you don't know not updated for ten years I mean some people would just say if it's working leave
Alex: it
Chris: but I
Alex: keep it up to date because I feel like I want to be compatible with future technology in future
Chris: functionality
Alex: I mentioned to you earlier I was like maybe I should rebuild the whole set up and I should base it on virtualisation because the
Chris: safety that our virtual machine gives me that's that snapshot capability and that that whole list stick restoring of the system or we're taking a copy of it and setting it on the shelf and saying this is known good if that is so appealing to me and it feels like it gives me a safety net to what it seems like a risky proposition to keep updating all of the systems all the time that's where I keep thinking that maybe I got to rethink the way I'm doing stuff and that's where I that's where I go down the rabbit hole it's too much not right now do you use a hypervisor told for for anything no right now the system is built around these raspberry pi's there's not a lot of overhead there so I'm just running containers on a bunch of L. T. S. on pie for I would be willing to replace you know the two or three raspberry pi's takes to do
Alex: this with one fairly low energy
Chris: X.
Alex: eighty six
Chris: machine and then I'd have sort of my my you know my my choice of rich allies is at that point well good news for you a prox marks I've just had a big release version seven was released on the sixth of July twenty twenty one and it's based on Debian bulls eye number eleven I'm sure most of you know this bit of trivia those of you coming to Denver meets up might want to pay attention I've
Alex: given a question away that down no that's good that's good because of their listener to get a heads up and no one else will know free trivia question coming away which kids movie to step in name is kept releases after maybe alone maybe want us just the sort of thing has to come to the meet up and find out now what else is included in
Chris: this release they've got a bunch of new versions of stuff says that offense is now two dot zero full Q.
Alex: E. M. U. S. been bumped to version six and the there's a new kernel five to eleven so it's it's really good to see that proximus are pushing the envelope here and updating lots of that cool systems the reason I say that in particular is because Debbie and has a bit of a reputation for being a bit old and crusty and you look at the versions of some of these packages and then not that far off what is shipping in March right I mean a five eleven colonel is older than with an arch but it's newer than what's in most LPS distros right now and they've rolled out more recent potter FS support which I think is kind of a big deal it's nice to see essentially but FS in CFS get near parity support approximates it absolutely is I think this this
Chris: comes back to a point that I hear quite frequently on Lennix unplugged actually is that we need to stop taking bus request seriously and stop just treating as a bit of a joke because you know Facebook and all these other massive companies that have things at significant scale are putting a lot of blood sweat
Alex: and tears into the buster fest and it does seem to be cropping up in more more places in in if I may I'm actually starting to use products marks as my default destroyer in office for several S. is it has Zenefits baked in so I don't need to fuss about with T. K. M. S. O. N. a U. R. package to install a custom kernel I don't have to worry about the licensing issues taken care of I mean the same is true of a button to but the thing the proximal excuse me most of all of this other stuff is a really slick wet B. Y. to manage virtual machines and Alex C. contain this great point and it I think that is something that you and I probably under play I think for a lot of new users that's like the biggest deal right yeah absolutely yeah I I completely agree on your points about butter FS two I think the thing you have to remember is what better offense offers is a file system that does copy on write
Chris: transparent compression it can offer encryption it can offer SSD trim support and it's extremely low memory so it works really good say like in a raspberry pi situation or in
Alex: a
Chris: laptop with a single SSD those are some use cases where CFS is is really not a great choice there in and I I really love the combination of the I think it makes for a really reliable home server and the way I use it now is butter FS is on the roof houses so the system can boot regardless of what's going on with CFS if you if you're D. came S. module fails to build for some weird reason which happened to me your system still boots because the court system the file system is better fess and then you're really large datasets with your multiple debts that are in some sort of raid configuration that's where I go ZFS and that mounts almost every time the system reboots but if it doesn't because the route is better FS it's guaranteed I can get in there and get the system repaired and we can then get in you know you can get the other things online like getting the first amount perhaps the biggest feature that we haven't touched on the single most important improvement in products mark seven I can now download I suppose in the web you why yeah dun dun dun says so you give them your own it downloads or is I mean you can download your machine both so what happens is you put the U. R. L. into the the little
Alex: form that says I want to download it to
Chris: this
Alex: particular area of storage and then at the bottom this is a really nice feature it has an optional
Chris: box at the bottom for you to fill in the MD five hash in the essay it will automatically verify the download for
Alex: you as part of its automated process now a lot of people seem to think that procs monks isn't free as in cost it's it's open source so it's free as in speech and it is also free as in beer M. then the reason I thought it was some freeze because it has nag screen that says you do not have a valid subscription for the what simply means you have the enterprise repos enabled which all some equids better tested packages I don't know quite what testing entails but that's what approximates teams say anyway M. S. C. you can support the project and give them money and they will enable your service to get rid of that night message
Chris: all
Alex: you could use automation you could use a written ansible role which several of our community of now contributed to as well because I've been so she's just awesome and what that does is it goes in and removes the repairs for you change a couple of lines in the web you I've files on the proximal system and removed the bag for you automatically just one more use case for and speaking of automation we wanna mention our friends over at a cloud guru have of course the one link in the show notes just for you is the red hat certified specialist in advanced automation and ansible best practices in this course are gonna cover the topics on the X. four forty seven exam as well to make sure you're ready to take that if you're planning on expanding your
Chris: ansible knows this is a great course for you you have a better understanding of the topics on the exam and around ansible ansible tower and managing an ansible inventory and of course templates as well should have to go over your show notes to get the link to go directly to this course that of course is over at self hosted dot show slash forty nine you'll see the link for AC Gee and that'll take you to the red hat certified specialist in advanced automation for ansible best did you get the update to shale yet Alex I am so so disappointed in this I loved the nvidia shield so much I've bought three of them in total I've recommended them to the audience and I know that some people out there have also noticed that nvidia has decided to improve your experience by taking the top row which used to be reserved for your favorite applications and now put
Alex: full wide right there at the top including
Chris: folks in bondage folks doing all kinds of like crazy things like you know guns and violence and smoking like I've seen the whole range thankfully you know we're not really that kind of yeah we don't we don't doesn't really bother me that much and it's in my bedroom it's not like it's the the family uses all the I do not like the fact that I cannot turn it off and it's on my list replacement Alex really disappointed such a great device yeah it's it's been a really interesting one to watch the kind of cancel culture online react to this one I mean on the one hand I don't really care that much M. they they've taken an interface that was very clean and just got the job done and didn't really have any craft to it whatsoever and then as you say they polluted it with a bunch of ads I mean not the on
Alex: the one hand sounds pretty terrible but I mean on the on the other hand I think I just I find myself really caring a lot much I I've been browsing the the sub reddits M. give it a shot subreddit for the last few and there's lots of people now posting custom launches that you can install on the nvidia shield I mean it's just android underneath right sorry you could install a custom launcher if you want to and I think all this is gonna serve to do
Chris: is motivate
Alex: those who do care about such things to release better quality third party launchers rather than relying on that the Google provided one I think I'll probably just switch it to an apple TV I have found that the apple TV's perform even better than the nvidia shield which I felt like was pretty well this is the exact kind of thing that will never happen on the apple TV platform and it's you know it's been the U. eyes been very consistent now for years the other thing is it it wakes and it controls the TV more consistently
Chris: than the nvidia shield has to so I think I'm just gonna switch it out I wanted to keep it because I like the idea of having both and I really love Cody yeah that's a big reason why keep the shield is I really love Cody but infuse on apple TV it replaces Cody in fact I I actually have to say I think maybe in fuses is probably better because it's just a newer apps built with more more modern technologies and they've just steadily added the features you need doesn't quite have the plugin ecosystem the Cody does but infuse is a really great local file playback play from your file shares all that kind of stuff and it syncs via iCloud to your other apple TV's so your settings you set it up once and it's el al I and also out of the box supports sinking place status with plex in I can't member for does jellyfish but it's it's a really good app and so it it does the job the Cody does and so I think it's just time to I think I'm done with android TV I'm gonna keep couple chrome cast around and that's gonna be it but if there's one thing we've learned from the internet is the advert is always make everything better I mean each shaped better because of all the radio is better because of advance right I mean I struggle to think of a single example where an advert makes things better I think I wouldn't even mind it as much if it was only showing ads for services that I maybe have active Loggins for on the device yeah
Alex: but right but it's showing me advertisements for services that I don't have an will never subscribe to so that drives me crazy and I think the other thing is if it was at the bottom of the U. I. if they hadn't ripped if they hadn't taken the row of
Chris: icons and lowered it and so now you have to navigate down and and that would have been better as well what do you make of the argument that the nvidia shield was a premium device this this is quite a pervasive argument on reddit that you know it's a two hundred dollar device is a premium device I've chosen this over something like the Google chrome cast you know that the new one with the remote that has the same you I by the way what you think about argument because to to me I think I kind of
Alex: agree with it in in the yeah one of the reasons I paid for the shield I paid the extra money for the two of them in this house was because it was so blazing fast and because I didn't have the stuff kind of rammed down my throat you know without without asking for nvidia have just patch this thing for years and years and years and it's just been very reliable and unlike you I'm I'm left feeling rather deflated about it yeah it feels like a play to get affiliate revenue for stream sign ups and it's like they have a user base out there they're not selling them as much anymore because they're not as competitive as they used to be and there's cheaper options out there and I think the apple TV is starting to heat up some of its market share as well because I think other people have realized it's a better box as well and
Chris: so I think nvidia felt let's monetize what we've got here because they get some ongoing affiliate revenue from those subscriptions depend on the deals that work out that's too tempting I think for them to say no and I do agree that it is a premium device it absolutely is I think two hundred dollars on the cheap and I think if you buy that like I'm the first one I ever bought was one with like the big hard drive and all that and the controller I want to say that was like three hundred dollars or something I bought that box because Roque whose and cheaper boxes had that kind of crap it's one of the reasons I didn't get a fire is because the Amazon fire does this as well its rows of advertisement and so I didn't buy an Amazon fire and so I didn't buy a roku I bought an invidious shield because they didn't have this crap on it right and so to have them retroactively add that like that wasn't the deal bro when I spent three hundred dollars on your cat yes this wasn't the I just hate and I I think the customer to solution is not a bad one and maybe one I will explore but it's unfortunate it's sort of like when people tell you to solve the problems of the android phone by flashing a custom rom on there it's like come on man yeah I know you can do that but most consumers are gonna do that they're just not all not night Wilensky rights and that's why we're talking about this asking if you could put lineage on the shield and I think that's a pretty interesting idea actually I I don't think it's supported today but slightly moving forward I could see a much more motivated community emerging around this kind of stuff now I tell you what if a decent lineage image showed up for that thing I try it yeah me too I mean I even though I just
Alex: said most people are going to the mid vast majority of consumers who bought this won't I'd still I'd use it now another option you've got is to replace the TV launch into a P. K. a fire team win recovery project to one of the old versions of the launcher at the doesn't have ads
Chris: on the home screen you need to unlock your bootloader to do that but it doesn't require
Alex: research or anything
Chris: like that well David from North Carolina wrote in and said I'd love to know a little more details around the solar panels that Alex recently had installed
Alex: especially since they seem to integrate with home assistant I've been trying to convince my wife that would be a worthwhile investment love the show keep up the work thanks David and I think you like extra excited because he's from your home state and North Carolina height Hey David how you doing is it called a
Chris: home state now I mean your new home well is it hello I'm still referred to England at home and I still watched England crash out of the heroes right in the final and I still would like a small child when that happened but you know but you also have the first state that you call home in the US it's also the first state where I is the
Alex: first place in the
Chris: world where I had a child so you know there is that so it's I think it's like
Alex: as far as states go it's your home state yeah yeah probably so anything you got details form I got a
Chris: few
Alex: yen upset after having a specific model numbers or anything like that but I went to a
Chris: company couldn't see silent now I'd like to test learn and a few others
Alex: but the NC soda now folks were the ones that came out with the you know the best overruled price and packaging service and financing
Chris: what kind of and I ended up going for solaredge system and this has a
Alex: home assistant integration which
Chris: connects to the that they've
Alex: got this website and it will connect through the API to the website for up to fifteen times an hour I think it compiled website through the API and it was just a case of providing an API key it took literally five minutes to set up I had to spend an extra few hundred dollars on the little zigbee monitoring device to enable the time invites us outside to talk to the internet because by default it doesn't come with any wifi but apart from that you know extra few hundred dollars to it to get the monitoring capabilities I'm yeah it's been very straightforward to set it up and not only does it took the home assistant but the search company also provides a really nice dashboard and a really pretty slick mobile app as well so I got that will a little widget on my android home screen that tells me exactly what my soul is doing right now just pretty it's great yeah I love that they're using zigbee for just sick things agrees that all over the place here Nate wrote into the show asking about security implications for sharing ansible playbooks publicly you know he's he's my get hub all of that he got thinking about this after you listen to an episode of the darknet diaries and he wondered if you have any thoughts on it well all of my stuff open source on github dot com slash ironic badger slash infra you know I
Chris: have open sourced everything for years now it's kind of my default policy so I I sure hope there's enough precipitation of doing that you the good yeah I do encourage everything using ansible vault so all of my secrets and things like that all stuck behind a E. S. T. fifty six encryption so hopefully unless I commit a secret directly in clear text I think I'm okay yeah
Alex: I just you know when I go through your get help I just look at I think you know everything looks pretty good except for that passwords dot T. X. T. file we just put your password in there well funny story on that I
Chris: actually publish my G.
Alex: email password one time to that repo and I had a guy at least not in message me but like I must've been first thing in the morning for him because it was just before I went to bed saying Hey
Chris: by the way did you know that committee pushed twelve minutes ago has email password it on okay first of all thank you for letting me know it was twelve minutes ago like we just waiting for me to push
Alex: he's got some sort of like S. if you get around that said Nick BC from the home lab west project helps me out with the pre commit hook but I have in my get repaired that just checks that my secrets file is encrypted before I push and do we get commit and push that's been very very useful it doesn't protect against me actually putting API keys and valuables and stuff about directly into other files which you know they come to a point where you've got to be light right okay this
Chris: in my safety net is checking that
Alex: file is encrypted or not it's not gonna go and scan every single file I am so yeah I guess it's up to you whether you feel comfortable with that risk or not and I I tend to think even if you're using a private repo get hobby mass or treat that as a public repository anyway because one day it will be whether you like it or not so it really just means can you stick to like a good hygiene with that kind of stuff if you'd like to get your question N. or have a comment or something you think we should check out let us know go over to self hosted dot show slash contact and you can get a self hosted dot show slash S. sorry to show your support for the show yeah I become a member get access to the post show and of course help us keep the show on the tracks I think this episode we're gonna talk
Chris: about the future of the gasoline engine and the internal combustion engine I have thoughts on that interesting yeah me too now I was browsing some I always seem to come up with YouTube on these things that I play I about steam trains of the week and
Alex: I found this union Pacific steam loco called the Big Boy and this thing is freaking adorable and
Chris: it was designed in the early part of last century to get over some of the rocky mountain passes because they're just
Alex: so vast here in the the trains are so heavy and so the union Pacific eventually restored one of
Chris: these Big Boy steam locos which is essentially to massive
Alex: steam locos glued together this thing has basically two sets of drive wheels and two for two full sets of pistons and I just it's just awesome just go look it up Big Boy union Pacific steam and it's going on tour in August around the the U. S. so it's it's leaving Cheyenne Wyoming going all the way down to Houston pasta beloved cheese bacon's home town of Beaumont I know it is in Denver now Disney okay well so much for that you could say it's his original hometown though so much for that so yeah it's going up to you I think three Dallas at some point and then up through Kansas city and St Louis so if you're in the center of the country by all means go take some pictures for me because I'm not gonna be able to make that one but throughout August is traversing the country that does look like an incredible route actually will have a link in the Senate to each other they have a map that shows you the route
Chris: they're gonna be on well you know it's
Alex: on the side of our Denver meets up ten years so I I reckon if your creativity schedule Chris you could probably find it for a day our route for the Denver meet up in total is a kid is going to be just over five thousand miles that's a long way I I drove that myself in twenty eighteen we flew into Orlando
Chris: drive up to DC drive down to Austin to meet you for the first time and then up to Denver and that was about five thousand miles we did
Alex: that in three weeks in a car I mean it wasn't it wasn't a house number mean Alanya yeah that's for sure but if you're gonna be in the area don't
Chris: forget we have those meet ups coming up and you can get details at meetup dot com slash Jupiter broadcasting make
Alex: sure you don't miss the next episode episode fifty we've got some cool stuff lined up for you and bring has it them might be some
Alex: well i'm pleased to welcome back to the show mr chris fisher welcome back chris
Chris: thank you alex i just got done drying everything off only a few moments ago
Alex: well we missed you man so uh it's story time i need to stay a while and listen yes
Chris: and first of all thank you to morgan for filling in i at the last minute i had to jump out when um i realized that my laptop had got soaked and i didn't want to turn it on and so i told alex you got to find somebody to fill in for me all right so i was setting up to go camp out in the woods brief story and i wanted to get out to the woods and get set up in time for the show and so i was in a bit of a rush and i thought because i'm an idiot i thought hey you know be a great idea is i'll do some updates on this laptop and i've got this really old 2013 macbook that runs arch linux by the way and so it's for me it's like this thrill to boot it up about once every six months and see if when i do an update if the installation explodes or not right so i thought while i'm running around packing up the rv i'll set this thing to do some updates just so i can you know have like a little thing to do for my 80d brain and check in on it and so i'm packing up and i go around and i collect all of my electronics because i my kids and i had been going through some stuff and so we had a the fire tablets were down off the wall that we used to control home assistant our front end and some game controllers were out and we're going down the road we want to get there quick so i just took this basket and like a good little boy i picked up everything and put in my basket and of course i don't want that basket to spill so i i set it in the back in the bathroom and uh finished up my laptop and closed the lid and went about packing up the rest of the rv i'm driving down the road for probably 20-25 minutes and i realized i should probably get gas because i'm going to be off grid for a while and if for some reason we don't get good solar i'm going to need to be able to run my generator so i i i pull up to a gas station and i start to pull in which is a downhill kind of turn in and as i pull into the gas station and begin to decline down into the parking lot i hear like like a wave sound behind me like i'm like is there a noisemaker on and i i turn around and look over my shoulder alex and i see this wave of water coming down the middle of the hallway of my rv it sloshes down into the the into this in the step well it's all over the place it's coming down into my feet while i'm driving it was everywhere how tight did your
Alex: [ __ ] pucker when you saw that
Chris: alex in like one motion i like grabbed the radio and i radio to my wife because she's chasing me in the car behind her you gotta get in here quick we got an emergency i throw the radio down i park the rv stand up and i begin just walking straight to the back and as i approach the back of the rv i hear a sound i immediately recognize it's my water pump and it's pumping and it's pumping and it's pumping it shouldn't be on but in our rush to leave i had left it on and didn't notice and so i flip it off as i open the door and i look right at the sink or where i just instinctively knew the problem was going to be somehow i knew and i could immediately see the entire chain of events i had left that big old heavy macbook on the counter and when i went down the road it slid down the counter slid just right and fell into the sink and as it fell it turned the faucet on which is where my basket full of electronics was sitting alex it turned into a bathtub alex it was it was so bad alex it soaked everything and then proceeded to spill out from there into the rest of the rv at about about about 17 17 15 20 gallons-ish it's hard to say yeah got the laptop got all the fire tablets got the game controllers got all the charging bricks everything not to mention flooded the rv i i i i had to act quick and so thankfully i was able to position the rv in such a way that it kind of tilted it so i could just get all the water to pour out into one direction and then i just spent like two hours drying it up and then we moved out to our spot in the woods and spent another couple of hours trying to dry it all out i lost a lot of devices a lot of good devices died that day alex
Alex: but not that stupid old macbook it's
Chris: still kicking even though it got water in the event in the vents and all of that it's still kicking
Alex: so the device that caused the problem just ran away going not today doing great yep although its
Chris: power adapter bit the dust so i don't know exactly what its long term plan was
Alex: that's like cutting your nose off to spite your face isn't it that's why you
Chris: should plan and plan to learn visit our sponsor cloud guru the leader in learning for the cloud linux and other modern tech skills hundreds of courses and thousands of hands-on labs get certified get hired get learning at a cloudguru.com you know that story just
Alex: hurts me so deeply because water and electronics you just have this pathological thing that they don't go they just don't mix like
Chris: no i've probably missed out on several
Alex: experiences in my life because i had a phone in my pocket i'm like well i'm not going to go and run in the ocean or whatever it is because i've got a phone in my pocket and
Chris: and so many devices obvious statement time but i really was feeling this so many devices have the battery built in and so there's just nothing i can do yeah damn man i feel
Alex: your pain i really do it was rough it was rough
Chris: and so i now i have to selectively choose what i'm gonna replace and what i'm just gonna
Alex: try to live without oh yeah and you just missed prime day i know i crossed my mind because i i had
Chris: a couple of fire tablets in the mix gone womp
Alex: all right so you got something to cheer me up well i was watching uh youtube the other day is is often the case in in my household and i was watching a video by techno tim and he did uh an orthalia introduction this is a single sign-on uh service that basically allows you to have one login cookie gets set which then allows you to log into all of the services that you select through a set of rules that you configure to say right if i want to access um next cloud as long as i've got this token set then i'm all good and then you could do it for a wiki or
Chris: any of any of the services that are
Alex: running on your system and the really nice thing is it is it's configured with a single line of docker compose configuration so you just add a single line to declare that you want to use orthalia as what's called a piece of middleware in the traffic configuration um and you're good to go and that's it i see so
Chris: it is first of all we should mention it's open source and it essentially takes authentication requests using nginx and provides the authorization for those authentication requests yeah not just engine x it
Alex: supports traffic as well as a bunch of others and actually more recently uh supports kubernetes ingress controllers which is nice as well
Chris: all right i'm checking it out right now and it actually looks like it has a pretty good interface too so this will have linked in the show notes or you can go to a-u-t-h-e-l-i-a
Alex: com yeah you don't really need a whole bunch of interface for uh a login client essentially what happens when you have a service that's backed by this uh let's say i go to wiki my personal wiki my tiddlywiki traffic will detect that i've set that piece of middleware as part of the chain of traffic that it wants to go through and so authalia will then pop up a standard web form i'll type in my username and password it does support two-factor authentication so free even for services that don't have 2fa natively i can use orthalia to add 2fa to those services as well and then just transparently that token lasts for the length and duration of your session you can figure how long it is i think it's five minutes by default any other service that has the same rule on your system it will reuse that authentication token so if you're switching between a bunch of different services on your system log in once and you're logged into all of them all at once automatically boy that does seem nice it has a lot of
Chris: great features in here all right well it sounds like something to check out we talk about this kind of stuff also uh when we talk about things like hosting your own password manager or hosting your own email i wonder if there's an audience and i wonder if you out there too i wonder if there's a portion of the audience that thinks i'd never want to host this this crosses a line like this is this is like this breaks and things get hosed and so i i wonder if there isn't just a discussion to be had there alex about where that line is for us and if we ever consider dropping something and saying you know what i'll just go with a commercial service for this
Alex: is this grumpy old man alex coming out here but my tolerance for stuff breaking be it an update be a dodgy power cable whatever the reason my tolerance is so low these days and uh a couple of episodes ago i mentioned i had my server on the desk next to me because i was troubleshooting some issues with hard drives failing uh turns out it wasn't the hard drives failing and i wasted maybe three weeks on trying all sorts of different drives and cables and disc controllers no it was the power cable from the power supply to the drives no
Chris: kidding i wasted three weeks on that
Alex: damn thing and uh that just left me with a huge bitter taste in my mouth and you know i'm not gonna stop self-hosting don't don't worry audience we're okay but there were just moments in that three week period i was like screw this i just want to throw the towel in and just be done and just pay netflix or whoever it is wow you know in that same
Chris: period of time i think you also had a certain home assistant update not go so well too so you were really getting it from both ends
Alex: yeah that's the thing and you know this week another example is uh nexcloud just stopped working for some reason i have no idea why i've been sat on next cloud 19 for the last year plus i haven't touched it i i pull in the regular updates that they provide to the 19 branch through docker hub tagging but i don't update major versions on next cloud unless i have a good reason to because i don't want all of the new stuff but i just use it for documents that's pretty much it right i actually figured this out because i got a notification on my phone because photo upload stopped working it said this server is in maintenance mode and i'm like okay yeah i remember i've had this before so you google it first result says go into the config file and edit a single line that says change maintenance mode from true to false in the config.php file so i did that was already set to maintenance mode false so i'm like okay well clearly something's going on here so i then start looking into the next cloud container logs and then it said something about uh character encoding utf-8 char sets and i just at that point i was like oh no here we go this is going to be a long evening long story short i ended up having to go into the mysql container itself with a docker exec command get into the my sequel nitty gritty details delete and change a couple of data types from varchar to text fields and all this you know stuff that's way over the head of most people are doing self-hosting unless this is your day job i just thought to myself who is this stuff targeted at if i was paying for nexcloud as a hosted service i mean these things exist like google drive is um similar onedrive you know all these different cloud file repositories if these things broke and i had to jump through all these different hoops to fix them i would just migrate to a different service and yet because i feel a certain sense of obligation partly because of this show but also partly because of my beliefs towards self-hosting in general i power through it but sometimes i just i just want to throw the towel in you know did you ever get to the root of why
Chris: that next cloud issue just cropped up
Alex: um i think it was because of the the character encoding so what i ended up doing is part of the troubleshooting process was like right okay well i'm in the weeds here i may as well go to the next cloud 22 whilst i'm here
Chris: yeah that's that would be my line of thinking too yeah
Alex: and then i thought well it didn't start because i thought oh some database schema changes have probably happened and it's just not tested properly on 19. okay fine i'll go to the next major release that's stable yeah and so like i said to you i had to drop to the my sequel command line delete a couple of tables that were failing the repair because there's an occ command so you can you can log into the next cloud container and run there's like a shell like a cli tool built into it called occ own cloud client i would imagine is what it stands for don't quote me on that and you can do a bunch of maintenance stuff like you can turn maintenance mode on and off you can repair things etc etc and it kept failing on this line item to do with news articles which is a plug-in i don't even use anymore i think i enabled it for testing and then forgot about it and much like my home assistant update i probably missed it in the logs because i don't necessarily look at the logs every day because i've got other stuff to do and uh yeah once i deleted the news
Chris: once i'd gone into the correct database
Alex: table and then deleted this three or four lines that were causing the schema migrations to fail then the upgrade proceeded and it was all fine but it took me a couple of hours i've had
Chris: those moments where i thought maybe like a server was dead and gone and i thought
Alex: i don't i don't know if i i don't know if i ever
Chris: want to rebuild this um and then thankfully they came back and then i thought okay i better get my backup game better get my backup figured out uh yeah because i mean you really got it i mean you got a hardware failure in your server you got a software failure index cloud a home assistant a pretty dramatic home assistant failure based on some deprecation and changes i mean you got it one after another i recently also had a home assistant update go south when the os update didn't complete correctly the system locked up and then rebooted and then it couldn't get an ip until i had fiddled with it for quite a while and for a brief moment i thought to myself should i just bail on this and maybe just go back to a traditional server and home assistant core container and just keep it simple and then it gets working again and then i think okay no this is better and i like this and i think to myself in the grand scheme of things this is the cost of having full control over these services and and it does give me a better appreciation of the value that the cloud providers are offering and it makes me also understand how valuable my data must be if they can pay for these services based on mining my information like wow there must be some real value there because it's not cheap and to keep something reliable like file services for you know a 10-year streak uh actually takes an incredible amount of effort yeah you're not wrong i mean these these
Alex: guys there are entire jobs you know site reliability engineers that's the name of our you know uh supporters club that we have and uh there's an entire job dedicated to keeping things up and stable and reliable and these guys they write software they write scripts they do all sorts of ninja magic to to keep these services online i think part of it alex is giving
Chris: yourself and you've done this you know the ability to rebuild fairly quickly like you do that you makes you makes if you adopt something you make sure that you can redeploy as necessary and those kinds of things i think they help a lot but if i i think this show should ask the question more often is there a cloud service that could do this and if there is why are we not choosing to use it because it is a big trade-off every time and the more critical the service is to you i think the more serious you have to consider that trying to think of a good
Alex: example i suppose wiki would be a decent one because you can you can probably throw some stuff up on github in a a random repository as a bunch of text files and uh call that a wiki if you want to uh you could also go to some random website and buy probably wiki capabilities but there's nothing quite like hosting your own and keeping that kind of information in-house because the the role a wiki in particular fulfills often is to store proprietary you know custom information you know maybe wi-fi passwords for your house or something or the the code to the safe so that your wife can open it when you're out or something i don't know what people store in there you know um wikis but there could be some sensitive information in there sounds like you
Chris: have a code for a safe that if i was ever on your lan i should try to get that code
Alex: i've got to buy the safe first so i was like he has a safe okay but it's a good example you're
Chris: right i have been thinking like how could i leave my wife notes in a way that is fully secure and there is this feeling that i think is actually pretty special and it's this total feel of control and i i feel this when i am off grid and i'm generating my own power and i've brought my own food and i don't need anyone to do anything i for for a brief moment i feel like i'm truly in control and i have that same sense when it comes to everything being offline
Alex: in my rv and and being self-contained to
Chris: the rv and having having this gone through this project off-grid where i offloaded a bunch of services and got everything running locally when when i get access to that stuff it's it's like this it's this feeling of confidence that we get so sparingly now with with so many cloud services that are integrated with our mobile devices or integrated with commercial desktops less and less consumers and and technology users have control less and less they have less control than ever of modifying their devices of controlling their devices or even determining who has access to their data or if it can be scanned or any of that and so when we have these areas we can actually exercise that control we have to keep doing it or else it will go away if there's no users of these self-hosted services and if there's no market demand for this control eventually the developers and the companies that serve that niche will dry up and so it's like you have to always be looking like where can i exercise that control where does it matter the most and that's kind of where i've come down on it it's like okay this information like secret stuff i want to give my wife that is always going to be on my land like i'm just never going to put it anywhere else and thankfully you know i've come up with a little system where it's just some markdown files it's really simple it's not it's not it's not a big effort to actually do it
Alex: you are right there are an increasing number of companies uh doing stuff for this marketplace you know two-year we we talked about it last episode with morgan have announced uh a native home assistant integration as part of their product line you know so these things are happening and you see uh what's his name linus uh sebastian has just bought a new house and he's talking about how he's gonna implement smart dampers in every room so he's not air conditioning every room and how there is lots of proprietary services that could do this stuff and how it's just all so overwhelming and i think that's largely what i'm feeling too is just a bit overwhelmed by the amount of stuff i could do you know it's not even necessarily just when stuff breaks it's it's that feeling of once i put my daughter to bed or something in the evening of okay i've got a couple of hours before i go to sleep now i don't want to just sit and veg and watch cartoons necessarily i'll do that whilst i'm doing something else but what out of my huge long list of ideas that i've got should i pick and oh i can't be bothered i'll just watch cartoons
Chris: you know what i've been doing is like the really simple stuff uh i went through my home assistant dashboard and i made individual i chose like individual icons for each entity so each light bulb has like a unique light bulb icon really just slow kind of paced work while i was watching rick and morty you know and so it's like not very high cognitive load but i can sit there and fiddle with something um and then the other thing that i did recently it was it was one of those moments where i was like i don't need to build something complicated here i could just get a couple of window fans off of amazon that have manual controls plug them into some smart plugs and i could have some set to input and i could have some set to output and then i could just set up automations to turn the smart plugs on and off and it was one of those moments where i was like i could just do something very simple for cooling and it would probably take me 35 minutes to set it all up and i was so down in the weeds with all of these things like i could build a new virtualization backend and then i could set up individual host oss and then put containers in there like i was going through this entire thing about how i wanted to rebuild all of the infrastructure and then i thought you know what else i could do is i could just spend 30 minutes doing this tonight and i'll spend 30 minutes doing that tomorrow and over a couple of nights i got it all done
Alex: if it works it ain't stupid
Chris: lino.com ssh go there to support the show and get 100 in credit on a new account lynnode is our cloud hosting provider when we're building something that we want to experiment with we do it on lenode there's a lot of quick ways to deploy they have 11 data centers to choose from they have crazy fast network connections
Alex: and a whole range of types of servers so
Chris: if we want something simple we'll get like a five dollar a month system but sometimes we want some dedicated cpus or gpus they have a lot of choices roger wrote into the show to say that he used lenode to replace zoom with something he can host himself he says along with just about everybody else the milwaukee linux users group had to go to virtual due to covid19 and as you might expect from a group of linux users they weren't a big fan of using zoom they wanted to use jitsi so they looked around at different uh providers and they chose lenode they picked the five dollar a month machine and they also chose to do the automatic backup service so that way there's just backups that are just taken care of they installed jitsi meet on that system and they're now using it with nexcloud talk to do the video calls for their lug all running on the node you know what's really nice about this too is is roger was able to prototype jitsi and next cloud and try them all out really quickly in in environments that are production style environment so you can really get a sense for how it's going to perform and it's pretty great because at one point they made a change to next cloud just before the lug meeting and it broke so roger says they were able to use the snapshots that they got with the automatic backups and just roll it back so it was basically a non-issue and then after the lug was over they were able to uh continue on with the next cloud update and that's just an example of how you can use lynnote you know to run your own zoom instance or they also have a one-click deployment for owncast which is essentially a twitch in a box
Alex: you can use it for that as well there's
Chris: so many different choices from hosting your website to their object storage so like i use it for like a sync thing instance just go try it out learn something and experiment with that one hundred dollars and support the show at lenode.com ssh
Alex: now in case you haven't heard we're getting together in denver
Chris: i'm looking forward to this and not only is alex going to be there but he's going to be our trivia master at the meetup so you got to come just to say hi to alex looking forward to that i've been
Alex: working hard on the trivia questions i promise you there'll be a bunch of linux questions there'll be some you know general knowledge stuff but there's also going to be some like older more esoteric hardware questions as well i've been having a real fun digging out some of these questions i'm looking forward to that
Chris: so we'll have the meetup details we have two meetups actually planned uh alex is gonna be at the denver meetup there's also a salt lake city meetup on the books details are over at meetup.com jupiter broadcasting and then additionally in lady dupes my rv i will have a live tracker and if there and there will be more details and if it works out we'll do a little micro meetup it could just be uh you know just come by and say hi and we'll have this embedded webpage that you'll be able to view over at colonytracker.live that'll show you right where we are at uh it's all in the works right now just in this last week we got the back end setup for own tracks to record where
Alex: i'm actually going to be at and that's a
Chris: pretty neat deal alex
Alex: how are you doing that is up on linode or something oh yeah of course
Chris: of course naturally yeah yeah of course
Alex: yeah
Chris: yeah in fact we just we just decided to do a dedicated uh lower end node because what we want to do is put a little website on there that has the details and stuff and then own tracks itself is kind of like in multiple components and so the recorder is a docker image that you can deploy and that's like a lightweight backend that stores the location data and you can publish your location information to it in two different ways either over http or over mqtt and then the recorder as the name implies records the information and then makes your location data available which is all completely under your control via a various set of apis some of which can integrate directly into home assistant so you can actually use own tracks to provide home assistant with your real-time location which is a fantastic way to control automations and uh one way that we use this not with own tracks today but soon is when no one is at home if some of the lights which always happens get left on which never fails to get left on uh then if no one's home and it's and a certain amount of time has passed the lights just automatically turn off and that's just a simple way to use the automations um or in the winter if we're approaching and it's cold the heating turns on it's really simple stuff that stuff that we just don't want to even have to think about and uh but the key is getting your location into home assistant and own tracks can essentially be that source of information i'm using it for a live embedded map on a web page so that way you guys can find me and we can meet up and i'll be running the ontrax client which publishes that information to the recorder on my pixel yeah it's so cool that it
Alex: uses mqtt to do that
Chris: yeah isn't it it's clever it seems like actually a great use of it because you could see how when you have maybe a loss of connectivity it could queue up and then when you connect it can just transmit the the bits that were queued while you had no signal it's it's really smart perfect it's exactly
Alex: what it was designed for
Chris: my uh favorite robot vacuum firmware
Alex: valley tudo had a big release uh last month and i finally got around to updating it and installing it this week uh i'm a glutton for punishment aren't i there's lots of stuff breaking and i still go ahead and install these updates and uh guess what what did it break well i mean no the updates went fine but there'd been some changes to how the uh the vacuums get communicated with from home assistant they've deprecated the vacuum.send command which was what i used to say hey robot go you know hoover the bedroom or something um and they've deprecated it for an mqtt publish command
Chris: so we're both using mqtt here in
Alex: wildly different use cases but i just think that's so cool how it's the same technology
Chris: it is pretty neat and i just as a side note i i hate it when stuff like that gets deprecated like i think i think the whole z-wave stack that i'm using in home assistant has been deprecated and i just don't want to reset up my z-wave network and i don't know what that migration process is like and i just don't want to deal with it and that kind of goes back to your topic earlier it's like it's working it's just i don't i don't want to break it i don't want to have to do anything with it because it's just so part of my infrastructure now it no longer feels like a separate system it feels like it is part of my home and i don't like messing with that stuff anymore and equally because it is part of the
Alex: house the uptime needs to be as close to 100 as possible
Chris: yeah and then you have to balance that
Alex: off against applying updates because it's part of your house you don't want to not update it for 10 years i mean some people would just
Chris: say if it's working leave it but i keep it up to date because i feel like i want to be compatible with future technology and future functionality i mentioned to you earlier i was like maybe i should rebuild the whole setup and i should base it on virtualization because the safety that a virtual machine gives me that's that snapshot capability and that that holistic restoring of a system or or taking a copy of it and setting it on a shelf and saying this is known good that is so appealing to me and it feels like it gives me a safety net to what what seems like a risky proposition to keep updating all of these systems all the time that's where i keep thinking maybe i gotta rethink the way i'm doing stuff and that's where i that's where i go down the rabbit hole and go oh it's too much not right now do you use a
Alex: hypervisor at all for anything no right now the system's
Chris: built around these raspberry pi's there's not a lot of overhead there so i'm just running containers on ubuntu lts on pi4 but i would be willing to replace you know the two or three raspberry pi's it takes to do this with one fairly low energy x86 machine and then i'd have sort of my my you know my my choice of virtualizers at that point
Alex: well good news for you proxmox have just had a big release version 7 was released on the 6th of july 2021 and it's based on debian bullseye number 11. i'm sure most of you know this bit of trivia but uh those of you coming to the denver meetup might want to pay attention i might have given a question away there damn it i love it no that's good that's
Chris: good because if they're a listener they get a heads up and no one else will know free trivia
Alex: question coming your way which kids movie does debian name its releases after maybe you'll know maybe you won't uh it's just the sort of thing you have to come to the meetup and find out about all right now what else is included in this release they've got a bunch of new uh versions of stuff so zfs is now 2.04 uh qemu has been bumped to version six and the there's a new kernel 5.11 so it's really good to see that proxmox are pushing the envelope here and updating lots of their core systems the reason i say that in particular is because debian has a bit of a reputation for being a bit old and crusty and you look at the versions of some of these packages and they're not that far off what is shipping in arch right i
Chris: mean a 511 kernel is older than what's in arch but it's newer than what's in the most lts distros right now and they've rolled out more recent butter fs support which i think is kind of a big deal it's nice to see essentially butter fs and zfs get near parity support and proxmox
Alex: it absolutely is and i think this this comes back to a point that uh i hear quite frequently on linux unplugged actually is that we need to start taking butter fs seriously and stop just treating it as a bit of a joke because you know facebook and all these other massive companies that have things at significant scale are putting a lot of blood sweat and tears into the butterfest subsystems and it does seem to be cropping up in more and more places and you know for me i'm actually starting to use proxmox as my default distro you know for server os's because it has zfs baked in so i don't need to fuss about with dkms or an aur package to install a custom kernel i don't have to worry about the licensing it's just taken care of i mean the same is true of ubuntu but the thing that proxmox gives me most of all of this other stuff is a really slick web ui to manage virtual machines and lxc containers
Chris: great point and i think that is something that you and i probably underplay i think for a lot of new users that's like the biggest deal right yeah
Alex: absolutely yeah i i completely agree on
Chris: your points about butter fs too i think the thing that you have to remember is what butterfs offers is a file system that does copy on write transparent compression it can offer encryption it can offer ssd trim support and it's extremely low memory so it works really good say like in a raspberry pi situation or in a laptop with a single ssd those are some use cases where cfs is is really not a great choice there and and i i really love the combination of the two i think it makes for a really reliable home server and the way i use it now is butter fs is on the root file system so the system can boot regardless of what's going on with cfs if if your dkms module fails to build for some weird reason which has happened to me your system still boots because the core system the file system is butterfs and then your really large data sets with your multiple disks that are in some sort of raid configuration that's where i go zfs and that mounts almost every time the system reboots but if it doesn't because the route is butter fs it's guaranteed i can get in there and get the system repaired and we can then get and you know then get other things online like getting zfs to mount perhaps the biggest
Alex: feature that we haven't touched on
Chris: the single most important improvement in
Alex: proxmox 7 i can now download isos in the web ui hooray
Chris: oh yeah so you give them a url and it downloads it does that mean you can download it to your machine
Alex: uh both so what happens is you plug the url into the the little form that says i want to download it to this particular area of storage and then at the bottom this is a really nice feature it has an optional box at the bottom for you to fill in the md5 hash in there so it will automatically verify the download for you as part of its automated process now a lot of people seem to think that proxmox isn't free as in cost it's it's open source so it's free as in speech and it is also free as in beer um the reason i thought it wasn't free is because it has this
Chris: little nag screen that says you do not
Alex: have a valid subscription for this server and all that simply means is you have the enterprise repos enabled which are some air quotes better tested packages i don't know quite what that testing entails but that's what the proxmox teams say anyway and so you can support the project and give them money and they will enable your server to get rid of that nag message or you could use automation you could use i've written an ansible role which several of our community have now contributed to as well because open source is just that awesome and what that does is it goes in and removes the repos for you changes a couple of lines in the web ui files on the proxmox system and removes the nag for you automatically just one more use case for automation
Chris: and speaking of automation we want to mention our friends over to cloud guru have a course that will have linked in the show notes just for you it's the red hat certified specialist in advanced automation and ansible best practices in this course they're going to cover the topics on the ex447 exam as well to make sure you're ready to take that if you're planning on expanding your ansible knowledge this is a great course for you you'll have a better understanding of the topics on the exam and around ansible and ansible tower and managing an ansible inventory and of course templates as well so you have to go over to our show notes to get the link to go directly to this course that of course is over at self-hosted dot show slash 49 you'll see the link for acg and that'll take you to the red hat certified specialist in advanced automation for ansible best practices
Alex: did you get the update to your shield yet alex i am
Chris: so so disappointed in this i loved the nvidia shield so much i've bought three of them in total i've recommended them to the audience and i know that some people out there have also noticed that nvidia has decided to improve your experience by taking the top row which used to be reserved for your favorite applications and now put full wide advertisements right there at the top including folks in bondage folks doing all kinds of like crazy things like you know guns and violence and smoking like i've seen the whole range thankfully you know we're not really that kind of yeah we doesn't really bother me that much and it's in my bedroom it's not like it's a the family uses it all the time but i really do not like the fact that i cannot turn it off and um i think it's on my list to replace now alex it's really disappointed such a great device
Alex: yeah it's it's been a really interesting one to watch the uh kind of cancel culture online react to this one i mean on the one hand i don't really care that much they've taken an interface that was very clean and just got the job done and didn't really have any craft to it whatsoever and then as you say they've polluted it with a bunch of ads i mean that that on the one hand sounds pretty terrible but i mean on the other hand i don't i just don't find myself really caring all that much i uh i i've been browsing the the subreddits um the nvidia shield subreddit for the last you know few years and there's lots of people now posting custom launches that you can install on the nvidia shield i mean it's just android underneath right so you can install a custom launcher if you want to and i think all this is going to serve to do is motivate those who do care about such things to release better quality third-party launchers rather than relying on the the google provided one i think i'll
Chris: probably just switch it to an apple tv i have found that the apple tvs perform even better than the nvidia shield which i felt like was pretty well performed this is the exact kind of thing that will never happen on the apple tv platform and it you know it's been the ui has been very consistent now for years the other thing is it it wakes and it controls the tv more consistently than the nvidia shield has too so i think i'm just going to switch it out i wanted to keep it because i like the idea of having both and i really love cody you know that's a big reason why i keep the shield is i really love cody but infuse on apple tv it replaces cody in fact i i actually have to say i think maybe infuses is probably better because it's just a newer app built with more modern technologies and they've just steadily added the features you need it doesn't quite have the plug-in ecosystem that cody does but infuse is a really great local file playback play from your file shares all that kind of stuff and it syncs via icloud to your other apple tvs so your settings you set it up once and it's oh and also out of the box supports syncing play status with plex and i can't remember if it does jellyfin but it's it's a really good app and so it does the job that cody does and so i think it's just time to i think i'm done with android tv i'm going to keep a couple chromecasts around and that's going to be it
Alex: well if there's one thing we've learned from the internet it's that adverts always make everything better i mean youtube's better because of all the ads radio is better because of adverts right i mean i struggle to think of a single example where an advert makes things better
Chris: i think i wouldn't have even minded as much if it was only showing ads for services that i maybe have active logins for on the device yeah but right but it's showing me advertisements for services that i don't have and will never subscribe to so that drives me crazy and i think the other thing is if it was at the bottom of the ui if they hadn't if they hadn't taken the row of icons and lowered it and so now you have to navigate down and that would have been better as well what
Alex: do you make of the argument that the nvidia shield was a premium device this this is quite a pervasive argument on reddit that you know it's a 200 device it's a premium device i've chosen this over something like the google chromecast you know the the new one with the remote that has this same ui by the way what do you make of that argument because to me i think i kind of agree with it in in the yeah one of the reasons i paid for the shield i paid the extra money for two of them in this house was because it was so blazing fast and because i didn't have this stuff kind of ram down my throat you know without without asking for it nvidia have just patched this thing for years and years and years and it's just been very reliable and unlike you i'm i'm left feeling rather deflated about it yeah it feels like a
Chris: play to get affiliate revenue for stream signups and it's like they have a user base out there they're not selling them as much anymore because they're not as competitive as they used to be and there's cheaper options out there and i think the apple tv is starting to eat up some of its market share as well because i think other people have realized it's a better box as well and so i think nvidia felt let's monetize what we've got here because they get some ongoing affiliate revenue from those subscriptions depending on the deals they work out that's too tempting i think for them to say no to and i do agree that it is a premium device it absolutely is i think 200 is on the cheap end i think if you buy the like i the first one i ever bought was the one with like the big hard drive and all that and the controller i want to say that was like 300 or something i bought that box because roku's and cheaper boxes had that kind of crap it's one of the reasons i didn't get a fire is because the amazon fire does this as well it's rows of advertisement and so i didn't buy an amazon fire and so i didn't buy a roku i bought an nvidia shield specifically because it didn't have this crap on it right and so to have them retroactively add that like that wasn't the deal bro when i spent 300 on your kit that's this wasn't the deal i just hate it and i i think the custom launcher solution is not a bad one and maybe one i will explore but it's unfortunate it's sort of like when people tell you to solve the problems with an android phone by flashing a custom rom on there it's like come on man yeah i know you could do that but most consumers aren't gonna do that they're just not on that note will
Alex: actually wrote in and that's why we're talking about this asking if you could put lineage on the shield and i think that's a pretty interesting idea actually i don't think it's supported today but certainly moving forward i could see a much more motivated community emerging around this kind of stuff now
Chris: i tell you what if a decent lineage image showed up for that thing i'd try it yeah me too i mean i even though i just said most people aren't going to i'm the vast majority of consumers who bought this won't i'd still i'd use it now another option
Alex: you've got is to replace the tv launcher.apk via team win recovery project to one of the old versions of the launcher that doesn't have ads on the home screen you'll need to unlock your bootloader to do that but it doesn't require root or anything like that well david from north carolina
Chris: wrote in he said i'd love to know a little more details around the solar panels that alex recently had installed especially since they seem to integrate with home assistant i've been trying to convince my wife that it'd be a worthwhile investment love the show and keep up the work thanks david and i think he's like extra excited because uh he's from your home state yeah north
Alex: carolina hey hey david how you doing
Chris: is it called a home state now i mean your new home state
Alex: is it i don't know i i still refer to england as home and i still watched england crash out of the euros
Chris: right in the final and i still wept like
Alex: a small child when that happened but you know
Chris: but you also have the first state that you called home in the u.s it's also the first state
Alex: where i it's the first place in the world where i had a child so you know there is that so it's your heart i think
Chris: it's like as far as states go it's your home state yeah yeah
Alex: it probably is [Laughter]
Chris: so what do you think you got details for them i've got a few yeah not
Alex: i don't have you know specific model numbers or anything like that but i went to a company called nc solar now i looked at tesla and a few others but the nc solar now folks were the ones that came out with the you know the best overall price and package and service and financing all that kind of stuff and i ended up going for a solar edge system and this has a home assistant integration which connects to the uh they've got this website and it will connect through the api to the website up to 15 times an hour i think it can poll the website through the api and it was just a case of providing an api key it took literally five minutes to set it up i had to spend an extra few hundred dollars on the little zigbee monitoring device to enable the inverter that's outside to talk to the internet because by default it doesn't come with any wi-fi capabilities but apart from that you know extra few hundred dollars to to get the monitoring capabilities um yeah it's been very straightforward to set it up and not only does it talk to home assistant but the solar edge company also provides a really nice dashboard and a really pretty slick mobile app as well so i've got little a little widget on my android home screen that tells me exactly what my soul is doing right now which is pretty cool
Chris: that's great yeah i love that they're using zigbee for that just things zigbee's all over the place here nate wrote into the show asking about security implications for sharing ansible playbooks publicly you know he sees him on github all of that he got thinking about this after he listened to an episode of the darknet diaries and he wondered if you have any thoughts on it well all of my stuff's open source
Alex: on github.com ironic badger infra you know i have open sourced everything for years now that's kind of my default policy so i i sure hope there isn't a privacy implication of doing that you know a good answer
Chris: yeah i do encrypt everything using
Alex: ansible vault so all of my secrets and things like that are stuck behind aes 256 encryption so hopefully unless i commit a secret directly in clear text i think i'm okay yeah i just you
Chris: know when i go through your github i just look at it i think you know everything looks pretty good except for that passwords.txt file where you just put all your passwords in there
Alex: well funny story on that i actually published my gmail password one time to that repo and i had a guy a listener in australia message me like it must have been first thing in the morning for him because it was just before i went to bed saying hey by the way did you know that commit you pushed 12 minutes ago has your gmail password in it and i'm like okay first of all thank you for letting me know secondly uh it was 12 minutes ago like were you just waiting for me to push something
Chris: yes he's got some sort of like alert
Alex: uh so to get around that uh nick busey from the home lab os project uh helped me out with a pre-commit uh hook that i have in my git repo that just checks that my secrets file is encrypted before i push and do a git commit and push that's been very very useful it doesn't protect against me actually putting api keys and variables and stuff like that directly into other files which you know there comes a point where you've got to be like right okay this you know my safety net is checking that file is encrypted or not it's not going to go and scan every single file um so yeah i guess it's up to you whether you feel comfortable with that risk or not and i i tend to think that even if you're using a private repo on github you may as well treat that as a public repository anyway because one day it will be whether you like it or not so and it really just means can you
Chris: stick to like a good hygiene with that kind of stuff if you'd like to get your question in or have a comment or something you think we should check out let us know go over to self hosted dot show slash contact
Alex: and you can go to self hosted dot show sre to show your support for the show
Chris: yeah become a member get access to the post show and of course uh help us keep the show on the tracks i
Alex: think this episode we're going to talk about the future of the gasoline engine and the internal combustion engine oh i
Chris: have thoughts on that interesting yeah me too now i was
Alex: browsing some i always seem to come up with youtube on these things don't i but anyway uh about steam trains the other week and uh i found this union pacific steam loco called the big boy and this thing is freaking enormous and it was designed uh in the early uh part of last century to get over some of the rocky mountain passes because they're just so vast here and the trains are so heavy and so union pacifica have actually restored one of these big boy steam locos which is essentially two massive steam locos glued together this thing has basically two sets of drive wheels and two two full sets of pistons and it's just awesome just go look it up big boy union pacific steam loco and it's going on tour in august around the the us so it's leaving cheyenne wyoming and going all the way down to houston past uh our beloved cheese bacon's hometown of beaumont i know he lives in denver now doesn't he okay well so much for that you could say
Chris: it's his original hometown though
Alex: so much for that plug um so yeah it's going up to i think through dallas at some point and then up through kansas city in st louis so if you're in the center of the country by all means go take some pictures for me because i'm not going to be able to make that one but throughout august it's traversing the country that does look like an
Chris: incredible route actually we'll have a link in the show notes when you go there they have a map that shows you the route that they're going to be on well you know it's either
Alex: side of our denver meetup don't you so i reckon if you were creative with your schedule chris you could probably find it for a day
Chris: our route for the denver meetup in total is a good is going to be just over 5 000 miles that's a long way
Alex: i i drove that myself in 2018 we flew into orlando drove up to dc drove down to austin to meet you for the first time and then up to denver and that was about five thousand miles we did that in three weeks in a car i mean it wasn't it wasn't our house
Chris: no i'm gonna be in a land yacht yeah that's for sure but if you're gonna be in the area don't forget we have those meetups coming up and you can get details at meetup.com jupiter broadcasting make sure you don't
Alex: miss the next episode episode 50. we've got some cool stuff lined up for you and rumor has it there might be some swag in the meantime you can find
Chris: alex on twitter he is at ironic badger i'm at chris las and the show is at self-hosted show
Alex: and thanks for listening everybody that was selfhosted.show
None: 49.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment