WEBVTT

1
00:00:01.080 --> 00:00:04.799
<v Speaker 1>How'd you like to listen to dot NetRocks with no ads? Easy?

2
00:00:05.360 --> 00:00:08.560
<v Speaker 1>Become a patron for just five dollars a month you

3
00:00:08.599 --> 00:00:11.320
<v Speaker 1>get access to a private RSS feed where all the

4
00:00:11.359 --> 00:00:14.599
<v Speaker 1>shows have no ads. Twenty dollars a month will get

5
00:00:14.599 --> 00:00:18.440
<v Speaker 1>you that and a special dot NetRocks patron mug. Sign

6
00:00:18.519 --> 00:00:22.320
<v Speaker 1>up now at Patreon dot dot NetRocks dot com. Hey,

7
00:00:22.480 --> 00:00:26.239
<v Speaker 1>Carlin Richard here with your twenty twenty four NDC schedule.

8
00:00:26.480 --> 00:00:29.199
<v Speaker 2>Will be at as many NDC conferences as possible this year,

9
00:00:29.239 --> 00:00:32.240
<v Speaker 2>and you should consider attending no matter what. The Copenhagen

10
00:00:32.240 --> 00:00:35.840
<v Speaker 2>Developers Festival happens August twenty sixth through the thirtieth. Tickets

11
00:00:35.840 --> 00:00:38.759
<v Speaker 2>at Cphdevfest dot com.

12
00:00:39.119 --> 00:00:43.520
<v Speaker 1>Ndcporto is happening October fourteenth through the eighteenth. The early

13
00:00:43.560 --> 00:00:49.200
<v Speaker 1>bird discount ends June fourteenth. Tickets at Ndcporto dot com.

14
00:00:49.240 --> 00:01:01.399
<v Speaker 3>And we'll see you there, we hope.

15
00:01:03.759 --> 00:01:06.239
<v Speaker 1>Hey, guess what it's dot net Rocks. I'm Carl Franklin

16
00:01:06.239 --> 00:01:08.439
<v Speaker 1>and i Amgard Campbell and we're here again. Yes, we

17
00:01:08.519 --> 00:01:11.640
<v Speaker 1>keep doing this. You know people are gonna talk. Yeah,

18
00:01:11.719 --> 00:01:16.239
<v Speaker 1>hopefully that's the whole point. We talk about everything, not

19
00:01:16.359 --> 00:01:19.680
<v Speaker 1>just dot net but We're a podcast for dot net developers.

20
00:01:19.680 --> 00:01:22.000
<v Speaker 1>That's the way we've always been and gotten.

21
00:01:22.040 --> 00:01:24.400
<v Speaker 2>Developers do a lot of stuff these days, it seems

22
00:01:24.400 --> 00:01:25.159
<v Speaker 2>I think they always have.

23
00:01:25.319 --> 00:01:29.120
<v Speaker 1>Yeah, I have a little bit of a story of

24
00:01:29.239 --> 00:01:32.359
<v Speaker 1>and a product to talk about for better no framework.

25
00:01:32.400 --> 00:01:41.159
<v Speaker 1>So roll the music, man.

26
00:01:41.200 --> 00:01:41.599
<v Speaker 2>What do you got?

27
00:01:41.760 --> 00:01:41.920
<v Speaker 4>Well?

28
00:01:41.920 --> 00:01:44.239
<v Speaker 1>I gave myself a birthday present this year.

29
00:01:44.680 --> 00:01:45.799
<v Speaker 2>Happy birthday, Thank you.

30
00:01:45.840 --> 00:01:46.920
<v Speaker 1>Happy birthday to you too, sir.

31
00:01:47.000 --> 00:01:48.439
<v Speaker 2>Yeah right, it's about the same time, isn't it.

32
00:01:48.519 --> 00:01:54.239
<v Speaker 1>Yeah, I got. I replaced the stock in dash stereo

33
00:01:54.359 --> 00:01:59.480
<v Speaker 1>system in my twenty twelve Honda CRV AD it a

34
00:01:59.480 --> 00:02:03.439
<v Speaker 1>long time yeah, yeah, with yeah, but it's a great car.

35
00:02:03.760 --> 00:02:06.640
<v Speaker 1>But I replace it with something new that has Apple

36
00:02:06.719 --> 00:02:10.639
<v Speaker 1>car Play and all that stuff. And I did a

37
00:02:10.639 --> 00:02:13.719
<v Speaker 1>lot of research and I found the best bang for

38
00:02:13.759 --> 00:02:16.879
<v Speaker 1>the buck was about five hundred and forty nine bucks.

39
00:02:16.960 --> 00:02:20.400
<v Speaker 1>I got it at best Buy. It's a Pioneer AVH

40
00:02:20.800 --> 00:02:24.280
<v Speaker 1>twenty five fifty n ex All right, So what is it?

41
00:02:24.680 --> 00:02:24.759
<v Speaker 5>So?

42
00:02:24.919 --> 00:02:27.879
<v Speaker 1>It does everything right, but mostly it connects to your

43
00:02:27.919 --> 00:02:31.039
<v Speaker 1>phone and it will either use Android Auto which is

44
00:02:31.080 --> 00:02:35.919
<v Speaker 1>the Android version, or Apple car Play, both are registered

45
00:02:36.080 --> 00:02:40.000
<v Speaker 1>trademarks or whatever. It also does Bluetooth, but here's the thing.

46
00:02:40.240 --> 00:02:46.240
<v Speaker 1>Unlike most in car dashes that have their own GPS, right,

47
00:02:46.520 --> 00:02:49.520
<v Speaker 1>this one it connects to the rate, it has radio

48
00:02:49.599 --> 00:02:53.879
<v Speaker 1>and all that stuff that you would imagine. But Apple

49
00:02:53.960 --> 00:02:56.319
<v Speaker 1>Car Play in my case, because you're an iPhone user,

50
00:02:56.439 --> 00:02:59.240
<v Speaker 1>does every Yeah, because I'm an iPhone user. My brother

51
00:02:59.280 --> 00:03:01.360
<v Speaker 1>has another one. It does Android Auto. But they both

52
00:03:01.360 --> 00:03:04.800
<v Speaker 1>do the same thing, basically use your phone. So I

53
00:03:04.960 --> 00:03:09.360
<v Speaker 1>use ways to navigate and it shows right on the console.

54
00:03:09.039 --> 00:03:10.240
<v Speaker 2>And it's better in every way.

55
00:03:10.400 --> 00:03:13.000
<v Speaker 1>It's better in every way than the standard stuff that

56
00:03:13.039 --> 00:03:15.639
<v Speaker 1>comes in a car, certainly, and even better than Google Maps.

57
00:03:15.680 --> 00:03:18.879
<v Speaker 2>I think, well, these Google Maps actually under the hood. Yeah,

58
00:03:18.960 --> 00:03:21.520
<v Speaker 2>they owned by Google, but you get the.

59
00:03:21.639 --> 00:03:26.439
<v Speaker 1>Sort of reports of you know, traffic and police stuff.

60
00:03:26.680 --> 00:03:29.560
<v Speaker 2>Which apparently police watch closely and then just remove themselves

61
00:03:29.599 --> 00:03:32.080
<v Speaker 2>whenever somebody identifies the speed trap to go Nope, that's

62
00:03:32.039 --> 00:03:32.759
<v Speaker 2>speed trap's gone.

63
00:03:32.800 --> 00:03:35.039
<v Speaker 1>Well, let me tell you. I drove to Pennsylvania over

64
00:03:35.039 --> 00:03:38.479
<v Speaker 1>the weekend in back six hour trip and it worked

65
00:03:38.520 --> 00:03:39.319
<v Speaker 1>like a dream.

66
00:03:39.560 --> 00:03:41.400
<v Speaker 2>Yeah. Kept out of the bad traffic.

67
00:03:41.560 --> 00:03:44.199
<v Speaker 1>Yeah yeah, and yeah, except for the bad traffic, which

68
00:03:44.280 --> 00:03:46.400
<v Speaker 1>you know it told me about. It was too late,

69
00:03:46.439 --> 00:03:48.080
<v Speaker 1>but it could have re routed me.

70
00:03:48.199 --> 00:03:49.639
<v Speaker 2>But off it to tell you and say it's still

71
00:03:49.639 --> 00:03:50.240
<v Speaker 2>the best route.

72
00:03:50.360 --> 00:03:52.919
<v Speaker 1>Yes, it's still the best route exactly, and most of

73
00:03:52.960 --> 00:03:54.400
<v Speaker 1>it was just caused by bad weather.

74
00:03:54.639 --> 00:03:57.000
<v Speaker 2>So really, this is device, this pioneer device is a

75
00:03:57.000 --> 00:04:00.639
<v Speaker 2>big screen relatively speaking in your car, ties to your

76
00:04:00.680 --> 00:04:03.199
<v Speaker 2>phone so that you don't have to look at your

77
00:04:03.240 --> 00:04:04.960
<v Speaker 2>phone to do NAV right right.

78
00:04:04.879 --> 00:04:07.400
<v Speaker 1>So you can use you can listen to anything on

79
00:04:07.439 --> 00:04:08.199
<v Speaker 1>your phone that you.

80
00:04:08.159 --> 00:04:10.319
<v Speaker 2>Have access to Spotify at all.

81
00:04:10.520 --> 00:04:15.439
<v Speaker 1>Yep. And how before I was connecting audio with Bluetooth right,

82
00:04:15.479 --> 00:04:18.240
<v Speaker 1>and there's a delay with Bluetooth, But this one has

83
00:04:18.240 --> 00:04:21.120
<v Speaker 1>a USB jack, a female jack that comes right out

84
00:04:21.120 --> 00:04:24.959
<v Speaker 1>of the dashboard and you plug your phone right into it,

85
00:04:25.360 --> 00:04:28.240
<v Speaker 1>so there's no delay whenever you pause something.

86
00:04:27.959 --> 00:04:30.079
<v Speaker 2>Or you want to say you're charging, so you know.

87
00:04:30.160 --> 00:04:32.079
<v Speaker 1>Charging, skipping forward, skivving ahead.

88
00:04:32.319 --> 00:04:34.720
<v Speaker 2>Well, because the other reality is you're running the GPS

89
00:04:34.759 --> 00:04:37.360
<v Speaker 2>sensors the whole time because it's actually doing the NAV work.

90
00:04:37.399 --> 00:04:39.399
<v Speaker 2>So it's going to mow your battery unless it's plugged in.

91
00:04:39.600 --> 00:04:41.759
<v Speaker 1>Yep, and it's plugged in and I had no problem

92
00:04:41.759 --> 00:04:45.120
<v Speaker 1>with that. And also my car came with a little

93
00:04:45.199 --> 00:04:49.160
<v Speaker 1>voice button on the on the steering wheel, but it

94
00:04:49.199 --> 00:04:50.360
<v Speaker 1>really didn't do anything.

95
00:04:51.079 --> 00:04:53.480
<v Speaker 2>It's the old voice, old old boy.

96
00:04:53.600 --> 00:04:57.319
<v Speaker 1>But this connects directly to it, so I can essentially

97
00:04:57.360 --> 00:04:59.920
<v Speaker 1>any time I want, I can say, call this person,

98
00:05:00.439 --> 00:05:02.279
<v Speaker 1>text message this person.

99
00:05:02.079 --> 00:05:03.959
<v Speaker 2>And it's now sending that to the phone.

100
00:05:03.959 --> 00:05:06.040
<v Speaker 1>Sending it to the phone. Right, I can send text

101
00:05:06.079 --> 00:05:09.240
<v Speaker 1>messages or whatever. I can skip ahead if I don't

102
00:05:09.279 --> 00:05:12.000
<v Speaker 1>like the ads of my podcast, Hey, should I have

103
00:05:12.120 --> 00:05:12.439
<v Speaker 1>said that?

104
00:05:12.600 --> 00:05:15.040
<v Speaker 2>You shouldn't say that. No, have you noticed what your

105
00:05:15.040 --> 00:05:15.720
<v Speaker 2>businesses like?

106
00:05:15.759 --> 00:05:19.079
<v Speaker 1>Come on, but you know I've heard these same ads

107
00:05:19.120 --> 00:05:22.759
<v Speaker 1>a million times, and I skipped through. I just had

108
00:05:22.800 --> 00:05:25.480
<v Speaker 1>a great experience. Now I will tell you I gotcha,

109
00:05:25.480 --> 00:05:27.480
<v Speaker 1>And I'm sorry, guys, I'm taking up too much time

110
00:05:27.480 --> 00:05:30.160
<v Speaker 1>with this, but there was a gotcha. When I first

111
00:05:30.360 --> 00:05:34.560
<v Speaker 1>set out, I was using an existing lightning cable and

112
00:05:34.839 --> 00:05:38.160
<v Speaker 1>I was getting audio dropouts and it was the cable.

113
00:05:38.399 --> 00:05:40.720
<v Speaker 1>It was the cable. I stopped at a mall, I

114
00:05:40.759 --> 00:05:43.720
<v Speaker 1>went to the Apple store. I got an official Apple iOS.

115
00:05:43.800 --> 00:05:46.680
<v Speaker 2>You spend sixty bucks on a cable and it worked,

116
00:05:47.800 --> 00:05:50.959
<v Speaker 2>It fixed it. You know, if you actually watch YouTube

117
00:05:51.000 --> 00:05:53.720
<v Speaker 2>on disassembling some of those sixty dollars cables, there's a

118
00:05:53.720 --> 00:05:56.680
<v Speaker 2>lot of stuff in those cables. They're not just wires, right,

119
00:05:57.079 --> 00:06:00.240
<v Speaker 2>so it didn't work with a third party cable that.

120
00:06:00.240 --> 00:06:04.000
<v Speaker 1>It did with the iOS came okay, all right, who's

121
00:06:04.040 --> 00:06:04.600
<v Speaker 1>talking to us?

122
00:06:04.680 --> 00:06:07.360
<v Speaker 2>Richard Grabby comment off a show eighteen ninety nine back

123
00:06:07.399 --> 00:06:09.079
<v Speaker 2>in May of twenty twenty four when we talked to

124
00:06:09.120 --> 00:06:11.279
<v Speaker 2>our friend Aaron Erickson, who hadn't been on the show

125
00:06:11.279 --> 00:06:13.360
<v Speaker 2>in a very long time, the nomadic developer, who we

126
00:06:13.399 --> 00:06:16.480
<v Speaker 2>now called the nomadic AI developer because why not, all right?

