WEBVTT

1
00:00:04.719 --> 00:00:07.799
<v Speaker 1>Hey, folks, Welcome back to another episode of the Ruby

2
00:00:07.879 --> 00:00:08.759
<v Speaker 1>Rogues podcast.

3
00:00:09.160 --> 00:00:12.880
<v Speaker 2>This week, on our panel we have Ayushnwatya Hello.

4
00:00:12.919 --> 00:00:13.160
<v Speaker 3>Hello.

5
00:00:14.199 --> 00:00:18.800
<v Speaker 1>We also have Valentino Stole and now Charles max Wood

6
00:00:18.839 --> 00:00:20.600
<v Speaker 1>from Top End Devs, and we have a special guest

7
00:00:20.640 --> 00:00:23.079
<v Speaker 1>this week and that is Allie Heady.

8
00:00:24.039 --> 00:00:27.679
<v Speaker 2>Ohhdi actually HEDI no, it's it's fine.

9
00:00:28.559 --> 00:00:31.519
<v Speaker 1>I should have asked, but I assume because I think

10
00:00:31.519 --> 00:00:34.119
<v Speaker 1>I'm smart, and then I screw stuff up because I

11
00:00:34.119 --> 00:00:38.479
<v Speaker 1>think I'm smart. Anyway, do you want to just you

12
00:00:38.520 --> 00:00:41.439
<v Speaker 1>were mentioning before the show you've worked at thirty seven Signals.

13
00:00:41.439 --> 00:00:44.000
<v Speaker 1>You were the CTO for a free Agent, which is

14
00:00:44.079 --> 00:00:53.280
<v Speaker 1>a bookkeeping and financial app for businesses. What else is

15
00:00:53.320 --> 00:00:56.600
<v Speaker 1>there to know? What else are you famous for?

16
00:01:00.039 --> 00:01:02.000
<v Speaker 3>I think I think you've done it really well for

17
00:01:02.000 --> 00:01:04.599
<v Speaker 3>a sight of my famous I don't think so. But

18
00:01:04.640 --> 00:01:07.079
<v Speaker 3>they're the two main things, really, I mean, free Agents,

19
00:01:07.439 --> 00:01:12.560
<v Speaker 3>you know, consumed fifteen years of my life, so you

20
00:01:12.599 --> 00:01:15.079
<v Speaker 3>know that that's pretty much most most things. Before that,

21
00:01:15.159 --> 00:01:19.159
<v Speaker 3>I was a software developer, you know, nothing out of

22
00:01:19.159 --> 00:01:24.120
<v Speaker 3>the ordinary, you know, started in the nineties. I used

23
00:01:24.159 --> 00:01:29.400
<v Speaker 3>to do computer games originally when they came on CDs

24
00:01:29.680 --> 00:01:35.719
<v Speaker 3>and had sprites that kind of game. And then yeah,

25
00:01:35.760 --> 00:01:37.719
<v Speaker 3>I was that was my first job. I was just

26
00:01:37.760 --> 00:01:43.359
<v Speaker 3>a programmer, writing to see the plus plus and yeah,

27
00:01:43.439 --> 00:01:46.480
<v Speaker 3>making characters move on the screen. So that was kind

28
00:01:46.480 --> 00:01:49.680
<v Speaker 3>of interesting, although quite hard work. Have to say, I wouldn't,

29
00:01:49.680 --> 00:01:52.799
<v Speaker 3>you know, if you just want a nine to five,

30
00:01:53.319 --> 00:02:00.400
<v Speaker 3>I wouldn't recommend video games.

31
00:02:01.760 --> 00:02:02.719
<v Speaker 2>Video game developer.

32
00:02:02.840 --> 00:02:06.560
<v Speaker 3>So yeah, I mean, great fun. I mean, to be honest,

33
00:02:06.760 --> 00:02:09.039
<v Speaker 3>probably quite different in the nineties. I have no idea

34
00:02:09.080 --> 00:02:13.840
<v Speaker 3>what it's like today. I'm not really in there. But

35
00:02:13.840 --> 00:02:15.840
<v Speaker 3>but yeah, and then, you know, doing a variety of

36
00:02:15.879 --> 00:02:20.840
<v Speaker 3>different jobs, and ended up being a being a kind

37
00:02:20.879 --> 00:02:25.879
<v Speaker 3>of consultant, you know, going into banks, kind of soul

38
00:02:25.919 --> 00:02:29.280
<v Speaker 3>destroying that kind of thing. And then yeah, and then

39
00:02:30.599 --> 00:02:33.039
<v Speaker 3>we had It's funny because we had I had this

40
00:02:33.120 --> 00:02:36.360
<v Speaker 3>accountant to do my you know, to do my books,

41
00:02:36.400 --> 00:02:40.120
<v Speaker 3>had a limited company, and he used to send a

42
00:02:40.120 --> 00:02:44.280
<v Speaker 3>spreadsheet every month and say fill this in, you know,

43
00:02:44.479 --> 00:02:46.680
<v Speaker 3>so okay, and so I had to fill in all

44
00:02:46.680 --> 00:02:50.400
<v Speaker 3>the bank transactions manually and then all the expenses and

45
00:02:50.439 --> 00:02:52.960
<v Speaker 3>then send it back over and then and then he

46
00:02:53.000 --> 00:02:56.080
<v Speaker 3>would do whatever he did and then said, well you

47
00:02:56.120 --> 00:02:58.719
<v Speaker 3>wrote with this much tax, pay it here. So I

48
00:02:58.719 --> 00:03:02.639
<v Speaker 3>had no idea about how financed, about the finances, how

49
00:03:02.639 --> 00:03:04.879
<v Speaker 3>it all worked for anything, and it just felt like

50
00:03:04.919 --> 00:03:07.159
<v Speaker 3>a bit of a waste of time. And you know,

51
00:03:07.360 --> 00:03:09.919
<v Speaker 3>so as it turned out, Ed, who was another co

52
00:03:10.000 --> 00:03:14.080
<v Speaker 3>founder ere Agent, he had he had the same accountant

53
00:03:15.840 --> 00:03:18.479
<v Speaker 3>and he'd been you know, he'd started work on this

54
00:03:18.919 --> 00:03:23.479
<v Speaker 3>prototype of free Agent using Ruby because that was super

55
00:03:23.479 --> 00:03:26.159
<v Speaker 3>cool right in two thousand and six. That was the

56
00:03:26.199 --> 00:03:30.199
<v Speaker 3>real hot tech. And I met and I met ed,

57
00:03:30.280 --> 00:03:32.280
<v Speaker 3>and you know, we kind of got talking. Found this

58
00:03:32.520 --> 00:03:35.080
<v Speaker 3>connection with our accountant and he was like, well, do

59
00:03:35.479 --> 00:03:36.759
<v Speaker 3>you want to kind of help me build it? It was

60
00:03:37.000 --> 00:03:41.000
<v Speaker 3>good and then quit my job and that was that.

61
00:03:41.599 --> 00:03:45.719
<v Speaker 3>So that's kind of how it came about. And yeah,

62
00:03:45.840 --> 00:03:50.360
<v Speaker 3>fifteen years later, kind of I left because we did

63
00:03:50.360 --> 00:03:54.479
<v Speaker 3>an IPO in twenty sixteen on the London Stock Exchange

64
00:03:54.520 --> 00:03:56.439
<v Speaker 3>and then and then we actually got acquired by a

65
00:03:56.479 --> 00:04:00.719
<v Speaker 3>bank in twenty eighteen and so kind of stayed there

66
00:04:00.759 --> 00:04:02.960
<v Speaker 3>for a little while after that, but then yeah, left

67
00:04:03.000 --> 00:04:04.680
<v Speaker 3>in twenty twenty two. So that was the kind of

68
00:04:04.680 --> 00:04:08.520
<v Speaker 3>the big startup journey of free Agent and Rails all

69
00:04:08.520 --> 00:04:11.000
<v Speaker 3>the way Ruby and Rails. That was pretty much everything

70
00:04:12.319 --> 00:04:16.040
<v Speaker 3>the whole that pretty much. Not not quite but pretty much.

71
00:04:16.120 --> 00:04:17.079
<v Speaker 4>Was it hard to let it go?

72
00:04:18.959 --> 00:04:21.800
<v Speaker 3>Let it go? Well, I mean yeah, yes, and no,

73
00:04:22.199 --> 00:04:27.439
<v Speaker 3>I think yes, And that it's that it gives you

74
00:04:27.480 --> 00:04:29.959
<v Speaker 3>that sense of identity, you know, and so you sort

75
00:04:30.000 --> 00:04:32.560
<v Speaker 3>of lose this whole thing. It's like, yeah, the co founder,

76
00:04:34.000 --> 00:04:35.519
<v Speaker 3>Well you can always say co found the company, but

77
00:04:35.720 --> 00:04:39.120
<v Speaker 3>you know, you can't really you're detached from it then.

78
00:04:39.480 --> 00:04:42.120
<v Speaker 3>But then but then not really because you know, I

79
00:04:42.120 --> 00:04:45.199
<v Speaker 3>think it had for me, I felt like we'd almost

80
00:04:45.279 --> 00:04:48.279
<v Speaker 3>built everything in it, Like every feature was kind of

81
00:04:48.439 --> 00:04:52.160
<v Speaker 3>done in my mind, like it did everything from like

82
00:04:52.240 --> 00:04:55.000
<v Speaker 3>time tracking all the way through to kind of filing

83
00:04:55.000 --> 00:04:58.360
<v Speaker 3>your tax returns automatically. But at that point it's we

84
00:04:58.519 --> 00:05:00.480
<v Speaker 3>kind of you know, felt like a kind of done.

85
00:05:00.519 --> 00:05:02.160
<v Speaker 3>That's what we set out to do back in the day,

86
00:05:02.360 --> 00:05:04.279
<v Speaker 3>and you know, I thought we'd never get there, but

87
00:05:04.360 --> 00:05:08.439
<v Speaker 3>we did. And yeah, and the last thing we did

88
00:05:08.560 --> 00:05:13.759
<v Speaker 3>was this massive migration of the infrastructure too, to the cloud.

89
00:05:14.720 --> 00:05:17.240
<v Speaker 3>Not none of this cool, we move out of the cloud.

90
00:05:17.439 --> 00:05:20.120
<v Speaker 3>We'd run the whole thing on servers, our own service

91
00:05:20.199 --> 00:05:23.800
<v Speaker 3>for years, and then in twenty twenty, we we did

92
00:05:23.839 --> 00:05:25.480
<v Speaker 3>the help. We did that, we moved to the cloud

93
00:05:25.560 --> 00:05:28.920
<v Speaker 3>a WS and that was a big thing, and did

94
00:05:29.079 --> 00:05:32.920
<v Speaker 3>you know for us was a good thing. Yeah. So

95
00:05:33.040 --> 00:05:34.639
<v Speaker 3>once that was done, I was like, yeah, I think,

96
00:05:34.680 --> 00:05:37.839
<v Speaker 3>I'm I think I'm kind of done here, but I

97
00:05:37.839 --> 00:05:39.560
<v Speaker 3>do miss it. I still use it as well because

98
00:05:39.560 --> 00:05:41.279
<v Speaker 3>I haven't. I do my own kind of consulting thing

99
00:05:41.319 --> 00:05:43.600
<v Speaker 3>now and again, and I'm still used to age. I

100
00:05:43.680 --> 00:05:46.199
<v Speaker 3>mean there quite often. It's good.

101
00:05:46.360 --> 00:05:49.360
<v Speaker 5>Yeah, I'm a customer and I just love it because

102
00:05:49.800 --> 00:05:54.240
<v Speaker 5>I'm completely technical. Book keeping, accounting stuff is just so

103
00:05:54.399 --> 00:05:56.639
<v Speaker 5>i alien to me and I can just click around

104
00:05:56.720 --> 00:06:02.480
<v Speaker 5>and learn stuff from from free agent. So it's been

105
00:06:02.480 --> 00:06:06.600
<v Speaker 5>a boon for me as a freelancer to have that. So, like,

106
00:06:06.839 --> 00:06:10.360
<v Speaker 5>what was the motivation behind going to the cloud because

107
00:06:10.839 --> 00:06:13.600
<v Speaker 5>obviously with thirty seven signals all the ages going the

108
00:06:13.680 --> 00:06:14.120
<v Speaker 5>other way?

109
00:06:15.519 --> 00:06:19.839
<v Speaker 3>Yeah, absolutely, HH made Kamal so that he could get

110
00:06:19.879 --> 00:06:24.959
<v Speaker 3>off the cloud. Yeah, it is a good question. So,

111
00:06:25.920 --> 00:06:28.439
<v Speaker 3>I mean, I guess for starting, I am a big

112
00:06:28.480 --> 00:06:32.759
<v Speaker 3>fan of running your own hardware in many ways, because

113
00:06:32.920 --> 00:06:35.199
<v Speaker 3>you know, that's what we started doing. It was kind

114
00:06:35.240 --> 00:06:38.079
<v Speaker 3>of the only option back in twenty sixty seven. I mean,

115
00:06:38.639 --> 00:06:41.639
<v Speaker 3>you know, we just rented a server from rack space

116
00:06:42.120 --> 00:06:44.000
<v Speaker 3>and that was kind of that and you know, and

117
00:06:44.120 --> 00:06:47.399
<v Speaker 3>we did use there was all these cloud Easy two

118
00:06:47.560 --> 00:06:52.959
<v Speaker 3>sort of existed, but early days, you know, it wasn't

119
00:06:53.000 --> 00:06:55.639
<v Speaker 3>much tooling around that, and there were things like flight

120
00:06:55.720 --> 00:06:59.759
<v Speaker 3>hosts and these other cloud bright Box, a few of

121
00:06:59.800 --> 00:07:01.879
<v Speaker 3>these things that we did play around it just for

122
00:07:01.959 --> 00:07:04.439
<v Speaker 3>staging servers, playing around, but the actual app ran on.

123
00:07:04.480 --> 00:07:08.680
<v Speaker 3>It ran its own hardware, and we did at one

124
00:07:08.680 --> 00:07:10.959
<v Speaker 3>point rax Space had a cloud and because we were

125
00:07:10.959 --> 00:07:13.759
<v Speaker 3>in raxplace, let's let's use that. This would be great.

126
00:07:14.120 --> 00:07:17.720
<v Speaker 3>But we found it really flaky. It was pretty unreliable

127
00:07:17.920 --> 00:07:21.560
<v Speaker 3>for us, and we lost a bit of trust. And then,

128
00:07:21.920 --> 00:07:24.040
<v Speaker 3>you know, one of the guys that we had on

129
00:07:24.079 --> 00:07:28.879
<v Speaker 3>the team was was just great at building servers and stuff,

130
00:07:29.120 --> 00:07:34.639
<v Speaker 3>networking and whatnot. So we just decided, well, let's just

131
00:07:34.800 --> 00:07:38.959
<v Speaker 3>let's just do it, and we just we just bought

132
00:07:39.000 --> 00:07:41.319
<v Speaker 3>some hardware and rap and racked it up and did

133
00:07:41.399 --> 00:07:45.279
<v Speaker 3>all that and that's how it ran for well what

134
00:07:45.279 --> 00:07:49.399
<v Speaker 3>would that be about nine years? But I suppose one

135
00:07:49.399 --> 00:07:52.319
<v Speaker 3>of the big drivers was the tech we were using

136
00:07:54.079 --> 00:07:57.519
<v Speaker 3>was kind of niche. We were using towards the end

137
00:07:58.000 --> 00:08:01.279
<v Speaker 3>uh smarter s, which you may or may not have

138
00:08:01.279 --> 00:08:04.720
<v Speaker 3>heard of. Not many people who heard of it which

139
00:08:04.759 --> 00:08:11.360
<v Speaker 3>is basically like, ultimately it's Salaris, but it's an Loumoss

140
00:08:12.519 --> 00:08:16.319
<v Speaker 3>And we were using Triton to do containerization and all

141
00:08:16.319 --> 00:08:18.839
<v Speaker 3>of this. But it wasn't Docer, it wasn't Linux. It

142
00:08:18.879 --> 00:08:23.639
<v Speaker 3>was kind of Niche worked really well, but actually the

143
00:08:23.680 --> 00:08:26.360
<v Speaker 3>ops team we'd struggled to hire people to do it

144
00:08:26.839 --> 00:08:30.000
<v Speaker 3>for that reason and also didn't necessarily want to do

145
00:08:30.040 --> 00:08:33.879
<v Speaker 3>it as well most people, so it was a little

146
00:08:33.879 --> 00:08:36.879
<v Speaker 3>bit troublesome. And obviously the cloud had come a long way,

147
00:08:36.919 --> 00:08:39.399
<v Speaker 3>which we were already using. We already were using S

148
00:08:39.440 --> 00:08:42.399
<v Speaker 3>three like all the rescipts, everything that you can helploaded free,

149
00:08:42.440 --> 00:08:44.720
<v Speaker 3>it's all in stary. And that was always the case

150
00:08:44.840 --> 00:08:46.519
<v Speaker 3>because you know, you don't want to be getting into

151
00:08:47.000 --> 00:08:52.519
<v Speaker 3>objects storage yourself really and we'd already we were starting

152
00:08:52.519 --> 00:08:57.600
<v Speaker 3>to do some data science stuff in AUS and so

153
00:08:57.840 --> 00:09:01.440
<v Speaker 3>you know a lot of that stuff. It kind of

154
00:09:01.480 --> 00:09:04.480
<v Speaker 3>made sense to us, well let's just think about moving

155
00:09:04.559 --> 00:09:07.200
<v Speaker 3>the app over how you know, how hard can that be?

156
00:09:07.279 --> 00:09:09.960
<v Speaker 3>And are lots of advantages And because we've been brought

157
00:09:09.960 --> 00:09:13.320
<v Speaker 3>by a bank, they were they were kind of big

158
00:09:13.360 --> 00:09:15.480
<v Speaker 3>on on the cloud as well, and they also had

159
00:09:15.559 --> 00:09:17.960
<v Speaker 3>quite a lot of leverage with a US in terms

160
00:09:18.000 --> 00:09:20.360
<v Speaker 3>of the white costs and stuff, so we could kind

161
00:09:20.360 --> 00:09:22.440
<v Speaker 3>of pigedback on some of that. So all of that

162
00:09:22.480 --> 00:09:28.679
<v Speaker 3>coming together really helped. And yeah, it was it was

163
00:09:29.000 --> 00:09:31.440
<v Speaker 3>a good move for US, I think. I mean, cost wise,

164
00:09:31.600 --> 00:09:35.120
<v Speaker 3>very hard to compare. I mean maybe maybe it's more depensive.

165
00:09:35.159 --> 00:09:38.240
<v Speaker 3>I mean it's apples and oranges really when you're trying

166
00:09:38.240 --> 00:09:42.480
<v Speaker 3>to compare these costs. But you know, the OPS team

167
00:09:42.679 --> 00:09:46.399
<v Speaker 3>getting into kind of the infrastructure automation, infrastructure's code that

168
00:09:46.559 --> 00:09:50.039
<v Speaker 3>which we already did. We were using Poppet and other

169
00:09:50.080 --> 00:09:52.120
<v Speaker 3>technologies that we you know, kind of moved over to

170
00:09:52.240 --> 00:09:55.679
<v Speaker 3>terra Form and all of this, which was much more.

