#skiftOS - A modern operating system
1 messages Β· Page 2 of 1
thanks, he's even more ridiculous now.
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
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
I'm impressed by how far skiftOS actually is. I don't know if I'll ever get this far with my project.
^^^^^^^^
I wrote a specification for the boot protocol used in Skift. It's not as fully-fledged as the Limine one and isn't meant to be, but I'm open to feedback. https://github.com/cute-engineering/handover/blob/main/README.md#L15-L16
Looks very similar to the ultra boot protocol my loader uses
Really? Can you send your spec I'm curious :)
Or project sorry
Yeah looks a lot like multiboot2
i'm not sure if there is any point in doing that, to be honest
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
I want my bootloader to support multiple kernels and boot protocols, and Limine's protocol doesn't fit my design requirements.
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
add forth to your bootloader and have the user ship whatever they want :^)
implement the boot protocol in AML
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.
there is no guarantee that all the payload is in one contiguous region of memory
what payload? the kernel? there is.
request replies
request replies
ah well
thats one thing i dont like as well
can't quite make everyone happy
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
If this weekend I add limine support back to skift will you display it in the in the screenshot in your readme back 
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
Yay π
Yay it was no longer using limine so it was understandable
yeah
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
Yeah BRUTAL aesthetic was perfect, skift fell a bit too corporate for my taste
You might like this tho https://docs.skiftos.org/propaganda.html
that was personal
It's a joke, I love C
@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 ?
It's Python's fault IIRC
@verbal seal On https://skiftos.org/ , the links to the source code of Opstart and Hideo are broken
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.
ok thanks
Current progress on the browser, chrome above, us bellow
Acid1 is not looking so hot right now π
Support for tables was also greatly improved
I hope u surpass ladybird
Although they literally depend on googles libraries now even for rendering so its going to be tough
it's the key prinicple of making a really boring project
But hey now it's a big boy project with funding and big boy library dependencies
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
We have big boi funding too. There is currently 3 full time engineers working on the engine at Odoo (including me) which roughly equal to 12k⬠a month
Thats very cool
Did you split partially to shift focus away from skift os?
Any plans on using third party libraries?
why is anyone paying yall to work on this?
there's no way this could ever be profitable
no offence
Well maybe in 20 years
but a new browser in $currentYear does not stand a chance
easier and cheaper to modify firefox, chromium or webkit
But I agree that the market is a bit oversaturated atm
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.
No way itβs cheaper to write an HTML renderer from scratch than to optimize chromium for this specific case?
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%
like idk how many documents will have css at all
apart from like a font
or text colors
Without any special optimization efforts, we are already 3x faster than Chromium. There's no way we can optimize Chromium without negatively impacting other use cases that Google cares more about than PDF generation.
It's cheaper than an LTT ad spot 
how much does LTT charge lmao
that sounds crazy
10k for ad spots, sponsored video are like 50k
Limine ad spot when
and now this segue to our sponsor... limine!
Do u really want this much attention from clueless ltt viewers
(no)
no, i don't need ads
you only need ads if your product is shit
jk
also i wouldn't have that money to waste on an LTT ad anyways
yes
Live To Time
Live to Tell
Live to tear
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!
what if i emailed ltt and asked them how much for an ad spot 
thanks π
Well mine does a lot less π
I added a start page
I might've seen a browser with a similar start page 
It looks mostly good, but something just feels off about it, and I can't tell what exactly
Is it because it's off-center?
That's not intended, it's caused by a bug in our flexbox implementation
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
Just added select component to Karm
Banana
I built it for this print dialog I'm working on :)
skiftOS - A modern operating system
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
Image support!
βΌοΈ
Is that Jschlenna?
It's all I know https://mortenhannemose.github.io/lena/
Ethically sourced Lena picture
google gives 0 results for that word
never heard of them before
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...
that doesn't even look like schlatt
true
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"
honestly I don't really get it either
how is it supposed to hurt women? it's literally just a picture
My best guess is slutshaming prudes
"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
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
I don't think that'd've happened if a woman was in the room
probably not, but I just think people like to make a fuss about irrelevant things like this
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
yeah that is fair criticism
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...
Current progress on bootstrap 5 support. chrome/veav
woww very cool
Trying to decide which mouse cursor to use π€
i like the lhs
the left is nice
I really like what ipados is doing with the cursor https://youtu.be/jijhJj_rNDI?si=5yohqa_1I7UVmPnI
Craig Federighi describes how the new iPad Pro cursor feature works. (This video was supplied to journalists by Apple.)
So, I still have a lot of work to do but.......................... Skift is finally interactive π₯³
I think you could probably optimize this a lot by removing all those logs
logging is really expensive
Yeah, there is a lot of room for improvement, but I'll work on that later, it's like 3 am and I need to sleep now π
but other than that, good work on skiftOS
is this a group project or just you (sorry for my ignorance)
Everything except the browser is written by me
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
Right now, Skift is seriously lacking in the driver/kernel front, but the userspace is getting pretty good
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
I think I'll first get everything I have nice and fast and then I'll looks into adding new stuff :)
very nice π
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!
and definitely left
nice! :D
I didn't know what it was π
I am both impressed by and scared of people who write their own aml interpreters :D
the one in the right is easily the worst cursor ive seen in my life
hard left
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
today I learned ipados has a cursor
yeah it's interesting
Less horrible perfs
Cool!
you can do a lot on the cpu
like older windows software rendering performs really well
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
There's still some room to make things faster. I could:
- distribute rendering across multiple threads.
- skip drawing stuff that's hidden.
- break things into layers so animations are cheaper. just blit them instead of redrawing everything.
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
Yeah having a complete set of virtio drivers is on my todo
fast cpu rendering is needed on real hardware anyways, since gpus are far away
god I want to do graphics rendering and build a desktop environment so bad
I'd love to run cosmic on my os at some point
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
Redox can run some of cosmic components
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...
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
thanks π
Wait are you ironclad dev
Yes
oh nice, didn't realise
π»
ipad OS has no excuse
android has a cursor
wait are u nyaux dev
because i have my make-the-person-a-nyaux-dev inator on me