127
00:06:17.160 --> 00:06:19.480
<v Speaker 2>And it was part of a sort of two show

128
00:06:19.519 --> 00:06:21.800
<v Speaker 2>set because we also did that show with Sean Wildermouth

129
00:06:21.879 --> 00:06:25.160
<v Speaker 2>talking about being in a computing career later in your life,

130
00:06:25.199 --> 00:06:28.160
<v Speaker 2>which islicited a huge response. Oh yeah, that was great,

131
00:06:28.399 --> 00:06:31.160
<v Speaker 2>and you know, Sean, I think expressed a lot of

132
00:06:31.199 --> 00:06:33.439
<v Speaker 2>worries that all of us had. And then in comes

133
00:06:33.519 --> 00:06:37.759
<v Speaker 2>Aaron who's like, hey, I've totally retooled my career again

134
00:06:38.519 --> 00:06:41.439
<v Speaker 2>in my late fifties and I'm now working for Nvidia,

135
00:06:41.600 --> 00:06:44.360
<v Speaker 2>all in on the on the new technology, which I

136
00:06:44.360 --> 00:06:46.519
<v Speaker 2>thought it was just an interesting bounce to too. And

137
00:06:46.560 --> 00:06:49.839
<v Speaker 2>this is a comment from Trev who says, Hey, I

138
00:06:49.839 --> 00:06:52.360
<v Speaker 2>love the conversation day. Aaron has had an amazing career and

139
00:06:52.399 --> 00:06:54.319
<v Speaker 2>I would suggest it in VIDR. Super lucky to have

140
00:06:54.360 --> 00:06:57.319
<v Speaker 2>him on board. The conversation on generative AI touched on

141
00:06:57.360 --> 00:06:59.399
<v Speaker 2>the travel industry, and I thought that I would share

142
00:06:59.399 --> 00:07:02.279
<v Speaker 2>something from a presitation I attended last week. A New

143
00:07:02.399 --> 00:07:05.160
<v Speaker 2>Zealand travel agency who during the pandemic lost something like

144
00:07:05.199 --> 00:07:08.160
<v Speaker 2>eighty percent of its value and sixty percent of its staff,

145
00:07:08.519 --> 00:07:11.720
<v Speaker 2>has a terrible problem. Now they can't hire travel agents

146
00:07:12.000 --> 00:07:15.800
<v Speaker 2>because during the pandemic they all retrained in other careers

147
00:07:16.000 --> 00:07:20.160
<v Speaker 2>and they're not coming back. So they've now turned two

148
00:07:20.720 --> 00:07:23.439
<v Speaker 2>large language models and new automation to solve this problem.

149
00:07:23.879 --> 00:07:27.199
<v Speaker 2>And he's obviously Trev used as the service because he said, normally,

150
00:07:27.240 --> 00:07:28.879
<v Speaker 2>if you want an itinerary for a trip, it would

151
00:07:28.920 --> 00:07:30.879
<v Speaker 2>take the travelation a couple of hours to put it together.

152
00:07:31.240 --> 00:07:34.000
<v Speaker 2>Now I get it in two minutes, and it's based

153
00:07:34.040 --> 00:07:36.839
<v Speaker 2>on all my wants and wishes, all the little details

154
00:07:36.839 --> 00:07:39.399
<v Speaker 2>and so forth. And that includes confirming the hotels, setting

155
00:07:39.480 --> 00:07:43.319
<v Speaker 2>up all the flights, optimizing to my flight needs, your time,

156
00:07:43.480 --> 00:07:47.079
<v Speaker 2>your budget. What stoffovers is a perfect illustration of where

157
00:07:47.279 --> 00:07:50.800
<v Speaker 2>these technologies can transform the industry. And thanks so much

158
00:07:50.839 --> 00:07:55.360
<v Speaker 2>for the show. Awesome, Yeah, you know it's we're dealing

159
00:07:55.399 --> 00:07:58.120
<v Speaker 2>with It's a double whammy, isn't it. The pandemic definitely

160
00:07:58.199 --> 00:08:00.920
<v Speaker 2>tore up a bunch of industry, and then we have

161
00:08:01.000 --> 00:08:04.519
<v Speaker 2>this new technology that gives us a better interface. I mean,

162
00:08:04.560 --> 00:08:07.720
<v Speaker 2>you've always been able to build your own travel itinerary.

163
00:08:07.759 --> 00:08:10.120
<v Speaker 2>It's just you know, I still do it this way

164
00:08:10.120 --> 00:08:12.199
<v Speaker 2>where I got trip it open over here, and I've

165
00:08:12.199 --> 00:08:17.199
<v Speaker 2>got various websites for airlines there and different hotels and

166
00:08:17.319 --> 00:08:19.600
<v Speaker 2>you know, but the fact that you could pull out

167
00:08:19.600 --> 00:08:21.839
<v Speaker 2>all together with software using a modern travel agency, and

168
00:08:21.839 --> 00:08:24.519
<v Speaker 2>it costs the agency left to deliver you faster service.

169
00:08:24.639 --> 00:08:26.199
<v Speaker 2>Like that's what automation is all about.

170
00:08:27.360 --> 00:08:30.879
<v Speaker 1>I know, a whole bunch of office space that is currently available.

171
00:08:31.399 --> 00:08:34.080
<v Speaker 2>M well, a lot of people are not, you know,

172
00:08:34.120 --> 00:08:36.840
<v Speaker 2>still working from home, and it's not going to change. Yeah, so,

173
00:08:37.000 --> 00:08:38.639
<v Speaker 2>or at least it seems not to, so, Trev, thank

174
00:08:38.679 --> 00:08:40.039
<v Speaker 2>you so much for your comment and a copy of

175
00:08:40.080 --> 00:08:41.559
<v Speaker 2>music Cobey. It's on its way to you. And if

176
00:08:41.559 --> 00:08:43.200
<v Speaker 2>you'd like copy of music code by I write a

177
00:08:43.200 --> 00:08:46.000
<v Speaker 2>comment on the website of dot netroocks dot com or

178
00:08:46.039 --> 00:08:47.679
<v Speaker 2>on the facebooks. We publish every show there, and if

179
00:08:47.679 --> 00:08:49.200
<v Speaker 2>you comment there and everybody on the show, we'll send

180
00:08:49.240 --> 00:08:50.519
<v Speaker 2>you a copy of music Go Buy and.

181
00:08:50.639 --> 00:08:53.320
<v Speaker 1>Music code by still going strong after all these years.

182
00:08:53.399 --> 00:08:57.159
<v Speaker 1>A great way to stay focused when you're writing code.

183
00:08:57.360 --> 00:08:59.320
<v Speaker 2>I got a nice note from a listener who I

184
00:08:59.480 --> 00:09:01.240
<v Speaker 2>had sent the code too so that they could get

185
00:09:01.240 --> 00:09:03.720
<v Speaker 2>a Copyody, Who's like, this changes the way I work?

186
00:09:03.960 --> 00:09:05.240
<v Speaker 1>Yeah, it is good, you know.

187
00:09:05.759 --> 00:09:06.399
<v Speaker 2>Yeah?

188
00:09:06.519 --> 00:09:11.279
<v Speaker 1>Okay. Let us introduce our guests today who've never been

189
00:09:11.320 --> 00:09:13.320
<v Speaker 1>on the show before, so I'm really looking forward to

190
00:09:13.360 --> 00:09:17.840
<v Speaker 1>talking to them. Malti Lawler Anderson is a passionate machine

191
00:09:18.200 --> 00:09:22.799
<v Speaker 1>learning engineer working for Norkart, operating in the geospatial domain.

192
00:09:23.799 --> 00:09:28.320
<v Speaker 1>And Matilda Ushtevik has a master's degree in geographical IT

193
00:09:28.759 --> 00:09:32.519
<v Speaker 1>with a specialization in geographical AI. You can read their

194
00:09:32.639 --> 00:09:35.200
<v Speaker 1>full bios at dot netroocks dot com, of course, but

195
00:09:35.320 --> 00:09:39.039
<v Speaker 1>that'll get us started anyway. Welcome guys, thank you, thank you,

196
00:09:39.120 --> 00:09:41.639
<v Speaker 1>thank you. All right, so that first voice you heard

197
00:09:41.679 --> 00:09:45.279
<v Speaker 1>was Matilda, the second one was malte just to identify

198
00:09:45.320 --> 00:09:48.559
<v Speaker 1>for our listeners. So who wants to start with the

199
00:09:48.600 --> 00:09:50.639
<v Speaker 1>elevator pitch? What are you guys doing out there?

200
00:09:50.759 --> 00:09:53.759
<v Speaker 5>Do you want me to take the first one? I

201
00:09:53.759 --> 00:09:59.080
<v Speaker 5>can do that, yes, thank you? Well, you know is

202
00:09:59.519 --> 00:10:04.279
<v Speaker 5>norwegi An it company at this point. I guess historically

203
00:10:04.279 --> 00:10:06.960
<v Speaker 5>we did a lot of maps and stuff like that,

204
00:10:07.440 --> 00:10:10.559
<v Speaker 5>but we are more more more pivoted into doing it,

205
00:10:10.960 --> 00:10:14.519
<v Speaker 5>and we deliver a lot, a lot, a lot of

206
00:10:14.559 --> 00:10:20.440
<v Speaker 5>different products within the juicepacial domain. We have exactly three

207
00:10:20.519 --> 00:10:25.360
<v Speaker 5>point fourteen or pie products per developer.

208
00:10:26.279 --> 00:10:29.879
<v Speaker 2>Great, so you have to if you add new products,

209
00:10:29.879 --> 00:10:32.039
<v Speaker 2>you have to hire more developers to keep the ratio correct.

210
00:10:32.200 --> 00:10:33.440
<v Speaker 2>Is that the plant exactly?

211
00:10:33.639 --> 00:10:36.360
<v Speaker 4>Yeah, yeah, every developer that gets hired has to bring

212
00:10:36.440 --> 00:10:38.759
<v Speaker 4>in three point fourteen products.

213
00:10:38.840 --> 00:10:48.159
<v Speaker 2>So great, Oh my goodness. So you're using primarily aerial data.

214
00:10:48.200 --> 00:10:51.200
<v Speaker 2>I guess there's some satellite, some aircraft. Of course, drones

215
00:10:51.240 --> 00:10:55.519
<v Speaker 2>have changed this landscape as well, but then turning it

216
00:10:55.559 --> 00:10:57.240
<v Speaker 2>into usable imagery it's one thing they have a bunch

217
00:10:57.240 --> 00:10:58.759
<v Speaker 2>of photos is another thing. To turn it into something

218
00:10:58.799 --> 00:11:01.240
<v Speaker 2>that's really usable. That's got to be pretty software intensive.

219
00:11:01.720 --> 00:11:07.799
<v Speaker 4>Yeah, definitely. We're mostly using different aerial images and creating

220
00:11:09.679 --> 00:11:14.799
<v Speaker 4>like servers that can handle both three D tiles as

221
00:11:14.840 --> 00:11:18.600
<v Speaker 4>well as the aerial images and vector data that we

222
00:11:18.639 --> 00:11:24.080
<v Speaker 4>can then implement into different softwares. So we're mostly using

223
00:11:24.120 --> 00:11:26.759
<v Speaker 4>the different maps more than creating them.

224
00:11:27.000 --> 00:11:30.559
<v Speaker 2>Okay, So yeah, somebody else is involved in collecting the data.

225
00:11:30.639 --> 00:11:32.039
<v Speaker 2>Now you're trying to get value.

226
00:11:31.799 --> 00:11:32.720
<v Speaker 4>From it exactly.

227
00:11:33.039 --> 00:11:35.240
<v Speaker 2>Yeah, well, how long has that been a problem in

228
00:11:35.279 --> 00:11:37.360
<v Speaker 2>our industry? We collect lots of data, we just don't

229
00:11:37.399 --> 00:11:39.639
<v Speaker 2>do anything with it. So where how does machine learning

230
00:11:39.679 --> 00:11:40.360
<v Speaker 2>come into the equation.

231
00:11:41.279 --> 00:11:44.840
<v Speaker 4>So the first thing we started to test was how

232
00:11:44.879 --> 00:11:48.600
<v Speaker 4>we could improve the vector data based on what is

233
00:11:48.639 --> 00:11:53.200
<v Speaker 4>actual actually visible in the aerial images. So traditionally what

234
00:11:53.240 --> 00:11:55.240
<v Speaker 4>you do is that you look at the aerial images

235
00:11:55.360 --> 00:11:59.080
<v Speaker 4>manually and then you draw the maps from those images,

236
00:12:00.039 --> 00:12:04.519
<v Speaker 4>which is a manual process, very time consuming, and of

237
00:12:04.559 --> 00:12:07.759
<v Speaker 4>course it's prone to errors because it's easy to not

238
00:12:07.879 --> 00:12:08.639
<v Speaker 4>detect everything.

239
00:12:09.480 --> 00:12:12.639
<v Speaker 2>So using the human to do the pattern recognition to

240
00:12:12.679 --> 00:12:14.559
<v Speaker 2>say that's an image of this area, here's how it

241
00:12:14.639 --> 00:12:15.200
<v Speaker 2>lays together.

242
00:12:15.759 --> 00:12:18.759
<v Speaker 4>Yeah, this is a building. This is its walls, right,

243
00:12:18.799 --> 00:12:21.480
<v Speaker 4>this is the details of the buildings and so on,

244
00:12:21.559 --> 00:12:25.720
<v Speaker 4>and roads and everything. So we started testing if we

245
00:12:25.759 --> 00:12:29.240
<v Speaker 4>could use machine learning to detect the buildings for us

246
00:12:29.960 --> 00:12:32.000
<v Speaker 4>and also different types of objects.

247
00:12:32.240 --> 00:12:35.480
<v Speaker 1>That must be a lot of work job security for

248
00:12:35.519 --> 00:12:36.200
<v Speaker 1>a lot of people.

249
00:12:36.480 --> 00:12:39.879
<v Speaker 4>Yeah, definitely. So we started testing this back in I

250
00:12:39.919 --> 00:12:45.279
<v Speaker 4>think it was twenty sixteen, which is when image recognition

251
00:12:45.399 --> 00:12:49.120
<v Speaker 4>got really good and it worked pretty well, and then

252
00:12:49.159 --> 00:12:54.399
<v Speaker 4>we've continued developing these methods until not more or less.

253
00:12:54.519 --> 00:12:58.279
<v Speaker 1>Okay, when you were describing what you used, just these

254
00:12:58.320 --> 00:13:01.080
<v Speaker 1>image this image data and that you go and get it.