171
00:09:56.559 --> 00:09:58.240
<v Speaker 3>People wanted to work with this stuff, right, it was

172
00:09:58.320 --> 00:10:02.320
<v Speaker 3>kind of like reasonably new hot tech that people wanted

173
00:10:02.360 --> 00:10:06.120
<v Speaker 3>to do. And so yeah, it was. It was actually

174
00:10:06.120 --> 00:10:08.919
<v Speaker 3>a pretty good move, I think. But I do I

175
00:10:08.919 --> 00:10:10.919
<v Speaker 3>do kind of miss the power that you get from

176
00:10:11.000 --> 00:10:13.039
<v Speaker 3>your own hardware. It's got, it's got. It's got to

177
00:10:13.039 --> 00:10:16.600
<v Speaker 3>be said. To these databases on like Aurora, and you

178
00:10:16.600 --> 00:10:18.279
<v Speaker 3>get these kind of I don't even know what they're called,

179
00:10:18.320 --> 00:10:22.759
<v Speaker 3>you know, the xx sales or whatever, crazy prices really

180
00:10:22.879 --> 00:10:25.639
<v Speaker 3>to be honest, but you know, as long as you

181
00:10:25.679 --> 00:10:28.440
<v Speaker 3>can afford it, and it's you know, it fits within

182
00:10:28.480 --> 00:10:30.320
<v Speaker 3>your budget and what you want, you're willing to pay

183
00:10:30.320 --> 00:10:33.240
<v Speaker 3>in terms of you know, your margins, then it's fine.

184
00:10:33.840 --> 00:10:36.240
<v Speaker 3>But if you're trying to squeeze, you know, squeeze margins,

185
00:10:36.240 --> 00:10:40.480
<v Speaker 3>improve prove things, then sure. But we were optimizing really

186
00:10:40.519 --> 00:10:45.120
<v Speaker 3>for a big engineering team. We had one hundred plus people,

187
00:10:47.039 --> 00:10:49.559
<v Speaker 3>not very big oppostion, and you had about five people

188
00:10:49.679 --> 00:10:51.759
<v Speaker 3>doing all of that, which is about half the size

189
00:10:51.759 --> 00:10:56.399
<v Speaker 3>of thirty somethings. So, yeah, I think that answer your

190
00:10:56.440 --> 00:10:57.360
<v Speaker 3>question a bit of a rambo.

191
00:10:58.120 --> 00:11:02.399
<v Speaker 5>No, that's that's a very parol. And so yeah, you

192
00:11:02.960 --> 00:11:06.480
<v Speaker 5>left in twenty twenty two, and then you did you

193
00:11:06.519 --> 00:11:08.799
<v Speaker 5>go immediately do Patty sound signals after that?

194
00:11:11.200 --> 00:11:13.960
<v Speaker 3>Yeah? It was, I mean I hadn't, I didn't intend

195
00:11:14.039 --> 00:11:15.480
<v Speaker 3>to do. That was because I knew I was leaving

196
00:11:15.480 --> 00:11:19.480
<v Speaker 3>free Agent. And at the time there were a couple

197
00:11:19.519 --> 00:11:24.799
<v Speaker 3>of guys that had worked at free Agent that had

198
00:11:25.240 --> 00:11:28.600
<v Speaker 3>gone there. They've gone they joined in like the summer

199
00:11:28.679 --> 00:11:32.000
<v Speaker 3>of that year twenty one, and you know, I've seen

200
00:11:32.080 --> 00:11:36.600
<v Speaker 3>touch these guys really great, great programmers, you know, fantastic people,

201
00:11:38.360 --> 00:11:43.279
<v Speaker 3>and at the time they they were looking for like

202
00:11:43.320 --> 00:11:47.519
<v Speaker 3>a director of engineering. And I think one of these

203
00:11:47.519 --> 00:11:49.799
<v Speaker 3>guys said, you should talk to Ollie. You know, he's

204
00:11:49.879 --> 00:11:52.720
<v Speaker 3>leaving leaving free Asian, maybe he'd be interested. And so

205
00:11:53.639 --> 00:11:57.399
<v Speaker 3>it was kind of like a recommendation that happened. And

206
00:11:57.440 --> 00:12:00.480
<v Speaker 3>then you know, I got the I got a call

207
00:12:00.519 --> 00:12:02.440
<v Speaker 3>from David and so that you want to try about this,

208
00:12:02.519 --> 00:12:05.320
<v Speaker 3>and you know, one one thing led to another, and

209
00:12:05.360 --> 00:12:09.200
<v Speaker 3>I was like, this sounds pretty cool. And because quite

210
00:12:09.200 --> 00:12:11.879
<v Speaker 3>a few people from free Agent when I when I

211
00:12:11.919 --> 00:12:15.480
<v Speaker 3>then joined, I joined in March twenty two. By that

212
00:12:15.519 --> 00:12:18.919
<v Speaker 3>point they'd hirde about. I think there was five people

213
00:12:18.960 --> 00:12:23.879
<v Speaker 3>that were programmers and free Agents. It felt a bit

214
00:12:23.960 --> 00:12:26.720
<v Speaker 3>like getting the gang back together together again. You know,

215
00:12:27.360 --> 00:12:28.799
<v Speaker 3>I thought this would be quite cool. I can go

216
00:12:28.840 --> 00:12:30.720
<v Speaker 3>and kind of work with these guys who were amazing

217
00:12:31.039 --> 00:12:33.759
<v Speaker 3>and and you know, get to work with study sent things.

218
00:12:33.840 --> 00:12:34.600
<v Speaker 3>That sounds brilliant.

219
00:12:34.600 --> 00:12:40.399
<v Speaker 5>And then yeah, the reason I asked about the timing

220
00:12:40.519 --> 00:12:42.960
<v Speaker 5>was because I was curious about did you just help

221
00:12:43.039 --> 00:12:45.480
<v Speaker 5>free Agent get onto the cloud then switch jobs and

222
00:12:45.720 --> 00:12:47.639
<v Speaker 5>help another company get off the cloud?

223
00:12:49.879 --> 00:12:52.320
<v Speaker 3>Certainly doesn't look like that, doesn't it. But yeah, I think, well,

224
00:12:52.360 --> 00:12:56.120
<v Speaker 3>my involvements in the in the cloud exit things was

225
00:12:56.159 --> 00:12:59.960
<v Speaker 3>pretty minimal. I mean to be honest, I wasn't involved

226
00:13:01.320 --> 00:13:05.360
<v Speaker 3>technically really in many things there it was. It was

227
00:13:05.480 --> 00:13:12.799
<v Speaker 3>very much more of a management leadership role. So unfortunately,

228
00:13:12.799 --> 00:13:15.919
<v Speaker 3>I think get stuck in fair enough.

229
00:13:17.639 --> 00:13:20.440
<v Speaker 5>So I'm not saying there's just a blow smoke up

230
00:13:20.480 --> 00:13:22.519
<v Speaker 5>her ass, but free Agent has one of the best

231
00:13:22.919 --> 00:13:27.320
<v Speaker 5>webu eyes of more modern software as a service app

232
00:13:27.399 --> 00:13:31.000
<v Speaker 5>that I've used and as chatting with other free Agent

233
00:13:31.039 --> 00:13:33.200
<v Speaker 5>guys that at Brighton Ruby a couple of months ago

234
00:13:33.200 --> 00:13:35.360
<v Speaker 5>and have said this to them as well. I'm curious

235
00:13:35.399 --> 00:13:37.440
<v Speaker 5>from your point of view as a leader, because you

236
00:13:37.559 --> 00:13:41.240
<v Speaker 5>grew the company through the twenty tens, how did you

237
00:13:41.480 --> 00:13:45.039
<v Speaker 5>avoid this whole hype cycle of React and stuff? And

238
00:13:45.519 --> 00:13:49.080
<v Speaker 5>because because the way I see it, most web YOUU

239
00:13:49.159 --> 00:13:52.440
<v Speaker 5>eyes are shipped because people use React and shoved it

240
00:13:52.480 --> 00:13:54.960
<v Speaker 5>where it has no business being. It's a great tool

241
00:13:55.679 --> 00:14:00.639
<v Speaker 5>for the right job, but obviously i'll avoid the right now.

242
00:14:00.679 --> 00:14:03.000
<v Speaker 5>But so how did you avoid the hypees and just

243
00:14:03.080 --> 00:14:06.559
<v Speaker 5>keep things simple and as such? Like a very it's

244
00:14:06.559 --> 00:14:07.720
<v Speaker 5>got a very snappy UI.

245
00:14:08.720 --> 00:14:10.559
<v Speaker 2>Yeah, Ali, how are you such a genius?

246
00:14:14.320 --> 00:14:17.240
<v Speaker 3>Well, I'd love to claim that, but let's let let's

247
00:14:17.519 --> 00:14:21.440
<v Speaker 3>dive into what what the reality under the hood show?

248
00:14:22.879 --> 00:14:27.120
<v Speaker 3>So I mean front end right, like back in two

249
00:14:27.159 --> 00:14:33.840
<v Speaker 3>thousand and seven, the naughts, it was all you know, uh,

250
00:14:34.559 --> 00:14:38.120
<v Speaker 3>prototype JS that kind of thing, right the job.

251
00:14:38.279 --> 00:14:39.600
<v Speaker 2>Oh you're going way back.

252
00:14:40.600 --> 00:14:43.679
<v Speaker 1>How it was that when I got started, Yeah, it

253
00:14:43.759 --> 00:14:47.240
<v Speaker 1>was prototype, and then Jaquery was like the dream.

254
00:14:47.320 --> 00:14:50.720
<v Speaker 3>Yeah we didn't have Jery but and so I suppose

255
00:14:50.799 --> 00:14:52.919
<v Speaker 3>fortunately in some way, we just didn't really do that

256
00:14:53.000 --> 00:14:56.600
<v Speaker 3>much javascripts, Like I think the only places we really

257
00:14:56.639 --> 00:15:01.399
<v Speaker 3>had it were populating combo bot is that kind of thing,

258
00:15:01.440 --> 00:15:04.159
<v Speaker 3>you know, when you change one, the next one populates

259
00:15:04.720 --> 00:15:08.600
<v Speaker 3>a few things like that. So we kind of avoided

260
00:15:08.639 --> 00:15:12.360
<v Speaker 3>it just because well, I wasn't really very good at joscript.

261
00:15:12.399 --> 00:15:14.519
<v Speaker 3>I don't it. I am very good at joscript even now,

262
00:15:14.639 --> 00:15:17.240
<v Speaker 3>to be honest, because I'm just trying to touch a

263
00:15:17.360 --> 00:15:20.799
<v Speaker 3>voice it as much as I can. And then you know,

264
00:15:20.919 --> 00:15:23.919
<v Speaker 3>jay Query, I guess came along and we used some

265
00:15:24.039 --> 00:15:28.840
<v Speaker 3>of that for a while. And I think part of

266
00:15:28.840 --> 00:15:31.519
<v Speaker 3>the thing was that free Agent's scope was really broad.

267
00:15:31.720 --> 00:15:35.159
<v Speaker 3>So when it came to dev that there were so

268
00:15:35.279 --> 00:15:37.720
<v Speaker 3>many features that we wanted to do, and it was

269
00:15:37.759 --> 00:15:42.000
<v Speaker 3>like everything It's like payroll and you know bank you know,

270
00:15:42.679 --> 00:15:45.200
<v Speaker 3>using bank feeds like Yoadley we had to do. Back

271
00:15:45.240 --> 00:15:48.240
<v Speaker 3>in the day, there was this huge scope of stuff,

272
00:15:48.399 --> 00:15:52.600
<v Speaker 3>so like fattening around and rewriting UI's was not really

273
00:15:53.919 --> 00:15:57.039
<v Speaker 3>a useful business thing to do, so we just kind

274
00:15:57.039 --> 00:16:01.840
<v Speaker 3>of didn't do it. We just left it now, except

275
00:16:01.919 --> 00:16:05.120
<v Speaker 3>that one of the most kind of interactive parts of

276
00:16:05.159 --> 00:16:07.120
<v Speaker 3>the app is the banking area, where you have all

277
00:16:07.120 --> 00:16:09.200
<v Speaker 3>your bank transactions and you kind of click and you

278
00:16:09.240 --> 00:16:16.440
<v Speaker 3>can explain them and categorize them. Now that probably twenty

279
00:16:17.200 --> 00:16:19.679
<v Speaker 3>we're trying to think thirteen or something like that, I

280
00:16:19.679 --> 00:16:26.039
<v Speaker 3>think someone had started playing around with a JavaScript framework.

281
00:16:27.080 --> 00:16:28.879
<v Speaker 3>I can't remember off the top of the head actually

282
00:16:29.679 --> 00:16:31.360
<v Speaker 3>what that was called. It was, it was one of

283
00:16:31.399 --> 00:16:35.440
<v Speaker 3>the early ones, and then which I think we actually

284
00:16:35.519 --> 00:16:39.240
<v Speaker 3>put live perhaps, But then someone during one of our

285
00:16:39.240 --> 00:16:43.759
<v Speaker 3>hack days decided to try and build it and react

286
00:16:44.159 --> 00:16:48.200
<v Speaker 3>the banking section which kind of works, and they got it.

287
00:16:48.240 --> 00:16:50.759
<v Speaker 3>They've got it working quite quickly in a few days,

288
00:16:51.600 --> 00:16:57.000
<v Speaker 3>you know, prototyping this thing, and it looked it was better,

289
00:16:57.039 --> 00:16:59.759
<v Speaker 3>it worked better from a UI point of view, But

290
00:16:59.799 --> 00:17:03.679
<v Speaker 3>then what it kind of grew arms and legs, and

291
00:17:03.720 --> 00:17:07.160
<v Speaker 3>what happened with that project. Is that ultimately that area

292
00:17:07.319 --> 00:17:11.640
<v Speaker 3>then became written in React and it stuck. Even though

293
00:17:13.759 --> 00:17:16.160
<v Speaker 3>it was it was much more complicated. It's quite buggy

294
00:17:17.160 --> 00:17:19.920
<v Speaker 3>because like all the validation that you know was in

295
00:17:20.160 --> 00:17:23.680
<v Speaker 3>was on the server side, so all the front endfaltation

296
00:17:23.920 --> 00:17:27.960
<v Speaker 3>was being duplicated again, including we had stuff like formatting

297
00:17:28.039 --> 00:17:30.599
<v Speaker 3>numbers and stuff that the Rails Act would do, and

298
00:17:30.680 --> 00:17:34.480
<v Speaker 3>so when this section got built in React, then all

299
00:17:34.519 --> 00:17:38.720
<v Speaker 3>of that had to be people duplicating number formatting. So

300
00:17:38.759 --> 00:17:40.359
<v Speaker 3>it's all a bit of a bit of a mess,

301
00:17:40.359 --> 00:17:43.160
<v Speaker 3>to be honest, And as far as I know that

302
00:17:43.279 --> 00:17:46.599
<v Speaker 3>is still there, that whole banking area in free agent

303
00:17:46.680 --> 00:17:52.640
<v Speaker 3>is React. Well inside the kind of main frame, there's

304
00:17:52.680 --> 00:17:58.720
<v Speaker 3>not so much sing. But but then honestly, I now

305
00:17:58.759 --> 00:18:01.000
<v Speaker 3>it could be I could be slightly wrong here because

306
00:18:01.000 --> 00:18:03.640
<v Speaker 3>it's going back to yours. But then so everything else

307
00:18:03.680 --> 00:18:05.920
<v Speaker 3>kind of stay the same. And because the reacting took

308
00:18:05.960 --> 00:18:09.960
<v Speaker 3>so long and in my opinion was a bit it's

309
00:18:10.000 --> 00:18:13.440
<v Speaker 3>protracted and didn't really result in any any kind of

310
00:18:14.559 --> 00:18:18.359
<v Speaker 3>great value, then nothing. We kind of made the call

311
00:18:18.480 --> 00:18:21.000
<v Speaker 3>like nothing else and we forget about it. We're just

312
00:18:21.000 --> 00:18:24.200
<v Speaker 3>going to leave it as it is and gradually improve things,

313
00:18:24.559 --> 00:18:29.279
<v Speaker 3>by which point turbo and stimulus was coming along, and

314
00:18:29.319 --> 00:18:30.880
<v Speaker 3>by the time I left then it was like, right

315
00:18:30.920 --> 00:18:33.680
<v Speaker 3>that the future should be in We'll just stick with

316
00:18:33.720 --> 00:18:37.240
<v Speaker 3>the rails conventions and we'll do stuff that way, ideally

317
00:18:37.319 --> 00:18:39.839
<v Speaker 3>maybe replacing the whole reacting at some point. But again

318
00:18:39.880 --> 00:18:42.559
<v Speaker 3>it's the same problem, like, well, there's lots of other

319
00:18:42.599 --> 00:18:45.000
<v Speaker 3>things to do, what that kind of works, might as

320
00:18:45.039 --> 00:18:49.559
<v Speaker 3>well leave it, even though you are juggling different technologies.

321
00:18:49.559 --> 00:18:55.559
<v Speaker 3>So it's you know, we did, through general ignorance. We didn't,

322
00:18:55.640 --> 00:18:58.039
<v Speaker 3>you know, rebuild the entire UAR in reaction. I'm quite

323
00:18:58.039 --> 00:19:00.440
<v Speaker 3>thankful that we didn't. I think that would have probably

324
00:19:00.519 --> 00:19:03.400
<v Speaker 3>been a bad idea. We did, we did have the

325
00:19:03.680 --> 00:19:09.519
<v Speaker 3>mobile apses using kind of I don't think we used

326
00:19:09.519 --> 00:19:11.480
<v Speaker 3>to reacting native, but I think we talked about doing that,

327
00:19:11.480 --> 00:19:16.200
<v Speaker 3>but we ultimately just went with native. But yeah, so

328
00:19:17.039 --> 00:19:19.880
<v Speaker 3>it's because of the size of free Agent. There's a

329
00:19:19.920 --> 00:19:21.640
<v Speaker 3>lot of different tech going we did. I think we

330
00:19:21.640 --> 00:19:26.599
<v Speaker 3>did get rid of j Query altogether eventually, but certainly

331
00:19:26.640 --> 00:19:28.960
<v Speaker 3>even if base base camp still has j Query in parts,

332
00:19:29.000 --> 00:19:31.119
<v Speaker 3>I'm pretty sure could be right, pretty sure it did

333
00:19:31.440 --> 00:19:33.319
<v Speaker 3>as well, you know, because these things are quite hard

334
00:19:34.119 --> 00:19:37.119
<v Speaker 3>to extract, it's it's a lot of effort and for

335
00:19:37.240 --> 00:19:42.119
<v Speaker 3>pretty much zero user benefit pretty much, and they can work, right,

336
00:19:42.240 --> 00:19:47.319
<v Speaker 3>So it's it's tricky managing things on that scale.

337
00:19:47.440 --> 00:19:52.400
<v Speaker 5>I think, Yeah, I've never understood this whole thing of

338
00:19:52.599 --> 00:19:55.799
<v Speaker 5>rewriting stuff that does the exact same thing but in

339
00:19:55.799 --> 00:19:58.119
<v Speaker 5>a new stack. I'm like, what's the point of just

340
00:19:58.119 --> 00:20:02.480
<v Speaker 5>just wasted effort? So yeah, let's just leave it, let

