#š½Programming Chat v2
1 messages Ā· Page 41 of 1
the os idea i did have one time and is written in a document somewhere details a more extreme microkernel
basically just permission rings but if we added more
give THIS specific process the ability to use io ports, but not that one
macrokernel on top youāre just mad youāre not fast and you still havenāt really solved any problems with fault tolerance
"fault tolerance" and his system crashes when a vendor makes one oopsie šš
crowdstrike looking ahh š
your userspace is still left degraded or unusable
nope
might as well have just crashed
not only is your statement HIGHLY dependent on whats crashed its not really true
if a peripheral driver dies thats fine
if a display driver dies thats fine
for you? both would crash
we can just restart it
how you gonna restart it if your peripheral dies lol
canāt type ārestartā with no keyboard!!
what if your process manager dies :3
why would it die
cause it could
how
by sending a message
You canāt schedule a process if thereās no process scheduler
you can
and if you're ever at a point where IPC dies, which is usually one of the only things IN a microkernel
then you're just what-a-bouting and obviously theres no recovery
Iām just hearing microkernel inferiority tbh
yeah ok
tell me when you got your stupid little monolithic kernel not dying from a sneeze
oh it doesnāt dw
š
Itās actually quite speedy
this mf would put his scrollbar code in his kernel to make things faster š
You also donāt get pretty visuals like this
this mf would use gnu hurd
enough said
every minute my kernel stays alive proves how good my code is
remember⦠everythingās an external dependency..
Your entire kernel is an external dependency
no
Whereas mine is all bundled together in a nice little package
(full of external dependencies)
nah
Meanwhile if your kernel has no external dependencies it wouldnāt do anything except IPC
but thereād also be no processes
(external dependencies)
no.
Covering an entire PC with epoxy resin to make it impossible to take apart #pc #pctips #pcbuilding #mryeester
need new thermal paste? check out YeesterPaste and all my thermal paste accessories! www.yeesterpaste.com
thats what they do with waterproof laptops
I was reading the intel docs
they are so fucking good
Die
good news
our bootloader's size limit went frrom 512 bytes
to
523.00800 kilobytes
What are you gonna do with all those bytes
nglā¦I see why eating tide pods became a trend brieflyā¦they feel kinda scrumptious
well yeah but this was during section loading š
having the loader set to 00s before it can load everything fully and jump is not optimal
o h
ultimately i also had to make QEMU load in 1 section at a time
or else i'd get a DMA error
L
but now are you able to not do that?
wdym
yeah
basically what this dose
iso_9660_directory_read:
mov di, 0x7E01
mov cx, 0xFFFF
repne scasw
sub di, 2
push dx
mov ax, [di-23]
mov dx, [di-21]
mov cx, 2048
div cx
cmp dx, 0
pop dx
jz .iso_9660_directory_configure_load
inc ax
.iso_9660_directory_configure_load:
mov cx, ax
mov DWORD [si+4], 0x00008600
push DWORD [si+4]
mov ebx, DWORD [edi-31]
mov DWORD [si+8], ebx
.iso_9660_directory_load_chunked:
call int13_extended_read_procedure
add WORD [si+6], 0x80
add DWORD [si+8], 1
loop .iso_9660_directory_load_chunked
pop DWORD [si+4]
ret
pvd_disk_address_packet:
db 0x10 ; Size
db 0x00 ; Reserved
dw 0x0001 ; Sector Count
dw 0x0000 ; Transfer Offset
dw 0x07E0 ; Transfer Segment
dq 0x0000000000000010 ; Disk Block Number
scans for the file name (e.g. "KERN"), uses an offset from the name to get position in file/size
divides size by 2048 to get block count, sets the DAP to use the block position
and then loop adding 0x80 to the segment position of the DAP until block count is zero
additionally at the end it sets the DAP transfer position to the starting value with the pop there
probably not the best code but i tried being frugal
what
im looking in audit logs
NO
interesting.
pls tell me you dont actually log images šš
:3
I can't find it on yt
lemme get the link
its a video where bayachao actually speaks in english (albeit not the greatest)
no, it's not like that
actually
it is definitely like that
carry on
you're lucky nobody is locked in on moderating this place
cause we all moderate ourselves :3
simply a fault of windows clipboard for sending it
uh huh
everyone except for you apparently
SIMPLY
a fault of windows clipboard
Did I hear moderate