255
00:13:02.440 --> 00:13:05.600
<v Speaker 1>Don't these databases exist? We were talking about Google Maps,

256
00:13:05.600 --> 00:13:11.159
<v Speaker 1>and that certainly is a rich database of topical imagery.

257
00:13:11.799 --> 00:13:15.000
<v Speaker 1>Is it something that you can't use for copyright reasons

258
00:13:15.159 --> 00:13:18.639
<v Speaker 1>or you need to do your own imaging in order

259
00:13:18.679 --> 00:13:20.960
<v Speaker 1>to get the level of detail? Like why is it

260
00:13:21.000 --> 00:13:22.600
<v Speaker 1>that you can use something off the shelf?

261
00:13:22.679 --> 00:13:25.360
<v Speaker 4>Yeah, level of detail is definitely a big part of it,

262
00:13:26.480 --> 00:13:32.120
<v Speaker 4>and ownership and costs also. So in Norway, all the

263
00:13:32.240 --> 00:13:36.879
<v Speaker 4>municipalities have areal images of high resolution for their areas

264
00:13:37.039 --> 00:13:43.000
<v Speaker 4>that they update maybe every year for the big municipalities,

265
00:13:43.120 --> 00:13:45.919
<v Speaker 4>maybe every fourth year for the smaller ones. But it's

266
00:13:46.039 --> 00:13:48.960
<v Speaker 4>very higher resolution and the level of detail in the

267
00:13:49.039 --> 00:13:54.120
<v Speaker 4>Norwegian maps is incredibly high. They're very detailed and they're

268
00:13:54.159 --> 00:14:00.679
<v Speaker 4>on a Norwegian specific format, so all the detailed in

269
00:14:00.679 --> 00:14:03.919
<v Speaker 4>Norwegian maps are way higher than Google Maps.

270
00:14:04.120 --> 00:14:07.039
<v Speaker 1>Yes, so that's what you're using using the Norwegian data

271
00:14:07.759 --> 00:14:10.919
<v Speaker 1>maps that already exist, so you're not actually going out

272
00:14:10.960 --> 00:14:15.159
<v Speaker 1>and flying drones over buildings and taking pictures yourself or whatever.

273
00:14:16.000 --> 00:14:20.679
<v Speaker 4>Yeah, exactly. So originally back in nineteen sixty one and

274
00:14:20.759 --> 00:14:25.879
<v Speaker 4>so on, Woodcraft did produce aerial images, right, and then

275
00:14:25.960 --> 00:14:29.399
<v Speaker 4>they became a software company, I see.

276
00:14:28.960 --> 00:14:32.240
<v Speaker 2>Like everybody else. Yeah, but I guess you're I mean,

277
00:14:32.279 --> 00:14:35.120
<v Speaker 2>your goal is not to do navigation. I imagine you're

278
00:14:35.120 --> 00:14:36.759
<v Speaker 2>doing other things with the data.

279
00:14:36.919 --> 00:14:41.240
<v Speaker 4>Yeah, mostly other things. We also do some navigation, but

280
00:14:41.519 --> 00:14:42.440
<v Speaker 4>mostly other things.

281
00:14:42.480 --> 00:14:44.879
<v Speaker 2>Yes, So what kind of what do people want this

282
00:14:44.960 --> 00:14:45.279
<v Speaker 2>data for?

283
00:14:45.399 --> 00:14:45.480
<v Speaker 5>Like?

284
00:14:45.519 --> 00:14:46.480
<v Speaker 2>What are they asking for?

285
00:14:46.679 --> 00:14:46.840
<v Speaker 5>Oh?

286
00:14:46.960 --> 00:14:54.159
<v Speaker 4>So many things. It can be visually to see other

287
00:14:54.240 --> 00:14:58.919
<v Speaker 4>types of data together with their images. But when you're

288
00:14:58.960 --> 00:15:02.080
<v Speaker 4>talking about the vector data. In the vector maps, it's

289
00:15:02.120 --> 00:15:04.240
<v Speaker 4>for analysis.

290
00:15:03.639 --> 00:15:08.039
<v Speaker 5>Planning of infrastructure. You know, taxation in Norway at least

291
00:15:08.080 --> 00:15:11.000
<v Speaker 5>you get text based on what buildings you have in

292
00:15:11.039 --> 00:15:14.960
<v Speaker 5>your property, so it's really important to know, like or

293
00:15:15.000 --> 00:15:19.080
<v Speaker 5>if a fire starts, it's really important for the firefighters

294
00:15:19.080 --> 00:15:21.519
<v Speaker 5>to know what buildings exists where, you know, all that

295
00:15:21.600 --> 00:15:22.200
<v Speaker 5>kind of stuff.

296
00:15:22.279 --> 00:15:24.799
<v Speaker 2>So yeah, and it needs to be regularly updated. So

297
00:15:24.799 --> 00:15:27.360
<v Speaker 2>you've got the municipalities, the big ones at least scanning

298
00:15:27.399 --> 00:15:31.000
<v Speaker 2>every year. Like that also introduces in angle of how

299
00:15:31.080 --> 00:15:35.159
<v Speaker 2>is the land evolving year over year. Certainly thanks for

300
00:15:35.200 --> 00:15:38.519
<v Speaker 2>British Columbia, which I often equate similar to Norway in

301
00:15:38.519 --> 00:15:42.360
<v Speaker 2>some respective stuff. We're really big. It's a tree coverage

302
00:15:42.639 --> 00:15:48.240
<v Speaker 2>right between logging, forest fires, and regrowth. You have to

303
00:15:48.240 --> 00:15:50.759
<v Speaker 2>go and image those areas to really understand what's the

304
00:15:50.879 --> 00:15:51.960
<v Speaker 2>state of the land.

305
00:15:53.600 --> 00:15:58.679
<v Speaker 5>Yeah, yeah, yeah for sure. And we've seen others also

306
00:15:59.080 --> 00:16:01.440
<v Speaker 5>that has done exactly that in Norway as well, try

307
00:16:01.559 --> 00:16:03.200
<v Speaker 5>to map up what trees are where?

308
00:16:03.360 --> 00:16:04.960
<v Speaker 2>Yeah yeah.

309
00:16:05.200 --> 00:16:08.519
<v Speaker 1>Where does development come in? Are you doing mostly Python

310
00:16:09.360 --> 00:16:14.000
<v Speaker 1>programming against this data or are you using any cloud computing?

311
00:16:14.360 --> 00:16:15.080
<v Speaker 1>What are you using?

312
00:16:15.279 --> 00:16:19.799
<v Speaker 5>Yeah, we're mostly using Python like everybody else's machine learning,

313
00:16:20.120 --> 00:16:26.000
<v Speaker 5>at least for this project, and this is mostly trained

314
00:16:26.039 --> 00:16:32.519
<v Speaker 5>on our own data center. So we have two L

315
00:16:32.840 --> 00:16:41.200
<v Speaker 5>forty GPUs with sixty four gigabytes of space each and

316
00:16:41.279 --> 00:16:45.440
<v Speaker 5>these are quite actually big enough to you know, you

317
00:16:45.480 --> 00:16:50.559
<v Speaker 5>get some really good results trying to identifying objects from

318
00:16:50.600 --> 00:16:51.320
<v Speaker 5>their own images.

319
00:16:51.720 --> 00:16:54.360
<v Speaker 2>Oh wow, okay, but so not even using the cloud.

320
00:16:54.440 --> 00:16:58.000
<v Speaker 2>You're running your own You guys really are old school AI.

321
00:16:59.360 --> 00:17:01.039
<v Speaker 1>Yeah, yeah, we're running our own.

322
00:17:01.120 --> 00:17:05.119
<v Speaker 5>But we've also tried the cloud experimented a bit with that,

323
00:17:05.200 --> 00:17:09.319
<v Speaker 5>but we have we figured out that for this project.

324
00:17:09.759 --> 00:17:12.559
<v Speaker 5>We have other projects as well, of course, but for

325
00:17:12.640 --> 00:17:14.640
<v Speaker 5>this project we're using our own data center yet and.

326
00:17:14.640 --> 00:17:17.480
<v Speaker 2>So an L forty And I'll include a link for

327
00:17:17.519 --> 00:17:19.160
<v Speaker 2>the show notes. Folks want to take a look at

328
00:17:19.160 --> 00:17:22.960
<v Speaker 2>these things. I mean, it looks like a little computer essentially,

329
00:17:23.599 --> 00:17:25.319
<v Speaker 2>something that will go. Looks like it should be in

330
00:17:25.319 --> 00:17:29.119
<v Speaker 2>a data center. Like is it anything more than just

331
00:17:29.200 --> 00:17:33.519
<v Speaker 2>like an RTX forty ninety in a chassis.

332
00:17:34.039 --> 00:17:39.400
<v Speaker 5>I don't remember the exact specs of the forty. Does

333
00:17:39.440 --> 00:17:41.839
<v Speaker 5>it have sixty four gigabytes.

334
00:17:41.160 --> 00:17:43.319
<v Speaker 2>Of I don't think so.

335
00:17:44.759 --> 00:17:47.559
<v Speaker 5>I think that's the biggest part of it, at least

336
00:17:47.640 --> 00:17:49.319
<v Speaker 5>that we have that we have that.

337
00:17:49.440 --> 00:17:51.000
<v Speaker 2>It's just a sheer amount of memory.

338
00:17:51.319 --> 00:17:54.279
<v Speaker 5>Yeah, yeah, so you can have more images in memory

339
00:17:54.319 --> 00:17:55.279
<v Speaker 5>at the same time.

340
00:17:55.119 --> 00:17:57.279
<v Speaker 2>And that's yeah, that's got to be what it's all about. Really,

341
00:17:57.279 --> 00:17:59.400
<v Speaker 2>It's just like how much RAM do you have available

342
00:17:59.440 --> 00:18:01.839
<v Speaker 2>to you to be able to do that as those

343
00:18:01.920 --> 00:18:05.319
<v Speaker 2>image analysis Yeah, for sure, I'm just looking it up. Yeah,

344
00:18:05.440 --> 00:18:08.759
<v Speaker 2>twenty four gigs on a on A forty ninety and

345
00:18:08.960 --> 00:18:11.920
<v Speaker 2>forty eight on an on an L forty. But you know,

346
00:18:12.079 --> 00:18:15.359
<v Speaker 2>pipeline wise, like they're not that different, but they're still

347
00:18:15.400 --> 00:18:19.400
<v Speaker 2>different and yeah PCIe interface so and three hundred watts

348
00:18:19.400 --> 00:18:21.240
<v Speaker 2>so it'll keep a room warm.

349
00:18:22.160 --> 00:18:23.720
<v Speaker 5>Oh yeah, you need some cooling for that.

350
00:18:24.079 --> 00:18:26.839
<v Speaker 2>Oh yeah, no kidding, but absolutely So you use a

351
00:18:26.880 --> 00:18:27.720
<v Speaker 2>pair of these.

352
00:18:28.200 --> 00:18:29.200
<v Speaker 5>Yeah, we have two.

353
00:18:29.640 --> 00:18:31.160
<v Speaker 2>That's nice. We have two.

354
00:18:31.200 --> 00:18:33.960
<v Speaker 5>But there are sixty four gigabytes of BRIANMA, not forty eight.

355
00:18:34.799 --> 00:18:36.759
<v Speaker 2>Yeah, so maybe a newer model.

356
00:18:37.279 --> 00:18:38.720
<v Speaker 5>Maybe, I'm not sure.

357
00:18:38.799 --> 00:18:41.559
<v Speaker 2>Yeah, that's cool. I gotta I gotta find how much

358
00:18:41.599 --> 00:18:44.839
<v Speaker 2>these things cost. I need not that I need rack

359
00:18:44.880 --> 00:18:46.799
<v Speaker 2>here anymore. I'm doing everything I can not to buy

360
00:18:46.799 --> 00:18:50.279
<v Speaker 2>any more rack related equipment. Please please please stop, like,

361
00:18:50.359 --> 00:18:54.400
<v Speaker 2>don't do it? Yeah, five bucks of crack man thousand.

362
00:18:54.319 --> 00:18:54.920
<v Speaker 5>Five thousand.

363
00:18:55.319 --> 00:18:55.519
<v Speaker 3>Yeah.

364
00:18:56.079 --> 00:18:59.599
<v Speaker 5>Don't you remember how much we paid Matilda. I don't remember.

365
00:19:00.559 --> 00:19:03.359
<v Speaker 5>Oh I don't remember. No either.

366
00:19:03.480 --> 00:19:05.799
<v Speaker 2>It would have been a coroner anyway, so nobody would.

367
00:19:08.480 --> 00:19:10.519
<v Speaker 4>All I know is that it was cheaper than doing

368
00:19:10.559 --> 00:19:11.400
<v Speaker 4>it in the clouds.

369
00:19:11.559 --> 00:19:12.079
<v Speaker 2>Oh wow.

370
00:19:13.039 --> 00:19:13.240
<v Speaker 5>Yeah.

371
00:19:13.960 --> 00:19:16.519
<v Speaker 2>There's a lot of testing, right because the cloud is

372
00:19:16.559 --> 00:19:18.599
<v Speaker 2>only dinging you by the minute, So at some point

373
00:19:18.680 --> 00:19:20.359
<v Speaker 2>you have to do the projection and go, hey, if

374
00:19:20.359 --> 00:19:23.279
<v Speaker 2>we just buy this, we're good for a certain amount

375
00:19:23.279 --> 00:19:25.200
<v Speaker 2>of time. I mean. The upside of using the cloud

376
00:19:25.319 --> 00:19:28.680
<v Speaker 2>is they're going to upgrade their hardware for you. Now,

377
00:19:28.720 --> 00:19:31.079
<v Speaker 2>you guys are on the hook for you know, X

378
00:19:31.119 --> 00:19:33.839
<v Speaker 2>many years, probably four or five years of amortization over

379
00:19:33.880 --> 00:19:36.640
<v Speaker 2>this stuff to make it make make sense. But I

380
00:19:36.680 --> 00:19:40.359
<v Speaker 2>get it, totally makes sense. It's very it's reasonable.

381
00:19:40.440 --> 00:19:44.880
<v Speaker 1>I'm interested in what other uh, you know, applications that

382
00:19:44.920 --> 00:19:47.839
<v Speaker 1>we have, and one that came to mind is law enforcement.

383
00:19:48.559 --> 00:19:52.039
<v Speaker 1>Does law enforcement use your data in any way that