341
00:20:02.519 --> 00:20:03.000
<v Speaker 5>it work.

342
00:20:03.960 --> 00:20:09.079
<v Speaker 1>I generally agree, but if the ongoing maintenance burden will

343
00:20:09.079 --> 00:20:12.400
<v Speaker 1>be lessened by rewriting it, and it's not like a

344
00:20:12.480 --> 00:20:17.039
<v Speaker 1>total hey you're going to spend six months rewriting this piece, right,

345
00:20:17.160 --> 00:20:20.359
<v Speaker 1>So you have to weigh all these things. But I've

346
00:20:20.519 --> 00:20:23.920
<v Speaker 1>I've worked on apps where there was a new, better

347
00:20:23.960 --> 00:20:25.000
<v Speaker 1>way of doing things.

348
00:20:25.640 --> 00:20:29.480
<v Speaker 2>It was not terribly onerous to change it over.

349
00:20:30.200 --> 00:20:32.960
<v Speaker 1>Yeah, there was no real benefit to the users except

350
00:20:33.000 --> 00:20:35.359
<v Speaker 1>that the next time we had to come along and

351
00:20:35.400 --> 00:20:40.160
<v Speaker 1>maintain touch and modify whatever that application stuff, it was

352
00:20:40.240 --> 00:20:43.079
<v Speaker 1>going to be much much much easier, and so it

353
00:20:43.119 --> 00:20:46.319
<v Speaker 1>allowed us to deliver better and faster in the future.

354
00:20:49.119 --> 00:20:52.200
<v Speaker 4>I feel like too, you know, like a lot of

355
00:20:52.599 --> 00:20:56.000
<v Speaker 4>people don't like they like to draw parallels of like

356
00:20:56.079 --> 00:20:59.920
<v Speaker 4>front end coding to back end coding, and like you know,

357
00:21:00.119 --> 00:21:03.279
<v Speaker 4>somebody wants to switch to rust, Like you know, that's

358
00:21:03.279 --> 00:21:05.759
<v Speaker 4>a much steeper learning curve than just switching from j

359
00:21:05.920 --> 00:21:08.319
<v Speaker 4>Query to react or something like that.

360
00:21:10.799 --> 00:21:13.680
<v Speaker 3>Yeah, but I mean, I guess what's tricky as well

361
00:21:13.799 --> 00:21:15.839
<v Speaker 3>when when you have a lot of engineers in a

362
00:21:15.880 --> 00:21:19.519
<v Speaker 3>dozens and dozens of engineers, you get a lot a

363
00:21:19.519 --> 00:21:21.759
<v Speaker 3>lot of opinions as to what is the right thing

364
00:21:22.079 --> 00:21:26.000
<v Speaker 3>thing to do. And even when you know you're talking about, well,

365
00:21:26.079 --> 00:21:29.599
<v Speaker 3>let's do will do stingulus, that's how we're going to

366
00:21:29.640 --> 00:21:33.359
<v Speaker 3>do these things. You know, then you're going to people

367
00:21:33.359 --> 00:21:36.319
<v Speaker 3>are going to say, well, great, can we use stimulus reflex?

368
00:21:36.720 --> 00:21:39.200
<v Speaker 3>Can we do that because here's a good reason to

369
00:21:39.880 --> 00:21:44.079
<v Speaker 3>use this, or you know, it's a challenge to kind

370
00:21:44.119 --> 00:21:48.480
<v Speaker 3>of try and create standards which you ideally would like

371
00:21:48.519 --> 00:21:50.400
<v Speaker 3>because then everything's the same as a level playing field.

372
00:21:50.680 --> 00:21:52.559
<v Speaker 3>You all know what you're working on. But in reality,

373
00:21:52.599 --> 00:21:56.599
<v Speaker 3>it's like if someone thinks they can do that under

374
00:21:56.599 --> 00:21:59.039
<v Speaker 3>the benefit to doing that is is it bad? Is that? Dan?

375
00:21:59.119 --> 00:22:00.839
<v Speaker 3>Just are you going to end up in situation where

376
00:22:01.000 --> 00:22:03.319
<v Speaker 3>you're just using an obsolete technology and that you have

377
00:22:03.400 --> 00:22:08.279
<v Speaker 3>to then replace or actually, is it fine. It's you're

378
00:22:08.359 --> 00:22:13.200
<v Speaker 3>kind of making bets regardless of what you do, and

379
00:22:13.240 --> 00:22:18.000
<v Speaker 3>sometimes you know the stimulus is good, isn't it? But well,

380
00:22:18.000 --> 00:22:21.079
<v Speaker 3>in my experience, which isn't huge, to be fair, I

381
00:22:21.079 --> 00:22:25.119
<v Speaker 3>think it's quite opaque in terms like exactly how to

382
00:22:25.519 --> 00:22:28.799
<v Speaker 3>how what is the best practice? Like for an infinite scroll?

383
00:22:29.640 --> 00:22:31.200
<v Speaker 3>I don't know, like if you google it, there's like

384
00:22:31.359 --> 00:22:33.799
<v Speaker 3>loads of ways of doing it. Which way should I

385
00:22:33.839 --> 00:22:39.640
<v Speaker 3>do it? And not a contrived example? Maybe that that

386
00:22:39.720 --> 00:22:42.400
<v Speaker 3>kind of thing where it's where it's kind of, in

387
00:22:42.440 --> 00:22:46.920
<v Speaker 3>my opinion, quite vague documentation about how to do stuff.

388
00:22:46.920 --> 00:22:49.160
<v Speaker 3>You are kind of left to googling or chat GPT

389
00:22:49.279 --> 00:22:51.759
<v Speaker 3>and hoping it comes back with stuff where and it's

390
00:22:51.799 --> 00:22:54.640
<v Speaker 3>the same in the business, it's like, well, our only

391
00:22:54.759 --> 00:22:57.839
<v Speaker 3>stimulus reflex is that bad? I'm just going to include

392
00:22:57.880 --> 00:23:00.839
<v Speaker 3>this particular job script stuff and going to fit our

393
00:23:00.880 --> 00:23:03.960
<v Speaker 3>needs here? Is that bad? Is that good? I kind

394
00:23:03.960 --> 00:23:06.319
<v Speaker 3>of think it's okay, but I'll kind of keep an

395
00:23:06.319 --> 00:23:10.240
<v Speaker 3>eye on it. Whereas we react. That's very much. It's

396
00:23:10.279 --> 00:23:14.200
<v Speaker 3>a different paradigm, isn't it That that's much more complicated,

397
00:23:15.039 --> 00:23:17.240
<v Speaker 3>I think where it's just a jobscript libraries.

398
00:23:16.920 --> 00:23:21.559
<v Speaker 4>Career, So how do you assess like switching to new

399
00:23:21.599 --> 00:23:25.359
<v Speaker 4>technologies or adopting new things, like what is your thought

400
00:23:25.440 --> 00:23:26.920
<v Speaker 4>process on like doing that?

401
00:23:28.920 --> 00:23:32.799
<v Speaker 3>I think my default is always why do we need

402
00:23:32.839 --> 00:23:36.240
<v Speaker 3>to change anything? Can we just not? Because changing stuff

403
00:23:36.319 --> 00:23:39.160
<v Speaker 3>is just like work and it's going to take longer

404
00:23:39.200 --> 00:23:43.359
<v Speaker 3>than anyone says it will, and so can we do?

405
00:23:43.400 --> 00:23:45.000
<v Speaker 3>You know? Can we just not? And there a lot

406
00:23:45.000 --> 00:23:46.759
<v Speaker 3>of people, aren't there that still build stuff with J

407
00:23:46.880 --> 00:23:50.720
<v Speaker 3>queer and stuff because it it just it works? Is

408
00:23:50.759 --> 00:23:54.279
<v Speaker 3>that bad? Who's that guy on on X who's like

409
00:23:55.480 --> 00:24:00.400
<v Speaker 3>the millionaire hacker guy, that nomadalist guy that levels Peter

410
00:24:00.519 --> 00:24:03.319
<v Speaker 3>levels And I think he builds all of his stuff

411
00:24:03.319 --> 00:24:06.720
<v Speaker 3>in PHP and JCO. Isn't you like you can can

412
00:24:06.720 --> 00:24:11.640
<v Speaker 3>build anything with this stuff? So I think if you

413
00:24:11.680 --> 00:24:15.599
<v Speaker 3>can resist, But then when you say you're resisting change,

414
00:24:15.640 --> 00:24:18.079
<v Speaker 3>then you're kind of like an old dinosaur, aren't you?

415
00:24:18.079 --> 00:24:21.680
<v Speaker 3>Don't you don't want to change? But the reality is this,

416
00:24:22.440 --> 00:24:24.720
<v Speaker 3>when you're running a business, you just you do have

417
00:24:24.799 --> 00:24:29.559
<v Speaker 3>to kind of focus mainly on customer value. And if

418
00:24:29.599 --> 00:24:32.000
<v Speaker 3>it's not going to bring that value or maybe like

419
00:24:32.119 --> 00:24:36.599
<v Speaker 3>increase den velocity by an order of magnitude or something,

420
00:24:38.599 --> 00:24:41.759
<v Speaker 3>then do you really need to or is there If

421
00:24:41.799 --> 00:24:43.039
<v Speaker 3>you are going to do it, then how can you

422
00:24:43.079 --> 00:24:46.400
<v Speaker 3>do it incrementally? You know, how are you going to

423
00:24:46.440 --> 00:24:47.640
<v Speaker 3>do that? And it's like if you want to go

424
00:24:47.720 --> 00:24:52.440
<v Speaker 3>back to you know, turn everything into stimulus, that's great.

425
00:24:52.799 --> 00:24:56.319
<v Speaker 3>Don't do the big stimulus projects. That's just going to

426
00:24:56.319 --> 00:25:01.359
<v Speaker 3>take eighteen months by there. You know, like we're going

427
00:25:01.400 --> 00:25:04.119
<v Speaker 3>to work on this banking area, let's just tackle that

428
00:25:04.200 --> 00:25:07.279
<v Speaker 3>one while we're while we're in there. That that's more

429
00:25:07.319 --> 00:25:12.359
<v Speaker 3>of the approach I would really take. I think, resist

430
00:25:12.440 --> 00:25:15.680
<v Speaker 3>as long as possible until it became glaringly obvious that

431
00:25:15.680 --> 00:25:19.400
<v Speaker 3>everyone's going to walk out, which is you know, not

432
00:25:19.799 --> 00:25:22.240
<v Speaker 3>with our cloud stuff. You know, I don't think people

433
00:25:22.240 --> 00:25:23.799
<v Speaker 3>are going to walk out. But I think if we

434
00:25:23.880 --> 00:25:27.200
<v Speaker 3>really tried to keep forcing kind of smarter s, fighting

435
00:25:27.319 --> 00:25:30.680
<v Speaker 3>down everyone's throat, I don't think it really ended well.

436
00:25:30.759 --> 00:25:32.519
<v Speaker 3>We were going to have we had to do something there.

437
00:25:33.799 --> 00:25:36.640
<v Speaker 3>But from a programming point of view, I'm not sure

438
00:25:36.640 --> 00:25:40.240
<v Speaker 3>how common common that that problem is really. But you

439
00:25:40.279 --> 00:25:42.319
<v Speaker 3>do tackle hard ones, you know, like a Ruby up grade.

440
00:25:42.640 --> 00:25:46.039
<v Speaker 3>That what's good about things like that is that you know,

441
00:25:47.079 --> 00:25:50.599
<v Speaker 3>you get the obsolescence, so you know that if you

442
00:25:50.640 --> 00:25:54.319
<v Speaker 3>don't fix stuff by this date, then you're unsupported and

443
00:25:54.359 --> 00:25:58.039
<v Speaker 3>you're you're you're in dangerous territory at that point. So

444
00:25:58.079 --> 00:26:00.680
<v Speaker 3>that's quite nice when you have these actual So if

445
00:26:00.680 --> 00:26:02.960
<v Speaker 3>someone said Jay career is getting turned off, not you

446
00:26:02.960 --> 00:26:04.960
<v Speaker 3>can't really do that, but if they did, then maybe

447
00:26:05.039 --> 00:26:07.359
<v Speaker 3>that would be a good a good thing to do.

448
00:26:09.079 --> 00:26:11.599
<v Speaker 3>But yeah, but to try and simplify it as well, though,

449
00:26:11.880 --> 00:26:15.599
<v Speaker 3>because that's always the challenge to try and keep the

450
00:26:15.640 --> 00:26:21.200
<v Speaker 3>stack and and everything as simple as you can, which

451
00:26:21.240 --> 00:26:23.240
<v Speaker 3>is which is hard, and it's something that thirty seven

452
00:26:23.279 --> 00:26:28.240
<v Speaker 3>signals obviously do really well, but then they have fewer

453
00:26:28.559 --> 00:26:32.640
<v Speaker 3>moving parts I think, you know, and and the invent

454
00:26:32.720 --> 00:26:34.839
<v Speaker 3>all that stuff anyway, so it's kind of different.

455
00:26:37.000 --> 00:26:40.039
<v Speaker 5>Yeah, the simplicity, the simplicity side of things is huge

456
00:26:40.039 --> 00:26:43.480
<v Speaker 5>for me. And I also have like I have an

457
00:26:43.599 --> 00:26:47.559
<v Speaker 5>allergy for dependencies. I hate pulling independencies. I just like

458
00:26:48.680 --> 00:26:51.000
<v Speaker 5>I will need to have a really really good reason

459
00:26:51.400 --> 00:26:54.079
<v Speaker 5>before I add something to my GEM file, Like it'll

460
00:26:54.160 --> 00:26:56.400
<v Speaker 5>be like, literally, I do not want to solve this

461
00:26:56.480 --> 00:26:58.960
<v Speaker 5>problem by myself, and that's when I'll pull in a

462
00:26:59.039 --> 00:27:03.400
<v Speaker 5>GEM because I think most all the time you could

463
00:27:03.440 --> 00:27:05.680
<v Speaker 5>just spend two or three yards and build something yourself

464
00:27:05.720 --> 00:27:09.920
<v Speaker 5>that's specifically solves your problem, and it'll save you so

465
00:27:10.119 --> 00:27:12.960
<v Speaker 5>much time in the long run because you don't have

466
00:27:13.000 --> 00:27:15.039
<v Speaker 5>an external dependency that you don't control.

467
00:27:15.440 --> 00:27:21.319
<v Speaker 3>Honestly, that's such good advice. I think, Yeah, we maybe

468
00:27:21.319 --> 00:27:23.680
<v Speaker 3>didn't heed that. You know, there's always this tension, isn't it.

469
00:27:24.440 --> 00:27:27.000
<v Speaker 3>You know, well, it's a bit like a build versus baring.

470
00:27:27.000 --> 00:27:28.920
<v Speaker 3>Although it's open source, you're not really buying, you're just

471
00:27:28.960 --> 00:27:33.440
<v Speaker 3>kind of borrowing. But yeah, when you come to do

472
00:27:33.480 --> 00:27:35.839
<v Speaker 3>a Rails upgrade and you know that there's that one

473
00:27:35.960 --> 00:27:39.119
<v Speaker 3>gem that you use so like tagging or whatever it is,

474
00:27:39.119 --> 00:27:41.599
<v Speaker 3>there's some gem and it's just like, oh shit, that's

475
00:27:41.720 --> 00:27:47.240
<v Speaker 3>unsupported for Rails six or you well, if you wrote

476
00:27:47.240 --> 00:27:49.799
<v Speaker 3>your own, it's probably like a couple of classes and

477
00:27:50.319 --> 00:27:52.319
<v Speaker 3>not very complicated. You could do that yourself. And that's

478
00:27:52.319 --> 00:27:55.279
<v Speaker 3>something you know. Steady Send Signals do so well. Their

479
00:27:55.319 --> 00:27:58.960
<v Speaker 3>gentiles are pretty small, really, whereas pretty sure Creator is

480
00:27:58.960 --> 00:28:03.279
<v Speaker 3>pretty large. And it's definitely something I've taken on board

481
00:28:03.480 --> 00:28:07.720
<v Speaker 3>a lot. I think that it is quite as good

482
00:28:07.720 --> 00:28:11.160
<v Speaker 3>practice to try and minimize as much as possible, and

483
00:28:11.240 --> 00:28:15.680
<v Speaker 3>I do remember it thirty seven singles when when they

484
00:28:15.680 --> 00:28:18.519
<v Speaker 3>were starting on. I guess it was the calendar app

485
00:28:19.799 --> 00:28:21.880
<v Speaker 3>and I think, you know, David's looking at these gem

486
00:28:21.920 --> 00:28:26.000
<v Speaker 3>parts and basically, what why have we got REDDI? Why

487
00:28:26.039 --> 00:28:30.440
<v Speaker 3>is reddis in there? And it ultimately led to kind

488
00:28:30.480 --> 00:28:33.319
<v Speaker 3>of the solid cash and solid que stuff, which is

489
00:28:33.359 --> 00:28:35.440
<v Speaker 3>just like, hang on, database, it really fast, but why

490
00:28:35.559 --> 00:28:37.920
<v Speaker 3>don't need reddis. That's just a thing we just don't

491
00:28:37.960 --> 00:28:39.880
<v Speaker 3>need and it's the thing we have to support, which

492
00:28:40.000 --> 00:28:42.319
<v Speaker 3>ended up it's funny that ended up leading to these

493
00:28:42.400 --> 00:28:44.640
<v Speaker 3>gems being built, like I'm sure they're fast enough. You know,

494
00:28:44.680 --> 00:28:46.759
<v Speaker 3>the database is the fastest now on these new drives

495
00:28:46.759 --> 00:28:50.240
<v Speaker 3>have just bought. We don't need reddis And it's almost like,

496
00:28:50.599 --> 00:28:51.960
<v Speaker 3>I don't know where this is what was in David

497
00:28:52.119 --> 00:28:54.480
<v Speaker 3>always like that. It was literally that dependency that was

498
00:28:54.599 --> 00:28:57.799
<v Speaker 3>so irritating. They will just go and build all this

499
00:28:57.880 --> 00:29:01.200
<v Speaker 3>new tech just because that is first great right, because

500
00:29:01.920 --> 00:29:04.319
<v Speaker 3>one less dependency, Although have you because you've now got

501
00:29:04.319 --> 00:29:12.079
<v Speaker 3>these highly complex gems. I don't know where it's red reliable.

502
00:29:12.799 --> 00:29:16.200
<v Speaker 4>I'm curious on your thoughts about this idea, because like

503
00:29:16.839 --> 00:29:20.160
<v Speaker 4>when I have a total agreement like let fewer dependencies

504
00:29:20.160 --> 00:29:23.000
<v Speaker 4>the better, But at the same time, like some dependencies

505
00:29:23.039 --> 00:29:25.680
<v Speaker 4>are like it's better to have a community building and

506
00:29:25.759 --> 00:29:30.359
<v Speaker 4>identifying bugs and resolving features, Like what are your thoughts

507
00:29:30.359 --> 00:29:32.279
<v Speaker 4>on that, Like how do you gauge like whether or

508
00:29:32.359 --> 00:29:35.680
<v Speaker 4>not like community support around a certain feature set or

509
00:29:35.680 --> 00:29:40.480
<v Speaker 4>technology or gem is like worth it over building it yourself.

