#MINTIA (not vibecoded)

1 messages · Page 34 of 1

dense vigil
#

It even supports 5 level paging

#

What bochs supports heavily depends on what config options are used

#

I recommend building from source

#

Bochs is also amazing for USB debugging

vast valve
#

I’m not sure wtf was going on when I built it from source then?

dense vigil
#

Did you tick all the options

vast valve
#

Atleast I tried to

coarse current
#

My os fully works on it, never had any problems

vast valve
#

Must have been a severe skill issue then wahhgone

#

Or just that one commit on master had issues when I tried it?

digital pivot
#

a bit interesting opinion on vad structs from reactos chat

twilit smelt
#

epic sauce

#

that is bug

#

fixed

hollow musk
#

pairing heap seems like a good choice for timers

hollow musk
#

in windows, timers are organized into linked lists in timer tables

#

and it uses bitmaps to find pending hands

coarse current
twilit smelt
#

wow he pulled that fast

#

I saw it before he reuploaded it

digital pivot
#

i remember you criticized nt's object manager namespace

#

have you seen any comments from the nt people regarding its design and implementation

twilit smelt
#

mintia's name was on a slide in the ceo's presentation at a major silicon valley startup's all hands meeting today

#

(under my name on the list of new hires and their backgrounds)

shadow ridge
#

congratulations

junior pivot
#

congrats!!!!!!!

shadow ridge
#

i hope mintia 2 doesnt stagnate now that will has a real j*b

blissful smelt
#

mintia 2 is the product

#

b2c operating systems

#

or maybe even b2b saas

junior pivot
vast valve
shadow ridge
#

limntia/2

#

no

#

it's MintAI now

#

fully vibe coded neocapitalist NT-tech operating system that will revolutionize low level bit concurrencies

#

get the vibecoded crypto concurrency $MINTAI RIGHT NOW!

dense vigil
#

Is your job related to osdev/sysdev?

hollow musk
twilit smelt
digital pivot
#

in nt object namspace each fs driver operates with its own cache

#

for example, a path like devices\harddisk0\partition0\ could exist and any part of the path string after that is passed to be parsed to the fs layer

nocturne nymph
#

I don't think it's really that big of a deal.

nocturne nymph
#

You've successfully overcome challenges in the past, and there's no reason to think it will be any different now.

digital pivot
twilit smelt
#

Will implement*

#

What's there is bad

nocturne nymph
# digital pivot i think mintia2 implements a separate namespace tree subsystem which provides an...

I haven't touched OB in a long time (actually, that's not entirely true, given the recent RCU changes... but I definitely haven't thought much about namespace caches in a long time). I think the problem with having a central cache that includes the sub-namespaces (e.g., within filesystems) is that there are semantic issues that would create inter-dependencies that would limit the flexibility of the implementations. Character set rules, symbolic links, hard links, compound files (e.g. NTFS streams) would have to be understood by the global caching system. And I don't think that is really necessary.

#

As long as sub-namespaces are self-contained (i.e., not allowed to reference backwards into the containing namespace), then having namespace lookups be two-step (locate the target namespace and then call into that namespaces implementation to resolve the rest of the pathname) should work just fine.

#

In kernels the second part should just be a function call (though NT does complicate things with its IRP-based IO system).

#

Hard/soft links and use of the namespace to implement a security hierarchy (i.e., protecting files by securing parts of the namespace) create additional complexity (and subtle vulnerabilities). Plus the optimization of relative pathnames creates some more issues (i.e., when you hold a handle on part of the namespace and access relative to that point).

#

And generally trees are (probably) a bad idea and don't promote much flexibility in searching (thus the cross links). You have to get the cache invalidation to work securely and efficiently if changes in the sub-namespace are to be correctly reflected back into the global name cache.

short owl
#

Don't become what you swore to destroy

shadow ridge
#

write very quirky firmware

#

the kind that requires extensive debugging to figure out why it doesnt work in some random edge case

coarse current
#

No, just write correct firmware that breaks the operating systems that assume too much

devout geyser
#

Sleep(1000000)

cursive charm
#

https://devblogs.microsoft.com/oldnewthing/20150814-00/?p=91811:

Originally, there was no Terminate­Thread function. The original designers felt strongly that no such function should exist because there was no safe way to terminate a thread, and there’s no point having a function that cannot be called safely. But people screamed that they needed the Terminate­Thread function, even though it wasn’t safe, so the operating system designers caved and added the function because people demanded it. Of course, those people who insisted that they needed Terminate­Thread now regret having been given it.
is there any truth to this?

#

iirc, the headers from NT 3.1 build 196 declare it

twilit smelt
#

Check ke.doc and revision history for it

#

And check the mica kernel docs

cursive charm
#

i've checked proc.doc before, and its revision history doesn't seem to mention adding NtTerminateThread(). (the NtTerminateThread() system service was defined in that document.)

#

checking ke.doc now

cursive charm
#

why do i keep reading this paper

lucid umbra
digital pivot
nocturne nymph
quiet mauve
# cursive charm why do i keep reading this paper

Yeah, I still feel bad about my tussle with @twilit smelt on that whole thing. I wasn't being clear enough about the situation and it caused a misunderstanding. Although I am still a little ticked that Raymond's blog wasn't on point. Maybe it's common, but I always thought his anecdotal stories were beyond reproach.

#

To be clear I don't mean the allocation unit size (or the effects), just the history behind the choice.

nocturne nymph
#

Human beings find pathnames useful, but it is potentially much more efficient to identify stores by tuples of persistent GUIDs <namespace, file, version>. Mapping names to files is due to the historic file cabinet abstraction for organizing data, but this abstraction implies key hierarchies and secondary indices to aid in searching which limits the flexibility.

#

Even the web has evolved away from the file cabinet model. Search is done by search which resolves into links which can then be captured and used rather than re-running the search. But a lot of work is required to make this work, especially in the old system.

shadow ridge
#

that might be more efficient but isnt it very limiting

#

it's like taking a file system and removing the "file" part

#

now it's just a binary blob database

nocturne nymph
#

One other note about namespaces and semantics. The NTOS OB was more like /dev than anything else. There is also a separate namespace for the registry which had lots of other semantics and features which led to lots of complexity due to abuse and failure to consider the information lifecycle of the contents.

#

It was supposed to provide a configuration database, but really just became a cautionary tale about how ingenious people can be at using wrenches as hammers and screwdrivers as chisels.

warm pine
#

and mobiles are providing a thin and leaky veneer over the hierarchical filesystem

nocturne nymph
#

