OfficeHours:ProbablePrime:2022-08-16

From Neos Wiki
Jump to navigation Jump to search

<< Previous Next >>

Audio

Description

In this Office Hours, Probable Prime talks about:

  • caches
  • the database
  • assets
  • exporting assets
  • Git

Transcription

(Please note that the transcriptions will not be 100% accurate)


So welcome to office hours we're gonna go ahead and get back on track and get over to the questions after talking about dishwashers

and

Pain products if you want to hear the pre office hours chat arrive five minutes early. I talk about random stuff

So we're gonna go ahead go through questions. There are some questions in the chat

I'm gonna go ahead and check the pre question sheet because I was linking that around to certain someone and

They might have dropped some stuff on there and I didn't check it last week. So I need to go ahead and check it

Oh, there is a question here, but it is not by that person. So we have a question on the sheet from

Neils who says could the app Neos the universe be re-uploaded to the store

I've not really done couple of guys report issues

I believe they're referring to the earlier version of Neos universe that was put on the quest or by fruits

I don't know the status of that or anything about that

Suffice to say it won't probably be touched for the foreseeable future due to the ongoing

stuffies

Yay

I'm gonna go ahead and mark that question as resolved and we'll get on with the questions that exist in the chat

So it's growing up through the chat to look at questions egg roll faces. What is your favorite snacking cheese recommendations?

There's 60 seconds or less. I don't answer questions about cheese. It's kind of a meme

So we'll move on

Pyronic says have you heard of git work trees? I've just recently discovered them seems useful for working on different features block branches

Yes, I've used them extensively over the 10 12. I don't know I'm getting old a bit

Years of my career I've used them extensively

They are great when you use them. There are a lot of stuff that you don't need

There's this amazing flow called git flow and everyone's like, oh, yes use git flow

It is beautiful blah blah blah blah, and it's just really complicated

The important thing to do though is to start a branch when you think that the master branch might get dirty

And that includes when you're working with other people

So if you've got multiple people working in your project always be on a branch, right?

the master branch should be what everyone is pulling from and everyone else should be on their own branches and I don't care what they're

Named just make sure that they name something a branch should only have commits associated with one individual feature on it

Don't do I see some people do which is when they start work in an organization

They make a git branch

Which is just like their name and then they put all of their commits on there and periodically they'll do pull requests and like merge

That back in that is so messy make a branch for each feature, please

I realized I was calling it the old master branch name most git places

I've now renamed the master branch to main apologies for that one. That's still affecting me because some older repositories

I dealt with at work were

Unable to be updated and so it's just like I have no idea

But if you make a github repo these days by default the main branch will be called main rather than master

Let's move on. Oh, if you want to know what we do at Neos as well, we do do branches

I am whilst freaks was the only developer branches were uncommon, but I've been teaching freaks the way of branches

I've also been teaching freaks the way of atomic commits atomic commits our way. Basically each commit that you make to a git

Repository needs to be sort of as isolatable as possible an example of this might be

Commit one for a feature is introducing a new file like a new file to the code base

It just introduces the new file and some of the basic building blocks for that file

It doesn't use that file anywhere. It just introduces that file and then the next commit might be adding that file to other stuff

So it's actually integrated or stuff like that. It's it's depends on the exact patterns and development of the language of doing sometimes

But it's good to just make it like easy for people to see what an individual commit does

Oh and squash merge when you merge stuff on github

Moving onwards away from high technical programming stuff because I know you're here for the Neos stuff

We'll go on to the next question. Rusia says, can you describe how cache hit miss system works?

What's the primary identify? Is it based on idea hash or random value? Don't actually know. I'll go ahead and

Add that one to my list of questions. I just can't answer as parts of Neos. I just haven't looked at

And that's one of the cases I did look at the the way that we did. So we've like really extensive code that deals with

username clashes

So it's common for you know, people who are just writing a system

They're just like hey if this username equals this other username, you can't register it, right?

You have the same name like no one can register. Fruxius is their username on Neos. We go a step further than that though and

We will take a look at how Fruxius is represented in

Other alphabets so we take a look at the Russian alphabet the various Japanese and Korean alphabets

