#💽Programming Chat v2
1 messages · Page 8 of 1
oh nice
Drivers are a bit hard to come by though, and you may need to code in Fortran for effective use of the cards
(If you’re able to compile for them)
I would make a opencl driver lol
ive been meaning to learn how to work on the kernel anyways
The cards are basically their own self hosted computer so
just pray and pray that theres documentation for it
yeaa
wait waht teh fuck
I think they still make them
60 cores isnt enough though
oh goddamn
No
All cards on the market are refurbished, pulled from old datacenters
The later models (2016 onwards) actually came as their own CPUs instead of being on a card
but good luck finding one of those (and trying to install it)
oof
I saw a cheap coprocessor that had apparently been pulled out of a server immersed in oil
oof
there is a standardized 2D acceleration
its a bios interrupt
Step 2) wait for it to rain
Step 3)
For some reason multiplying 2 numbers together triple faults
lmao
oh it only triple faults if its a float
wtf
my god man why are there multiple "fpu's" no fucking wonder arm is beating out x86 intel forgot they had to actually make a good proccessor spec
cursed
What’s the first fault?
and how exactly how you multiplying them?
(also, is what you’re doing legal?)
no its
float fov = 90 * (3.14159265/180); // 90 degrees in radians
lmao
its long mode so
damn
it just kind of triple faults, qemu doesnt give me any exception
I gave up on writing it in bios because I didnt ahve the time to look through shitty documentation
I needed math functions so I tried to add a embedded library, but whats really fucking funny is that the embedded libary (newlib) was like 20 megabytes large so I had to fucking write my own inline asm functions
💀
its so funny lmao
gpt??
?
oh .gpr
bruh the vscode extension forced me to use .gpr but theres no fucking documentation on it at fuckign all
and every example I could find wasnt good enough for the extension
yeah
I wonder if i just multiply everything by a few thousand so I can have them as normal integers instead
and thus, fixed point decimals were born
part of me wants to add Truncate_type_number functions along with T/Integer operations but it feels a bit much
orrrr... 🧌
eww vsc
intellij literally has no ada plugin