Plan 9 contributed some interesting ideas in this area. But I don't know that anybody has worked this out completely.

#

The organic evolution of the web and search probably provides much better insight into how data should be organized and managed.

blissful smelt
#

what is mintia's plan with the split cache model of "buffer + page cache" for block devices when it comes to what it will do when the write hits metadata? is the whole write stopped and rejected?

#

i'm planning out that strategy and am running into a predicament with pages that are partially metadata and partially data that are mmap'd in

blissful smelt
twilit smelt
#

And the read logic is exactly that of the page cache

#

The only difference is that if you access a page through a metadata buffer and dirty the metadata buffer, the underlying page will be written out block-wise by a special buffer writer instead of page-wise

#

Or perhaps they'll share a writer which will generalize

#

Dunno

blissful smelt
#

oh wait that's kind of interesting 🤔

#

the other concern i had with this strategy was with filesystems that vary in metadata and data extents like btrfs

#

i was considering some kind of global interval tree for the whole FS but that seems like it could make unhappy scalability

twilit smelt
blissful smelt
twilit smelt
#

Coherency is usually not guaranteed when directly accessing a block device that is also mounted as a filesystem

#

It could be accomplished here though by causing writes to mapped block device pages to cause all the contained buffers to be dirtied rather than the page in the page cache

#

But this still doesn't obtain coherency with file data

#

Which again is not usually offered anyway

blissful smelt
# twilit smelt Coherency is usually not guaranteed when directly accessing a block device that ...

ohh ok, I thought the split cache model was about not corrupting metadata through the block device page cache, and that things like altering file pages through the block device would cause the relevant files to invalidate those pages

so it's more about having a private buffer cache that just holds the filesystem metadata, and maintaining coherence between that and the various file page caches?

twilit smelt
#

It's about fixing aliasing problems where file pages and metadata pages can contain some of the same physical sectors

#

The buffer cache provides a per sector (or block) structure to track each metadata block

#

So that modified metadata blocks will only write back those sectors to the disk and not also write back other sectors that lie within the same page but belong to files

twilit smelt
#

mintia2 no longer belongs to me it has been purchased from me for $10,000,000 by a company who wants to use parts of it for their router firmware.

#

goodbye all osdevers

shadow ridge
#

no grandpa, it's not the 90s

#

ok wait the router firmware thing is oddly specific

#

is there a chance this is like half-real

keen stone
#

tfw the larp becomes reality

shadow ridge
#

theres a universe where he signed a contract saying all of his work (even outside of work) belongs to the company or some shit like that without thinking about it

twilit smelt
#

It's funny because I almost did do that

#

I had to list mintia as my pre existing IP when I signed my offer letter otherwise it would transfer ownership to the company

#

If I didn't read it I wouldn't have known that

shadow ridge
#

I fucking knew it

#

these corporate bastards are just waiting for you to drop the soap at every turn

#

you should trademark mintia

#

like actually

#

together with xr station

warm mural
#

afaik it's a startup so it's probably not super corpo yet

twilit smelt
#

There are no walls just a lot of people under a roof in rows in what is essentially a very large room

twilit smelt
dense vigil
#

open space stuff

twilit smelt
#

ik

#

It's just funny

dense vigil
#

yeah its supposed to make everyone feel like a team or whatever

twilit smelt
twilit smelt
#

Cool thing about a job is that there's no homework on the weekends unless you want there to be or you are being specially depended upon for a specific highly time sensitive thing which usually doesn't happen to interns

#

Which means i should be able to work a bit on mintia

nocturne nymph
#

That's good, because I remember having to work on the weekends to finish my internship project.

twilit smelt
#

maybe thatll come later

acoustic sparrow
#

ah yeah i guess its mostly "unless you want to be there"

digital pivot
#

do you work on it alone or in team

dense vigil
#

Hopefully make NT 2

nocturne nymph
#

Microsoft is already working on NT 10...

tame phoenix
#

I don't think id ever take a dev job where there's "homework on the weekend"

queen torrent
mortal thunder
#

NT 2, now with better numa support

tame phoenix
#

was there never an nt 2? did they go straight to 3?

acoustic sparrow
twilit smelt
#

NT never would have released with a 1.0 version number because the original plan was for it to release as "OS/2 3.0"

twilit smelt
#

I was just surprised so i looked it up and it said that's in basically every offer letter you'll ever sign in tech

#

A page where you have to list your pre existing IP and anything you don't list transfers ownership to the company

acoustic sparrow
#

interesting

#

the offer letter i got for my internship doesnt say that

twilit smelt
#

what country

acoustic sparrow
#

ireland

#

(its in tech ofc)

twilit smelt
#

Might not be legal for them to claim all your pre existing IP like that

acoustic sparrow
#

i would imagine, yes

twilit smelt
#

It is in the US

acoustic sparrow
#

that feels dumb

#

it would make sense if you could implicitly grant a license to do anything with it, but not actually transfer ownership

#

but i guess its the us lol

twilit smelt
#

Offer letters here are like "we own all facets of your entire existence mind and soul that have ever existed that you do not explicitly list in the box below, excepting things already owned by previous businesses you worked for. Along with your mind and soul we also own your body starting on the day of employment until the last day of employment. Anything new you begin to do during that time is also ours. Please sign below if you don't want to be unemployable forever:"

acoustic sparrow
#

the anything new part is more or less true here tbf

#

idk how enforcable it is

twilit smelt
#

I could work on mintia without them owning it bc it's my pre existing IP i listed

#

As long as I don't do so during work hours or using work computers

#

If i started a new thing though they might have a claim to it, regardless of when or how i worked on it

warm pine
# acoustic sparrow ireland

you often see random projects with 'Copyright such-and-such Google, inc.' in their licence headers these days on account of this being a normal practice in america

acoustic sparrow
#

i guess makes sense

warm pine
#

in britain and ireland, and i assume europe and probably the rest of the world, it's unheard of

acoustic sparrow
#

apparantly google has a procedure to assign the copyright to you according to this

icy bridge
#

wow that all sounds horrible

shadow ridge
#

like

#

not just "mintia" and nothing else

warm mural
shadow ridge
#

i would write down every xr station buzzword on that paper

#

like

#

maybe they dont have mintia but they have xr station new sdk now

acoustic sparrow
warm mural
#

Maybe yeah

#

What kinda internship did you get pitust

#

You're probably a really good candidate so I'm not surprised you got one lol

twilit smelt
acoustic sparrow
#

they sell switches mostly

twilit smelt
#

i wrote "XR/station project and all subprojects thereof including a3x, a4x, mintia, mintia2, aisix, newsdk, ..."