And Chinese as well just to make sure that like when we translate those names into different alphabetical systems

There aren't any clashes as well. That's actually really cool. If you want to pronounce

Like a Japanese phrase, I'm not good at Japanese

So like, you know if I want to pronounce some of those phrases

I can put it through that system and it tells me what their name is

You know, it's really cool

I was taking a look at that like I put in Japanese characters and I got out the

romanization of that which was really cool wrote some tests for that the other day as well because I was messing with it and

I had to put through like a bunch of stuff

So I went to like a name database website and chucked a bunch of names in

Okay, so next question for electronics, which is a great opportunity for me to like make a very clear point

So electronic says to add to this. How does clearing the cache not mess badly with a database?

So they're actually two folders. There's that data location and there's that cache location

They're often confused or overlapped or referred to as the same thing and it causes problems both in support and dealing with those support

It's just when people give like solutions to problems or instructions. Sometimes one will be deleted and not the other one

so the the database is a collection of

just like a big database the literal definition of the word of like everything that you've basically seen or saved in in this and

It's then trying to keep in sync with the cloud database

Today, I'm sorry. Um, and so syncing those across is very difficult

That's why sometimes you get cache conflicts or corrupt caches and stuff like that

I have only once had a corrupt cache and only once had a syncing issue and both occurred during the VR chat boom

But I don't know everyone else seems to have those difficulties all the time and I don't I do apologize for them

I want to see what we can do to improve those when we're able to

Now the cache though is just like randomly downloaded stuff

And if you delete that it's not as bad because you're not messing with the database you're messing with cache

You know how else to answer that question what I wanted to do though is say hey, please stop deleting them when you know

Encountering a problem in computing and many other places actually you have three choices

You can fix the problem

You can ignore the problem or you can remove the problem in which in computers is usually delete

So when you restart a computer, for example when everyone's like, oh you tried restarting a computer

All that does is delete the problem

It will just you know flush all the guts of the computer flush everything out of the memory

Close any applications and restart them. So it just deletes the problem

So if a problem occurs after restarting it often support desk agents will be like could you try restarting again?

And I'm like, no, like that's not gonna do anything then they'll move on to could you try reinstalling it?

Which again is just deleting the problem that flushes the guts of the computer with all the files that were involved in that particular

Application and reinstalls it I would always rather that you do ignoring the problem or fixing the problem rather than deleting the problem

Ignoring it's totally fine

Like for example, my windows lock screen has had the same photo on it for like six years

And I hate that photo because it's the first thing I see every morning, right?

I haven't had coffee yet and I see that lock screen photo

I want to change it, but I can't remember how because I

Prevented windows from doing its thing where it's like here's the photo of the day. It's from a quaint beach in Hawaii, and it's beautiful

I didn't want to see that stuff. I'm just like stop doing that

But I didn't realize that would lock it down to one photo that's been there for six years, but I'll fix it when I can

So please follow all the troubleshooting steps through in order and if Nia's team member then tells you to delete or clear your cache or

Mentor does or whatever etc. That's fantastic

Then make sure you do the previous steps first because you'll actually learn something you'll learn something when you fix programs you you learn something

I had an issue with I remember something to do like a plug-in

in OBS and I

Fixed that by actually making a fork of that plug-in releasing on my github because I'm like hey

I learned a lot doing that moving forwards. Oh, I don't mean to shut you down egg refers

It's just like we're meant to be talking about Neos and then the meme started of like yeah cheese is my thing

But I didn't talk about it. And so now it's just

So Tiki says I've been I've said I've seen many export formats for avatars

But I don't know much about them as the one that could be useful to be able to import my avatar back into other

games no

avatars that are important to Neos are

For lack of a better word garbled from an outside of Neos perspective. That isn't something that will be permanent

Maybe there'll be a way to do it in the future. But right now it is not it's actually a strange

Security feature as well. It's like an unintentional security feature, right?

You can't export the avatar to other platforms without losing rigging information

So you lose bone data, and I believe you use what lose weight painting as well

So if you export it back out, you'll just get like a static mesh, which then you'd have to rereg so that that's cool

That might change in the future. I am struggling here. Where's my water? Okay, I should be less vocal when it comes to dying now

