#MINTIA (not vibecoded)

1 messages · Page 9 of 1

white valley
#

i need pure lambda calculus experts

twilit smelt
#

and r/pl discord is full of fp people

white valley
#

my goals are set in stone

white valley
#

if not ill go there

warm mural
white valley
#

no

#

goodbye.

warm mural
#

yes

#

hello

twilit smelt
#

ok spotify just like massively api throttled me for skipping through so many songs

heady bobcat
#

I would recommend writing every step in the expansion of this out on paper. And by that I mean every step.

heady bobcat
#

why tf are you developing a computer architecture on lambda calculus?

twilit smelt
#

i forgot how many tracks 18 carat affair has jesus

signal zinc
#

i understand this and don’t understand why it isn’t false ^_^

twilit smelt
#

lol it occurs to me i should have just added these all to a playlist and shared that

white valley
#

the interpreter gives me this result: (λt. (λX4. (λt. (λX5. X5))))

signal zinc
#

let me get out of bed and figure this out

white valley
#

if i have \t.(\t.a)

#

those ts are different right

#

actually wait wait wiat

#

this DOES reduce to false

#

the interpreter im using just isnt smart enough to figure it out

#

if you take out the X4 thing cuz it's a no op

#

and then the first \t cuz it's a no op as well

#

you're left with \tx.x

#

which is just false

signal zinc
#

uh no

#

this lambda is equivalent to \xyzw.w i believe

white valley
#

why

signal zinc
#

which is distinct from \xy.y

white valley
#

hmmm

#

right

#

right right right

#

fuck

#

if i manually reduce it

#

i do get false

#

so why does the interpreter claim otherwise

signal zinc
#

your interpreter seems incorrect

#

this one seems to get the correct answer

#

oops i typoed the third pair but yeah

#

i love mintia

twilit smelt
#

mintia blows

signal zinc
#

is there a more suitable channel for lambda calculus discussion

twilit smelt
#

idc what u talk about as long as im not actively trying to talk about something

signal zinc
#

cool beans

white valley
signal zinc
#

awa

white valley
#

but

#

i use its own definitions

#

so maybe its definitions are fucked?

#

this is the exact prompt i gave it

#

without defining my own stuff

#

if you type env it shows its own definitions

#

so just try

#
bitadd = \a.\b.( a (b (pair true false) (pair false true)) (b (pair false true) (pair false false)) )
second (bitadd false false)
signal zinc
#

hm how strange i get the wrong result now

white valley
#

(λx. (λy. (λf. ((f x) y))))

#

this is its definition of pair

#

same as yours

#

yeah i think you have all the same definitions

#

but with different variable names

#

which shouldnt matter

signal zinc
#

oh my mistake

signal zinc
#

wait no i don't lmao

white valley
#

i really should be doing smth else rn but this problem is too interesting

signal zinc
#

well that would be why

#

true in the env is \x. \y. x

white valley
#

isnt that correct

signal zinc
#

oh oops i'm silly

#

then it's some bug in alpha conversion i'd bet

white valley
#

let me try a diff one

#

this one appears to work

#

so yeah ig it's a bug

#

damn lambster wasting my time with bugs

#

im gonna email the owner

#

im pissed

signal zinc
#

currently trying to find a smaller reproducible case

white valley
#

i really have to go now

#

thank you for the help

signal zinc
#

okay at this second step it mistakenly substitutes the inner X4

β > ((λX4. ((X4 (λt. (λX3. X3))) (λt. (λX4. X4)))) (λt. (λf. f)))

Beta reducing '(λt. (λf. f))' into '(λX4. ((X4 (λt. (λX3. X3))) (λt. (λX4. X4))))'
β > (((λt. (λf. f)) (λt. (λX3. X3))) (λt. (λX4. (λt. (λf. f)))))
#

a difficult bug to reproduce because this error only occurs when substituting temporary names

#

parens removed and annotations added for readability

β > (λX4. X4 (λt. λX3. X3) (λt. λX4. X4)) (λt. λf. f)
                                     ^^
β > (λt. λf. f) (λt. λX3. X3) (λt. λX4. λt. λf. f)
                                        ^^^^^^^^^
twilit smelt
#

i will not share it

#

almost every song i associate strongly with working on this project is in this playlist

#

didnt know it was 361 of them

#

i can recognize every one of them by like a half second in the middle

devout geyser
#

goddamn

warm pine
white valley
#

even my longest playlist is only 15 hours

#

and thats a lot of fucking jazz

#

how did you get 18 hours of vaporwave loops

white valley
#

motherfuckers

#

how does everything im passionate about already made

#

actually wait

#

those just run LISP

#

not pure untyped lambda calculus

#

which is what im doing :)

warm mural
white valley
#

@signal zinc
(\z.(zy)) y shouldnt this reduce to yy

#

it reduces to zy no matter what the right term is according to another lambda interpreter

signal zinc
#

try adding a space between the letters

#

that's my guess

white valley
#

ooh

#

oops

#

thank you

#

i overthink everything and end up missing small details

white valley
#

oh my fucking god

#

i think i have something thats working relatively well here?

#

i fixed like 20 bugs

#

before getting here

#

omg succession with church numerals works too

twilit smelt
#

its every song i could think of that i associate with working on mintia

#

there are many vaporwave loops but its mostly other things

mortal thunder
#

impressive, i haven't downloaded this many hrs of music to my phone

#

it's only a bit over 11 hrs for me

twilit smelt
#

considering staritng a blog

oak spade
#

What would you call it?

twilit smelt
#

will blog

#

idk

#

"mintia minutia"

white valley
#

but hear me out

#

what about limnblog

white valley
# white valley

time to rewrite this in lua cuz i really cant be bothered to maintain it

twilit smelt
#

this next part of the io system will require me to rethink how the bootloader loads drivers

#

previously i was just reading lines from a file called BootDrivers.txt

#

each line was the name of a driver file to load from /mintia/Drivers/

#

well, in particular, any drivers that should be loaded unconditionally for boot to proceed, were loaded then

#