384
00:19:52.160 --> 00:19:52.960
<v Speaker 1>you can talk about?

385
00:19:55.400 --> 00:19:59.119
<v Speaker 4>Good question. I don't think so, but I'm not completely

386
00:19:59.119 --> 00:20:00.799
<v Speaker 4>sure because we have a lot lot of customers that

387
00:20:00.920 --> 00:20:04.519
<v Speaker 4>use our data that we don't necessarily know about.

388
00:20:04.920 --> 00:20:07.759
<v Speaker 2>Right, So, how do you train a model to figure

389
00:20:07.759 --> 00:20:09.440
<v Speaker 2>out that that's a building and that's a wall.

390
00:20:09.599 --> 00:20:12.640
<v Speaker 4>Yeah. So the really great thing about this is that

391
00:20:12.880 --> 00:20:16.200
<v Speaker 4>since we already have the vector maps, people have already

392
00:20:16.279 --> 00:20:21.920
<v Speaker 4>done the manual work looking at these images. Yeah, we

393
00:20:22.000 --> 00:20:24.119
<v Speaker 4>can just use the existing data that we have and

394
00:20:24.160 --> 00:20:28.400
<v Speaker 4>we can produce enormous amounts of training data automatically. So

395
00:20:28.440 --> 00:20:32.079
<v Speaker 4>that's the really great thing about these models. So what

396
00:20:32.160 --> 00:20:35.920
<v Speaker 4>we do is that we combine aerial images from a

397
00:20:35.960 --> 00:20:41.440
<v Speaker 4>small area around five twelve times five total pixels, and

398
00:20:41.480 --> 00:20:44.960
<v Speaker 4>we get the existing data for that same area and

399
00:20:45.000 --> 00:20:48.359
<v Speaker 4>we can combine those images to produce the input image

400
00:20:48.400 --> 00:20:52.680
<v Speaker 4>and the label image, and then we can basically produce

401
00:20:52.720 --> 00:20:55.000
<v Speaker 4>as much data as we want because we have data

402
00:20:55.039 --> 00:20:57.559
<v Speaker 4>for all of Norway, and we also have historical data,

403
00:20:57.680 --> 00:20:59.920
<v Speaker 4>so we can combine this and then train our data

404
00:21:01.000 --> 00:21:05.240
<v Speaker 4>or train our models with that automatically produced data.

405
00:21:05.319 --> 00:21:08.279
<v Speaker 2>Okay, and so I mean I think two things. Some

406
00:21:08.359 --> 00:21:09.720
<v Speaker 2>of that one is you're just saving time on a

407
00:21:09.720 --> 00:21:11.519
<v Speaker 2>new city day. Say yes, that's the same building from

408
00:21:11.559 --> 00:21:14.799
<v Speaker 2>last time. If it doesn't identify it, maybe that's because

409
00:21:14.839 --> 00:21:16.359
<v Speaker 2>the building is changed.

410
00:21:15.960 --> 00:21:17.400
<v Speaker 5>In some way exactly.

411
00:21:17.839 --> 00:21:19.680
<v Speaker 2>I wonder how sensitive it would be, Like if a

412
00:21:19.720 --> 00:21:22.599
<v Speaker 2>building puts solar panels on its roof, so now it

413
00:21:22.640 --> 00:21:25.519
<v Speaker 2>looks a little different. Is it still able to map

414
00:21:25.559 --> 00:21:27.160
<v Speaker 2>it or does it pull it up as I don't

415
00:21:27.160 --> 00:21:27.799
<v Speaker 2>know what this is.

416
00:21:28.119 --> 00:21:30.200
<v Speaker 4>Yeah, it depends on what is in the training data.

417
00:21:30.799 --> 00:21:33.799
<v Speaker 4>So if there were some new kind of solar panels

418
00:21:33.839 --> 00:21:36.559
<v Speaker 4>popping up in Norway, our model would most likely not

419
00:21:36.720 --> 00:21:40.000
<v Speaker 4>detect it. Right, If it's solar panels similar to once

420
00:21:40.039 --> 00:21:42.920
<v Speaker 4>we already have, we would most likely detect it.

421
00:21:43.200 --> 00:21:44.920
<v Speaker 2>So is your vector data map down to that level

422
00:21:44.920 --> 00:21:46.559
<v Speaker 2>says that's not only a building that's a building with

423
00:21:46.559 --> 00:21:47.559
<v Speaker 2>solar panels on the roof.

424
00:21:47.759 --> 00:21:50.319
<v Speaker 4>If the solar panels are in the training data, they

425
00:21:50.400 --> 00:21:52.559
<v Speaker 4>can train a model with that. Yeah, so we have

426
00:21:52.680 --> 00:21:55.200
<v Speaker 4>tested that as well, but then we need to specifically

427
00:21:55.279 --> 00:21:57.839
<v Speaker 4>have the training data with solar panels.

428
00:21:57.960 --> 00:21:58.160
<v Speaker 2>Right.

429
00:21:58.240 --> 00:22:01.680
<v Speaker 1>And when you're drawing these things by hand, you're doing

430
00:22:01.720 --> 00:22:04.440
<v Speaker 1>these sort of annotations. I guess you would say, really,

431
00:22:04.480 --> 00:22:08.160
<v Speaker 1>are you just like drawing lines and saying this is

432
00:22:08.200 --> 00:22:11.759
<v Speaker 1>how long this? You know, I don't know how wide

433
00:22:11.839 --> 00:22:15.799
<v Speaker 1>and how high wits and heights three dimensional data, I

434
00:22:15.799 --> 00:22:19.440
<v Speaker 1>guess you would say, or how detailed do those hand

435
00:22:19.559 --> 00:22:20.200
<v Speaker 1>drawings get.

436
00:22:20.359 --> 00:22:24.480
<v Speaker 4>Well, we're not actually doing the drawing since the this

437
00:22:24.480 --> 00:22:28.519
<v Speaker 4>this has already been done by people specialized in this

438
00:22:28.599 --> 00:22:30.319
<v Speaker 4>field in different companies.

439
00:22:30.559 --> 00:22:33.640
<v Speaker 1>Oh okay. I was under the impression when you first

440
00:22:33.640 --> 00:22:35.720
<v Speaker 1>spoke about it that you had a team of people

441
00:22:35.759 --> 00:22:38.799
<v Speaker 1>that were drawing on top of manually drawing on top

442
00:22:38.839 --> 00:22:39.519
<v Speaker 1>of images.

443
00:22:39.839 --> 00:22:42.599
<v Speaker 4>But yeah, I know different companies in Norway do this.

444
00:22:42.720 --> 00:22:45.559
<v Speaker 2>So you're just pure data and it's done now, so

445
00:22:45.599 --> 00:22:46.640
<v Speaker 2>you've trained the model.

446
00:22:46.799 --> 00:22:49.599
<v Speaker 5>Yeah, that's what we're trying to automate by this manual

447
00:22:49.680 --> 00:22:50.279
<v Speaker 5>drawing process.

448
00:22:50.480 --> 00:22:54.240
<v Speaker 2>Right, So each time new images come in you're able

449
00:22:54.279 --> 00:22:57.279
<v Speaker 2>to then use the machine learning model to establish that

450
00:22:57.400 --> 00:22:59.319
<v Speaker 2>this is the same image of the same area with

451
00:22:59.359 --> 00:23:00.000
<v Speaker 2>these same buildings.

452
00:23:00.480 --> 00:23:03.200
<v Speaker 1>Exactly how often does the data change.

453
00:23:03.000 --> 00:23:06.319
<v Speaker 4>It depends on the municipality when they how often they

454
00:23:07.119 --> 00:23:10.480
<v Speaker 4>buy new images, but it can be up to every year.

455
00:23:11.559 --> 00:23:14.519
<v Speaker 4>So when there are new images, we can run our

456
00:23:14.559 --> 00:23:17.960
<v Speaker 4>model detect all the buildings in the municipality and we

457
00:23:18.079 --> 00:23:23.039
<v Speaker 4>then compare those results to the existing buildings, which means

458
00:23:23.079 --> 00:23:26.000
<v Speaker 4>that we can figure out where there have been changes.

459
00:23:26.799 --> 00:23:30.799
<v Speaker 4>Have someone is there new buildings popping up, or has

460
00:23:30.799 --> 00:23:33.799
<v Speaker 4>any of the buildings changed. And that data set is

461
00:23:33.880 --> 00:23:37.119
<v Speaker 4>very interesting for the municipalities because then they can figure

462
00:23:37.160 --> 00:23:41.240
<v Speaker 4>out where their maps are not as similar to the

463
00:23:41.319 --> 00:23:43.000
<v Speaker 4>reality visible in the images.

464
00:23:43.079 --> 00:23:46.119
<v Speaker 2>What about things like seasonality, like how good is this

465
00:23:46.160 --> 00:23:47.960
<v Speaker 2>going to map a picture from the summer versus a

466
00:23:47.960 --> 00:23:48.720
<v Speaker 2>picture in the winter.

467
00:23:49.200 --> 00:23:54.960
<v Speaker 4>Yeah, good question. So the companies that take the aerial images,

468
00:23:55.039 --> 00:24:01.480
<v Speaker 4>they usually always take the images in the same same.

469
00:24:01.279 --> 00:24:03.880
<v Speaker 2>Time of year, right, So just avoid the problem by

470
00:24:03.960 --> 00:24:07.799
<v Speaker 2>we only photograph these this area in July should be

471
00:24:07.799 --> 00:24:11.240
<v Speaker 2>pretty consistent. And of course you need clear days because

472
00:24:11.440 --> 00:24:13.599
<v Speaker 2>taking pictures in the rain questionable value.

473
00:24:13.839 --> 00:24:15.640
<v Speaker 4>Yeah, so they have to work for good weather.

474
00:24:16.319 --> 00:24:18.880
<v Speaker 5>Yeah, and in Norway there's only a kind of good weather,

475
00:24:19.000 --> 00:24:21.559
<v Speaker 5>you know, in the spring and summer, so that's where

476
00:24:21.599 --> 00:24:22.759
<v Speaker 5>all these pictures are taken.

477
00:24:23.279 --> 00:24:25.960
<v Speaker 2>Been there, I've been there in June, I've been there

478
00:24:26.000 --> 00:24:32.960
<v Speaker 2>in November, and there's a difference. Okay, So I mean

479
00:24:32.960 --> 00:24:35.759
<v Speaker 2>we've definitely picked an area here of using the machine

480
00:24:35.839 --> 00:24:38.319
<v Speaker 2>learning models to do the image recognition, so you reduce

481
00:24:38.400 --> 00:24:43.119
<v Speaker 2>the cost of introducing new images to the system and

482
00:24:43.160 --> 00:24:45.519
<v Speaker 2>then help the help the customer in this case, you

483
00:24:45.559 --> 00:24:49.680
<v Speaker 2>typical municipalities identify new buildings. That's a great class of work.

484
00:24:50.160 --> 00:24:53.000
<v Speaker 2>Are there other classes of work here? Like I would

485
00:24:53.039 --> 00:24:57.200
<v Speaker 2>think things like, you know, are trees dying off or

486
00:24:57.240 --> 00:24:59.839
<v Speaker 2>you know, our cultural changes, those kinds of impacts might

487
00:24:59.839 --> 00:25:00.920
<v Speaker 2>be turned up this way too.

488
00:25:01.079 --> 00:25:02.119
<v Speaker 4>Yeah. Absolutely, Yeah.

489
00:25:02.119 --> 00:25:06.559
<v Speaker 5>But the main one you said was, you know, detecting buildings,

490
00:25:06.599 --> 00:25:10.160
<v Speaker 5>and actually, you know, one of the municipalities in Norway,

491
00:25:10.160 --> 00:25:15.039
<v Speaker 5>they actually detected a lot of new buildings so that

492
00:25:15.079 --> 00:25:21.359
<v Speaker 5>their property tax could be lowered for everyone in that municipality, right,

493
00:25:21.440 --> 00:25:23.960
<v Speaker 5>they could still get the same income.

494
00:25:23.680 --> 00:25:25.799
<v Speaker 2>Because they recognized there was more buildings out there that

495
00:25:25.799 --> 00:25:29.519
<v Speaker 2>they didn't know about that responsible for tax exactly.

496
00:25:29.559 --> 00:25:31.880
<v Speaker 4>So some had to pay more, but in general everyone

497
00:25:31.880 --> 00:25:32.640
<v Speaker 4>could pay less.

498
00:25:32.759 --> 00:25:37.480
<v Speaker 2>Right, Yeah, the costs were already being burdened, but not

499
00:25:37.519 --> 00:25:40.319
<v Speaker 2>everybody was paying their fair share effectively, right, Yeah, exactly,

500
00:25:40.440 --> 00:25:42.880
<v Speaker 2>Like from a municipal data perspective, this is really powerful

501
00:25:42.880 --> 00:25:45.240
<v Speaker 2>because otherwise you do this with surveyors, which you think

502
00:25:45.599 --> 00:25:48.359
<v Speaker 2>mapping out aerial imagery is costly. Send a group of

503
00:25:48.400 --> 00:25:51.319
<v Speaker 2>people out to go measure everything by hand like that

504
00:25:51.400 --> 00:25:52.599
<v Speaker 2>takes a lot of time.

505
00:25:52.559 --> 00:25:55.680
<v Speaker 5>Yeah, exactly. And also some of the some of the

506
00:25:55.720 --> 00:25:58.960
<v Speaker 5>buildings we can see that hasn't been updated in the

507
00:25:59.039 --> 00:26:02.200
<v Speaker 5>vector data in a lot long time, but the machine

508
00:26:02.240 --> 00:26:06.200
<v Speaker 5>learning model can actually detect those, So in some ways

509
00:26:06.240 --> 00:26:08.720
<v Speaker 5>they're also doing a better job the models.

510
00:26:09.079 --> 00:26:12.119
<v Speaker 2>Right. That's interesting to see because they've got a better

511
00:26:12.200 --> 00:26:15.599
<v Speaker 2>vantage point for all of this. So primarily a Python

512
00:26:15.640 --> 00:26:19.319
<v Speaker 2>problem is just munging the data and doing the mapping together.

513
00:26:19.559 --> 00:26:23.319
<v Speaker 5>Yeah, it's mostly or it's all Python this project. And

514
00:26:23.400 --> 00:26:28.720
<v Speaker 5>what we do is that we use our GPUs of course,

515
00:26:28.799 --> 00:26:33.119
<v Speaker 5>and then during training we will what can you call

516
00:26:33.200 --> 00:26:37.680
<v Speaker 5>it like live sample all of the images from databases