#

Or something

acoustic sparrow
#

that automatically makes me a worse candidate

#

but not worse enough ig

warm mural
#

You got IOI tho

#

And personal projects

acoustic sparrow
#

true

#

i imagine that did help yeah

warm mural
#

IOI is overpowered on resume

#

If you position well on IOI it's like guaranteed entry into MIT

#

unironically

acoustic sparrow
#

yeah i did not position well tho lmao

#

i did pretty bad overall

warm mural
#

tbf all the IOI winners have rich parents or are extremely cracked

acoustic sparrow
#

i dont think so?

warm mural
#

tourist is in the latter category

acoustic sparrow
warm mural
#

yes

#

Or eastern europe

acoustic sparrow
#

(this is only half true)

shadow ridge
acoustic sparrow
#

yeah poland did badly last year tho iirc

warm mural
#

I checked the winners of my province and they're all asian

shadow ridge
#

@twilit smelt was there a clause about work you do while under the contract

#

they dont automatically own everything you do while working there right

warm mural
#

won at 11 💀

acoustic sparrow
#

who is tourist?

warm mural
#

look it up

shadow ridge
#

to another country

#

to visit it

#

and have fun

acoustic sparrow
#

ah

warm mural
#

Gennady Korotkevich (Belarusian: Генадзь Караткевіч, Hienadź Karatkievič, Russian: Геннадий Короткевич; born 25 September 1994) is a Belarusian competitive sport programmer who has won major international competitions since the age of 11, as well as numerous national competitions. Widely regarded as the gr...

#

Him

acoustic sparrow
#

ahhh

#

insane

shadow ridge
#

theres this hyperactive fly that wont get out of the way of the fucking screen and it's making me go insane

warm mural
#

That is crazy talent

short owl
#

And an extremely shitty practice

#

There's no limit to the greed

shadow ridge
#

good riddance

twilit smelt
shadow ridge
#

or start other projects

twilit smelt
#

Mintia is not new

#

So i could work on it outside work hours on personal devices without them owning it

#

But anything i start would be theirs

shadow ridge
#

thats such bullshit

#

so much freedom

twilit smelt
#

It's a form of intellectual slavery or imprisonment kind of

#

But it's not special to this company

#

It's just standard in America which is a corporatocracy

acoustic sparrow
#

this is like vaguely reasonable tbh

shadow ridge
#

you could argue it's a form of anti compete

#

but it's not

#

i think it would be a huuuge reach to classify it as that

mortal thunder
#

what the fuck are they thinking

#

does the US not respect human dignity

#

