#skiftOS - A modern operating system

1 messages Β· Page 2 of 1

idle pumice
#

palas cat pfp

sly pilot
#

thanks, he's even more ridiculous now.

north flame
#

last time he was being even more ridiculous

#

but he basically did the exact same thing
thrash a project in progress report for some dumb af reason

idle pumice
#

classical bring others down to bring you up I mean

#

insecurity and the like

#

the guy is young, he will grow out of it as he gains confidence on himself, cannot be arsed until then though

real ether
#

I'm impressed by how far skiftOS actually is. I don't know if I'll ever get this far with my project.

verbal seal
past scaffold
#

Looks very similar to the ultra boot protocol my loader uses

verbal seal
past scaffold
#

You can find it in the ultra repo

#

Im on my phone rn

past scaffold
haughty pagoda
verbal seal
#

Yeah looks a lot like multiboot2

barren mantle
#

tightly coupling the bootloader to the kernel is probably fine

#

if the bootloader isn't meant to be used for multiple kernels, and if it is supposed to be, it's probably better to implement limine or whatever

verbal seal
left ridge
#

in which way

#

i know that it doesn't matter if i make it fit the requirements, you are still too pretty to use it, but i am curious

barren mantle
past scaffold
silk berry
#

boot linux and just use kexec meme

#

oh wait meme

verbal seal
# left ridge i know that it doesn't matter if i make it fit the requirements, you are still t...

I haven't checked Limine in a long time, so I might be mistaken, but if I recall correctly, there is no guarantee that all the payload is in one contiguous region of memory, which I like because it makes forwarding the structure to my bootstrap process and userspace driver host easier. However, it isn't really a blocking issue since I could just translate the Limine payload to Handover and forward that. The lack of Limine support is mostly due to a lack of time on my side rather than a real blocking issue on Limine's side.

left ridge
#

there is no guarantee that all the payload is in one contiguous region of memory
what payload? the kernel? there is.

left ridge
#

ah well

past scaffold
#

thats one thing i dont like as well

left ridge
#

can't quite make everyone happy

past scaffold
#

yeah

#

its one of those things

left ridge
#

on one hand that is an inescapable fact, and on the other hand, it sucks to see the amount of NIH associated with everyone not being happy with every little thing

verbal seal
left ridge
#

hm sure

#

for the record i didn't remove it with any intentionality, i am pretty sure i removed it because i thought you moved to brutal

verbal seal
verbal seal
left ridge
#

yeah

past scaffold
#

Why was brutal abandoned btw?

verbal seal
# past scaffold Why was brutal abandoned btw?

BRUTAL is a project by @fierce flower and me. Since they are too busy to work on it, I didn't feel like working on it alone. Also, skift was just supposed to be BRUTAL's user space, but I did build a small kernel because I wanted to see how skift's flavor of C++ would fare in kernel space.

#

BRUTAL is still a better kernel than hjert because it does support SMP and has a better scheduler

past scaffold
#

i see

#

i liked the pretty art tho

verbal seal
past scaffold
#

damn

#

looks cool

fading whale
#

that was personal

verbal seal
verbal seal
#

@teal hornet you said in the other meme server that you where not able to build skift on your machine, can you tell me more ?

idle quartz
#

@verbal seal On https://skiftos.org/ , the links to the source code of Opstart and Hideo are broken

skiftOS

skiftOS is a hobby operating system built for learning and for fun targeting the x86 platform. It features a kernel named hjert, a graphical user interface with a compositing window manager, and familiar UNIX utilities.

verbal seal
#

Current progress on the browser, chrome above, us bellow

#

Acid1 is not looking so hot right now πŸ˜…

#

Support for tables was also greatly improved

past scaffold
#

I hope u surpass ladybird

#

Although they literally depend on googles libraries now even for rendering so its going to be tough

barren mantle
past scaffold
#

Btw @verbal seal now that your project is split into a billion repositories are you worried about β€œbump X to latest” commit churn and the overall awkwardness of that whole thing

#

I understand the intent tho, that you want to have them as separate projects

verbal seal
past scaffold
#

Thats very cool

#

Did you split partially to shift focus away from skift os?

#

Any plans on using third party libraries?

barren mantle
#

there's no way this could ever be profitable

#

no offence

past scaffold
#

Well maybe in 20 years

barren mantle
#

but a new browser in $currentYear does not stand a chance

barren mantle
past scaffold
#

But I agree that the market is a bit oversaturated atm

verbal seal
# barren mantle why is anyone paying yall to work on this?

The engine is mainly built for static document generation, meaning taking HTML/CSS and generating PDFs as fast as possible with the least amount of resources. Odoo, being an ERP, generates millions of documents every month, so there is money to be saved by reducing support tickets related to document generation times and lowering infrastructure costs.

past scaffold
#

No way it’s cheaper to write an HTML renderer from scratch than to optimize chromium for this specific case?

barren mantle
#

might be a long tail problem kind of thing

#

you can deal with like, 99% with pretty easy code

#

and then throw chromium at the remaining 1%

past scaffold
#

Hmm

#

I mean im sure it makes sense, I doubt people paying for it are dumb

barren mantle
#