517
00:26:38.960 --> 00:26:42.960
<v Speaker 5>and thereby, you know, really take care of a lot

518
00:26:42.960 --> 00:26:46.119
<v Speaker 5>of pictures at the same time. However, when you do

519
00:26:46.160 --> 00:26:49.799
<v Speaker 5>this thing live. You also have to make sure that

520
00:26:49.880 --> 00:26:53.440
<v Speaker 5>you get the data that you want. For instance, in Norway,

521
00:26:53.519 --> 00:26:56.359
<v Speaker 5>you know it's Norway, it's what is it, ninety eight

522
00:26:56.400 --> 00:26:59.720
<v Speaker 5>point three percent of forest, So you should just pick

523
00:27:00.119 --> 00:27:04.559
<v Speaker 5>random tiles from Norway. You're just going to You're just

524
00:27:04.559 --> 00:27:07.200
<v Speaker 5>going to get trees and.

525
00:27:07.960 --> 00:27:08.880
<v Speaker 2>Trees exactly.

526
00:27:09.240 --> 00:27:12.200
<v Speaker 5>Yeah, So we have to be smart how to pick

527
00:27:12.240 --> 00:27:15.200
<v Speaker 5>out this data when we're doing it live and stuff. So, yeah,

528
00:27:15.319 --> 00:27:17.279
<v Speaker 5>so we have some rules that have to be set

529
00:27:17.440 --> 00:27:20.240
<v Speaker 5>for some of the images that has to contain buildings

530
00:27:20.240 --> 00:27:20.680
<v Speaker 5>and stuff.

531
00:27:20.839 --> 00:27:23.480
<v Speaker 4>Right, So this is the main thing that we've been

532
00:27:23.599 --> 00:27:27.759
<v Speaker 4>working on. What is the optimal way to to select

533
00:27:27.839 --> 00:27:30.319
<v Speaker 4>data to get the best models?

534
00:27:30.640 --> 00:27:33.240
<v Speaker 2>Right, really shaved down the part you don't have to

535
00:27:33.559 --> 00:27:35.559
<v Speaker 2>you're not getting maps of the whole country. You're just

536
00:27:35.559 --> 00:27:39.359
<v Speaker 2>getting maps of the interesting areas, the places where people are.

537
00:27:39.559 --> 00:27:43.519
<v Speaker 4>Yeah, and training data for the interesting parts. Right, because

538
00:27:43.559 --> 00:27:46.599
<v Speaker 4>if all the model cs our images, of course it's

539
00:27:46.680 --> 00:27:48.799
<v Speaker 4>just going to learn that nothing is building and it's

540
00:27:48.960 --> 00:27:51.880
<v Speaker 4>going to be correct most of the time, yes, but

541
00:27:52.039 --> 00:27:53.720
<v Speaker 4>it's not going to be useful.

542
00:27:54.680 --> 00:28:02.000
<v Speaker 2>How many buildings none point three per is correct right there? Yeah, Yeah,

543
00:28:02.000 --> 00:28:06.680
<v Speaker 2>it's pretty dark accurate actually, three point one four our

544
00:28:06.680 --> 00:28:07.640
<v Speaker 2>buildings in no.

545
00:28:07.720 --> 00:28:10.519
<v Speaker 5>Way three point one four.

546
00:28:12.240 --> 00:28:13.920
<v Speaker 2>All right, well we should break for a moment for

547
00:28:13.960 --> 00:28:15.200
<v Speaker 2>these very important messages.

548
00:28:17.440 --> 00:28:21.279
<v Speaker 1>You know, it's common for business application to contain fifteen

549
00:28:21.319 --> 00:28:25.400
<v Speaker 1>percent repetitive code just because of metaprogramming limitations in the

550
00:28:25.440 --> 00:28:29.440
<v Speaker 1>C Sharp language. Why write boilerplate manually when a machine

551
00:28:29.480 --> 00:28:33.240
<v Speaker 1>could generate it for you? Enter Metalama, the code generation

552
00:28:33.400 --> 00:28:36.880
<v Speaker 1>and verification toolkit for C Sharp. Their C Sharp to

553
00:28:36.960 --> 00:28:43.440
<v Speaker 1>c sharp template language is simply amazing logging caching memento observable.

554
00:28:43.759 --> 00:28:48.160
<v Speaker 1>If it's repetitive, Metalama can automate it. Visit metalama dot

555
00:28:48.240 --> 00:28:51.279
<v Speaker 1>net today and learn to automate your code patterns with

556
00:28:51.359 --> 00:28:55.640
<v Speaker 1>their free edition. Remember it's Metalama with one L E

557
00:28:55.720 --> 00:29:01.000
<v Speaker 1>T A L A m A dot net. Hey Carl

558
00:29:01.039 --> 00:29:04.519
<v Speaker 1>here if you're wondering how to step up your debugging game.

559
00:29:05.039 --> 00:29:10.519
<v Speaker 1>Raygun's crash reporting now supports portable PDB and offline error storage,

560
00:29:10.920 --> 00:29:13.799
<v Speaker 1>perfect for apps built with dot Net, MAUI or Windows

561
00:29:13.880 --> 00:29:18.359
<v Speaker 1>Universal Platform. Just upload your pdbs and ygun will enrich

562
00:29:18.400 --> 00:29:22.079
<v Speaker 1>your stack traces with crucial details. Never miss a beat

563
00:29:22.079 --> 00:29:25.559
<v Speaker 1>in your development cycle again. Let raygun take the hassle

564
00:29:25.599 --> 00:29:29.319
<v Speaker 1>out of error tracking. Visit raygun dot com slash dot

565
00:29:29.400 --> 00:29:32.160
<v Speaker 1>net rocks that's Reygun, r A y g u n

566
00:29:32.279 --> 00:29:35.559
<v Speaker 1>dot com, slash dot ne e t r o c

567
00:29:35.720 --> 00:29:38.400
<v Speaker 1>ks for your free fourteen day trial.

568
00:29:40.720 --> 00:29:42.720
<v Speaker 2>And we're back. It's dot net rocks. I'm Richard Campbell.

569
00:29:42.720 --> 00:29:45.839
<v Speaker 2>That's Carl Franklin. You we're talking to Mattil de Malte

570
00:29:46.000 --> 00:29:50.440
<v Speaker 2>about they challenge your geospatial data as well as how

571
00:29:50.480 --> 00:29:53.319
<v Speaker 2>machine learning is helping out there, because you know, most

572
00:29:53.359 --> 00:29:56.319
<v Speaker 2>of the time when I'm dealing with machine learning models,

573
00:29:57.200 --> 00:29:59.359
<v Speaker 2>we're trying to get as much diverse data as possible

574
00:29:59.400 --> 00:30:02.279
<v Speaker 2>for the training. Said, and you've just painted a really

575
00:30:02.319 --> 00:30:04.200
<v Speaker 2>great case of where you don't want to do that

576
00:30:04.319 --> 00:30:08.000
<v Speaker 2>because there's a lot of data that's irrelevant here, Like

577
00:30:08.039 --> 00:30:10.000
<v Speaker 2>you really have to cut it down to just the

578
00:30:10.119 --> 00:30:14.079
<v Speaker 2>populated areas, which is mostly coastal for Norway if I

579
00:30:14.160 --> 00:30:18.000
<v Speaker 2>remember my geography at Norway. But even that would necessarily

580
00:30:18.000 --> 00:30:21.319
<v Speaker 2>be a good criteria. You just have to You said

581
00:30:21.319 --> 00:30:23.640
<v Speaker 2>it just before the break there meddild Does it have

582
00:30:23.680 --> 00:30:26.759
<v Speaker 2>a building in it? Yeah, right, that's probably And I'm

583
00:30:26.759 --> 00:30:29.519
<v Speaker 2>sure there's like wilderness huts out there somewhere that's like

584
00:30:29.799 --> 00:30:31.240
<v Speaker 2>mostly forest, but there's a hut.

585
00:30:31.400 --> 00:30:35.400
<v Speaker 4>Yeah, we did tests in the beginning. Just have a

586
00:30:35.480 --> 00:30:38.039
<v Speaker 4>rule that said we only want training data if there

587
00:30:38.200 --> 00:30:42.000
<v Speaker 4>is at least five percent building within that tile, right,

588
00:30:42.039 --> 00:30:44.799
<v Speaker 4>which works really well if you want to focus on

589
00:30:44.880 --> 00:30:49.359
<v Speaker 4>detecting buildings. But what happened is that whenever the model

590
00:30:49.480 --> 00:30:53.599
<v Speaker 4>saw areas that wasn't connected to a building nature that

591
00:30:53.680 --> 00:30:59.119
<v Speaker 4>is not the typically surrounding buildings, it's falsely detected buildings.

592
00:31:00.039 --> 00:31:03.279
<v Speaker 4>White spots of snow right was detected as a building.

593
00:31:03.279 --> 00:31:06.039
<v Speaker 2>Oops, like the face on Mars. Right, there's sh rock

594
00:31:06.160 --> 00:31:10.880
<v Speaker 2>formations that could be building ish like, yeah, they could beloos, right,

595
00:31:13.400 --> 00:31:14.279
<v Speaker 2>that's any thing.

596
00:31:14.319 --> 00:31:18.640
<v Speaker 1>But okay, well you know it's called there's snow, there's ice.

597
00:31:19.000 --> 00:31:20.480
<v Speaker 2>Yeah, somebody could make an igloo.

598
00:31:20.599 --> 00:31:22.799
<v Speaker 1>I don't think it would have having a street address

599
00:31:22.880 --> 00:31:25.000
<v Speaker 1>though no mailbox.

600
00:31:26.440 --> 00:31:28.920
<v Speaker 2>I would also think that you've got lots of highways

601
00:31:28.960 --> 00:31:31.039
<v Speaker 2>and things where there's not a lot around it for

602
00:31:31.200 --> 00:31:33.720
<v Speaker 2>some stretch, like I've driven on those where it was

603
00:31:33.799 --> 00:31:36.039
<v Speaker 2>just forest on both sides. I don't know that you

604
00:31:36.160 --> 00:31:39.039
<v Speaker 2>need to map all the highways, but you know that

605
00:31:39.079 --> 00:31:40.799
<v Speaker 2>would be something I'd want to discriminate for it. You're

606
00:31:40.799 --> 00:31:42.319
<v Speaker 2>not going to get buildings from that or at.

607
00:31:42.279 --> 00:31:47.319
<v Speaker 1>Least land and water, you know, unused land or unoccupied

608
00:31:47.400 --> 00:31:49.400
<v Speaker 1>land and water bodies of water.

609
00:31:49.759 --> 00:31:53.960
<v Speaker 2>Yeah, interesting, interesting shed of problems. So then, but the

610
00:31:54.000 --> 00:31:55.799
<v Speaker 2>whole point here is to keep adding new data because

611
00:31:55.839 --> 00:31:57.440
<v Speaker 2>they do want to look at things over time. Do

612
00:31:57.440 --> 00:31:59.440
<v Speaker 2>you end up building like kind of time lapses to

613
00:31:59.480 --> 00:32:01.759
<v Speaker 2>be able to look at a particular location, say here

614
00:32:01.839 --> 00:32:04.119
<v Speaker 2>is several years and how it's evolving.

615
00:32:04.920 --> 00:32:07.920
<v Speaker 4>So what we've actually done is that we've created a

616
00:32:08.240 --> 00:32:12.039
<v Speaker 4>system that creates training data while we're training the model.

617
00:32:12.559 --> 00:32:15.200
<v Speaker 4>And what it does is that it just selects randomly

618
00:32:15.279 --> 00:32:18.759
<v Speaker 4>within a set of rules. So we have some rules

619
00:32:18.839 --> 00:32:23.960
<v Speaker 4>that is creating data for tiles with buildings. How a

620
00:32:24.000 --> 00:32:28.079
<v Speaker 4>tile five twelve times five twelve pixels?

621
00:32:28.319 --> 00:32:32.799
<v Speaker 2>Okay, but and space that scale wise could be anything.

622
00:32:32.839 --> 00:32:39.200
<v Speaker 4>Then yeah, it's so the images have a resolution of

623
00:32:39.200 --> 00:32:44.240
<v Speaker 4>ten centimeters between ten and thirty centimeters per pixel special resolution, and.

624
00:32:44.240 --> 00:32:46.440
<v Speaker 2>Then you're looking at five twelve by five twelve tile.

625
00:32:46.759 --> 00:32:50.680
<v Speaker 2>I mean, that's just a big old jigsaw puzzle. Holy man, Like,

626
00:32:50.960 --> 00:32:54.880
<v Speaker 2>do you have geospatial data associated with that shot? Right?

627
00:32:54.920 --> 00:32:56.599
<v Speaker 2>You know roughly where it was taken?

628
00:32:56.839 --> 00:32:59.279
<v Speaker 4>Yes, exactly, So we have the coordinate for the lower

629
00:32:59.359 --> 00:33:02.200
<v Speaker 4>left corner. You have the spatial resolution, which means that

630
00:33:02.240 --> 00:33:05.599
<v Speaker 4>we can calculate where in the real world we are.

631
00:33:05.720 --> 00:33:08.400
<v Speaker 4>So when we can detect the building within that image,

632
00:33:08.400 --> 00:33:10.240
<v Speaker 4>we can figure out where that building is.

633
00:33:11.119 --> 00:33:14.759
<v Speaker 2>Now, wouldn't that geospatial tagging be the best thing for

634
00:33:14.839 --> 00:33:17.920
<v Speaker 2>defining a set for a griven training set for a

635
00:33:17.960 --> 00:33:20.279
<v Speaker 2>given area because you already know roughly where it is.

636
00:33:20.680 --> 00:33:23.319
<v Speaker 5>Yes, it is exactly. And what we have done to

637
00:33:23.440 --> 00:33:27.839
<v Speaker 5>speed the process of picking the best data for us

638
00:33:28.319 --> 00:33:33.240
<v Speaker 5>is that we have within five meters of every building

639
00:33:33.359 --> 00:33:36.720
<v Speaker 5>in Norway, we have made these boundary boxes. Then we

640
00:33:36.839 --> 00:33:41.039
<v Speaker 5>made an sqo light database that we have mapped all

641
00:33:41.079 --> 00:33:45.680
<v Speaker 5>of these data points into, so that we know exactly

642
00:33:45.720 --> 00:33:47.599
<v Speaker 5>where all the buildings in Norway are and we can