wait are u nix strap dev who needs to GET BACK TO WORk
rn
π‘
im close to userspace
i NEED my nixstrap
sorry π
are you like nix developer too
until i pass YKS, it has priority over osdev
Nix is a tool that takes a unique approach to package management and system configuration. Learn how to make reproducible, declarative and reliable systems.
i am technically a nixpkgs maintainer
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.artifactsTODO: 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
you have completed a quest: nixstrap shilling
basically you can do very simple nix configuration
casually hijacking the skiftos thread
to enable limine for example, and it builds it for you
it's called advertisement
@verbal seal what is ur opinion on this hjacking
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
can I get it to build my kernel
with CMake
i believe yes
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
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
not sure about static linking
i guess you would just set the linker options accordingly
and if you want to do that to all packages
ah
stuff like the libc is declared in the platform or whatever it was called
i forgot the actual names used in nixpkgs
<@&575187262250287114> please do something π₯Ίπ
about what
uhm ...
@pine surge shilling nixstrap in here
nix sucks, end of argument 
no
sorry
they are not a spammer
bing shilling
im shilling so hard rn
.!naenae @pine surge no nixstrap shilling
Permission Error
You must have BAN_MEMBERS to execute this command.
they sent one admittedly long message about nixstrap
but it was only in response to a question by someone
and it's somewhat topical
rule 17: no shilling nixstrap
.!naenae @vocal obsidian no backseat modding
i tried to hint that maybe they shouldn't hijack the thread but oh well
^
sorry
well yeah
I went to grab something and feds are here
hands up
but like, not hijacking the threads is courtesy but not technically against the rules
me
we should have a "days since last incident" channel or smth counting the number of days since the last ban
definitely not something i'd say pinging all mods over is appropriate tbh
POLICE OPEN UP
sorry won't happen again π«‘
it's fine lol
like sure maybe if it's a repeated obnoxious thing, i can understand it, but this wasn't the case here
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
who might that be
( π₯Ί )
damn left on read
lol I was expecting to avoid too much noise and keep the discussion center onto the project and now it's worst π
chat is dead
Getting closer to being able to render Google's homepage
Hey, if anyone wants to meet up I will be at FOSDEM :)
I'm down
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
Cool, I'll add it to my list of talk I went to attend :)
I'll be having a talk in the Foss on mobile devices devroom, isn't on the schedule on the website yet as it's replacing someone who had to drop out, it's about a AGPS project of mine
@verbal seal are you in the microkernel devroom by chance?
Yes :)
Turn around
Behind you on the left :)
can we see you on the webcam or ar you in the back
At the back
lmao
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
oh damn it i missed geert's talk
watch the vod
It might take a few days
If you wanted to know what I look like
Might be easier to meetup given this information
do you know when that'll be available?
oh sunday ?
cool
Unlikely. Give it a few days
oki
are you guys at the nerd convention
they in fact are
Yes
cool, have fun
maybe next year
Oh that was you lol
Cool
I was the guy that did the question to the Redox guy that took the whole 2 minutes
How was the managarm talk
yeah, now i know
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
I could not focus on the talk, the speaker was π₯΅π₯΅π₯΅ /j
Joke aside I found the talk pretty good :)
@hybrid flax get a load of this
lol don't ping him π
too late
I honestly preferred it a lot to the Redox one, the Redox one was way more difficult to follow
cant wait to see the ironcland and managarm talk vods
Yeah I wasn't able to follow
Ngl I almost felt asleep π₯²
the redox talk sucked
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
Iβll follow @verbal seal π
next year ill do a Vinix talk bet
Yeah I didn't know you were there sorry, I would have been really happy to meet
simp
I'll follow on my threat I am not joking
Fake news
i will be there tomorrow for the Ironclad talk of course
Me too
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
I wasnβt with her I think π
Otherwise I would tell her « hey thatβs one of your fanΒ Β»
lol
Go talk to them
I might have heard my name but didn't see who said that, tbh I got very nervous it was a lot of people to interact with
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
I'll be way less friends tomorrow so I should have the social energy to do a proper meet with you guys
I'll be way less friends tomorrow
- evil monax
is that menhera-chan :3
how can we watch this from afar
there are streams on the fosdem page for every room
but they suck
so you should wait for VODs
i think i saw someone with a blahaj hat here
I'm here if anyone wants https://bytenight.brussels/
LMAO
thank you hahahahahah
Iβll back you on it
Until when is this?
Dunno the site says nothing about that
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 
I don't know if I'll stay for long
We went back to the Airbnb so weβll see you tomorrow
Well you guys know what to do
Today's fit
OBOS logo on backpack
Managarm current location: outside ADA devroom
hell yeah
I couldn't make it to FOSDEM π - i have school rn and wayy too much stuff to prepare for school
Is there a link
π’
there isn't
your talk is still in review
Hell yeah
i mean didnt an iphone triple fault during a presentation or something like that
shit like that happens all the time
It's pretty common
Windows 98 printer BSOD moment yeah
It was good, I liked the "Hardware devs are silly" πͺΏ
(and you have the cutest project logo
)
thanks
π¦