apart from like a font

#

or text colors

verbal seal
barren mantle
#

that sounds crazy

verbal seal
left ridge
#

Limine ad spot when

rare spoke
#

and now this segue to our sponsor... limine!

past scaffold
barren mantle
#

(no)

left ridge
#

you only need ads if your product is shit

#

jk

#

also i wouldn't have that money to waste on an LTT ad anyways

vocal obsidian
#

LTT is linus tech tips?

#

Or am I slow

barren mantle
#

yes

idle quartz
#

Live To Time

clear pewter
#

Live to Tell

vocal obsidian
#

Live to tear

idle quartz
#

been reading the kernel's code to see how it's done and compare to mine. I am stunned by how simple it is

#

congrats!

sinful mauve
sinful mauve
#

10k

#

damnn

verbal seal
verbal seal
verbal seal
#

I added a start page

past scaffold
#

I might've seen a browser with a similar start page ultrameme

vast marten
#

It looks mostly good, but something just feels off about it, and I can't tell what exactly

verbal seal
#

That's not intended, it's caused by a bug in our flexbox implementation

vast marten
#

Maybe but something about the input box felt weird too

#

It might be its size. For that font size I'd probably expect it to be wider

#

Or I don't know. Something just feels off

#

I did notice it was off-center and I dismissed it because it's understandable that it's unintentional and will later be fixed

verbal seal
idle quartz
#

Banana

verbal seal
#

I built it for this print dialog I'm working on :)

verbal seal
#

skiftOS - A modern operating system

verbal pulsar
#

hows acid1 going

verbal seal
# verbal pulsar hows acid1 going

We didn't progress that much because it mostly just tests floats and clear and we have postponed these features to another milestone

verbal seal
#

Image support!

idle quartz
#

‼️

teal hornet
verbal seal
idle quartz
left ridge
#

jschlatt + lena

#

like holy shit lol

idle quartz
#

never heard of them before

rare spoke
#

lena is the original picture

#

and jschlatt is a youtuber apparently

rare spoke
# rare spoke lena is the original picture

Lenna (or Lena) is a standard test image used in the field of digital image processing, starting in 1973. It is a picture of the Swedish model Lena ForsΓ©n, shot by photographer Dwight Hooker and cropped from the centerfold of the November 1972 issue of Playboy magazine. The image has attracted controversy in recent years because of its subject m...

silk berry
#

that doesn't even look like schlatt

left ridge
#

true

teal hornet
#

I have no idea why there was controversy over this picture

#

And how another, similar picture being used was supposed to draw attention to the "issue"

rare spoke
#

honestly I don't really get it either

#

how is it supposed to hurt women? it's literally just a picture

teal hornet
#

My best guess is slutshaming prudes

rare spoke
#

"However, 46 years on, Lena is still being used as a test image. According to Creatable and Code Like Girl, this is symbolic of how women were left out and pushed out of the industry."

#

this doesn't make sense at all in my opinion

#

so women are being pushed out of the industry because another woman got a picture taken of her in an unrelated magazine?

#

the only reason it's still being used is because of historical significance, not because evil men actively discriminate against women

north flame
#

well

#

I mean, the reason this happened is that they needed a test image

#

and one of them pulled out the centerfold picture on Playboy magazine

rare spoke
#

yes

#

this is literally what happened

north flame
#

I don't think that'd've happened if a woman was in the room

rare spoke
#

probably not, but I just think people like to make a fuss about irrelevant things like this

north flame
#

also, nowadays it isn't that good of a test image anymore
people will test image processing algorithms on it that don't even apply to it

#

just because

#

and then put it into publications

#

this apparently got so bad many journals banned it

rare spoke
#

yeah that is fair criticism

verbal seal
# rare spoke honestly I don't really get it either

This video is really at explaining the situation around the image https://www.youtube.com/watch?v=yCdwm2vo09I

The most widely-used image in academic history is no longer accepted in journals. So what happened?

I'm on Twitter and Patreon:
https://twitter.com/bobbybroccole
https://www.patreon.com/bobbybroccoli

Voiceovers provided by:
@HeavyEyed
@hotcyder
@Darkfry
@Your Awful Sons
Kevin from PixelLit (pixellitpod.com)

Music in order:
Mydnyte...

β–Ά Play video
verbal seal
#

Current progress on bootstrap 5 support. chrome/veav

ebon bobcat
#

woww very cool

verbal seal
#

Trying to decide which mouse cursor to use πŸ€”

past scaffold
#

i like the lhs

ebon bobcat
#

the left is nice

verbal seal
verbal seal
vocal obsidian
#

logging is really expensive

verbal seal
vocal obsidian
#

but other than that, good work on skiftOS

#

is this a group project or just you (sorry for my ignorance)

verbal seal
vocal obsidian
#

daaaamn

#

nice work

#

since you have a proper-ish DE it seems, you might want to look into using uacpi for getting stuff like battery status, battery power levels

#

etc.

#

laptop lid opens/closes

#

if you don't have uacpi already

verbal seal
vocal obsidian
#

I see

#

who knows, I might contribute power management code to it soon, if you can get uacpi implemented

#