643
00:33:47.680 --> 00:33:51.000
<v Speaker 5>just pick from those areas. Yeah, so it goes really fast.

644
00:33:51.079 --> 00:33:51.759
<v Speaker 1>Well that's great.

645
00:33:51.920 --> 00:33:54.880
<v Speaker 2>So you've derived a data set essentially based on this

646
00:33:54.960 --> 00:33:57.400
<v Speaker 2>image that says, Okay, these are the buildings we know about.

647
00:33:57.839 --> 00:34:02.759
<v Speaker 1>Yeah, and then yes, about map reduce, that's exactly what

648
00:34:02.799 --> 00:34:03.240
<v Speaker 1>that is.

649
00:34:05.799 --> 00:34:06.240
<v Speaker 5>Exactly.

650
00:34:07.960 --> 00:34:11.559
<v Speaker 2>Yeah, it's crazy set of boundary boxes. Now, I think

651
00:34:11.559 --> 00:34:15.519
<v Speaker 2>the challenge with using the geospatial filter is if they've

652
00:34:15.519 --> 00:34:19.400
<v Speaker 2>built out of the known range, you're going to miss it,

653
00:34:19.519 --> 00:34:21.800
<v Speaker 2>like you kind of want to take a perimeter around

654
00:34:21.840 --> 00:34:24.559
<v Speaker 2>that or look larger to say, where's a new set

655
00:34:24.559 --> 00:34:26.800
<v Speaker 2>of buildings that we've just never mapped before. That's got

656
00:34:26.800 --> 00:34:28.159
<v Speaker 2>to be kind of the hardest problem.

657
00:34:28.480 --> 00:34:31.480
<v Speaker 4>Yeah, So when we're looking for new buildings and actually

658
00:34:31.519 --> 00:34:36.159
<v Speaker 4>analyzing their images, we analyze every image. Okay, so the

659
00:34:36.199 --> 00:34:39.400
<v Speaker 4>selection within the building areas is only for creating the

660
00:34:39.440 --> 00:34:40.800
<v Speaker 4>training data.

661
00:34:40.320 --> 00:34:42.760
<v Speaker 2>Hmm yeah, Oh I see. Now do you actually get

662
00:34:42.840 --> 00:34:44.920
<v Speaker 2>images of all of Norway? I got to think the

663
00:34:45.039 --> 00:34:47.280
<v Speaker 2>municipalities only map the area they're responsible for.

664
00:34:47.599 --> 00:34:49.519
<v Speaker 4>No, we have images for all of Norway because the

665
00:34:49.599 --> 00:34:53.199
<v Speaker 4>municipalities are responsible for their areas. But then there's also

666
00:34:53.360 --> 00:34:59.320
<v Speaker 4>the Norwegian MAPP being authority. They also have images for

667
00:34:59.360 --> 00:35:02.599
<v Speaker 4>all of Norway with the lower resolution but still very

668
00:35:02.639 --> 00:35:03.199
<v Speaker 4>good quality.

669
00:35:03.360 --> 00:35:08.360
<v Speaker 2>Right, So I presume you have provinces or states something

670
00:35:08.440 --> 00:35:11.599
<v Speaker 2>like that, sub regions within the country that have an

671
00:35:11.639 --> 00:35:13.280
<v Speaker 2>authority that's responsible for that.

672
00:35:13.559 --> 00:35:17.440
<v Speaker 5>Yes, we have what's called which will be a state.

673
00:35:17.480 --> 00:35:24.360
<v Speaker 2>I guess't you call me, but I guess this is

674
00:35:24.400 --> 00:35:25.920
<v Speaker 2>part of the problem. Is I mean, this palady is

675
00:35:25.920 --> 00:35:28.639
<v Speaker 2>going to give you very high resolution data relatively speaking,

676
00:35:28.800 --> 00:35:31.639
<v Speaker 2>where the state level data will be lower resolution because

677
00:35:31.639 --> 00:35:34.400
<v Speaker 2>it's mostly trees, so it doesn't need to be that

678
00:35:34.440 --> 00:35:39.079
<v Speaker 2>precise exactly. Although we had a situation British Columbia with

679
00:35:39.079 --> 00:35:42.199
<v Speaker 2>with the with the Pine beal where they were doing

680
00:35:42.239 --> 00:35:44.559
<v Speaker 2>mapping showing that pine trees were being killed in the

681
00:35:44.599 --> 00:35:48.320
<v Speaker 2>forest like in the wilderness. The other trees weren't affected,

682
00:35:48.400 --> 00:35:51.320
<v Speaker 2>but they wanted because it increased the far fire risks.

683
00:35:51.400 --> 00:35:53.559
<v Speaker 2>They're looking for where they're concentrations of pine trees that

684
00:35:53.559 --> 00:35:56.920
<v Speaker 2>were dying because they burn really really well and create

685
00:35:56.960 --> 00:35:59.320
<v Speaker 2>worse fires. And so they were doing all of this

686
00:35:59.400 --> 00:36:01.760
<v Speaker 2>mapping and occasionally you got to see some of it

687
00:36:01.800 --> 00:36:04.079
<v Speaker 2>where it's just like this whole slope is just pine

688
00:36:04.079 --> 00:36:06.719
<v Speaker 2>trees and they're all red now, where all the other

689
00:36:06.800 --> 00:36:09.039
<v Speaker 2>kinds of trees around it are still green. Like very

690
00:36:09.039 --> 00:36:13.159
<v Speaker 2>interesting visualization data. Like we I'm such a geek on

691
00:36:13.159 --> 00:36:16.480
<v Speaker 2>this stuff, Like let's get into multi spectral data where

692
00:36:16.480 --> 00:36:19.280
<v Speaker 2>we could actually look at the stress levels of plants

693
00:36:19.480 --> 00:36:22.320
<v Speaker 2>and you know, those different effects or even CO two

694
00:36:22.360 --> 00:36:24.960
<v Speaker 2>emission and IR maps of all of this data to

695
00:36:24.960 --> 00:36:29.679
<v Speaker 2>so what are the buildings that are environmentally inefficient or

696
00:36:29.760 --> 00:36:32.400
<v Speaker 2>that have high emissions, Like there's a ton you can

697
00:36:32.440 --> 00:36:34.480
<v Speaker 2>do with this data if you're scanning enough frequency.

698
00:36:34.639 --> 00:36:38.480
<v Speaker 4>Yeah, definitely. So we've also tested using the infrared images

699
00:36:38.559 --> 00:36:41.360
<v Speaker 4>because we also have infted images for a lot of

700
00:36:41.400 --> 00:36:44.480
<v Speaker 4>areas in Norway, and the interted images will give us

701
00:36:44.519 --> 00:36:48.320
<v Speaker 4>different information than the regular RGB images. And we've also

702
00:36:48.440 --> 00:36:51.559
<v Speaker 4>included high data. So this is one of the exciting

703
00:36:51.559 --> 00:36:53.639
<v Speaker 4>things here. We have all of these different data and

704
00:36:53.679 --> 00:36:56.920
<v Speaker 4>we can combine it into our models in different ways

705
00:36:57.000 --> 00:36:59.920
<v Speaker 4>to detect different types of objects, and different data will

706
00:36:59.920 --> 00:37:01.599
<v Speaker 4>be good for different types of objects.

707
00:37:01.719 --> 00:37:02.719
<v Speaker 2>How do you get the height data?

708
00:37:02.800 --> 00:37:07.360
<v Speaker 4>It's also collected for Norway by the I think it's

709
00:37:07.400 --> 00:37:09.079
<v Speaker 4>also the mapping authory, the.

710
00:37:09.039 --> 00:37:12.760
<v Speaker 2>Vector stuff, so they must have something that they're pinging

711
00:37:12.800 --> 00:37:14.639
<v Speaker 2>the how far they offer on the ground at any

712
00:37:14.639 --> 00:37:16.880
<v Speaker 2>given point, Like, are they actually giving you the heights

713
00:37:16.920 --> 00:37:19.679
<v Speaker 2>of different buildings? That to me would be astonishing.

714
00:37:20.079 --> 00:37:24.079
<v Speaker 4>Yeah, it's height for different Yeah, the point clouds.

715
00:37:24.360 --> 00:37:28.840
<v Speaker 5>Okay, it's very very accurate. Yeah, very cool to look at.

716
00:37:29.360 --> 00:37:32.119
<v Speaker 2>Is the height data specific to a tile or is

717
00:37:32.159 --> 00:37:34.119
<v Speaker 2>it or is there different height data within the tile?

718
00:37:34.360 --> 00:37:37.360
<v Speaker 4>Different within the tile. It's also very higher resolution.

719
00:37:37.159 --> 00:37:40.480
<v Speaker 1>So per building, basically we'll be higher than that higher.

720
00:37:40.599 --> 00:37:42.760
<v Speaker 4>Yeah, it's many points for one building.

721
00:37:42.880 --> 00:37:45.480
<v Speaker 2>Yeah. Yeah, sure, if you have a if you have

722
00:37:45.519 --> 00:37:49.079
<v Speaker 2>a height data per ten centimeter pixel, you know you're

723
00:37:49.079 --> 00:37:51.320
<v Speaker 2>going to be able to map out a rooftop. You

724
00:37:51.719 --> 00:37:57.400
<v Speaker 2>be able to extinguish individual like an air conditioner sitting

725
00:37:57.440 --> 00:37:59.039
<v Speaker 2>on a roof would have a different height from the

726
00:37:59.079 --> 00:37:59.639
<v Speaker 2>rest of the room.

727
00:38:00.199 --> 00:38:01.880
<v Speaker 1>Yeah, or chimney or something else.

728
00:38:02.239 --> 00:38:04.360
<v Speaker 4>Yeah, yeah, definitely if you look at the height data,

729
00:38:04.400 --> 00:38:08.199
<v Speaker 4>you can definitely see what kind of areas you're looking at. Crazy,

730
00:38:08.360 --> 00:38:11.280
<v Speaker 4>it's very accurate. Yeah, and it helps us to differentiate,

731
00:38:11.440 --> 00:38:15.199
<v Speaker 4>for example, terrace from an actual building, right.

732
00:38:15.840 --> 00:38:18.400
<v Speaker 2>I was just thinking it's easier to buildings have a

733
00:38:18.440 --> 00:38:23.280
<v Speaker 2>different height profile than normal terrain does, so it might

734
00:38:23.320 --> 00:38:25.639
<v Speaker 2>be a good way to say that's probably a building

735
00:38:25.639 --> 00:38:28.239
<v Speaker 2>because it's too uniform or it has a you know,

736
00:38:28.360 --> 00:38:31.920
<v Speaker 2>consistent slope like things that only humans would do. So

737
00:38:31.960 --> 00:38:34.800
<v Speaker 2>it's actually not a bad building detector. Even if the image,

738
00:38:35.000 --> 00:38:37.159
<v Speaker 2>the visual image doesn't nestually show it up. The height

739
00:38:37.199 --> 00:38:39.480
<v Speaker 2>data could really trigger you on saying that looks like

740
00:38:39.519 --> 00:38:40.079
<v Speaker 2>a structure.

741
00:38:40.239 --> 00:38:42.760
<v Speaker 1>Yeah, So are there other things besides like patches of

742
00:38:42.800 --> 00:38:46.360
<v Speaker 1>snow that have confounded the algorithm or whatever?

743
00:38:46.679 --> 00:38:52.159
<v Speaker 5>The detection we also found that we also found Atlantis. Oh,

744
00:38:52.360 --> 00:38:55.039
<v Speaker 5>or there's it says that there's buildings out in the water.

745
00:38:55.360 --> 00:39:02.360
<v Speaker 1>Yeah, you found Atlantis, yes, yeah, because it's in the

746
00:39:02.400 --> 00:39:03.039
<v Speaker 1>training data.

747
00:39:03.199 --> 00:39:06.679
<v Speaker 5>In the beginning, there wasn't really enough data with water,

748
00:39:07.199 --> 00:39:10.079
<v Speaker 5>so it thought that patches in the water was also buildings.

749
00:39:10.239 --> 00:39:13.639
<v Speaker 5>So that's where a lentiss that's in Norway if everyone

750
00:39:13.719 --> 00:39:15.599
<v Speaker 5>was wondering, Yeah, that's.

751
00:39:15.440 --> 00:39:18.760
<v Speaker 2>Why we haven't been able to find it. Talking about

752
00:39:18.760 --> 00:39:20.960
<v Speaker 2>the Mediterranean, he had no idea it was a north

753
00:39:21.000 --> 00:39:21.920
<v Speaker 2>Sea the whole time.

754
00:39:23.039 --> 00:39:24.119
<v Speaker 5>Wow, exactly.

755
00:39:25.079 --> 00:39:26.639
<v Speaker 2>Yeah, yeah, the height data is not going to help

756
00:39:26.639 --> 00:39:29.360
<v Speaker 2>you there. The ocean is a pretty consistent hype. But yeah,

757
00:39:29.400 --> 00:39:31.480
<v Speaker 2>but yeah, you could easily have shapes in the water

758
00:39:31.559 --> 00:39:33.079
<v Speaker 2>that could be mistaken for buildings.

759
00:39:33.800 --> 00:39:35.039
<v Speaker 5>Yeah.

760
00:39:34.360 --> 00:39:38.079
<v Speaker 2>Yeah, I mean we're almost anthropomorphizing the software's ability to

761
00:39:38.079 --> 00:39:40.719
<v Speaker 2>recognize images, right, like it's making the states of work

762
00:39:40.880 --> 00:39:45.119
<v Speaker 2>is just not a good enough training set. Although yeah,

763
00:39:45.119 --> 00:39:47.320
<v Speaker 2>I don't know how you even filter for that. You

764
00:39:47.519 --> 00:39:49.840
<v Speaker 2>do you give it a set of things in the

765
00:39:49.880 --> 00:39:52.519
<v Speaker 2>water that are not buildings to help it? Do you

766
00:39:52.519 --> 00:39:55.199
<v Speaker 2>can not to avoid that? Yeah?

767
00:39:55.239 --> 00:39:55.679
<v Speaker 5>Exactly?

768
00:39:55.760 --> 00:39:57.519
<v Speaker 2>Can you do that negative option? Or you only train

769
00:39:57.599 --> 00:39:59.760
<v Speaker 2>it towards what it should find as a building.

770
00:40:00.039 --> 00:40:02.840
<v Speaker 5>Oh, we have to we have to also include because

771
00:40:02.880 --> 00:40:05.000
<v Speaker 5>when we started out, we only did buildings, and in