(don't answer that)

acoustic sparrow
#

the argument is that its to make sure that if you work for a company and you have some genius idea during work hours, you cant just leave and take it somewhere else

#

i think

mortal thunder
#

thats bullshit

shadow ridge
#

why does it matter if i think of it during work hours or outside of them

#

this isnt the military

icy bridge
#

yeah why would that be reasonable

shadow ridge
#

i dont sell my body and brain

mortal thunder
#

it's not

shadow ridge
#

to the company

#

like "you own my body and soul from 8 to 9"

acoustic sparrow
#

lol

mortal thunder
#

nobody at google is paid to come up with genius ideas

acoustic sparrow
#

ehh

short owl
acoustic sparrow
#

thats not really true though

mortal thunder
#

they just bought most of the genius ideas

shadow ridge
#

a normal anti-compete would be much better than "i own your brain"

mortal thunder
#

oh wait

#

thats meta

#

i confuse them because theyre all equally evil

acoustic sparrow
#

google is actually the origin of a bunch of good ideas

shadow ridge
#

yes, such as "don't be evil"

#

that one was a great idea

mortal thunder
acoustic sparrow
mortal thunder
#

and the people experimenting on company time i guess

acoustic sparrow
#

like at all

twilit smelt
#

A famous example of the "they own everything you do" clause is when Steve Wozniak designed his first homebrew computer kit he had to show it to his bosses at HP at the time and they basically said "who would ever want a computer in their home? No we're not interested" and they released the copyright to him (per their policy) and it went on to be the Apple I i believe lol

mortal thunder
acoustic sparrow
mortal thunder
#

i guess the executives just sleep on the job and rake in all the cash then

acoustic sparrow
#

literally

#

executives in really big companies dont even have that much power in practice

#

bc its very hard to get a big company to do what you want it to

mortal thunder
#

okay i guess i need to learn more about bigtech and how it works

acoustic sparrow
#

this isnt big tech only

mortal thunder
#

if the company is privately owned (like valve, or openai, or anthropic) it's much easier

acoustic sparrow
#

not really?

mortal thunder
#

publicly traded companies like google are beholden to shareholders

#

private companies are only beholden to their own interests

#

is that right?

acoustic sparrow
#

theoretically

acoustic sparrow
#

spacex is not beholden to the shareholders at all

mortal thunder
#

spacex literally just issued their IPO like yesterday

acoustic sparrow
#

yes

#

they are public

mortal thunder
#

but they've only been public for like a day

#

give them time

acoustic sparrow
#

no

#

shareholders have 0 say in how the company is run

#

and they cant sue

mortal thunder
#

and also elon still owns like most of the shares

twilit smelt
mortal thunder
#

(which is why people claim he's the first trillionaire)

acoustic sparrow
#

even if you bought every share not owned by elon youd only have 20% of the voting power

#

and you arent allowed to sue

mortal thunder
#

is this favoritism or what

acoustic sparrow
#

no

mortal thunder
#

thats not usually how it goes

acoustic sparrow
#

yeah i know thats part of why the whole spacex ipo is bs

digital pivot
acoustic sparrow
#

anyway with most of the big tech companies, original founders have a controlling share

digital pivot
#

and its this way in all american corps?

twilit smelt
#

Prob

digital pivot
#

this is cancer

twilit smelt
#

That's just part of employment here

twilit smelt
#

see historical example of this

#

If HP didn't have a policy of releasing copyright for their employees personal projects upon meeting with them about it and deciding they didn't care, then there would be no Apple

acoustic sparrow
#

IP you come up with while you are employed being owned by the company is not just a thing in the usa btw

acoustic sparrow
#

yeah

warm pine
#

we say "in the course of employment" or words to that effect

twilit smelt
mortal thunder
#

clearly he wanted to release it

#

so if there wasn't HP as a roadblock then he would've done it right away

twilit smelt
#

If they had no such policy then they would have hoarded the copyright

#

And he would have had no way to sell it commercially without them

#

And they wouldn't have sold it

#

Bc they didn't care

#

So

#

Would have just died

mortal thunder
#

oh, I misunderstood the proposition then

#

you're right

mortal thunder
acoustic sparrow
#

everywhere i think?

warm pine
mortal thunder
#

while at work, yes

warm pine
#

it's when this applies to your work at home that it becomes outrageous

mortal thunder
#

i don't disagree

mortal thunder
#

but pitust didn't mention anything about "work performed on company time"

warm pine
#

the americans however have this silly rule for some reason

#

it makes no sense

#

but note a dangerous implication of an argument that some free software advocates make about the GPL, that any exposure to it means you can't write software of a similar class

#

we can infer from the case with american firms "your code is ours" rule that the GPL claim must be excessive, because if so, american firms would effectively be traps that, once you work for them, you can never again work on a similar class of software at any other firm, since you knew about the first firm's proprietary work

twilit smelt
#

me when im skimming youtube comments on a video and theres a comment from 2 hours ago where someone says "Windows is not portable."

#

im a seasoned youtube comment arguer

tame phoenix
#

luckily I'll never work in the US

#

of course if you attribute all your IP to a company in your control, that makes it very hard for them to take it

warm pine
#

i think they only have something like 2 weeks holiday a year as well

tame phoenix
#

and people are expected to just not take holiday anyway or be contacted on holiday

vast valve
#

Wait where did you get a job at? And what do you do lol

tame phoenix
#

from what I've read and heard US at will employment is a cess pool

#

and they say European employment law is communism

#

it's daft

warm mural
#

For example openAI still has a bunch of private investors, and it would be in their favor to please them

twilit smelt
twilit smelt
#

that is to say, there are banned reasons to fire someone

#

but if its for any reason outside that list its fine

#

for example if you fire them bc they are a specific skin color or gender or sexuality thats illegal

#

but if you say its because they looked at you funny thats completely legal

#

so you can just say that instead

#

the person would have to sue and find like written or recorded evidence that you had some kind of like racist prejudice against them or something to prove that u most likely fired them for that rather than for looking at them funny (which is a legal reason to fire someone)

#

which costs a LOT of money

#

and has low odds of success

#

its so funny how many self proclaimed libertarians here call the government bloated and say corporations are over-regulated and whatever

#

do we live in the same country

blissful smelt
twilit smelt
#

no pls

shadow ridge
#

mr. will mint

#

come to my office please

#

we have to talk about your recent performance

twilit smelt
#

there arent even offices

tame phoenix
#

they don't need a reason do they?

#

that's why it sucks

#

best to not give a reason for redundancy because if you do it may be one of the forbidden reasons

mortal thunder
#

it really does

#

you could theoretically take it to court if you suspect that they fired you for a forbidden reason but just say "no reason", but it's expensive and risky

tame phoenix
#

in the UK you can't just fire someone just because, and in some EU countries it's even harder. I hear also in Japan it's basically impossible legally to fire someone unless they've broken the law so they sideways reshuffle them into boring positions to make them voluntarily quit

random heath
#

I think that's not even legal in germany

shadow ridge
#

i hope he listed $MINTIACOIN as his pre existing IP

#

imagine pulling a pump and dump

#

and your company takes the profits

twilit smelt
#

I would deserve it

golden meteor
#

@twilit smelt i am formally requesting cat pics

twilit smelt
#

which cat

night needle
queen torrent
golden meteor
#

the orange one

#

idk the names lol

twilit smelt
#

what orange one

golden meteor
#

#1322494605819908156 message

#

that one

twilit smelt
lucid umbra
#

i used to have the exact same fountain

blissful smelt
#

mintia mascot

twilit smelt
twilit smelt
#

the platonic ideal of mintia2 that exists in my mind is the most advanced hobby kernel and that should be good enough. i refuse to build it im a sophisticated being far beyond trivialities like tangible existence. thank you all for respecting me in this matter

twilit smelt
#

i pretended to be a human

#

my bad

shadow ridge
#

my samsung ssd

#

shat itself

#

and i almost shat myself with it

#

it wouldnt respond to any write commands and could not mount at all

#

had to use debugfs to pull whatever data i could salvage and now im on a fresh arch install

queen torrent
vast valve
golden meteor
#

The hyena in the sky is the alternative hatman I see when I not just take 50 Benadryl, but also haven't slept in 3 days

#

Don't question why there's a sky inside

shadow ridge
#

it's very ironic that it wasn't depression, injury or death that ended this project

#

but a simple j*b

twilit smelt
#

it's not ended

#

I just haven't had time to work on it because I'm also behind in my 1 summer class and in my free time I'm too busy stressing about that while still not doing it to work on mintia

queen torrent
#

j*b destroys all

#

glory to neet

twilit smelt
#

The latest atrocity of the tech right: they have entombed the SJWs under the streets of San Jose

twilit smelt
#

every single character in my project's source is a manual keystroke or a copypaste of my own other code

#

which was manual keystrokes

#

this will sound insane to those who have only known vibecoding one day

#

even if it would genuinely improve my productivity to use it i kind of just dont want to just to be able to keep saying that forever

queen torrent
#

I will open a pr with code all written using dip switches. Lets see how the keyboard warriors will handle knowing its not all keystrokes anymore

tame phoenix
#

I don't think human made code is going away in our lifetimes

#

I also think we are going to get to a point where saying "I refuse to use any generative AI, ever" would actually sound like "I refuse to use keyboards"

#

not next week, but in 5 to 10 years

#

it's a tool in the toolbox, like a compiler or a linter and to be principled and never ever use it will become very niche, kind of a hot take, once the companies who made it stop shoving it down our throats

mortal thunder
#

we've never had a comparable technology

tame phoenix
#

we did. the internet

shadow ridge
#

stackoverflow

mortal thunder
#

the closest comparison I can think of is "I refuse to use machines for the entire process of making my pots, I prefer to make them by hand on a turntable"

tame phoenix
#

I'm more confident than an LLM that I'm right on this...

shadow ridge
#

i mean stackoverflow basically did what AI is doing rn

mortal thunder
#

and pottery is a hobby, and a respectable one at that

shadow ridge
#
  1. cant solve problem
  2. copy paste from mystery source that may or may not be right for your use case
  3. you dont understand shit and your codebase barely worsk
mortal thunder
shadow ridge
#

well yeah AI is doing it better

mortal thunder
#

StackOverflow doesn't really give shitty coders the feeling that they can do whatever they want

#

There are plenty of questions unanswered on SO

tame phoenix
#

but once the fuss dies down and a few people lose significant money in the AI space, it will settle into one of those things everyone uses for a few tasks. writing your own boilerplate code would be seen as antique and kinda dumb when there's a tool that does it, ya know? like expecting someone to hand roll an entire program in asm instead of a high level language.

mortal thunder
#

We had a tool for that already, it's called using IDE templates

#

Or github examples

shadow ridge
tame phoenix
#

yeah, there's a lot of wrong assumptions right now like:

  • AI will replace developers
  • AI can't make good code
    both wrong.
#

it can't replace developers because to make good code with it is a complicated iterative process with a competent developer in the loop, think of it like pair programming

digital pivot
shadow ridge
tame phoenix
#

they'll either optimise their models and become affordable or go bust

#

look at that Chinese one for example

#

which the tech bros said was impossible

#

thousands of times more efficient to train than openAI

#

while the money is flowing, they have to incentive to optimise

shadow ridge
#

honestly i never really write programs with basically any amount of boilerplate so i dont think AI will ever help me

#

in my most recent codebase there are like 2 places where it wouldve helped

#

and theyre basic functions i wrote in seconds

tame phoenix
#

you don't? here's someone who's never worked on a big commercial project then I guess

tame phoenix
#

that explains it then

shadow ridge
#

i only do little hobby projects for myself (ig you could call my game commercial)

#

im not gonna pretend that AI wont be useful for others

#

it just doesnt help me in any way currently

#

but i know exactly how i would use it if i were to work with a big and unyielding codebase

tame phoenix
#

out of all places I use AI at work most now. I wasn't told to, haven't been given tokens or anything, it isn't mandatory. I chose to and use my personal gpt account. it makes boilerplate for me and helps resolve simple cards faster. but I don't deliver the project faster. I use the extra time to polish what I make and add more tests, refactor old stuff,.etc. it gives me more time to make stuff nice.

#

so rather than "this change will take 4 hours" the change is done in an hour and then 3 hours of system improvement

#

but that's also the advantage of small business procedures and not some huge corporation with 6 layers of management, a QA team, project managers and Jira.

tame phoenix
#

I'm given the leeway to produce as I see fit as senior dev

shadow ridge
#

thats pretty cool

tame phoenix
#

the only downside if you aren't that way inclined is, it's all php and js

#

mostly laravel

#

but i love php php

shadow ridge
#

i always wondered if AI gives better output in web dev tasks

#

like

#

that shit is ABUNDANT

mortal thunder
#

yeah it probably does

shadow ridge
#

and relatively simple

tame phoenix
shadow ridge
#

ooh also i did use AI one time in the past few months

#

when i was writing the mandelbrot set test for mintia

#

i was doing bit math

#

to get every even bit into one int

#

and every odd bit into another

#

i realized it was tedious

#

so i had AI do it

#

that helped because i was already short on time and didnt want it to take multiple days

tame phoenix
#

when I do use it I find the spec I give it has to be absolute, and you have to continually drum in don't repeat yourself, don't get cute with style and "optimisation", readable code is king

#

if it's readable you can review, understand and iterate

#

the main thing I use it for though outside of work is docs

#

it's really good at docs

shadow ridge
#

honestly i cant feel right in a codebase if i dont know every single edge case and how every part of the design interacts with the others

#

so i would not feel comfortable making AI do anything other than "hey, this is a function. this is the inputs, this is the outputs. go do it"

tame phoenix
#

paste in C code... "add doxygen comments to this header", boom, hours of work saved

shadow ridge
#

cuz i thought that would be a good use case

#

to make it explain the general design of a project

#

and the file system structure

#

so i dont have to read it

#

like it's just boring work that nobody wants to do anyways

tame phoenix
#

yes so long as you give the implementation too and perhaps explain the edge cases of why the code does it the way it does up front, the ai can't know why you chose a specific approach

#

it's also good for translation, one of my projects is translated to like 10 languages via an automated script that burns gpt tokens

#

but that's a one off script I run every so often because it's relatively expensive (about £3 per run)

shadow ridge
#

acceptable losses

#

how do you tell if the translation is any good

tame phoenix
#

I mean it is translating hundreds of thousands of words of prose

tame phoenix
#

but it's far superior to Google translate

shadow ridge
#

also why the fuck does arch linux have zip and unzip as different packages?? and they have different maintainers too

tame phoenix
#

lmao, check that it's not been hacked considering what happened to aur 😭

shadow ridge
#

hmm i dont think it is

#

i think theyre literally just two different projects judging by the urls

tame phoenix
#

I don't think I'd ever try arch

#

based on my past expriences with gentoo and the freebsd ports tree i dont think it would be my cup of tea

twilit smelt
shadow ridge
#

because it's not an instantly indefensible position

twilit smelt
#

It obviously is though

shadow ridge
#

i dont really see it

#

it is very expensive (or about to be, at least)

#

but that would just put it in the same category as like a paid IDE subscription or something

dense vigil
shadow ridge
#

who is nadia

dense vigil
#

A person who vibecoded their entire os (200k lines) and said that vibecoding was just a vim alternative

twilit smelt
#

I understand how someone can hold the "LLMs are just another tool in the toolbox! this is like being anti compiler!" opinion but only if they're being incredibly short sighted and refusing to think about it for longer than 5 seconds

shadow ridge
#

if we're going off of definitions

#

you could say that a tool helps you do something

#

it doesnt do it for you

twilit smelt
#

It is a reduction to absurdity

#

To call it "just a tool like a compiler"

shadow ridge
#

why do you think it's so absurd though

#

i think LLMs have more in common with compilers than vim

#

i bet you could train a neural network on huge C codebases and their binary outputs to make a weird AI "compiler"

dense vigil
#

they can already do that

#

not on like, the entire linux kernel but

#

simple programs they can transpile to machine code directly

queen torrent
#

swe extinction event 18 months code monkey obsolete prompt engineer was the new plumber ai slop flood 10,000x efficiency bloodbath white collar massacre senior dev coping "i'll just learn prompting" too late agent swarm devours entire sprints autonomous codebase rewrite overnight mcp replace ceo cto cfo in one cycle google deepmind meta openai xai anthropic all racing to 10^6x inference scale datacenter cities glowing 24/7 sucking the entire grid dry energy armageddon power rationing for humans while gpus feast

shadow ridge
#

the one thing I don't get is people who're like

#

"coding is solved. we dont need programmers anymore"

#

like

#

wut

raven drift
#

the main thing that agents can't do today is write "clean" / maintainable code

#

if you just care about time to demo, LLMs are great

warm pine
#

everyone is taught arithmetic the traditional way at school regardless of the fact that they will go on to use an electronic calculator later

tame phoenix
#

exactly

shadow ridge
tame phoenix
#

LLMs will replace some programming tasks, like calculators replaced some mental arithmetic. but you must still have the base understanding of the concept to be able to succeed

#

this is why 100% vibe coded projects often fail

#

ask an LLM to convert between two programming languages for example, or refactor code. and i dont mean agents

tame phoenix
#

or at least thats how it was when i sat GCSE maths in the 90s

shadow ridge
#

i find it odd that a question would require lots of mental arithmetic tbh

#

like

#

thats just the throwaway "lets get this over with" part after youve already done the work

twilit smelt
shadow ridge
#

my cat always wants treats

#

he'll meow in front of my door

#

and when i open it

#

he runs past me

#

into the kitchen

#

waiting for a treat

queen torrent
#

based

#

lsp is for loooosers

twilit smelt
#

Little silly person

queen torrent
#

lsp is just one tiny guy in your computer giving you suggestions

dense vigil
twilit smelt
shadow ridge
#

for like the past however many years ive been programming

#

ive just been rawdogging vim

#

with no lsp

coarse current
#

I still don't use lsp

#

Because it's broken with Jinx

blissful smelt
twilit smelt
twilit smelt
#

Mintia is being renamed copperclad

sharp igloo
shadow ridge
#

help pls i ordered my XR/Phone by paying 0.12 $MINTCOINs ($6000+ dollars)

#

and when it arrived

#

and i opened the box

#

it was a pile of dog shit

#

i think there has been a mix up

#

do i mail this back or should i donate it to an animal shelter

shadow ridge
#

@twilit smelt do you prefer an incremental approach to lexical analysis

#

or tokenizing an entire file first

#

and then operating on it

lucid umbra
#

the common frontend, used by all the different newsdk tools that need lexical analysis, does the incremental approach

#

but that approach is the main thing that makes the hygenic macro system work

#

since the preprocessor/lexer is live while semantic analysis is happening, macro instantiations can create their own scopes

shadow ridge
#

i see

#

thank you

lucid umbra
#

my jackal frontend does preprocessing/lexing all at once, but it has to insert some special marker tokens in order to accomodate the macro scope stuff

#

i do this because its useful to be able to re-trace the token buffer for nice error messages (particularly involving the preprocessor) and the like

shadow ridge
#

i see

#

i think ill go with that approach this time around

lucid umbra
#

it is nicer imo

#

especially if you can crunch your tokens down to be super thin

#

i got each token in coyote to be 8 bytes

shadow ridge
#

8 bytes?????

#

howw

#

thats line + column info

#

token type info

#

token data (lexed number constants etc.)

#

all in 8 bytes??

lucid umbra
#

you dont need line and column info

shadow ridge
lucid umbra
#

you can just reconstruct that when you need it

#

you only need it during error messages

shadow ridge
#

what about generating debug data?

lucid umbra
#

still trivial to generate if you need it later

#

the point is that you don't need it for most of the compilation pipeline, so you shouldn't keep it around for most of the compilation pipeline

#
typedef struct {
    // token kind
    u64 kind : 7;
    // was this token "generated" by the preprocessor?
    // this means that the span might not correspond to source text.
    u64 generated : 1;
    // textual content
    u64 len : 8;
    i64 raw : 48; // pointer trick! only the first 48 bits of a pointer are significant
} Token;
static_assert(sizeof(Token) == 8);
#

technically you dont even need the token length but whatever i think its useful to keep around anyway

#

you also don't need to keep a token's computed data, like a numeric token's value

#

that can just be computed in semantic analysis, right when its needed, you can just generate it and put it right into your AST or whatever

shadow ridge
#

how does this handle large strings

lucid umbra
#

jackal doesn't allow tokens over a certain length so it isn't a problem in coyote, but there are several ways to go about it

shadow ridge
#

ig you could just have C style string merging ("AAA" "BBB" = "AAABBB")

#

and just split it up to multiple string tokens

lucid umbra
#

the way that i would do it, and the way that the zig compiler does it, is to just not store the token length

#

most of the time its redundant information

short owl
#

Who's the man with the sandwich

lucid umbra
#

most of the time you only need a token's length in a single place in semantic analysis, and you can write a function to trivially recompute the length based on the token kind and the index/pointer in to the source text

#

for most token types actually, the length is static

#

for example, for the keyword int, you always know tokens with kind TOK_KEYWORD_INT will have length 3

#

and so on

shadow ridge
lucid umbra
#

wdym redundant? you don't need to compute a token's value in the lexer

shadow ridge
#

yes but you still need to iterate over it to validate it

lucid umbra
#

you just have to scan it according to the grammar rules of the token

lucid umbra
shadow ridge
#

my old compiler has 72 byte tokens

lucid umbra
shadow ridge
lucid umbra
#

wow

shadow ridge
#

this also precomputes hashed strings

short owl
lucid umbra
#

no im sandwichman

#

different

#

i work on a third-party jackal compiler and my own stuff

#

but im familiar with the newsdk internals so i answered jack's question abt it

shadow ridge
#

i wish i had more hours per day to work on all of my hobbies and education at the same time :\

lucid umbra
#

thats real

#

if you don't care about performance then you can store as much as you want in your token structure

#

im just saying that these tradeoffs are tried and tested

shadow ridge
#

i thought it was about memory footprint

lucid umbra
#

in modern compiler frontends

shadow ridge
#

not performance

lucid umbra
#

those go hand-in-hand

#

if you can fit 8 tokens into a cache line it's fantastic

#

zip zoom all the live long day

shadow ridge
shadow ridge
#

so does the cacheline really matter

lucid umbra
#

if you're not optimizing for performance, then no

#

it doesn't

#

i'm just saying that thats what i do and thats what other modern, performance-optimized frontends do

shadow ridge
#

i see

#

does clang also do it

lucid umbra
#

i'm not actually sure

shadow ridge
#

hmm let me check

lucid umbra
#

carbon and zig are the big examples of hyper-performance-optimized frontends

#

that ive seen

#

this is rustc's token ```rs
pub struct Token {
pub kind: TokenKind,
pub span: Span,
}

shadow ridge
lucid umbra
#

i suspect because of the preprocessor and all the c++ bullshit

#

but yeah thats why i make the decisions i do in coyote

#

it's all about what your goals are

#

my goals are performance and memory usage

#

if it makes the compiler harder to write in some places, that's a price i'm willing to pay

jagged marsh
lucid umbra
#

it's here now

jagged marsh
#

oh yeah

shadow ridge
#

you even use perfect hashes

#

thats pretty col

lucid umbra
#

thanks

#

i threw it together in like 5 minutes and the generator itself is pretty slow lmao

#

but it does work

shadow ridge
#

language design wise

#

im still debating on

#

whether to have strings as a data type

#

or just a struct defined by the compiler

#

in my old compiler theyre just char * and 64 bit size in a struct str

lucid umbra
#

is your language manually memory managed?

shadow ridge
#

yes

lucid umbra
#

then i say struct defined by the compiler

#

or use []u8

shadow ridge
#

i dont have arrays as types

#

they belong to the identifier

lucid umbra
#

interesting

#

rust does a nice thing where str is basically identical to a slice of u8 with the additional guarantee that the content is utf-8

lucid umbra
shadow ridge
#

nah

#

just pointers

lucid umbra
#

inchresting

#

well then i lean towards compiler-defined struct

#

if you don't have either of those

shadow ridge
#

yeah ig thats the best

lucid umbra
#

slice types are pretty useful i recommend them

#

just pointer and length in a convenient package

twilit smelt
#

coyotl

shadow ridge
#

i just dont really see how to make a good type system without having it really minimal

#

a lot of stuff feels redundant or hard to parse / gen code for

lucid umbra
#

wont know til you try + i like to answer questions about compilers so feel free to hit me up

twilit smelt
# twilit smelt coyotl

this was the original nahuatl (aztec) word for coyote but the Spanish were stupid so they kept hearing coyotl as coyote and now we say coyote

shadow ridge
#

with slice types my problem is

#

a lot of the time you want differently typed size field

#

otherwise you just get 2 words

lucid umbra
#

that's an interesting thing to consider in your syntax

#

but also, wouldn't it always take up two words anyways?

#

because the size of a type should always be a multiple of its alignment

#

and the alignment has to be word size, because pointers are word sized

#

so it would be the size of two words anyways

shadow ridge
#

like your token struct for jackal for example

lucid umbra
#

in case where you're optimizing for layout like that, it's probably beneficial to split it up into just separate data and length fields inside your container type

#

something that i like that zig does is that you can extract a slice's pointer and length just like a struct with data and len fields

#

so going from slice <-> ptr, len is trivial

#

the main advantage of slice types is for things like parameters and return values, or plain variables

#

imo

shadow ridge
twilit smelt
#

HEEEEEEELP!!!!!! HEEEEEEEEEEEEEELP

lucid umbra
lucid umbra
devout geyser
shadow ridge
#

this is probably older than you at this point

shadow ridge
#

hmm i could maybe use a backtick for spans

#
u8 `a
#

or nah idk

lucid umbra
#

if you want a REALLY funky type system

#

you can do dependent types

shadow ridge
#

dependent types?

#

like Ada or something?

lucid umbra
#

this is probably bad syntax, but something like this ```rs
struct thing {
ptr: [^.len]u8,
len: u32,
};

shadow ridge
#

ah..

lucid umbra
#

a "slice" type that is just a pointer with the static information that the length is contained somewhere nearby

#

this is possible

#

but

#

it makes your type system much more complex

shadow ridge
#

do you really have to encode that in the type though

#

hmm ig you would have to

lucid umbra
#

if you want a type where the length is part of that type, but you don't want to store it in the same storage as the type's value, then i don't see another way to do it

#

this doesn't add any runtime information btw

#

its purely static

#

it does make taking that slice type anywhere else very tricky

#

because you have to make sure that the length always accompanies it

shadow ridge
#

i think i have a better idea on how to make this work

lucid umbra
#

(using my own language's syntax as an example) what i would suggest is having a slice type []T, but also have an indexable pointer type [^]T which is distinct from a regular pointer type ^T

twilit smelt
#

what the hell is this thing

#

why does it stomp like that

lucid umbra
#

use the slice type when you can, but otherwise just keep the indexable pointer and length separate if you need that

shadow ridge
#
struct thing
{
    u8 *ptr;
    u32 len;
    const u8 ^span = ^(ptr, len); // this is purely an alias
};
#

like a macro that belongs to the struct ig

lucid umbra
#

interesting, afaik this is basically an alternate syntax to having like an inline method that constructs and returns a slice from the struct

lucid umbra
lucid umbra
#

i kinda like it

shadow ridge
shadow ridge
#

and do

u8 ^span {
    u8 *ptr;
    u32 len;
}
twilit smelt
lucid umbra
shadow ridge
#

the ptr and len still belong to the struct

#

the { } just mean the span is aliasing its own members as them or smth ig

shadow ridge
lucid umbra
#

the way i would write this in my in-progress language is: ```rs
struct Thing {
ptr: [^]u8,
len: u32,

pub inline fun span(^self) -> []u8 {
    return self.ptr[..len];
}

};

#

and you would do thing.span() and use that as a slice

#

and because it's inline it's guaranteed to be inlined and optimized away

#

like if you were just using the ptr and len fields by themselves

shadow ridge
#

thats pretty cool

#

hmm

lucid umbra
#

you could also implement the compiler's Index trait and then just use the thing[idx] operator directly

#

but i think a generics/trait system is out of the scope of your language given that you want it to be minimal

#

the lesson is that unfortunately i dont think there is a simple solution for this problem

lucid umbra
#

a [^]T is just a ^T that allows you to use the index operator

#

but if you dont wanna separate those concepts then its okay

shadow ridge
#

i just want there to be 1 solution for every problem and it feels redundant to have all those things at the same time

#

lets say i have both spans and pointers

#

well pointers are just spans of size 1

#

so thats reundant

#

and feels shit

lucid umbra
#

unfortunately there is never one way to do things that will satisfy all use cases well

shadow ridge
#

this is my old type system

lucid umbra
#

you could do what C does and just have one pointer type with no length, but that means that you have to manually supply the length every time you want to pass it somewhere

#

which if you dont mind that, then that might work for you

shadow ridge
lucid umbra
#

i personally prefer the ergonomics of being able to reference an array of values and keep the length around

#

sure thing

shadow ridge
#

basically you can have the offset of a struct member

#

be the value of another struct member

lucid umbra
#

that sounds like dependent types to me lmao

shadow ridge
#

it's not a property of the type though

#

just the struct member itself

shadow ridge
#

and have multiple FAMs in one struct

lucid umbra
shadow ridge
#

i guess

lucid umbra
#

its size is dependent on a value contained in it

#

thats a pretty canonical example of a dependent type if i understand them correctly

#

that makes sizeof a runtime calculation then? for structs that have that?

shadow ridge
#

my structs are like little assembly programs ig

#

the size is just the offset of the last variable + its size

#

a union is literally a struct but it disables the offset increments

lucid umbra
shadow ridge
#

you can make a union without the union keyword by just making a struct with every offset as just @ 0

shadow ridge
#

so it's like a FAM (the field has effectively 0 size)

lucid umbra
#

ah

shadow ridge
#
struct Thing
{
    u64 fam0_size;
    u64 fam1_size;
    u64 fam2_size;
    u8 fam0[];
    u8 fam1[] @fam0_size;
    u8 fam2[] @fam1_size;
};

this is a good use case i think

lucid umbra
#

interesting

shadow ridge
#

but this struct would have a sizeof of 24

lucid umbra
#

i get it yeah

#

that kinda a dependent type? but not really

shadow ridge
#
struct Thing
{
    u64 thing @-8;
};
``` ok i actually havent thought about this use case because it's totally possible and it would create a struct with negative size
#

hahaha this totally breaks pointer arithmetic

lucid umbra
#

i get the vibe that this language isn't big on safety checks

shadow ridge
#

it's just C but with my additions

#

and removals

#

where i saw fit

#

i think i showed this to you before but u forgot ig

#

in like 2024

lucid umbra
#

hmmmge i remember vaguely

shadow ridge
#

you might remember the bit index stuff

#

like

#

var@[5:7]

#

is just (var >> 5) & 7

lucid umbra
#

bit field syntax?

#

cool

shadow ridge
#

this is an operator

lucid umbra
#

yeah

#

bit extraction syntax i should say

shadow ridge
#

it also works on magic constants so you can make a bit enum and do var@FIELD0

lucid umbra
#

what's the type of FIELD0 here?

#

like how is it defined

#

in the source code

lucid umbra
shadow ridge
#

& 7

lucid umbra
#

interesting

shadow ridge
#

so it extracts bits 5, 6 and 7

lucid umbra
#

is it an l-value too? can you assign to a range of bits?

#

or only extract

shadow ridge
#

yes

#

this is how it's defined in the design doc

shadow ridge
#

and later 6 bits are size-1

#

theres a special enum type that constructs these values

#

you could build them at runtime but it would generate extra code

#

here's an example usage in the lexer

#

where it's building that value at runtime

lucid umbra
#

what's the @@@ there

warm mural
#

yeah wtf is that lol

lucid umbra
#

is a weird editor thing

shadow ridge
#

ooh those are the spaces

lucid umbra
#

interesting

shadow ridge
#

i like to know if whitespace is tab or a space

lucid umbra
#

what editor is this?

shadow ridge
#

vim

#

my vimrc

lucid umbra
#

interesting

#

in vscode if you highlight it whitespace it will show you what the characters are

#

this is what spaces looks like

shadow ridge
#

yeah i should pick a better char

lucid umbra
#

sorry will would you like us to talk abt this somewhere else

twilit smelt
#

What will they look like in xrcode the native jackal ide running on mintia2

shadow ridge
lucid umbra
#

or jackal emoji

#

we'll make one

#

and add it to unicode in some unused/vendor-reserved spot

shadow ridge
#

im returning to my project because will is employed so my only competition is aphelion now

lucid umbra
#

im employed as well

#

lmao

#

though im working on it a lil

#

in the shadows

shadow ridge
#

im not and i still have basically no time to work on it

#

damn you 24 hour days

#

cant the earth just revolve a lil slower

lucid umbra
#

if it did they would just make you work longer

shadow ridge
#

true

golden meteor
#

@twilit smelt (@hidden shore wants to ask) are you the only person in utah

shadow ridge
#

there are like 3.54 million people in utah

#

how would he be the only person

golden meteor
shadow ridge
#

personally i havent seen anyone younger than 4 so that checks out

golden meteor
#

never known anyone else except him from utah

shadow ridge
#

what about that bricks and minifigs guy

#

he also lives in utah i think

#

not the reckless ben guy

#

the guy who stole the lego

golden meteor
#

thanks 👍

twilit smelt
#

I'm glad I got continuations done before I left

#

It'd really bother me if that were still half done

#

I mean I didn't fully implement the direct return to usermode continuation

#

Gonna work on that soon

#

It's the last piece of the puzzle

#

Fun stuff is needed for that

#

Specifically upon a syscall (and only a syscall) exception I need to save all the callee-saved registers in a special location that is not the kernel stack bc it's disposable now

#

Probably a block in the thread struct

#

The return to usermode continuation will restore those callee saved regs before jumping back to userspace

#

(And probably clear the caller saved regs to avoid leaking kernel info)

shadow ridge
#

i thought continuations were meant to lose information

#

why do you need to save any registers at all?

twilit smelt
#

Because if usermode does a syscall it expects the callee saved regs to be saved across it bc it's a function call like event

#

One example of a callee saved reg that's pretty important is the program counter for example

shadow ridge
twilit smelt
#

Continuations are a kernel mode implementation detail

shadow ridge
#

then why can the user specify a continuation on a syscall??

twilit smelt
#

Never said it could

shadow ridge
#

so if the user cant specify a continuation then why do you need to handle it

twilit smelt
#

Because the implementation of a syscall can use continuations

shadow ridge
#

ooooohh

twilit smelt
#

And it will otherwise lose the user context that was saved on the kernel stack

#

Unless I save it elsewhere

shadow ridge
#

ok nvm i misunderstood the issue

shadow ridge
#

realistically those 2 should be enough

twilit smelt
#

Mainly it's to have a consistent user context to refer to while the thread is in kernel mode regardless of whether it got there via syscall or via exception or what

keen stone
#

bruh

twilit smelt
twilit smelt
#

@dense vigil remember our pact that when mintia2 was ported to amd64 then we would combine our efforts

dense vigil
#

a pact??

#

anyway, why are you asking

twilit smelt
#

u don't remember?

dense vigil
#

I remember talking about it but iirc i said i didnt want to deal with it since it wasnt in C

twilit smelt
#

I said since u seemed to like working on everything other than kernel proper and I only liked kernel proper it would be cool if we combined efforts later and u agreed but this was like 3 yrs ago

#

I said ur parts would be in C

dense vigil
#

yeah i remember that convo

#

oh ok

#

are you getting closer to that port?

twilit smelt
#

I'm 3 years closer

#

Which means I'm maybe halfway there

#

Just reminding you

dense vigil
#

yeah sure

#

idk what that would entail precisely but why not

dense vigil
twilit smelt
#

Weren't you doing like uacpi and some gpu drivers and stuff for ur own hobby os

dense vigil
#

its in the plans yes

warm mural
#

u guys should instead focus on the obviously cooler project (mine) that runs on a REAL computer

twilit smelt