🤨
besides what are you even gonna code in again..
holy shit
okay so i just looked at these in more detail
'
very cool
no way
Lawful evil
man i have the worst allocation of my time
120 missing assignments and instead i read up on control registers in the shower
quite cursed...
but i think it'll do the job
now to figure out how to not duplicate 12 KB of code
simply make traits
or maybe enums with indirect cases could help
no like
actually traits wouldn't help here
i cant make this generic for scalars (that is, unsigned/signed/floating point/decimal)
only the end types like (aforementioned) individually
it would be terrible if i just unchecked conv'd everything to a 128-bit number
but it's also terrible to copy the same thing 4 times just for different generics
THOUGH
although this isn't directly what you meant
because the points are derived from 1/2/3 dimensions, i should just have a base set of functions for 1D points that checks the class of the inputted points and does stuff based on that
... no that wouldn't work because of inheritance, actually
hm
also would pose a performance risk (in the future i gotta SSE this up)
no I meant this
enum ArithmeticOp {
case number(Int)
indirect case addition(ArithmeticOp, ArithmeticOp)
indirect case subtraction(ArithmeticOp, ArithmeticOp)
}
func evalArithmetic(_ arg: ArithmeticOp) -> Int {
switch arg {
case let .addition(op1, op2):
return evalArithmetic(op1) + evalArithmetic(op2)
case let .subtraction(op1, op2):
return evalArithmetic(op1) - evalArithmetic(op2)
case let .number(val):
return val
}
}
let num = ArithmeticOp
.addition(
ArithmeticOp.number(1),
ArithmeticOp.number(2)
)
print(num)
print(evalArithmetic(num))
(this is Swift)
yes that is what i was talking about
piggybacking off of 'Class instead of each thing having their enum is more simple though
(however; and even then if i use an enum it still wouldn't solve the issue without privatizing everything, and having the code in the end look... weird)
should note
TIL deriving types is a... whats the term
...its a method of entry into freezing types which means i cant do like
type A is tagged null record;
function that(worksOn : A) return Natural;
type B is new A with null record;
function thatAlso(worksOn : A) return Natural; -- bad code, A is frozen by this point, so primitive functions can't be declared for it
unnforuntatelyyyy that means if a function for B wants to work on a type C, thats just not possible
when C is declared (off of B), B is frozen, so a function working on it to produce C is bad
design pain
"that" also needs to be implemented by B due to inheritance logic aswell
(A would need to be privated w/ a base type to not do that)
its funny
im actually understanding this fully instead of partially like a few weeks ago
how learning works
in the shower????
bruh
what else am i supposed to do?
so liek ur on your phone
yeah
in the shower
yeah
that is just werid to me
i dont like my phone getting wet!
@pastel tinsel this mf is like noob
idk reading the contents of the registers is pretty nice to do in the shower..
WASH YOURSELF
we love IP65 ratings
I DO
i do use a lot of extra shampoo though so i should stop doing that
im using a 4 year old phone so thats irrelevant to me
you probably waste water too while doing that!!!
smhhhh
oh thanks i was wondering what the formula was
must not get the urge to write it out
you should implement it
what the actual fuck
@spare quartz theres also 3DNow! for 3D support on some now antiquated old cpu's
i read about it yeah
only amd, and only a specific proccessofr from 1998
SSE1-3 and MMX are my focuses for now though
(and thats after i get a good CPUID reader up and going)
bros getting farther than I have in 3 years
tbf this is my like
it would be really cool if x86 had floating point that would read from the normal stack and builtin 2d blit functions
oh damn
yeah Ive been working on the same thing for 3 years, I never restarted it from scratch but its so simplistic its pretty much just a starter template so
oh yeah i
built this just now
gui serializer (technically a transpiler, but its a bit crappy since some properties are duplicates w/ different types)
ohh
thats actually cool
I dont see myself using it but for plugins that would be fuckin crazy
thats exactly why i built it
cant ship guis with plugins for whatever reason so we need to hydrate it in the code
W
yep, born out of the rust trademark drama
no lol
not even one commit made to the actual engine
Dumbest drama ever lmao
havent they only existed for all of a day, are currently being brigaded on both their discord and their github, and are working on creating and vetting a trusted mod team so drama doesnt happen again
sounds about right
if there still is no activity after a month then sure but they had to shut down invite to their discord server from people joining just to try and ruin it
Quandoom is a DOOM port for quantum computers, using 70,000 qubits and 80 million gates. Runs at 10-20 FPS on classical hardware with a lightweight C++ QASM simulator.
👇source code in comments.
Doom on a quantum computer before GTA6
dude
i literally had this convo with my partner earlier today
some person complaining about blah blah capitalism and "its making our software slower!" while its just
people are using more abstract things like nodejs to not have to do as much work as they needed to for something performant
(of course, more abstractness, when it cant be cut down, just leads to more fluff and therefore slower programs..)
we need to go back to the goold ol' days where everything was in C or FORTRAN and ridiculously optimized because you only had 2 threads and 4kb of RAM
and 4MB of disk if you were lucky
i wouldn't say that much
Hardware restrictions forced software to be better
back then you also had to write code that's barely deterministic
Software engineers have undone over 10 years what hardware engineers have achieved over 100
honestly thats the part that freaks me out when it comes to making a browser
rendering? pretty simple
js? ...
why not ts
all my homies hate js
make it do allat automatically without having to build
well actualy
node added a flag or something i'm not entirely sure i just heard it somewhere
im not writing your transpiler for you...
the only one ive ever used was my moms
and that thing couldnt hold more than 9 tabs
my dad had a work thinkpad, went to some websites he shouldnt have on a work laptop and got fired
😭
some apples dont fall far from the tree
i mean whaaaaaatttt
i was like 6 at the time
honestly id love to get my hands on the laptops my dad was given
too bad its like for the military and stuff...
YOU ARE NOT A PENTESTER
maybe i could add them
SHUT UP FEMBOY
ILL PENTEST YOUR
ok if i finish that sentence with ANYTHING im getting banned
i might install debian or fedora
well okm its midnight
iiiii am going to bed
fn
gn
you
you
@spare quartz @timid quartz
I recently saw an IBM presentation on how AI will help eliminate COBOL once and for all. Basically, they are trying to sell a tool that uses their WatsonX cloud service to convert COBOL to Java with the help of the current buzzword named generative AI. Let me tell you, COBOL has outlasted most of the tech that was invented since 1965 and I think...
anger
Pulse-width modulation (PWM), also known as pulse-duration modulation (PDM) or pulse-length modulation (PLM), is any method of representing a signal as a rectangular wave with a varying duty cycle (and for some methods also a varying period).
PWM is useful for controlling the average power or amplitude delivered by an electrical signal. The aver...
i NEED t ocode this now
the bad news is i have no idea how to relay mono audio right
(ive never done audio)
god okay
intellijs just not gonna run
guess im writing this in ada

at least it's not discord who uses python for their backend
@spare quartz emacs has ada support via lsp plugin.....
Language Server Protocol Support for Emacs
adacores language server really is everywhere
oh wait sinec you're here
do you know how i could effectively send frequencies through data
im trying to play custom audio in roblox even though itll probably sound awful
:<
find some funny way to encode it
you're literally this fella
am i cooked??
yes probably
:<
Hey aera is the luau documentation the best way to learn luau
luau documentation?
It's in the Roblox creator hub
The public documentation
It's got tutorials and explanations on basically every part of luau
kinda depends
some ppl may learn better from like yt tutorials
I have not looked at the tutorials in the luau docs myself but
Ah
I'm a big advocate of just trying stuff out
Alright
I'll have a read and do the tutorials
If I have questions I'll just put them here
we love ai
lol
heck yea
omg it could work
holy crap though
the sample rate i need to target is about 44,000..
In signal processing, the Nyquist rate, named after Harry Nyquist, is a value equal to twice the highest frequency (bandwidth) of a given function or signal. It has units of samples per unit time, conventionally expressed as samples per second, or hertz (Hz). When the signal is sampled at a higher sample rate (see § Critical frequency), the res...
okay
i think ive got audio figured out
now to read an MP4 in roblox
@spare quartz perl....
use 5.35.0;
my $list = {
atp => {
language => "Ada",
status => "in qsp",
},
cae => {
language => "Rust",
status => "not in qsp",
},
taffo => {
language => "Python",
status => "in qsp",
},
};
foreach my ($person, $person_info) (%$list) {
print "$person ($person_info->{'language'}): $person_info->{'status'}\n"
}
"in qsp" and "not in qsp"
what is this suppsoed t mean ,,
also im building llvm rn so someone can try and run ada in roblox
it means u and taffo are in qsp but cae isn't
OH
i didnt even see the keys
i wish cae came back ...
even tho he prob still ahtes me..
honestly
i wish makefiles looked more like this
instead of that
makefile isn't thaat bad
thing is
i would just use GPRs
since they're so great at this
but it just didnt recorgnize my assembly for no reason
and used the wrong linker
const std = @import("std");
pub fn build(b: *std.Build) void {
const target = b.standardTargetOptions(.{});
const optimize = b.standardOptimizeOption(.{});
const exe = b.addExecutable(.{
.name = "zig-spammy",
.root_source_file = b.path("src/main.zig"),
.target = target,
.optimize = optimize,
});
const tls_zig = b.dependency("tls_zig", .{
.target = target,
.optimize = optimize,
});
exe.root_module.addImport("tls_zig", tls_zig.module("tls"));
b.installArtifact(exe);
const run_cmd = b.addRunArtifact(exe);
run_cmd.step.dependOn(b.getInstallStep());
if (b.args) |args| {
run_cmd.addArgs(args);
}
const run_step = b.step("run", "Run the app");
run_step.dependOn(&run_cmd.step);
}
blehh dont prefer that
the extra control would probably solve running the wrong commands though
gprbuild is honestly a great program its just
not really well documentde
also holy crappp this is slow
zig is just still in its infancy
who knew llvm was so big ...
yeah the square isn't bouncing for some reason
OH WAIT
it moves
that's rgiht
blehh
i wonder if the behavior disparity between releases is just a matter of internal things they did away with
(which is bad!!)
still
even C++ does that sometimes
and its infuriating
umm
can i upload a video to your dm to use as a test sample
progress!
WHAT
thats go???
yep
go is pretty cool for high concurrency applications
adacore's ParaSail save us
i've always just seen it as just another jvm language honestly
turns out all i needed to do was this
some of those might be unnecessary but
better safe than sorry
thing
what about just like uhmm
whats the word
aliased?
alias(row);
...
probably not the right usage of the word but
the function name is an alias
no
like
uggh
In computing, aliasing describes a situation in which a data location in memory can be accessed through different symbolic names in the program. Thus, modifying the data through one name implicitly modifies the values associated with all aliased names, which may not be expected by the programmer. As a result, aliasing makes it particularly diffi...
thing is an alias for doNotOptimizeAway
aliasing but like
unless you're talking about the variables
how do i explain this
just read this
itll probably get what im talking about over
the function name should be "alias" (literal) over "thing" for clarity
i know its an ALIAS of a name but like . esidmjivxmkc
okay
doNotOptimizeAway means when compiling, itll remove those variables cause they're not exactly referenced clearly in the program, right?
well - the inverse of that but ---
"Force an evaluation of the expression; this tries to prevent the compiler from optimizing the computation away even if the result eventually gets discarded."
by optimizing away thats what it does, right?
okay so then the aliases name should be "alias" or "volatile"
because the result is still used even if not clearly shown in the program (its aliased somewhere else)
im terrible at explaining this
so just name it something more clearer than "thing"
yyyyyyyes
cope
thing is short to type
so is alias???
const alias = @import("std").mem.doNotOptimizeAway;
is about as unclear as using thing
a better name would be like dnoa
no??
the name alias is clear to the reader that this variable will be accesed somewhere else possibly without using the variables name itself
............ in ada parlance ........... POINT STILL STANDS
you don't understand
and this is just overshortening
this is clear from the import
and the const assignment
you're literally setting a top level variable equal to the value of that function
you can say that about literally anything
but that's kinda the logical extension
let me just. try and reexplain this
if you say imported functions should be named alias
i said that specific function should be renamed to alias in your code because the term expressed (alias) is exactly what the function is supposed to do-
oh my god ambiguity
oh wait I see
you're saying the function itself aliases the variable
so when I import it
it should just be called alias
"Force an evaluation of the expression; this tries to prevent the compiler from optimizing the computation away even if the result eventually gets discarded."
the way im seeing it.
the compiler is optimizing it away because although the variable set is doing something in your code, it's not DIRECTLY used (at least in such a clear way the compiler can see it is)
right
no it's very clearly used
the issue is that the compiler thinks it can keep it in a register when I need it to remain on the stack
YES
So if you want to take an access from any variable you need to tell the compiler that the variable needs to be in memory and may not reside inside a register. This is what the keyword aliased is for. Additionally it also serves as a hint to the reader of the program about the existence of pointers referencing the variable.
aliasing definition in ada!!
im sorry 😭
whats VID there
ohhh
and the control register
neat
well actually
mb
VID is just the import of "vid.zig"
within "vid.zig" there is a function called waitForVBlank
wait um just for clarity
import in zig isnt like C #include right
it does the same function
nono but like
There aren't headers in Zig so I hope it doesn't
zig import guards 😓
im sure it does something like ada though
just compiles both into their own objects and links them together in the final product
oh thats interesting
you actually have to wait until the line is at a certain position
yeah that's how GBA vblank works
thats how screens work in general
i just didn't know you had to do it manually like that
there is an interrupt for vblank too but
haven't set that up
I dislike the structs though
because I have to wrap the packed struct (basically a bitfield) inside of an extern struct for it to behave right
bleh??
because extern struct forces C ABI which gives the proper placement in memory
and proper interactions
it's odd
type WhyCantItBeSimple is null record
with Pack, Convention => C, External_Name => "sad_face";
yeah structs can't be packed and extern
and if they're just packed there's some weird jazz that happens with alignment and field accesses
you can set it for each field
but the extern struct wrapping the packed struct is the easiest way that just works
at least from what I've tried
oh,,
maybe...I could bitcast a plain packed struct
idk
I'm not open to tinkering with it because I tried a bunch of other stuff when creating the DMA interface and the extern wrapper was the only thing that worked
putting the L in LLVM
what was i doing again
uhh
misalignment already...
im a terrible programmer
oh
its cause i was reading the wrong buffer
goddd
im trying to find the atom that tells me the type of media
but i cant find it
oh my god 😭
i finally got it though
ok
what are you doing here
what are you doing hrere
rendering a video in roblox..
show...
306 Rec. ITU-T H.264 (03/2010)
B.2
kMPEG4AudioFormat
'mp4a'
MPEG-4, Advanced Audio Coding (AAC)
crap
tends to be how it goes
o cool
if my math isnt wrong
theres 529,675 B of audio data in this video
off by one error
uggh
I love the BitTorrent protocol
totally not expanding my movie collection
trust me I'm just downloading a linux iso
why cant you just say "move after the 0x00000001" firifgv m
very nice
ok so there's something cool about the bittorrent protocol called choking
happens even when uploading at 1:1 speed
I know what it means
it's most likely something to do with my disk + config
since it happens across all torrents
meaning that choking isn't affecting it since well - choking wouldn't happen at the exact same time on every torrent
mm yeah ok that is weird then
if I had to fully guess it's up to my write cache
it's writing to an SSD but it's probably some fuckery with proxmox, lxc, qbittorrent-nox, I honestly don't know
too many factors to figure out and to be bothered by
22.4 GB file in 10 mins
lmao
its actually crazy how fast torrenting can be
like literally the only limitation is your internet speed, theres notthing server side slowing you down because there is no serverside
*(unless available "servers" are potatoes)
I remember on fiber it would even go faster than fibers reported speed
or atleast im reading that somewhere
torrenting is the best
your mileage varies
i usually just torrent niche stuff so usually i dont get great speeds
when i torrented hatsune miku shes like 5 gigabytes (plus I downloaded her software and all her friends) to 20 gigabytes it took only like 2 minutes
hey im not gonna say WHAT it is im just gonna say nobody heres heard of it
what isi t
nuh
yes
i cant!!
yes you can
id be banned :<
then dm ir
then make a torrent of a text file describing it then magnet link here
no its not

time consuming I meant
its a bit tedious at first but like
its super simple
just create one and add it to your keys
do you have a pgp :3
hold on I should maybe make one not linked to my semi-personal gmail
yeah I should probably make a anonymous email rq
what're you talking about
Woah miko R elbrecht nice name
i hate my middle name but thank you
----- begin pgp public key block"
oh
damn you just have your whole entire full name and personal gmail on that
probably just for readability
not my personal email, i have two of those
if it was absolutely needed wouldnt PGPKEY at the start and end be nice
but my name is public and on all of my javadoc so
¯_(ツ)_/¯
bare minimum could just be magic bytes
but thats just how they designed it
tbh the gmail associated with my gpg key is like "personal" but not rlly
too many magic
the uefi magic byte is 8 bytes so PGPKEY isnt that bad
0x05EY is good magic
thats 2 bytes
yes
meh screw it
well 2 bytes is only 6500
@spare quartz
need more than 2 bits omg
i think thats just a universal number highlight
0E1 is scientific notation
0 is just. number
0E1
0
@spare quartz for you
wonder why its not on plain though
it used to be 2 bytes but now its 8 bytes or less
cuz its plain
Ive been got too
hold on let me make this in linux
yeah looks correct
Where's the fancy profile picture one
LOL
this is literally what you sent in my dms
couldnt get a different email so I just made it expire
I see you
:3
you were born in 2016????
oh yeah i know
no
sounds good though!
wouldn't be the youngest..
lol
i want to buy my own domain but I dont have a card that any domain site will accept
when I have a domain will make a new permanent key
lol nice
mice tea
uh like really not that much
just the visuals combined with like the 4 words I know
but it's like their journey into becoming a furry or smth
LOL
lmao
I also noticed some questioning of gender in there too
but that's fairly obvious even if you don't know japanese
but they really like being fluffy
considering that's like the opening part
i could tell that from the english part later in the video
(though they really suck at english)
(no offense)
I did not finish watching the video at all
clearly you're not worthy
p.s.
h264 is like alien to me
they have these things called "nals" which are supposed to help decode frames/interpolation but
it's all wrapped in mega specification speak
literally
@spare quartz
tiktok 😓
@wheat zinc get in here there's gpg key exchange happening
i need to cleanup my desktop one day
like i dont know why i have an old picture of the director of national intelligence
send it to me
idk why you haven't decrypted the video yet
i amm
bruh kgpg keeps crashing on me
i just need to find it
why does
he look like a british prime minister
and why is he being held at gunpoint
LOL
and why is he saying that
BRO
omg i found everyone in this chat
no way
impl Person {
pub fn remove_free_will(&mut self) {
self.goals.clear();
std::mem::drop(self.brain);
}
}
DONT DROP THE ENTIRE BRAIN 😭
thats minecraft code so iirc it'd be on a LivingEntity
brain (obviously) being the ai
void remove_free_will(struct _brain **brain;) {
free(brain[0]->goals);
(*brain) = 0;
}
its still there but you cant find it anymore
your goals however, are gone forever. Forever forbidden to find them, and the very space it was occupying in time waiting to be scooped up
so YOU'RE the one who fills the memory with trash
uhm its called "everyhing gets destroyed when you restart the program anyways"
okay but what if another program instead fills that stack
if its the stack its probably zero
i meant--
space
now they have to replace your dirty musty trash with actual data
shameful!!
overwritten, forever
@spare quartz what if we got into crypto
what
140% apy
what is apy..
I mean its a market it allway goes up until it crashes then it goes up again
(I have no clue what half of this means)
i dunno this kinda just looks like
it was made by someone who has no idea how to code and just asked an ai to do it all
and a pump and dump at that
I tried to understand crypto at one point but only ended up understanding "make gpu do work, get tiny amount of money in return"
honestly at this point
too tech-broy at this point for me
only crypto I'd ever invest in would be monero
because it seems to actually serve a clear purpose
oh
I would just use bitcoin for transactions if I had to
but even normal cash is harder to trace
cash can be traced by serial but like
no fed would ever put that amount of effort unless you're like
mega criminal
It can be tracked by serial
But it's only recorded as moving after it leaves a bank
After the first few transactions it's completely anonymous
Meanwhile the FBI has a few terabytes of where every single Bitcoin is
theres multiple things to consider when tracing cash but again
they have thousands of copies to work off at that
considering its all public
Yeah
this is why monero exists lol
20 cs lessons
speedrun time
AAAAAAAAAAAAAAAA
this question cant be real right
all of these do that
cause its like the level of stuff they do lol
if its dos or something you haved to handle some input yourself
I tihnk
also wtf is middleware
and hardware can have something in it for the input and output too
it was hardware layer
bro what
what the actual fuck
i dont know okay ...
average test
shit is ass
i didnt read the lesson
but i imagine its.. firmware?
that better be for some bogus cert
firmware also handles I/O aswell though so
no its a course in my school 😭
firmware would be more like a operating system though

bru
and firmware isnt even hardware either
ehhh
go get the teacher to remake the test
the thing is im pretty sure this is like
yeah email him about it
a standardized test cause i can literally just google the test
what kind of input and ouputs and processing are they talking about
whether the right answer is hardware or os its still a bad question
and im sure they didn't make it cause they literally have 30 years of programming under their belt 😭
💀
yeah thats how it allways is 😭
im writing up an email rn though
oh and another question like that came up aswell
it called the hardware layer "analog" and the os layer "digital"
like ??? NO???
what the acutal fuck 💀
💀 💀 💀
PSU and audio processing maybe but
if your proffessor made the test his 30 years of experience is in javascript and python
we aren't using light cpus 😭
audio proccessing isnt even analog anymore 💀
have js and python even existed for that long
wow i thought js was earlier
i mean technically it is? depends on the medium
I guess yeah
im going off the top fo my head
like in a file its def digital, but sent through an audio jack its analog
depending on jack
im at the age where I will make things up out of thin air and soudn very convincing so dont trust anything I say
\💀
WAIT
well yeah but even when the audio gets to the (chip controlling the) audio jack itw ould be digital
1991 WAS 33 YEARS AGO?
what if its a DAC though
where would it even fall on the question 😭
I dont even know what a dac is
I mean the answer is in its name
dnmgfjdgh
ill just continuing answering these tests
please tell me they get better
I need more questions from this shit test
omg!!! somewhat higher level term!!!
technically an operating system can RUN UNDER a supervisor though
so still. not really 100%
yeah
it sounds like whoever made the test researched extensively on it while having no experience or went and made it in one night
Ive seen it referred as MSW 😭
i hope this popup window doesnt like
track whenver its unfocused/focused
they must think im cheating
human interface device (but I/O is good enough)
yknow if i really wanted to be pedantic
macOS's kernel is open source..
its not
it is
it is??!?!?!
Darwin is the core Unix-like operating system of macOS, iOS, watchOS, tvOS, iPadOS, audioOS, visionOS, and bridgeOS. It previously existed as an independent open-source operating system, first released by Apple Inc. in 2000. It is composed of code derived from NeXTSTEP, FreeBSD, other BSD operating systems, Mach, and other free software projects...
bro what is software
i looked it up, its the old versin from the 90's
generic term for user-level software
the os itself is correct
they saw microsoft releasing ms dos and thought they needed to compete
yeah
wait i forget
is linux
- the name of the kernel
- the name of operating systems over the kernel
- both
trick question
i chose the more ambiguous answer so its on me
still trick question !!!
they meant to catch if you studied the article instead of your knowledge
BORING
fr
read the textbook!!!!