drivers for platform-specific devices, in particular ones that may or may not even be present, are loaded in some platform-specific way by that part of the bootloader code

#

if i do IOKit style device matching with an IOCatalogue, then ill need to switch this up

#

drivers will all need some extra metadata

#

giving information for the matching process and stuff

#

i think the bootloader will have to load all the metadata files

#

no it wont

#

that was a silly belief. a wrong one.

twilit smelt
#

it only has to load the fs driver & the disk driver and any dlls upon which they depend

#

no other loading needed

#

it does have to load the metadata for those as well so that initial matching can occur

#

all other drivers will be dynamically loaded by the kernel later

twilit smelt
vivid mortar
#

Somehow I was already following this project.

#

Have we talked before?

twilit smelt
#

possibly

twilit smelt
#

but i wrote it in cthuluspeak-level horrible programming language

#

so im rewriting the entire thing in a new (still custom) programming language

#

still runs on the 2 fake computers

#

doesnt do as much yet

#

roughly equivalent functions in the old and new language

#

very few functions are directly comparable bc the planned kernel design changed massively during the time it took to do the new toolchain as well

#

in particular it now supports SMP

#

so anywhere that i did synchronization by just blocking out preemption was no longer sufficient

#

and so on

twilit smelt
# twilit smelt

u can see that here, the "IPL raise" which blocked out preemption was replaced by taking a blocking mutex

#

that might be the only place i replaced an IPL raise with a blocking mutex and not with a spinlock

twilit smelt
#

also im probably going to add a boosting rwlock

#

turnstile-backed locks are cool but they dont really let you like boost all the shared owners of a lock

#

so when youd reaaaally like to be able to grab a lock shared and also boost its owners if a high priority guy comes in and tries, then itd probably be a good idea for there to be something like that

#

itll take much more memory than the normal turnstile-backed lock and also depend on memory allocation (to maintain an array of shared owners) so itll only be appropriate when those arent an issue

#

an example of a lock this will be useful for is the namespace lock which guards my name cache

#

itll only support single hop boosting but like

#

thats ~infinitely better than no boosting

#

wait

#

i just thought of a really funny way to do multi-hop boosting

#

you do single hop boosting and when you raise someones priority, and they were also waiting on a priority-boosted lock, you just wake them up from the wait

#

theyll wake up and see the lock is still held and theyll apply the new boost to the owner thread which may wake it for the same reason and so on

#

has anyone done priority boosting like this

#

this is kinda massively generalizable as well

#

what im thinking of is

#
SetPriority(thread, priority):
  thread.Priority = priority
  if new priority > old priority:
    if thread.InBoosterWait:
      thread.InBoosterWait = false
      wake(thread)

AcquireSomeResource(resource):
  while true:
    if resource not held by other thread:
      take resource
      return

    if me.Priority > owner.Priority:
      SetPriority(owner, me.Priority)

    me.InBoosterWait = true
    wait for resource
#

this kinda gives you multi-hop boosting through multiple varieties of boosting waits on resources and stuff "for free", although unstacking the boosts as you release locks is still the domain of the lock implementation and would require turnstiles or something else

#

but each type of thing (shared-boosting rwlock, non-shared-boosting rwlock, page wait, etc) is now free to do it in their own way

#

and doesnt have to walk waiter chains

#

ehhh no its not that generally useful

#

its still useful for forwarding priority boosts (that occurred for any random reason) through a lock waiter chain tho, if a boost is applied to someone after they went to sleep on a lock

vivid mortar
#

What's IPL?

twilit smelt
vivid mortar
#

This is super complex.
good job

hybrid condor
#

Wow, that's a lot of new messages

#

That's a lot of spotify

#

it’s very expensive to wake up something to do that little work

#

And you'd pay with huge savings in battery life = bad

#

also, it doesn’t let you lower priorities easily

#

Meant that in reference to the last thing

twilit smelt
#

so i thought of a hybrid thing where you still just walk the waiter chain and boost when you block on a lock, but when some other priority boost occurs while youre waiting (which is probably a really infrequent event) it can be easily propagated by just waking the guy up and having him loop back around and re-apply the boost down the waiter chain again

#

but ultimately i think its not that useful after all

#

still was an insightful thought experiment lol

digital pivot
#

i mean power savings and efficiency

twilit smelt
#

i do

digital pivot
#

thats cool

#

i shouldve said almost no one

twilit smelt
#

not as much as like Apple does but id feel too guilty to ignore it

twilit smelt
warm pine
#

i searched "a real[...]" and arrived on a twitter cacount preparing an antiwoke software list

twilit smelt
warm pine
#

nice design in any case

warm pine
#

quite a bit better than you tend to see from academic projects

hybrid condor
twilit smelt
twilit smelt
#

Parched earth and snowcapped mountains

#

What sense does that make!!

white valley
twilit smelt
oak spade
#

nice shot

green pelican
# twilit smelt

i was going to say "this looks like the perfect place for a walmart" but it seems there actually is already one there

twilit smelt
#

one time lurking on osdev irc I saw someone say "look at toaru to find out how to do something simply, look at sortix to find out how to do it right"

#

I will make mintia the answer to both of those or I will literally puke blood.

white valley
twilit smelt
#

yeah that's why I thought the original quote was silly because he's basically saying "look at this one if you wanna SUCK! look at this other one if you wanna SUCK DIFFERENTLY"

#

What I'm saying is I want to make it something that does everything as right as possible, as simply as is allowed by the nature of the feature set

#

And then it will be the answer to both questions

white valley
#

and this time, it will be in a readable language

#

how nice

twilit smelt
#

I will do this by taking my time and designing everything carefully but hopefully not overbaking it

#

It will take 5 years to finish or something but it will be cool when it's done

#

The time will pass anyway

white valley
#

you really do get those nice sweet fruits of labor

twilit smelt
#

Feel like I have an acute instinctual awareness of that fact and that's the only reason I've been able to do literally any of this

#

Like it doesn't bother me much to think about how much time something will take

#

If it did even slightly I'd have failed long ago because I have zero mental fortitude

#

I'm a fragile stupid baby

coarse current
white valley
#

