#💽Programming Chat v2

1 messages · Page 105 of 1

spare quartz
#

this socket function is a lot more indepth than its c counterpart

timid quartz
#

Yeah the C version is super simple comparatively lol

spare quartz
#

now with a pointer...

#

(not the socket yet, just protocol)

#

i was just thinking to myself wondering if it'd be possible to free an individual memory segment (the pointer for each protocol is a slice)

#

but then i remembered that the freeing is controlled by Arena

#

use after free galore

timid quartz
#

(I know what a memory arena is)

spare quartz
#

somewhat

#

in java theres 3 (or 4? cant remember the last)

#

confined (single thread), shared (multi thread) and auto (gc-managed, shared)

#

oh yeah

#

and global

#

i usually just use confined/auto though

spare quartz
#

what's interesting is that the JDK Arena isn't a sealed/package-private class

#

so you could make your own

timid quartz
#

You might think the Zig model for allocating memory is interesting

spare quartz
#

unsure how you would though

spare quartz
timid quartz
#

Nuh uh

spare quartz
#

yuh huh

timid quartz
#

I don’t remember therefore we haven’t

spare quartz
#

well i remember

timid quartz
#

your brain has been corrupted by bayachao

#

unreliable source

spare quartz
timid quartz
#

urghhhh anyways if I want to receive raw packets on macOS I’m gonna have to figure out how to use a BPF

spare quartz
#

Berkeley packet filter?

timid quartz
#

yeah

spare quartz
#

i dunno how it works though

timid quartz
#

don’t wanna disable sip

spare quartz
#

too bad you dont have something like PsExec64 for mac (to my knowledge)

timid quartz
#

ew Java RMI for windows

spare quartz
#

what? no

#

it allows you to run applications entirely remotely

#

or locally and do this

timid quartz
#

yeah

#

basically Java RMI for windows

spare quartz
#

java rmi is just a simple message passing protocol

#

completely different

#

thats like saying datacenters are just massive java rmi factories

timid quartz
#

basically

#

they all run Java

#

might as well be

spare quartz
#

(notice how they use the jvm for HPC instead of rust)

timid quartz
#

erm yeah cause the JVM is ancient

spare quartz
#

blah blah blah

timid quartz
#

enterprise runs on ancient tech

spare quartz
#

datacenters aren't enterprise

#

they're research

#

which do use ancient tech but they work fast and thats what matters

timid quartz
#

could be even faster if they used Rust…❤️

spare quartz
#

the bar in the middle is rust

#

notice how the wave is moving slower after going through it but retains the same speed going backwards

#

its cause it hates you

#

oh my GOD bro

#

these japanese people

timid quartz
#

stupid Japanese people with their stupid squiggles

spare quartz
timid quartz
#

spare quartz
timid quartz
#

Oh wait wrong

#

焼く

spare quartz
timid quartz
#

burn

spare quartz
#

stop

#

i have no clue what any of these flags mean

#

aw crap another japanese person followed me back 💔

timid quartz
#

born to be a neet

#

Forced to interact with Japanese people online

spare quartz
#

OK bayachao

#

i do wonder how ms multicast works

timid quartz
#

All these stupid “operating systems” with their stupid “security measures”

#

we need to go back to the 90s

spare quartz
#

use win32

#

👍

timid quartz
#

I’ll use Linux 1.x

spare quartz
#

they only restrict RAW usage if you're in the Administrators group (over Windows 2000)

timid quartz
#

The boot process also used to be so simple

#

But then they kept adding shit onto it

spare quartz
#

its not that extreme now

#

you just have to write a loader in UEFI

#

(and also create a virtual machine for ACPI but shut up shut up shut up)

rustic vine
#

Do u play a sport aera

#

Or atp

spare quartz
#

im pretty good at swimming but no

timid quartz
#

LOL do you think atp would ever go outside much less play a sport

rustic vine
#

IDK I THOUGHT ID ASK TO BE INCLUSIVE 😅 😭 😭

spare quartz
#

IM GOOD IN THE WATER!!!!!!

timid quartz
#

I don’t rlly do sports either not formally

rustic vine
spare quartz
#

it just so happens you can't have good hand eye coordination for many sports with bad eyes

timid quartz
#

just get better eyes

#

it’s so easy

spare quartz
#

ok aera.

rustic vine
#

Get contacts 😁

timid quartz
#

dawg I have fucked up eyes too I get it

spare quartz
#

no i need surgery

rustic vine
timid quartz
#

A little yeah

rustic vine
#

How

#

Why

timid quartz
spare quartz
#

bad eye muscles in my left cause them to spasm a ton + my corneas are awful

rustic vine
timid quartz
#

It’s fun

spare quartz
rustic vine
#