and by power management, I mean stuff like suspend, as well as what I said above

verbal seal
livid dome
#

surprissed that the idea of uacpi wasn't immediately rejected since iirc skift is a big nih project, i would expect a homemade aml interpreter :^)

#

but good work it looks awesome!

livid dome
ebon bobcat
#

nice! :D

verbal seal
ebon bobcat
#

I am both impressed by and scared of people who write their own aml interpreters :D

idle pumice
#

hard left

livid dome
#

cursors are historically anchored to top left

#

so it being like a circle is a bit unusual

#

which probably makes people choose left

#

i guess it works for ipados because you don't actually get a proper cursor there

#

just a weird blob that's supposed to simulate a finger that you can move around with your mouse

idle pumice
#

today I learned ipados has a cursor

livid dome
#

yeah it's interesting

verbal seal
vocal obsidian
#

Cool!

hexed girder
#

you can do a lot on the cpu

#

like older windows software rendering performs really well

idle pumice
#

this is also doing more than old windows software rendering

#

those smooth animations have a tax

#

instead of rendering once per change you are rendering several times for intermediary frames

#

windows did disable aero and smooth animations when doing VESA after all

verbal seal
#

Also, it's running without any form of acceleration on QEMU's side

#

It's TCG

idle pumice
#

yeah that could be another nail

#

but I truly feel there is only so much you can do

verbal seal
idle pumice
#

you will want to break things into layers anyways if you ever want to port it to a GPU, given a lot of GPUs work like that, with different render layers

verbal seal
#

Yeah having a complete set of virtio drivers is on my todo

hexed girder
#

fast cpu rendering is needed on real hardware anyways, since gpus are far away

idle quartz
#

god I want to do graphics rendering and build a desktop environment so bad

idle pumice
#

do it

#

ill have it as an option for Ironclad if you make it pretty and nice

pine surge
#

uDE

#

uGUI

pine surge
#

not because it's the best DE or whatever

#

i haven't even tried it

#

but i watched a talk on its modularity

#

they're doing cool stuff internally

#

so they're doing actually innovative stuff under the hood and afaik if one ports it to a homebrew os it would be the first homebrew os to run COSMIC and i have a feeling the system76 people would get a good laugh out of that

verbal seal
verbal seal
pine surge
# verbal seal Do you have a link ?

Discover the journey of COSMIC DE, System76's innovative desktop environment, from its inception to its realization. Hosted by Carl Richell (Founder and CEO of System76) and Victoria Brekenfeld (System76 Engineer), this presentation delves into the design and engineering that have shaped COSMIC DE into a powerful and user-friendly desktop. Atten...

β–Ά Play video
#

I only watched Victoria Brekenfeld's section

#

because it had demos and more interesting talk

#

maybe Carl's section was interesting as well idk but i have a prejudice against CEOs

verbal seal
ebon bobcat
idle pumice
#

Yes

ebon bobcat
#

oh nice, didn't realise

idle pumice
#

🍻

vocal iris
#

android has a cursor

livid dome
#

they do

#

it's apple

sinful mauve
#

because i have my make-the-person-a-nyaux-dev inator on me

pine surge
#

are you nixstrap dev??

sinful mauve
#

rn

#

😑

#

im close to userspace

#

i NEED my nixstrap

pine surge
#

sorry πŸ˜”

pine surge
#

tell Γ–SYM to give me YKS questions and answers

#

then i will

vocal obsidian
#

are you like nix developer too

pine surge
#

until i pass YKS, it has priority over osdev

vocal obsidian
pine surge
#