510
00:29:42.079 --> 00:29:44.119
<v Speaker 3>Yeah, I mean, for start, I suppose you have to

511
00:29:44.160 --> 00:29:45.839
<v Speaker 3>have to look at the activity on it, don't you.

512
00:29:45.880 --> 00:29:50.759
<v Speaker 3>If it's an active GEM then and pretty entrenched in,

513
00:29:51.119 --> 00:29:53.759
<v Speaker 3>you know, in the community, and that's always a good sign.

514
00:29:53.960 --> 00:29:56.559
<v Speaker 3>I don't think I would have I would hesitate really

515
00:29:56.599 --> 00:30:01.440
<v Speaker 3>to use the GEM in that case, unless, as I say,

516
00:30:01.480 --> 00:30:04.200
<v Speaker 3>it was so simple that you just think, well, do

517
00:30:04.240 --> 00:30:09.319
<v Speaker 3>I really need to do that? You know, because sometimes

518
00:30:09.319 --> 00:30:14.920
<v Speaker 3>they can complicate things and sometimes not. But the harder,

519
00:30:14.920 --> 00:30:18.359
<v Speaker 3>I suppose, the harder the problem that you're trying to

520
00:30:18.839 --> 00:30:22.359
<v Speaker 3>solve by using that GEM, then the more likely I

521
00:30:22.480 --> 00:30:24.079
<v Speaker 3>would say it's probably better to use a GEM at

522
00:30:24.119 --> 00:30:26.640
<v Speaker 3>least in the first instance. Right, And if if for

523
00:30:26.680 --> 00:30:31.480
<v Speaker 3>some reason it gets unsupported or causes you performance problem

524
00:30:31.559 --> 00:30:34.160
<v Speaker 3>or something, then then maybe maybe do it then. But

525
00:30:34.680 --> 00:30:37.079
<v Speaker 3>if your goal is to move fast and just get

526
00:30:37.119 --> 00:30:40.279
<v Speaker 3>stuff done, then you know, bring in device, right like

527
00:30:40.480 --> 00:30:42.920
<v Speaker 3>most people do that I don't know Whereas you know,

528
00:30:44.400 --> 00:30:47.640
<v Speaker 3>I built a couple of little apps recently, and as

529
00:30:47.680 --> 00:30:49.799
<v Speaker 3>I'm not going to use device, I can do that myself.

530
00:30:49.839 --> 00:30:53.519
<v Speaker 3>And I ended up doing my own off, which, for

531
00:30:53.599 --> 00:30:56.759
<v Speaker 3>better or worse, you know, it didn't take that long.

532
00:30:56.799 --> 00:30:58.920
<v Speaker 3>But at the same time, you know, it would have

533
00:30:58.920 --> 00:31:02.319
<v Speaker 3>been much quicker to to use device. But you know,

534
00:31:02.400 --> 00:31:04.319
<v Speaker 3>I just I don't know, I don't know what. But

535
00:31:04.359 --> 00:31:06.400
<v Speaker 3>then I've had the same problem with apps where I've

536
00:31:06.480 --> 00:31:10.960
<v Speaker 3>used device and then I've wanted to kind of rip

537
00:31:11.000 --> 00:31:14.039
<v Speaker 3>it out because it was too painful to go into

538
00:31:14.200 --> 00:31:17.960
<v Speaker 3>just that template of some password. I can't even remember

539
00:31:18.000 --> 00:31:19.759
<v Speaker 3>the examples, but you know, some stort of that it

540
00:31:19.759 --> 00:31:21.720
<v Speaker 3>shouldn't be that hard, and I thought there were certain

541
00:31:21.759 --> 00:31:23.640
<v Speaker 3>things that I found hard. I'd rather just do my

542
00:31:23.680 --> 00:31:28.880
<v Speaker 3>own kind of confirmation email sometimes. But then I guess

543
00:31:28.880 --> 00:31:30.880
<v Speaker 3>it's also a balance of what. So it's what time

544
00:31:31.000 --> 00:31:32.839
<v Speaker 3>you have available, what you kind of skill level is

545
00:31:32.880 --> 00:31:34.680
<v Speaker 3>at some level, I suppose if you really don't want

546
00:31:34.720 --> 00:31:37.839
<v Speaker 3>to get into that, then why bother. But if you

547
00:31:38.000 --> 00:31:42.000
<v Speaker 3>if you're building a product and you know, like reagent

548
00:31:42.119 --> 00:31:44.880
<v Speaker 3>or something that's things and maybe just kind of you

549
00:31:44.920 --> 00:31:47.880
<v Speaker 3>do want to own that yourself, just in case device

550
00:31:48.079 --> 00:31:52.200
<v Speaker 3>stops or if you know, deviates from what you need,

551
00:31:52.599 --> 00:31:55.720
<v Speaker 3>or if you want to customize it, then maybe it's

552
00:31:55.759 --> 00:32:00.319
<v Speaker 3>just a bit too hard. That kind of thing again.

553
00:32:00.720 --> 00:32:05.000
<v Speaker 3>You know, another app I built, like Google Off, which

554
00:32:05.039 --> 00:32:07.359
<v Speaker 3>I thought was going to be straight and straightforward. But

555
00:32:07.440 --> 00:32:13.160
<v Speaker 3>that's my own naivety showing there, you know. But then

556
00:32:13.200 --> 00:32:15.599
<v Speaker 3>I tried Omnios and that was there were certain things

557
00:32:15.640 --> 00:32:18.440
<v Speaker 3>it was like outdate. It was a little bit a

558
00:32:18.559 --> 00:32:21.240
<v Speaker 3>bit fiddly. So I think if you're a business and

559
00:32:21.279 --> 00:32:25.599
<v Speaker 3>as well, yeah, I don't know. But if you if

560
00:32:25.599 --> 00:32:28.079
<v Speaker 3>you're a business, you're making you're making money or you're

561
00:32:28.079 --> 00:32:30.960
<v Speaker 3>well funded, then you know, maybe you should build your

562
00:32:31.000 --> 00:32:32.480
<v Speaker 3>own if it's not going to be too onerous to

563
00:32:32.519 --> 00:32:34.279
<v Speaker 3>do that, because then you own that tech and you

564
00:32:34.319 --> 00:32:38.000
<v Speaker 3>can support it without question. But if you if you're

565
00:32:38.000 --> 00:32:39.960
<v Speaker 3>the earlier day, or if you don't have that you

566
00:32:40.000 --> 00:32:43.839
<v Speaker 3>know capacity, just use the gem and hope for the best.

567
00:32:44.200 --> 00:32:46.880
<v Speaker 3>But think these things change. It's like active storage, you know,

568
00:32:46.880 --> 00:32:50.799
<v Speaker 3>we used well originally at free agents. I think it

569
00:32:50.839 --> 00:32:54.359
<v Speaker 3>was paper clip or something pretty good, and I think

570
00:32:54.400 --> 00:32:56.680
<v Speaker 3>it's I can't remember. I think didn't it get it

571
00:32:56.839 --> 00:33:01.359
<v Speaker 3>got support stopped but then we moved to Shrine, and

572
00:33:01.400 --> 00:33:03.839
<v Speaker 3>then I think active storage appeared. But then I think

573
00:33:03.839 --> 00:33:06.079
<v Speaker 3>we left it on Shrine, but then that now it's

574
00:33:06.119 --> 00:33:10.720
<v Speaker 3>like you're using this unusual even though arguably Shrine is better.

575
00:33:11.279 --> 00:33:14.319
<v Speaker 3>It's like most people don't know rather these active stories.

576
00:33:15.720 --> 00:33:18.440
<v Speaker 3>But well, I'm glad you didn't build our own one

577
00:33:18.440 --> 00:33:21.240
<v Speaker 3>of those to be To be honest, I think managing

578
00:33:21.319 --> 00:33:24.079
<v Speaker 3>storage upload would probably have not been a great idea.

579
00:33:24.079 --> 00:33:26.440
<v Speaker 3>I'd rather migrate from one to the other at that point.

580
00:33:27.920 --> 00:33:30.079
<v Speaker 4>At least you're not someone like thought Bought that has

581
00:33:30.119 --> 00:33:32.000
<v Speaker 4>like all of their clients using their thing and that

582
00:33:32.039 --> 00:33:36.599
<v Speaker 4>they now have abandoned and have to upgrade everybody. I'm

583
00:33:36.599 --> 00:33:41.440
<v Speaker 4>worried about that. But I'm curious, Like, so let's take

584
00:33:41.839 --> 00:33:45.920
<v Speaker 4>a look at the dependency like aspect of things, like

585
00:33:46.079 --> 00:33:48.079
<v Speaker 4>do you ever look at rails as like do I

586
00:33:48.160 --> 00:33:49.000
<v Speaker 4>need reels like.

587
00:33:49.039 --> 00:33:49.559
<v Speaker 3>Kind of thing?

588
00:33:50.400 --> 00:33:52.799
<v Speaker 4>Because one thing I I've been to a lot of

589
00:33:52.880 --> 00:33:57.039
<v Speaker 4>like you know, uh, non US based or European based

590
00:33:57.160 --> 00:34:00.319
<v Speaker 4>Ruby conferences, it's like very much like absent.

591
00:34:00.559 --> 00:34:02.039
<v Speaker 3>In those community rails.

592
00:34:02.279 --> 00:34:04.240
<v Speaker 4>It's like not kind of like the preferred choice.

593
00:34:05.319 --> 00:34:07.440
<v Speaker 3>It's like, as a web framework, what do you mean

594
00:34:07.480 --> 00:34:10.679
<v Speaker 3>they're using what yeah, like you know just.

595
00:34:12.199 --> 00:34:16.119
<v Speaker 4>Or like you know, some other web framework or just

596
00:34:16.159 --> 00:34:19.920
<v Speaker 4>like Ruby specific app, like they're just running Ruby itself.

597
00:34:20.360 --> 00:34:22.719
<v Speaker 4>Like it do you ever like think about whether or

598
00:34:22.760 --> 00:34:25.320
<v Speaker 4>not like you need, you know, Rails for something new

599
00:34:25.360 --> 00:34:28.119
<v Speaker 4>you're building, Like can this work as a spreadsheet or

600
00:34:28.239 --> 00:34:30.519
<v Speaker 4>like is this better as a command line tool? Like

601
00:34:30.719 --> 00:34:32.280
<v Speaker 4>do you ever look at other things? Or is it

602
00:34:32.360 --> 00:34:33.760
<v Speaker 4>just like default at this point?

603
00:34:36.639 --> 00:34:38.320
<v Speaker 3>I mean it's good question, but I suppose yeah, it

604
00:34:38.320 --> 00:34:40.679
<v Speaker 3>depends what the problem the problem is. I mean for

605
00:34:41.039 --> 00:34:44.800
<v Speaker 3>a web bat, I've just used rails. I mean you

606
00:34:44.800 --> 00:34:46.559
<v Speaker 3>could say, well, it's quite a lot of baggage, isn't

607
00:34:46.599 --> 00:34:51.719
<v Speaker 3>there is that? Sure you can write a track and

608
00:34:52.440 --> 00:34:57.800
<v Speaker 3>a few files, but then the Rails app you're only

609
00:34:57.800 --> 00:35:01.400
<v Speaker 3>really populating a few files. Like maybe you've got a controller,

610
00:35:02.239 --> 00:35:03.760
<v Speaker 3>but at least it's pretty easy to find your way

611
00:35:03.800 --> 00:35:06.400
<v Speaker 3>around smarter. Maybe maybe not. An active record is like

612
00:35:06.440 --> 00:35:08.679
<v Speaker 3>baked in, and sure I can pull in active record

613
00:35:08.760 --> 00:35:11.719
<v Speaker 3>or I don't know why I would bother doing that.

614
00:35:12.440 --> 00:35:15.440
<v Speaker 3>I mean, maybe there's like an overhead and like memory

615
00:35:15.519 --> 00:35:18.039
<v Speaker 3>or something. I don't really know. Maybe there's a thing there,

616
00:35:18.159 --> 00:35:23.000
<v Speaker 3>who knows, But personally I would just use Rails. But yeah,

617
00:35:23.039 --> 00:35:27.119
<v Speaker 3>command line apps, we would you know, not use Rails

618
00:35:27.119 --> 00:35:30.519
<v Speaker 3>for that. I mean it depends like a phrase in

619
00:35:30.599 --> 00:35:33.599
<v Speaker 3>one of the one of the one of one of

620
00:35:33.679 --> 00:35:37.079
<v Speaker 3>the main things it does is like pdf of invoices,

621
00:35:39.000 --> 00:35:41.360
<v Speaker 3>you know, and you can download PDFs, attach it to

622
00:35:41.400 --> 00:35:45.159
<v Speaker 3>an email, all of that. And that's so that's the

623
00:35:45.239 --> 00:35:48.000
<v Speaker 3>kind of thing that we wouldn't do in Rails because well,

624
00:35:48.400 --> 00:35:52.559
<v Speaker 3>I think it's not quite it's not straightforward. It's so

625
00:35:52.760 --> 00:35:55.800
<v Speaker 3>so we like had the Java thing that generated that,

626
00:35:57.360 --> 00:35:58.960
<v Speaker 3>but Rails would call it so you know, it was

627
00:35:59.079 --> 00:36:01.000
<v Speaker 3>the Rails app that was kind of talking just to

628
00:36:01.039 --> 00:36:04.559
<v Speaker 3>an API to generate this dycipedia. So that kind of

629
00:36:04.559 --> 00:36:07.639
<v Speaker 3>thing we wouldn't, you know, be fundamentalist, and it has

630
00:36:07.679 --> 00:36:09.599
<v Speaker 3>to be in Ruby, has to be has to be

631
00:36:09.599 --> 00:36:13.280
<v Speaker 3>in Rails. But just when when there's the best thing

632
00:36:13.360 --> 00:36:16.760
<v Speaker 3>for the job that you would you would do use

633
00:36:16.800 --> 00:36:23.280
<v Speaker 3>that if it's not too objectionable. But honestly, Rails, I

634
00:36:23.280 --> 00:36:26.960
<v Speaker 3>don't know why they're not talking conferences that much about it.

635
00:36:27.400 --> 00:36:30.480
<v Speaker 3>I mean I suppose what is that. Well, now you

636
00:36:30.559 --> 00:36:32.480
<v Speaker 3>have Rails world now, right, so that's going to be

637
00:36:32.559 --> 00:36:35.760
<v Speaker 3>all about Rails. So maybe the other conferences are a

638
00:36:35.800 --> 00:36:38.760
<v Speaker 3>bit less of that, and it's interesting to hear different

639
00:36:38.760 --> 00:36:40.840
<v Speaker 3>stories of what people are doing with Ruby that doesn't

640
00:36:40.920 --> 00:36:44.639
<v Speaker 3>include Rails. I mean, you know, if you're working on

641
00:36:44.679 --> 00:36:48.039
<v Speaker 3>a SAS app, that's kind of a big part of it.

642
00:36:48.079 --> 00:36:51.000
<v Speaker 3>But then you know that people are doing like data

643
00:36:51.039 --> 00:36:52.800
<v Speaker 3>stuff with Ruby, aren't they these days? I mean, I

644
00:36:52.880 --> 00:36:56.239
<v Speaker 3>know Pythons like the the go to kind of language

645
00:36:56.239 --> 00:36:58.599
<v Speaker 3>for that kind of stuff, but there are people trying

646
00:36:58.639 --> 00:37:00.320
<v Speaker 3>to do stuff in Ruby, which I think is pretty cool,

647
00:37:00.400 --> 00:37:04.280
<v Speaker 3>but I'm not Yeah, I wouldn't be from the mensalist

648
00:37:04.280 --> 00:37:06.159
<v Speaker 3>about it if i'st building a way that I would

649
00:37:06.159 --> 00:37:10.760
<v Speaker 3>just use. Rails just works right, it's great.

650
00:37:14.280 --> 00:37:17.119
<v Speaker 5>It's just pulling on this dependency thread a little bit.

651
00:37:17.159 --> 00:37:22.000
<v Speaker 5>More like going back to your authentication example, I do

652
00:37:22.079 --> 00:37:24.920
<v Speaker 5>my own oth. I don't like device, I don't like

653
00:37:24.920 --> 00:37:26.920
<v Speaker 5>pulling in anything to that. But the way I see it,

654
00:37:27.679 --> 00:37:31.639
<v Speaker 5>once I've built it, once I can then I know

655
00:37:31.719 --> 00:37:34.199
<v Speaker 5>this is blasphemous to some people who just copy paste

656
00:37:34.239 --> 00:37:38.079
<v Speaker 5>the code into other apps and then tweak it as necessary,

657
00:37:38.159 --> 00:37:41.360
<v Speaker 5>because sometimes you need to just tweak things a little bit,

658
00:37:41.679 --> 00:37:45.000
<v Speaker 5>for like for the use case at hand is and

659
00:37:45.599 --> 00:37:48.280
<v Speaker 5>once you have something working if you've written it well,

660
00:37:48.360 --> 00:37:53.000
<v Speaker 5>that code should be reusable, I think. And that's something

661
00:37:53.039 --> 00:37:56.400
<v Speaker 5>I kind of think about a lot. Is that trying

662
00:37:56.440 --> 00:38:00.960
<v Speaker 5>to maximize the reusability of code that are not necessarily

663
00:38:01.880 --> 00:38:04.119
<v Speaker 5>in a way that it can be extracted to a library.

664
00:38:04.239 --> 00:38:08.199
<v Speaker 5>Because it's different when you've got god living in Europe

665
00:38:08.199 --> 00:38:10.960
<v Speaker 5>and when you're kind of extracting something because then when

666
00:38:10.960 --> 00:38:12.199
<v Speaker 5>you put it in the gym, it's more of a

667
00:38:12.239 --> 00:38:17.440
<v Speaker 5>black box. But yeah, copy past good on the Once

668
00:38:17.519 --> 00:38:20.360
<v Speaker 5>you solved the problem of authentication on your own, you know

669
00:38:20.440 --> 00:38:22.440
<v Speaker 5>everything about how that code works, and you can just

670
00:38:22.480 --> 00:38:25.199
<v Speaker 5>copy it into other projects. And what do you think

671
00:38:25.239 --> 00:38:26.239
<v Speaker 5>about that kind of approach?

672
00:38:27.199 --> 00:38:31.000
<v Speaker 3>Yeah, I mean that's that's kind of kind of happening.

673
00:38:32.480 --> 00:38:36.360
<v Speaker 3>The apps that I built, one used Google off so

674
00:38:36.480 --> 00:38:39.800
<v Speaker 3>that was slightly different, and then but the but the

675
00:38:40.920 --> 00:38:45.280
<v Speaker 3>one used email authentication and one was used a password,

676
00:38:45.320 --> 00:38:49.639
<v Speaker 3>so they're all they're all different for whatever reason, because

677
00:38:49.639 --> 00:38:54.599
<v Speaker 3>of reasons. But but no, if I was I would

678
00:38:54.599 --> 00:38:56.920
<v Speaker 3>probably do the same, I think. I mean, rails has

679
00:38:56.960 --> 00:39:00.159
<v Speaker 3>baked into it, doesn't It has secure password stuff. It's

680
00:39:00.239 --> 00:39:02.800
<v Speaker 3>kind of baked into it now, which is great, So

681
00:39:02.920 --> 00:39:05.599
<v Speaker 3>it's pretty easy to do that. I suppose things like