772
00:40:05.559 --> 00:40:08.559
<v Speaker 5>the area with high concentration of buildings, it worked really well,

773
00:40:09.039 --> 00:40:12.079
<v Speaker 5>but then when we did it in a more rural area,

774
00:40:12.719 --> 00:40:14.639
<v Speaker 5>it didn't work so well. So then we also now

775
00:40:14.679 --> 00:40:17.360
<v Speaker 5>have to include some water and forests and snow and

776
00:40:17.360 --> 00:40:18.239
<v Speaker 5>all that kind of stuff.

777
00:40:18.679 --> 00:40:21.519
<v Speaker 2>And so your training to actually say that is objects

778
00:40:21.559 --> 00:40:24.079
<v Speaker 2>in the water, so not buildings.

779
00:40:23.800 --> 00:40:24.920
<v Speaker 5>Yes, exactly.

780
00:40:25.000 --> 00:40:27.480
<v Speaker 4>Yeah, we're saying, yeah, it's it's only binary. So we

781
00:40:27.519 --> 00:40:30.000
<v Speaker 4>say building or not building, and we make sure that

782
00:40:30.159 --> 00:40:32.800
<v Speaker 4>there are images of water in the data set that

783
00:40:32.920 --> 00:40:34.320
<v Speaker 4>is labeled as not building.

784
00:40:34.400 --> 00:40:36.199
<v Speaker 2>It's not building. Okay, yeah.

785
00:40:36.239 --> 00:40:38.159
<v Speaker 4>But one thing that we've done to make sure like

786
00:40:38.559 --> 00:40:40.800
<v Speaker 4>you can kind of imagine that you need some water,

787
00:40:40.920 --> 00:40:43.519
<v Speaker 4>you need some forests, you need some mountain, you need

788
00:40:43.559 --> 00:40:46.119
<v Speaker 4>some building, and this will be a representation of reality.

789
00:40:46.199 --> 00:40:49.079
<v Speaker 4>But it's really difficult to know how much of the

790
00:40:49.119 --> 00:40:52.519
<v Speaker 4>different types of data that the model leads. So what

791
00:40:52.559 --> 00:40:56.480
<v Speaker 4>we've done is that we start out with with a

792
00:40:56.480 --> 00:40:59.599
<v Speaker 4>set of rules for how much the data the model

793
00:40:59.599 --> 00:41:02.800
<v Speaker 4>should have for each category, but then we also let

794
00:41:02.840 --> 00:41:06.760
<v Speaker 4>the model find the data itself. So while we're training

795
00:41:06.760 --> 00:41:09.920
<v Speaker 4>the model, we're testing different images to see how well

796
00:41:09.960 --> 00:41:13.320
<v Speaker 4>the model is performing, and if the model performs badly,

797
00:41:13.679 --> 00:41:16.280
<v Speaker 4>we add that data to the training data set.

798
00:41:16.800 --> 00:41:19.599
<v Speaker 2>Right, Okay, something I understand where you have L forty's

799
00:41:19.599 --> 00:41:22.000
<v Speaker 2>because you're going to retrain a lot. You have several

800
00:41:22.119 --> 00:41:25.360
<v Speaker 2>different sets of building not building, and you're going to

801
00:41:25.400 --> 00:41:28.119
<v Speaker 2>put different weights on them and retrain and retrain and

802
00:41:28.159 --> 00:41:30.000
<v Speaker 2>see I mean I got imagine then you get Then

803
00:41:30.039 --> 00:41:32.719
<v Speaker 2>you run it through a functions a functional data set

804
00:41:32.760 --> 00:41:34.920
<v Speaker 2>and see how much is wrong and are there collections

805
00:41:34.920 --> 00:41:38.199
<v Speaker 2>that are wrong? But you could then tell you we

806
00:41:38.199 --> 00:41:43.360
<v Speaker 2>should be harder on identifying water structures as not building. Yeah,

807
00:41:43.400 --> 00:41:45.440
<v Speaker 2>at some point it's going to start ignoring real buildings.

808
00:41:45.559 --> 00:41:49.320
<v Speaker 1>Yeah, that's a nice feedback loop exactly.

809
00:41:49.400 --> 00:41:52.679
<v Speaker 4>And that actually happened with the snow example because one

810
00:41:52.719 --> 00:41:56.199
<v Speaker 4>of the reasons that snow can look similar to a

811
00:41:56.199 --> 00:41:59.119
<v Speaker 4>building is that we have greenhouses, and greenhouses can have

812
00:41:59.159 --> 00:42:02.840
<v Speaker 4>a lot of reflection, which means that it looks white right,

813
00:42:03.000 --> 00:42:06.679
<v Speaker 4>similar to snow. So when we added more pictures of snow,

814
00:42:06.760 --> 00:42:12.400
<v Speaker 4>we suddenly had greenhouses that were not correct. This is

815
00:42:12.440 --> 00:42:14.199
<v Speaker 4>always a difficult part great problem.

816
00:42:14.239 --> 00:42:18.639
<v Speaker 1>What is the sauna to domicile ratio.

817
00:42:20.440 --> 00:42:22.239
<v Speaker 5>We wish we had a number for that one. We

818
00:42:22.280 --> 00:42:22.800
<v Speaker 5>wish we had a.

819
00:42:22.840 --> 00:42:25.639
<v Speaker 2>Number for that. One of the reasons I brought up

820
00:42:25.639 --> 00:42:27.960
<v Speaker 2>the solar panel thing is I did the the Future

821
00:42:28.000 --> 00:42:31.159
<v Speaker 2>of Energy talk in Norway and I could not find

822
00:42:31.199 --> 00:42:35.079
<v Speaker 2>good data on residential solar because there's enough of it

823
00:42:35.119 --> 00:42:39.800
<v Speaker 2>that it's just not well mapped right and mostly well

824
00:42:39.840 --> 00:42:42.639
<v Speaker 2>And you know, it's interesting that Norway didn't have commercial

825
00:42:42.679 --> 00:42:45.920
<v Speaker 2>solar being land used for solar panels, because anywhere you

826
00:42:45.960 --> 00:42:47.800
<v Speaker 2>have flat land you have better uses for it than

827
00:42:47.840 --> 00:42:51.239
<v Speaker 2>solar panels. But tops of buildings are covered in solar

828
00:42:51.239 --> 00:42:54.760
<v Speaker 2>panels because it's good use for that. But again there's

829
00:42:54.800 --> 00:42:57.239
<v Speaker 2>not The government did not have good data on just

830
00:42:57.280 --> 00:43:01.519
<v Speaker 2>how much you know, pseudo commercial rooftop solar there was,

831
00:43:01.639 --> 00:43:03.800
<v Speaker 2>so you know, I'd like you to answer that question

832
00:43:03.840 --> 00:43:05.679
<v Speaker 2>for me. Not that I need to answer ext it anymore,

833
00:43:05.719 --> 00:43:08.480
<v Speaker 2>but it was one of those things it's like, it's

834
00:43:08.480 --> 00:43:10.519
<v Speaker 2>a great question to ask, and in theory, you know,

835
00:43:10.599 --> 00:43:12.679
<v Speaker 2>you could build a training set around can we detect

836
00:43:12.719 --> 00:43:16.880
<v Speaker 2>solar panels from this data? And then you know, somebody's

837
00:43:16.880 --> 00:43:18.880
<v Speaker 2>willing to pay for the compute time to figure that

838
00:43:18.920 --> 00:43:20.719
<v Speaker 2>out and maybe get a map of the of the

839
00:43:20.760 --> 00:43:22.039
<v Speaker 2>reality of what's out there.

840
00:43:22.599 --> 00:43:25.159
<v Speaker 4>Yeah, and one of our colleagues is actually working on

841
00:43:25.199 --> 00:43:29.159
<v Speaker 4>a system that can figure out which areas are good

842
00:43:29.239 --> 00:43:32.159
<v Speaker 4>for having solar panels in Norway based on all our

843
00:43:32.239 --> 00:43:35.400
<v Speaker 4>geographical data. Yeah, so if we combine that with where

844
00:43:35.440 --> 00:43:37.840
<v Speaker 4>there are existing solar panels, you can find really good

845
00:43:38.159 --> 00:43:38.800
<v Speaker 4>good areas.

846
00:43:39.320 --> 00:43:43.039
<v Speaker 2>Yeah, lots of possibilities there for you know, utilize attity.

847
00:43:43.079 --> 00:43:44.519
<v Speaker 2>You know, it makes sense for you to go to

848
00:43:44.599 --> 00:43:46.920
<v Speaker 2>a building that's there that you know about, it doesn't

849
00:43:46.920 --> 00:43:48.719
<v Speaker 2>have solars on the roof and go. You would get

850
00:43:48.719 --> 00:43:50.920
<v Speaker 2>good results from putting solar panels up here. We've got

851
00:43:50.960 --> 00:43:52.119
<v Speaker 2>a data set that shows that.

852
00:43:52.320 --> 00:43:52.480
<v Speaker 5>Yeah.

853
00:43:52.559 --> 00:43:54.719
<v Speaker 2>Yeah, it's not always an obvious thing, but it speaks

854
00:43:54.760 --> 00:43:57.000
<v Speaker 2>to the power of the data just making it easier

855
00:43:57.039 --> 00:44:00.360
<v Speaker 2>to manage because there's it's a lot of information. Yeah,

856
00:44:00.480 --> 00:44:02.400
<v Speaker 2>I'd like to decomposition model. You can take all these

857
00:44:02.440 --> 00:44:06.039
<v Speaker 2>different sources of data and break it into tiles and

858
00:44:06.079 --> 00:44:08.079
<v Speaker 2>then map it into a common system.

859
00:44:08.199 --> 00:44:12.760
<v Speaker 1>Do you foresee having to upgrade your in house systems dramatically?

860
00:44:13.239 --> 00:44:15.360
<v Speaker 1>Are you growing that much? And do you have a

861
00:44:15.400 --> 00:44:18.199
<v Speaker 1>plan to grow as your requirements grown?

862
00:44:18.440 --> 00:44:23.639
<v Speaker 5>I mean we're definitely growing, but I'd say that this

863
00:44:23.679 --> 00:44:26.840
<v Speaker 5>is maybe like one project that we're working on, you know,

864
00:44:26.960 --> 00:44:30.599
<v Speaker 5>it's continuously training, continuously getting better. We're also in the

865
00:44:30.599 --> 00:44:35.440
<v Speaker 5>meantime doing a lot of other projects. So yeah, it's

866
00:44:35.480 --> 00:44:38.400
<v Speaker 5>mostly those that are that are in line up growing.

867
00:44:38.440 --> 00:44:42.360
<v Speaker 5>So we won't buy any more GPUs okay anytime soon?

868
00:44:42.480 --> 00:44:42.840
<v Speaker 5>I think.

869
00:44:43.719 --> 00:44:45.320
<v Speaker 2>I guess the question is like how long are you

870
00:44:45.360 --> 00:44:47.880
<v Speaker 2>waiting to finish a training set these days? Like when

871
00:44:47.960 --> 00:44:50.119
<v Speaker 2>is it long enough that buying another one would make sense?

872
00:44:50.599 --> 00:44:52.000
<v Speaker 5>How long is the training now?

873
00:44:52.119 --> 00:44:54.880
<v Speaker 2>Is it's yeah? How long is a training run taken

874
00:44:55.000 --> 00:44:55.440
<v Speaker 2>right now?

875
00:44:55.559 --> 00:44:55.800
<v Speaker 5>Yeah?

876
00:44:55.840 --> 00:44:58.360
<v Speaker 2>It takes on that parallel L forties.

877
00:44:58.719 --> 00:45:03.119
<v Speaker 4>Yeah, when training a new new data from scratch, it

878
00:45:03.239 --> 00:45:06.239
<v Speaker 4>would take between two and three weeks for it to

879
00:45:06.320 --> 00:45:06.800
<v Speaker 4>be good.

880
00:45:07.199 --> 00:45:11.239
<v Speaker 2>Wow, yeah that's a long time. Yeah right, Like so

881
00:45:11.320 --> 00:45:14.320
<v Speaker 2>if you had four L forties, would it be a week?

882
00:45:15.119 --> 00:45:16.320
<v Speaker 5>Yeah? In theory?

883
00:45:16.599 --> 00:45:18.400
<v Speaker 1>Or is it just the fact that you can wait?

884
00:45:19.039 --> 00:45:20.920
<v Speaker 1>Is it just the fact that you can wait for

885
00:45:20.960 --> 00:45:24.880
<v Speaker 1>it and nobody's knocking on the door saying hey, you know, yeah, yeah.

886
00:45:24.679 --> 00:45:27.079
<v Speaker 4>We can It's it's okay for us to wait three

887
00:45:27.159 --> 00:45:30.320
<v Speaker 4>four weeks for this because we have a model that

888
00:45:30.400 --> 00:45:33.559
<v Speaker 4>is good, and then we're testing different things and we're

889
00:45:33.599 --> 00:45:36.440
<v Speaker 4>not sitting waiting and doing nothing. We have different projects

890
00:45:37.000 --> 00:45:38.119
<v Speaker 4>running in the background.

891
00:45:38.400 --> 00:45:40.559
<v Speaker 2>But it sounds like those two L forties are probably

892
00:45:40.639 --> 00:45:43.960
<v Speaker 2>running at their limit most of the time. Yeah, like

893
00:45:44.000 --> 00:45:45.480
<v Speaker 2>they're they're saturated. Y.

894
00:45:45.719 --> 00:45:49.800
<v Speaker 1>Yeah, So are your other projects also dealing with geospatial

895
00:45:49.880 --> 00:45:53.239
<v Speaker 1>data in these models or or you said this is

896
00:45:53.320 --> 00:45:56.039
<v Speaker 1>just one project. Are there any other projects that you're

897
00:45:56.039 --> 00:45:57.199
<v Speaker 1>doing they're totally different.

898
00:45:57.360 --> 00:46:01.159
<v Speaker 5>Yeah, definitely, we have a bunch of projects. So the

899
00:46:01.360 --> 00:46:05.400
<v Speaker 5>biggest one we're doing right now is is probably trying

900
00:46:05.480 --> 00:46:11.559
<v Speaker 5>to make sense of Norwegian sonal plants and these sonal plants.

901
00:46:11.599 --> 00:46:12.960
<v Speaker 5>You know, I don't know how it is in the

902
00:46:13.679 --> 00:46:17.679
<v Speaker 5>over in the States, but in Norway you have sonal

903
00:46:17.719 --> 00:46:21.760
<v Speaker 5>plants and that's all. The municipal municipalities have their own