but only technically (i am one of the 4 maintainers of the limine package

#

I'm a casual nixos user + i """maintain""" #1279525023127830609

#

oh you're wondering what nixstrap is?nixstrap is a declarative OS/distro bootstrapper that makes use of the Nix ecosystem. It's built similarly to NixOS, home-manager and other nix-based systems, except its output is not a full system or a home directory but instead bootable disk images. It is modular, and several modules are provided by nixstrap itself, such as support for bootloaders including limine. It replaces Makefiles and other build systems for OS/distros. It is bootloader- and kernel-agnostic.

nixstrap builds everything as nix derivations, in the nix sandbox. It does not need root access for building. It can (and should) be used with nix flakes, with pinned dependencies, therefore providing a lockfile for the OS and ensuring reproducibility. nixstrap allows you to have multiple configurations for your OS, so you can have any amount of pre-customized images (e.g. a linux distro could have the following configurations: aarch64-plasma riscv64-xfce x86_64-minimal...). For huge OSes with many packages and a long build time, you can spin up a nix cache server and spare your contributors hours, thanks to the reproducibility guarantee.

Here's a basic guide to how to use nixstrap for an OS with a homebrew kernel and environment:

  • write nix packages for user software and the kernel. (not as complex as that sounds)
  • enable and configure modules (such as bootloaders) that your 🫡 OS needs and nixstrap already supports. yes you heard it right 🫡 nixstrap saves you from sketchy makefiles downloading dependencies with unpinned versions suddenly breaking everything when your dependencies update.
  • nix build .#nixstrapConfigurations.<configuration name>.config.build.artifacts TODO: CLI tool to not have this long command
  • your bootable images are now ready, with your 🫡 favourite bootloader installed, your 🫡 kernel & initramfs placed in the boot partition and every other file that your 🫡 VM images and installer ISOs need placed exactly where they need to be.
#

@vocal obsidian

vocal obsidian
#

you have completed a quest: nixstrap shilling

pine surge
#

basically you can do very simple nix configuration

livid dome
#

casually hijacking the skiftos thread

pine surge
#

to enable limine for example, and it builds it for you

pine surge
sinful mauve
pine surge
#

SEO optimization

#

more people are gonna learn about nixstrap here than in its own thread

#

it's like being at the top of google search

#
{ pkgs, ... }: {
  build.label = "limine-c-template";
  boot.loader.devices = [ "disk" ];
  # Timeout in seconds that Limine will use before automatically booting.
  boot.loader.timeout = 3;
  boot.loader.limine.enable = true;
  boot.entry."Limine Template" = {
    # We use the Limine boot protocol.
    protocol = "limine";
    # Path to the kernel to boot. boot():/ represents the partition on which limine.conf is located.
    kernelPath = "boot():/boot/kernel";
  };

  # The path where the ESP will be mounted. By default, limine.conf and the EFI
  # executables are placed there.
  # In nixstrap, paths are relative to the disk root and don't need the root /
  # This option defaults to "boot", as that is a common ESP mountpoint.
  boot.efiSysMountPoint = "";

  # This builds the kernel using ./kernel/default.nix, and places it in /boot/kernel
  file."boot/kernel".source = pkgs.callPackage ./kernel {};

  # The image definition. This uses the same format as disko images, and
  # nixstrap internally uses a fork of disko to create and format these images.
  image.disk = {
    type = "disk";
    imageSize = "1M";
    content = {
      type = "gpt";
      partitions.ESP = {
        type = "EF00";
        size = "100%";
        content = {
          type = "filesystem";
          format = "vfat";
          mountpoint = "/";
        };
      };
    };
  };
}
#

example simple config

vocal obsidian
#

with CMake

pine surge
#

i believe yes

vocal obsidian
#

how about any ports I have

#

like a bash port, mlibc

pine surge
#

yes

#

you need to create nix packages for them tho

#

and if they're already in nixpkgs I'd suggest you to only keep patch files in your ports tree

#

yes you can use nixpkgs, the biggest and freshest package repository of the entire world

#

if enough people use nixstrap there would be incentive to do stuff like upstream an mlibc package to nixpkgs and you could upstream your mlibc port to mlibc and you wouldn't even need it in your ports tree

#

you could just pkgs.mlibc

livid dome
#

how would you build nixpkgs pkgs to use mlibc instead of glibc

#

or do they not reference glibc specifically

#

i guess they don't, nvm

pine surge
#

i guess you would just set the linker options accordingly

#

and if you want to do that to all packages

livid dome
#

no no dynamic linking

#

no static linking

#

bad

pine surge
#

ah

livid dome
#

can you make it use your own toolchain? x86_64-my-os-gcc

#

or whatever

pine surge
#

stuff like the libc is declared in the platform or whatever it was called

#

i forgot the actual names used in nixpkgs

verbal seal
gritty sentinel
#

about what

north flame
#

uhm ...

vocal obsidian
gritty sentinel
#

nix sucks, end of argument meme

left ridge
#

sorry

#

they are not a spammer

idle quartz
hybrid flax
#

im shilling so hard rn

vocal obsidian
#

.!naenae @pine surge no nixstrap shilling

sleek heartBOT
#
Command executed by oberrow
Command Error
Type

Permission Error

Details

You must have BAN_MEMBERS to execute this command.

north flame
#

they sent one admittedly long message about nixstrap
but it was only in response to a question by someone
and it's somewhat topical

vocal obsidian
#

rule 17: no shilling nixstrap

north flame
#

so no ban

#

I don't see a problem here

rose gazelle
left ridge
#

even if it was a nono thing it wouldn't be ban worthy

#

at most a mute

livid dome
#

i tried to hint that maybe they shouldn't hijack the thread but oh well

gritty sentinel
#

^

pine surge
#

sorry

idle pumice
left ridge
#

well yeah

pine surge
#

I went to grab something and feds are here

idle pumice
#

hands up

left ridge
#

but like, not hijacking the threads is courtesy but not technically against the rules

left ridge
vocal obsidian
#

we should have a "days since last incident" channel or smth counting the number of days since the last ban

left ridge
hybrid flax
pine surge
left ridge
#

it's fine lol

left ridge
vocal obsidian
#

when something bad happens I usually just ping my favourite mod

#

unless they're offline, then I ping the first one I see is online

hybrid flax
#

( πŸ₯Ί )

livid dome
#

damn left on read

vocal obsidian
#

uhh

#

wait until the next incident

verbal seal
#

lol I was expecting to avoid too much noise and keep the discussion center onto the project and now it's worst πŸ˜…

verbal seal
#

Getting closer to being able to render Google's homepage

verbal seal
#

Hey, if anyone wants to meet up I will be at FOSDEM :)

idle quartz
#

Me too

verbal seal
# idle quartz Me too