I don't got a paddle either

timid quartz
spare quartz
#

ugh id need to talk to an eye doctor 🤮

rustic vine
#

But theres this rlly nice park nearby with pickleball courts

spare quartz
#

i do need my perscription renewed though since my glasses are falling out of alignment + scratched

#

but its so expensive

rustic vine
timid quartz
#

Both of my eyes have separate prescriptions

spare quartz
#

thats why i do not have the numbers

rustic vine
#

Oh u need a new one

spare quartz
#

yes

rustic vine
#

Go get a new one

spare quartz
#

no insurance makes that hard rn though

rustic vine
#

Oh

#

😭

spare quartz
#

get symmetric eyes

rustic vine
#

Mine are 200 off

#

From each other

#

Whats urs

timid quartz
#

200?

spare quartz
rustic vine
#

Im 535 and 335

timid quartz
spare quartz
rustic vine
#

In?

timid quartz
spare quartz
#

what aera said

#

im not used to giant numbers like that

#

usually they're just +/- an integer and a decimal

rustic vine
#

Oh thats how China does them

spare quartz
#

huh

rustic vine
#

I think equivalent to -5.35 and -3.35

#

In China they are written 535 and 335

timid quartz
#

Interesting

spare quartz
#

alright umm both of you

timid quartz
#

So I guess I’m like 425 and 600

spare quartz
#

hold your hand in front of your face and estimate the distance it takes for them to start getting blurry

#

i need to estimate

rustic vine
timid quartz
spare quartz
#

sure that too

timid quartz
#

I have to hold my phone at most ~4in from my face for text to be clear

spare quartz
#

~3.5" for me

timid quartz
#

So we’re pretty similar

spare quartz
#

i usually squint a little unconsiously so that can bring it up to like 6"

timid quartz
#

Same lol

spare quartz
#

but with my eyes open about that much yeah

timid quartz
#

0.5” is within MoE

spare quartz
#

MoE?

timid quartz
#

Margin of error

spare quartz
#

ah

#

gguhhh

rustic vine
spare quartz
#

latter

spare quartz
# spare quartz gguhhh

lenses are so annoying when they start having those little blemshes that you cant wash away

rustic vine
#

~12"

timid quartz
#

Damn this guy has great eyesight

spare quartz
#

true

rustic vine
#

Its cuz my right is only 335

#

So its by far my dominant eye

#

And I think I just be using my right most of the time

spare quartz
#

im pretty sure my eyes are symmetrically bad so i dunno what thats like

#

does your brain just like, smooth out the blurriness between the two (if that makes sense)

rustic vine
#

Ye

spare quartz
#

huh okay

rustic vine
#

You can notice that you like using right eye more than left eye

#

Its like one is more in focus than the other

#

But its not a conscious choice to pick which one lol

spare quartz
#

its cause you need to start using sRGB

rustic vine
#

Adobe rgb

spare quartz
#

#

too high of a range

spare quartz
#

IM NOT 30

timid quartz
spare quartz
timid quartz
#

yeah looks like her

spare quartz
#

it literally does

#

4.8万人を騙した曲

timid quartz
#

Urghhh that’s the one thing I don’t like about Japanese numbering system

#

万 being 10k

spare quartz
#

hold on i wanna check sometinhg

#

oh

#

it just shows the full count

timid quartz
#

566万

spare quartz
#

that would be 5,660,000

#

so 3 orders of magnitude off

timid quartz
#

oh that’s billion

#

Uhhhh

spare quartz
#

i know theres a kanji for billion

#

or was it trillion..

#

lemme find it

timid quartz
#

5.6十億

spare quartz
#

兆 trillion
十億 billion
億 hundred million

#

yeah

timid quartz
#

Or 56億

#

lol that sounds funny

#

ごじゅうろくおく

spare quartz
#

gojuurokuoku

#

okay thats just korean

timid quartz
#

real

spare quartz
#

貧民は億万長者が食べる

timid quartz
#

Probably を食べる

#

I think が still kinda works tho?

spare quartz
#

im trying to say "the billionaires eat the poor"

#

i think を would imply that the poor eat the billionaires (or that the billionaires are objects?)

timid quartz
#

yes I thought that’s what you were going for

spare quartz
#

万 amongus

timid quartz
#

So uh if you’re going to use that sentence structure
<the poor>は<the rich>が食べる
You would probably need to use a passive sentence (ie “the poor are eaten by the rich”) which would be

貧民は億万長者が食べられる

#

You could also invert it and say

億万長者は貧民を食べる

spare quartz
#

which would mean that it works without a person or entity in question right

timid quartz
spare quartz
#

just that it works off some object?

timid quartz
spare quartz
#

oh 😭

timid quartz
#