Yeah, that may change in the future. We'll see

Interoperability is of course the big buzzword when it comes to your metaverses

I'm moving forwards to Alex from Alaska. I'm gonna upload some photos. I did share these in

Mentor Discs yesterday because it was topical and front-of-mind. I am working with

SHFR, that's

user name of SHFR, but their actual name is Hamish and

We do science together and our science resolves around whatever the hell you can think of that is not video game related

So this was my view of a Neos world yesterday, and if you can guess what I was doing

Fantastic. If you don't know what I was doing, you'll have to wait until the end of this officer as well

I'll tell you. There we go. I'll give you some time to play some games. See if you can figure it out

Zlinka and

DMX and Earthmark and

A few others you're excluded from that because you know you were there

So I'll leave that at the bottom of the scroll buffer and come back to once I've got through the rest of the question

Mystic says how is documentation regarding the recent events been going? I've seen some really useful videos from both the team and users

But other than pre-planned videos are there videos you think would be

Otherwise be worth users making

This is like two questions there, so like documentation regarding the recent events is difficult

We don't want to put out any more information that is

Like really big like those announcements because like really nothing has changed right see the announcements channel for any updates there as for the second

part of that question

Make content like I've been really happy to see

Speckin's videos where he's just like there's a there's a gap. I'll make a video about this

I've been really happy to see basement, but nerds videos where it's like hey, there's a gap here

There isn't an introduction to logic so I make that and I was really really happy to see

Engie's video where it's like here is a tutorial bracelet which many people wouldn't have a like aware of apparently Alex made

Which means you can watch all the videos inside Neos and what's great is you can watch videos from all those creators because you can

Just add playlists the system

So just make videos if you don't understand something and then do understand it make a video about it

That's how all my like earlier tutorials are made like I learned how the object grid aligner worked

So I made a video on it. I learned how the axis aligner works. I made a video on it

Fruks taught me dynamic impulses. So I made a video about it moving forwards

Dicky's talking about get the

Version control library not Canadian kit is there's lots of names and stuff that exist

there's like Neos moderators short form mods and then there's Neos mods, which are the

Modifications to the Neos that we allow which VRChat doesn't allow so they're being talked about a lot on the words

Just get sort of like ah, so I've been trying to use the term moderator a little bit more to make things clearer or like

Enunciating mods a little bit differently to make it clear, but hey, maybe it's not clear still

It is cool. If you are looking to do computer programming

You'll eventually need a version control system and get is the way to go

There are others that are used for different cases

For example, if you're using an unreal game usually you use perforce

But hey, if you're just writing code gets cool learning it and yet Canadian gets also a chill dude moving forward to an idea's a question or

An idea, I'm sorry pronunciation is not my forte. Hopefully this makes sense

So assets on your avatar stored in the asset roots of the world

Wouldn't that mean anyone who can edit the world could copy your avatars parts and reassemble them from assets in the directory

Even if it's protected avatar. Yes, and no there are protections that exist on those assets

Additionally, there is no white painting or armature data up there in the asset system. Do you remember as well that the

Simple avatar protection system that we have is simple and that's why it's named simple avatar protection. It's quite

Diligently named that way it is not watertight and there are ways to break it

But it will remind you that there are ways to break any protection system

We do want our protection system to get better and to get more

Stronger it gets drunk

The features that would enable that are combined sort of the license ID system and the hard permission system

Yeah, that's a good enough answer. If you have any other things, please do that. Yeah

Zari says

Mandatory to allow different aspects it is it's really strange how there are a lot of software programs that don't do what they need to

Do a good example of one another example being right to left support

So there are a bunch of languages more than you know, I mean there are obvious ones like I think Hebrew does it

I'm sorry if that's wrong Arabic most certainly does because that's the one that always tripped us up at mixer

That read right to left and so suddenly your entire UI needs to be mirrored and work right to left

But there are lots of like UI elements that are designed for a left to right world

If you think about that just a simple like a dialog box appears and it has the OK cancel buttons

With okay, usually on the left and cancel usually on the right. Does that make sense to right to left world? Don't know

It's very calm challenging. So yeah, there's lots of stuff people just don't do they don't think about it