I wonder if other people on the server have scheduled a meetup or something. I think there will definitely be some people during the Managarm talk and microkernel devroom

verbal seal
hollow sedge
rose gazelle
#

@verbal seal are you in the microkernel devroom by chance?

visual lion
#

Turn around

rose gazelle
rare spoke
#

can we see you on the webcam or ar you in the back

rose gazelle
#

At the back

gritty sentinel
#

lmao

rose gazelle
#

Camera only captures like 5 seats

#

I might’ve been on stream if the stream was on during the switch from NOVA hypervisor to Geerts Managarm talk

rare spoke
#

the stream is pretty laggy

#

keeps cutting

rose gazelle
#

Yeah

#

It’s unfortunate

#

Lets hope the VOD is better

livid dome
#

oh damn it i missed geert's talk

gritty sentinel
#

watch the vod

livid dome
#

where

#

i could only find the live stream with horrible audio lol

gritty sentinel
#

it'll be up after the day

#

or sunday

rose gazelle
#

It might take a few days

verbal seal
#

If you wanted to know what I look like

#

Might be easier to meetup given this information

pine surge
#

oh sunday ?

#

cool

rose gazelle
pine surge
#

oki

vocal obsidian
#

are you guys at the nerd convention

livid dome
#

they in fact are

rose gazelle
pine surge
#

am not

#

i wish i was

vocal obsidian
#

cool, have fun

pine surge
#

maybe next year

idle pumice
#

Cool

#

I was the guy that did the question to the Redox guy that took the whole 2 minutes

#

How was the managarm talk

left ridge
#

could've made our "encounter" less awkward(?)

#

i don't even know if you know who i was and where i was but i would've liked to say hello

#

kinda hard to do that though if you have no idea what you look like or where you could be lol

verbal seal
left ridge
#

bruh

#

he's taken

idle pumice
#

@hybrid flax get a load of this

verbal seal
#

lol don't ping him 😭

left ridge
#

too late

idle pumice
past scaffold
#

cant wait to see the ironcland and managarm talk vods

gloomy egret
left ridge
#

the redox talk sucked

idle pumice
#

The ironclad one is tomorrow, and now that I know you both are in there, if you don't show up, you are banned

#

Hope you understand

gloomy egret
#

I’ll follow @verbal seal πŸ˜‡

left ridge
#

next year ill do a Vinix talk bet

verbal seal
idle pumice
#

I'll follow on my threat I am not joking

gloomy egret
left ridge
left ridge
#

i was the person that said "oh that was Monax" to Dennis outside the hall when you where with your friends talking, you heard me, looked towards me, then went away along with your friend group

#

social interaction/10

gloomy egret
#

I wasn’t with her I think πŸ‘€
Otherwise I would tell her « hey that’s one of your fanΒ Β»

left ridge
#

lol

gloomy egret
#

Go talk to them

verbal seal
left ridge
#

understandable

#

that's what we thought

idle pumice
#

I don't really know what the guy answered to my question tbh

#

The talk was good but yeah it got a bit difficult to follow

verbal seal
pine surge
#

I'll be way less friends tomorrow
- evil monax

pine surge
dawn pond
#

how can we watch this from afar

pine surge
rare spoke
#

but they suck

#

so you should wait for VODs

left ridge
#

i think i saw someone with a blahaj hat here

verbal seal
hybrid flax
#

😳😳😳😳

rose gazelle
rose gazelle
verbal seal
rose gazelle
#

I see. Idk we might join after the microkernel devroom dinner but it’s not close to us

#

And we’re still at the dinner meme

verbal seal
rose gazelle
#

We went back to the Airbnb so we’ll see you tomorrow

left ridge
#

damn

idle pumice
#

Well you guys know what to do

verbal seal
#

Today's fit

past scaffold
#

OBOS logo on backpack

rose gazelle
#

Managarm current location: outside ADA devroom

vague sapphire
#

I couldn't make it to FOSDEM πŸ’” - i have school rn and wayy too much stuff to prepare for school

idle pumice
#

How was the talk @verbal seal

#

Bugs aside

#

Which I will punish myself with

past scaffold
#

Is there a link

idle pumice
#

No there isn't

#