idk tz wearing a fursuit all day isnt good for acoustics

oops! all code
I made a code joke in a non code channel and it went silent lol
whens the last time you shwoered
this morning
ā£ļø
whens the last time YOU showered
no comment
brah
I've always showered every day and people tell me its bad
but idk my hair is fine so I've ignored them thus far
i think the only bad thing there is if you're constantly rinsing it in long showers
but different people have different hair
ye
uuugggggghhhhhhhh
running xorriso and nasm is so tedious
gonna try and make a simple assembler thing soon..
im using parted and mtools
got fuckin annoyed by xorriso
I mean you can build an interpreter
So just uh
Instead of executing the code
Interpret it to binary
no read what I said again
an interpreter executes the code
but as a part of that it has to parse each line
so replace the "code execution" part of an interpreter with a part that translates the assembly into binary
just invert the plant
...which is a compiler
im not saying i dont know the concept/how to build one
now if you want to do optimizations and jazz
š„ŗ
i know multiple passes
anyone familiar with these numbers
i know a bit how optimizations are implemented within compilers
color a graph in polynomal time 
in asm multipass optimization is very simple
right but what kind of optimizations are you doing multiple passes for :3
but the subject being replaced has 30 years of updates im up against
match case for "-O"
right but what kinds of optimizations do those entail :3
what kinds of things are you doing in your multiple passes :3
it.. says it
literally read the thing
tough request in todays world
mm it's definitely doing more than it's specifying
HUH
gotta do your constant propogation, redundancy elimination, reaching definitions, dead code elimination
the NASM testfiles for opts can be found here
[:warning:OUTDATED] NASM, The Netwide Assembler (Mirror Git of http://repo.or.cz/w/nasm/github.git) - ncoden/NASM
data flow analysis
extrapolate and search the files as you see fit
.
and most of that is irrelevant in ASM
this is what is done in the multiple passes
you cannot do "dead code elimination" for example
constants aren't a thing either
they're just a S&R
constant propogation isn't necessarily a constant how you would think
im gonna wait for the smart people to finish talking so I can ask my dumb question š
although this kinda falls under redundancy elimination, you can do stuff like detecting that you compute a+b once and don't ever re-define a or b and then replace every re-calculation of a+b with either the evaluated constant or a reference if you cant evaluate it at comptime
can't do that in asm either
...yeah you can
im trying to understand how the butcher tableau of RK integration methods were calculated/came-about
idk how it works cause wikipedia just gives them to you as magic numbers and doesn't elaborate
and so does every other paper
if your assembly is being outputted by gcc then yeah gcc already does most of this
its not a big deal though. I don't need to know, I was just curious
but if your assembly is being written directly by humans then there's places to optimize
GCC is not an assembler
it's not an assembler though
this code sucks session terminated
"smart people talking" and you say this
no bruh I swear its simple
the RK4 one looks really simple
but the dormand-price one is like 20 random numbers
this
I think bro just willed this into existence one day
where are the values used
ew numbers
dormand price integration
its the coeffs for it
ok well seems like we're talking about different things
you had mentioned that you didn't have experience with implementing a compiler and then linked an assembler
the only thing i can think about when given "seemingly random" numbers like this is just as a way to fingerprint, but thats about all i can give
probably not whats going on here
because an assembler is a compiler, just with less steps and/or a different outcome
an assemblers job is to turn assembly language into machine code, a compilers job is to do the same, but at a more generic level: it could convert C to IR for example
yeah I think I'm just meant to take these coeffs at face value and not try to think about why they are what they are
thats fine
I was just wondering if anyone had any insight
IR doesn't have the same "significances" as ASM like flag or data placement, the compiler can put whatever
I am well aware
therefore, optimizations exist, but they're different or not relevant to assembly
the general flow of a high level compiler is to take your high level language, make it IR and optimize the IR, and then take the IR and output machine assembly for it
im taking a class on this fgs
i get that š im just trying to make this clear
I mean ig not
the fact that you can't optimize assembly in a similar way to IR doesn't entirely make sense
because I can write two different .s files that do the same thing but one is more "optimal"
that's too generic though
without caring about CPU state or flags too much
you can make a superior version of something, thats the end result, but we're talking about the destination to the result
the assembler just can't make the type of assumptions a regular higher-level compiler could is the fact of the matter
(it's always about assumptions...)
im assuming that i can send a missile to your house
too bad
no I don't
but even if you did have one it'd probably be too complex for a test sample :<
it'd probably be too fat
i should really write unit tests for our processor
viewing disassembler output and stepping in qemu at the same time makes my brain itch
the thing is even something as inoccuous as QEMU is really bad to debug
since it's literally it's own micro-kernel
it does so many instructions that it just causes my output to die
NOT QEMU
god ... GRUB
always get the two mixed
well at least with rust
you could be delivered from gdb
and go to a similar hell called lldb
wait...
you're not using kotlin/native are you
for your kernel
.. why would i??
and do you know how many hoops i'd have to go thru
ufedmi_k is written in ada
idk cause you like Kotlin and you like doing crazy things that are unconventional and challenging
um
a cpu in minecraft is very conventional
and two
not challenging. just tedious.
everything in programming is easy its just tedious
i dont know what polynomial time means or what a polynomial is
also what does color mean in this context
or graph
This guy doesnāt know graph theory or big O
YEAH CAUSE I DONT DO MATH
A graph is a collection of nodes linked together by edges
what is an edge
is an edge another name for reference
I mean you could think of it that way but this has little to do with code right now
aera i literally can only code š
An edge just indicates some āconnectionā between the nodes
Like it could be a road between a city
Or a reference
Thereās different ways to think about it
well a reference is just another name for a datums relation to another datum
e.g. a pointer is a reference to memory address from a memory address
A valid graph ācoloringā assigns ācolorsā to nodes such that no two nodes connected by an edge have the same color
ohhh
So like for this, a valid coloring is
0: red
1: blue
2: green
3: red
4: blue
Now
Since everything in programming is easy
Write me an algorithm that takes a graph
Oh wait I didnāt explain polytime
so this would also be valid right
cool okay
ok so basically big O is a measure of the worst case runtime of a program relative to the programās inputs
i know what big o means
So O(1) or āconstant timeā means that your program will always have the same runtime no matter the size of the input
just not how to actually calculate or applicate it
Polynomial time is O(n) meaning the programs runtime scales linearly with the input size
are you guys talking about graphs
Yeah ATP said everything in programming is easy so Iām challenging ATP to write an algorithm that colors a graph in polynomial time
But had to give some background
so how would i know if my algorithm is polynomial time
wait so
why would you need a graph in polynomial time
isnt the point of a graph to be simple to read
its a challenge
but what does polynomial time actually implicate
3-coloring means āuse at most 3 colorsā
as far as i understand running a time benchmark on an algorithm and deriving big o is useless
theres too many variables
Iterating over an entire array with a for loop
Yeah
Because the more elements in the array
The more loops you do
And itās 1:1
oh wait so
big o isn't actually definitive of the actual algorithm
its just how it would perform if it were like
So for a 3-coloring of a graph, a polytime algorithm would only iterate over each node once
an abstract computation taken literally... i think
Or well it wouldnāt have any nested loops
(wait no, big o is for the ALGORITHM, not the IMPLEMENTATION, at least on the actual execution layer)
okay ill try..
lemme open roblox
Yeah big O is abstract
Well like for example you can look at someoneās code and determine the big O
ooooookayyy graph representation,,,
i couldnt
Itās a thing thatās possible
One class I took was literally so stringent about big O
like taking this immediately at face value
We had to implement stuff for data structures within certain big O constraints
I can already tell your code is O(n) (which it should be tbh) because youāre going through every element of your stream
well.. kinda..
an element could itself pull another element
wouldn't that make that iteration... not "1" in n
well that wouldnāt really increase the big O
What WOULD increase the big O is if one of your elements were to cause another iteration over the entire stream
So like
a recursive function over an array?
while ā¦
ācaseā => while ā¦
you probably donāt know sorting algorithms but ānaiveā sorting algorithms are O(n^2) because, for each element in the array, youāre comparing it to every other element to find the right spot
i only know one sorting algorithm
all the others i just know because they're of use for (problem)
and promptly forget
what algo Iām curious
(it is EXCEEDINGLY rare for me to need a sorting algorithm which is why..)
Iām personally an in-place quick sort fan
But I canāt implement it off the top of my head cause Iāve never needed to
ada (23, if you use a compiler compliant with the parallel RFC) makes a parallel divide/conquer sort pretty easy to implement, i forgot exactly which algorithm it is in the example though
anyways Iām going to sleep have fun 3-coloring graphs in O(n)
would make Graph a collection of Node
And Node contain a number, color, and array of other Nodes to represent your edges
Well you gotta have the basics at least
You gotta have nodes with room for color in them
And you gotta store your edges somewhere
A graph can be used to represent many things
local colored = { [color]: { node ref } }
therefore no data needs to be in the node
hm
Yeah tbh you donāt need to store data so
yknow what i think i can just have graph be an array of graphs
a memory address is good enough
also valid because you can consider a graph as a set of sub-graphs
well, it has to be contained somewhere
A graph is looser than a tree
A tree is a graph
Always
Itās like how a square is always a rectangle but a rectangle isnāt always a square
A tree is just a type of graph
okay so this setup is okay then
Iām asking you to make an algorithm to 3-color graphs in general
yes yes i just wanna make sure i understand everything
And a general graph may not have the same restrictions as a tree
anyways this suffices
I mean if you can understand how to represent edges there
Itās a lot easier for me to even think as just a Node object
And have the edges be an array of Node <-> Node pairs
well
the existence of a graph within another graph is enough to count as an edge between those two
between the contained and container edge
Because if you have say āA Bā and āC Dā with an edge between them
What exactly two nodes does the edge connect?
This is important
An edge always connects exactly two specific nodes
Right thatās a tree
thinking cap time
A
this could be represented in this model too
G4 just contains G1
(implementation wise this could cause errors...)
Ok well as long as you think you have things represented correctly
i just gotta think
If you hit a roadblock with your representation then I recommend the approach I mentioned earlier cause itās very easy to reason with
Anyways I sleep
kohaku,,,
bayachao,,
<3
@timid quartz
type Graph = { Graph }
type ColorGraph = { [number]: { [Graph]: boolean } }
local graph: Graph = { {}, {}, { {}, {} } }
local function colorize(g1: Graph, gc: ColorGraph?): ColorGraph
local gc = gc or {}
local pc = (gc[1] or {})[g1]
for _, g2 in g1 do
local idx = if pc then 2 else 1
local chk = gc[idx]
if not chk then
chk = {}
gc[idx] = chk
end
chk[g2] = true
colorize(g2, gc)
end
return gc
end
-- All elements are iterated thru exactly once, "O(n)"
-- CS is weird
print(graph)
print(colorize(graph))
plz confirm
woah
to make a bios for qemu all you haved to do is have 65536 aligned code
it even starts at rip=0
Could you draw the graph
I canāt really visualize how youāve made it
Mmm
Iām on mobile rn,,,
The numbers below are the colors
The memory addresses are the nodes
And an edge is the existence of a node in* the containing node
yeah I think I just can't really visualize the edges
Tried
Oh god that looks awfully compressed
ok that's what I thought I just wanted to make sure
your graph is quite trivial
but you did successfully color it
now try coloring
. A
/
B -- C
wtf
ok thanks discord
Okay let me
Wake up
to do this ill need to do two things (after wolfenstein)
- create a secondary map for [Node] -> color indexing
and
- add a color queue based on g1/g2
accidentally discovered katakanam ode
@timid quartz okay back to coding graphs
hopefully this is "nontrivial" enouggh for your specifications
oh ill give you another one after this
because this one is also fairly trivial
okay give it to me right now if its the same topic
ugh fine
cause chances are ill make this function specifically for that graph
DEVIL CONNECTION REFERENCE
your algorithm needs to be generic enough to work on any graph given to it
ć°ćć”ććļ¼ļ¼ļ¼ļ¼ļ¼ļ¼ļ¼
and if a graph isn't 3-colorable you can uh
return whatever you like to indicate that
anyways lemme see on how i would implement this
this is the type of problems kids always ask about
"when will we ever do this in the real world?"
it is a 1 in 1 billion chance of getting any practical use out of needing to color a devil summoning circle in your code
yeah but only mega nerds would call that graph coloring
i'd just call it a stack
anyways arrangement set, variable time
wdym
i can't
not without adding unneeded complexity
that algorithm i came up with is specifically for trees with no circular references
it is
you've in fact, given me a proof of that
by having to type out the self referential nightmare of this
I just don't think you know enough CS theory to understand what I'm asking you to do
well...
knowledge of a certain part of theory would have made this entire problem a lot easier
or at least arriving at the correct answer
well, if you could, tell me how this would actually matter in an application
a compiler doing register allocation is most forthcoming
because this might appear in your theory, but, it's not how something, at least, anything that i could come up with, would actually function
i love discord freezing
like when you're transforming IR (which has an infinite number of virtual registers) to assembly (which has a finite number of physical registers), to fit everything in the registers in an efficient manner, one approach is building a graph where the nodes represent variables and edges represent an "interference" (where both need to be in registers at the same time)
you then use the physical registers as colors
if you can color the graph then you're chill
if you can't then you have to "spill" one or more virtual registers onto the stack
why can't you just
not have registers exist at the IR level
and have it all be the stack
then during MCG make the top part stack register bound
I mean you COULD but consider the case where you want to minimize memory ops
yeah
and even then you often end up with multiple variables overlapping
even if you do store them all on the stack
requiring some management of physical registers
yeah thats why im saying making the top part of the IR stack actually register bound in the mc
and then the parts not in the register bound part of the ir stack are in the mc stack
(this may or may not actually work to be frankly honest: just how i would approach)
i dont see why not
Imagine you have a variable in the machine code stack right
sure
you could end up with a portion of your code where one of the variables stored in the registers gets stored to memory and isn't used for a time
but your allocation would probably just keep it in the register unused
you'd need some further kind of analysis to detect that
hmmm.. good point... but we can see where each part of the IR stack is used, and when it is used
if something isn't used very often that's in the upper half of the IR stack, we can lower it and bring up the thing ahead further up
if no further uses for that thing exist in the function anywhere ahead, we can just pop it
and now you've taken half a step towards what I mentioned anyways
cause that doesn't entirely solve the above problem it just reduces when it could occur and the impact it would have
with each node+number representing a "virtual register" or "IR variable" (however you want to think about it cause they mean the same thing), with each edge representing variables being needed at the same time ("interfering"), and with each color being a physical register
this identifies that 1, 2, and 4 are never needed at the same time, so the blue register can be used for each of them whenever they're needed
whereas with your implementation (and still assuming 3 physical registers), you'd probably just have 1 and 2 permanently stored in registers, and use the last register to swap between 3, 4, and 5 that are stored on the machine stack
which while it works is less optimal
hmmm
the allocation in each register would depend on how exactly 1/2 are used
if its in a spot of rich use of 1/2, then yeah they'd probably be stored for the entire duration
but if that suddenly becomes 1/4, 2 falls
but at this point you're basically doing what the graph does
i dunno i just can't think about how you can with graphs
but arguably less convoluted
well
the GRAPH is less convoluted
imo
I can reason with the graph a lot easier
for me the IR/MC stacks are just easier to keep in my head
i still have not typed out the pentagram vars yet š
and yes this is theory but this also gets applied via programming
so yknow...either doing register allocation via graph coloring would be really tedious for you...
or it wouldn't be as easy as you're saying...
as you've said... what im doing is effectively what you're doing
just in another format
it's effectively the same thing
but more convoluted and probably less optimal
anyways you can stop with the graph coloring now
I DIDNT EVEN GET TO WRITE ANY CODE š
well if you want
stupid cs students tricking me into talking over actually doing my job
but I'll just go ahead and tell you
I had full intention of watching you burn yourself out solving a problem that people smarter than either of us combined are 90% sure is impossible
well those people are stupid
our current math and theory knowledge holds that finding the minimal coloring of a graph is not possible in polynomial time
you can look up NP-completeness if you want the theory
well
at least tree coloring is possible...
tree coloring is trivial
because a tree is basically a bipartite graph
and a bipartite graph is always 2-colorable
thats a word i do not know about funny man
(bipartite meaning you can separate the nodes of a graph into two "sides" where all the nodes on each side have no edges between them, only edges to the other side)
anyways lemme try now
this graph is bipartite
doing something weird within a certain iteration that is itself not iteration
is still polynomial time right
mmm it depends
like if i have a giant if chain, but none of the results causes an iteration, just some arithmetic or whatever
considering what we know it would probably make it not polynomial
are these if statements traversing nodes
mm it might remain polynomial but might not be correct in all cases
well
would PROBABLY not be correct in all cases
someone would probably find a counter case
thats a lot of probablys
the gist of NP-completeness is this
- some problems are solveable in polynomal time (we call the set of those P)
- some problems are verifiable in polynomail time (we call the set of those NP)
- verifiable means that someone can check it for correctness, so like they give you their "solution" and you can check it for correctness in polynomial time
- some problems are neither (we call the set of those NP-Hard)
- NP-complete is the overlap between NP and NP-Hard
- somebody smarter than us made a giant proof for one particular problem showing that it is NP-Complete
- since then we've found ways to "coerce" other problems into being that one particular problem, and by doing that, we can say those problems are also NP-Complete
just making a reference for myself ignroe
if you were to somehow solve the minimal coloring problem in polynomal time you would have proved P = NP and you'd probably make millions
could you imagine how much bayachao merch i could buy with that money
anyways rx'd ... who made that problem if you know
uhh the problem itself that has the giant proof is called "satisfiability" or SAT
so multiple collaborators i assume?
SAT is basicallt
you're given a boolean expression that's expressed as ANDs of ORs
so (... or ... or ...) and (... or ... or ...) and ...
oh wait is this logic
yeah
and finding a "satisfying" assignment s.t. the entire expression is true is NP-complete
the theorem that pertains to the NP-completeness of SAT is https://en.wikipedia.org/wiki/CookāLevin_theorem
In computational complexity theory, the CookāLevin theorem, also known as Cook's theorem, states that the Boolean satisfiability problem is NP-complete. That is, it is in NP, and any problem in NP can be reduced in polynomial time by a deterministic Turing machine to the Boolean satisfiability problem.
The theorem is named after Stephen Cook an...
let him cook
curious question
does logic account for like
take (A and B) or C
does both A and B and C have to be computed
or is short circuiting just A and B ok
I mean you could but that problem is of the wrong form for SAT
an input for SAT must have the form (... or ...) and (... or ...) and ...
this is just trivial
trivial in what way
well you just find one thing to satisfy either clause of the or
and you're done
solveable in P
you can extrapolate that to any number of (... and ...) blocks
im just thinking about if https://en.wikipedia.org/wiki/Lazy_evaluation exists in this math crap
In programming language theory, lazy evaluation, or call-by-need, is an evaluation strategy which delays the evaluation of an expression until its value is needed (non-strict evaluation) and which avoids repeated evaluations (by the use of sharing).
The benefits of lazy evaluation include:
The ability to define control flow (structures) as abs...
which is why solving a problem that looks like (A and B) or C is trivial
because you can assign C = True and be done
hmm
you effectively "short circuit" the entire expression
soo
((A or A) and (B or B)) and ((not ((A or A) and (B or B))) and C)
would this be in the right form
peculiar
so i can't do not; a and b, but i can do not a; and; not b
is what im hearing
yeah
i wonder why that is (but i wont instigate on it since this theory stuff isn't something i plan to become a student in, just "know" for whenever)
idk some math jazz that math people agreed on
this is why we hate mathematicians
but the way that you can "prove" that the graph coloring problem is np-complete is by morphing it into SAT
you can consider 3-SAT where the only difference is that each disjunction only has at most 3 variables
for each variable you can construct a node in the graph
man I forgot the reduction
anyways
you can morph SAT into looking like the 3-coloring problem
and you can morph the 3-coloring problem into the k-coloring problem where k is some arbitrary number of colors >= 3
hold on i need to think about the problem
hold onto this for a second
there is an exploitable pattern here
in fact im pretty sure i've made it, just as a joke once while doing power simulation
just gotta figure out how i did it
also hold this
HOLY SHIT
Orb
real
ćć”ććÆ
Yknow this made me think
Stack cringed architectures like the JVM are basically just bloated Turing-complete reverse Polish notation calculators
Google it
Yes
Hold
PUSH A
PUSH B
ADD <pops A, B>
MOV EAX, 40
MOV ECX, 2
DIV [[EDX]:EAX, ECX]
also twitter is down ā¹ļø
no more bayachao content for me
Yeah so
Basically every RPN calculator Iāve seen and used also operates similar to Java with a stack
4<ENTER>
3<ENTER>
+<ENTER>
It just reminded me of the JVM because of this
well

pixiv time
she has a bsky so thats good enough
also their new game won an award so thats cool
I think the JVM is slightly different and is more similar to an RPN calculator
i guess so
Because like you said in JVM bytecode youād do like PUSH PUSH ADD
yeah
USUALLY you'd do the same in x86/ARM with MOV reg/reg, but that could be out of order
whereas with like x86 youād do LW into reg LW into reg ADD both regs
I think the difference that I noticed was that the arithmetic operations in the JVM implicitly use the stack whereas other architectures may be explicit
Arithmetic operations among other things
Similar to how if you were to press the plus key on an RPN calculator, you would implicitly use the top two items on the stack
honestly im not sure what architecture the jvm is closest to (aside from its discrete details like stack-based)
i know it's kind-of a RISC
since most instructions are a byte long, and those that aren't have discrete sizes
also wait
wdym by this
implicit, in what way?
stack-cringed*
i should NEVER give you another post from fedi again
like you do ADD rather than ADD <explicit values>
well, the same also happens in x86
the use of values from the stack is implicit
?
a DIV operation for example
it implicity operates and returns in D/A
the only operand is the divisor
hm didnt know that
MUL too
i dont know that much x86 :p
you should make your own cpu...

itlll give you extra crediot..
noitwont
:<
pizza TTL 41 minutes
I believe you'll find TTL is not measured in minutes smh
how many hops for the pizza
sir
i am not writing an extension to TCP for pizza
this is my own system.
well good luck measuring time between multiple hops :3
ermm
japan postal service and usps... would like to talk to you..
its still used a lot
iirc by default the arduino ide does both \r & \n for newlines
"In both ASCII and Unicode, the carriage return is assigned code point 13 (or 0D in hexadecimal); it may also be seen as control+M or ^M. In character and string constants in the C programming language and in many other languages (including representations of regular expressions[2][3]) influenced by C, \r denotes this character.[4]"
im just looking at replicating QEMU and LF* is for y++ and CR is for x = 0
dear programmers in the chat...
local vm_module = {}
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
local modules_folder = ReplicatedStorage:WaitForChild("Modules")
local events_folder = ReplicatedStorage:WaitForChild("Events")
local viewmodels_folder = ReplicatedStorage:WaitForChild("Viewmodels")
local current_camera = workspace.CurrentCamera
vm_module.functions = {
on_equip = function(tool: Tool)
if not tool then
return
end
local possible_vm = viewmodels_folder:FindFirstChild(tool.Name)
if possible_vm then
local real_vm = possible_vm:Clone()
real_vm.Parent = vm_module.objects.Camera
vm_module.functions.viewmodel_loop(real_vm)
end
end,
on_unequip = function()
local vm = current_camera:FindFirstChildOfClass("Model")
if vm then
if vm:FindFirstChild("CameraBone") then
vm:Destroy()
else
return
end
else
return
end
end,
viewmodel_loop = function(vm)
if not vm then
return
end
RunService.RenderStepped:Connect(function()
vm:PivotTo(current_camera.CFrame)
end)
end,
}
return vm_module
which i found peculiar
you're looking at doing what
using this module on the client if you couldn't tell already
it'd be nice if you said the problem and added debug statements
nope
it works
just looking for any tips
no that's too simple
and to be clear we're talking about
qemu
the virtual machine software
not something else
this is our implementation of a BIOS and x86 cpu for our mod, im just trying to replicate QEMU's bios since most operating systems are aqquainted with it
and yes
why
cause its fun
anyways the issue is X isn't being calibrated properly on our simulator, which causes a deficit of exactly 1 blank line
i am not autistic .
acoustic
local vm_module = {}
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
local modules_folder = ReplicatedStorage:WaitForChild("Modules")
local events_folder = ReplicatedStorage:WaitForChild("Events")
local viewmodels_folder = ReplicatedStorage:WaitForChild("Viewmodels")
local current_camera = workspace.CurrentCamera
function vm_module.on_equip(tool: Tool)
if not tool then
return
end
local possible_vm = viewmodels_folder:FindFirstChild(tool.Name)
if possible_vm then
local real_vm = possible_vm:Clone()
real_vm.Parent = vm_module.objects.Camera
vm_module.functions.viewmodel_loop(real_vm)
end
end
function vm_module.on_unequip()
local vm = current_camera:FindFirstChildOfClass("Model")
if vm then
if vm:FindFirstChild("CameraBone") then
vm:Destroy()
else
return
end
else
return
end
end
function vm_module.viewmodel_loop(vm)
if not vm then
return
end
RunService.RenderStepped:Connect(function()
vm:PivotTo(current_camera.CFrame)
end)
end
return vm_module
changed it around a bit
you should look into sending your messages as files but otherwise its fine
yes i have actual ocd from my dad
there are cables everywhere.
not the "perfectionist" ocd thats on the interwebs
it works š
somehow...
just a matter of time until something blows up
is the HDD still hanging
yeah
incredible
these SATA cables are no joke
that specific hard drive isnt spinning rn though
so if it does fall it'll be fine
anyways few things
you should probably be early returning
why is it connected then
cause its in a RAID array
oh btw i've just come to a great realisation
my server is under my 3d printer
my 3d printer does resonance calibration
also the hanging hard drive is frrom 2007 so ill be surprised if it dies by shock over age
i don't think modern hdds are really susceptible to noise like that
just physical shock
wasn't kidding
server is in the cage
you can see the faint white light of the gpu
how does that shake the room
you'd be surprised
In this video, I walk you through the first power-on of the Bambu Lab A1 Combo 3D printer and explore its impressive features: Motor Noise Cancellation and Vibration Compensation. Iāll share what happened during the initial setup, calibration process, and how these advanced features help improve print quality and reduce noise.
Watch the printer...
just click play it's at the correct timestamp
o wow
keep in mind it's basically on a lever since it's on the 2 stupid boxes
there's also horror stories of printers just fucking vibrating to hell while printing and falling off tables
so that's cool
i really dont know how any of this works in its current state
its very easy to see how it does work
HOLY SHIT
I should dust my pc soon
i really do hope that this isn't somehow functional
https://new.cdn.teo0781.dev/u/e0f0d141-af24-4ed4-8bdf-fdfc8ab78089.png
drawing tablet i assume
yeah
its has a screen on it
so it uses USB-C & VGA/HDMI
greater color accuracy than my 144 hz monitor but is 60 hz
so i switch between the two for tasks
i mean i would hope its more color accurate
the difference is pretty small but yeah i'd hope so too
it costs $200 more than my 144 hz monitor
incredible
ć°ćć”ćććććļ¼ļ¼
atp you should buy a framework laptop
i'd want to see in what fucked up way you could use it
depends on what you're going for
minimum of 1k usd
waow thats a lot
but you're a future defense contractor you have 20 billion in your pockets
id rather make a computer out of 250 pi picos
Lockheed martin junior
please never get into hardware you'll go insane
how far
but you'll never guess what i did to my pico after running ada on it
i fried it ā¹ļø
are you talking about the fucking aca-
expected
How'd you do it
5v to gnd or something else
never really used a pi pico
they're cool but mega limited
or get this
haven't gotten my pcbs manufactured yet š
20 rpi 5 cluster
4 GB ram versions exist
what about 256 mb
btw move to #1267583072728121384
no way
thats more than my computer š
seabios
qemu's bios is ligit just seabios
yeah
https://docs.github.com/en/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/about-github-copilot-free
its free again
the pieceo f shit
accidentally maed this cool fx
LOL
Today Microsoft announced something I thought I'd never see: a native port of the TypeScript type checker. The rewrite (using Go btw) is insane, a 10x speed improvement for everything (syntax highlighting, compiling, and type checking). TypeScript will never be the same...
Thank you Convex for sponsoring! Check them out at: https://soydev.link/...
post made by a rustlet i decided to send ehre
of course, Ada wins, always has won, but yeah
ā
ā