The (食べれる) part is because, in speech, the potential form of る verbs is often shortened to that (you remove the ら)

spare quartz
#

i see

timid quartz
#

And that happens because for う verbs the potential form is made by changing the う sound to an え sound

#

So like 焼く to やける

#

So they just kinda…also do it for る verbs in speech sometimes

timid quartz
spare quartz
#

耳はどれにも繋がない。

timid quartz
spare quartz
#

jisho doesnt have a translation for my favorite us office

#

the intelligence community security coordination center :<<<<

#

アメリカ合衆国情報共同体安全協調中央

#

@rustic vine are you able to read this (curious)

#

(ignore kana at start htats just "a me ri ka")

rustic vine
#

United Intelligence Community Security Coordination Center?

spare quartz
#

wow

#

you got it 100%

rustic vine
#

Goated

#

Thats just traditional

#

And there arent any weird ones so a simpleton like me who only knows simplified can read it still

rustic vine
#

OHHH IS IT US

spare quartz
#

yup

rustic vine
#

Ok thats not how we say US in chinese

#

So that translates to United Something (Country)

#

Must be a jap thing

spare quartz
#

in its combination with the kana before it

rustic vine
#

I just ignored the part before it 👍

spare quartz
#

so its like America Federal State(s)

#

which is obviously just US

rustic vine
#

Thats so long for US

spare quartz
#

yeah its usually just abbreviated to 米

#

or 亜米利加

rustic vine
#

In Chinese its just 美国

#

国 being country

#

So China is 中国

spare quartz
#

center country 💪💪

rustic vine
#

Yuh

#

Uhhh if I were to write that I would prob write

美国情报界安全协调中心

#

If thats a real thing thats probably the "official" translation too. Theres rlly only 1 way to write it formally

spare quartz
#

uhh there isnt a jap page for the USIC but there is a chinese one

#

they wrote it as 美國情報體系

rustic vine
#

That basically translates to US Intelligence System

spare quartz
#

ah

rustic vine
#

美國 (US) 情報 (Intelligence) 體系 (System/Community)

spare quartz
#

do 國 and 国 mean the same thing?

rustic vine
#

It can be system or community

#

With context here community is probably better

rustic vine
spare quartz
#

that makes sense

spare quartz
#

ayyyy

#

i got myself a new raw socket!

spare quartz
#

now to figure this out

timid quartz
#

They call US the rice country

spare quartz
timid quartz
#

Oh here’s a long one

#

米国公認会計士協会

spare quartz
timid quartz
#

Dear lord

spare quartz
timid quartz
#

アメリカ国立気象局

#

Awww NWS is so short

spare quartz
#

(5 billion kanji compounds for united states [federal])

#

I HATE AUTOMOD!!!!!!!

timid quartz
#

HAHAHAHAHA

spare quartz
#

2000fo+感谢!!!非常感谢大家一直一起来的陪伴!!!🙇‍♂️🙇‍♂️
虽然我感觉自己也没画了什么很伟大的作品.呢..今后也努力画更多的同人吧!🐱

timid quartz
#

Automod stopping you from passing off another’s Japanese as your own

spare quartz
#

THATS

#

CHINESE??

#

😭

#

you might need new glasses aera

#

9 parameters for a rx function

timid quartz
#

Dear lord

spare quartz
#

okkayyy lets see

#

need to figure out how to tie a java byte buffer to a memory segment which i think i can do with asBuffer thru a MemorySegment

#

lemme close in closesocket first cause thats the easiest

#

thankfully RAW is connectionless

timid quartz
#

Almost reminds me of sendto on *nix which is like fd, buf, len, flags, address struct, address struct size

#

But that’s only 6

#

And it’s also weird cause even with the IPHDR flag set I still have to use that or I get EDESTADDRREQ (destination address required)

#

maybe if I bound the socket but

spare quartz
#

theres like 3 pages worth of notes on closesocket

timid quartz
#

imagine not using mingw or cgwin

spare quartz
#

its mainly talking about how to tear down the connection correctly

spare quartz
#

(but they're not tied to file descriptors like on UNIX-like systems, they're separate)

timid quartz
#

File descriptors 🔥

#

Everything is a file

spare quartz
#

but i dont have ATM or an infrared port so they're irrelevant

timid quartz
#

Your disk? A file
Your NIC? A file
Your processor? A file

#

Your life? A FILE!!!

spare quartz
#

shutdown

how

#

oh cool

#

wait nvm

#

i was gonna say it let me call close* multiple times

#
Socket operation on nonsocket.
An operation was attempted on something that is not a socket. Either the socket handle parameter did not reference a valid socket, or for select, a member of an fd_set was not valid.
#

but it eventually deallocated it

timid quartz
#

Other programming languages vs Rust