(there is but I'm ashamed of the bugging)

past scaffold
#

😒

gloomy egret
#

Naaah it was ok

#

It was very interesting

gritty sentinel
#

your talk is still in review

idle pumice
#

Hell yeah

past scaffold
#

shit like that happens all the time

idle pumice
#

It's pretty common

rose gazelle
verbal seal
idle pumice
#

thanks

gritty sentinel
#

🦭

pine surge
#

🦭

#

i should explore ironclad and gloire one day

vague sapphire
#

🦭

#

ironclad seal my beloved

rose gazelle
real ether
fair palm
#

yo whats the github pag

verbal seal
vital nebula
#

could easily replace the likes of ChromeOS at the very least if hardware support is good

ebon bobcat
#

maybe if they just wrote the html/css engine and ported a JS engine it could be possible, idrk

vital nebula
rare spoke
#

I don't think there's a JS engine yet

vital nebula
#

oh damn, thats pretty impressive then

ebon bobcat
#

google's homepage is incredibly simple and easy to write an engine for in comparison to the rest of the web

#

obviously hard and impressive, but not in comparison to other webpages

vital nebula
#

ok i thought you would, every browser ive used without js can't render googles homepage

#

namely netsurf

ebon bobcat
# verbal seal Progress on google.com

also look into QuickJS-NG, it's a maintained version of QuickJS and it's a very portable lightweight JS engine you could maybe plug in which is fairly complete and even occasionally beats V8 in speed (I know SkiftOS has a bit of a NIH mindset but idk if there's certain things you'd make exceptions for so I thought I'd mention)

fading whale
#

you could also just port a web engine to skift

#

not sure how easy that is considering skift doesnt implement posix

mild mulch
fading whale
#

a web browser is much more than a web engine

mild mulch
#

bc they are working on one

fading whale
#

yes

#

a web browser used a web engine to render everything

#

but web browser also have bookmarks, pdf viewers, extensions and so on

mild mulch
#

ye, they have a custom engine

fading whale
#

not sure what you mean

#

they are built on top of engines

mild mulch
#

look here

fading whale
#

oh you meant they as in skift?

mild mulch
#

yes

fading whale
#

I thought you were referring to broswers in general

mild mulch
#

nope, the vaev browser in skift

fading whale
#

tbh I would rather write my own mlibc than browser engine

#

so much easier probably

mild mulch
#

yeah def XD

quaint zephyr
# fading whale so much easier probably

also boring for the most part as there are literally hundreds of functions in posix most of which you just make call a sysdep + do an error check + errno assign

fading whale
#

writing a web engine must be pretty entertaining not going to lie

#

but also a pain considering how broken html code often time is

mild mulch
#

css mostly XD

fading whale
#

xhtml must be nice

#

yes

#

but also html often time works without ending tags and other stuff

#

and people actually write their html like that

#

and it is expected of your web engine to handle that

mild mulch
#

yeah, but css likes to break layouts and be very hard to work with

quaint zephyr
#

the html spec has a parsing algorithm that works with invalid stuff

fading whale
#

ew

quaint zephyr
#

its nice because you don't need to come up with it yourself

#

and its like 2800 lines in c++ when I implemented it (which also seems to match roughly what the skift web browser has)

ebon bobcat
#

i wrote a html parser that was only like 500 lines. here is the algorithm as to how it deals with invalid stuff:

  • throw an error
  • ...
verbal seal
#

Better handling of inline formatting and basic SVG support

gritty sentinel
#

fyi you censored the username here but not above :P

verbal seal
gritty sentinel
#

ah

wraith drift
verbal seal
idle quartz
sinful mauve
#

holy

#

so when youtube

fading whale
#

WebGL Aquarium when

vast marten
#

Web version of vscode when

crude shadow
vast marten
#

aw man

#

seems to work tho so..

timber goblet
vast marten
#

That's really not the point ._.

gritty sentinel
vast marten
#

People were humorously asking when complex content could be displayed and I added to that

gritty sentinel
#

wtf

vast marten
#

????

#

Why does it matter what the link to it is

gritty sentinel
#

?????????????????????????

#

why did you say "that's not really the point"

timber goblet
gritty sentinel
#

i'm so lost

vast marten
#

Are we seeing the same messages

gritty sentinel
#

you are talking in puzzles

vast marten
#
  1. sleepy_monax showed a screenshot of Google being displayed on their browser.
  2. Someone else asked when YouTube could be displayed on the browser (as a joke).
  3. Another person, again, as a joke, asked when WebGL aquarium could be displayed.
  4. To add to the joke, I asked when VSCode Web (an example of a pretty complex web app) could be displayed
gritty sentinel
#

ok

#

and what does this mean then

vast marten
verbal seal
vast marten
#

I get you're continuing the joke but just for the note I wasn't the one who started it πŸ˜…

trim spindle
#

any updates?

verbal seal
#

Starting a three-week vacation, I hope to make some nice progress on Skift :)

verbal seal
#

Finally got around implementing PNG decoding

#

And made some art along the way :)

past scaffold
#

the format itself is pretty nice and simple

#

but i remember inflate took me 3 weeks to understand and make an impl

#

or maybe it was 2 idk, a long time

past scaffold
#

deconstructing data from https://en.wikipedia.org/wiki/Deflate

In computing, Deflate (stylized as DEFLATE, and also called Flate) is a lossless data compression file format that uses a combination of LZ77 and Huffman coding. It was designed by Phil Katz, for version 2 of his PKZIP archiving tool. Deflate was later specified in Request for Comments (RFC) 1951 (1996).
Katz also designed the original algorithm...

verbal seal
wraith drift
fading whale
silk merlin
verbal seal
verbal seal
#

The media player is now working; it can play simple WAVE files

verbal seal
#

If you like it maybe I'll do one on a different subject at fosdem but still need to think about it

verbal seal
#

I added more "professional" adjustments to the image editor blobross

#

With working auto adjustment

verbal seal
#

I finally got the motivation to work on the actual OS back, I fixed some IPC bugs, improved my RPC framework, and implemented shared memory graphical surfaces. It's not interactive yet, but FINALY apps can render in the shell.