Aw man that's really cool but all that needs to be rendered is gnu.org /runs
yo whats the github pag
gnu mentioned?
Of the Project ? https://github.com/skift-org/skift
Progress on google.com
if this web browser gets good skift could genuinely be a viable main
could easily replace the likes of ChromeOS at the very least if hardware support is good
on one hand I agree but getting a usable browser is practically impossible with the size of the web standards, then making it decently fast is a whole different thing
maybe if they just wrote the html/css engine and ported a JS engine it could be possible, idrk
i mean for google to even be in this broken state they'd need a pretty damn good JS engine so they are already almost there
No
I don't think there's a JS engine yet
oh damn, thats pretty impressive then
you wouldn't need a JS engine for this point
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
ok i thought you would, every browser ive used without js can't render googles homepage
namely netsurf
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)
you could also just port a web engine to skift
not sure how easy that is considering skift doesnt implement posix
like a web browser?
a web browser is much more than a web engine
bc they are working on one
yes
a web browser used a web engine to render everything
but web browser also have bookmarks, pdf viewers, extensions and so on
ye, they have a custom engine
oh you meant they as in skift?
yes
I thought you were referring to broswers in general
nope, the vaev browser in skift
yeah def XD
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
writing a web engine must be pretty entertaining not going to lie
but also a pain considering how broken html code often time is
css mostly XD
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
yeah, but css likes to break layouts and be very hard to work with
the html spec has a parsing algorithm that works with invalid stuff
ew
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)
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
- ...
fyi you censored the username here but not above :P
This one was not taken on my machine so the user name is someone else
ah
Awesome!
nice!
WebGL Aquarium when
Web version of vscode when
what are you talking about
People were humorously asking when complex content could be displayed and I added to that
but vscode.dev is vscode web
wtf
i don't get it
i'm so lost
Are we seeing the same messages
you are talking in puzzles
- sleepy_monax showed a screenshot of Google being displayed on their browser.
- Someone else asked when YouTube could be displayed on the browser (as a joke).
- Another person, again, as a joke, asked when WebGL aquarium could be displayed.
- To add to the joke, I asked when VSCode Web (an example of a pretty complex web app) could be displayed
The link to the web version of VSCode isn't really relevant to the joke
Fell free to contribute ;)
I get you're continuing the joke but just for the note I wasn't the one who started it π
any updates?
Starting a three-week vacation, I hope to make some nice progress on Skift :)
βΌοΈ
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
what is inflate ?
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...
oh thanks
The filtering part is a bit fiddly, but the rest is straightforward
awesome! π€©
#when-your-os-goes-crazy
Writing a PNG decoder was a lot of fun :) One day I'll actually finish mine with Adam7 support and whatnot...
I postponed adam7 support too because I'm not sure how its supposed to interact with filtering
The media player is now working; it can play simple WAVE files
Sharing this talk I gave to the OXP, it's about paper-muncher a tool I developed at work based on the web engine in skiftOS https://www.youtube.com/live/pLOrvovZ9uM?si=saP-osEzpLqxqU6M&t=2081
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
If you like it maybe I'll do one on a different subject at fosdem but still need to think about it
I added more "professional" adjustments to the image editor 
With working auto adjustment
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.
Awesome! 
Event dispatch and window redraw implemented
I can do more than 60fps easily on a single core, and the code is barely optimised
insane
Yup CPUs are fast!
unless google chrome 
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.
I'm building a browser for skift and with correct clipping rendering web document is not that heavy on the CPU
this seems difficult
like making a web browser
I got pretty far, it's capable of rendering google dot com
Fixed a bug in the kernel and implemented window closing
Also working on another design for the mouse cursor
how did you not have window closing
I just got the UI library working for real on the OS, so I need to add all the basic features into the window server ;)
ooh
I have procastinated on this for like two years
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
Underrated project
why must I enable js to access the website?
why do you not have javascript enabled in the first place
what websites are you on π
there shouldn't be any need for js on an actual website (as in not a webapp) except for surveillance
capchas are an exception
graphical effects 
we do need them for pretty because otherwise people wont like
what about online shopping
and blog comments
are these apparently webapps?
that's pretty dumb and may make my perfect CPU lag
no but deadass consider these
I do consider online shopping a webapp, but blog comments can be just server-side with forms for input
yeah modern as in a core2duo
i was going to make a joke here but that isnt THAT bad
clocked at 2.00 GHz :)
nvm it's probably that bad
-# i have a core2 at 2.8 ghz for my other laptop
consider upgrading ngl
yeah it's fine even for extreme gaming
oh really? I may consider overclocking then
maybe 
based game choice but these are very old
ah yes, ofc, only the most extreme of games 
they run even on the gasses from my farts i dont think thats exactly extreme
it runs the latest minecraft of a few months ago with like 60 FPS at a 12 render distance
it's minecraft, ain't that hard to run 
I mean hey, you do you, but a core2duo does seem kind of old
it does struggle with compiling the linux kernel
oops wrong channel
are you from iran?
that was in reply to rhe deleted message
we get those all the time here, like at least 80% of websites block us while we block like less than 20 websites I know
intel, google, gitlab, golang are a few that come to mind
getting blocked by google is big misery
everyone has a vpn now tbh
I don't π€£
I was talking about people from iran
It's an old website I built using react, I'm building a new one that doesn't use any js ;)
J*vascript
The new website, way more minimalist; this way I have a good shot at being able to render it using the browser π
mmm
nice
pride flag jumpscare :0
*progress flag
I wrote a proper spec around Fuchsia's bootfs format
https://github.com/cute-engineering/ce-bootfs
This repo includes the spec, Python generator, and C parser
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
Nice! you should tell them, in their discord server.
Or just @ geist here 
Working on the terminal
nice
good
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 
put a rickroll in it
Boomer meme
βΌοΈ
i will be there
I move the project to codeberg https://codeberg.org/skift/os
rip stars
I will probably keep the old repository as a mirror, but yeah rip stars
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 
see you there 
I have BANGER slides
The QR code is not final
It's a place holder
looks very fancy!
thanks
It's DONE π₯Ή
https://codeberg.org/skift/karm/commit/b6a688790ea823aa0512cdfb67123486973e9afe
https://codeberg.org/skift/os/commit/48a3d815cb401875162d50a021173d080e43139e
wait
bruh
Banger presentation at fosdem
The video of my presentation is now available
I did a big refresh of the UI
does it support scaling?
dpi scaling? yes !
ooh nice
add blur 
Would be epic, I need to cook a better kernel for it tho, stack blur is not fast enough for doing large scale blur on the cpu
fair
Looks nice
Bro I wanna ask where did you learn assemby? That's crazy impressive!
It's all C++ barly any asm at all
Then how did you even manage to make whole os?
What about the kernal? Was it made in C++ Too?
Yeah with some tiny piece of ASM
Ooh..........
btw I saw that you mentioned Managarm when talking about your bootloader
very nice talk in general π
did you make a entire WM from scratch?
did it use like wayland or x11 or did you also make a display manager
Everything is from scratch
Yes the UI is responsive
You were my motivation to do OSDev
same funnily enough
nowadays i think astral is cooler since i want to port stuff and not write it all on my own
this is awesome though-
i think writigng stuff from scratch is cooler
π€
astral is very cool though
mine too lol
mine was microsoft powerpoint 
if ykyk
im certain everyone, yes, everyone made fake os's in powerpoint
otherwise you just aint a REAL os developer