spare quartz
#

lpBuffers.....

#

i wonder how many of these i can pass NULL into

timid quartz
#

All of them :3

spare quartz
#

10022

#

invalid alignmnet constraint,,,,,,,,,,,,

#

okay its running now

#

just need address and flags and crap

timid quartz
spare quartz
#

cannot send

timid quartz
#

that’s the fbi :3

spare quartz
#

i think im gonna try binding to my wifi interface and turning on RCVALL

timid quartz
#

WAIT ITS JUST CLOUDFLARE

#

scammed

spare quartz
#

and then ill have some dinky little wireshark

timid quartz
#

Of course the FBI is CloudFlared

spare quartz
#

ill just ping the usaf

timid quartz
#

No we need to get you on as many watchlists as possible

#

You’re already on at least one for Telegram

spare quartz
#

have you even seen intelink?

#

go here

timid quartz
#

Woo more watchlists

spare quartz
#

blah blah blah watchlists dont exist

#

not for "normal people" like us anyways

timid quartz
#

End goal is federal DNF

#

jk

spare quartz
#

"ooooohhhh we're on an NSA log" yeah everyone is

#

get real

timid quartz
#

Yeah Snowden told us that

#

Snowden my king

spare quartz
#

kill snowden with missiles

timid quartz
#

why 3:

spare quartz
#

kill every whistleblower with missiles

#

we must let every intelligence community free

timid quartz
#

Snowden da goat

#

Doesn’t he have asylum in Russia or something

spare quartz
spare quartz
#

hell naw

#

ITS EVERYWHERE

timid quartz
spare quartz
#

UNFUNNYLAD JUST GAVE ME A GREAT IDEA

timid quartz
timid quartz
#

!!!!!!!

#

AMAZING IDEA

spare quartz
#

OH MY GOD

#

@lone sky SAITAMA JAPAN

lone sky
#

WHAT

spare quartz
#

ITS SAITAMA

#

LITERALLY

lone sky
#

LOL

#

😭

spare quartz
#

if i were good at art i could do the craziest thing rn

#

hold on gonna try something

timid quartz
#

@lone sky you need to get into ATP’s brain and convince them to never use the JVM again

lone sky
timid quartz
#

ugh fine I’ll do it myself

#

bayachao images with subliminal anti-JVM messages

spare quartz
#

someone lives here guys

timid quartz
#

what is this

spare quartz
timid quartz
#

link

spare quartz
lone sky
spare quartz
#

i wonder what seattle looks like

lone sky
#

❤️

spare quartz
lone sky
#

fine..

#

smh.

spare quartz
spare quartz
#

i have an idea......

timid quartz
#

OMORI SPRITE

spare quartz
#

EWWW

#

🤮

#

ちゃお

#

mwhahaha

timid quartz
#

That や looks horrid

spare quartz
#

IKR

timid quartz
#

Did you draw that

spare quartz
#

yes

timid quartz
#

Fix the や

spare quartz
#

ughhh

#

but i dont have many pixels

#

umm

#

i dont know how to fix it

#

it looks understandable as a ゃ

timid quartz
#

Not really

#

Looks more like ク

spare quartz
#

i have like 4x4 to work with

spare quartz
#

again i have supppper limited space here

#

wassup beijing

#

NO WAY

#

THERES FLAGS AT MCMURDO

timid quartz
spare quartz
#

he shall be constructed at my home address.

spare quartz
#

HE IS COMPLETE!!

timid quartz
#

detestable

spare quartz
#

i was planning on drawing a tiny little ferris in calveras...

timid quartz
#

calveras?

#

also no you weren't lol you'd never

spare quartz
spare quartz
#

artifical lake created for cooling the gas plants that power this area

lavish dove
#

whoa

timid quartz
#

pls...continue pleading

spare quartz
#

SIGH. ok

#

but i need to 🤮 draw art 🤮

#

the hell

#

it got a giant pipe in it

#

i omor 🤮

spare quartz
#

@timid quartz so

#

servers are down rn

#

BUT

#

when they're back up i've UNFORTUNATELY made a sprite

timid quartz
#

yipee!!

spare quartz
#

this is terrible

timid quartz
#

I knew you liked rust deep down ❤️

spare quartz
#

my decade of programming should not have ended up here

timid quartz
#

Programming JVM in furious attempt to deny that you at least kinda like rust

spare quartz
#

I DO NOT

#

!!

#

this is a pity

lone sky
spare quartz
#

#

4 tb zipbomb

flint belfry
spare quartz
timid quartz
#

mmmm

#

i should continue doing rawsock

spare quartz
timid quartz
#

no u should uh

#

idk

spare quartz
#

im also doing regular tcp/udp sockets by proxy

#