682
00:39:06.039 --> 00:39:09.639
<v Speaker 3>the forgot password is that boiler plate of stuff, but

683
00:39:09.719 --> 00:39:13.119
<v Speaker 3>it's quite small. You really need to do kind of

684
00:39:13.760 --> 00:39:18.079
<v Speaker 3>validate the email address and forget a password. That they're

685
00:39:18.119 --> 00:39:22.360
<v Speaker 3>the things that I would need to do. But yeah,

686
00:39:22.400 --> 00:39:25.599
<v Speaker 3>like I say, putting that in a gem, is would

687
00:39:25.599 --> 00:39:29.360
<v Speaker 3>you do that? Because you're making assumptions about models and things.

688
00:39:29.519 --> 00:39:31.639
<v Speaker 3>I guess you could do that, and that's what device

689
00:39:31.679 --> 00:39:33.199
<v Speaker 3>has done, so maybe you should just use the device

690
00:39:33.239 --> 00:39:36.239
<v Speaker 3>at that point. But then device quite big. He always

691
00:39:36.239 --> 00:39:40.599
<v Speaker 3>feel quite big to me. But yeah, I suppose that's

692
00:39:40.599 --> 00:39:43.480
<v Speaker 3>how I do it. But then but also what about

693
00:39:43.519 --> 00:39:47.280
<v Speaker 3>when you know, because using names and passwords are unpopular

694
00:39:47.480 --> 00:39:51.320
<v Speaker 3>perhaps these days. I mean, what I see using various

695
00:39:51.320 --> 00:39:54.800
<v Speaker 3>apps around around the internet, you know is well to

696
00:39:55.000 --> 00:39:56.920
<v Speaker 3>f A, right, like, how are you going to do that?

697
00:39:57.199 --> 00:39:59.760
<v Speaker 3>And also are you going to do it with SMS

698
00:40:00.119 --> 00:40:06.800
<v Speaker 3>email authent you know, one time passcodes and there doesn't

699
00:40:07.159 --> 00:40:09.119
<v Speaker 3>always are you going to go with pass keys because

700
00:40:09.159 --> 00:40:13.400
<v Speaker 3>that isn't the new thing, and it's I'm not sure

701
00:40:13.400 --> 00:40:16.559
<v Speaker 3>I would do that myself, even to f A. You know,

702
00:40:17.280 --> 00:40:19.519
<v Speaker 3>I don't know if you've done that yourself or not,

703
00:40:19.760 --> 00:40:21.920
<v Speaker 3>or maybe I mean that's maybe something that rails can

704
00:40:24.119 --> 00:40:26.840
<v Speaker 3>we'll get baked into it at some point. Maybe it's

705
00:40:26.840 --> 00:40:29.840
<v Speaker 3>that's the trajectory it's going, or pass keys, maybe that'll come.

706
00:40:30.000 --> 00:40:32.320
<v Speaker 3>That might be a good thing. I'm kind of surprised

707
00:40:32.320 --> 00:40:34.760
<v Speaker 3>that it hasn't got rales, doesn't have a device it

708
00:40:34.880 --> 00:40:35.840
<v Speaker 3>built in to be honest.

709
00:40:37.239 --> 00:40:40.280
<v Speaker 5>Yeah, there's going to be something in railty. It's some

710
00:40:40.360 --> 00:40:43.159
<v Speaker 5>kind of generator I think for that gives you a

711
00:40:43.199 --> 00:40:46.880
<v Speaker 5>skeleton of authentication. And I think I remember seeing it

712
00:40:46.920 --> 00:40:49.280
<v Speaker 5>tweets from DH like a couple of years ago that

713
00:40:49.440 --> 00:40:52.920
<v Speaker 5>they might do something like similar to how secure password

714
00:40:52.960 --> 00:40:56.840
<v Speaker 5>but for one time pass kis like, you know there's

715
00:40:57.119 --> 00:40:59.800
<v Speaker 5>authenticator app. What's it called? Do dB? I think that

716
00:41:00.199 --> 00:41:03.360
<v Speaker 5>based ones. Yeah, I think there's some I saw some

717
00:41:03.519 --> 00:41:08.440
<v Speaker 5>chatter about like a has sick yere password flavor off,

718
00:41:08.519 --> 00:41:12.639
<v Speaker 5>that kind of thing. I don't think anything's actually gone in,

719
00:41:13.159 --> 00:41:14.719
<v Speaker 5>but yeah, it'd be good to have for show.

720
00:41:16.960 --> 00:41:20.559
<v Speaker 4>Yeah, Dave action off too, that's pretty great.

721
00:41:21.360 --> 00:41:22.880
<v Speaker 2>Yeah, action off is nice.

722
00:41:23.000 --> 00:41:25.440
<v Speaker 1>That the thing is is that, you know kind of

723
00:41:25.480 --> 00:41:30.000
<v Speaker 1>what I used just talking about. I've I've wanted something

724
00:41:30.039 --> 00:41:34.840
<v Speaker 1>more like zero off, where essentially it is the generator

725
00:41:34.880 --> 00:41:36.239
<v Speaker 1>that just sticks the code in.

726
00:41:37.320 --> 00:41:40.760
<v Speaker 2>I mean, I've looked at the code for Action Off.

727
00:41:41.119 --> 00:41:44.159
<v Speaker 1>It's it's pretty easy to follow, but yeah, it's still

728
00:41:44.239 --> 00:41:46.360
<v Speaker 1>to me at least has that feeling of that black

729
00:41:46.400 --> 00:41:53.760
<v Speaker 1>box where you know the zero authentication library. It there's

730
00:41:53.800 --> 00:41:57.599
<v Speaker 1>no there's no engine, right, it just sticks the code

731
00:41:57.639 --> 00:42:01.440
<v Speaker 1>in and then you can modify it until to make.

732
00:42:01.320 --> 00:42:02.079
<v Speaker 2>It whatever you want.

733
00:42:02.199 --> 00:42:04.320
<v Speaker 1>And that's kind of the thing that I really like,

734
00:42:04.400 --> 00:42:07.800
<v Speaker 1>and so I'd love to see a lot of these

735
00:42:07.840 --> 00:42:08.639
<v Speaker 1>common problems.

736
00:42:08.639 --> 00:42:12.519
<v Speaker 2>In fact, I negotiated with Daniel Keho.

737
00:42:12.559 --> 00:42:15.920
<v Speaker 1>I don't know if you guys remember him, but he

738
00:42:16.320 --> 00:42:20.159
<v Speaker 1>had a series of rails apps that he had recorded

739
00:42:20.239 --> 00:42:23.639
<v Speaker 1>videos of himself building way back in the day, and

740
00:42:24.119 --> 00:42:28.480
<v Speaker 1>he had a project called Rails Composer, And essentially I'd

741
00:42:28.480 --> 00:42:30.679
<v Speaker 1>asked you a bunch of questions and then populate your

742
00:42:30.679 --> 00:42:31.199
<v Speaker 1>gem file.

743
00:42:33.440 --> 00:42:37.119
<v Speaker 2>And yeah, that's my idea behind that.

744
00:42:37.199 --> 00:42:39.480
<v Speaker 1>He gave me the domain and I want to just

745
00:42:39.559 --> 00:42:42.320
<v Speaker 1>build a series of things like this, so it's like, hey,

746
00:42:42.519 --> 00:42:45.360
<v Speaker 1>you have this common thing, and yeah, rather than have

747
00:42:45.719 --> 00:42:49.039
<v Speaker 1>another gem added to your gem file, you literally have

748
00:42:49.199 --> 00:42:52.280
<v Speaker 1>rails Composer in there in your development group, and then

749
00:42:52.320 --> 00:42:55.719
<v Speaker 1>you just run the generators and it generates it and

750
00:42:55.760 --> 00:42:59.800
<v Speaker 1>then kind of has the documentation in line like the

751
00:43:00.039 --> 00:43:03.480
<v Speaker 1>rails stuff does that may point you out to videos

752
00:43:03.519 --> 00:43:05.599
<v Speaker 1>that show you how to modify it to be whatever

753
00:43:05.639 --> 00:43:09.519
<v Speaker 1>you want it to be, because I really and it's

754
00:43:09.519 --> 00:43:13.239
<v Speaker 1>funny because initially I was gonna I was gonna do engines,

755
00:43:14.039 --> 00:43:18.360
<v Speaker 1>and then I started reading Ayush's book and it walks

756
00:43:18.400 --> 00:43:21.519
<v Speaker 1>you through building the authentication, and I'm like, this is

757
00:43:21.599 --> 00:43:25.159
<v Speaker 1>just so much cleaner in so many ways, and I

758
00:43:25.199 --> 00:43:26.599
<v Speaker 1>can make this into whatever I want.

759
00:43:27.119 --> 00:43:27.320
<v Speaker 3>Right.

760
00:43:27.440 --> 00:43:29.599
<v Speaker 2>It gives me the freedom to just do what I need.

761
00:43:29.760 --> 00:43:31.599
<v Speaker 1>And so, yeah, I could give you all the pieces,

762
00:43:31.960 --> 00:43:36.960
<v Speaker 1>it'll have a nice interface, it'll all be tailwind or whatever, right,

763
00:43:37.039 --> 00:43:38.559
<v Speaker 1>but then you can just go in and modify it.

764
00:43:38.599 --> 00:43:41.880
<v Speaker 1>So if you're using Bootstrap or something else, if you

765
00:43:41.960 --> 00:43:44.159
<v Speaker 1>need it to do a couple of extra things, if

766
00:43:44.159 --> 00:43:47.119
<v Speaker 1>you needed to trigger some jobs, well it generated the code.

767
00:43:47.119 --> 00:43:49.280
<v Speaker 2>It's in your code. You check it in so you

768
00:43:49.320 --> 00:43:50.840
<v Speaker 2>can change it anyway.

769
00:43:52.000 --> 00:43:52.800
<v Speaker 3>Yeah.

770
00:43:52.400 --> 00:43:56.760
<v Speaker 1>But I've been very inspired by this idea, Right, do

771
00:43:56.800 --> 00:43:58.960
<v Speaker 1>I need a gem for this or not? Like I've

772
00:43:58.960 --> 00:44:01.119
<v Speaker 1>been using friendly id for years and I figured out

773
00:44:01.119 --> 00:44:04.559
<v Speaker 1>that about in about thirty lines of code, I can

774
00:44:04.599 --> 00:44:07.199
<v Speaker 1>create a concern that I can pull into any model

775
00:44:07.199 --> 00:44:10.599
<v Speaker 1>I want, right, and so then it's okay, So why

776
00:44:10.639 --> 00:44:11.760
<v Speaker 1>am I using a GEM for this?

777
00:44:12.199 --> 00:44:12.400
<v Speaker 3>Right?

778
00:44:13.239 --> 00:44:15.880
<v Speaker 1>This is code I understand versus code I. I could

779
00:44:15.880 --> 00:44:18.000
<v Speaker 1>go look at it. I'm sure it's relatively easy to

780
00:44:18.000 --> 00:44:21.360
<v Speaker 1>follow along with. But yeah, then why do it the

781
00:44:21.360 --> 00:44:21.760
<v Speaker 1>other way?

782
00:44:24.639 --> 00:44:28.840
<v Speaker 4>Ollie? I'm curious, Like, you have a lot of experience

783
00:44:28.880 --> 00:44:32.199
<v Speaker 4>in like product development and like the business focused aspect

784
00:44:32.239 --> 00:44:35.599
<v Speaker 4>of like building things, right, so I'm curious like what

785
00:44:35.679 --> 00:44:40.400
<v Speaker 4>your thoughts are on, like, uh, you know where the

786
00:44:40.440 --> 00:44:44.599
<v Speaker 4>technology like is most helpful in the process in the

787
00:44:44.599 --> 00:44:47.880
<v Speaker 4>business side or developing the product, and like why are

788
00:44:47.880 --> 00:44:50.679
<v Speaker 4>you still sticking with rails at this point with all

789
00:44:50.679 --> 00:44:54.159
<v Speaker 4>of the other stuff that's available. Is it familiarity or

790
00:44:54.239 --> 00:44:56.840
<v Speaker 4>like where do you see like the technology really aligning

791
00:44:57.280 --> 00:44:58.119
<v Speaker 4>with that aspect.

792
00:44:58.199 --> 00:45:02.559
<v Speaker 3>Yeah, that's a good question, right, because well, I'm not

793
00:45:02.639 --> 00:45:07.280
<v Speaker 3>kind of setting up a big SaaS business right right now.

794
00:45:07.320 --> 00:45:10.719
<v Speaker 3>But if I was, what would I use use rails?

795
00:45:11.280 --> 00:45:13.800
<v Speaker 3>I mean me personally, if I was like a founder

796
00:45:14.119 --> 00:45:17.159
<v Speaker 3>founder CTO, again, I probably would maybe because that's like

797
00:45:17.280 --> 00:45:20.400
<v Speaker 3>all I know, and I'm kind of institutionalized in rails, right,

798
00:45:20.519 --> 00:45:23.079
<v Speaker 3>So there's that, But I still don't think it would

799
00:45:23.079 --> 00:45:24.719
<v Speaker 3>be a bad choice. I think it would be a

800
00:45:24.719 --> 00:45:28.559
<v Speaker 3>good choice because you know, as you know, you can

801
00:45:28.599 --> 00:45:32.599
<v Speaker 3>build pretty much anything you need to with certainly good

802
00:45:32.679 --> 00:45:35.880
<v Speaker 3>enough and certainly in the kind of B two B

803
00:45:36.079 --> 00:45:38.639
<v Speaker 3>SaaS space of course like that which is you know,

804
00:45:39.280 --> 00:45:42.880
<v Speaker 3>But that said, you know, it depends what you're building.

805
00:45:42.960 --> 00:45:46.719
<v Speaker 3>If you're you know, if it's a consumer app, is

806
00:45:47.079 --> 00:45:48.079
<v Speaker 3>are you going to be able to do what you

807
00:45:48.079 --> 00:45:52.119
<v Speaker 3>need to do on the front end with with you know,

808
00:45:52.320 --> 00:45:56.239
<v Speaker 3>rail stimulus? Is that is that you know good enough?

809
00:45:56.440 --> 00:45:58.039
<v Speaker 3>Or do you do you actually need to lean on

810
00:45:58.079 --> 00:46:02.320
<v Speaker 3>the community of more jobs script stuff, whether that's react

811
00:46:03.440 --> 00:46:06.960
<v Speaker 3>or view or whatever else. I mean, you can still

812
00:46:07.039 --> 00:46:08.559
<v Speaker 3>use rails on the back end, but are you then

813
00:46:08.719 --> 00:46:13.000
<v Speaker 3>moving into a different architecture driven because of your needs

814
00:46:13.000 --> 00:46:16.599
<v Speaker 3>on the front end. I mean, maybe that would be

815
00:46:16.599 --> 00:46:22.519
<v Speaker 3>a different consideration. I think at one level, I honestly

816
00:46:22.559 --> 00:46:26.159
<v Speaker 3>don't think it really matters because technology is not usually

817
00:46:27.000 --> 00:46:31.360
<v Speaker 3>the thing that kills businesses. It honestly doesn't usually matter.

818
00:46:31.559 --> 00:46:34.840
<v Speaker 3>Like the main problems with businesses are like a product

819
00:46:35.000 --> 00:46:37.519
<v Speaker 3>market fit, Like you've built some in and no one

820
00:46:37.519 --> 00:46:39.880
<v Speaker 3>wants it, or you've marketed it wrong, or you can't

821
00:46:39.920 --> 00:46:45.239
<v Speaker 3>get the distribution that's usually the problem, not tech businesses

822
00:46:45.280 --> 00:46:48.760
<v Speaker 3>that don't usually fail because someone picked rails or someone

823
00:46:48.840 --> 00:46:52.000
<v Speaker 3>picked type scriptalk or whatever. That doesn't seem to be

824
00:46:53.000 --> 00:46:56.639
<v Speaker 3>a pattern. So I don't think it really matters. But

825
00:46:56.679 --> 00:46:58.960
<v Speaker 3>what I do think is interesting. So I do kind

826
00:46:58.960 --> 00:47:02.480
<v Speaker 3>of talk to a lot of startups done some kind

827
00:47:02.519 --> 00:47:04.840
<v Speaker 3>of like investing and stuff, but you know, and generally

828
00:47:04.840 --> 00:47:09.880
<v Speaker 3>in the startup community and virtually non use rails. But

829
00:47:10.559 --> 00:47:12.840
<v Speaker 3>in fact, maybe none that I've spoken to that is

830
00:47:14.320 --> 00:47:19.559
<v Speaker 3>whereas reacts on the front end and something on the

831
00:47:19.599 --> 00:47:26.599
<v Speaker 3>back end that is typically node type script. Maybe Python

832
00:47:28.079 --> 00:47:32.719
<v Speaker 3>is the prevalent tech of today, which I find quite

833
00:47:33.079 --> 00:47:36.840
<v Speaker 3>do quite find quite fascinating. But these teams move fast

834
00:47:36.880 --> 00:47:39.360
<v Speaker 3>that they get stuff done. They you know, just like

835
00:47:39.440 --> 00:47:43.639
<v Speaker 3>we do with rails, So you know, but it's arguably

836
00:47:43.679 --> 00:47:45.440
<v Speaker 3>a bit more is it more complete? It feels more

837
00:47:45.440 --> 00:47:48.239
<v Speaker 3>complicated to me. But then you know, at the same time,

838
00:47:48.519 --> 00:47:51.679
<v Speaker 3>companies building on cloud tech as well, right, and they're

839
00:47:51.679 --> 00:47:57.840
<v Speaker 3>just leveraging serverlus to do a whole manner of cool things,

840
00:47:58.000 --> 00:48:01.360
<v Speaker 3>which you know, there are legit use cases for doing

841
00:48:01.400 --> 00:48:04.960
<v Speaker 3>that kind of stuff. But at some level, I don't

842
00:48:04.960 --> 00:48:06.960
<v Speaker 3>think it really matters. I think rails is still a

843
00:48:07.000 --> 00:48:09.920
<v Speaker 3>brilliant choice. I would do that, but again that's because

844
00:48:09.920 --> 00:48:13.559
<v Speaker 3>I'm probably institutionalized. But I wouldn't go and learn new

845
00:48:13.639 --> 00:48:17.000
<v Speaker 3>tech just so I could build if unless it was

846
00:48:17.039 --> 00:48:19.440
<v Speaker 3>for a specific advantage. You know, if you were doing

847
00:48:19.440 --> 00:48:23.280
<v Speaker 3>some kind of AI stuff and you must use Python,

848
00:48:23.599 --> 00:48:25.199
<v Speaker 3>then sure do that.

849
00:48:26.920 --> 00:48:29.679
<v Speaker 4>Is there an example in rails where like you found

850
00:48:30.039 --> 00:48:32.840
<v Speaker 4>that that feature being there just saved you a ton

851
00:48:32.880 --> 00:48:36.000
<v Speaker 4>of you know, effort if you had gone with something

852
00:48:36.000 --> 00:48:37.000
<v Speaker 4>else in the moment.

853
00:48:41.639 --> 00:48:45.000
<v Speaker 3>It's a good question. I was doing some stuff earlier

854
00:48:45.039 --> 00:48:47.000
<v Speaker 3>this year that did kind of touch on it. It