When we needed to support right to left languages at mixer

We just got the localization package back which is in all the strings translated into Arabic

I think it was loaded them into mixer ran the page and then just went shit

Just like things were overflowing everywhere UI were like backwards and forwards and upside down

It didn't make any sense

and it's just like this is a big project and it was we had like two or three engineers working on it for ages and

They had to go back to design frequently and go what should things look like when this is in a right to left world

I'm trying to say as well as you mentioned the database has everything that you have since was one

We're wondering how it deals presumably looking at files that longer exists if they no longer exist

There's usually a record of where to get them from so redownload them

I do need to look into that more particularly seeing these freaks change that up a little bit and wants to change up more

There are thousands of codes files in this code base. And sometimes I'm just like, I don't know what that file does

Scrolling down people saying please don't die. That's great. Oh, we got to the we got to the pictures. Excellent

Let's see if someone got it right. We see you got it right titanium bone plates. Yes

So we've Hamish I am working on

really complicated stuff actually, so if you have a

a jaw injury or a jaw

Disease such as like bone cancer or something in the jaw

They can actually rebuild your jaw using the smaller leg bone that you have the fibula. I think that's the right bone name

I always forget because there's two the the smaller leg bone kind of isn't needed and so

You can survive without it in some cases

Of course, you're not going to be like a prime athlete or something

But like being able to chew and speak is generally better than then, you know being an athlete

so what they do is they remove that entire bone they take out that entire bone and

Then they chop the parts of it off and then they format it back onto your jaw in

segments and then they use a plate to

Align that to the jaw and screw it together such that it holds there and then eventually the bones will fuse together, etc

But the plate there is to hold it together

And currently the most common use of the plate is a standard plate

It looks like a bike chain is standard for all surgeries and they just bash around a bit like sort of a blacksmith to try

And get it to fit the shape of your jaw a new approach though is to make a custom titanium plate for your jaw

which is

molded and modeled

Customly usually in a very painstaking process and we're trying to make that process easier and Neos is allowing us to sort of explore doing

that so the pictures above are a plate creator tool I have which allows you to segment a plate onto

any model using a sphere for testing just because sphere has lots of angles and I needed to test angles and

Then you can bake that model

send that out to

the desktop application where it needs to go through processing to make it actually printable and then you send it to a metal 3d printer and

Then you print it and then you affix it to someone's jaw or at least that's the plan

that will enable better surgeries with less screws because the the regular plates have screw holes like every like

Centimeter and it's really annoying

But yeah, it's really cool. I don't see any additional questions. I will run down the rest of the comments that we've got here

Let's see. Glad to see that you thought that

Basement and NG's videos were a surprise. Mr. Carr liked them too. Sometimes mods mods have mods. Yep

They sure do. Sorry said that they

They

They might have or you know have had in the past side of job and see that people use subversion subversion also known as SVN

That's another good

Version control system. It's okay. I

Prefer like it's just winning basically, but like SVN is okay

CVS not the pharmacy but central version control system terrible. Don't use that one. There's another one called like material or something

I haven't used that one though

They all have a point with like it and stuff like that is that you can do code reviews remotely

I used to work for five months a software company where they did only in-person reviews. It was horrible

I'm not that big on personal space invading

I'm not sure anyone is these days but like obviously like other it affects more people than most I hate it

And the way that code reviews worked at that company

I worked at for five months was before you could commit the code to a branch your own branch. No idea why

Um, someone would have to come to your desk and review it side-by-side with you hated that

I'm like, can we please do code reviews in other way? I'll email the diff files to someone

I don't care like please don't come to my desk. Leave me alone. It's horrible

Anyway, moving forwards. Yeah that runtime says you got to ask that when you're interviewing. Yes

Do you remember that when your job interviewing if you need to job interviews?

I have so much insight about how to do them properly and stuff like that

I will give you some hints and here's one hint

um, you are interviewing the interviewer as much as they are

interviewing you and your questions that you ask them are as good if not better sometimes than the questions that they are asking you for

Understanding you and seeing if you're a fit at the company

So if you want to like make them sweat a little bit, which is good, right? Because you're sweating you're nervous

