Let's get going,
we only have one question which is the usual from yours,
which is what the dog's doing.
Our dog's in the kitchen right now,
um,
I finished like a microwave meal
and the container like had sauce left in it,
and then I do this thing like
where I look at the back of the,
the package and I read the ingredients and then
I like go through my internal database of like,
is this toxic to dogs,
and then like
I update it by Googling some of the ingredients,
etc.
But suffice to say,
all the ingredients were fine for dogs,
so he is licking the sauce out of this microwave container.
Um,
he's now gonna bark at the door,
and I'm gonna shut the baby gate.
Is there sound,
yeah.
Look,
the light,
the light's turning green,
guys.
The light's turning green.
I'll just leave and rejoin the stage,
that's what usually like fix this this.
How do I get up?
God,
now I'm stuck.
That
I don't know how to get up.
Stop it.
I,
I don't know how to get,
oh my
God,
uh.
OK,
so Discord changed its UI and I couldn't figure out how to get back on the stage.
I'm here now.
Uh,
yeah,
I just left,
um,
Fed has now decided that they wanna bark out the window,
so I have now shut the curtains.
We're working on it,
it's,
it's a challenge.
Uh,
I won't repeat the question,
but
cause it's changed like 3 times,
but yeah,
they're barking out the window.
Uh,
yeah,
so that was the,
the dog doing question,
but we now have answers to like 3 different things.
Alright,
let's move forward to what are some of
the coolest uses for resonant linked you've seen,
um.
Uh,
I haven't seen any,
uh,
which is like probably a bad thing for like a,
a resident team member to say,
but like I,
I am
so busy doing other things
that I really haven't had a chance to,
to,
to take a look at it.
I was interested to see,
um,
Earthmark's uh GRPC stuff,
uh,
and it caused me to go back down the rabbit hole of,
of reminding myself what GRPC is.
Uh,
and then re-reminding myself what protocol buffers are,
and then,
uh,
you know,
various other things like that,
but that isn't quite
like resolite like.
I promise that I'll actually take a look at resolite Link at some point.
It's just,
it's,
it's always hard to kind of balance,
um,
working on the product with using the product,
and so sometimes it just falls by the wayside.
The only problem I have with like that sort of situation
is in like larger companies,
you can sometimes end up losing
um
losing insight
into like what the product is because you're not using it,
that,
that doesn't occur cos I'm still using it,
I'm just using it in like vastly different ways to like
haze how say,
fruits might be using it right now and working on resonate Link,
I'm using it in like.
Cloud services and
like
APIs and data and all sorts of stuff like that.
Moving forwards uh to Gaudi Runi,
why did you choose
to use Docker for the Wiki instead of PodM?
Yeah,
there's like a confusion item there that I have which is like,
can't you just use the same files
for PodM,
like it supports Docker composed files as far as I'm aware.
The other problem there as well is that like
I'm kind of getting old,
I'm like I can't,
I can't keep up with all this sort of like open source licencing drama and outrage.
Happened with the the wiki search as well,
right,
I was like,
oh yeah I'll need Elastic Search and I looked and read the Read me and it was like.
Oh,
we're moving,
removing Elastic Search support because like open search is better,
and I'm like,
OK,
great,
and then I had to go read about the Elastic Search,
open search drama.
It's just like,
I don't like,
I don't have time to do all of this.
So in some regards when it's like,
hey why did you decide to use Docker instead of PodM,
it's like
Docker works man,
Docker works.
I,
I do think that we'll probably end up moving over to PodM.
Um,
I did even try,
like I,
I made an effort.
I installed the PodM desktop client for Windows.
Uh,
it started up,
threw 5 errors at me,
and I was just like,
nah.
I don't think there's much difference though,
so we can,
we can swap over.
One of the other problems that we have though is that the,
um,
server involved has a bunch of containers on it that I literally cannot stop,
and it scares me every single day.
The wiki is now not included in those,
so,
um.
That's cool,
but the version of Docker that that machine is running is like
a little bit down rev,
so like I,
I,
I'm not sure like all of the services that are currently on um
Docker would be supported by Podman regardless.
Uh,
so that that's what's going on.
We also had the same problem there with
like Terraform and then like what's it called,
like open tofu or something.
I,
again it's like I can't keep up with this stuff.
I can't,
like,
I can't keep up with it.
Uh,
or he says,
the benefits of pubman is mainly
not needing route to run.
You can set up Docker to run like that.
It's just like extra effort.
I usually think like
the whole like route privilege thing is like a little,
like it's a little
overblown in most cases.
Um,
it's still very important to like try and do.
Uh,
but like,
as far as security sounds,
it's like,
I don't know,
I sometimes it's a little overblown.
That and like security's like a,
a constant battle,
you know,
it's like,
oh,
what about this?
I was thinking today there's something I need to do
to the wiki to increase security in that regard,
so it's like,
ah,
ugh,
you know,
there's just like war and more things that just like
need to keep happening.
I have a question from a computer user,
have you ever been far,
even as decided to use,
even go want to look more like,
um.
My response to that one,
is,
have you ever had a dream
that you could,
that you would,
that you could,
uh,
fun fact,
they actually interviewed um this guy as a,
as a like a follow-up interview,
and,
um,
he unfortunately does not remember what he was trying to say,
which is perfectly understandable given the age at the time that this,
you know,
the video was made.
But still like it's like a,
I don't know,
it's like a loss.
What we need to do is like invent telepathy,
this is like a little bit dystopian,
but like invent telepathy and a time machine
and then we can go back in time and like get the thought out of his head.
I think if we could go back in time with a time machine and speak to the kid,
like I don't think they'll be able to articulate it.
Um,
or they would forget it quickly,
but if we could go back in time with a telepath,
go back in time,
stand the,
you know,
telepath next to the kid and be like,
just,
just tell us what the hell they want.
Just tell us what the hell they want.
Um,
I've seen a couple of like
TikToks or shorts or whatever that
um
cover that as well.
It's like,
I don't know why like it keeps happening,
I guess like my,
my
algorithm's a bit screwed up in that regard,
but I keep seeing like shorts where it's like
the mother explaining how long it took
her to understand
um
what their,
their,
their child wanted from them.
And it's like,
you know,
when your child wants food,
what do they say,
and it's just like,
oh,
all these other things that are like really complicated and and
totally not like
exactly what they want.
Moving forwards to
um,
Aurora,
who says,
I don't know if this is the right way to use Office House,
totally is,
um,
there is a way to have swappable outfits,
sort of smackable targets.
The,
the problem of like swappable um outfits is that
they need to update like
when you're talking about an outfit,
you're talking about something that deforms with the character,
right,
so it deforms with the avatar,
when,
when you bend your avatar's arm,
the clothing or outfit also bends.
And so what happens there is that you need to um
when you snap it onto the person.
You need to update all the bone references
on the skinned mesh
or
um the,
the outfit won't move.
And so that isn't
easy to do
with like
native stuff that we've got in a way that makes it sort of like
one and done,
but if you've got a pre-set up avatar and pre-set up outfits,
you can do it with like snappable.
Um,
the better way that people usually do that is
with like context menus and the active state.
Um,
I think there's like also like a mod that can handle that,
um,
a little bit better.
Uh,
I was trying to remember who did it.
They had like a,
a snappable thingy.
Oh,
here's how I do clothing,
um.
I have like an asset multiplexer and my different t-shirts are just like
different
texture files.
Yeah,
like a,
a common one to like,
you know,
get your head around it is like a hat,
right?
You,
you parent the hat to your head,
so it follows you around like a hat.
uh and then you,
you toggle its active checkbox with like a context menu item,
and then you've got
like a,
a toggleable outfit.
The other problem there as well that I,
I believe you're hinting at with your response,
Aurora um Aurora says
I was using a,
a main Friends avatar due to the base of the body being mostly the same on all of them.
Yeah,
that's like uncommon,
um,
it's like
you'll get a lot of people who are asking,
they're like,
what about this like random t-shirt?
And
like that random t-shirt was modelled for a random avatar.
Like it's not
in resonite,
gonna like go onto your avatar with the correct weight painting and deformity.
Um,
like,
probably ever,
uh,
that's always gonna require like
blender,
um,
or like a 3D modelling application to sort of adjust.
There's a bunch of add-ons there in the sort of blender space that can sort of
re-weight paint stuff and like vacuum seal it to
like people's avatars and make that a lot easier.
Maybe we'll have those in resonite one day,
but,
but not currently.
So yeah,
my recommendation is is is to use like active checkboxes instead and also
keep an eye on how many outfits you actually wear.
Um I have this problem via chat a lot.
Um,
because people just like shove like 400 outfits into their
avatar and then only wear like 2 of them,
and it's just like great.
I totally wanted to load your Unity package full of like
5 different outfits that you never wear.
Uh,
moving forward to,
uh,
I'm not gonna
butcher this pronunciation,
says Sweck,
uh,
what is your,
uh,
opinions regarding connecting AI with resonant link as a tool?
Uh,
I have two opinions.
So opinion number 1 is the companywide EMS response,
which is
we are developing a document,
um.
It's like a a sort of
AI policy and it like clarifies our stance as a company
about like AI and how we use it and and how,
you know,
our,
our community can use it etc.
Um,
that's being worked on currently and will be,
um,
will be released when it's ready.
Probably on the policies,
uh,
site.
Uh,
my personal opinion,
I don't care.
Like,
the,
the ressonite link was made to be a tool,
and in some regards we,
we don't get to decide what people use that tool with,
we just need to make the tool better.
So if you go to the ressonite link,
read me,
you'll see there's a huge list of things that Frukes was like,
here's what I think the community is going to use ressonite Link for
and.
He missed some,
right,
he missed some uses,
he also put some uses in that list that I didn't think of.
So like
when you make an SDK and you make a platform like ours where anyone can do anything,
you can't really turn around and be like,
well you can't do that.
Like it's an SDK it's an API
it's a development tool,
so that's why like I don't.
Like,
I don't care.
Like I have my own personal opinion about AI,
but like
AI with resonite link,
perfectly valid use of all of the technology that we built.
Moving forward to Goldie Runi,
how likely are very small changes to the world tab to get implemented?
Some icon swap,
GitHub issue number 60.
That is a low issue number.
You get
that,
I'm gonna load that cos that's such a low issue number,
I'm gonna go ahead and load it.
I'm I'll probably load it anyway,
but like I'm,
I'm just curious cos it's like that's a really low number.
Oh yeah,
ridiculously easy,
I just like,
I didn't,
like it's just on the,
it's just on the pile,
right?
It's just on the pile.
Yeah,
it's gotta be swapped with a hamburger icon.
Yeah,
yeah,
it's,
it's easy,
it just,
it hasn't been prioritised
cos it like
I,
I get that like it's an important thing,
but compared to everything else we're doing,
like changing an icon out is it's not able to be prioritised right now.
I am assigned to it,
but I don't have it on my task board,
so I've,
I've moved that
across.
Now it's on my list and I'll put it in the fun list,
not that I get to pick from the fun list that much.
One of the other things for any of the other resident team that are here is like,
feel free
to like take anything off me
that isn't in like ready or in progress,
cos like I'll probably get to it.
There's like 83 items in backlog,
41 items in fun,
like if you wanna do it,
go ahead,
do it,
like don't,
don't worry about it.
There's even like a,
a description on each column where it's like,
hey,
uh,
team members should be thrilled to take the items
from here if they're able to work on them,
like,
just,
just go for it,
I won't,
I won't be mad.
Uh,
Emergency Temporal shift asks,
are,
are there any plans,
possibility
of opening up Resonant link to non-host users?
I'm not sure of the security implications about that.
Um,
Brooks might have a like a better idea about the security implications of that.
One of the things to keep in mind is that like,
we have to think about
security first,
but we also have to think about like what a session would look like.
Um,
so imagine,
imagine like a,
a full session,
like 10+ people,
like all connected via resolite link,
that's probably gonna be a mess.
I think like it would handle syncing provided
like things aren't like doing much work,
like you,
you know,
you can build collaboratively.
Creator Jam does it every week.
Um,
they
humongous amount of issues they have doing that,
um,
periodically,
but
they're working on it,
as are we,
trying to help them out.
Moving forwards to Yosh's question,
you said it had Visy response to me posting the past don't validate blog post.
Yes,
um.
I'll grab it right now.
Yes,
it was this guy.
Like,
does your browser just not work sometimes?
Like does just not work,
cos like
I just opened a new tab to load the video to double check it was the one I wanted to send,
and like the entire tab went grey
and then like nothing happened.
No,
I swapped to a like a Firefox variant.
Uh,
so Joosh,
here is the,
the video for you,
for the benefit of the recording.
Um,
it's a video by the channel RR Dalis,
which is a very small channel,
but I've watched a few of their videos,
um,
and they've,
they've got their head on straight when it comes to like various things.
Um,
that video is quite,
quite old but
still valid.
Uh,
they've also got,
like,
I don't know,
it's like.
There's a like there's a combination of lighting
and their appearance that is like
unusual to me,
but not like in a negative or positive way,
it was just like
in a sea
of um
in a sea of thumbnails,
it it stood out for some reason.
So that's why I ended up clicking on it
many,
many months ago when I first found that video.
Like in other thumbnails,
they don't have the same,
like,
I don't know.
Like in other thumbnails it's like,
I don't know if it's lighting or something,
it just,
it just looked,
it looks slightly strange.
It might also be the like the
like sticker cut
outline I've just noticed.
Oh.
So you know I was just talking about like open source software and stuff like that.
I've just
visited Arnali's channel and it's like
auto mapper and mediator go commercial.
Yes,
I remember that one.
I cannot remember what those those um libraries do,
but I remember reading that.
Uh,
for those who are like,
uh,
behind the times,
that's the wrong word,
sorry,
for those who are unaware of what Josh and I are talking about,
there's a common problem in,
in programming where you have like a value,
common one is like string,
right,
cos there's all sorts of strings that you might need to sort of deal with.
Um,
and you find yourself repeatedly having to be like,
well,
is it valid?
Is it valid,
is it valid?
You know,
you've got a function that takes a string and
you don't know where that string's come from.
So you have to check if it's null or empty again,
string is null or empty,
or like it's a postcode or a zip code maybe,
and you pass it around as a string,
and again,
every,
every function that takes it in has to be like,
well is this valid,
like I'm a public function,
so this uh this postcode or zip code could have come from anywhere,
like how do I handle it?
Uh and so the
um.
Solution to that can be passed validating.
It's not a solution that like should always be applied,
but it can be applied.
A very good example of it being applied in .NET is the URI class.
So the URI class models,
It's a long story,
just,
just
like
replace the terms in your head interchangeably,
you'll be fine for the most cases.
A URI class
um can represent a URL,
you know,
one that you type in your browser.
It could do more than that,
that's why there's a difference in naming,
but
um it can handle most URLs.
And if you grab a string from,
say,
user input database or whatever,
and once and once only,
you pass it into the URL.
class,
you know,
when you pass it to different functions within your code,
that it's a valid UI cos you've checked it once and now it's a UI object.
And additionally,
you don't need to do any parsing yourself.
You want the,
the host portion of the UI.
UI class has done that,
and I guarantee it's uh
regular expressions or wherever it does it are probably much better than yours,
uh,
because the UI spec is a nightmare,
like a complete nightmare.
I like these,
like not many people can um
like
like initially read them,
but I'm gonna post the
um
URI like
what's it called?
syntax diagram,
that's the word.
Uh I gotta find office hours though,
where is it here?
So this is a like a horizontally red diagram that shows you how
um a URI is structured,
which looks very bad in Discord dark mode,
but
like it,
it tells you everything,
but like there's there's more parts than you usually think though.
This is an image.
OK,
I really didn't expect this to be an image on Wikipedia,
seeing as it's mostly text information.
Uh,
but it's an image,
and again,
it's impossible to read on Discord Doc.
But the,
the top example on that image,
this is all just from the,
the Wikipedia page,
the top example on that image with john.doe at www.example.com has
like all of the segments of your eye and it's like
more than you would initially
uh handle.
And here's that page.
Those syntax.
Diagrams,
there's um
one of those like flow syntax diagrams for Jason,
and again like I used to not be able to read that and now I can.
It's just like,
here's how Jason works.
Uh double checking I've not missed any other questions,
we had a question about what resonant link was
um.
There's a,
I'll,
I'll read like the first paragraph of the read me for the benefit of the recording.
Well,
what is Resonite Link?
While Resonite has a heavy focus on building things in-game,
interoperability with external tools and scripts is also important
as it plugs Resonite into a larger ecosystem.
Resonite Link is a
simple protocol designed as a foundational building block to allow anyone to more
easily build external tools and interfaces to read and write Resonite's data.
Model.
Um,
so the,
the non-technical description of that is like other
tools and techniques and SDKs and libraries and software
can speak now directly to resonate and sort of control it a little bit.
Only the data model,
but like
for sort of hand wavy
understanding
control resonate.
Uh,
says Wek again has a question about Resonate Link.
Will Resonant Link have?
Some queries for listing available component names.
I also noticed metadatabase components are not returning
many fields correctly.
Um,
should that be correct?
Uh,
that sounds like it needs a GitHub issue,
that second part of it,
but the first part of it,
you should go take a look at the reflection,
the reflection
doobly doos,
reflection.
There's a,
there's a,
a branch that Frukes is working on called like Reflection.
I believe that has all the stuff you need.
Yeah,
the reflection PR,
I'll read the first couple of lines.
This adds a number of models and methods for reflection,
fetching components,
their definitions and structure,
as well as other data types.
So you can go ahead and take a look at that.
Moving forward to
Goudie Runi's question,
do you think Jason passing Protoflux nos will
prioritise higher since Resonite Link communicates to Jason?
No,
completely unrelated.
Um,
Resonite Link is,
is good
in the way that it works because
it has like a,
a locked schema,
right?
There are
a number of messages and responses that resonite Link can,
can send,
but those aren't.
Like they're structured,
they're known,
there is no like ambiguity,
we know ahead of time all the sort of
structure and syntax of a message that will be coming across via resonate link.
The problem
with uh Jason Protoflux notes is
they're dynamic.
Um,
are you handing them.
And by them I mean the protoflux.
Are you handing it like a,
an object that describes a book?
Are you handing it an array that describes a list of books,
or maybe
a
uh object that has arrays within it
that's a library of books.
And that's why you need collections because all
of those things could happen with like a Jason
um
file or endpoint.
Like one,
many,
and many of many.
A sick access,
is the wikifavicon broken?
I think it is.
Uh,
I'll go ahead and take a look at the
wiki.
Uh,
Repo and chuck in something.
I like the part in like new new GitHub repositories
where like the issues can be really,
really basic,
so I just made one that's like Favicon and then the like contents is fix.
Because
like,
uh,
the longer a Gb repo exists,
the more complicated its issues get,
right?
So
let's imagine,
um,
that we're in,
I don't know,
3 years from now.
The issues for the wiki like repo in 3 years from now,
they would be
like
really more complicated,
whereas the ones right now are just like fix the Favicom,
bro.
Uh,
saysw asks why is type on most,
almost all values?
Uh,
it's like an internal.
Uh,
system.text.
Jason field that like lets you know the like
type of things,
but when it says type,
it means
like
C type in most cases.
Not to get into the weeds about like how resonant link works,
but we can go ahead and take a look at uh
yes,
message.
Uh,
so.
Here is the main message class,
which is actually like a base class of all other messages.
And you can see that all of these um messages
have got,
actually the message class has all of these annotations on it
which define all of the message types and you'll see Jason derived type.
Jason derived type is,
is like
when you see dollar type,
that's how that works.
It's like,
it's like weird marshalling stuff.
Uh,
Josh had some more commentary on.
versus validate
and Josh says,
uh,
I specifically enjoy languages that
allow for flexible and concise type definitions,
which usually only really means functional languages.
Well,
have you seen TypeScript?
They made the TypeScript type system play Doom.
I have no idea how.
Um,
or the compiler,
yeah,
there's really good compilers for like
deep type systems.
I want discriminated unions in
C
and they're coming soon.
And if you don't know what that phrase is means,
I don't really either,
but like I know I want them,
and like every now and again I'll go Google them again,
but like the.
The like science name
for many,
many constructs like doesn't enter my brain like at all.
Um,
I'll give you an example,
right?
I,
I am a,
a,
a resonant team member and like a CDev.
I still cannot internalise
the difference between a field and a property.
I know what they are,
I use them all the time,
but I don't know which one's which.
Never will.
You can tell me right now,
but I'll forget instantly.
Terminology is like optional in my brain.
I do like the like result pattern as well,
we have
um
like it's not like a problem but like it's like a like
I don't know if problem's the right word but I don't really have another word for it.
We have a lot of like locations within Freke's engine that will
return a boolean
and it'll be like
true for like it was OK,
um false for it wasn't OK.
And
I would love if more of those would be like result pattern or something like that,
it's like tell me why you failed so I can bubble it up somewhere,
like either in like code structures to sort
of do different things depending on type of failure
or in like error messages,
you know,
so when it pops up to the user.
I had that problem yesterday actually,
I was
investigating an
issue with Steamworks,
so Steamworks is a sort of like backend of Steam.
So
you go,
unless you're a like a game developer,
in which case awesome,
link me your game,
um,
but
the,
the
people who buy games,
they use Steam.
The people who like interact with Steam as a publisher or like a developer of a game,
they use this thing called Steam Works,
it's just like a backend control panel.
It is like abysmal.
I have no idea how half it works,
and we are um.
We're looking to sort of fix some permission problems,
and I was trying to fix some permission problems
and a alert box,
like HTML website alert box appeared and it said
like,
set permissions failed with like no details,
and I'm like,
great.
Whoever engineered this piece of software
went
almost all the way to a useful error message and then stopped
and typed
set permissions failed,
full stop.
Looks good to me,
merge.
Why did it fail?
What is I as a user,
what can I do to rectify this?
I think it turned out that um the
particular user that we're having permission issues with
like needed to like reconfirm their email or something,
but that wasn't apparent to me.
Um,
so the error message there would be like,
we can't change this user's rights cos they haven't confirmed their email.
Fantastic,
I can send an email straight to that person and be like,
confirm your email.
But like,
no,
it was just like set rights failed,
full stop.
Those of you who remember sort of earlier versions of Windows,
um,
I kinda wanna say like before mainstream adoption.
Back when like computing was more sort of like you needed a,
a,
a shirt,
a tie,
some glasses and a couple of pencils in your top pocket,
right?
Uh,
earlier versions of Windows would just go like,
you have performed an illegal operation.
Well,
are,
are the police coming?
Am I gonna be arrested?
Like,
what's an illegal operation?
Uh,
Sitat's talking about the whole result pattern versus bull for success.
Uh,
it would be better if it was semantically clear whether true or false is,
is,
is fairly a success.
I agree with that.
Um,
some people will create like an enum and they'll do that instead,
and so like they'll have like.
OK or failed,
and a lot of like web libraries as well,
you'll see that they do return result objects and you can do like result is success.
Resort.
is success,
is like completely driven by like how many HTTP error codes there are.
I actually had to patch a result.
is success recently.
Um,
I'm just searching my brain for what it was.
Yes,
that's right.
Uh,
I had to re-implement asset upload for the cloud systems for our business client,
and that went to,
um,
Azure blob storage,
and we had like Azure blob storage like asset code,
but it was kind of old,
it was like a.
Couple of years old cos we hadn't maintained it
because we were using cloudfire for our assets.
So when I did maintain it,
it turned out that like
one of the endpoints that we were hitting on the Azure end
returned um the created status code.
I don't know the number for that,
but like HTTP status created
and some of our code just wasn't
hooked up to handle created
because it was an additional like is success,
it was like,
yes,
created is actually success here.
Uh,
and so the error message that was coming up in the
logs or whatever was something along the lines sort of like,
we failed to do this thing,
error code created.
I was like,
oh,
that sounds successful.
So I just had to patch that in,
but that happens all the time,
um,
depending on your application,
you'll have to like adjust what your definition of like is success is.
Cause in some cases maybe created isn't successful.
Like let's say you wanted to update something
and you get back a created
status,
that means that you,
the update failed,
right?
Cause you made something new,
the update failed.
But
at that point we're getting into like uh
Haios webs,
webhaios,
yes.
Haos,
so hypermedia is the engine of application state,
um,
which by the way is how like rest is meant to work,
but no one does it.
Although actually,
um.
I realised like my,
my like development choices are getting more and more hipster,
but there we go,
um,
this is a library called DataStar,
um and it,
it like does HaTOs and it's like,
it looked really cool and I wanted to play with it.
I don't know if it's actually cool,
but it looked really cool and I wanted to play with it.
Uh,
Datastar's sort of like a mix of
like
Alpine,
JS and HTMX if you're familiar with those two things.
Uh,
Palpatine says make impossible states unrepresentable,
yes,
uh.
I'm just linking videos,
you guys have got lots of homework today,
um.
Here's a really good talk,
um,
from many years ago,
how old is this?
9 years.
Uh,
and it says,
making impossible states impossible,
and in,
in this particular like talk,
it's talking about it within the
uh structure of ELM,
which is a very,
very,
very
opinionated
web framework.
Like Elm is like nothing you've ever said,
it's,
it's really,
really weird,
but because it's really,
really weird,
it's like,
it's really difficult to programme,
but it's also really difficult to programme errors.
A computer user says,
why does that desktop button not work on Linux,
I don't remember.
I know that like in my brain is the reason,
I just can't find it.
I'd encourage you to look for a Gitup issue,
make sure that there's one that exists.
I apologise,
I I don't remember.
Uh,
Seatt says,
um,
aside from anything .net,
uh,
related,
what's your favourite build system broadly
construed to work with,
least favourite?
Least favourite is anything to do with JavaScript these days.
Um,
I used to be like a JavaScript Andy,
like if you look at my GitHub,
uh,
particularly in the Mixer days,
you'll see like a,
a lot of,
um,
like a lot of JavaScript,
a lot of TypeScript,
and I still do use those languages if I need to,
but I,
I really don't want to.
Uh,
the reason is because like.
They're just reinventing the wheel,
and they've been reinventing the wheel for like 5,
10 years now,
and it,
it's just,
it's
irritating the crap out of me.
I cannot stand React either,
um,
I think React has like
corrupted the entire web development world,
uh,
through
reasons that made sense at the time that React came out but don't make sense anymore.
Uh,
like,
I'll give you an example,
I think it was Freaks,
like Freaks is typing,
but I think like
parts of the Windows 11 start menu run React,
it's just like what the
like.
I know the start menu kinda like looks cool,
it doesn't,
I hate it,
I use an alternative start menu,
but um.
It's just rectangles,
right?
You don't need React to draw
bloody rectangles.
Uh,
as for like build systems that I do like,
uh,
I don't really know other than C these days.
I talk about this a lot,
um,
but I've noticed it with like languages that I want to engage with,
don't want me to engage with them
because of like
issues I have with their syntax,
which is like it's strange to be that sort of like
elitist about it,
but like I still.
Can't
get over the sort of like entranceway into rust,
because it has so many like abbreviations and weird symbols and stuff like that,
and I know it's just syntax,
right,
but like,
public,
static,
void,
main,
string,
args,
come on,
it like it it it it like it's all English,
it's all
English.
Like you could just read it,
right?
I have noticed that some like
things.
That are more like,
I,
I don't wanna say rust like cos it's like,
it's just,
I don't know.
Some things that are more like syntax ob obtuse are making their way into C now.
Like I think there's an array infix operator that I just don't like.
Let me infix,
uh,
I think it uses like a carrot.
I'll,
I'll go back to the,
the Excel question.
I,
I did mess it,
I'll,
I'll go back to it.
Anyway,
it's something like,
let's say you have an array
called potato.
Right,
you can access like the last element in the ray by doing like something,
something like that,
like carrot minus 1 or something,
I'm just,
I don't like that.
So it's kind of difficult to find something I like that isn't
C these days,
which is strange,
um.
I'm more like a sort of like paradigm,
that's why I was interested in DataStar as well,
like if you look through DataStar,
like they're just trying to get out of your way,
like DataStar's just trying to get out of your way.
That's why I try I try to do everything like as minimal as possible
and I try to do everything like as right as possible as well.
That's why the wiki took so long,
right,
cos I was just I was trying to do everything as as correctly as possible.
I still made a bunch of mistakes but like hey the wiki's great now.
I actually didn't check if the backup succeeded last night,
let me take a look.
I do backups manually,
but like I set everything up to be automatic,
but it keeps failing for like obscure reasons.
Uh,
Doctor Capo's logsophilia,
yes,
uh,
OK,
no it hasn't,
it hasn't ticked over yet.
I've gotta wait till
um,
oh no,
it must have succeeded actually.
Uh I set it to uh like
I set
uh the.
I set the jobs,
um,
that I'm talking about the ones that are failing,
the backup jobs,
etc.
I set them to like only output warnings
and errors because they were spammy otherwise,
um,
for context,
there's a a job running in the wiki setup that runs the
media wiki job queue
and that runs like every minute.
And when I had logging set to info,
every single minute the wiki would just scream into a log file that no one cares.
Hey,
process the job queue,
it's all good.
Process the job queue,
it's all good.
I'm like,
I,
I don't,
I don't need to see this.
Yeah,
I'll keep an eye on it.
We have a a Tuesday backup,
so we're good.
We need a Wednesday back-up though.
Alright,
jumping back up to the uh
uh.
I'll find it,
just let me make some noises.
I'll find it.
Here it is.
Uh,
Goldie Runi says,
is that one business client still willing to fund
native spreadsheet rendering and in-game desktop screen sharing?
Uh,
probably,
but on their own timescale.
Uh,
they,
like it,
I say they,
it's like a group of people,
and that's part of the problem,
right?
There's a large group of people
that want this project to succeed,
and they all have like
generally aligned themes about what they want,
uh,
Resonet to do at this corporate client,
but
they can't really agree on,
on the vehicle
of like,
you know,
which direction,
which,
like what they want now or or or stuff like that,
and it's getting to the point where like we have to tell them.
Um,
because like I know the order of operations,
like I know which part has to be,
uh,
implemented next,
uh,
because of the tech tree actually,
I sent them that actually,
I,
you know,
copied out the,
the,
I got rid of the business obelisk,
etc.
and like just sent them the like flow chart of like how I said things and they're like,
yeah that looks good,
and I'm like,
OK,
cool.
I
guess I control the build order now.
Um,
so the next thing that I'll be doing business wise is
they want a bunch of migrations done,
which makes sense,
right?
They had a bunch of uh corporate data that existed on the Resonite public cloud.
They wanna migrate it to their corporate cloud,
makes perfect sense.
I'm trying to set that up in a way for them that they can do it themselves,
uh,
but the problem with that
at the moment.
Is that I would have to give them instructions,
which are something along the lines of,
take this random JSON file
and drop it into your resona installation.
And then
I'll,
I'll just do it for them.
I'll I'll just do it.
It's like 4 or 5 groups,
I can script it like
quick like script,
like,
you know,
migrate this,
migrate that,
run it,
walk away,
done.
Once that's done,
we'll be onto um a SAP integration.
For those who don't know what SAP is,
SAP is a ginormous company that has a bunch of different um uh
products.
Uh,
we'll be integrating with SuccessFactors,
which is an LMS learning management system,
uh.
If you'd like to know what
SAP SuccessFactors is,
yeah,
me too,
I've got no idea.
I
wish I did.
I don't know.
Here you could,
you could read all about it,
um,
so.
SAP SuccessFactors HCM,
no explanation of what HCM means
anywhere on this page.
Software provides an AI enabled HR management system
to optimise and address workforce transformation needs.
What are the key features of SAP SuccessFactors HCM?
Again,
HCM is not,
oh,
it is,
they got it specified.
HCM means human capital Management.
That is a horrible abbreviation,
but oh well,
um,
it's like recruitment onboarding,
the specific task that we've got is training,
um.
So the,
the sort of like
hero user story,
if anyone just cringed when I said the word user story,
um,
thumbs up,
welcome to the team,
uh,
is.
Uh,
sorry,
I'm getting distracted by this human capital management,
it's very,
very,
OK,
so the,
the,
the story is,
um,
let's say that a
user at this particular,
uh,
company needs to do some training.
Why can't that training be in,
in VR,
in our case,
resonate?
So the training might be like electrical safety.
Inspection of some equipment,
stuff like that.
Um,
how do we then track that they've done that training?
And the way that we track that they've done that training
is that
resonite,
or in this case Cpoverse will
communicate
with the
the SAP SuccessFactors system via API
to be like this user at this time did this training.
And then we can sort of close the other loop as well,
which is like when that user logs in and is in their home world,
if they have training that's due,
maybe we can surface that on like a panel and it can be like
prime,
you have electrical safety 101 due,
do you want to start it now?
And you hit like,
yes,
I want to start electrical safety 101.
And
in you go to the electrical safety 101
world,
and that electrical safety 101 world would be something that
more uh resonate developers could do.
And that is the art team,
but we've also like
thought about like,
hey,
maybe,
maybe we need people from the community to help out with this electrical safety 101,
we're not quite sure.
Like,
I don't actually know what we're training.
I,
I know that we want this whole like trading system,
but I,
I don't know what the training modules are or who's building them,
but we'll we'll get there.
Uh,
but once they complete that training,
um,
event,
whatever it might be,
we can also then speak to the API and say,
hey,
this user's completed their training.
And then that can be surfaced on like a panel for the management team,
and it can be like,
look,
Prime just did electrical safety 101,
it's green checkmark,
green check mark.
I love a green check mark,
and they can do the dashboard,
it'll be like
percentage of users
that
uh
haven't completed electrical safety 101,
and they can watch that like go down and they can like burn it through.
Right now,
there's still the sort of assumption that the,
the training will be done
um
like in the office of the person who needs the training.
And I'm,
I'm trying to push them towards like
have a VR lab or multiple labs cos they're a large company,
have like one on-staff member there,
maybe part-time,
whatever like whatever it takes,
who is like purely
their role is to help people get in and out of VR and get them into the training.
Um,
and then it'll be easier,
it'll be like,
you get,
get into your office on Monday morning,
you get an email and it says,
hey,
you need to do electrical safety 101,
please go to VR lab 2.
You go to VR lab 2,
this guy called Jeff is like,
Here,
let me help you into your headset,
you do the training,
get out of the headset,
go back to your office,
done.
Hopefully after you leave,
Jeff then like,
you know,
rubs a bunch of like
hand sanitizer and alcohol wipes all over the headset too.
Cause like one solution requires like either the training to work in desktop and VR.
Or everyone to have a VR headset,
like each
person that needs to do the training would need a VR headset,
but like a VR lab means like,
hey,
if you have like
1015 head sites in a lab,
you can do 1015 people training at once,
sounds perfect.
Plus we can put like resonite logo,
probably YDMS logos,
but we can put logos on the door of that lab.
The corporate verse VR lab in partnership with
Yellow Dogman,
a bunch of other companies working with blah blah blah,
you know.
I want to go back to a comment that CACA made about programming.
Um,
CACA says,
I read something once that said people who
have no programming experience have a better time
learning Lisp than people who have extensive experience like in like C or so on.
I'm gonna expand that and I would say that like if you have a mathematics background,
there are certainly different languages that you'll learn first.
I see more like science,
mathematical people using Python and things like that.
If they're pure mathematics uh people or stat statisticians,
it's usually like,
what's it called,
MATLAB
or like lab view,
stuff like that.
But if it's a language,
it can often be a functional one like Lisp Pascal,
stuff like that,
uh,
because they,
they use it as like a maths brain.
So like OO object orientated,
doesn't,
doesn't work cos they're maths brain.
It's also because,
and I don't wanna diminish the work that they're
doing in the language that they're doing it in,
but because it's like a,
a maths application,
like,
it isn't usually that
like object orientedly uh complicated.
The Qualia mentions are Julia and Fortran,
yep,
if you're 300 years old,
you can do that.
Don't like half the banks still run on Fortran?
Banks of Cobalt,
yeah,
I always
I I confuse Fortran and Cobalt all the time.
I think we're running out of questions,
so I'll probably start
closing things off here.
Uh,
before I go though,
you got wiki wiki wiki wiki,
like
wiki.
Wiki,
thumbs up.
Uh,
Goldie says Tech Tree updates,
as a quick reminder,
the tech tree is currently
like
a smouldering wreck of twisted metal
because I forgot to back it up.
So there's like half a tech tree,
which is fine,
which was backed up,
and then there's a picture of the tech tree,
and I need to merge the two.
And
I need to do that and it's probably gonna take me like 2 or 3 hours,
so there we go.
Something I've considered is just like going live in Te public working channel
and calling the event like Prime learns the importance of backups,
and I just recreate the tech Tree live in there.
um,
couldn't do that today,
but like
I,
I will do it.
But it's not a problem,
the Tech Tree is safe and I'll immediately update it probably as I'm recreating it,
uh and it will be safe from now on cos it it's in.
It's in my obsidian vault and that's backed up to like Dropbox and Google.
Aurora has an additional question.
I have tried streaming Resonite on
on VR to Discord,
and that didn't work,
it refused to show anything
and thought it was minimised even though it wasn't.
Was there something I needed to use to stream it?
No,
I think you should be OK.
Um,
there might be some oddities of audio or
which window you're selecting because like we open like
2 or 3 processes.
Um,
no,
you should be able to capture it fine.
It also shouldn't,
there shouldn't be any difference in VR or not VR cos,
uh,
when you're streaming to Discord,
it will use the,
um,
like the,
I don't wanna say desktop cos you're in VR mode,
but like it'll use the,
it'll use the desktop rectangle,
like it'll use the rectangle that appears
on the desktop,
not the rectangles that appear inside your headset.
Uh,
Aurora said,
uh,
the preview worked,
but the moment I tried to stream it,
it didn't load nothing and said it was minimised.
Yeah,
I get that.
A lot as well with like all sorts of games.
um
I've been going back to like doing screen
um sharing like full-on screen sharing when it comes to like some games,
and I just like move all my like
move all my scary stuff to the other monitor or close it.
I'm trying to get better at like clearing my workspace if that makes sense,
when it comes to like digitally clearing your workspace,
it's like,
hey guys,
how many tabs do you have open right now?
Raid is like a,
like a,
another like
another like category of human.
Raid scares me sometimes.
Um,
Ray has 0 tabs open.
I have no idea how.
Qli has 2,
Siaca has 3,
but 4 terminals.
Goldie Runi has 7,
of course.
Does someone else have 6 tabs?
Josh has 5.
I have
15 tabs open.
I lied,
I found another window.
This is another problem I,
I.
I found
3 additional browser windows.
Let me see how many tabs,
OK,
this one has one tab,
so that's like,
let's say 15 in this like first one,
so I just found 16.
Let's go to this window,
17,
go to this window,
1819,
2021,
22,
23,
24,
25,
26,
27,
28.
I just close that window cos I've no idea what's in it.
Uh,
26,
27,
28,
yeah,
28 taps.
I was,
I,
I do have bookmarks.
My bookmarks are like,
my bookmarks are like like like ooh,
bookmarks are just huge.
I have so many bookmarks,
they don't help though.
Something I've noticed that my browser does now,
which is,
is helpful but also not helpful,
is sometimes I'll like open a new tab.
And I'll start typing in a web address or something
and it'll go like,
oh,
you have this open in another tab,
like we found this like literal,
this webpage is open
in another tab.
Do you wanna switch to that tab?
And I say like love hate the feature cos it works out well if that tab is in the same
browser window that you're in.
But if you're in a different browser window,
it will alt tab you
to the browser window that contains that tab,
and then
like refocus onto that tab that you selected across multiple browser windows.
And what that means is I can sometimes not get things correct.
Like I want
the tab on both screens,
so I'm using two,
like,
I'm using 22 copies of the browser and 2 copies of that tab.
While I'm here,
I have like a question that might not make sense for for you Linux guys.
How many like esoteric window managers are there?
Like I'm interested in like
different ways of organising windows.
If you've got any recommendations,
let me know.
And I don't mean like
it's like the regular Windows manager but blue,
I mean like
a completely different paradigm for organising windows
and mouse,
I need mouse.
What I'm looking for is like,
what I'm looking for is like an RTS layout,
right?
I wanna be able to like zoom in and pan around and just have the windows
floating in 3 in like 2D space and just pan around them.
Because like I think spatially,
right,
so instead of being like.
Oh,
the,
the tab I need is like this 3rd window,
5th tab from the left,
I can be like,
that information that I need is like,
zoom out,
like RTS Factorio style,
pan to like,
you know,
my,
my um.
My steel plate manufacturing area of my Factorio base,
and there's the information I need.
Like that would be a much faster operation for me
than finding the tabs.
So if there's like a,
a Factorio-like window manager,
let me know.
If there's not,
I'll build one eventually.
I'm aware of the cube ones,
that's not quite what I mean,
cos that's 3D.
Sort of like I want an infinite 2D canvas
that I can put windows into.
I wanna play SimCity of your Windows,
yeah,
pretty much.
Anyone know what Upload labs?
I know we're like going way over,
but like
anyone know the game Upload Labs?
I'm gonna use it to like explain what I want.
Right,
this is Upload labs.
If anyone has not heard of Upload Labs,
I'm about to like steal hours of your day,
so I apologise for that.
But
Upload labs is like
numbers go up
um
node graph,
right,
so
I'm downloading text from a torrent and I'm
doing stuff to it and then I'm,
I'm researching it and uploading it,
and then down here I'm hacking anonymous and
down here I'm.
I've got no idea what I'm doing down here.
Oh,
I'm,
I'm
making trojans and uploading them to the internet.
But the point is,
like,
I,
oh,
I wanna look at the,
the GPU thing which is mining crypto coins
up here,
fake
video game,
crypto coins,
um.
I can pan in here and I can zoom in,
right,
and let's say oh I wanna go back over to to whatever else I was looking at,
alright,
I zoom out,
go back over here,
zoom in there.
Why can't a window manager look like that?
Cause then it's like,
OK,
well,
like this one's my browser,
this one's like
another tab,
and then like this is my like programming,
and it'll be like,
alright,
I need information from the browser,
alright,
I'm,
I'm in the browser,
alright,
I need information from the uh yeah whoop
whoop
whoop whoop
whoop.
Oh I need that like super rare like
UI I never use,
so it's up here.
Excuse me while I
uh tidy these up again.
Yeah,
floating with an infinite plane,
like variable scaling,
I,
it's
like
Excali drawer that we use for the tech tree,
it's,
it's
basically that.
I will take a look at eagle mode.
I think it's about time though that I,
I head out here before I start like,
I don't know,
talking about
recycling again.
Uh speaking of recycling.
Uh,
my apartment building has trash chutes,
and for the past like couple of months,
like way back into like 2025,
they,
um,
had put out like announcements in the,
in the community,
we're gonna clean the trash chutes,
we're gonna clean the trash chutes on this day,
we're gonna clean the trash chutes on that day,
and every single time the day would come up
where they would be cleaning the trash chutes,
they would cancel at last minute.
And every single time
they got more and more aggressive with their sort of messaging about like
when we're cleaning the trash chutes,
don't put trash in the trash chutes cos you could kill the worker.
And it was just like,
I'm I was so paranoid,
like I checked like 4 times before I threw away trash this week
because I was like,
is it trash cleaning day?
They usually put up a sign,
but the sign says like the last date they announced,
which sometimes isn't the current date.
Like we're gonna clean the trash chutes on the
12th of December,
it's January.
Anyway,
Upload Labs is free on Steam and you'll like
lose
all days if you spend time in it.
I'm gonna leave off here and I'll speak to you guys soon.