but also bluetooth too

#

We apologize for the inconvenience. We have suffered an attack and are currently investigating what happened and which vulnerability was exploited. Wplace will remain offline until we identify and fix the issue. At this time, there is no estimated time for the service to return. We appreciate everyone’s understanding and patience. 🙇

#

(wplace)

timid quartz
#

OOOOOOOOOO sending works on macos

#

I had to change a few of the structs

#

cause the fuckass structs are different thank you macos

spare quartz
#

IPPROTO_IP

#

OK... binding

rustic vine
timid quartz
#

yeah lol

flint belfry
spare quartz
rustic vine
#

thats my country

#

USA??

#

rice is not usa

spare quartz
#

hey i didn't invent them

rustic vine
#

nvm california produces pretty good rice actually

#

I always be buying that

spare quartz
timid quartz
#

yipeee sending in rust now works on macos!!

spare quartz
#

good job!!!!

rustic vine
#

NOOOO WHAT WILL I DO WHEN THEY SECEDE

spare quartz
#

im still writing my socket to actually try and read data

timid quartz
#

receiving on macos is going to be a different story

spare quartz
#

uhh

timid quartz
#

either I figure out bpfs, disable sip, or just use linux

spare quartz
#

@rustic vine you're the closest to a C programmer

#

what is the datatype of char

#

a short?

rustic vine
#

wut

timid quartz
spare quartz
#

oh okay

#

unsigned?

rustic vine
#

ye

timid quartz
#

yes

#

well

#

you can say unsigned char

rustic vine
#

why do u care

spare quartz
#

jvm

timid quartz
#

but USUALLLYYYY
char = one byte
short = two bytes
int = four bytes

rustic vine
#

I've seen an array of unsigned shorts used for wide characters

#

like um

#

utf16

#

but if u were using the BETTER language cpp

#

you should use wchar_t (wide char)

#

👍

spare quartz
#

yeah im working with win32 which usually uses utf16 (and for socks it has a char[14]) which is why i asked

timid quartz
#
char - 1
short - 2
int - 4
long - 8
long long - 8
#

this is from my mac

rustic vine
#

unsigned char probably raises problems

#

idk what happens if u do that

spare quartz
#

uuuuhhh what was the layout for arrays.... i forgot....

timid quartz
#

unsigned char I dont think does anything

rustic vine
#

u sure?

timid quartz
spare quartz
#

no

#

jvm ffi stuff

rustic vine
#

wait wchar_t is in the c90 standard too

#

oh there is also char16_t and char32_t

#

cuz wchar_t is platform specific

#

or... compiler specific? idk

rustic vine
spare quartz
#

OH

#

sequence layout

rustic vine
#

char is not guaranteed to be signed/unsigned

spare quartz
#

there we go

rustic vine
#

so depending on compiler doing unsigned char could land u in hot water

spare quartz
#

forgot to cast at the end of invokeExact reward

#

(int,MemorySegment,MemorySegment)int but found (int,MemorySegment,int)Object

rustic vine
#

