Speaker 1: How'd you like to listen to dot NetRocks with no ads? Easy?
Speaker 1: Become a patron for just five dollars a month you
Speaker 1: get access to a private RSS feed where all the
Speaker 1: shows have no ads. Twenty dollars a month will get
Speaker 1: you that and a special dot NetRocks patron mug. Sign
Speaker 1: up now at Patreon dot dot NetRocks dot com. Hey,
Speaker 1: Carlin Richard here with your twenty twenty four NDC schedule.
Speaker 2: Will be at as many NDC conferences as possible this year,
Speaker 2: and you should consider attending no matter what. The Copenhagen
Speaker 2: Developers Festival happens August twenty sixth through the thirtieth. Tickets
Speaker 2: at Cphdevfest dot com.
Speaker 1: Ndcporto is happening October fourteenth through the eighteenth. The early
Speaker 1: bird discount ends June fourteenth. Tickets at Ndcporto dot com.
Speaker 3: And we'll see you there, we hope.
Speaker 1: Hey, guess what it's dot net Rocks. I'm Carl Franklin
Speaker 1: and i Amgard Campbell and we're here again. Yes, we
Speaker 1: keep doing this. You know people are gonna talk. Yeah,
Speaker 1: hopefully that's the whole point. We talk about everything, not
Speaker 1: just dot net but We're a podcast for dot net developers.
Speaker 1: That's the way we've always been and gotten.
Speaker 2: Developers do a lot of stuff these days, it seems
Speaker 2: I think they always have.
Speaker 1: Yeah, I have a little bit of a story of
Speaker 1: and a product to talk about for better no framework.
Speaker 1: So roll the music, man.
Speaker 2: What do you got?
Speaker 4: Well?
Speaker 1: I gave myself a birthday present this year.
Speaker 2: Happy birthday, Thank you.
Speaker 1: Happy birthday to you too, sir.
Speaker 2: Yeah right, it's about the same time, isn't it.
Speaker 1: Yeah, I got. I replaced the stock in dash stereo
Speaker 1: system in my twenty twelve Honda CRV AD it a
Speaker 1: long time yeah, yeah, with yeah, but it's a great car.
Speaker 1: But I replace it with something new that has Apple
Speaker 1: car Play and all that stuff. And I did a
Speaker 1: lot of research and I found the best bang for
Speaker 1: the buck was about five hundred and forty nine bucks.
Speaker 1: I got it at best Buy. It's a Pioneer AVH
Speaker 1: twenty five fifty n ex All right, So what is it?
Speaker 5: So?
Speaker 1: It does everything right, but mostly it connects to your
Speaker 1: phone and it will either use Android Auto which is
Speaker 1: the Android version, or Apple car Play, both are registered
Speaker 1: trademarks or whatever. It also does Bluetooth, but here's the thing.
Speaker 1: Unlike most in car dashes that have their own GPS, right,
Speaker 1: this one it connects to the rate, it has radio
Speaker 1: and all that stuff that you would imagine. But Apple
Speaker 1: Car Play in my case, because you're an iPhone user,
Speaker 1: does every Yeah, because I'm an iPhone user. My brother
Speaker 1: has another one. It does Android Auto. But they both
Speaker 1: do the same thing, basically use your phone. So I
Speaker 1: use ways to navigate and it shows right on the console.
Speaker 2: And it's better in every way.
Speaker 1: It's better in every way than the standard stuff that
Speaker 1: comes in a car, certainly, and even better than Google Maps.
Speaker 2: I think, well, these Google Maps actually under the hood. Yeah,
Speaker 2: they owned by Google, but you get the.
Speaker 1: Sort of reports of you know, traffic and police stuff.
Speaker 2: Which apparently police watch closely and then just remove themselves
Speaker 2: whenever somebody identifies the speed trap to go Nope, that's
Speaker 2: speed trap's gone.
Speaker 1: Well, let me tell you. I drove to Pennsylvania over
Speaker 1: the weekend in back six hour trip and it worked
Speaker 1: like a dream.
Speaker 2: Yeah. Kept out of the bad traffic.
Speaker 1: Yeah yeah, and yeah, except for the bad traffic, which
Speaker 1: you know it told me about. It was too late,
Speaker 1: but it could have re routed me.
Speaker 2: But off it to tell you and say it's still
Speaker 2: the best route.
Speaker 1: Yes, it's still the best route exactly, and most of
Speaker 1: it was just caused by bad weather.
Speaker 2: So really, this is device, this pioneer device is a
Speaker 2: big screen relatively speaking in your car, ties to your
Speaker 2: phone so that you don't have to look at your
Speaker 2: phone to do NAV right right.
Speaker 1: So you can use you can listen to anything on
Speaker 1: your phone that you.
Speaker 2: Have access to Spotify at all.
Speaker 1: Yep. And how before I was connecting audio with Bluetooth right,
Speaker 1: and there's a delay with Bluetooth, But this one has
Speaker 1: a USB jack, a female jack that comes right out
Speaker 1: of the dashboard and you plug your phone right into it,
Speaker 1: so there's no delay whenever you pause something.
Speaker 2: Or you want to say you're charging, so you know.
Speaker 1: Charging, skipping forward, skivving ahead.
Speaker 2: Well, because the other reality is you're running the GPS
Speaker 2: sensors the whole time because it's actually doing the NAV work.
Speaker 2: So it's going to mow your battery unless it's plugged in.
Speaker 1: Yep, and it's plugged in and I had no problem
Speaker 1: with that. And also my car came with a little
Speaker 1: voice button on the on the steering wheel, but it
Speaker 1: really didn't do anything.
Speaker 2: It's the old voice, old old boy.
Speaker 1: But this connects directly to it, so I can essentially
Speaker 1: any time I want, I can say, call this person,
Speaker 1: text message this person.
Speaker 2: And it's now sending that to the phone.
Speaker 1: Sending it to the phone. Right, I can send text
Speaker 1: messages or whatever. I can skip ahead if I don't
Speaker 1: like the ads of my podcast, Hey, should I have
Speaker 1: said that?
Speaker 2: You shouldn't say that. No, have you noticed what your
Speaker 2: businesses like?
Speaker 1: Come on, but you know I've heard these same ads
Speaker 1: a million times, and I skipped through. I just had
Speaker 1: a great experience. Now I will tell you I gotcha,
Speaker 1: And I'm sorry, guys, I'm taking up too much time
Speaker 1: with this, but there was a gotcha. When I first
Speaker 1: set out, I was using an existing lightning cable and
Speaker 1: I was getting audio dropouts and it was the cable.
Speaker 1: It was the cable. I stopped at a mall, I
Speaker 1: went to the Apple store. I got an official Apple iOS.
Speaker 2: You spend sixty bucks on a cable and it worked,
Speaker 2: It fixed it. You know, if you actually watch YouTube
Speaker 2: on disassembling some of those sixty dollars cables, there's a
Speaker 2: lot of stuff in those cables. They're not just wires, right,
Speaker 2: so it didn't work with a third party cable that.
Speaker 1: It did with the iOS came okay, all right, who's
Speaker 1: talking to us?
Speaker 2: Richard Grabby comment off a show eighteen ninety nine back
Speaker 2: in May of twenty twenty four when we talked to
Speaker 2: our friend Aaron Erickson, who hadn't been on the show
Speaker 2: in a very long time, the nomadic developer, who we
Speaker 2: now called the nomadic AI developer because why not, all right?
Speaker 2: And it was part of a sort of two show
Speaker 2: set because we also did that show with Sean Wildermouth
Speaker 2: talking about being in a computing career later in your life,
Speaker 2: which islicited a huge response. Oh yeah, that was great,
Speaker 2: and you know, Sean, I think expressed a lot of
Speaker 2: worries that all of us had. And then in comes
Speaker 2: Aaron who's like, hey, I've totally retooled my career again
Speaker 2: in my late fifties and I'm now working for Nvidia,
Speaker 2: all in on the on the new technology, which I
Speaker 2: thought it was just an interesting bounce to too. And
Speaker 2: this is a comment from Trev who says, Hey, I
Speaker 2: love the conversation day. Aaron has had an amazing career and
Speaker 2: I would suggest it in VIDR. Super lucky to have
Speaker 2: him on board. The conversation on generative AI touched on
Speaker 2: the travel industry, and I thought that I would share
Speaker 2: something from a presitation I attended last week. A New
Speaker 2: Zealand travel agency who during the pandemic lost something like
Speaker 2: eighty percent of its value and sixty percent of its staff,
Speaker 2: has a terrible problem. Now they can't hire travel agents
Speaker 2: because during the pandemic they all retrained in other careers
Speaker 2: and they're not coming back. So they've now turned two
Speaker 2: large language models and new automation to solve this problem.
Speaker 2: And he's obviously Trev used as the service because he said, normally,
Speaker 2: if you want an itinerary for a trip, it would
Speaker 2: take the travelation a couple of hours to put it together.
Speaker 2: Now I get it in two minutes, and it's based
Speaker 2: on all my wants and wishes, all the little details
Speaker 2: and so forth. And that includes confirming the hotels, setting
Speaker 2: up all the flights, optimizing to my flight needs, your time,
Speaker 2: your budget. What stoffovers is a perfect illustration of where
Speaker 2: these technologies can transform the industry. And thanks so much
Speaker 2: for the show. Awesome, Yeah, you know it's we're dealing
Speaker 2: with It's a double whammy, isn't it. The pandemic definitely
Speaker 2: tore up a bunch of industry, and then we have
Speaker 2: this new technology that gives us a better interface. I mean,
Speaker 2: you've always been able to build your own travel itinerary.
Speaker 2: It's just you know, I still do it this way
Speaker 2: where I got trip it open over here, and I've
Speaker 2: got various websites for airlines there and different hotels and
Speaker 2: you know, but the fact that you could pull out
Speaker 2: all together with software using a modern travel agency, and
Speaker 2: it costs the agency left to deliver you faster service.
Speaker 2: Like that's what automation is all about.
Speaker 1: I know, a whole bunch of office space that is currently available.
Speaker 2: M well, a lot of people are not, you know,
Speaker 2: still working from home, and it's not going to change. Yeah, so,
Speaker 2: or at least it seems not to, so, Trev, thank
Speaker 2: you so much for your comment and a copy of
Speaker 2: music Cobey. It's on its way to you. And if
Speaker 2: you'd like copy of music code by I write a
Speaker 2: comment on the website of dot netroocks dot com or
Speaker 2: on the facebooks. We publish every show there, and if
Speaker 2: you comment there and everybody on the show, we'll send
Speaker 2: you a copy of music Go Buy and.
Speaker 1: Music code by still going strong after all these years.
Speaker 1: A great way to stay focused when you're writing code.
Speaker 2: I got a nice note from a listener who I
Speaker 2: had sent the code too so that they could get
Speaker 2: a Copyody, Who's like, this changes the way I work?
Speaker 1: Yeah, it is good, you know.
Speaker 2: Yeah?
Speaker 1: Okay. Let us introduce our guests today who've never been
Speaker 1: on the show before, so I'm really looking forward to
Speaker 1: talking to them. Malti Lawler Anderson is a passionate machine
Speaker 1: learning engineer working for Norkart, operating in the geospatial domain.
Speaker 1: And Matilda Ushtevik has a master's degree in geographical IT
Speaker 1: with a specialization in geographical AI. You can read their
Speaker 1: full bios at dot netroocks dot com, of course, but
Speaker 1: that'll get us started anyway. Welcome guys, thank you, thank you,
Speaker 1: thank you. All right, so that first voice you heard
Speaker 1: was Matilda, the second one was malte just to identify
Speaker 1: for our listeners. So who wants to start with the
Speaker 1: elevator pitch? What are you guys doing out there?
Speaker 5: Do you want me to take the first one? I
Speaker 5: can do that, yes, thank you? Well, you know is
Speaker 5: norwegi An it company at this point. I guess historically
Speaker 5: we did a lot of maps and stuff like that,
Speaker 5: but we are more more more pivoted into doing it,
Speaker 5: and we deliver a lot, a lot, a lot of
Speaker 5: different products within the juicepacial domain. We have exactly three
Speaker 5: point fourteen or pie products per developer.
Speaker 2: Great, so you have to if you add new products,
Speaker 2: you have to hire more developers to keep the ratio correct.
Speaker 2: Is that the plant exactly?
Speaker 4: Yeah, yeah, every developer that gets hired has to bring
Speaker 4: in three point fourteen products.
Speaker 2: So great, Oh my goodness. So you're using primarily aerial data.
Speaker 2: I guess there's some satellite, some aircraft. Of course, drones
Speaker 2: have changed this landscape as well, but then turning it
Speaker 2: into usable imagery it's one thing they have a bunch
Speaker 2: of photos is another thing. To turn it into something
Speaker 2: that's really usable. That's got to be pretty software intensive.
Speaker 4: Yeah, definitely. We're mostly using different aerial images and creating
Speaker 4: like servers that can handle both three D tiles as
Speaker 4: well as the aerial images and vector data that we
Speaker 4: can then implement into different softwares. So we're mostly using
Speaker 4: the different maps more than creating them.
Speaker 2: Okay, So yeah, somebody else is involved in collecting the data.
Speaker 2: Now you're trying to get value.
Speaker 4: From it exactly.
Speaker 2: Yeah, well, how long has that been a problem in
Speaker 2: our industry? We collect lots of data, we just don't
Speaker 2: do anything with it. So where how does machine learning
Speaker 2: come into the equation.
Speaker 4: So the first thing we started to test was how
Speaker 4: we could improve the vector data based on what is
Speaker 4: actual actually visible in the aerial images. So traditionally what
Speaker 4: you do is that you look at the aerial images
Speaker 4: manually and then you draw the maps from those images,
Speaker 4: which is a manual process, very time consuming, and of
Speaker 4: course it's prone to errors because it's easy to not
Speaker 4: detect everything.
Speaker 2: So using the human to do the pattern recognition to
Speaker 2: say that's an image of this area, here's how it
Speaker 2: lays together.
Speaker 4: Yeah, this is a building. This is its walls, right,
Speaker 4: this is the details of the buildings and so on,
Speaker 4: and roads and everything. So we started testing if we
Speaker 4: could use machine learning to detect the buildings for us
Speaker 4: and also different types of objects.
Speaker 1: That must be a lot of work job security for
Speaker 1: a lot of people.
Speaker 4: Yeah, definitely. So we started testing this back in I
Speaker 4: think it was twenty sixteen, which is when image recognition
Speaker 4: got really good and it worked pretty well, and then
Speaker 4: we've continued developing these methods until not more or less.
Speaker 1: Okay, when you were describing what you used, just these
Speaker 1: image this image data and that you go and get it.
Speaker 1: Don't these databases exist? We were talking about Google Maps,
Speaker 1: and that certainly is a rich database of topical imagery.
Speaker 1: Is it something that you can't use for copyright reasons
Speaker 1: or you need to do your own imaging in order
Speaker 1: to get the level of detail? Like why is it
Speaker 1: that you can use something off the shelf?
Speaker 4: Yeah, level of detail is definitely a big part of it,
Speaker 4: and ownership and costs also. So in Norway, all the
Speaker 4: municipalities have areal images of high resolution for their areas
Speaker 4: that they update maybe every year for the big municipalities,
Speaker 4: maybe every fourth year for the smaller ones. But it's
Speaker 4: very higher resolution and the level of detail in the
Speaker 4: Norwegian maps is incredibly high. They're very detailed and they're
Speaker 4: on a Norwegian specific format, so all the detailed in
Speaker 4: Norwegian maps are way higher than Google Maps.
Speaker 1: Yes, so that's what you're using using the Norwegian data
Speaker 1: maps that already exist, so you're not actually going out
Speaker 1: and flying drones over buildings and taking pictures yourself or whatever.
Speaker 4: Yeah, exactly. So originally back in nineteen sixty one and
Speaker 4: so on, Woodcraft did produce aerial images, right, and then
Speaker 4: they became a software company, I see.
Speaker 2: Like everybody else. Yeah, but I guess you're I mean,
Speaker 2: your goal is not to do navigation. I imagine you're
Speaker 2: doing other things with the data.
Speaker 4: Yeah, mostly other things. We also do some navigation, but
Speaker 4: mostly other things.
Speaker 2: Yes, So what kind of what do people want this
Speaker 2: data for?
Speaker 5: Like?
Speaker 2: What are they asking for?
Speaker 5: Oh?
Speaker 4: So many things. It can be visually to see other
Speaker 4: types of data together with their images. But when you're
Speaker 4: talking about the vector data. In the vector maps, it's
Speaker 4: for analysis.
Speaker 5: Planning of infrastructure. You know, taxation in Norway at least
Speaker 5: you get text based on what buildings you have in
Speaker 5: your property, so it's really important to know, like or
Speaker 5: if a fire starts, it's really important for the firefighters
Speaker 5: to know what buildings exists where, you know, all that
Speaker 5: kind of stuff.
Speaker 2: So yeah, and it needs to be regularly updated. So
Speaker 2: you've got the municipalities, the big ones at least scanning
Speaker 2: every year. Like that also introduces in angle of how
Speaker 2: is the land evolving year over year. Certainly thanks for
Speaker 2: British Columbia, which I often equate similar to Norway in
Speaker 2: some respective stuff. We're really big. It's a tree coverage
Speaker 2: right between logging, forest fires, and regrowth. You have to
Speaker 2: go and image those areas to really understand what's the
Speaker 2: state of the land.
Speaker 5: Yeah, yeah, yeah for sure. And we've seen others also
Speaker 5: that has done exactly that in Norway as well, try
Speaker 5: to map up what trees are where?
Speaker 2: Yeah yeah.
Speaker 1: Where does development come in? Are you doing mostly Python
Speaker 1: programming against this data or are you using any cloud computing?
Speaker 1: What are you using?
Speaker 5: Yeah, we're mostly using Python like everybody else's machine learning,
Speaker 5: at least for this project, and this is mostly trained
Speaker 5: on our own data center. So we have two L
Speaker 5: forty GPUs with sixty four gigabytes of space each and
Speaker 5: these are quite actually big enough to you know, you
Speaker 5: get some really good results trying to identifying objects from
Speaker 5: their own images.
Speaker 2: Oh wow, okay, but so not even using the cloud.
Speaker 2: You're running your own You guys really are old school AI.
Speaker 1: Yeah, yeah, we're running our own.
Speaker 5: But we've also tried the cloud experimented a bit with that,
Speaker 5: but we have we figured out that for this project.
Speaker 5: We have other projects as well, of course, but for
Speaker 5: this project we're using our own data center yet and.
Speaker 2: So an L forty And I'll include a link for
Speaker 2: the show notes. Folks want to take a look at
Speaker 2: these things. I mean, it looks like a little computer essentially,
Speaker 2: something that will go. Looks like it should be in
Speaker 2: a data center. Like is it anything more than just
Speaker 2: like an RTX forty ninety in a chassis.
Speaker 5: I don't remember the exact specs of the forty. Does
Speaker 5: it have sixty four gigabytes.
Speaker 2: Of I don't think so.
Speaker 5: I think that's the biggest part of it, at least
Speaker 5: that we have that we have that.
Speaker 2: It's just a sheer amount of memory.
Speaker 5: Yeah, yeah, so you can have more images in memory
Speaker 5: at the same time.
Speaker 2: And that's yeah, that's got to be what it's all about. Really,
Speaker 2: It's just like how much RAM do you have available
Speaker 2: to you to be able to do that as those
Speaker 2: image analysis Yeah, for sure, I'm just looking it up. Yeah,
Speaker 2: twenty four gigs on a on A forty ninety and
Speaker 2: forty eight on an on an L forty. But you know,
Speaker 2: pipeline wise, like they're not that different, but they're still
Speaker 2: different and yeah PCIe interface so and three hundred watts
Speaker 2: so it'll keep a room warm.
Speaker 5: Oh yeah, you need some cooling for that.
Speaker 2: Oh yeah, no kidding, but absolutely So you use a
Speaker 2: pair of these.
Speaker 5: Yeah, we have two.
Speaker 2: That's nice. We have two.
Speaker 5: But there are sixty four gigabytes of BRIANMA, not forty eight.
Speaker 2: Yeah, so maybe a newer model.
Speaker 5: Maybe, I'm not sure.
Speaker 2: Yeah, that's cool. I gotta I gotta find how much
Speaker 2: these things cost. I need not that I need rack
Speaker 2: here anymore. I'm doing everything I can not to buy
Speaker 2: any more rack related equipment. Please please please stop, like,
Speaker 2: don't do it? Yeah, five bucks of crack man thousand.
Speaker 5: Five thousand.
Speaker 3: Yeah.
Speaker 5: Don't you remember how much we paid Matilda. I don't remember.
Speaker 5: Oh I don't remember. No either.
Speaker 2: It would have been a coroner anyway, so nobody would.
Speaker 4: All I know is that it was cheaper than doing
Speaker 4: it in the clouds.
Speaker 2: Oh wow.
Speaker 5: Yeah.
Speaker 2: There's a lot of testing, right because the cloud is
Speaker 2: only dinging you by the minute, So at some point
Speaker 2: you have to do the projection and go, hey, if
Speaker 2: we just buy this, we're good for a certain amount
Speaker 2: of time. I mean. The upside of using the cloud
Speaker 2: is they're going to upgrade their hardware for you. Now,
Speaker 2: you guys are on the hook for you know, X
Speaker 2: many years, probably four or five years of amortization over
Speaker 2: this stuff to make it make make sense. But I
Speaker 2: get it, totally makes sense. It's very it's reasonable.
Speaker 1: I'm interested in what other uh, you know, applications that
Speaker 1: we have, and one that came to mind is law enforcement.
Speaker 1: Does law enforcement use your data in any way that
Speaker 1: you can talk about?
Speaker 4: Good question. I don't think so, but I'm not completely
Speaker 4: sure because we have a lot lot of customers that
Speaker 4: use our data that we don't necessarily know about.
Speaker 2: Right, So, how do you train a model to figure
Speaker 2: out that that's a building and that's a wall.
Speaker 4: Yeah. So the really great thing about this is that
Speaker 4: since we already have the vector maps, people have already
Speaker 4: done the manual work looking at these images. Yeah, we
Speaker 4: can just use the existing data that we have and
Speaker 4: we can produce enormous amounts of training data automatically. So
Speaker 4: that's the really great thing about these models. So what
Speaker 4: we do is that we combine aerial images from a
Speaker 4: small area around five twelve times five total pixels, and
Speaker 4: we get the existing data for that same area and
Speaker 4: we can combine those images to produce the input image
Speaker 4: and the label image, and then we can basically produce
Speaker 4: as much data as we want because we have data
Speaker 4: for all of Norway, and we also have historical data,
Speaker 4: so we can combine this and then train our data
Speaker 4: or train our models with that automatically produced data.
Speaker 2: Okay, and so I mean I think two things. Some
Speaker 2: of that one is you're just saving time on a
Speaker 2: new city day. Say yes, that's the same building from
Speaker 2: last time. If it doesn't identify it, maybe that's because
Speaker 2: the building is changed.
Speaker 5: In some way exactly.
Speaker 2: I wonder how sensitive it would be, Like if a
Speaker 2: building puts solar panels on its roof, so now it
Speaker 2: looks a little different. Is it still able to map
Speaker 2: it or does it pull it up as I don't
Speaker 2: know what this is.
Speaker 4: Yeah, it depends on what is in the training data.
Speaker 4: So if there were some new kind of solar panels
Speaker 4: popping up in Norway, our model would most likely not
Speaker 4: detect it. Right, If it's solar panels similar to once
Speaker 4: we already have, we would most likely detect it.
Speaker 2: So is your vector data map down to that level
Speaker 2: says that's not only a building that's a building with
Speaker 2: solar panels on the roof.
Speaker 4: If the solar panels are in the training data, they
Speaker 4: can train a model with that. Yeah, so we have
Speaker 4: tested that as well, but then we need to specifically
Speaker 4: have the training data with solar panels.
Speaker 2: Right.
Speaker 1: And when you're drawing these things by hand, you're doing
Speaker 1: these sort of annotations. I guess you would say, really,
Speaker 1: are you just like drawing lines and saying this is
Speaker 1: how long this? You know, I don't know how wide
Speaker 1: and how high wits and heights three dimensional data, I
Speaker 1: guess you would say, or how detailed do those hand
Speaker 1: drawings get.
Speaker 4: Well, we're not actually doing the drawing since the this
Speaker 4: this has already been done by people specialized in this
Speaker 4: field in different companies.
Speaker 1: Oh okay. I was under the impression when you first
Speaker 1: spoke about it that you had a team of people
Speaker 1: that were drawing on top of manually drawing on top
Speaker 1: of images.
Speaker 4: But yeah, I know different companies in Norway do this.
Speaker 2: So you're just pure data and it's done now, so
Speaker 2: you've trained the model.
Speaker 5: Yeah, that's what we're trying to automate by this manual
Speaker 5: drawing process.
Speaker 2: Right, So each time new images come in you're able
Speaker 2: to then use the machine learning model to establish that
Speaker 2: this is the same image of the same area with
Speaker 2: these same buildings.
Speaker 1: Exactly how often does the data change.
Speaker 4: It depends on the municipality when they how often they
Speaker 4: buy new images, but it can be up to every year.
Speaker 4: So when there are new images, we can run our
Speaker 4: model detect all the buildings in the municipality and we
Speaker 4: then compare those results to the existing buildings, which means
Speaker 4: that we can figure out where there have been changes.
Speaker 4: Have someone is there new buildings popping up, or has
Speaker 4: any of the buildings changed. And that data set is
Speaker 4: very interesting for the municipalities because then they can figure
Speaker 4: out where their maps are not as similar to the
Speaker 4: reality visible in the images.
Speaker 2: What about things like seasonality, like how good is this
Speaker 2: going to map a picture from the summer versus a
Speaker 2: picture in the winter.
Speaker 4: Yeah, good question. So the companies that take the aerial images,
Speaker 4: they usually always take the images in the same same.
Speaker 2: Time of year, right, So just avoid the problem by
Speaker 2: we only photograph these this area in July should be
Speaker 2: pretty consistent. And of course you need clear days because
Speaker 2: taking pictures in the rain questionable value.
Speaker 4: Yeah, so they have to work for good weather.
Speaker 5: Yeah, and in Norway there's only a kind of good weather,
Speaker 5: you know, in the spring and summer, so that's where
Speaker 5: all these pictures are taken.
Speaker 2: Been there, I've been there in June, I've been there
Speaker 2: in November, and there's a difference. Okay, So I mean
Speaker 2: we've definitely picked an area here of using the machine
Speaker 2: learning models to do the image recognition, so you reduce
Speaker 2: the cost of introducing new images to the system and
Speaker 2: then help the help the customer in this case, you
Speaker 2: typical municipalities identify new buildings. That's a great class of work.
Speaker 2: Are there other classes of work here? Like I would
Speaker 2: think things like, you know, are trees dying off or
Speaker 2: you know, our cultural changes, those kinds of impacts might
Speaker 2: be turned up this way too.
Speaker 4: Yeah. Absolutely, Yeah.
Speaker 5: But the main one you said was, you know, detecting buildings,
Speaker 5: and actually, you know, one of the municipalities in Norway,
Speaker 5: they actually detected a lot of new buildings so that
Speaker 5: their property tax could be lowered for everyone in that municipality, right,
Speaker 5: they could still get the same income.
Speaker 2: Because they recognized there was more buildings out there that
Speaker 2: they didn't know about that responsible for tax exactly.
Speaker 4: So some had to pay more, but in general everyone
Speaker 4: could pay less.
Speaker 2: Right, Yeah, the costs were already being burdened, but not
Speaker 2: everybody was paying their fair share effectively, right, Yeah, exactly,
Speaker 2: Like from a municipal data perspective, this is really powerful
Speaker 2: because otherwise you do this with surveyors, which you think
Speaker 2: mapping out aerial imagery is costly. Send a group of
Speaker 2: people out to go measure everything by hand like that
Speaker 2: takes a lot of time.
Speaker 5: Yeah, exactly. And also some of the some of the
Speaker 5: buildings we can see that hasn't been updated in the
Speaker 5: vector data in a lot long time, but the machine
Speaker 5: learning model can actually detect those, So in some ways
Speaker 5: they're also doing a better job the models.
Speaker 2: Right. That's interesting to see because they've got a better
Speaker 2: vantage point for all of this. So primarily a Python
Speaker 2: problem is just munging the data and doing the mapping together.
Speaker 5: Yeah, it's mostly or it's all Python this project. And
Speaker 5: what we do is that we use our GPUs of course,
Speaker 5: and then during training we will what can you call
Speaker 5: it like live sample all of the images from databases
Speaker 5: and thereby, you know, really take care of a lot
Speaker 5: of pictures at the same time. However, when you do
Speaker 5: this thing live. You also have to make sure that
Speaker 5: you get the data that you want. For instance, in Norway,
Speaker 5: you know it's Norway, it's what is it, ninety eight
Speaker 5: point three percent of forest, So you should just pick
Speaker 5: random tiles from Norway. You're just going to You're just
Speaker 5: going to get trees and.
Speaker 2: Trees exactly.
Speaker 5: Yeah, So we have to be smart how to pick
Speaker 5: out this data when we're doing it live and stuff. So, yeah,
Speaker 5: so we have some rules that have to be set
Speaker 5: for some of the images that has to contain buildings
Speaker 5: and stuff.
Speaker 4: Right, So this is the main thing that we've been
Speaker 4: working on. What is the optimal way to to select
Speaker 4: data to get the best models?
Speaker 2: Right, really shaved down the part you don't have to
Speaker 2: you're not getting maps of the whole country. You're just
Speaker 2: getting maps of the interesting areas, the places where people are.
Speaker 4: Yeah, and training data for the interesting parts. Right, because
Speaker 4: if all the model cs our images, of course it's
Speaker 4: just going to learn that nothing is building and it's
Speaker 4: going to be correct most of the time, yes, but
Speaker 4: it's not going to be useful.
Speaker 2: How many buildings none point three per is correct right there? Yeah, Yeah,
Speaker 2: it's pretty dark accurate actually, three point one four our
Speaker 2: buildings in no.
Speaker 5: Way three point one four.
Speaker 2: All right, well we should break for a moment for
Speaker 2: these very important messages.
Speaker 1: You know, it's common for business application to contain fifteen
Speaker 1: percent repetitive code just because of metaprogramming limitations in the
Speaker 1: C Sharp language. Why write boilerplate manually when a machine
Speaker 1: could generate it for you? Enter Metalama, the code generation
Speaker 1: and verification toolkit for C Sharp. Their C Sharp to
Speaker 1: c sharp template language is simply amazing logging caching memento observable.
Speaker 1: If it's repetitive, Metalama can automate it. Visit metalama dot
Speaker 1: net today and learn to automate your code patterns with
Speaker 1: their free edition. Remember it's Metalama with one L E
Speaker 1: T A L A m A dot net. Hey Carl
Speaker 1: here if you're wondering how to step up your debugging game.
Speaker 1: Raygun's crash reporting now supports portable PDB and offline error storage,
Speaker 1: perfect for apps built with dot Net, MAUI or Windows
Speaker 1: Universal Platform. Just upload your pdbs and ygun will enrich
Speaker 1: your stack traces with crucial details. Never miss a beat
Speaker 1: in your development cycle again. Let raygun take the hassle
Speaker 1: out of error tracking. Visit raygun dot com slash dot
Speaker 1: net rocks that's Reygun, r A y g u n
Speaker 1: dot com, slash dot ne e t r o c
Speaker 1: ks for your free fourteen day trial.
Speaker 2: And we're back. It's dot net rocks. I'm Richard Campbell.
Speaker 2: That's Carl Franklin. You we're talking to Mattil de Malte
Speaker 2: about they challenge your geospatial data as well as how
Speaker 2: machine learning is helping out there, because you know, most
Speaker 2: of the time when I'm dealing with machine learning models,
Speaker 2: we're trying to get as much diverse data as possible
Speaker 2: for the training. Said, and you've just painted a really
Speaker 2: great case of where you don't want to do that
Speaker 2: because there's a lot of data that's irrelevant here, Like
Speaker 2: you really have to cut it down to just the
Speaker 2: populated areas, which is mostly coastal for Norway if I
Speaker 2: remember my geography at Norway. But even that would necessarily
Speaker 2: be a good criteria. You just have to You said
Speaker 2: it just before the break there meddild Does it have
Speaker 2: a building in it? Yeah, right, that's probably And I'm
Speaker 2: sure there's like wilderness huts out there somewhere that's like
Speaker 2: mostly forest, but there's a hut.
Speaker 4: Yeah, we did tests in the beginning. Just have a
Speaker 4: rule that said we only want training data if there
Speaker 4: is at least five percent building within that tile, right,
Speaker 4: which works really well if you want to focus on
Speaker 4: detecting buildings. But what happened is that whenever the model
Speaker 4: saw areas that wasn't connected to a building nature that
Speaker 4: is not the typically surrounding buildings, it's falsely detected buildings.
Speaker 4: White spots of snow right was detected as a building.
Speaker 2: Oops, like the face on Mars. Right, there's sh rock
Speaker 2: formations that could be building ish like, yeah, they could beloos, right,
Speaker 2: that's any thing.
Speaker 1: But okay, well you know it's called there's snow, there's ice.
Speaker 2: Yeah, somebody could make an igloo.
Speaker 1: I don't think it would have having a street address
Speaker 1: though no mailbox.
Speaker 2: I would also think that you've got lots of highways
Speaker 2: and things where there's not a lot around it for
Speaker 2: some stretch, like I've driven on those where it was
Speaker 2: just forest on both sides. I don't know that you
Speaker 2: need to map all the highways, but you know that
Speaker 2: would be something I'd want to discriminate for it. You're
Speaker 2: not going to get buildings from that or at.
Speaker 1: Least land and water, you know, unused land or unoccupied
Speaker 1: land and water bodies of water.
Speaker 2: Yeah, interesting, interesting shed of problems. So then, but the
Speaker 2: whole point here is to keep adding new data because
Speaker 2: they do want to look at things over time. Do
Speaker 2: you end up building like kind of time lapses to
Speaker 2: be able to look at a particular location, say here
Speaker 2: is several years and how it's evolving.
Speaker 4: So what we've actually done is that we've created a
Speaker 4: system that creates training data while we're training the model.
Speaker 4: And what it does is that it just selects randomly
Speaker 4: within a set of rules. So we have some rules
Speaker 4: that is creating data for tiles with buildings. How a
Speaker 4: tile five twelve times five twelve pixels?
Speaker 2: Okay, but and space that scale wise could be anything.
Speaker 4: Then yeah, it's so the images have a resolution of
Speaker 4: ten centimeters between ten and thirty centimeters per pixel special resolution, and.
Speaker 2: Then you're looking at five twelve by five twelve tile.
Speaker 2: I mean, that's just a big old jigsaw puzzle. Holy man, Like,
Speaker 2: do you have geospatial data associated with that shot? Right?
Speaker 2: You know roughly where it was taken?
Speaker 4: Yes, exactly, So we have the coordinate for the lower
Speaker 4: left corner. You have the spatial resolution, which means that
Speaker 4: we can calculate where in the real world we are.
Speaker 4: So when we can detect the building within that image,
Speaker 4: we can figure out where that building is.
Speaker 2: Now, wouldn't that geospatial tagging be the best thing for
Speaker 2: defining a set for a griven training set for a
Speaker 2: given area because you already know roughly where it is.
Speaker 5: Yes, it is exactly. And what we have done to
Speaker 5: speed the process of picking the best data for us
Speaker 5: is that we have within five meters of every building
Speaker 5: in Norway, we have made these boundary boxes. Then we
Speaker 5: made an sqo light database that we have mapped all
Speaker 5: of these data points into, so that we know exactly
Speaker 5: where all the buildings in Norway are and we can
Speaker 5: just pick from those areas. Yeah, so it goes really fast.
Speaker 1: Well that's great.
Speaker 2: So you've derived a data set essentially based on this
Speaker 2: image that says, Okay, these are the buildings we know about.
Speaker 1: Yeah, and then yes, about map reduce, that's exactly what
Speaker 1: that is.
Speaker 5: Exactly.
Speaker 2: Yeah, it's crazy set of boundary boxes. Now, I think
Speaker 2: the challenge with using the geospatial filter is if they've
Speaker 2: built out of the known range, you're going to miss it,
Speaker 2: like you kind of want to take a perimeter around
Speaker 2: that or look larger to say, where's a new set
Speaker 2: of buildings that we've just never mapped before. That's got
Speaker 2: to be kind of the hardest problem.
Speaker 4: Yeah, So when we're looking for new buildings and actually
Speaker 4: analyzing their images, we analyze every image. Okay, so the
Speaker 4: selection within the building areas is only for creating the
Speaker 4: training data.
Speaker 2: Hmm yeah, Oh I see. Now do you actually get
Speaker 2: images of all of Norway? I got to think the
Speaker 2: municipalities only map the area they're responsible for.
Speaker 4: No, we have images for all of Norway because the
Speaker 4: municipalities are responsible for their areas. But then there's also
Speaker 4: the Norwegian MAPP being authority. They also have images for
Speaker 4: all of Norway with the lower resolution but still very
Speaker 4: good quality.
Speaker 2: Right, So I presume you have provinces or states something
Speaker 2: like that, sub regions within the country that have an
Speaker 2: authority that's responsible for that.
Speaker 5: Yes, we have what's called which will be a state.
Speaker 2: I guess't you call me, but I guess this is
Speaker 2: part of the problem. Is I mean, this palady is
Speaker 2: going to give you very high resolution data relatively speaking,
Speaker 2: where the state level data will be lower resolution because
Speaker 2: it's mostly trees, so it doesn't need to be that
Speaker 2: precise exactly. Although we had a situation British Columbia with
Speaker 2: with the with the Pine beal where they were doing
Speaker 2: mapping showing that pine trees were being killed in the
Speaker 2: forest like in the wilderness. The other trees weren't affected,
Speaker 2: but they wanted because it increased the far fire risks.
Speaker 2: They're looking for where they're concentrations of pine trees that
Speaker 2: were dying because they burn really really well and create
Speaker 2: worse fires. And so they were doing all of this
Speaker 2: mapping and occasionally you got to see some of it
Speaker 2: where it's just like this whole slope is just pine
Speaker 2: trees and they're all red now, where all the other
Speaker 2: kinds of trees around it are still green. Like very
Speaker 2: interesting visualization data. Like we I'm such a geek on
Speaker 2: this stuff, Like let's get into multi spectral data where
Speaker 2: we could actually look at the stress levels of plants
Speaker 2: and you know, those different effects or even CO two
Speaker 2: emission and IR maps of all of this data to
Speaker 2: so what are the buildings that are environmentally inefficient or
Speaker 2: that have high emissions, Like there's a ton you can
Speaker 2: do with this data if you're scanning enough frequency.
Speaker 4: Yeah, definitely. So we've also tested using the infrared images
Speaker 4: because we also have infted images for a lot of
Speaker 4: areas in Norway, and the interted images will give us
Speaker 4: different information than the regular RGB images. And we've also
Speaker 4: included high data. So this is one of the exciting
Speaker 4: things here. We have all of these different data and
Speaker 4: we can combine it into our models in different ways
Speaker 4: to detect different types of objects, and different data will
Speaker 4: be good for different types of objects.
Speaker 2: How do you get the height data?
Speaker 4: It's also collected for Norway by the I think it's
Speaker 4: also the mapping authory, the.
Speaker 2: Vector stuff, so they must have something that they're pinging
Speaker 2: the how far they offer on the ground at any
Speaker 2: given point, Like, are they actually giving you the heights
Speaker 2: of different buildings? That to me would be astonishing.
Speaker 4: Yeah, it's height for different Yeah, the point clouds.
Speaker 5: Okay, it's very very accurate. Yeah, very cool to look at.
Speaker 2: Is the height data specific to a tile or is
Speaker 2: it or is there different height data within the tile?
Speaker 4: Different within the tile. It's also very higher resolution.
Speaker 1: So per building, basically we'll be higher than that higher.
Speaker 4: Yeah, it's many points for one building.
Speaker 2: Yeah. Yeah, sure, if you have a if you have
Speaker 2: a height data per ten centimeter pixel, you know you're
Speaker 2: going to be able to map out a rooftop. You
Speaker 2: be able to extinguish individual like an air conditioner sitting
Speaker 2: on a roof would have a different height from the
Speaker 2: rest of the room.
Speaker 1: Yeah, or chimney or something else.
Speaker 4: Yeah, yeah, definitely if you look at the height data,
Speaker 4: you can definitely see what kind of areas you're looking at. Crazy,
Speaker 4: it's very accurate. Yeah, and it helps us to differentiate,
Speaker 4: for example, terrace from an actual building, right.
Speaker 2: I was just thinking it's easier to buildings have a
Speaker 2: different height profile than normal terrain does, so it might
Speaker 2: be a good way to say that's probably a building
Speaker 2: because it's too uniform or it has a you know,
Speaker 2: consistent slope like things that only humans would do. So
Speaker 2: it's actually not a bad building detector. Even if the image,
Speaker 2: the visual image doesn't nestually show it up. The height
Speaker 2: data could really trigger you on saying that looks like
Speaker 2: a structure.
Speaker 1: Yeah, So are there other things besides like patches of
Speaker 1: snow that have confounded the algorithm or whatever?
Speaker 5: The detection we also found that we also found Atlantis. Oh,
Speaker 5: or there's it says that there's buildings out in the water.
Speaker 1: Yeah, you found Atlantis, yes, yeah, because it's in the
Speaker 1: training data.
Speaker 5: In the beginning, there wasn't really enough data with water,
Speaker 5: so it thought that patches in the water was also buildings.
Speaker 5: So that's where a lentiss that's in Norway if everyone
Speaker 5: was wondering, Yeah, that's.
Speaker 2: Why we haven't been able to find it. Talking about
Speaker 2: the Mediterranean, he had no idea it was a north
Speaker 2: Sea the whole time.
Speaker 5: Wow, exactly.
Speaker 2: Yeah, yeah, the height data is not going to help
Speaker 2: you there. The ocean is a pretty consistent hype. But yeah,
Speaker 2: but yeah, you could easily have shapes in the water
Speaker 2: that could be mistaken for buildings.
Speaker 5: Yeah.
Speaker 2: Yeah, I mean we're almost anthropomorphizing the software's ability to
Speaker 2: recognize images, right, like it's making the states of work
Speaker 2: is just not a good enough training set. Although yeah,
Speaker 2: I don't know how you even filter for that. You
Speaker 2: do you give it a set of things in the
Speaker 2: water that are not buildings to help it? Do you
Speaker 2: can not to avoid that? Yeah?
Speaker 5: Exactly?
Speaker 2: Can you do that negative option? Or you only train
Speaker 2: it towards what it should find as a building.
Speaker 5: Oh, we have to we have to also include because
Speaker 5: when we started out, we only did buildings, and in
Speaker 5: the area with high concentration of buildings, it worked really well,
Speaker 5: but then when we did it in a more rural area,
Speaker 5: it didn't work so well. So then we also now
Speaker 5: have to include some water and forests and snow and
Speaker 5: all that kind of stuff.
Speaker 2: And so your training to actually say that is objects
Speaker 2: in the water, so not buildings.
Speaker 5: Yes, exactly.
Speaker 4: Yeah, we're saying, yeah, it's it's only binary. So we
Speaker 4: say building or not building, and we make sure that
Speaker 4: there are images of water in the data set that
Speaker 4: is labeled as not building.
Speaker 2: It's not building. Okay, yeah.
Speaker 4: But one thing that we've done to make sure like
Speaker 4: you can kind of imagine that you need some water,
Speaker 4: you need some forests, you need some mountain, you need
Speaker 4: some building, and this will be a representation of reality.
Speaker 4: But it's really difficult to know how much of the
Speaker 4: different types of data that the model leads. So what
Speaker 4: we've done is that we start out with with a
Speaker 4: set of rules for how much the data the model
Speaker 4: should have for each category, but then we also let
Speaker 4: the model find the data itself. So while we're training
Speaker 4: the model, we're testing different images to see how well
Speaker 4: the model is performing, and if the model performs badly,
Speaker 4: we add that data to the training data set.
Speaker 2: Right, Okay, something I understand where you have L forty's
Speaker 2: because you're going to retrain a lot. You have several
Speaker 2: different sets of building not building, and you're going to
Speaker 2: put different weights on them and retrain and retrain and
Speaker 2: see I mean I got imagine then you get Then
Speaker 2: you run it through a functions a functional data set
Speaker 2: and see how much is wrong and are there collections
Speaker 2: that are wrong? But you could then tell you we
Speaker 2: should be harder on identifying water structures as not building. Yeah,
Speaker 2: at some point it's going to start ignoring real buildings.
Speaker 1: Yeah, that's a nice feedback loop exactly.
Speaker 4: And that actually happened with the snow example because one
Speaker 4: of the reasons that snow can look similar to a
Speaker 4: building is that we have greenhouses, and greenhouses can have
Speaker 4: a lot of reflection, which means that it looks white right,
Speaker 4: similar to snow. So when we added more pictures of snow,
Speaker 4: we suddenly had greenhouses that were not correct. This is
Speaker 4: always a difficult part great problem.
Speaker 1: What is the sauna to domicile ratio.
Speaker 5: We wish we had a number for that one. We
Speaker 5: wish we had a.
Speaker 2: Number for that. One of the reasons I brought up
Speaker 2: the solar panel thing is I did the the Future
Speaker 2: of Energy talk in Norway and I could not find
Speaker 2: good data on residential solar because there's enough of it
Speaker 2: that it's just not well mapped right and mostly well
Speaker 2: And you know, it's interesting that Norway didn't have commercial
Speaker 2: solar being land used for solar panels, because anywhere you
Speaker 2: have flat land you have better uses for it than
Speaker 2: solar panels. But tops of buildings are covered in solar
Speaker 2: panels because it's good use for that. But again there's
Speaker 2: not The government did not have good data on just
Speaker 2: how much you know, pseudo commercial rooftop solar there was,
Speaker 2: so you know, I'd like you to answer that question
Speaker 2: for me. Not that I need to answer ext it anymore,
Speaker 2: but it was one of those things it's like, it's
Speaker 2: a great question to ask, and in theory, you know,
Speaker 2: you could build a training set around can we detect
Speaker 2: solar panels from this data? And then you know, somebody's
Speaker 2: willing to pay for the compute time to figure that
Speaker 2: out and maybe get a map of the of the
Speaker 2: reality of what's out there.
Speaker 4: Yeah, and one of our colleagues is actually working on
Speaker 4: a system that can figure out which areas are good
Speaker 4: for having solar panels in Norway based on all our
Speaker 4: geographical data. Yeah, so if we combine that with where
Speaker 4: there are existing solar panels, you can find really good
Speaker 4: good areas.
Speaker 2: Yeah, lots of possibilities there for you know, utilize attity.
Speaker 2: You know, it makes sense for you to go to
Speaker 2: a building that's there that you know about, it doesn't
Speaker 2: have solars on the roof and go. You would get
Speaker 2: good results from putting solar panels up here. We've got
Speaker 2: a data set that shows that.
Speaker 5: Yeah.
Speaker 2: Yeah, it's not always an obvious thing, but it speaks
Speaker 2: to the power of the data just making it easier
Speaker 2: to manage because there's it's a lot of information. Yeah,
Speaker 2: I'd like to decomposition model. You can take all these
Speaker 2: different sources of data and break it into tiles and
Speaker 2: then map it into a common system.
Speaker 1: Do you foresee having to upgrade your in house systems dramatically?
Speaker 1: Are you growing that much? And do you have a
Speaker 1: plan to grow as your requirements grown?
Speaker 5: I mean we're definitely growing, but I'd say that this
Speaker 5: is maybe like one project that we're working on, you know,
Speaker 5: it's continuously training, continuously getting better. We're also in the
Speaker 5: meantime doing a lot of other projects. So yeah, it's
Speaker 5: mostly those that are that are in line up growing.
Speaker 5: So we won't buy any more GPUs okay anytime soon?
Speaker 5: I think.
Speaker 2: I guess the question is like how long are you
Speaker 2: waiting to finish a training set these days? Like when
Speaker 2: is it long enough that buying another one would make sense?
Speaker 5: How long is the training now?
Speaker 2: Is it's yeah? How long is a training run taken
Speaker 2: right now?
Speaker 5: Yeah?
Speaker 2: It takes on that parallel L forties.
Speaker 4: Yeah, when training a new new data from scratch, it
Speaker 4: would take between two and three weeks for it to
Speaker 4: be good.
Speaker 2: Wow, yeah that's a long time. Yeah right, Like so
Speaker 2: if you had four L forties, would it be a week?
Speaker 5: Yeah? In theory?
Speaker 1: Or is it just the fact that you can wait?
Speaker 1: Is it just the fact that you can wait for
Speaker 1: it and nobody's knocking on the door saying hey, you know, yeah, yeah.
Speaker 4: We can It's it's okay for us to wait three
Speaker 4: four weeks for this because we have a model that
Speaker 4: is good, and then we're testing different things and we're
Speaker 4: not sitting waiting and doing nothing. We have different projects
Speaker 4: running in the background.
Speaker 2: But it sounds like those two L forties are probably
Speaker 2: running at their limit most of the time. Yeah, like
Speaker 2: they're they're saturated. Y.
Speaker 1: Yeah, So are your other projects also dealing with geospatial
Speaker 1: data in these models or or you said this is
Speaker 1: just one project. Are there any other projects that you're
Speaker 1: doing they're totally different.
Speaker 5: Yeah, definitely, we have a bunch of projects. So the
Speaker 5: biggest one we're doing right now is is probably trying
Speaker 5: to make sense of Norwegian sonal plants and these sonal plants.
Speaker 5: You know, I don't know how it is in the
Speaker 5: over in the States, but in Norway you have sonal
Speaker 5: plants and that's all. The municipal municipalities have their own
Speaker 5: sonal plants and they say something about how how the
Speaker 5: land in that municipality should be used so it can see.
Speaker 2: Right, so the zone for residential, zone for commercial, zone
Speaker 2: for industrial. Yeah, and that's all you're allowed to use.
Speaker 2: I mean, that's a that's a common practice, right. You
Speaker 2: generally don't want a chemical plant beside the residential area.
Speaker 2: You know, those kinds of things.
Speaker 5: Yeah, and they're they're very detailed, and it could be anything
Speaker 5: like oh, here you cannot build a building that's higher
Speaker 5: than five meters and over here you can't build a road.
Speaker 5: It's illegal. You know, all these kinds of things. So
Speaker 5: what we're doing, is that what just like everyone else,
Speaker 5: using the large language models to try to to make
Speaker 5: sense of these plants?
Speaker 1: Yeah, okay, And is that using a geospatial data Yeah, yes,
Speaker 1: you can go. So so everything start of that you
Speaker 1: do revolves around this data.
Speaker 4: Yeah, usually it sounds like yeah, yeah. So the sonal
Speaker 4: plans have two parts. You have the document, which can
Speaker 4: be which can be up to hundreds of pages with
Speaker 4: really difficult texts to understand. And then you have a
Speaker 4: part that it's the map that tells us where what
Speaker 4: part of Norway it's the sonal pen is covering. And
Speaker 4: that map usually has a lot of information that is
Speaker 4: not in the text document. So we combine information from
Speaker 4: the map and the text document together in an LM
Speaker 4: to try to make to understand the content and to
Speaker 4: figure out which part of the document specific for a property.
Speaker 1: That's good.
Speaker 2: So you're using a large language model in that so
Speaker 2: that people can use like a text expression to put
Speaker 2: the affection the data.
Speaker 5: Yeah, exactly. So, you know, as much as I don't
Speaker 5: know personally, when I see a chet bot, you know,
Speaker 5: I don't really like it that much at least sites.
Speaker 5: But yeah, so now I'm sitting here and making making
Speaker 5: a chet box because I want.
Speaker 1: I like that.
Speaker 2: You guys are the old school AI. You were doing
Speaker 2: it before it was cool. But no, you've been infected
Speaker 2: by the ll M monster too, right, It's just sort
Speaker 2: of consumed all of us the past two years.
Speaker 1: I especially hate happy chat bots, you know, overly enthusiastically
Speaker 1: happy chat bots.
Speaker 5: Will will make ours a little bit meaner.
Speaker 1: Yeah, actually, you will probably get better usage if you
Speaker 1: throw in snarky comments every once in a while and
Speaker 1: even little insults, you know.
Speaker 2: Yeah, John Rickles.
Speaker 5: Mode, you know, like, we'll make one now for sure. Yeah.
Speaker 1: When somebody says that data is wrong, you could say
Speaker 1: your face is wrong.
Speaker 5: Yeah, for sure, we'll look into that. I think it's
Speaker 5: important to.
Speaker 1: Make it a little bit a little more exciting to
Speaker 1: use anyway.
Speaker 2: Yeah right, right.
Speaker 1: So what's next? What's in your inbox? You guys? Matilda?
Speaker 1: What's next for you? Project wise or anything?
Speaker 4: Well, we've been testing a lot of a lot of
Speaker 4: different ideas with our data and our products. And one
Speaker 4: thing we do is that we invite to different product
Speaker 4: teams to have hackems with us, right, and we tried
Speaker 4: to figure out how AI can fit into their products.
Speaker 4: And one of the hack films that was really fun
Speaker 4: was one we did together with our Mono Repo team.
Speaker 4: So we have a platform for running our front end applications.
Speaker 4: So we have all of our three point fourteen products
Speaker 4: for developer in one big monory po and we try
Speaker 4: to figure out how AI can help developers when they're
Speaker 4: coding in that big monory pot. And we figured out
Speaker 4: that you're now actually allowed to create a visual studio
Speaker 4: code extension on top of the GitHub co pilot extension
Speaker 4: that allows you to build your own functionality into the
Speaker 4: gitub co pilot chat wow, And we've had a lot
Speaker 4: of fun with that.
Speaker 1: That sounds fun, Yeah, we've added.
Speaker 4: Yeah, we've added our own functionality into that where you
Speaker 4: can chat with specific nud Cutch documentation. You can add
Speaker 4: a support a chat to our chat room directly after
Speaker 4: if you don't get your answer, you can summarize your
Speaker 4: chat and directly have it posted to our chat room.
Speaker 4: Stuff like that.
Speaker 1: Cool, how about you melted with's in your inbox?
Speaker 5: Well, it's going to be making some new personalities for
Speaker 5: the chat bob. That's probably the first thing I'm.
Speaker 2: Going to do.
Speaker 5: Your face, No, but it is trying to figure out
Speaker 5: if this actually is going to work, you know, these
Speaker 5: tonal plans and finishing you know that that product, and
Speaker 5: trying to show it to our users and see if
Speaker 5: they're happy with it, because it's really it's really difficult
Speaker 5: to like prompt these correctly and try to to make
Speaker 5: the I assume most people these days are familiar with
Speaker 5: rag architecture, I don't know, but trying to optimize the
Speaker 5: searching part and the prompting part and stuff like that.
Speaker 5: So there's a lot of tricks and stuff with that
Speaker 5: these days for sure. And then we're also you know,
Speaker 5: looking into as I mentioned, you know, chatbots, not you
Speaker 5: know that fun. It's not the best thing in the world.
Speaker 5: So we're trying to look at how we can parse
Speaker 5: these sonal plants in other ways, such as you know,
Speaker 5: making summarizing pages and trying to just extract useful information
Speaker 5: from these documents. Depending on what property you are on.
Speaker 1: Yeah, very good. Well, I wish you good luck, rich
Speaker 1: and I wish you good luck in the future. And
Speaker 1: you know, if there's anything we're talking about, come on
Speaker 1: back at a later time and we'll do another show.
Speaker 2: Yeah, customizing customer and get HELB copilot. Sounds like a
Speaker 2: cool topic.
Speaker 1: Sounds like a great topic.
Speaker 2: Yeah for sure.
Speaker 1: All right, thanks again, all right, thank you guys, Thanks
Speaker 1: for having us, Thanks for having us. You bet, and
Speaker 1: we'll see you next time on dot net rocks. Dot
Speaker 1: net Rocks is brought to you by Franklin's Net and
Speaker 1: produced by Pop Studios, a full service audio, video and
Speaker 1: post production facility located physically in New London, Connecticut, and
Speaker 1: of course in the cloud online at pwop dot com.
Speaker 1: Visit our website at d O T N E t
Speaker 1: R O c k S dot com for RSS feeds, downloads,
Speaker 1: mobile apps, comments, and access to the full archives going
Speaker 1: back to show number one, recorded in September two thousand
Speaker 1: and two. And make sure you check out our sponsors.
Speaker 1: They keep us in business. Now go write some code,
Speaker 1: see you next time.
Speaker 4: Got you.
Speaker 1: To see the summer time like me his home and.
Speaker 2: My Texas in line.
Speaker 3: Dall