904
00:46:21.800 --> 00:46:25.679
<v Speaker 5>sonal plants and they say something about how how the

905
00:46:25.880 --> 00:46:30.239
<v Speaker 5>land in that municipality should be used so it can see.

906
00:46:30.280 --> 00:46:34.679
<v Speaker 2>Right, so the zone for residential, zone for commercial, zone

907
00:46:34.719 --> 00:46:38.159
<v Speaker 2>for industrial. Yeah, and that's all you're allowed to use.

908
00:46:38.199 --> 00:46:40.840
<v Speaker 2>I mean, that's a that's a common practice, right. You

909
00:46:40.920 --> 00:46:44.159
<v Speaker 2>generally don't want a chemical plant beside the residential area.

910
00:46:44.800 --> 00:46:45.920
<v Speaker 2>You know, those kinds of things.

911
00:46:46.000 --> 00:46:49.039
<v Speaker 5>Yeah, and they're they're very detailed, and it could be anything

912
00:46:49.199 --> 00:46:52.280
<v Speaker 5>like oh, here you cannot build a building that's higher

913
00:46:52.320 --> 00:46:56.760
<v Speaker 5>than five meters and over here you can't build a road.

914
00:46:57.000 --> 00:47:00.039
<v Speaker 5>It's illegal. You know, all these kinds of things. So

915
00:47:00.360 --> 00:47:03.559
<v Speaker 5>what we're doing, is that what just like everyone else,

916
00:47:04.079 --> 00:47:08.119
<v Speaker 5>using the large language models to try to to make

917
00:47:08.199 --> 00:47:09.199
<v Speaker 5>sense of these plants?

918
00:47:09.280 --> 00:47:13.079
<v Speaker 1>Yeah, okay, And is that using a geospatial data Yeah, yes,

919
00:47:14.559 --> 00:47:17.639
<v Speaker 1>you can go. So so everything start of that you

920
00:47:17.679 --> 00:47:19.039
<v Speaker 1>do revolves around this data.

921
00:47:19.199 --> 00:47:23.440
<v Speaker 4>Yeah, usually it sounds like yeah, yeah. So the sonal

922
00:47:23.480 --> 00:47:26.039
<v Speaker 4>plans have two parts. You have the document, which can

923
00:47:26.079 --> 00:47:28.519
<v Speaker 4>be which can be up to hundreds of pages with

924
00:47:28.719 --> 00:47:33.079
<v Speaker 4>really difficult texts to understand. And then you have a

925
00:47:33.119 --> 00:47:36.239
<v Speaker 4>part that it's the map that tells us where what

926
00:47:36.719 --> 00:47:42.920
<v Speaker 4>part of Norway it's the sonal pen is covering. And

927
00:47:42.960 --> 00:47:45.480
<v Speaker 4>that map usually has a lot of information that is

928
00:47:45.519 --> 00:47:50.760
<v Speaker 4>not in the text document. So we combine information from

929
00:47:50.800 --> 00:47:53.760
<v Speaker 4>the map and the text document together in an LM

930
00:47:54.000 --> 00:47:57.639
<v Speaker 4>to try to make to understand the content and to

931
00:47:57.679 --> 00:48:01.599
<v Speaker 4>figure out which part of the document specific for a property.

932
00:48:01.719 --> 00:48:02.199
<v Speaker 1>That's good.

933
00:48:02.719 --> 00:48:04.800
<v Speaker 2>So you're using a large language model in that so

934
00:48:04.840 --> 00:48:07.920
<v Speaker 2>that people can use like a text expression to put

935
00:48:07.960 --> 00:48:08.760
<v Speaker 2>the affection the data.

936
00:48:09.400 --> 00:48:12.519
<v Speaker 5>Yeah, exactly. So, you know, as much as I don't

937
00:48:12.559 --> 00:48:15.119
<v Speaker 5>know personally, when I see a chet bot, you know,

938
00:48:15.519 --> 00:48:18.159
<v Speaker 5>I don't really like it that much at least sites.

939
00:48:18.559 --> 00:48:22.079
<v Speaker 5>But yeah, so now I'm sitting here and making making

940
00:48:22.119 --> 00:48:24.159
<v Speaker 5>a chet box because I want.

941
00:48:24.719 --> 00:48:25.079
<v Speaker 1>I like that.

942
00:48:25.119 --> 00:48:27.000
<v Speaker 2>You guys are the old school AI. You were doing

943
00:48:27.039 --> 00:48:30.960
<v Speaker 2>it before it was cool. But no, you've been infected

944
00:48:30.960 --> 00:48:33.320
<v Speaker 2>by the ll M monster too, right, It's just sort

945
00:48:33.320 --> 00:48:35.719
<v Speaker 2>of consumed all of us the past two years.

946
00:48:36.079 --> 00:48:41.920
<v Speaker 1>I especially hate happy chat bots, you know, overly enthusiastically

947
00:48:42.199 --> 00:48:44.119
<v Speaker 1>happy chat bots.

948
00:48:44.039 --> 00:48:46.159
<v Speaker 5>Will will make ours a little bit meaner.

949
00:48:46.239 --> 00:48:51.960
<v Speaker 1>Yeah, actually, you will probably get better usage if you

950
00:48:52.000 --> 00:48:54.280
<v Speaker 1>throw in snarky comments every once in a while and

951
00:48:55.400 --> 00:48:57.079
<v Speaker 1>even little insults, you know.

952
00:48:57.320 --> 00:49:01.400
<v Speaker 2>Yeah, John Rickles.

953
00:49:01.119 --> 00:49:08.920
<v Speaker 5>Mode, you know, like, we'll make one now for sure. Yeah.

954
00:49:09.199 --> 00:49:11.519
<v Speaker 1>When somebody says that data is wrong, you could say

955
00:49:11.559 --> 00:49:12.599
<v Speaker 1>your face is wrong.

956
00:49:17.039 --> 00:49:21.280
<v Speaker 5>Yeah, for sure, we'll look into that. I think it's

957
00:49:21.280 --> 00:49:22.440
<v Speaker 5>important to.

958
00:49:22.360 --> 00:49:24.039
<v Speaker 1>Make it a little bit a little more exciting to

959
00:49:24.119 --> 00:49:24.679
<v Speaker 1>use anyway.

960
00:49:24.920 --> 00:49:26.239
<v Speaker 2>Yeah right, right.

961
00:49:26.559 --> 00:49:31.000
<v Speaker 1>So what's next? What's in your inbox? You guys? Matilda?

962
00:49:31.119 --> 00:49:34.480
<v Speaker 1>What's next for you? Project wise or anything?

963
00:49:35.559 --> 00:49:38.320
<v Speaker 4>Well, we've been testing a lot of a lot of

964
00:49:38.360 --> 00:49:42.519
<v Speaker 4>different ideas with our data and our products. And one

965
00:49:42.559 --> 00:49:45.119
<v Speaker 4>thing we do is that we invite to different product

966
00:49:45.119 --> 00:49:48.239
<v Speaker 4>teams to have hackems with us, right, and we tried

967
00:49:48.280 --> 00:49:53.000
<v Speaker 4>to figure out how AI can fit into their products.

968
00:49:53.079 --> 00:49:55.880
<v Speaker 4>And one of the hack films that was really fun

969
00:49:56.400 --> 00:50:00.679
<v Speaker 4>was one we did together with our Mono Repo team.

970
00:50:01.000 --> 00:50:05.199
<v Speaker 4>So we have a platform for running our front end applications.

971
00:50:05.920 --> 00:50:08.679
<v Speaker 4>So we have all of our three point fourteen products

972
00:50:08.679 --> 00:50:15.639
<v Speaker 4>for developer in one big monory po and we try

973
00:50:15.639 --> 00:50:18.400
<v Speaker 4>to figure out how AI can help developers when they're

974
00:50:18.920 --> 00:50:22.519
<v Speaker 4>coding in that big monory pot. And we figured out

975
00:50:22.559 --> 00:50:27.360
<v Speaker 4>that you're now actually allowed to create a visual studio

976
00:50:27.440 --> 00:50:31.320
<v Speaker 4>code extension on top of the GitHub co pilot extension

977
00:50:32.159 --> 00:50:35.199
<v Speaker 4>that allows you to build your own functionality into the

978
00:50:35.239 --> 00:50:38.440
<v Speaker 4>gitub co pilot chat wow, And we've had a lot

979
00:50:38.440 --> 00:50:39.920
<v Speaker 4>of fun with that.

980
00:50:39.920 --> 00:50:42.559
<v Speaker 1>That sounds fun, Yeah, we've added.

981
00:50:44.039 --> 00:50:47.079
<v Speaker 4>Yeah, we've added our own functionality into that where you

982
00:50:47.119 --> 00:50:54.719
<v Speaker 4>can chat with specific nud Cutch documentation. You can add

983
00:50:54.760 --> 00:50:59.760
<v Speaker 4>a support a chat to our chat room directly after

984
00:51:00.000 --> 00:51:03.880
<v Speaker 4>if you don't get your answer, you can summarize your

985
00:51:04.000 --> 00:51:07.199
<v Speaker 4>chat and directly have it posted to our chat room.

986
00:51:07.480 --> 00:51:08.159
<v Speaker 4>Stuff like that.

987
00:51:08.400 --> 00:51:11.000
<v Speaker 1>Cool, how about you melted with's in your inbox?

988
00:51:11.519 --> 00:51:15.360
<v Speaker 5>Well, it's going to be making some new personalities for

989
00:51:15.519 --> 00:51:18.119
<v Speaker 5>the chat bob. That's probably the first thing I'm.

990
00:51:17.960 --> 00:51:19.840
<v Speaker 2>Going to do.

991
00:51:22.599 --> 00:51:27.880
<v Speaker 5>Your face, No, but it is trying to figure out

992
00:51:28.039 --> 00:51:31.199
<v Speaker 5>if this actually is going to work, you know, these

993
00:51:31.239 --> 00:51:35.320
<v Speaker 5>tonal plans and finishing you know that that product, and

994
00:51:36.239 --> 00:51:39.480
<v Speaker 5>trying to show it to our users and see if

995
00:51:39.480 --> 00:51:44.159
<v Speaker 5>they're happy with it, because it's really it's really difficult

996
00:51:44.960 --> 00:51:49.360
<v Speaker 5>to like prompt these correctly and try to to make

997
00:51:49.440 --> 00:51:54.559
<v Speaker 5>the I assume most people these days are familiar with

998
00:51:54.760 --> 00:51:57.800
<v Speaker 5>rag architecture, I don't know, but trying to optimize the

999
00:51:57.840 --> 00:52:01.079
<v Speaker 5>searching part and the prompting part and stuff like that.

1000
00:52:02.239 --> 00:52:05.480
<v Speaker 5>So there's a lot of tricks and stuff with that

1001
00:52:05.519 --> 00:52:07.639
<v Speaker 5>these days for sure. And then we're also you know,

1002
00:52:07.679 --> 00:52:11.760
<v Speaker 5>looking into as I mentioned, you know, chatbots, not you

1003
00:52:11.800 --> 00:52:14.239
<v Speaker 5>know that fun. It's not the best thing in the world.

1004
00:52:14.239 --> 00:52:16.840
<v Speaker 5>So we're trying to look at how we can parse

1005
00:52:16.920 --> 00:52:19.719
<v Speaker 5>these sonal plants in other ways, such as you know,

1006
00:52:19.920 --> 00:52:26.480
<v Speaker 5>making summarizing pages and trying to just extract useful information

1007
00:52:27.320 --> 00:52:32.719
<v Speaker 5>from these documents. Depending on what property you are on.

1008
00:52:33.039 --> 00:52:36.960
<v Speaker 1>Yeah, very good. Well, I wish you good luck, rich

1009
00:52:37.000 --> 00:52:38.679
<v Speaker 1>and I wish you good luck in the future. And

1010
00:52:38.760 --> 00:52:41.440
<v Speaker 1>you know, if there's anything we're talking about, come on

1011
00:52:41.599 --> 00:52:44.039
<v Speaker 1>back at a later time and we'll do another show.

1012
00:52:44.159 --> 00:52:47.119
<v Speaker 2>Yeah, customizing customer and get HELB copilot. Sounds like a

1013
00:52:47.159 --> 00:52:47.719
<v Speaker 2>cool topic.

1014
00:52:47.840 --> 00:52:48.960
<v Speaker 1>Sounds like a great topic.

1015
00:52:49.079 --> 00:52:49.719
<v Speaker 2>Yeah for sure.

1016
00:52:51.079 --> 00:52:53.599
<v Speaker 1>All right, thanks again, all right, thank you guys, Thanks

1017
00:52:53.599 --> 00:52:56.360
<v Speaker 1>for having us, Thanks for having us. You bet, and

1018
00:52:56.440 --> 00:53:20.199
<v Speaker 1>we'll see you next time on dot net rocks. Dot

1019
00:53:20.239 --> 00:53:22.880
<v Speaker 1>net Rocks is brought to you by Franklin's Net and

1020
00:53:22.960 --> 00:53:26.880
<v Speaker 1>produced by Pop Studios, a full service audio, video and

1021
00:53:26.960 --> 00:53:31.239
<v Speaker 1>post production facility located physically in New London, Connecticut, and

1022
00:53:31.320 --> 00:53:35.960
<v Speaker 1>of course in the cloud online at pwop dot com.

1023
00:53:36.159 --> 00:53:38.280
<v Speaker 1>Visit our website at d O T N E t

1024
00:53:38.519 --> 00:53:42.519
<v Speaker 1>R O c k S dot com for RSS feeds, downloads,

1025
00:53:42.679 --> 00:53:46.360
<v Speaker 1>mobile apps, comments, and access to the full archives going

1026
00:53:46.400 --> 00:53:49.800
<v Speaker 1>back to show number one, recorded in September two thousand

1027
00:53:49.800 --> 00:53:52.480
<v Speaker 1>and two. And make sure you check out our sponsors.

1028
00:53:52.599 --> 00:53:55.639
<v Speaker 1>They keep us in business. Now go write some code,

1029
00:53:55.960 --> 00:53:56.760
<v Speaker 1>see you next time.

1030
00:53:57.800 --> 00:53:58.159
<v Speaker 4>Got you.

1031
00:54:00.519 --> 00:54:06.280
<v Speaker 1>To see the summer time like me his home and.

1032
00:54:06.480 --> 00:54:08.000
<v Speaker 2>My Texas in line.

1033
00:54:08.440 --> 00:54:08.920
<v Speaker 3>Dall