It's a job interview make them nervous

Ask them what the work-life balance is like ask them what their day-to-day looks like ask them about the last time

there was a

Stressful situation at work and how the company mitigated that which is very important

If your company that you're working for isn't mitigating stressful situations, then they don't deserve to employ you

Every company should take action to reduce stressful situations not increase them

So it's just a couple of questions there. They're interesting and then yeah asked about their tech stack, right? It's interesting

I wish I'd done that before I joined the workplace. I work for for five months. Anyway

I'm moving on. I don't see any other questions. So if you have any questions, do you let me know?

We have about eight minutes left kind of short office hours today

I just saw a quote channel ping from Lex which has make them nervous

I'm on it like do it right if they're nervous then you've done the right job

Another thing to look out for as well, particularly if you're in like my industry for interviews is often they'll give you a take-home assignment

And watch those take-home assignments. Sometimes they are manipulative or sometimes predatory. So do keep an eye on that

for example once when I was interviewing I was given a take-home assignment to make a redis parser redis is a

Hard to explain thing. I don't really know how to explain this

I know I would use it for I'm very familiar of how I would use it

I just don't know how to classify redis

It's like a sort of in memory database thing either a lot of software companies use for very good reasons

But I don't know the sort of like tagline they would have on it

I just don't want to use it for anyway

they wanted to me to make a redis client which could speak the the language and the protocols that redis did and

Just see how far I got and I got like my my spidey senses went off and I'm like, that's a bit weird

Maybe they need maybe they need a redis client and they're hoping that I'll write one for them

So I submitted the code assignment back to them, but I had licensed the code assignment that they gave me as GPL

So I was like I've done your license your code assignment, but I've licensed to sit as GPL. So good luck

for those unaware the GPL license for

Code basically means that a company cannot use it for profit that easily

It's what I was basically doing is like this seems fishy. So I'm gonna license it as GPL and I'm like, okay

I won and I'll actually do that now for like all coding assignments. I license them as GPL

Additionally for coding assignments or take home assignments and job interviews make sure it's not too

Aligned to the job that you were doing

I had an interview another place where the take-home assignment was basically what I'd be doing at the job and I said that's unfair

That's consulting because it's too close to the job

I was interviewing for a product manager position and they were asking me for sort of like ideas and

Insights on the product that they were building and they weren't paying me for that and I'm like that's not appropriate as a product manager

You can give me a take-home assignment about an arbitrary problem

for example a

Airplane booking system if your company is doing I don't know t-shirts and you ask me for an airplane booking system product manager take-home assignment

That's fine. But if you're a t-shirt company and you ask me for a product manager at take-home assignment about t-shirts, that's bad

I'm giving you free advice. You will pay me for that or I will not do it

And I've actually said no to a couple of jobs because of that and change the hiring policies. It's great

I say no and then the hiring manager is like but we really liked you

We'll change our hiring policies for you. And I'm like, no, sorry on principle. Like I can't wait you're asking for consultancy at that point

Okay, they're actually asked some other Neos questions. So for those who are not

In the software engineering land, I will go back to Neos questions. I apologize for that, but some people enjoyed it. So great

Sorry says that they had to print out our code and explain it at the meeting table

Yeah, don't don't print code either but most teaching best practices is good

But you should take that knowledge and crystallize it into a PowerPoint

And then you can do that a lot easier or ideally not a PowerPoint maybe like a blog article people

misunderstand that like internal documentation part of things like you should have an internal documentation that is as good as

external documentation for your software like if someone is new to the

Company, they should have a wiki or a place that they can go to where it's like I'm new help and there should be

A list of shit that they can go look at and feel less new moving was for an actual Neos question Lord

Tremieson he says well when the inventory UI be made better

So the venturing UI is part of our UI rework which is often misconstrued as bigger or smaller than it actually is

So I'm gonna go ahead and link you to the Neos public roadmap board for the UI rework

I've seen a lot of people who will link to the

one github issue we have for the

Overall UI overhaul, but that one doesn't really convey the sort of picture of the UI. So here is

Projects 2 which is our UI overall you'll see that there is items on there for doing that