honestly you get much more output than the input you put in

#

compared to me

#

soo lucky

twilit smelt
#

Generally speaking even when I'm not working on it I'm still studying or researching or thinking about it so that's probably not true

white valley
#

i can say the same

twilit smelt
white valley
#

tho im not talking about my compiler and shit

coarse current
#

I can't type

white valley
#

isnt that alzheimer's

coarse current
#

hopefully not

#

it has been happening to me since forever

#

(anyway)

white valley
#

i can see that

#

considering weve been talking for hours

twilit smelt
coarse current
#

(I know that this was sarcasm) but there are a lot of cases of early onset of alzheimers?

twilit smelt
#

It took years for me to git gud and even then i still get blown away in certain areas by like pitust who is like a little kid or something

white valley
twilit smelt
#

There's always a bigger fish

coarse current
white valley
#

im comparing my piano playing to your project like

#

i put in 6 months of consistent ~4 hour per day work (and the rest of the day, im thinking about the piece)

#

and get 10 minutes of musical output

white valley
twilit smelt
coarse current
#

what

#

I think he was like 21-22

twilit smelt
#

I was being hyperbolic about the age diff

#

No I don't think so

white valley
#

i think considering the input to output ratio you get much more in terms of visible results

twilit smelt
coarse current
#

23

white valley
twilit smelt
#

You're also doing at least semi useful things other than programming with your time

white valley
#

jesus

#

how much did you skip school

twilit smelt
#

A lot

coarse current
#

I mean I was as well before getting into university

white valley
#

i barely have any free days left

#

if i go over the limit i cant graduate HS

#

that would be a bummer

twilit smelt
#

I skip way more uni LOL

white valley
#

we have 30 free days in practicality

#

i used like 27

twilit smelt
#

I almost never attend lectures I just show up for exams

coarse current
white valley
#

anyways i gtg

#

gotta put in more hours so i can complete a few more measures

#

damn..

twilit smelt
#

I had to do lots of summer school in hs to make up classes I failed and ultimately I barely graduated

#

Had zero drive or vision for my future

#

And that's bad btw

#

Like really bad

coarse current
#

this is a recipie for successfully getting cs/computer engineering degree?

hybrid condor
twilit smelt
#

Was a journey

#

And I only tried cuz I was ashamed I was a total failson NEET, I sat on my ass for like 6 months after I graduated high school doing nothing

#

If I had less shame it never would have happened

#

Then one night I googled whether u of u would care about my high school grades if I did enough community college and their admissions handbook said no so I signed up for spring semester at the cc

#

lol

coarse current
#

that does sound bad

twilit smelt
#

Blows my mind ppl were sitting there carefully planning a route to a t1 uni at like age 13 and then executing on it consistently over years, I didn't have the conscientiousness to start planning out my future at all until 6 months after I graduated hs

coarse current
#

idk, I feel like I had an easy time at (and getting) school/degree (ignoring the burnouts), but I also have a feeling that no matter what I do I always feel unfulfilled

coarse current
#

Could have been getting a completely different degree

#

I kinda knew that I should have been getting into university, and now I understand that I probably don't have discipline to study on my own

twilit smelt
#

Then I suddenly found myself at age 19 having to look toward adulthood and was like ohhhhhh fuuuuuuck

#

I think you need a vision to execute on a long term plan and I couldn't summon one for my future no matter how hard I tried

#

Unlike with this project for instance where I can and so I have smth to work toward

twilit smelt
#

