something I've been meaning to get around to for ages
just finally doing it now
sortie
I kinda desire to make my own filesystem, perhaps forked from ext2. I want to have 64-bit timestamps (with nanosecond precision) and whatever good fun things I want.
ext2 is not 2038 safe for instance. :(
miselin
why nanoseconds? surely milliseconds suffice
but yes, the other things make sense
have you looked at any non-ext filesystems?
sortie
I have a bit, but not enough. I think I really should look into BSD filesystems.
miselin: Yep, of course miliseconds suffice. But the point is actually losslessness - the rest of my system uses struct timespec with 64-bit time_t, so it's really about the user can futimens(2) any timestamp and the filesystem preserves it without truncation.
miselin
fair enough
sortie
I want ext2 for interoperability, but some of its design choices were made long ago and I don't see it as the native filesystem for my OS.
miselin
right
I've been using FAT for interopability. It's a terrible filesystem, but the tooling and support for it is everywhere.
sortie
Right. I consider FAT a filesystem for read purposes only. I'm going to skip write support as the semantics just match so poorly. Instead, I'll have a `Export to FAT' feature in my UI where people can dumb down their USB mass storage sticks so they work on silly operating systems.
miselin
FAT isn't just silly OS's, it's cameras, printers, older mobile devices, etc...
but, I don't disagree with you about it being read-only
sortie
I'm not sure how I feel about mass storage filesystems. I think the user (owner) abstraction is kinda irrelevant and in the way on such devices.
It really just contains a set of files that belongs to whatever user was using the computer at the time it was inserted.
miselin
sure, and for most users, that means HFS or FAT/NTFS
anyway, you're idealistic, and i'm realistic :) this will be another one of those things I think
it's also getting late
miselin sleeps
sortie
I do consider myself somewhat realistic. I really do understand that my plans require much more effort to pull off. :)
sortie has quit
sortie joined the channel
miselin
sortie: that's fair :)
miselin on the other hand is happy to endure the bad things (like FAT) if it makes my life easier somehow
sortie
miselin: Hehe, delayed answer.
miselin
indeed, since your comment I have slept and have even commuted, now at work
sortie
miselin: Do notice how I yell a lot at stuff in #osdev, but I generally write down the flaws in third party software and upstream the patches. :)
miselin
indeed, and patching upstream is always a good thing
miselin yells at stuff a lot too, I just don't do it publicly :)
eg, I haven't touched netsurf in a while, but every time I do I rant and rave like crazy
sortie: btw, one thing I've done recently is to make http://docs.pedigree-project.org update after each push, which means it's always the most up-to-date source of docs
when I get around to asking if anyone wants to contribute, I can point them at the docs to learn how things work rather than having to explain the fundamentals to everyone over and over
sortie
miselin: Aw, feel free to yell at stuff publicly. :)
It's a good first step towards chance
Netsurf? I haven't looked into that, though I do get the impression perhaps I shouldn't.
Hopefully it'll avoid the few things that confused me when I used pedigree :)
miselin
sortie: ^ netsurf. :(
sortie: yeah, I'll end up writing a 'user guide' kind of thing as part of the docs, and link to it from the website
(I apologise in advance for the fact that that isn't wrapped to 80 columns - I thought it was for some reason)
sortie
Oh, that's no matter, I can easily reflow that myself :)
miselin
indeed
but yeah, that's netsurf
sortie
-lhubbub
Is that even a real library? :P
miselin
it's a netsurf library for HTML5 parsing
netsurf's build system fails to include the libraries it builds on the final link line for some stupid reason
so I've had to specify them...
sortie
miselin: Oh god. That build script looks like it deals with horror. :(
miselin
yeah.
I've had to do that for $job-1 as well, so I guess in a way I've stopped yelling at autoconf and things like that because they're so much better than things I've had to deal with
sortie
I generally prefer a scheme where I patch the source code of the port (by just editing it, and then generating a patch at package creation time) rather than advanced sed calls.
Yeah. Autoconf is no saint, but it's at least consistent and can be worked with.
miselin
yeah, I need to convert those into ptaches. much of that comes from working towards getting something actually building
the damned thing doesn't even build anymore because there's an incompatibility with newer yacc/flex
sortie
Ah fun
miselin
klange hasn't posted screenshots lately so I'm leaving it until I need a graphical browser screenshot again :)
sortie
He did restore his in-compositor screenshot feature recently :)
Btw. Did you see I made a wiki page with notes on all my ports?
miselin
I did
sortie
Ah fun. I was hoping it could be useful to people like you.
miselin
probably will be :)
reminds me, I should see if the apache port is still working
and replace it with nginx sometime
sortie
Mmm. I'm developing a mind set where I want to look at the source code of stuff and see if it scares me or whether I get the impression I can trust this code. I wonder if apache is fun to look at.
miselin
httpd itself is probably not *too* bad
it uses libapr (Apache Portable Runtime)
and APR is truly ungodly
sortie
That sounds worrisomely as a libnig.
*libnih
miselin
it's literally providing a stable API that wraps the OS-specific libraries
sortie
It's always exciting when people abstract OS abstractions.