*google slides
no i was a pirate
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

i made a windows 9 in 2015
what did it look like
also might go afk
like a powerpoint
I didn't. Checkmate liberal
I did try making one in Java though when I was like 14
(Just some shitty fullscreen app)
TIL 14 year olds vary in stupidity
Well it wasn't in powerpoint, but I did make a fake os in GameMaker 
im convinced my point is proven
everyone here made a fake os once 
no i made one in scratch when i was 89
8*
i made it in scratch not from scratch D:
One more screen of the UI refresh
and im now 15 D:
im worried you made scratch
whichever one ran on the pdp 11
this crap looks like an operating system of some sort frfr π£οΈ π₯
at least it's more unique than the entirety of astral
no but this is actually pretty good
Why bring others down?
It's not a competition, they're both doing their own thing
Astral slander will not be tolerated >:3 

port the ui to x11 or wayland 
unix shills are everywhere these days 
x11 runs on windows
i think at this point windows is a unix too 
i was 13 my i started my current OS 
same lol
I used to do cosmos oses...
Huge pile of junk
My first C kernel when I was 13 looked like this...
(kernel shell with horrible code)
i am literally 14 right now 
i also did tho
i had like 45000 rewrites because i joined the server
yall know too much 
this is starter os in a nutshell
qemu text mode
grub2
kernel shell
my os when i was 13 actually had a userspace shell
i didnt know what a pmm did in my first os
i was following some crappy yt tutorial too 
i rewrote the idiot when i realized i needed a framebuffer
then after some time i on powerpc lololol 
i actually never rewrote from scratch i just rewrote some part (like the old shitty vfs)
fair
mine had to be started from scratch because i cant tolerate codebases i dont like somehow
i just rewrite the part i don't like :D and if i realise there is another part i don't like i rewrite it later
i'm pretty patient so rewriting the thing multiple time do not bother me
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
how far is your OS today
do you have a thread for it
im rewriting my bootloader because the last one got nuked due to filesystem errors, im trying to get my kernel loaded (its on powerpc)
#1425248601604620328
i have a git repo now 
yes i can jump from keyboard input into kernel loading thats surprisingly viable
let's continue in it
k
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^
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
bro it's not that hard https://github.com/cute-engineering/cutekit?tab=readme-ov-file#installation
took me about 5 second to find
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 $
https://copy.sh/v86/?profile=skift well there is this
Run KolibriOS, Linux or Windows 98 in your browser
ohhh thanks :)
Else you'll have to build it yourself.
the v86 one seems kinda outdated tbh
Finally got a proper vfs, I'm no longer mapping the ramdisk in every process 
Pretty
you were what π
my first one was at 11
vibecoded
how old are you rn?
13
what do you mean
gemini ai studio
(back then ai was shit)
true
my code was all from tutorials lol
i have never even seen tutorials (except gcc cross compiler, ai recommended it)
ai did everything
i dont answer questions
maaan
lol my os is older than half the people on the server
not older than half the people's OSes, older than the humans 
it would be legally old enough to drink this November
so 18 or 21?
then why not "gdt innit ok"?
could be, innit!
but im thinking of a new name entirely, havent decided yet
Is this dead
Ah
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 :)
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.