855
00:48:47.039 --> 00:48:50.239
<v Speaker 3>was like it was to do with image categorization photographs,

856
00:48:51.480 --> 00:48:55.760
<v Speaker 3>trying to kind of categorize photographs, and I did. I mean,

857
00:48:55.840 --> 00:49:00.000
<v Speaker 3>I was using APIs to do that, like Microsoft API.

858
00:49:02.199 --> 00:49:04.639
<v Speaker 3>They didn't support Ruby out of the box. They don't,

859
00:49:04.679 --> 00:49:09.400
<v Speaker 3>you know, they have JavaScript. I can't remember, javscript, Python, Java,

860
00:49:10.400 --> 00:49:13.840
<v Speaker 3>maybe maybe c Sharp maybe because it was Microsoft, can't remember,

861
00:49:14.039 --> 00:49:16.039
<v Speaker 3>but that those are kind of the libraries, the SDKs

862
00:49:16.039 --> 00:49:18.840
<v Speaker 3>that they offer. They don't offer Ruby, which is a shame,

863
00:49:18.880 --> 00:49:20.960
<v Speaker 3>but there are there are gems that that kind of

864
00:49:20.960 --> 00:49:25.239
<v Speaker 3>wrap this stuff up and and so that was quite

865
00:49:25.360 --> 00:49:27.840
<v Speaker 3>that was quite interesting, but then some of the functionality

866
00:49:28.000 --> 00:49:30.719
<v Speaker 3>that I mean, AI is not my not my thing really,

867
00:49:30.760 --> 00:49:32.719
<v Speaker 3>but I was kind of toying around with this stuff,

868
00:49:33.960 --> 00:49:38.440
<v Speaker 3>and Python does have a wealth of these libraries to

869
00:49:38.599 --> 00:49:43.840
<v Speaker 3>do a lot of uh kind of machine learning algorithms,

870
00:49:44.480 --> 00:49:48.079
<v Speaker 3>which Ruby doesn't really quite have. I mean that, I mean,

871
00:49:48.119 --> 00:49:51.960
<v Speaker 3>there are people that are creating similar libraries out there

872
00:49:52.159 --> 00:49:58.440
<v Speaker 3>for some of this stuff, but it's always feels, i

873
00:49:58.440 --> 00:50:03.119
<v Speaker 3>don't know, not not quite not quite there. So from

874
00:50:03.159 --> 00:50:05.000
<v Speaker 3>an AI point of view, depending if you're just calling

875
00:50:05.000 --> 00:50:07.199
<v Speaker 3>a guys, of course, fine, you can do that from anything,

876
00:50:07.239 --> 00:50:12.760
<v Speaker 3>but if you're then trying to do some stuff yourself

877
00:50:12.880 --> 00:50:16.280
<v Speaker 3>using it, then it doesn't quite feel like the right choice.

878
00:50:16.320 --> 00:50:20.360
<v Speaker 3>But maybe that's changing. It's only superficial knowledge that I

879
00:50:20.440 --> 00:50:27.360
<v Speaker 3>really have of that, but I can't even really off

880
00:50:27.360 --> 00:50:29.079
<v Speaker 3>the top of my head. Other other examples, I mean,

881
00:50:29.079 --> 00:50:30.599
<v Speaker 3>there was this PDF thing that I mean that was

882
00:50:30.719 --> 00:50:33.159
<v Speaker 3>a very good example where it just couldn't we're going

883
00:50:33.199 --> 00:50:36.199
<v Speaker 3>to do like do it with prawn or something, where

884
00:50:36.239 --> 00:50:39.599
<v Speaker 3>whereas you know, we we were using Java libraries that

885
00:50:39.639 --> 00:50:44.920
<v Speaker 3>actually did proper PDF rendering. But you know, there were

886
00:50:44.960 --> 00:50:47.679
<v Speaker 3>there were other ways we could have tackled that but

887
00:50:48.719 --> 00:50:52.440
<v Speaker 3>we chose the the different tech path as opposed to

888
00:50:52.440 --> 00:50:57.960
<v Speaker 3>finding a ruby a ruby way to do that. But

889
00:50:58.079 --> 00:51:00.679
<v Speaker 3>I'm sure there are lots of other exams force. But

890
00:51:00.920 --> 00:51:04.360
<v Speaker 3>you know, I think where Rails still seem to shine

891
00:51:04.400 --> 00:51:07.400
<v Speaker 3>is when it's much more of a well people people

892
00:51:07.440 --> 00:51:11.119
<v Speaker 3>come crud apps that they like, kind of it's kind

893
00:51:11.119 --> 00:51:13.400
<v Speaker 3>of a bit demeaning. It's like the agent is a

894
00:51:13.440 --> 00:51:16.519
<v Speaker 3>crud app. Yeah, I guess it's like, you know, it

895
00:51:16.599 --> 00:51:18.599
<v Speaker 3>takes some input and you save it to a database.

896
00:51:18.679 --> 00:51:20.599
<v Speaker 3>But at the same time, like, come on, there's like

897
00:51:21.119 --> 00:51:23.519
<v Speaker 3>half a million lines of code doing lots of stuff.

898
00:51:23.559 --> 00:51:25.679
<v Speaker 3>But I guess it's a cred app. You could say

899
00:51:26.800 --> 00:51:29.239
<v Speaker 3>the same with you know, base camp as well app.

900
00:51:30.719 --> 00:51:33.320
<v Speaker 3>Then what isn't notions of crud app? Isn't it? I

901
00:51:33.320 --> 00:51:37.960
<v Speaker 3>don't know? So that's that's who knows, So like, hang on,

902
00:51:39.639 --> 00:51:44.119
<v Speaker 3>that's everything at some level, isn't it top maybe chat,

903
00:51:44.199 --> 00:51:46.760
<v Speaker 3>GPT or something, But we're not we're not building that.

904
00:51:48.320 --> 00:51:50.440
<v Speaker 5>Yeah, most aps are crowd apps. I think it's just

905
00:51:51.079 --> 00:51:55.960
<v Speaker 5>something people don't like saying. My client at the moment

906
00:51:56.039 --> 00:51:59.599
<v Speaker 5>is actually is a startup and we're completely rails. So

907
00:52:00.039 --> 00:52:03.119
<v Speaker 5>there is at least one startup, and I had briefly

908
00:52:03.159 --> 00:52:05.679
<v Speaker 5>spoken to another startup a couple of months ago. I

909
00:52:05.800 --> 00:52:07.280
<v Speaker 5>was working with them and they were going to be

910
00:52:07.960 --> 00:52:11.679
<v Speaker 5>completely rails as well. The way I see, if there's

911
00:52:11.719 --> 00:52:15.079
<v Speaker 5>something that you can't really do and Ruby or in Rails,

912
00:52:15.320 --> 00:52:17.920
<v Speaker 5>it's usually something with quite a small footprinting, you could

913
00:52:17.960 --> 00:52:19.960
<v Speaker 5>just extract that into its own service and build it

914
00:52:20.039 --> 00:52:23.639
<v Speaker 5>using something else. So like like the PDF thing you said, so, yeah,

915
00:52:23.639 --> 00:52:26.239
<v Speaker 5>you can't do that in Ruby, build that one tiny

916
00:52:26.239 --> 00:52:28.599
<v Speaker 5>thing using something else and then just call it.

917
00:52:30.360 --> 00:52:35.719
<v Speaker 3>Yeah, And I think that's entirely the right approach. But yeah,

918
00:52:35.800 --> 00:52:39.119
<v Speaker 3>good to hear. There's you know, more startups that I mean,

919
00:52:40.920 --> 00:52:43.599
<v Speaker 3>a lot of people building like indie hacks, which is

920
00:52:43.679 --> 00:52:46.440
<v Speaker 3>kind of like another kind of really derogatory terms, but

921
00:52:46.760 --> 00:52:49.360
<v Speaker 3>actually kind of that's where everything starts in a way,

922
00:52:51.000 --> 00:52:54.719
<v Speaker 3>you know, using Rails. It's just you know, a lot

923
00:52:54.719 --> 00:52:58.519
<v Speaker 3>that I've seen, so hopefully we'll kind of see. I

924
00:52:58.559 --> 00:53:00.440
<v Speaker 3>think this is where like the Rails Foundation and does

925
00:53:01.119 --> 00:53:03.079
<v Speaker 3>come into play. You know, there's a lot of money

926
00:53:03.079 --> 00:53:06.159
<v Speaker 3>there and they're doing something cool stuff. There is obviously

927
00:53:06.159 --> 00:53:10.639
<v Speaker 3>the conferences and the guide's looking a lot better now,

928
00:53:10.960 --> 00:53:14.440
<v Speaker 3>But for me, it's like the outreach and how how

929
00:53:14.480 --> 00:53:19.760
<v Speaker 3>can the Rails Foundation just get people an earlier stage

930
00:53:19.760 --> 00:53:24.159
<v Speaker 3>in their career, I guess, and even boot camps and

931
00:53:24.199 --> 00:53:26.039
<v Speaker 3>the rest of the rest of it to start using

932
00:53:26.119 --> 00:53:30.280
<v Speaker 3>rails because boot camps did do rails back in the day,

933
00:53:30.360 --> 00:53:32.920
<v Speaker 3>and now now they have tended to move from what

934
00:53:33.000 --> 00:53:38.679
<v Speaker 3>I understand, it's more of a kind of a JavaScript ecosystem,

935
00:53:38.880 --> 00:53:42.800
<v Speaker 3>which feels I don't know, I mean, to put yourself

936
00:53:42.840 --> 00:53:44.679
<v Speaker 3>in the place of someone on a boot camp who

937
00:53:44.719 --> 00:53:46.679
<v Speaker 3>doesn't know anything about programming, and all of a sudden

938
00:53:46.679 --> 00:53:51.320
<v Speaker 3>you're like having to do like react sounds overwhelming to me,

939
00:53:52.039 --> 00:53:54.400
<v Speaker 3>whereas at least with Ruby it's like kind of his

940
00:53:54.840 --> 00:53:58.400
<v Speaker 3>I'll beat template and it's just basically HML. That feels

941
00:53:58.440 --> 00:54:02.159
<v Speaker 3>a bit a bit less. But maybe when people go

942
00:54:02.280 --> 00:54:04.639
<v Speaker 3>through these boot camps and do great so it could

943
00:54:04.760 --> 00:54:10.320
<v Speaker 3>just be my own biases here that showing. But I

944
00:54:10.360 --> 00:54:13.519
<v Speaker 3>think that's going to be an important part of Rail's

945
00:54:13.679 --> 00:54:16.800
<v Speaker 3>future successes, that is to get in at the ground

946
00:54:16.840 --> 00:54:20.639
<v Speaker 3>again and they make people realize how great it is.

947
00:54:20.719 --> 00:54:22.280
<v Speaker 3>And I think, you know, that's part of the job

948
00:54:22.320 --> 00:54:26.000
<v Speaker 3>of the Rails Foundation, but get everyone else shouting about

949
00:54:26.039 --> 00:54:31.039
<v Speaker 3>it as well. Really so hopefully. I'm hopeful that this

950
00:54:31.199 --> 00:54:34.719
<v Speaker 3>is this is already happening and we'll get better as

951
00:54:34.719 --> 00:54:37.119
<v Speaker 3>well as people. Because there was a talk, wasn't there.

952
00:54:37.159 --> 00:54:42.440
<v Speaker 3>It was it Irena from Evil Martians and she did

953
00:54:42.480 --> 00:54:46.920
<v Speaker 3>a talk about startups on rails or something. I didn't

954
00:54:46.960 --> 00:54:48.639
<v Speaker 3>see the talk, but I think I've seen the slides,

955
00:54:49.079 --> 00:54:54.360
<v Speaker 3>and you know, she talks about some really interesting companies

956
00:54:54.400 --> 00:54:56.519
<v Speaker 3>and companies that were built in other tech that are

957
00:54:56.559 --> 00:54:58.719
<v Speaker 3>moving back to like a rails. We were all micro

958
00:54:58.800 --> 00:55:00.360
<v Speaker 3>services and now we're going to come back to a

959
00:55:00.440 --> 00:55:04.719
<v Speaker 3>railed monolist because frankly, it was just chaos and now

960
00:55:04.760 --> 00:55:07.719
<v Speaker 3>this is far simpler and we didn't really need all

961
00:55:07.760 --> 00:55:11.920
<v Speaker 3>of that complexity and distribution. We just needed an app

962
00:55:12.000 --> 00:55:15.079
<v Speaker 3>with a big database and that goes a long way usually,

963
00:55:15.719 --> 00:55:18.719
<v Speaker 3>So hopefully we'll start to see this change.

964
00:55:19.639 --> 00:55:22.320
<v Speaker 5>Yeah, I think boot cans have just kind of generally

965
00:55:22.360 --> 00:55:27.079
<v Speaker 5>moved away from teaching web fundamentals, like it'd be good, yeah,

966
00:55:27.199 --> 00:55:31.519
<v Speaker 5>just have them go back to teaching literally the basics

967
00:55:31.519 --> 00:55:37.119
<v Speaker 5>of web development, HTMLCSS, jamscript and obviously unbiased, but Ruby

968
00:55:37.159 --> 00:55:41.800
<v Speaker 5>and rails. But because last year I helped out with

969
00:55:41.840 --> 00:55:45.000
<v Speaker 5>the Rails World website, because the Rails foundation wanted a

970
00:55:45.119 --> 00:55:47.960
<v Speaker 5>junior develop it, a build it, and they wanted someone

971
00:55:48.000 --> 00:55:51.400
<v Speaker 5>to mentor the juniors. I helped that with the mentoring.

972
00:55:52.079 --> 00:55:55.280
<v Speaker 5>And she was a boot camp graduate. She graduated from

973
00:55:55.320 --> 00:55:59.719
<v Speaker 5>the Wagon quite recently, and they had a little bit

974
00:55:59.719 --> 00:56:02.639
<v Speaker 5>of rare and quite a lot of react in the curriculum,

975
00:56:02.639 --> 00:56:05.760
<v Speaker 5>if I remember correctly, and I remember showing her what

976
00:56:05.840 --> 00:56:08.199
<v Speaker 5>you could do with just a customer element and JavaScript,

977
00:56:08.239 --> 00:56:11.119
<v Speaker 5>and it was like, whoa, this is so easy. And

978
00:56:11.159 --> 00:56:13.760
<v Speaker 5>it's like, yeah, I just wish bootcounts of beads that

979
00:56:13.880 --> 00:56:15.119
<v Speaker 5>kind of stuff a bit more.

980
00:56:15.960 --> 00:56:19.480
<v Speaker 3>Yeah, And like you say, you know, teaching jasket is

981
00:56:19.480 --> 00:56:21.519
<v Speaker 3>super important. You have you have to kind of know drasket,

982
00:56:21.519 --> 00:56:27.159
<v Speaker 3>but not necessarily a hugely complex level, you know, like

983
00:56:27.199 --> 00:56:31.599
<v Speaker 3>you say, little sprint calls of the jasscript is often

984
00:56:31.599 --> 00:56:34.800
<v Speaker 3>more than enough to accomplish what you need to do,

985
00:56:34.840 --> 00:56:38.719
<v Speaker 3>and certainly at the boot camp level. But on the

986
00:56:38.760 --> 00:56:41.000
<v Speaker 3>other hand, then there, you know, it's this chicken and

987
00:56:41.039 --> 00:56:43.599
<v Speaker 3>egg problem that they're they're trying to get people jobs.

988
00:56:43.639 --> 00:56:45.360
<v Speaker 3>That's that's what they're there for. And if and if

989
00:56:45.400 --> 00:56:50.360
<v Speaker 3>all the jobs reacts, then it's their duty to then

990
00:56:50.480 --> 00:56:53.760
<v Speaker 3>go and teach people what's going to get them most

991
00:56:53.800 --> 00:56:55.360
<v Speaker 3>likely to get them the jobs so they can have their

992
00:56:55.400 --> 00:57:00.440
<v Speaker 3>you know, placement stats nice and high. So it's it's

993
00:57:00.440 --> 00:57:04.480
<v Speaker 3>a tricky one. You need the jobs that otherwise a

994
00:57:04.519 --> 00:57:08.159
<v Speaker 3>boot camps might say, well, this will be no jobs

995
00:57:08.159 --> 00:57:10.079
<v Speaker 3>in that, so why would we bother teaching it? And

996
00:57:10.119 --> 00:57:16.000
<v Speaker 3>then you're on a bit of a downward spiral. So yeah, tricky.

997
00:57:17.119 --> 00:57:19.000
<v Speaker 5>Yeah, it's also having a little bit of just shot down.

998
00:57:19.079 --> 00:57:21.400
<v Speaker 5>It's a long time, Like, yeah, learning React, I'll get

999
00:57:21.400 --> 00:57:24.079
<v Speaker 5>your job in the shot term, but then when React

1000
00:57:24.119 --> 00:57:28.840
<v Speaker 5>goes out of vogue, you won't have that foundation of

1001
00:57:29.440 --> 00:57:32.639
<v Speaker 5>basics to kind of fall back on and then learn

1002
00:57:32.679 --> 00:57:34.880
<v Speaker 5>something else. But that's a different discussion.

1003
00:57:34.920 --> 00:57:37.960
<v Speaker 3>I think, yeah, I think so it's pretty entrenched. I

1004
00:57:38.000 --> 00:57:40.480
<v Speaker 3>would say now I think pretty much, yeah, that's true

1005
00:57:40.800 --> 00:57:43.199
<v Speaker 3>here to stay sadly.

1006
00:57:43.440 --> 00:57:46.800
<v Speaker 2>Well, anything else that we want to dive into here which.

1007
00:57:46.519 --> 00:57:51.519
<v Speaker 3>We didn't touch on the old rail's assets, the original

1008
00:57:54.360 --> 00:57:56.840
<v Speaker 3>that you got in such about, I suppose.

1009
00:57:59.079 --> 00:58:01.480
<v Speaker 1>Yeah, we should, we should, we should definitely do that

1010
00:58:01.639 --> 00:58:04.119
<v Speaker 1>here for a minute, I actually am kind of curious

1011
00:58:04.159 --> 00:58:04.559
<v Speaker 1>about it.

1012
00:58:04.639 --> 00:58:08.159
<v Speaker 2>So I have to admit I haven't read the article.

1013
00:58:10.199 --> 00:58:13.599
<v Speaker 1>I didn't see that that was I'm working on a

1014
00:58:13.599 --> 00:58:15.480
<v Speaker 1>better system for letting us know what we need to

1015
00:58:15.519 --> 00:58:20.440
<v Speaker 1>read in order to prepare in the meantime. Yeah, you know,

1016
00:58:20.559 --> 00:58:23.840
<v Speaker 1>I think, well, actually, why don't you just give us

1017
00:58:23.840 --> 00:58:25.239
<v Speaker 1>the ten thousand foot view on what.

1018
00:58:25.199 --> 00:58:27.440
<v Speaker 2>The article is about and we can kind of attack.

1019
00:58:27.639 --> 00:58:30.119
<v Speaker 3>Yeah, of course. So it was one of those things

1020
00:58:30.159 --> 00:58:36.159
<v Speaker 3>where you know, I was ringing an ad and and

1021
00:58:36.320 --> 00:58:40.679
<v Speaker 3>loads to pay anything more than a need to absolutely