My friends were mostly lame and just as directionless as I was (not that it would have helped if they weren't, the root cause was the mental health part)

coarse current
#

Maybe the school was a big influence

mortal thunder
#

mandatory

coarse current
#

(which was a big drama)

mortal thunder
coarse current
mortal thunder
#

(paradoxically i had free admission in the latter (because i participated in a contest and got a good result and they listed it as part of their contest-free admissions) but not in the former)

coarse current
coarse current
twilit smelt
#

Ivies and adjacent

white valley
#

im back

twilit smelt
#

There's a scene in Malcolm in the middle where they're like 6th graders and he's hanging out with these nerd kids and he mentions he doesn't know what university he wants to get into and they're all so shocked he doesn't have his entire future planned yet that they start crying for him and comforting him that it might not be too late if he starts now

#

Good scene

white valley
#

i didnt know what uni i wanted to go to until the end of last year lol

#

well i actually didnt want to go to a uni technically but

#

i told everyone i would lol

digital pivot
# twilit smelt Tier 1 unis

what do people do to get into these in the us? participate in some kind of international olympiad in informatics? ig grades aren't enough

white valley
digital pivot
#

i am not talking about rn

white valley
#

i mean, there are green cards (nvm i read it wrong)

#

so if you win the lottery

#

you can go

twilit smelt
#

Then you have like a 20% chance for each of them so you apply to them all

digital pivot
#

you can do very well at sports to get into the MIT or stanford?

twilit smelt
#

You also need to do in person interviews (which they fly you out for) and be very personable and nice and intelligent and ideally also attractive and funny

digital pivot
#

and study CS ther

twilit smelt
#

Also they like to see that you did lots of AP classes and I think most students admitted to like MIT and Stanford got up to linear algebra/calc 2 in high school

white valley
#

calc 2 in high school

#

wtf

twilit smelt
#

Also doing concurrent enrollment at your local community college or state uni is a plus, basically taking early college classes concurrently with your last year or two of high school

#

Do all this and excel at all of it and you will probably get into at least one t1 uni if you have good essays and spam apply to all of them

white valley
#

so you have like no chance at it unless you're a no life nerd

digital pivot
twilit smelt
#

Kinda

white valley
#

well t1 is probably like not necessary unless you want to be an astronaut or smth

twilit smelt
#

And their parents groom them for this their whole life

hybrid condor
#

Tbh

twilit smelt
#

Send them to expensive prep schools (high schools that cost 2x more than state unis), hire expensive tutors, etc

hybrid condor
#

Now that I see what I need in my job I feel that education has not prepared me

white valley
#

sob stories

#

of being really poor

#

and studying non stop until they get to that level

#

cuz their parents were like

#

"if u dont study you'll end up like us"

twilit smelt
#

Sometimes poor people get in and it's almost always because of some kind of affirmative action

#

Reserved spots for people who have some disadvantage to still get in despite having slightly subpar academic performance or whatever

digital pivot
twilit smelt
#

So that's how you get the like Nigerian villager admitted to Harvard is that she was 99.99th percentile locally and could probably excel more than the privileged rich white kids even though she got worse grades in an absolute sense due to her circumstantial disadvantages beyond her control

#

Or whatever else

#

Some of them prob also have affirmative action spots for like people with worse grades or other performance just in general as like a dice roll to see if they'll do better if their Hail Mary application to a uni way beyond what they could expect actually got accepted

#

But even then the "worse performance" is probably still like 3.5+ gpa and so on

#

It'd be interesting to have 5% of spots reserved for just randomly selecting the leftovers after merit based admissions lol

#

Maybe they do idk

marble socket
#

mintia progress?

#

peeks into thread

#

nvm politics and school stuff vaporizes out of existence

white valley
#

we need to have these discussions in the limnstation server

#

it disturbs people and they run away

#

@twilit smelt what are the downsides of missing lots of high school classes in the US

#

other than like

#

doing badly on the exams

#

say you missed like 2 months of school but did well on the exams

#

do you still pass

#

and graduate

twilit smelt
#

But iirc my high school would only let you (unexcused) miss a class 4 times and then you'd get an "NG" grade automatically (which is No Grade and is basically an F)

white valley
#

damn

white valley
#

thats even worse than turkey

#

here as i explained you get 30 days in practice

#

20 days excused

#

10 days unexcused

#

currently i have 15 days excused and 11 days of unexcused so unless i turn in a report im currently failing the year

#

which is really fucking stupid

#

cuz all other schools let 12th graders have free time that doesnt get counted

#

usually teachers finish teaching all the subjects by the end of april

#

and then students spend the rest of the time not going to school and studying at home instead

#

but nuh uh, the current administration of my hs changed and theyre like "yeah lets ruin the life of 12th graders"

twilit smelt
#

u need to try a lot harder so u can go to the best uni in turkey and then get into postgrad at MIT

white valley
#

i want to go to a conservatory

#

soo no MIT

#

would be cool if i somehow got into a top music school in US through an exchange program or something tho

twilit smelt
#

doing rly well at state uni and then getting into a t1 school for postgrad is what i would ideally like to do

#

postgrad admissions are literally easier than undergrad admissions at those schools lol

#

backwards of what youd expect

white valley
#

lmao

#

im not smart enough to go to a regular uni

#

i would need tutoring and my family cant afford that

#

and i dont want to anymore anyways

twilit smelt
#

Postgrad admissions are like 3 good letters of recommendation, 3.5+ gpa, decent CV, and u have a shot

white valley
#

do undergrads get more benefits

#

other than like

#

being an undergrad

twilit smelt
#

No, postgrads get paid to go to school

white valley
#

lmao

twilit smelt
#

Because it's basically a research job

#

They don't get paid much mind you but it often covers tuition and living expenses

#

And you can still get loans on top of that

mortal thunder
#

well you can have more but what happens if you get 10 or more?

#

your "behavior" grade is dropped by 1 point for every 10 unexcused absences

#

the dropping usually happens near the end so that retroactively excused absences don't count

#

yes, we have a "behavior" grade, if you do something severe you get 1 point taken from this grade (you start from 10 which is basically A)

mortal thunder
#

like master's degree?

#

or doctorate?

twilit smelt
#

so it could describe both masters and phd

mortal thunder
#

ah

white valley
#

"written" grades (exam grades)
"spoken" grades (can be exam or left up to the teacher)

mortal thunder
#

will do you have any kind of "behavior" grades or something similar

white valley
#

and "performance" grades

#

performance and spoken grades can both serve as a behavior grade

twilit smelt
#

it didnt factor into gpa i know that much

#

so probably irrelevant to your transcript and only used internally for disciplinary purposes

mortal thunder
#

In my case it does actually

#

As far as I remember

white valley
#

is it true that they make you sit in an empty room and dont let you out until a certain hour if you dont behave

#

like

#

is it a wide spread thing

mortal thunder
#

Not in my country

white valley
#

ye

#

cuz thats like

#

the most horrific thing ive ever seen

mortal thunder
#

Detention doesn't exist here, or at least, hasn't when I was in school

twilit smelt
#

yes but i never had that happen to me

#

in elementary school i was an anger issues kid and id like get into fights constantly but they didnt do detention then lol

#

and in middle and high school i was very quiet and polite

mortal thunder
#

i used to have some anger issues as well during mid school

#

after the turn of the 8th grade though i calmed down

white valley
#

i only got into like 2 fights in my entire life

hybrid condor
white valley
#

and both of those were in middle school

twilit smelt
#

lol

white valley
#

ooh lol

#

teachers dont like too quiet kids

white valley
#

nor too noisy kids

mortal thunder
#

what the fuck does that mean

white valley
#

i was a smart fucking kid so i knew how to optimize

#

i would learn about the subjects beforehand

#

and ask really interesting questions

mortal thunder
#

i would have been in U probably (unsatisfactory)

white valley
twilit smelt
#

bc they read it as arrogance rather than introversion

#

especially in a place like mormonland where all the children are unusually cookie-cutter like cheerful friendly talkative god-loving people

white valley
#

so i could do badly on exams

#

but it would get averaged out into a good grade

#

cuz good behavior

#

tho i keep failing chemistry this year and idk if the teacher will keep giving good performance grades lol

twilit smelt
#

i feel like if a behavior grade factored in any even slightly impactful way into your grade at a high school here

#

unis would just discard applications from students there because theyd consider their grades like inflated beyond any ability to tell whos actually capable

white valley
#

but u use high school grades as a factor when going to uni

#

we only baarely do

#

we have a separate uni exam

#

and only a small portion of the high school grade gets added to that

#

so theres no real "inflation"

heady bobcat
#

it's interesting to read about how university admissions work around the world. where I live we have a number of selection groups that are allocated some amount of spots in a particular subject (cs, math, physics etc.):

  • BI: high school grades without supplementary grades.
  • BII: high school grades with supplementary grades (there's adult education, so you can retake classes if you failed/didn't take them in high school).
  • BF: grades from folk high school.
  • HP: score from "university entrance exam" (a standardised test that anyone 18 years or older is allowed to take, twice per year.
#

on top of all this, some universities offer additional selection groups (e.g. a "Mathematics and Physics exam" for math and physics)

#

so there are literally like ten million ways you can get into university lol

twilit smelt
#

undergrad admissions for top unis here are like i mentioned basically measurements of how far ahead you can plan as a teenager and how far youll stand on your head and do acrobatics to meet all the bullet points for what they want to see

#

and postgrad admissions are just like

#

not sitting around doing nothing during undergrad at a state uni is good enough for a real shot

#

ideally you had an internship or two and were an undergrad researcher and have 3 good letters of recommendation

#

and i feel like this is infinitely easier to do as an adult than undergrad admissions are as a teenager, especially a non-rich one whose parents dont know how or dont have the means to guide you directly into an ivy

#

lol it could be that postgrad admissions are designed to be, and are harder than undergrad admissions for the specific aforementioned case of the affluent rich kid, because its much more oriented toward unique individual merit (which the prep schools and tutors and standardized test scores and extracurriculars did not do much to indicate, but undergrad research and stuff does)

#

for anyone else i think its way easier

heady bobcat
#

that shouldn't limit their future possibilities

#

sadly, it does.

twilit smelt
#

there are still plausible paths to t1 schools even if you totally fucked up earlier at least

#

like the one i mentioned

#

you just have to wait for postgrad

#

it might be OVER if you already graduated undergrad and didnt do jack shit other than your classes while you were there though

digital pivot
#

are t1 unis really that good compared to regular unis ?

#

in cs

twilit smelt
#

in cs specifically, no not necessarily

#

schools like harvard and yale top the list but have worse cs departments than the university of utah lol

heady bobcat
twilit smelt
#

if youre talking about specifically the top cs schools then yes theyre quite a bit better

#

u of utah is (bizarrely, i was surprised by this) a top 50 cs school worldwide and top 40 in the usa lol

#

one of the best state schools

#

but the top 10 are even betterererr

#

by a lot

white valley
#

hi sir, would you like to hear about our church of jesus computer science

#

you know mormons mean business at first sight

#

just look at those ties

twilit smelt
#

the difference is that most of the uofu profs and stuff are t1 alums

#

whereas uni of wyoming profs are uofu alums.

white valley
#

what if u dont get into a t1 as a postgrad

twilit smelt
#

idk

#

die

#

or a less prestigious school for postgrad

white valley
patent totem
twilit smelt
#

i could do a masters at uofu and a phd at MIT or something still lol

white valley
#

after that

#

where do you wanna work

twilit smelt
#

i could become faculty and just be an eternal academic

white valley
#

lame

patent totem
#

that is a Lot to commit yourself to so early but at the same time if you're doing a phd at a place like MIT you would probably have a terminal case of academic brainrot so it would seem like the best solution

twilit smelt
#

whos this julien guy. anyone ever seen this julien guy before

#

who are you rando!

white valley
# white valley lame

you should go become a kernel dev and write the PREVStep kernel revolutionizing operating system development

patent totem
#

ive just been following this project for a long time its so frickin tuff love ur work so much man

#

big fan

twilit smelt
#

omg thx <3

twilit smelt
white valley
#

how many kernel development jobs do you see

#

eventually the old guys who built this shit will die

#

someone will need to be the next dave cutler

twilit smelt
#

i feel like shit right now and id like to feel less like shit in the future and doing systems research at a good school (even if thats just the uofu, thtas still a p good school) has reasonable odds of making me feel less like shit about everything

white valley
#

do drugs

#

instant solution to feeling like shit

twilit smelt
#

whereas i could get a like $200k salary at big tech doing kernel work and the entirety of management are psychotic tech bros obsessed with AI and i have to pretend they dont make me want to vomit

white valley
#

then build the next big kernel on drugs

twilit smelt
#

and then i feel even more like shit

white valley
#

you get called into a meeting

#

"hey will can you add cool AI crypto stuff into the kernel we need to make more moeny and AI is good to invest"

twilit smelt
#

no theyre laying me off to replace me with an AI agent and the only human left on the team is Bob who is the most senior but also lowkey one of the least talented and his sole job is to supervise the AI team

#

they lay him off too like 15 years later

white valley
#

it's a firday morning

#

you get called into a meeting

#

"hey will you're fired get the fuck out of here"

#

"but you need to train your replacement first"

hybrid condor
white valley
#

and you spend the next month training the AI to do kernel dev

twilit smelt
#

im very doomerish about the industry rn in general

#

i feel like i missed a window where i would have really loved doing industry OS work by like 10 years

white valley
#

it's likely that people will be fired but then they'll need to be rehired when people realize vibe coded software is garbage

twilit smelt
#

so im inclined to disappear into academia instead

heady bobcat
white valley
#

if your vibe coded startup doesnt make money

#

then ure shit out of luck

#

when they realize it doesnt make money theyll have to move on

#

to the next big thing

twilit smelt
white valley
#

my lambda cactus computer will be better than limntia

twilit smelt
#

that shows deep specialization (which is what academics are for)

white valley
patent totem
#

90s?

twilit smelt
heady bobcat
hybrid condor
white valley
#

sooo

hybrid condor
#

I haven’t seen nearly as much interesting research or real-world results in academia as I have in actual work

twilit smelt
patent totem
#

omg everyone always says this

#

youre gna be disappointed being like where are the real world results looking at academic papers

#

thats not an objective reason to go to academia or not

#

its ultimately a personal decision do you like working on some very niche problem and making that slightly better than anyone has ever done before or do you want to build something practical

#

in my view mintia leans more towards the latter but peoples tastes can change

twilit smelt
#

mintia is the former within the hobby osdev space

#

its like explicitly meant to do nearly everything a little bit better than any hobby kernel that came before it

patent totem
#

uve said this urself but mintia would seem to me more of a practical implementation of prior ideas

hybrid condor
patent totem
#

theres a slow pipeline to the incorporation of these things but to act like theyre not useful is missing the point

#

a VERY slow pipeline

twilit smelt
#

unless ur avie tevanian and then you have my dream career (write a kernel as an academic research project and its so epic sauce that the industry immediately starts fighting over who gets to hire you and use your kernel in a major consumer product)

mortal thunder
twilit smelt
#

that (mid to late 80s) was probably the only moment it could have happened

patent totem
#

that could probably happen in AI now

#

but not in operating systems

white valley
#

i just fucked up

#

forgot to backup my build system when reinstalling arch

#

now all that hard work is gone

#

i spent an entire evening to write that

#

cant believe i have to write it again

twilit smelt
#

prob a lot faster the second time

white valley
#

the same drive has

#

sysbackup

#

NEWESTBAK

#

a lot of bak1 bak2 etc.

twilit smelt
#

why dont you use like

#

git

#

or something

white valley
#

dont want AI to train on my code

twilit smelt
#

you can host your own

white valley
#

hmm true

hybrid condor
white valley
twilit smelt
#

i just put "no AI training" in my license so that im more likely to get class action lawsuit bucks later

#

im sure github has a clause saying you agree to let them do AI training with your junk but it might be the case one day that thats an illegal or unenforceable thing to require in a ToS

#

AI is such a unique set of intellectual property problems that itll probably lead to new legislation thatll change the rules around things like that

twilit smelt
twilit smelt
#

would it be fine to have O(n) lookup for device class names in the io catalog

#

@warm pine what you think

#

is that something that needs to scale a lot or is it fine to be simple and just do the dumb linked list traversal thing

warm pine
#

on the other hand i would naturally be inclined to put those in a hash table and that adds little difficulty

twilit smelt
#

ill just do an AVL tree

#

its funny to do that

#

mostly bc i have an avl tree its easy to spam everywhere but i dont have a hash table like that

#

and im too lazy to write one

warm pine
#

in keyronex it's an hash table or if there are a lot of lookups of that class name it's an element in a sparse array keyed by the pointer value of the interned string representing the class name

#

but that extravagant approach is because the objc runtime provides it

twilit smelt
#

lol its funny to do a really shitty OOP runtime specifically for my io system

warm pine
#

i do find it funny to see you implement parts of the objc runtime

#

but it's no surpise given iokit's conceptual heritage to nextstep's driverkit

#

and yours to iokit

warm pine
twilit smelt
#

im not interning the class names i feel like that would be overkill because these strings are going to all be pretty much unique

#

and that would end up just taking more memory

warm pine
#

i think with drivers it's one of the areas where every aspect of OOP is useful

#

you made a sound observation when you mentioned how you saw in iokit inheritance having some of the duties that layering has in the nt drivers

#

the miniport/port driver pattern in windows is exactly analogous to iokit's functionality-superclasses (to use the term than godfrey van der linden used)

mortal thunder
marble socket
#

will left???? again

#

in the middle of his thread 😭

mortal thunder
#

lmao what

marble socket
#

yea check hes not in the server anymore 😭

#

again

mortal thunder
#

wow

marble socket
#

bro said shit about mintia and dipped

mortal thunder
#

right when the clock struck midnight (in my time zone)

marble socket
#

liteararly

mortal thunder
#

does it link against the miniport driver's exports?

#

if i wanted to do something similar I'd have to allow linking among drivers

mortal thunder
marble socket
#

wouldnt see a reason for him to be banmned

tardy harbor
twilit smelt
#

i left to focus on working on this until i could return and show a functioning driver under the new driver model

#

but then like midterms and homework and finals derailed me anyway so i got almost nothing done

#

also i didnt realize how much was in the archived channels until just now

#

in any case i have like one more piece of boilerplate to finish before i can work on a driver and use that to flesh the io system out a little more

#

i have this grand unified theory of loadable kernel modules, IO classes, and device objects

#

in order to write the first driver i need to set up the "virtual" loaded kernel module structure for the kernel binary itself so that it can implement some IO classes

twilit smelt
#

which is literally a class in the OOP sense, with (single) inheritance and method overrides and stuff

#

its unloaded when its refcount drops to 0 which means there are no instantiations of any of its IO classes anymore

#

an IO class instantiation is a device object

#

device objects are linked into the IO registry in one or more planes, where each "plane" is an independent DAG

#

a lot of this is stolen conceptually from xnu's IOKit

#

but like how i treated NT im not really looking at how it implemented those concepts very much

twilit smelt
# twilit smelt a kernel module is loaded when one of its "IO classes" is needed

theres an "IO registry" in-memory structure which associates class names with module names so that a module can be loaded (or the structure representing an already-loaded module can be found) based on the name of a class; it also contains information about how to "match" drivers onto IO registry nodes for implicit module loading and stuff

#

itll be populated by textual config files that come with each module

#

i have tons more ideas about how this is all gonna work with plug n play and power management and stuff and im still fairly confident itll pan out although its weird and unlike much that ive done before

#

they r all in my head so if i get hit by a bus and forget its over for mintia

#

but if i DONT forget i will successfully ape all the cool iokit concepts and make mintia2 an IO system trendsetter hopefully

#

we all need more plug n play in our lives

#

i miss when all i knew was vfs and i was confused how just IO request dispatch could be its own large complex subsystem when i was first reading about NT

#

simpler time

twilit smelt
#

so its a resolution of a chicken and egg thing

marble socket
#

welcome back will

twilit smelt
#

HELLO.

marble socket
#

hi

mortal thunder
#

wb

twilit smelt
#

i rediscovered these mixtapes i was obsessed with when i was like in middle school

#

and i still think theyre good

#

sick!

#

we're like 8 years from this being considered old school and thatll make me feel really old

#

im 22 and i spend half my mental energy imagining how much itll suck to be 23

#

and so on

#

i dont like being <10 years from being 30 years old thats a terrifying proximity

#

especially because 8 years ago doesnt feel like thaaat long ago and itll be even faster this time

#

:(

#

actually when i remember 8 years ago it feels so recent i thought i must not have changed much since i was like 14-16

#

but recently i found a discord screenshot stash from like 7 yrs ago in an old hard drive

#

and i was like ahhhh yeah no i did change a lot

mortal thunder
twilit smelt
#

im 22

mortal thunder
#

yeah you are. you'll never be 20 again so the distance is technically infinite

#

meanwhile the distance to 30 is less than 8 years

twilit smelt
#

dont remind me that ill never be 20 again

mortal thunder
#

ok

twilit smelt
#

i wasted the entire timespan from like 18-21 doing almost nothing of note

#

other than like

#

shitty hookups

#

and dumping a guy for being too nice to me

#

and sticking my head in the sand writing a hobby os kernel instead of doing anything useful for myself

twilit smelt
#

but i feel like not liking someone for "being too nice" is inherently bad and invalid and rooted in having bigger problems

#

so its less like a "so make sure you treat your partners like SHIT so they stay!" thing and more like a "if someone dumps you for that reason you dodged a bullet, keep being you & keep being nice" thing

#

i think theres a lot of manosphere advice of the former type

#

unfortunately

#

@mortal thunder stay away from the manosphere

mortal thunder
#

sounds like a threat

#

but in actuality i understand

#

it's good advice

twilit smelt
mortal thunder
twilit smelt
#

ive always been too mean

#

i tend to be cold distant and self-isolating and occasionally overtly aggressive so people tend to respect my work but not like me as a person

mortal thunder
#

I'm not speaking from my own experiences, I'm just trying to judge why other people I've seen would stoop so low

twilit smelt
#

im also good at introspection and bad at change

mortal thunder
#

I specifically picked to move to another city to do my uni studies because I would be forced to interact with people (since I have to live in a dorm given by the university)

twilit smelt
#

its like cool discussion partners for one of my fav topics but im not super interested in being friends with many of the people in ehre

#

to my own detriment ofc, friendlier people win at life more probably

#

but thats shrimply how it is

#

the type of crowd i get along best with is not much like this one

#

i noticed that like 3 yrs ago and ive fully come to terms with it i think

twilit smelt
#

Now this, is mintia.

#

actually a picture i took as i was being escorted out of an open air mall at like 2am by the night guard i didn't know they recently hired.

#

in my defense there were no signs saying to stay out and the whole thing is open to the world

#

i roam where i wish

#

i am a free man

warm pine
twilit smelt
twilit smelt
#

I'm washed up I barely write any code lately

#

It finally happened

#

I lost the juice

#

@glass sparrow give me back the juice

#

GIVE IT TO ME!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

glass sparrow
#

never, its mine now

warm pine
twilit smelt
#

mintia lives

marble socket
#

lesgo

twilit smelt
#

I may write a blog post about the planned IO system design which is what i need to do next

twilit smelt
marble socket
twilit smelt
#

Idk i just say things

marble socket
#

what did he say to make u think that?

#

:c

#

(if its a joke or not just know i want u alive :3)

twilit smelt
#

Nothing i just felt like saying that

#

I have free will

marble socket
#

haha okay i get that

twilit smelt
#

(Not true i made that up)

marble socket
#

lol

mortal thunder
twilit smelt
#

@fossil crypt u can talk about that in here so we dont clog osdev-misc

fossil crypt
#

oh hi

#

thanks

#

this is cool

#

and very small seemingly, took 2 seconds to compile

#

using a 2nd gen i5

twilit smelt
#

its 120k lines

#

its just that the compiler assembler and linker are very simple so they run quickly

fossil crypt
#

idk if that's a lot or not :p

twilit smelt
#

its a lot for a hobby os

fossil crypt
#

my biggest thingy was like 70 lines trolland half comments

twilit smelt
#

for reference its about the same amount of code as templeos

fossil crypt
#

ah

twilit smelt
#

well its more code than templeos bc the normal line counts for templeos include its compiler

#

which isnt included here

fossil crypt
#

neato :3

twilit smelt
#

that aint mintia thats fox32os

fossil crypt
#

wait

#

huh

#

OH

twilit smelt
#

@warm root the confusion of the century just occurred

fossil crypt
#

im stupid

twilit smelt
#

how did you get from a link to mintia to fox32 and fox32os

#

and build fox32os and run it on fox32

fossil crypt
#

idk 😭

twilit smelt
#

and think u were building mintia and running it on xrstation

dense vigil
#

very easy to confuse them

#

lmao

twilit smelt
#

yeah but he started with a link to mintia

#

so its comical somewhat

fossil crypt
#

OH

#

I CLICKED THE CPU ICON

twilit smelt
#

it runs on xrstation and fox32

#

xrstation is mine

#

fox32 is ryfox's

fossil crypt
twilit smelt
#

but u built and ran fox32os not mintia

fossil crypt
#

yea

#

oopsie

twilit smelt
#

which doesnt do much yet

#

i suppose this stuff has grown to be confusing

fossil crypt
fossil crypt
#

bloody hell

twilit smelt
#

which github doesnt recognize

#

which was a custom language made specifically for this

fossil crypt
#

ohhhh cool!

twilit smelt
#

it was like unreadable

#

so i did a second custom language called jackal which is much more readable

#

and thats what mintia2 is written in

fossil crypt
#

wow, cool!!!!

#

You should write xrarch in verilog and FPGA it

twilit smelt
#

see here

#

its been done (partially)

fossil crypt
#

ohh based

twilit smelt
#

theres an architecture handbook here

fossil crypt
#

dude you're like

#

cool as fuck

#

I wanna be you when I grow up bro 😭

dense vigil
fossil crypt
#

this reminds me of old commodore manuals actually kinda

twilit smelt
twilit smelt
#

its a handbook not a spec

#

i dont have enough manpower to do a 400 page realistic spec

#

well technically i have enough manpower

#

but i dont have enough interest

#

id rather kms

fossil crypt
twilit smelt
#

thats how old i was when i started this project

#

im 22 now lol

warm pine
raven drift
#

Also, riscv manuals are alright

#

They're not great but everything is a trade off

#

they are quite concise which is a good thing

#

risc-v is probably the cleanest mainstream arch

twilit smelt
#

@shadow wadi that was this project you were thinking of, the channel is right here

twilit smelt
#

If I don't accomplish Some progres on the IO system today I will do something.

#

I will do... soemthing.

#

Something.

fossil crypt
#

I've got demintia

#

sorry, ill see myself out now

twilit smelt
#

Something will be done.

signal zinc
#

he's going to delete mintia..

mortal thunder
#

oh no

marble socket
#

he might murder someone

green pelican
#

Nothing ever happens

twilit smelt
#

@blissful smelt fancy scheduler for ur viewing

blissful smelt
#

oh deary me a custom language

twilit smelt
#

Trust me it could be worse

balmy zealot
#

In order to uphold the first objective without compromising the second, it seems processes are not ideally relocated across different CPUs. Might I ask: does your fancy scheduler involve a sophisticated mechanism to determine when relocating a process to another CPU is permissible?

#

Or alternatively, does the system prioritise assigning new tasks to idle CPUs?

twilit smelt
#

It stays on the same cpu unless one of the following happens:

  1. a cpu becomes idle and has to steal work in order to keep busy, it'll steal the highest priority thread on the most loaded cpu
  2. a high priority thread becomes ready that cannot preempt the thread running on its last cpu but can preempt another cpu; it will do so in order to prioritize responsiveness
balmy zealot
# twilit smelt It stays on the same cpu unless one of the following happens: 1. a cpu becomes i...

Regarding 1.
If a process is executing and suddenly enters a waiting state, freeing the CPU, the scheduler assigns another process to that CPU - this I believe I follow 🙂 However, the scheduler cannot anticipate when the original process might become ready again. Yet, it is preferable for the process to resume execution on the CPU where it previously ran. If that CPU is now occupied by another process, is there merit in the scheduler determining whether it is more advantageous to allow the returning process to reclaim its original CPU, or permit the new process to retain the CPU, while redirecting the returning process to an alternative CPU?

#

P.S. I’m simply inquiring out of curiosity, if I may. . No urgency whatsoever.

mortal thunder
#

though when scaled down it tends to be not so readable

#

so maybe make the background black? or the text black?

twilit smelt
twilit smelt
heady bobcat
#

I'm pretty sure I've asked you this before, but can you remind me, how is load measured?

mortal thunder
twilit smelt
twilit smelt
heady bobcat
#

ah, ok

mortal thunder
#

Oh a different kind of load

heady bobcat
#

so that is with no regard to task interactiveness/IO-boundness or priority, then?

twilit smelt
#

No it just tries to evenly distribute threads

heady bobcat
#

right

#

well I guess it is non-trivial to figure out a "good" or "fair" way to measure CPU load in a way that respects interactiveness and priorities

twilit smelt
#

There is a notion of interactivity though

#

If you spend like >=80% of your time blocked over a 5 second moving average, you're considered interactive and will always preempt any non interactive thread

heady bobcat
#

so interactiveness is "just a higher priority" then?

twilit smelt
#

No

#

Non interactive threads are called "timeshared" and their priority determines the proportion of cpu time they'll receive

#

but they'll still be preempted by a lower priority thread eventually

#

this is in contrast to interactive threads who are scheduled in a round robin fashion within priority levels where a lower priority never runs until all higher priorities are empty

heady bobcat
twilit smelt
#

There is also a "real time priority band" which forces a thread into the interactive state and keeps it there regardless of how much time it spends blocked

#

useful for important system threads like pageout or audio playback

twilit smelt
twilit smelt
#

im clearly blocked on advancing the io system due to a lack of excitement

#

i think if i do a series of blog posts summing up what i know about the xnu and nt io systems first

#

and then do a blog post about how i plan to synthesize these things

#

into 1 cool io system

#

that might help me cultivate some interest in my own brain

twilit smelt
#

@agile flower ive never done a bog but you have done a bolg

#

lmk how to do a blog good

#

when u have time

twilit smelt
#

or anyone else who knows how to do a good blog

#

im tempted to just do it as unformatted .html files on github pages

heady bobcat
#

from my experience in reading blogs, I find it nice when there is at least some formatting e.g. markdown.

#

there's also jekyll which I believe is GitHub's preferred solution for hosting a webpage, although p sure that is just markdown that gets built to html

green pelican
warm mural
#

Just use a template you like then write stuff in markdown

mortal thunder
#

html sucks to write because i have to spam shift a lot to create the tags

#

meanwhile markdown
# header
what's up. my name is **iprogramincpp**. i'm working on
- blah blah
- blah blah blah
- etc

agile flower
# twilit smelt <@151016183401938944> ive never done a bog but you have done a bolg

Source code of the glob is available here: https://github.com/llenotre/blog
An article is a markdown file that is turned into HTML at startup. There's also a toml file with metadata such as the title, description and post date
And I have something to collect analytics about the people visiting the website that is stored in a postgres database

GitHub

The source code of my blog. Contribute to llenotre/blog development by creating an account on GitHub.

mortal thunder
twilit smelt
#

why were old technical book covers built different

twilit smelt
#

guh are you for real

#

gorgus!

twilit smelt
twilit smelt
warm pine
twilit smelt
#

youd expect the advent of ubiquitous computer graphics to make creativity proliferate even more

#

but for some reason we opted for like minimalist junk

mortal thunder
agile flower
#

I like minimalistic design

shut belfry
#

@twilit smelt this was in /r/osdev

twilit smelt
signal zinc
#

well what does it mean 🥺

mortal thunder
shut belfry
signal zinc
#

i’m reading the spec, currently up to the D extension, and i haven’t found anything so objectionable

#

a couple design choices i maybe don’t fully agree with

icy bridge
#

risc-v the architecture isn't that bad

#

it's the ecosystem that's horrible to deal with

signal zinc
#

i see

#

how much of that is inevitable from being a new architecture, e.g. lack of market share, immature tooling, yada yada

#

and how much of that is avoidable nonsense