We don't have any plans to currently do that as we're on a little bit of a freeze when it comes to that the next thing

That we will do on the UI is the settings page that settings page just allows us to add additional settings

You can see bullet points there in the preparing gathering info segment

Which says redesign settings all sorts of stuff there before anyone else ask as well. Yes, everything will have a dark mode option

basically anything that is

Light mode is old and needs to be that includes the inventory the contact system anything else

That's like light mode that includes inspectors. So there'll be a dark mode. There will also still be a light mode anything

It's just like there'll be the possibility to have either depending on which one you'd prefer

But it's a good measure for what needs to be changed. But yeah, the inventory UI will be changed at some point

I can't really answer when moving on to Risa's question Risa says

Do you have any suggestions on how to mitigate room and correct local asset transfer issue where local assets uploaded not transfer to the host

Or who's from?

Okay

I don't receive I will add that one to my list as well. I'm sorry. I just haven't read that part of the code

Oh, I pasted that into my notepad and it just like pasted a bunch of discord stuff including emojis. I don't need that

Specs, I'm glad to see that you did a point point

I'm presuming mean PowerPoint on Redis, which is a very fast in memory database cache. That's a great tagline for it

That is perfect. So I've used it for both of those things. I just couldn't think of the

Sentence for it moving forwards. I know there's way to upload tremors and again

I know there's a way to upload pictures very easily from PC to news

But it's way to download a picture from news to PC

Yeah, grab the picture open up your context menu and it'll say save a screenshot that'll go to

Your home folder which is like your wherever all your shit is and inside the pictures folder

There'll be a folder called me SVR. It'll be saved there if that doesn't work because like

It's a picture that's weird for some reason or you can't use that

There's a tool which is in

someone's public folder that you can shoot a picture with and then it'll act like a screenshot and you can save it there if

That doesn't work as in if that like hold it and then use the context menu doesn't work

you can hold the picture go to your file browser and hit the plus and it'll start an export window for that picture and then

You can export it. I did notice a couple of people doing this. I will bring it up

I've noticed a couple of people that will do all four of those so they'll take the picture which actually saves it twice

It's saved to the Steam screenshot location and your pictures near SVR folder

So there's two copies of the photo then they'll export it as a screenshot using the context menu item

That's three times that picture has been saved and then they'll use the file browser to also export it

Which means that photo exists four times on their computer. So don't do that. Please choose just one

Moving forwards to no user found. Is there any tools in the earth? You'd like to be more streamlined avatar creator full-body creator

Anything to do with the slicing materials? I use those all the time right now and I hate them

there's just a bunch of bugs I need to fix and

And

No, not really there's lots of stuff that we need to but like if you like

You know, it was like the top list avatar creator full-body calibrator are the top ones

Hamish likes the slicing materials and doing weird stuff with them

I spent three hours figuring out the mathematics for one

I still don't know what's going on

but I did look at it the volumetric 3d slice II thing the my brain uses such the

World browser for medical and you can go look at my brain inside Neos if you didn't know that go look at my brain

It's in Neos my actual brain look for medical in the world browser that rendering I think is a raymarch shader

I looked at the code. I don't know shade of code

I looked at that and I'm like, that's the closest thing to ray marching I've ever read. It's cool

That's all the questions we have and we are at the end of time

So mystic and global if you have a question, please type it otherwise no more questions

A global entity says will it be custom shade of support?

sort of

Sort of

We can't do unity shaders. So you're not gonna have unity shaders. Sorry about that. It also looks like for the initial in

Support of custom shaders also won't be writing raw shader code. It will be

Composing shaders using a shader node graph in a similar way to how blender does it?

Which will give you like an immense freedom to make shaders, but won't be raw shader code

And then mystic says the cures of dark mode is any information that we talked about

No, we haven't really done any designs in the area, but

It'll be dark

thumbs up

With that we're here to leave things off and get started on some other stuff

If you have any additional questions

Please go ahead and direct message me them drop them in the questions help section drop them in the sheet for next week

And always remember stay awesome. Oh and Neos has mirrors

I don't know why I have to say this but there's a rumor going around that we don't have mirrors. We have mirrors

I'll see you next time. Bye. Bye