1022
00:58:40.760 --> 00:58:43.480
<v Speaker 3>minimum amount for a server to run to run this thing.

1023
00:58:45.119 --> 00:58:49.159
<v Speaker 3>And yeah, it's using active storage to store you know,

1024
00:58:49.239 --> 00:58:54.719
<v Speaker 3>uploaded content. But the particular apps that I was building

1025
00:58:56.480 --> 00:59:05.840
<v Speaker 3>involved customers uploading photos and dragging potentially hundreds small hundreds

1026
00:59:06.199 --> 00:59:10.760
<v Speaker 3>of photographs into a drop you know, drop zone thing

1027
00:59:11.719 --> 00:59:14.000
<v Speaker 3>and uploading the wall and then viewing these things in

1028
00:59:14.039 --> 00:59:16.000
<v Speaker 3>the app. So you can view you know, three four

1029
00:59:16.039 --> 00:59:20.159
<v Speaker 3>hundred photos in the gallery of course with like infinite

1030
00:59:20.159 --> 00:59:22.280
<v Speaker 3>scrolls on. But this is quite a lot of requests

1031
00:59:22.320 --> 00:59:25.840
<v Speaker 3>on the app when your images, you know, are in

1032
00:59:25.880 --> 00:59:30.320
<v Speaker 3>active storage. And you know, with my typefisted ways, I

1033
00:59:30.360 --> 00:59:31.880
<v Speaker 3>did you know that that's quite a lot of traffic

1034
00:59:32.039 --> 00:59:33.960
<v Speaker 3>in my app just on one page. It's a lot

1035
00:59:33.960 --> 00:59:36.000
<v Speaker 3>a lot of requests you know that I'm having to

1036
00:59:36.000 --> 00:59:41.360
<v Speaker 3>serve them. These images should really be on a cd N.

1037
00:59:42.039 --> 00:59:44.280
<v Speaker 3>Why are they even you know, the request should go

1038
00:59:44.360 --> 00:59:46.159
<v Speaker 3>directly to the cd and I don't want these requests

1039
00:59:46.199 --> 00:59:49.440
<v Speaker 3>hitting my app and that you know. So that's where

1040
00:59:49.559 --> 00:59:52.440
<v Speaker 3>that was where I started thinking, well, how do I

1041
00:59:52.480 --> 00:59:57.199
<v Speaker 3>solve this? How hard can it be? And well, it's

1042
00:59:57.239 --> 01:00:00.559
<v Speaker 3>not that hard, but it's it's quite convoluted like so,

1043
01:00:00.840 --> 01:00:03.400
<v Speaker 3>you know. But there were two there were kind of

1044
01:00:03.559 --> 01:00:07.519
<v Speaker 3>there were two related problems, which is slightly tangential. One

1045
01:00:07.639 --> 01:00:10.360
<v Speaker 3>one being Rail's assets, you know, the CSS and the

1046
01:00:10.440 --> 01:00:15.000
<v Speaker 3>JavaScript and whatnot. The other being the active storage images

1047
01:00:15.719 --> 01:00:17.960
<v Speaker 3>and solving those getting those onto a cd M. Two

1048
01:00:18.039 --> 01:00:22.599
<v Speaker 3>differ different problems that the assets approached well, and I

1049
01:00:22.639 --> 01:00:24.679
<v Speaker 3>was using cloud Front because I was on a w

1050
01:00:24.960 --> 01:00:27.480
<v Speaker 3>S and all the images are on in an S

1051
01:00:27.519 --> 01:00:30.599
<v Speaker 3>three bucket, so I thought, well, cloud Front's the obvious

1052
01:00:30.719 --> 01:00:34.199
<v Speaker 3>thing here that that must be pretty straightforward. But and

1053
01:00:34.239 --> 01:00:36.639
<v Speaker 3>I presume it's similar for other CDNs. I was just

1054
01:00:36.719 --> 01:00:39.000
<v Speaker 3>using cloud Front and had these three credits anyway, so

1055
01:00:39.159 --> 01:00:43.000
<v Speaker 3>you know, it might as well and configuring that and

1056
01:00:43.239 --> 01:00:51.039
<v Speaker 3>this wasn't really documented in in the Rails guides particularly

1057
01:00:51.159 --> 01:00:55.079
<v Speaker 3>kind of but not really, and so getting the assets

1058
01:00:55.159 --> 01:01:01.719
<v Speaker 3>on there was one challenge, which involves kind of trying

1059
01:01:01.760 --> 01:01:05.480
<v Speaker 3>to understand exactly, you know, how to configure cloud front

1060
01:01:05.559 --> 01:01:08.519
<v Speaker 3>and the BOOKHT and cause and this kind of stuff.

1061
01:01:08.719 --> 01:01:10.480
<v Speaker 3>And then the other was how to do the active

1062
01:01:10.519 --> 01:01:14.519
<v Speaker 3>storage assets particularly as well, and this is in a

1063
01:01:14.559 --> 01:01:18.800
<v Speaker 3>different use case but similar with action texts. Some were

1064
01:01:18.840 --> 01:01:22.400
<v Speaker 3>just active storage you know, has one attached, so just

1065
01:01:22.679 --> 01:01:26.440
<v Speaker 3>a file attached to multiple files attached to a model.

1066
01:01:27.480 --> 01:01:30.199
<v Speaker 3>The other being in action text you know, images that

1067
01:01:30.199 --> 01:01:34.679
<v Speaker 3>are inside an action text blocker, so indirectly active storaged

1068
01:01:35.679 --> 01:01:38.679
<v Speaker 3>on my model. And trying to solve that was kind

1069
01:01:38.679 --> 01:01:40.639
<v Speaker 3>of an interesting one as well, because you have to

1070
01:01:40.639 --> 01:01:47.239
<v Speaker 3>set up particular routing, direct routes to do this and

1071
01:01:47.960 --> 01:01:51.920
<v Speaker 3>involved environment variables and different you know, and understanding how

1072
01:01:51.960 --> 01:01:57.360
<v Speaker 3>to actually configure this cloud from the d N as well,

1073
01:01:58.159 --> 01:02:02.360
<v Speaker 3>which I have to say is is part mystery, Like

1074
01:02:03.000 --> 01:02:05.199
<v Speaker 3>I forgurt out how to make it work, but why

1075
01:02:05.320 --> 01:02:10.000
<v Speaker 3>specifically certain things I had to do when recommended configurations

1076
01:02:10.079 --> 01:02:16.000
<v Speaker 3>didn't actually work is still a mystery. And I wasn't

1077
01:02:16.000 --> 01:02:19.039
<v Speaker 3>that interested enough to actually go and understand exactly why.

1078
01:02:19.079 --> 01:02:22.360
<v Speaker 3>But I did document in this article like here's what

1079
01:02:22.440 --> 01:02:25.559
<v Speaker 3>I did, partly my own benefit because like, if I

1080
01:02:25.559 --> 01:02:27.480
<v Speaker 3>have to do this again, I'm literally never going to

1081
01:02:27.480 --> 01:02:29.719
<v Speaker 3>be able to understand what to do. Because it took

1082
01:02:29.719 --> 01:02:32.320
<v Speaker 3>me a while to figure it out because not that information,

1083
01:02:32.880 --> 01:02:37.960
<v Speaker 3>not that much information was out there, bits and pieces

1084
01:02:38.000 --> 01:02:40.719
<v Speaker 3>on the Rails forums and various blogs. But so I

1085
01:02:40.719 --> 01:02:43.320
<v Speaker 3>thought I'd try and encapsulate it. And it does seem

1086
01:02:43.360 --> 01:02:45.159
<v Speaker 3>to have worked because I have had a few people

1087
01:02:45.239 --> 01:02:47.559
<v Speaker 3>get in touch things. Thank you, Thank you for writing that,

1088
01:02:47.639 --> 01:02:50.840
<v Speaker 3>because I was banging my headgates a bit more trying

1089
01:02:50.880 --> 01:02:54.039
<v Speaker 3>to figure out how to make it work. So another

1090
01:02:54.079 --> 01:02:57.639
<v Speaker 3>thing I suppose that maybe the Rails could make a

1091
01:02:57.679 --> 01:03:00.880
<v Speaker 3>little bit easier, although it's quite complicated, all of this

1092
01:03:01.639 --> 01:03:04.239
<v Speaker 3>direct loads. If you look at the code in Rails

1093
01:03:04.280 --> 01:03:07.719
<v Speaker 3>for how how that works, it's quite it's quite hardcore

1094
01:03:08.000 --> 01:03:13.599
<v Speaker 3>in my opinion. So that's that's the sort of top

1095
01:03:13.840 --> 01:03:16.239
<v Speaker 3>that's that's where it came from and how I approached.

1096
01:03:16.760 --> 01:03:20.239
<v Speaker 4>It's kind of funny because we we talk about you know,

1097
01:03:20.320 --> 01:03:23.679
<v Speaker 4>your PDFs example, as being like a great use case

1098
01:03:23.719 --> 01:03:26.199
<v Speaker 4>for reels. I feel like files in general, like if

1099
01:03:26.199 --> 01:03:28.280
<v Speaker 4>you want to just like get a file upload working

1100
01:03:28.320 --> 01:03:31.599
<v Speaker 4>like Rails is great for that, but like if you

1101
01:03:31.639 --> 01:03:35.079
<v Speaker 4>want to cash it the right way. It's it's very complicated,

1102
01:03:35.280 --> 01:03:37.440
<v Speaker 4>but I feel like that's also true of anything, right,

1103
01:03:37.480 --> 01:03:39.960
<v Speaker 4>Like getting cloud Front looked up to any app in

1104
01:03:40.000 --> 01:03:41.559
<v Speaker 4>any language.

1105
01:03:41.119 --> 01:03:42.599
<v Speaker 3>Is a complex process.

1106
01:03:42.679 --> 01:03:46.639
<v Speaker 4>Like uh, and then how do you like, you know,

1107
01:03:47.320 --> 01:03:50.360
<v Speaker 4>what is the famous saying cash and bilidation is like

1108
01:03:50.840 --> 01:03:53.920
<v Speaker 4>one of the hardest, you know, naming and crashing validation.

1109
01:03:55.159 --> 01:03:57.480
<v Speaker 3>So I mean absolutely can't.

1110
01:03:57.639 --> 01:03:59.199
<v Speaker 4>Is there even a way to simplify this.

1111
01:03:59.440 --> 01:04:04.639
<v Speaker 3>Like, I mean, what what what? The correct thing I

1112
01:04:04.639 --> 01:04:07.800
<v Speaker 3>should have done, because it was a w S, was

1113
01:04:08.039 --> 01:04:11.039
<v Speaker 3>to kind of write that as code, you know, like

1114
01:04:11.079 --> 01:04:13.480
<v Speaker 3>here's a terraform script that will set up your you

1115
01:04:13.519 --> 01:04:17.719
<v Speaker 3>know right, I didn't do that. It probably slightly beyond

1116
01:04:17.800 --> 01:04:20.679
<v Speaker 3>me or beyond my patience. I should probably say I

1117
01:04:20.960 --> 01:04:23.559
<v Speaker 3>have this patients problem where I'm just in patience. So

1118
01:04:24.440 --> 01:04:26.960
<v Speaker 3>the correct thing would be just study the terraform and

1119
01:04:27.039 --> 01:04:30.599
<v Speaker 3>beautifully present this. You know, this is what I've got

1120
01:04:30.679 --> 01:04:34.559
<v Speaker 3>time for this. The crazy thing is O course out

1121
01:04:34.559 --> 01:04:37.480
<v Speaker 3>of time. I just choose not to. But yeah, I

1122
01:04:37.760 --> 01:04:40.639
<v Speaker 3>think that could that could help because then you're expressing

1123
01:04:40.719 --> 01:04:43.239
<v Speaker 3>in code exactly what you're doing on this on the

1124
01:04:43.280 --> 01:04:46.800
<v Speaker 3>cloud front and on the S three boocket. In the

1125
01:04:46.840 --> 01:04:51.719
<v Speaker 3>case of active storage. But on the rails side, I

1126
01:04:51.719 --> 01:04:54.840
<v Speaker 3>mean there's not that much to do. I mean, you know,

1127
01:04:55.199 --> 01:04:58.880
<v Speaker 3>once you're certainly with well with with the assets, there's

1128
01:04:58.960 --> 01:05:01.000
<v Speaker 3>virtually nothing to do. Just have to set the asset hopes.

1129
01:05:02.679 --> 01:05:06.239
<v Speaker 3>All the configuration is in in AS, where whereas with

1130
01:05:06.440 --> 01:05:08.920
<v Speaker 3>the active storage you have to create this direct route

1131
01:05:08.920 --> 01:05:10.960
<v Speaker 3>and then with that action text you have to then

1132
01:05:11.039 --> 01:05:15.800
<v Speaker 3>go and find the blog partial, you know, and go

1133
01:05:15.840 --> 01:05:17.559
<v Speaker 3>and change the route in the blog partial and things

1134
01:05:17.599 --> 01:05:22.199
<v Speaker 3>like that. But once than that, it's kind of straightforward.

1135
01:05:23.519 --> 01:05:26.280
<v Speaker 3>But it's yeah, fiddly, But I think that it's mainly

1136
01:05:26.320 --> 01:05:28.559
<v Speaker 3>fiddly because of the AS and if you if you

1137
01:05:28.599 --> 01:05:31.679
<v Speaker 3>could automate all that stuff yourself. But I suppose a

1138
01:05:31.679 --> 01:05:34.199
<v Speaker 3>good test would be to try on another CDN, which

1139
01:05:34.239 --> 01:05:35.760
<v Speaker 3>I have not done. You know, would it work on

1140
01:05:35.840 --> 01:05:40.320
<v Speaker 3>Digital Lotion or or some other you know, people have

1141
01:05:40.400 --> 01:05:44.639
<v Speaker 3>the other image media image specific CDNs than they especially

1142
01:05:44.679 --> 01:05:48.440
<v Speaker 3>on the on the larger side of if your app

1143
01:05:48.480 --> 01:05:50.320
<v Speaker 3>is you know, a big commercial app, you might not

1144
01:05:50.440 --> 01:05:52.440
<v Speaker 3>use Cloud from the tour. You might go for one

1145
01:05:52.440 --> 01:05:56.159
<v Speaker 3>of these proper image CDMs. How I have no idea

1146
01:05:56.320 --> 01:06:00.440
<v Speaker 3>whether that would be easier or more difficult, but ssumably

1147
01:06:00.519 --> 01:06:02.480
<v Speaker 3>from a Rails point of view kind of the same.

1148
01:06:02.559 --> 01:06:04.280
<v Speaker 3>You just have to get this route point to the

1149
01:06:04.320 --> 01:06:09.239
<v Speaker 3>right thing. So it's you know, it's it's more of

1150
01:06:09.280 --> 01:06:12.079
<v Speaker 3>an speak class problem, I would I would say than

1151
01:06:12.280 --> 01:06:13.079
<v Speaker 3>than Rails.

1152
01:06:13.400 --> 01:06:18.199
<v Speaker 1>Yeah, it's interesting too because you mentioned kind of the

1153
01:06:18.280 --> 01:06:20.480
<v Speaker 1>uploads and active storage. But one other thing that I

1154
01:06:20.559 --> 01:06:26.480
<v Speaker 1>thought about is just my pre compiled assets putting those

1155
01:06:26.519 --> 01:06:27.920
<v Speaker 1>on a CDN.

1156
01:06:29.280 --> 01:06:31.440
<v Speaker 2>For for a lot of the same reasons you mentioned.

1157
01:06:31.159 --> 01:06:32.800
<v Speaker 1>Right, you know, it's like, oh, you've got to pull

1158
01:06:32.880 --> 01:06:35.559
<v Speaker 1>up you know, maybe a couple of JavaScript files or

1159
01:06:35.719 --> 01:06:38.960
<v Speaker 1>my CSS or a bunch of images that you know,

1160
01:06:39.000 --> 01:06:43.360
<v Speaker 1>they're not active storage managed, they're just yeah, right.

1161
01:06:43.199 --> 01:06:47.719
<v Speaker 3>But yeah, that the as that one is pretty straightforward

1162
01:06:48.840 --> 01:06:51.159
<v Speaker 3>to do that. You just have to bake once you

1163
01:06:51.280 --> 01:06:56.239
<v Speaker 3>set up your clouds front instance and set the kind

1164
01:06:56.239 --> 01:07:00.800
<v Speaker 3>of core stuff, then then you just set that asset

1165
01:07:00.800 --> 01:07:05.840
<v Speaker 3>host in your Rails app and it like just works

1166
01:07:06.440 --> 01:07:10.480
<v Speaker 3>like it just it literally just works. And you know

1167
01:07:11.039 --> 01:07:13.320
<v Speaker 3>that none of those requests are now hit hitting your app.

1168
01:07:13.360 --> 01:07:18.800
<v Speaker 3>Every time you know, you deploy the cash, it gets updated.

1169
01:07:19.039 --> 01:07:24.079
<v Speaker 3>So yeah, it's it's great. Well to my knowledge that

1170
01:07:24.239 --> 01:07:28.559
<v Speaker 3>like that that's a big improvement. Hasn't had any issues

1171
01:07:28.599 --> 01:07:31.840
<v Speaker 3>that I'm aware of, you know, I mean clouds from

1172
01:07:32.159 --> 01:07:36.880
<v Speaker 3>pretty straightforward. At some level it works really well. Obviously

1173
01:07:36.880 --> 01:07:40.079
<v Speaker 3>you have to be what has been a ws for that,

1174
01:07:40.280 --> 01:07:42.559
<v Speaker 3>but I guess it helps if you're all in there.

1175
01:07:44.039 --> 01:07:45.559
<v Speaker 3>It would be interesting to know that, you know, if

1176
01:07:45.559 --> 01:07:48.159
<v Speaker 3>you're I don't know. It depends on what the thing is.

1177
01:07:48.159 --> 01:07:49.599
<v Speaker 3>This is another thing, isn't it like where where do

1178
01:07:49.599 --> 01:07:52.519
<v Speaker 3>people deploy their rails app? What's to go to thing?

1179
01:07:52.639 --> 01:07:59.119
<v Speaker 3>Because again nothing's perfect, but camal looks great to me.

1180
01:07:59.320 --> 01:08:03.039
<v Speaker 3>But then it's like, and I've got a database, what

1181
01:08:03.360 --> 01:08:06.679
<v Speaker 3>do I do? You know, It's like, you know, do

1182
01:08:06.719 --> 01:08:09.320
<v Speaker 3>I have to pay crunchy data now? And well if

1183
01:08:09.360 --> 01:08:11.920
<v Speaker 3>I do that, then what if my you know, my

1184
01:08:12.079 --> 01:08:15.920
<v Speaker 3>app is on Hetzner, But well do I now have

1185
01:08:15.960 --> 01:08:17.960
<v Speaker 3>to build? When do I run that in a Docker container?

1186
01:08:18.000 --> 01:08:20.520
<v Speaker 3>Do I? And that isn't that for me? That is uncovered?

1187
01:08:20.520 --> 01:08:22.920
<v Speaker 3>Whereas actually that's the most that's the most important thing.

1188
01:08:23.000 --> 01:08:25.479
<v Speaker 3>I don't really care about my web servers. It's my

1189
01:08:25.560 --> 01:08:29.720
<v Speaker 3>database that I care about. And you know, Heroka was good,