whut the flip

    let mut ki_result = Matrix4x3::<VoltPerRotation>::zeros();
    let mut kd_result = Matrix4x3::<VoltPerRotationPerSecondSquared>::zeros();
    let mut kp_result = Matrix4x3::<VoltPerRotationPerSecond>::zeros();
    let mut binv_result = Matrix4x3::<VoltPerRotation>::zeros();```
#

too many :

spare quartz
#

oh you have to be kidding me thats a pointer too

#

augughgh

rustic vine
#

omg is Matrix4x3 an entire type??

#

wait so theres like 20 million types for the

#

different sizes??

#

😅

rustic vine
#

just use cpp bruh u ain't even gotta think about pointers

#

kinda

#

idk u still do but like you ain't gotta think about

#

memory management

spare quartz
#

dont have to do that in jvm either

rustic vine
#

ok but cpp faster

#

take that

timid quartz
spare quartz
#

blah blah blah

timid quartz
#

it works ❤️

rustic vine
#

cpp runs well on the

#

arm32 softfp platform

#

that im on

#

java does not

spare quartz
#

yeah but you need a real ALU to talk

rustic vine
#

java don't even run

#

it walks

spare quartz
#

kys!!!!

rustic vine
#

u have 2 lints

#

btw

#

and 1 test failed

spare quartz
#

7*

rustic vine
#

wait atp are u in school

spare quartz
#

no

rustic vine
#

how do u have the fancy intellij

spare quartz
#

oh cause i have a school email

rustic vine
#

brhuh

spare quartz
#

yeah

rustic vine
#

ur scamming jetbrains

#

im reporting u

spare quartz
#

ez ide 💪

rustic vine
#

im lowk worried

#

I won't be able to use

#

the fancy ones

#

after I graduate

#

idk what im gonna do

#

I don't wanna pay them

spare quartz
#

umm

#

become a professor

#

and teach...

rustic vine
#

NO

spare quartz
#

👍

rustic vine
#

I mean company will pay for it obv but

#

das not for personal use

#

😢

#

so idk

#

idk if I should just use the free one to get used to it

#

and suck it up

spare quartz
#

wait wtf professor is an "academic rank"

#

i didn't even know they had those

#

i just thought it was another word for teacher

rustic vine
#

no profs are

#

better than teachers

spare quartz
#

apparently

rustic vine
#

cuz they teach stupider kids

spare quartz
#

background the office commentary

rustic vine
#

oh its dwight

#

hi dwight

#

129 is nuts

#

for some plastic

spare quartz
#

anyone know how to make your monitor not radiate heat

#

i can hold my hand a few inches from the screen and feel it

rustic vine
#

dont be a few inches from the screen...?

spare quartz
#

okay but it warms up my room

rustic vine
#

hmm

spare quartz
#

conservation of energy and crap

spare quartz
#

that looks like a big machine

#

better spent on computer parts

rustic vine
#

you can put a computer in it

#

it doubles as a case + cooler

spare quartz
#

i dont think computers like humidity though

#

(citation needed)

rustic vine
#

oh cadence got fined 140 mil

#

for selling to china

#

looool

spare quartz
#

???

#

oh is it cause of tariffs

rustic vine
#

no

spare quartz
rustic vine
#

loooool

#

goated

#

u know my university's study abroad program in china got shutdown

#

cuz the chinese university that they partenered with got declared a national security threat

#

and the US pressed them to pull out

spare quartz
#

i hate when that happens

rustic vine
#

I was gonna go there too

#

tragic

timid quartz
#

man

#

the raw socket has peaked

#

it's all downhill

spare quartz
#

whats wrong now

timid quartz
#

oh nothing

#

it's just...it's peaked

#

the payoff of being able to send finally happened

spare quartz
#

OK. do the next logical step

timid quartz
#

there are no logical steps ca

spare quartz
#

replace your computer's network stack with your implementation

timid quartz
#

I dont think macos would like that

#

...nor linux

spare quartz
#

os issue

timid quartz
#

"make your own os"

#

tbh I kinda want to

spare quartz
#

that is the next logical step

#

and you took a whole course on it in college or whatever

rustic vine
spare quartz
#

so you're clearly qualified

timid quartz
#

unqualified*

rustic vine
spare quartz
timid quartz
#

you blew your leg off?

#

what did you do lol

spare quartz
#

okay so remember that kernel i made in 2024

timid quartz
#

and YES I know you didn't literally

#

yes

spare quartz
#

ufedmi (you probably dont)

#

okay so we had a kernel then right

timid quartz
#

I saw ufedmi

#

on your gh

rustic vine
spare quartz
#

and it was made from ada and gcc and it was great right

rustic vine
#

it happens all the time actually

spare quartz
#

unfortunately i saw how good the jvm was

#

and i decided to work backwards

timid quartz
#

bad*

rustic vine
#

badwards

spare quartz
#

and now i have an assembler and CPU in my jvm

#

eventually an os will come out of it

#

but you have gcc so use it

rustic vine
#

no msvc is better

#

sorry guys

#

I had to say it

spare quartz
#

ok microsoft

rustic vine
#

lowk msvc is goated

#

it has complete cpp modules support

#

when no other compiler does

#

idk why I wrote packages

#

package brained

spare quartz
#

this guy is a fan of Java 9

rustic vine
#

no

#

amazon brained

spare quartz
#

oh okay

rustic vine
#

thats normal

#

for the cpp ecosystem

spare quartz
#

lets see

rustic vine
#

👍

timid quartz
#

next logical step is to clean my rust code up

spare quartz
#

532 JDK versions will come until that year

#

hopefully we invent time travel

rustic vine
#

GOATED

#

msvc locked in

spare quartz
#

can't wait until microsoft makes the next big C

timid quartz
#

apple clang 💪

spare quartz
#

🤡 Maintainer does want to keep it oldschool. No plan to update anytime soon.

#

The socket has not been bound to an address with bind, or ADDR_ANY is specified in bind but connection has not yet occurred.

#

OHHH

#

catch on WSAInvalidArgumentException

#

perfect

#

i love WSA being at virtual offset 140.7 TB

#

the MMU is perfect

spare quartz
#

closer

#

now datagram read is complaining

#

but thats good i think

#

?

#

@timid quartz OK crazy idea

#

with raw sockets you can theoretically make your own protocols right

#

i wonder if IANA would care if i just made a beg internet protocol.....

#

「一→二→三→四」

これ「Why japanese people!?」って言われるけど

「1→2→3→4」

こっちも大概やろ

umbral monolith
#

why

#

how long does it take to upload a built project

spare quartz
#

more like wow thats one inaccurate clock source

timid quartz
spare quartz
#

thats fine if it's done locally

#

AYYY

#

AERA

#

I GOT RAW DATA!!!

#

lemme read off it

timid quartz
#

Oo nice

#

Now read/send network data over it and have windows not block it

spare quartz
#

4500002cd4310000f3063c4623cbd21cc0a800c4c49d08b32d0eca91000000006002ffff1be20000020405b4

#

no IP header cause i need to specify that in the socket opts

#

wonder what this is

#

wait actually this might be the ip header

timid quartz
#

Starting with x45 makes me think it is

#

Also your length is x2c00 (11264) bytes?

#

That’s big

spare quartz
#

44 bytes

#

0x002c

#

45 00 003c 261e 0000 33 06 67b5 a75e911e c0a800c4
508522b8e50ba7b700000000a002a5647d910000020405b40402080a685ac2c2000000000103030a

#

c0a800c4 = 192 168 0 196

#

whiiich is my local IP

#

okay this definitely is the IP header

#

the source ip is 167.94.145.30

#
(wBufHandle.get(rxBufferArray) as MemorySegment).reinterpret(rx.toLong()).toArray(ValueLayout.JAVA_BYTE).toHexString()
#

🙏

#

alright

#

thats really cool

#

i now have a very very simple packet tracer

umbral monolith
spare quartz
#

question mark

lone sky
spare quartz
#

i know

#

i was wondering why they sent that image

spare quartz
#

also decoding the address from the socket

timid quartz
spare quartz
#

no?

#

002c for a short is network order

#

this is directly from the OS

timid quartz
#

whenever I send/receive ip packets, they are like x45 x0 x2c x00

spare quartz
#

im about to read off directly from the NIC

timid quartz
#

beccause that's network order

spare quartz
#

that's not

#

that's little endian

timid quartz
#

oh wait it is

#

wait that's after serializing them into a struct

#

I bet if i receive byte-by-byte I'd get 0x0 0x2c

spare quartz
#

yeah that's what im doing personally

timid quartz
#

well not serializing into a struct

#

but after being read into some things on the OS that are likely LE

#

let's c

spare quartz
#

time for you

#

@timid quartz okay wplace got back up

#

unfortunately they rolled back so i need to redraw duke

#

but there.

timid quartz
#

69, 0, 0, 38 this byte sequence results in

send failed: Os { code: 22, kind: InvalidInput, message: "Invalid argument" }

likely macOS catching the bad length

#

69, 0, 38, 0 this byte sequence results in a successful send

timid quartz
#

what do you think about the thing

#

macos is still setting my identification for me too

#

which is odd

#

d

#

the same thing happens in C

#

and there I don't have direct control over the serialization

spare quartz
#

had to create this

spare quartz
timid quartz
#

yeah even on linux

#

69, 0, 32, 0

spare quartz
#

ill try in windows when i can

timid quartz
#

if I htons it to make it 69, 0, 0, 32 then it does this

spare quartz
#

i have to set a socket option in order for the socket handler to accept an IP header from me

timid quartz
#

yes

spare quartz
#

but FIRST pixel art

timid quartz
#

IP_HDRINCL

spare quartz
timid quartz
#

mmmm

#

yeah idfk why

#

maybe this is a question for some smarter people

spare quartz
spare quartz
#

rate the kohaku so far

wicked cliff
#

Trying to re-implement the major part of my game loop in Rocket but it's pure hell because everything has to be coded twice.

local Rocket = require(game.ServerScriptService.Rocket.Rocket)

Rocket.Execute([[
require "game.ServerScriptService.roblox";
ServerFolder = "game.ReplicatedStorage.Server";
HousePhase = false;

function changeTime args time do
    re_fire "game.ReplicatedStorage.Server.TimeSend" time;
end;

function chooseHouse args region do
    if HousePhase == True then
        House = random 1 8;
    end;
end;

wait 45;

call changeTime 12;

RE = ServerFolder << "Subtitle";
message = "Find a house to hide in.";
re_fire RE message 7 True;

wait 15;

call changeTime 1;


]])
lone sky
#

rocket

#

if you don't mind me asking

wicked cliff
lone sky
#

☠️

snow oak
#

uhhh

#

interesting

#

we makin it outta luau with this one 🗣️

wicked cliff
lone sky
#

i'd argue it's more impractical to make another programming language to layer on top of it

#

but you do you

#

¯_(ツ)_/¯

wicked cliff
#

you have to code it in Rocket AND the translation layer, so you're basically re-making the Roblox API. I'm doing some of this by myself to grow the standard library

wicked cliff
#

it just happened to line up because the interpreter was written in lua

#

and Roblox uses Luau which is a sandboxed and limited version of Lua, so it was pretty trivial to just port it over to Roblox

#

Everything that is natively in Rocket works in both, I made sure of that

#

However adding the functions like re_fire was not a trivial task and was pretty exhausting considering I was basically rewriting the Roblox API, a system that took a decade and some to develop fully

wicked cliff
rustic vine
#

wait its just luau but worse

#

oh ok mb lol

wicked cliff
rustic vine
#

no like

#

lowk awful syntax

wicked cliff
#

Bracketless syntax was the focus which is why it's weird to type

rustic vine
#

its not weird to type

#

bracketless is fine

#

luau is bracketless

#

thats not whats weird abt it

wicked cliff
#

i mean like no () or [] or {}

rustic vine
#

() are not brackets

wicked cliff
#

mb

rustic vine
#

one thing that immediately stands out to me is the double termination keywords

#

you have end to mark termination already

#

but then u also have ;

#

theres also a bitwise left shift thrown in there?

wicked cliff
#

append

rustic vine
#

is that some sort of pipe operator?

wicked cliff
#

that's how you append

rustic vine
#

yea using something mostly standardized for bitwise shift is kinda wonky

#

don't get me wrong tho im not tryna hate on purpose, if this is for fun, then awesome

wicked cliff
#

nah it's fine.

#

i like some feedback

#

say what you have

rustic vine
#

its hard to parse but I partially blame no syntax highlighing

#

actually not only is it hard to parse for humans

#

its gonna be near impossible to parse for a parser

#

does it actually work?

wicked cliff
#

yes

rustic vine
#

what kind of parser?

wicked cliff
#

Custom, built on Lua. Shitty.

#

to say the least

#

splits based on words

rustic vine
#

well like

#

like lalrpop?

#

or some sort of lr parser?

#

or I guess maybe thats too specific

#

is it top down or bottom up?

wicked cliff
#

which is why i call it shitty

rustic vine
#

oh ok

#

I think thats chill

#

language designers are nerds

#

tho having a spec is good

spare quartz
wicked cliff
rustic vine
#

actually pretty easy

#

oh ok

rustic vine
#

you will run into a lot of ambiguity very quickly with syntax that looks like this

spare quartz
rustic vine
#

same..

#

all that theory just to get beat by someone new to the channel

#

I should just retire bruh

spare quartz
#

hey i havent passed high school

#

and i havent made any languages... (just made others that already exist)

rustic vine
#

ok but u got like 20x the experience compared to me

spare quartz
#

rustic vine
#

worthwhile trade..?

lone sky
#

@spare quartz ok so

#

TIL they might teach us java

#

on my school

#

💔💔

spare quartz
#

i hope its not terrible!

rustic vine
spare quartz
#

i hope you actually get to learn how the JVM operates and DON'T just "learn java" (cause java is stupidly easy to learn, the JLS is very simple)

rustic vine
#

a big reason new languages are made and new syntax is created is because their creators didn't like how other languages expressed ideas

spare quartz
#

(the stdlib and opreating procedures are NOT!)

wicked cliff
#

screenshot of it in use for a for loop

wicked cliff
lone sky
#

FUCK THE JVM!!!!

spare quartz
lone sky
#

:<

spare quartz
#

if you had a language that was written programmatically (like, an ASM file but you can run code alongside it before assembly to transform it) what would that be called

#

just a preprocessor?

wicked cliff
rustic vine
#

I honestly like luau a lot for its syntax and how simple it is

#

I heard from some friends they did some really cool embedded work with it where their underlying library is cpp but they embedded lua into it and so all their real high level logic was in lua

#

which meant that compile times were non-existent and extremely fast even on potatoes

#

cuz its interpreted

#

at least whenever the underlying cpp that interacts with hardware didn't have to change

wicked cliff
#

I thought about re-writing Rocket in Go or something because even with luac it was still not comparable to C. I didn't intend it for it to be that fast but it also isn't portable either

rustic vine
#

which is often, cuz a lot of time is spent fine tuning the high level logic or configuration parameters

#

I wouldn't worry abt speed

#

speed can come later

rustic vine
#

getting syntax right from the get go is really important for the future of a language

#

luau is crutched by the decisions of lua(u) actually

#

sorry atp lemme read what u wrote

rustic vine
#

well, the language wouldn't be called that

#

the compiler would be

spare quartz
#

yeah whati meant to say

#

cause rn it looks like this

wicked cliff
#

Would you like to see my assembly syntax as well?

rustic vine
spare quartz
#

die harry

rustic vine
#

LOL