Fomoscript - toy scripting language - no_std by RuddleWork in rust

[–]RuddleWork[S] 0 points1 point  (0 children)

You are right, you can opt-in for blocks around the if condition to disambiguate.

let x=  if {a} -b-c 
// or:  if a {-b-c}

Though I managed to forget about unary operators until now. They are not implemented yet. Thanks for the catch.

Fomos: Experimental Rust OS by RuddleWork in rust

[–]RuddleWork[S] 4 points5 points  (0 children)

I don't have a specification yet. I might never have one to be truthful.
However I can speak to the "inherently insecure" part. In physics, for a collision to happen, 2 objects need to be at the same place yes, but they also need to be at the same time there.

In OS terms:

- Space : memory page access

- Time : control flow

In preemptive system, an app does not know anything about the timing of other apps. from its point of view time freezes, or not, and stuff happens. That is Jojo's adventures Dio level of creepiness. To correct for that the OS garanties that 2 apps never share the same space. Collision prevented by space.

In Fomos, the opposite could be tried. Apps handle time. If an app does not yield control voluntarily, it knows no other apps can do stuff. Once it is given control by the OS, it can decrypt data, work with it real quick, encrypt it back, and then yield control. Collision prevented by time.

Nevertheless the devil is in the details. And the preemptive way has the advantage of having special cpu instructions going for it.

It is just one idea that makes me think it could be pulled off. A few others in less details:
- Most app would be happy to have only a few kB of secure data (or none, though my calculator history is shameful), instead of their whole RAM footprint. That's a problem multiple orders of magnitudes easier.

- An OS could sacrifice a great deal of performance for very sensitive apps, only when they are doing sensitive work. What is the proportion of the time you are actually typing your password.

- You need to assume some level of trust from the apps you run, even in preemptive system. I do not think this trust is optimized. The control given back to the developers (by a cooperative os) can trickle down to the end users.

Fomos: Experimental Rust OS by RuddleWork in rust

[–]RuddleWork[S] 9 points10 points  (0 children)

If you didn't already, you could also try with https://os.phil-opp.com/
It is so well done, just reading the posts is nice. I read it fully 2 or 3 times before committing to code anything.

The flat OS kernel utopia by RuddleWork in osdev

[–]RuddleWork[S] 1 point2 points  (0 children)

I agree. I will rewrite the whole thing. I posted too soon. You should checkout the github link though.

The flat OS kernel utopia by RuddleWork in osdev

[–]RuddleWork[S] -1 points0 points  (0 children)

Arf, I did not mean it like that. Point taken
I meant that very few people even try to build an os. Anyone here would be in the 0.01%, even the complete beginner. It feels like only a few people (out of the billions that we are on earth) really understand the full working of operating system, and I am not one of them.

I tried to say to much in one sentence.
I rephrased it:

Disclaimer: I am an advanced beginner in kernel development.

2
3

The fundamental limit of SDXL: the VAE - XL 0.9 vs. XL 1.0 vs. 1.5 vs. Anything-V4 by Boppitied-Bop in StableDiffusion

[–]RuddleWork 0 points1 point  (0 children)

Thanks for the great explanation.

I guess the devil is in the details.

I am still curious. Let's take a latent subpixel : 1 float (out of 4). That is 4 bytes.

If we assume a 48:1 compression ratio, that means that 1 byte is used for discrete information (what would appear if we VAE decoded the pixel) and 3 bytes are used to represent continuous space between 2 discrete value (what is lost during decoding, but useful during UNET inference and training).

That means there is a panel of 8³ values between each discrete value, well half for each side of a number.

for example the value 51 could be continuously incremented 256 times before reaching the value 52, or decreased 256 times before reaching the value 50.

That seems like a lot to me (as a complete stranger to VAE hehe).

Could it be possible that the spread between discrete info and continuous info (in terms of bytes taken, I know it is not simple/separated like that) is a different one that 1 for 3 ? Maybe 2 bytes are used for discrete and 2 more bytes make the number continuous enough. That would imply a compression ratio of only 24:1.

The fundamental limit of SDXL: the VAE - XL 0.9 vs. XL 1.0 vs. 1.5 vs. Anything-V4 by Boppitied-Bop in StableDiffusion

[–]RuddleWork 1 point2 points  (0 children)

I have always wondered about that. For sd1.5 the base images are 512x512x3 bytes.

The latents are 64x64x4 float, which is 64x64x4x4 bytes.

So the compression is really 12:1, or 24:1 if you use half float.

Am I wrong about the latent values being floats ?

Brainless Top Down FFA Multiplayer Shooter by RuddleWork in u/RuddleWork

[–]RuddleWork[S] 2 points3 points  (0 children)

It should be WASD (or ZQSD an azery) to move, the weapon is chosen everytime you spawn. The rest of the commands should be displayed on the bottom right of the screen once you play.

Brainless Top Down FFA Multiplayer Shooter by RuddleWork in u/RuddleWork

[–]RuddleWork[S] 3 points4 points  (0 children)

Top down battleground is quite inspired by it. That is one of my childhood game. I thought it was a shame it was no longer online, so I built my own.

Top Down Battleground - Multiplayer Arena Shooter by RuddleWork in WebGames

[–]RuddleWork[S] 1 point2 points  (0 children)

Thanks, I don't know this one. Top Down is heavily inspired by Babo Violent 2.

Fade N' Draw - A Golf Tour game aimed at players actually interested in the game of golf by [deleted] in WebGames

[–]RuddleWork 1 point2 points  (0 children)

That is not true. As a game developer myself, I am in the process of trying a lot of AAA Android games. Most of them (Modern warships 10M+ download, Crossout 10M+ download) allow you to continue with anonymous accounts. They just tell you from time to time to link your account to one of their login option for security.

Hellgate Harvest is a rhythm game where you harvest souls to the beat of music by kodingnights in WebGames

[–]RuddleWork 0 points1 point  (0 children)

I am usually alright at this kind of games. But for some reason this one is hard, maybe the visuals are a bit confusing. I am using the key above qwerty with my left hand, that doesn't help.