ebon bobcat
#

lesgo skiftOS is backkkk

#

(I mean never really gone but ykwim)

wraith drift
#

Awesome! poggers

hollow swallow
#

this os looks like if you dont use gpu drivers the world will end

#

nice πŸ‘

verbal seal
verbal seal
#

Yup CPUs are fast!

hollow swallow
#

unless google chrome trl

gaunt lake
#

I've once used llvm-pipe for like 3 weeks before noticing I don't have a GPU driver, including for watching YouTube. And I only noticed cause I wanted to do some opengl meme and saw the vendor is llvm-pipe... CPUs really are fast.

verbal seal
hollow swallow
#

like making a web browser

verbal seal
hollow swallow
#

yooooo

#

nice

#

youtube when trl

verbal seal
#

Also working on another design for the mouse cursor

verbal seal
verbal seal
#

I have procastinated on this for like two years

verbal seal
#

To be fair, the kernel had the full task life cycle ready; I just needed to send a message to the server to properly destroy the window

shadow eagle
#

Underrated project

wild glen
#

why must I enable js to access the website?

hollow swallow
#

what websites are you on 😭

wild glen
#

capchas are an exception

hollow swallow
#

we do need them for pretty because otherwise people wont like

#

what about online shopping

#

and blog comments

#

are these apparently webapps?

wild glen
hollow swallow
hollow swallow
wild glen
wild glen
#

it's a modern CPU

hollow swallow
#

oh ok

#

nice

wild glen
hollow swallow
#

i was going to make a joke here but that isnt THAT bad

wild glen
#

clocked at 2.00 GHz :)

hollow swallow
#

nvm it's probably that bad
-# i have a core2 at 2.8 ghz for my other laptop

#

consider upgrading ngl

wild glen
wild glen
hollow swallow
wild glen
#

also supertux and supertuxkarts

hollow swallow
#

based game choice but these are very old

wraith drift
hollow swallow
wild glen
wraith drift
hollow swallow
#

minecraft on a pregnancy test trl

#

we got doom alr

wraith drift
#

I mean hey, you do you, but a core2duo does seem kind of old

wild glen
hollow swallow
#

oops wrong channel

wild glen
#

are you from iran?

wild glen
hollow swallow
#

in america rn

wild glen
#

intel, google, gitlab, golang are a few that come to mind

hollow swallow
#

getting blocked by google is big misery

wild glen
wraith drift
#

I don't 🀣

wild glen
wraith drift
#

ah

#

okie then

#

don't mind me :3

hollow swallow
#

anyways

verbal seal
shadow eagle
#

J*vascript

verbal seal
#

The new website, way more minimalist; this way I have a good shot at being able to render it using the browser πŸ˜…

hollow swallow
#

nice

#

pride flag jumpscare :0

verbal seal
hollow swallow
#

ok fair

verbal seal
#

I mean to use it as the ramdisk format for skiftOS

#

The main advantage over other formats is that lookup is fast and everything is page-aligned

shadow scarab
rare spoke
verbal seal
#

Working on the terminal

prisma wraith
#

nice

timber goblet
verbal seal
#

Hey, if anyone here is going to FOSDEM, I’ll be presenting a talk about skiftOS in the microkernel and component-based OS dev room partyblob

verbal seal
hollow swallow
verbal seal
gritty sentinel
#

rip stars

verbal seal
verbal seal
verbal seal
#

These past two days I have:

  • Introduced a new IRQ delivery scheme from kernel to userspace.
  • Introduced a general framework for writing system components and handling client sessions.
  • Got rid of the stupid bus and replaced it with a component manager.

Now I have two days to fix all the bugs and regressions, implement the VFS back, port Doom, and get the browser running fishbruh

gritty sentinel
verbal seal
#

The QR code is not final

#

It's a place holder

north flame
verbal seal
gritty sentinel
#

zamn

#

this kinda motivates me to make a microkernel KEKW

gritty sentinel
#

@verbal seal I'm not Arsen pain

#

(sorry we had to bounce for the os-test talk)

gritty sentinel
#

wait

verbal seal
#

bruh

gritty sentinel
#

was that not you in the microkernel devroom

#

someone asked if i was Arsen

idle quartz
#

Banger presentation at fosdem

verbal seal
#

I did a big refresh of the UI

spare coyote
#

does it support scaling?

verbal seal
spare coyote
#

ooh nice

hollow swallow
#

add blur trl

verbal seal
wooden canyon
sinful dove
verbal seal
sinful dove
#

What about the kernal? Was it made in C++ Too?

verbal seal
sinful dove
#

Ooh..........

indigo otter
#

very nice talk in general πŸ‘

quiet mural
#

gnome if it was based

vocal oak
#

did it use like wayland or x11 or did you also make a display manager

verbal seal
vocal oak
#

WOAH

#

and it looks so modern lol

#

wait WTF did you also made a mobile os

verbal seal
shadow eagle
#

You were my motivation to do OSDev

wooden canyon
#

nowadays i think astral is cooler since i want to port stuff and not write it all on my own

#

this is awesome though-

quiet mural
#

πŸ€“

#