1190
01:08:29.760 --> 01:08:32.199
<v Speaker 3>but then they're kind of they're really tight fisted with

1191
01:08:32.239 --> 01:08:34.880
<v Speaker 3>the resources, which I don't like. But you know, so

1192
01:08:35.279 --> 01:08:37.439
<v Speaker 3>I don't know. That's another whole conversation, I guess, and

1193
01:08:37.439 --> 01:08:41.680
<v Speaker 3>that maybe for another time. But the definitive kind of

1194
01:08:41.880 --> 01:08:43.840
<v Speaker 3>I think commands going. I really like it. It's going

1195
01:08:43.840 --> 01:08:45.640
<v Speaker 3>in the right direction, but it doesn't quite get me

1196
01:08:45.640 --> 01:08:49.640
<v Speaker 3>what I want, Whereas like Digital Ocean, is it the

1197
01:08:49.720 --> 01:08:52.640
<v Speaker 3>app one, the docker base one that they have is

1198
01:08:53.159 --> 01:08:56.560
<v Speaker 3>really a good idea, but in practice hasn't in my opinion,

1199
01:08:56.640 --> 01:09:00.159
<v Speaker 3>hasn't been that. It's not a great It's slow, but

1200
01:09:00.479 --> 01:09:03.439
<v Speaker 3>conceptually it's great because you can get managed databases there.

1201
01:09:03.600 --> 01:09:05.600
<v Speaker 3>I can just kind of deploy my being by a

1202
01:09:05.640 --> 01:09:10.600
<v Speaker 3>Docker so that that seems great. But yeah, again there's

1203
01:09:10.680 --> 01:09:13.319
<v Speaker 3>quite fragmented where do you host. People have different opinions

1204
01:09:13.319 --> 01:09:16.000
<v Speaker 3>on that. Personally, I just I've just been using like

1205
01:09:16.039 --> 01:09:19.920
<v Speaker 3>a WUS because I had a loser credits and Hatchbox

1206
01:09:20.039 --> 01:09:23.199
<v Speaker 3>because it's just literally I don't even think about it.

1207
01:09:23.239 --> 01:09:25.000
<v Speaker 3>I just click a button and it works, which I

1208
01:09:25.000 --> 01:09:29.560
<v Speaker 3>think is great, and it sports Chris Oliver's brilliant Hatchbox.

1209
01:09:29.720 --> 01:09:33.039
<v Speaker 3>So happy to hand him money, you know, So that

1210
01:09:33.399 --> 01:09:37.359
<v Speaker 3>kind of interesting book camar If Hatchbox had Docker, then

1211
01:09:37.399 --> 01:09:40.800
<v Speaker 3>it would That's it is kind of like it's almost

1212
01:09:40.800 --> 01:09:41.960
<v Speaker 3>game over. At that point I think.

1213
01:09:42.039 --> 01:09:47.960
<v Speaker 5>But yep, I'm a big fan of render dot com.

1214
01:09:48.119 --> 01:09:51.880
<v Speaker 5>So they're a bit expensive, but in terms of like

1215
01:09:52.000 --> 01:09:56.000
<v Speaker 5>ease of deployment, I just find that to be heroical.

1216
01:09:56.079 --> 01:09:59.079
<v Speaker 5>But for twenty twenty four, right.

1217
01:09:59.000 --> 01:10:05.239
<v Speaker 3>Yeah, it seems to be pretty popular mm hm. But yeah,

1218
01:10:05.359 --> 01:10:08.279
<v Speaker 3>I was just driven by you know, if you get

1219
01:10:08.279 --> 01:10:09.920
<v Speaker 3>if you go to a WS and you kind of go, yeah,

1220
01:10:09.920 --> 01:10:13.039
<v Speaker 3>here's my startup. You can get get like two years

1221
01:10:13.079 --> 01:10:15.039
<v Speaker 3>of all these credits. Great. I mean it's it's a

1222
01:10:15.079 --> 01:10:18.960
<v Speaker 3>complete bait and switch thing from them, but actually pretty good.

1223
01:10:19.039 --> 01:10:21.159
<v Speaker 3>So you can kind of you know, I think I

1224
01:10:21.239 --> 01:10:23.199
<v Speaker 3>got like a thousand bucks, kind of goes a long way.

1225
01:10:23.279 --> 01:10:26.880
<v Speaker 3>You know, it's great. But yeah, ultimately would I do that?

1226
01:10:26.960 --> 01:10:33.399
<v Speaker 3>But maybe not? Maybe render? Yeah looks pretty cool. Cool.

1227
01:10:33.560 --> 01:10:35.520
<v Speaker 1>Well, let's let's go ahead and switch gears and do

1228
01:10:35.600 --> 01:10:37.760
<v Speaker 1>picks and then we'll wrap up.

1229
01:10:39.600 --> 01:10:41.319
<v Speaker 2>I usued. Do you want to start soft picks?

1230
01:10:42.039 --> 01:10:43.000
<v Speaker 5>Yeah?

1231
01:10:43.199 --> 01:10:43.720
<v Speaker 3>Easy one?

1232
01:10:43.800 --> 01:10:47.960
<v Speaker 5>This this week, I guess ruby uh new conference in

1233
01:10:48.119 --> 01:10:52.600
<v Speaker 5>Edinburgh in twenty four to October. Both Olie and I

1234
01:10:52.640 --> 01:10:59.560
<v Speaker 5>are speaking, so compare stark stay for mine, what else

1235
01:10:59.520 --> 01:11:04.199
<v Speaker 5>the theory else? I'm about to rewatch the big short

1236
01:11:04.239 --> 01:11:08.199
<v Speaker 5>with my friend This evening so non tech, big big short.

1237
01:11:08.239 --> 01:11:12.239
<v Speaker 5>If you haven't seen it, go watch it. Yeah, I

1238
01:11:12.279 --> 01:11:14.399
<v Speaker 5>think something about anything else today.

1239
01:11:16.039 --> 01:11:18.359
<v Speaker 2>Awesome, Valentino, what are your picks?

1240
01:11:20.319 --> 01:11:22.800
<v Speaker 4>I've been working on this fun project called podcast Buddy.

1241
01:11:23.399 --> 01:11:26.680
<v Speaker 4>He's actually listening right now, So AI companion that just

1242
01:11:26.720 --> 01:11:30.840
<v Speaker 4>lives in the terminal, and I can ask him questions

1243
01:11:30.880 --> 01:11:32.720
<v Speaker 4>right now, but I don't know what he'll respond with.

1244
01:11:32.800 --> 01:11:36.960
<v Speaker 4>So I'm gonna it's not polished, but he you know

1245
01:11:37.000 --> 01:11:39.520
<v Speaker 4>it just at the end of the episode here he'll

1246
01:11:39.560 --> 01:11:42.039
<v Speaker 4>create some show notes for us on what everybody's been

1247
01:11:42.079 --> 01:11:45.840
<v Speaker 4>talking about in nice organized format with links. So it's

1248
01:11:45.880 --> 01:11:49.399
<v Speaker 4>really fun. I use it for meetings to another version

1249
01:11:49.399 --> 01:11:51.880
<v Speaker 4>of it, I have a meeting Buddy, and it's just

1250
01:11:51.920 --> 01:11:55.159
<v Speaker 4>so much fun playing with Whisper and doing things locally

1251
01:11:55.520 --> 01:11:57.560
<v Speaker 4>with all these lms and audio.

1252
01:11:57.600 --> 01:11:58.399
<v Speaker 3>It's a lot of fun.

1253
01:11:59.119 --> 01:12:03.159
<v Speaker 4>So check that out Pop Buddy, And then I've been

1254
01:12:03.880 --> 01:12:08.920
<v Speaker 4>I found this. Somebody has this project called the robot

1255
01:12:09.920 --> 01:12:14.000
<v Speaker 4>where they're building a robot arm that has like a

1256
01:12:14.039 --> 01:12:16.800
<v Speaker 4>trainable robot arm that comes with that you can build

1257
01:12:16.840 --> 01:12:20.079
<v Speaker 4>with it to train it to do different things. And

1258
01:12:20.119 --> 01:12:22.479
<v Speaker 4>so somebody created a tutorial on how to do it all.

1259
01:12:22.640 --> 01:12:23.159
<v Speaker 3>And so I.

1260
01:12:23.159 --> 01:12:25.760
<v Speaker 4>Printed downloaded all the files and printed out all the parts,

1261
01:12:26.239 --> 01:12:29.119
<v Speaker 4>and I'll be building that just for kind of for fun,

1262
01:12:29.199 --> 01:12:32.319
<v Speaker 4>the train of robot armed to do different things in

1263
01:12:32.399 --> 01:12:32.880
<v Speaker 4>my office.

1264
01:12:32.920 --> 01:12:33.920
<v Speaker 3>So we'll see how it goes.

1265
01:12:35.199 --> 01:12:35.720
<v Speaker 2>Very cool.

1266
01:12:37.600 --> 01:12:41.359
<v Speaker 1>I'm gonna jump in with some picks. I always do

1267
01:12:41.439 --> 01:12:46.199
<v Speaker 1>a board game pick first. I always sometimes get long winded,

1268
01:12:46.199 --> 01:12:48.880
<v Speaker 1>so I'm gonna try and make this brief. I'm gonna

1269
01:12:48.880 --> 01:12:52.319
<v Speaker 1>pick Challengers, and I think I've picked this before, but

1270
01:12:52.439 --> 01:12:56.720
<v Speaker 1>Challengers is effectively like war and capture the Flag. So

1271
01:12:56.800 --> 01:12:59.399
<v Speaker 1>you flip cards over out of your hand until you've

1272
01:13:00.039 --> 01:13:03.079
<v Speaker 1>played more points than the top card of the other player,

1273
01:13:03.439 --> 01:13:05.000
<v Speaker 1>and then you get the flag, and then they do

1274
01:13:05.039 --> 01:13:09.479
<v Speaker 1>the same thing when you lose the flag. Then your

1275
01:13:09.560 --> 01:13:11.880
<v Speaker 1>cards go on to your bench. Once your bench is

1276
01:13:11.920 --> 01:13:14.560
<v Speaker 1>full and you can't place another card on it, your

1277
01:13:14.600 --> 01:13:17.479
<v Speaker 1>opponent wins, or if you run out of cards in

1278
01:13:17.479 --> 01:13:23.119
<v Speaker 1>your hand, your opponent wins, and then you play seven rounds.

1279
01:13:23.119 --> 01:13:26.159
<v Speaker 1>You rotate between the other players. It'll play up to

1280
01:13:26.199 --> 01:13:31.239
<v Speaker 1>eight people, right, so you have four simultaneous matches going

1281
01:13:31.279 --> 01:13:34.720
<v Speaker 1>on at the same time, or three or two or whatever.

1282
01:13:34.960 --> 01:13:36.479
<v Speaker 1>If you have an odd number of people there's a

1283
01:13:36.560 --> 01:13:40.279
<v Speaker 1>robot deck that kind of gets harder to beat as

1284
01:13:40.399 --> 01:13:43.920
<v Speaker 1>the rounds go on. But theoretically you're drafting cards and

1285
01:13:43.960 --> 01:13:48.159
<v Speaker 1>building your hand or your deck up, so your deck

1286
01:13:48.159 --> 01:13:50.039
<v Speaker 1>should be stronger and so you should be able to

1287
01:13:50.520 --> 01:13:53.199
<v Speaker 1>hold out with the.

1288
01:13:54.800 --> 01:13:56.760
<v Speaker 2>With the robot board game.

1289
01:13:56.800 --> 01:13:59.399
<v Speaker 1>Geek rates it at or weights it at one point

1290
01:13:59.479 --> 01:14:02.760
<v Speaker 1>seven eight, which means it's pretty easy for casual gamers,

1291
01:14:04.439 --> 01:14:08.760
<v Speaker 1>and it's eight and older can play it. So anyway,

1292
01:14:09.239 --> 01:14:13.399
<v Speaker 1>that's my board game pick. I just finished a book.

1293
01:14:13.560 --> 01:14:16.880
<v Speaker 1>It's the Book on Mental Toughness by Andy Frizella. You

1294
01:14:16.920 --> 01:14:19.520
<v Speaker 1>have to actually go to his website to get it.

1295
01:14:19.560 --> 01:14:21.680
<v Speaker 1>Walks through the seventy five Hard program, which I'm in

1296
01:14:21.680 --> 01:14:26.279
<v Speaker 1>the middle of right now. I'm Monday seventeen of seventy

1297
01:14:26.279 --> 01:14:29.960
<v Speaker 1>five days, and it walks through the whole program. It's

1298
01:14:30.079 --> 01:14:36.319
<v Speaker 1>it anyway, it's awesome. So you know, it's part physical health,

1299
01:14:36.399 --> 01:14:40.000
<v Speaker 1>part mental toughness, part other stuff.

1300
01:14:40.039 --> 01:14:42.159
<v Speaker 2>So go check that out for sure.

1301
01:14:42.199 --> 01:14:46.000
<v Speaker 1>He also has a podcast relaf which is worth checking out.

1302
01:14:46.439 --> 01:14:47.000
<v Speaker 2>And then.

1303
01:14:49.159 --> 01:14:50.760
<v Speaker 1>Part of the program too is you have to read

1304
01:14:50.800 --> 01:14:53.359
<v Speaker 1>ten pages out of a book every day, and so

1305
01:14:53.399 --> 01:14:55.560
<v Speaker 1>the book I'm reading now that I finish that is

1306
01:14:55.600 --> 01:14:59.079
<v Speaker 1>Awaken the Giant Within by Tony Robbins, and I am

1307
01:14:59.479 --> 01:15:01.600
<v Speaker 1>really in this book, So I'm going to pick that

1308
01:15:01.640 --> 01:15:05.840
<v Speaker 1>to you, Alie, do you have some picks for us?

1309
01:15:07.800 --> 01:15:10.039
<v Speaker 3>Sure? Well, I'm going to big up Friendly I'll be,

1310
01:15:11.560 --> 01:15:16.239
<v Speaker 3>which takes place in September eighteen nineteenth, I think in Bucharest,

1311
01:15:16.560 --> 01:15:22.039
<v Speaker 3>Romania and the whole I'm speaking there, but there's a

1312
01:15:22.079 --> 01:15:24.600
<v Speaker 3>whole bunch of much better speakers than me, which you

1313
01:15:24.640 --> 01:15:28.039
<v Speaker 3>should go and check out. I believe as orc some

1314
01:15:28.159 --> 01:15:32.600
<v Speaker 3>tickets left. I have a discount, but you have to

1315
01:15:32.680 --> 01:15:34.239
<v Speaker 3>I can't. I don't think I can announce that. You

1316
01:15:34.359 --> 01:15:36.399
<v Speaker 3>can to find me and if you want a discount,

1317
01:15:36.399 --> 01:15:38.800
<v Speaker 3>I can give you a discount to that. So I

1318
01:15:38.840 --> 01:15:44.119
<v Speaker 3>big up that. What else I had? This kind of

1319
01:15:44.319 --> 01:15:47.640
<v Speaker 3>I've been on Twitter for like well since back in

1320
01:15:47.680 --> 01:15:51.119
<v Speaker 3>the day, but yeah, I kind of I've been checking

1321
01:15:51.119 --> 01:15:53.720
<v Speaker 3>out Blue Sky lately, which I've passed me by a bit,

1322
01:15:53.760 --> 01:15:55.720
<v Speaker 3>but I kind of really like it, so I should

1323
01:15:55.720 --> 01:15:57.600
<v Speaker 3>probably be on Mastered on should not. I don't mean

1324
01:15:58.439 --> 01:16:00.479
<v Speaker 3>that kind of passed me by, but big up Sky,

1325
01:16:00.640 --> 01:16:02.119
<v Speaker 3>go and check that out. I think I think it's

1326
01:16:02.159 --> 01:16:05.479
<v Speaker 3>quite interesting what they're doing. But I was going to say,

1327
01:16:05.479 --> 01:16:06.760
<v Speaker 3>I don't know if this is going to go out

1328
01:16:07.920 --> 01:16:10.920
<v Speaker 3>after the after the weekend, probably so it might be

1329
01:16:11.000 --> 01:16:12.680
<v Speaker 3>too late for people at the Edinburgh Festival. But I

1330
01:16:12.920 --> 01:16:16.680
<v Speaker 3>saw this show the other day which called Sawdust Symphony,

1331
01:16:16.840 --> 01:16:20.159
<v Speaker 3>which was one of the most incredible things. I've seen

1332
01:16:20.199 --> 01:16:23.399
<v Speaker 3>some crazy stuff at Edinburgh Fringe, but this was on

1333
01:16:23.479 --> 01:16:25.760
<v Speaker 3>another level. It was the way they pitch it is

1334
01:16:26.079 --> 01:16:31.600
<v Speaker 3>carpentry meats circus and it's like three German guys for

1335
01:16:31.640 --> 01:16:34.600
<v Speaker 3>an hour on the stage doing things with wood and

1336
01:16:34.680 --> 01:16:40.239
<v Speaker 3>the whole stage show that including lathes and glue. It was. Honestly,

1337
01:16:40.239 --> 01:16:43.359
<v Speaker 3>it sounds ridiculous, but it's absolutely incredible. So I you

1338
01:16:43.359 --> 01:16:45.960
<v Speaker 3>could probably see some videos of it online saw Dust Symphony.

1339
01:16:46.000 --> 01:16:48.680
<v Speaker 3>I honestly I've never seen anything like it in all

1340
01:16:48.760 --> 01:16:50.680
<v Speaker 3>my years, and that I have a lot of years

1341
01:16:50.880 --> 01:16:53.960
<v Speaker 3>under my belt these days, so that would be my.

1342
01:16:57.279 --> 01:16:58.439
<v Speaker 4>This looks incredible.

1343
01:16:59.000 --> 01:17:00.000
<v Speaker 3>Thank you.

1344
01:17:05.720 --> 01:17:09.359
<v Speaker 1>If if people want to connect with you, how do

1345
01:17:09.399 --> 01:17:10.439
<v Speaker 1>they find you on the internet?

1346
01:17:11.920 --> 01:17:17.159
<v Speaker 3>Yeah, I would say on Twitter, but not anymore. I

1347
01:17:17.159 --> 01:17:21.279
<v Speaker 3>got a website, he do, and that has my links.

1348
01:17:21.279 --> 01:17:24.520
<v Speaker 3>I'm on Blue Sky and threads kind of trying to

1349
01:17:24.600 --> 01:17:29.279
<v Speaker 3>say hello Instagram or does it email me? I'm just

1350
01:17:29.359 --> 01:17:32.600
<v Speaker 3>Ali at hey dot com, so yeah, that's how to

1351
01:17:32.680 --> 01:17:34.720
<v Speaker 3>find me. But he dot is my kind of home

1352
01:17:34.960 --> 01:17:38.039
<v Speaker 3>I suppose on the Internet, of my blog and stuff

1353
01:17:38.079 --> 01:17:38.399
<v Speaker 3>like that.

1354
01:17:40.159 --> 01:17:42.560
<v Speaker 2>Awesome. Well, thanks for coming.

1355
01:17:42.960 --> 01:17:45.800
<v Speaker 3>This has been great, Thanks for having me.

1356
01:17:46.479 --> 01:17:49.640
<v Speaker 2>Yeah, we'll wrap it here until next time. Max out