astral is very cool though

wraith drift
hollow swallow
#

mine was microsoft powerpoint trl

#

if ykyk

#

im certain everyone, yes, everyone made fake os's in powerpoint

#

otherwise you just aint a REAL os developer

hollow swallow
#

powerpoint 2010 or i felt fancy i ran powerpoint 2007

#

i had every single powerpoint version in existence

#

except i was too stupid to understand how to use office 2003

hollow swallow
gritty sentinel
hollow swallow
#

also might go afk

gritty sentinel
#

like a powerpoint

idle quartz
#

I did try making one in Java though when I was like 14

#

(Just some shitty fullscreen app)

hollow swallow
wraith drift
hollow swallow
#

everyone here made a fake os once trl

vocal oak
#

8*

#

i made it in scratch not from scratch D:

verbal seal
vocal oak
hollow swallow
#

whichever one ran on the pdp 11

hollow swallow
#

at least it's more unique than the entirety of astral

#

no but this is actually pretty good

rare spoke
#

It's not a competition, they're both doing their own thing

hollow swallow
#

do be true tho

wraith drift
#

Astral slander will not be tolerated >:3 PichuKnife

gritty sentinel
hollow swallow
gritty sentinel
#

x11 runs on windows

hollow swallow
gritty sentinel
#

unix is love unix is life

#

life is a file

timber goblet
spare coyote
#

Huge pile of junk

spare coyote
#

(kernel shell with horrible code)

hollow swallow
#

i also did tho

#

i had like 45000 rewrites because i joined the server

#

yall know too much trl

hollow swallow
#

qemu text mode

#

grub2

#

kernel shell

timber goblet
hollow swallow
#

i was following some crappy yt tutorial too nooo

#

i rewrote the idiot when i realized i needed a framebuffer

#

then after some time i on powerpc lololol trl

timber goblet
hollow swallow
#

mine had to be started from scratch because i cant tolerate codebases i dont like somehow

timber goblet
hollow swallow
#

i somehow dont go insane with the resets

#

i think i just learned to write code that can satisfy myself

#

so hopefully ill just nuke everything less

timber goblet
#

do you have a thread for it

hollow swallow
hollow swallow
hollow swallow
timber goblet
hollow swallow
quiet mural
#

just found the website, waow, this is very cool

#

:D

#

I am a bit curious why is clang a dependency? is there something in there where GCC won't work?

#

^v^

quiet mural
#

don't think brew has cutekit

#

:<

#

imma just use spare fedora box lol

#

7th gen i5 so it won't be fast but oh well

livid dome
#

took me about 5 second to find

quiet mural
#

sorry

#

student@Student-X0079504-CQQTNH93NQ~/os $ python3 -m pip install cutekit
Defaulting to user installation because normal site-packages is not writeable
ERROR: Ignored the following versions that require a different python version: 0.10.0 Requires-Python >=3.11; 0.10.1 Requires-Python >=3.11; 0.10.2 Requires-Python >=3.11; 0.10.3 Requires-Python >=3.11; 0.10.4 Requires-Python >=3.11; 0.10.5 Requires-Python >=3.11; 0.10.6 Requires-Python >=3.11; 0.10.7 Requires-Python >=3.11; 0.11.0 Requires-Python >=3.11; 0.11.1 Requires-Python >=3.11; 0.9.3 Requires-Python >=3.11; 0.9.4 Requires-Python >=3.11
ERROR: Could not find a version that satisfies the requirement cutekit (from versions: none)
ERROR: No matching distribution found for cutekit
student@Student-X0079504-CQQTNH93NQ~/os $

quiet mural
#

are there prebuilt images somewhere I could not find any

#

πŸ₯Ή

wooden canyon
quiet mural
#

ohhh thanks :)

wooden canyon
#

the v86 one seems kinda outdated tbh

verbal seal
#

Finally got a proper vfs, I'm no longer mapping the ramdisk in every process trl

shadow eagle
#

Pretty

prisma wraith
timber tangle
vocal oak
timber tangle
vocal oak
#

oh lol

#

im wondering how tf do you have ai when your 11

timber tangle
#

gemini ai studio

#

(back then ai was shit)

vocal oak
#

true

spare coyote
timber tangle
north flame
timber tangle
shadow eagle
#

maaan

prisma wraith
#

lol my os is older than half the people on the server

#

not older than half the people's OSes, older than the humans kekeke

#

it would be legally old enough to drink this November

fading whale
prisma wraith
#

18

#

im british!

night wedge
prisma wraith
#

but im thinking of a new name entirely, havent decided yet

quiet mural
#

Is this dead

mild mulch
#

there are pushes being made in GH

quiet mural
#

Ah

verbal seal
#

Finally got some energy+motivation to work on skiftOS. I added mmap'able clock and a job DAG into the kernel. I also fix a bunch of file system regression that prevented Doom from running πŸ˜… Now I should have all the required building block for adding a console and a shell to the OS :)

verbal seal
#

I'm going full Plan 9: every service now behaves like a FUSE filesystem that can be mounted. Each process either inherits a namespace or gets its own, and within that namespace other services can be mounted; or overlaid on top of each other, unionfs-like.