#šŸ’½Programming Chat v2

1 messages Ā· Page 7 of 1

spare quartz
#

serialization is the ability of an object to be "serialized"

#

e.g. encoded into text and saved to a file

#

and (possibly) back

spare quartz
#

good job everyone for getting...

#

6000 messages!!!

full berry
#

WOOOHOO

spare quartz
#

holy crap

#

1 GB for a single youtube page

timid quartz
spare quartz
#

in MOST cases serialized data will be deserialized by another party/the originating program

spare quartz
#

trying to prove my codes worthiness rn

spare quartz
spare quartz
#

i love having extremely strong, smooth, radioactive detecting lenses

#

unfortunately i cannot see out of them

proud creek
full berry
#

chipi chipi :3

wraith scarab
lavish dove
#

chapa chapa

full berry
#

dubi dubi >w<

umbral monolith
umbral monolith
proud creek
spare quartz
#

all of you are banned

full berry
#

no you are banned

proud creek
#

yeah just atp

spare quartz
#

astro you are literally a Probationary Programmer

full berry
#

tz ban him please

spare quartz
#

not even real

full berry
proud creek
#

probationary is crazy

pastel tinsel
#

lmfao

spare quartz
timid quartz
spare quartz
timid quartz
spare quartz
#

EW

full berry
#

WHAT

full berry
# spare quartz

i cant tell if this is some goofy editor or an online screenshot of something

#

matrix comeback never

proud creek
#

hell naww

pastel tinsel
#

since then I have installed more stuff

spare quartz
#

who?

#

how many inches tall is this sound

pastel tinsel
#

1

full berry
#

gonna start doing some roblox scripting... but using the roblox-ts npm package :3

spare quartz
#

🤮

full berry
#

WHATS WRONG

full berry
proud creek
spare quartz
full berry
#

@spare quartz @timid quartz kinda late on this but

#

fucking embed

spare quartz
#

boring

full berry
spare quartz
#

who needs encryption anyways

full berry
#

EVERYONE

spare quartz
#

no one*

proud creek
pastel tinsel
pastel tinsel
#

It really isn’t

full berry
#

why not

lavish dove
timid quartz
pastel tinsel
spare quartz
proud creek
#

WHAT

full berry
full berry
#

WOOOWWWW WHAT IS THIS PREJUDICE

#

WHY ARE MY MESSAGES SENDING TWICE

spare quartz
full berry
#

mrrow :3

spare quartz
#

No.

full berry
#

you started it

spare quartz
#

that wasn't a femboy meow that was just a standard prescribed meow

full berry
#

PRESCRIBED???

spare quartz
#

DIE...

#

i rrrrreeeally need to get to writing code again... im in that boring do-nothing for a month time rn

umbral monolith
proud creek
ashen pollen
#

I finally signed up for Github Copilot, Figured since i want to do OpenGL in C++ it would help write some of the boilerplate code

#

Since i use visual Studio for C++ and VS Code for Python and JS adding it was nice and easy

proud creek
#

it truly helps

#

very useful

ashen pollen
#

Also put a button on my stream deck that tells Visual Studio to build the current project

#

Figured it would be fun to use it rather then the UI button

timid quartz
#

copilot makes programmers dumber

#

even though creating boilerplate is painful, you'll never get to know how the boilerplate works (in case you need to modify it) if you never write it

proud creek
timid quartz
#

or better yet, macros in vim

fallen moss
#

just let him use copilot if he likes using it

full berry
#

well you cant use functions for everything but

#

yes

timid quartz
#

@spare quartz opinion on copilot?

spare quartz
#

It’s fine for tedious things that aren’t as simple as CTRL C/V

#

Annoying every other time

#

Rn I’m kinda pissed off since I just spent $220 on this computer and it’s still not working,,,

spare quartz
full berry
#

you can use functions for exactly the same things

#

as soon as something changes then it becomes a bit tricky but

#

well i cant be talking shit against copilot because i kinda use it but i try to limit myself to only using it inline and not going out of my way to use the goofy ass chatboxes

spare quartz
#

Functions can’t write code for you if you don’t have a foundation to start off of (boilerplate)

#

Also documentation!!!

full berry
#

i thought he meant to say copilot helps him write repetitive code

timid quartz
spare quartz
timid quartz
#

did u use copilot at all when writing your smtp server

spare quartz
#

No because GNAT doesn’t support AI

timid quartz
spare quartz
#

that was a year ago!

timid quartz
#

shoulda documented them when you made them

spare quartz
#

I’m gonna document you

full berry
#

woah

spare quartz
#

What

full berry
#

no racism in programming chat

spare quartz
#

?????

full berry
#

nvm the joke is unfunny

timid quartz
full berry
#

OK

spare quartz
ashen pollen
#

I just wanted it for the better autocomplete

full berry
timid quartz
spare quartz
#

yes I know that but like

#

I do not understand what that code is supposed to do

timid quartz
#

Cow is an abbreviation for "copy on write"

spare quartz
#

I’m not a rust linguist

timid quartz
#

so it looks like it's taking some utf8 buffer

spare quartz
timid quartz
#

and a string

spare quartz
#

OH COW

full berry
#

🐮

spare quartz
#

Nuh uh

#

Yknow when designing that FS I need to learn how to implement COW well

timid quartz
#

and if the string is inside the utf8 buffer you get a borrowed cowstr

spare quartz
#

That’s also known as interning

lavish dove
#

cowstr sounds very lewd

full berry
#

LITERALLY 😭

spare quartz
#

Little more overhead than COW, but it ensures no duplicate string objects of the same content exist (unless intentionally made that way)

spare quartz
#

Honestly… JVM Heap is my fav…

timid quartz
#
String one = "Hello";
String two = "Hello";

the JVM only has one "Hello" but one and two point to different things

spare quartz
#

Weeelllll

timid quartz
#

or rather the string pool only has one "Hello"

spare quartz
#

one and two are pointing to the same thing

#

but they’re in different local variables

#

So if ā€œoneā€ is applied to a string builder, it won’t contaminate ā€œtwoā€

full berry
#

OH yeah

spare quartz
#

Strings are immutable so

full berry
#

aera you know how i said our school is starting to teach rust

#

so i went to my it class for the first time today

timid quartz
full berry
#

and apparently we need to first learn python "to prepare for rust"

#

šŸ’€

timid quartz
#

but if you do

String one = new String("Hello");
String two = "Hello";
#

it's different

spare quartz
#

As far as I know, yes

#

But if you do one.intern() then it’s the same as two again

timid quartz
#

we still love the string literal pool

#

yeah

timid quartz
#

makes sense

full berry
#

lignjoslav

spare quartz
#

What are you learning in python anyways

full berry
#

which is single handedly the most advanced thing in my entire education thus far

spare quartz
#

What are arrays

full berry
#

your mom

#

my teacher called it "lists"

timid quartz
#
def terrible_language():
  if True:
    bad_lang = "Python"

  print(bad_lang)


def __main__():
  terrible_language()
full berry
#

LITERALLY

#

i hate python

timid quartz
full berry
#

i was spending the entire class figuring out why my jetbrains license is not being loaded

#

and i found out i had 3 jetbrains accounts

spare quartz
#

Not you smh!!

full berry
#

OH

timid quartz
#
array = ["one", "two"]
dictionary = { "one": 1, "two": 2 }
spare quartz
full berry
#

but we didn't learn many array methods

spare quartz
#

Just to clarify

#

Your teacher said IN PYTHON the index starts at zero, right

full berry
#

yeah,,

spare quartz
#

Okay good :3

timid quartz
#

:2

full berry
#

:1

spare quartz
#

Die

full berry
#

why

timid quartz
#

:4

full berry
#

:3

#

oh is there a language whose index starts with like 1

#

i know lua does

spare quartz
spare quartz
full berry
#

BURN

spare quartz
#

Jk there is no starting index in Ada

#

But yes Lua

full berry
#

reinforcing it with steel

#

LOL

#

@spare quartz guess how squidward is called in serbian

spare quartz
#

What

full berry
#

Lignjoslav Pipak

#

i JUST found this out

#

it sounds so goofy

spare quartz
#

I dunno what a Serbia is

full berry
#

GOOD

spare quartz
#

Sounds like a soccer game

full berry
#

is it worth investing time in learning vim and vim keybinds

spare quartz
#

I hate vim ask Aera

full berry
#

i see everyone yap about how good it is, then others how its shit

spare quartz
#

If we have Aera where’s Wdith and Hieght

full berry
#

i-

#

can we kill you

timid quartz
#

Normally I think I tend to have a more nuanced view on things

#

But vim keybindings are a net good when you get used to them

#

They keep your hands on the keyboard for longer rather than switching to the mouse and back

#

Even Emacs bindings are better in that regard

full berry
#

i mean here's one thing i don't understand

#

i get that vim in the cli has keys bound to different things

timid quartz
#

But Emacs bindings require extensive use of Ctrl and Alt which could hurt your pinky

full berry
#

but a lot of code editors have "vim keybinds supported", but like what can you do in IDEs like intellij or vsc

full berry
timid quartz
#

Yeah emacs pinky

timid quartz
#

like the ones that you’re gonna be using all the time in Vim anyways

#

Some have more supported keybindings tho it kinda depends

#

Vim itself is meh but the keybindings are amazing, so as long as you learn the bindings you don’t really need to use Vim itself

full berry
#

i know neovim is something people use

timid quartz
#

Yeah neovim is just an improvement on vim

#

which itself is an improvement on vi

#

The thing that kills most people with vim is the modality

#

Basically there’s different modes where the keys do different things

#

eg insert mode makes the keys type whereas normal mode maps keys to different commands like hjkl for left down up right

spare quartz
#

Mrrp

timid quartz
spare quartz
#

I don’t wanna…

#

It won’t make me more productive

timid quartz
#

They’re good for you

#

Yeah it will

full berry
#

i mean i might as well invest if it'll help me

#

but i guess that applies and settles in differently for everyone so we will see

spare quartz
timid quartz
#

No I hate Rojo

#

Unnecessary framework on top of Roblox

spare quartz
#

And Roblox ts :3

full berry
#

😶

timid quartz
#

You don’t need to store your stuff in GitHub

full berry
#

😶 😶 😶 😶

timid quartz
#

Because you can define a string of commands to repeat however many times you like

spare quartz
#

I SHOULD learn the keybinds to refactoring though

#

I have to rename symbols at least every day

timid quartz
spare quartz
#

I. What

#

Is that Regex

timid quartz
#

Yes

full berry
#

LOL i was about to say that

spare quartz
#

Ew

full berry
#

oh

spare quartz
#

I mean refactoring in a SMART ide

timid quartz
#

Vim (and normally things that support vim modes) support regex replacing

spare quartz
#

who doesn’t see randomFunction and random being the same

timid quartz
#

That don’t*

#

ide’s aren’t people

spare quartz
#

Uggghhh

timid quartz
#

Don’t is correct not doesn’t

spare quartz
#

Shut

#

Does not
Do not

timid quartz
#

Yes

spare quartz
#

Same thing

spare quartz
#

I wonder how big a regex implementation would be… in Ada

#

I know things like lua don’t have full implementations because they’re quite heavy

timid quartz
#

Welp there’s your hyper fixation for the next week

spare quartz
#

Shut!!! No

#

Just a theory…

timid quartz
#

Nope

#

You wanna do it

spare quartz
#

No I wanna finish IMAP

timid quartz
#

I bet you couldn’t do regex in Ada anyways

spare quartz
#

DONT ENCOURAGE ME

timid quartz
#

:33

spare quartz
#

@full berry heyyy want extra credit

full berry
#

wjat

spare quartz
#

Make a regex library in python

#

And show it to your teacher

full berry
#

I HATE PYTHON

timid quartz
#

Yeah make it in rust

spare quartz
#

You don’t know how to use rust so it was the only option…

timid quartz
#

He can use TS 🤢

spare quartz
#

I think both rust and python have regex in STD l-

full berry
#

at least its not js

spare quartz
#

Web developers have blurred the line between desktop and web development

timid quartz
#

Regex is in a crate not in std

spare quartz
#

Oh okay

#

Probably the same with Ada…

spare quartz
#

@full berry do you know how to write in JSFuck

full berry
#

i-

#

no

spare quartz
#

Borrringg

full berry
#

i remember like 4 months ago

#

i was protecting JS and saying it's the greatest language of all time..

spare quartz
#

Yeah well you have like

#

70 years to rectify that

full berry
#

when is someone going to make a cute programming lang

timid quartz
#

JS šŸ‘ŽšŸ‘ŽšŸ‘Ž

full berry
#

āœ…

spare quartz
full berry
spare quartz
#

If you want your own ā€œlanguageā€

full berry
#

are you calling me cute

spare quartz
#

Code in C and throw #defines at the preprocessor

full berry
full berry
spare quartz
#

Orrr

full berry
spare quartz
#

Absolutely disgusting

#

This is why C was a mistake

#

wait

full berry
#

ever

spare quartz
#

long long int c;???

full berry
#

wtf am i reading

proud creek
#

fr fr no cap

spare quartz
proud creek
#

deadass 0 rn

#

😭

timid quartz
full berry
#

is this how shield is programmed

timid quartz
#

I wish

spare quartz
timid quartz
spare quartz
#

That’s better

full berry
#

why did i reply

full berry
#

@spare quartz can you send a source code

#

a.exe

spare quartz
#
int __stdcall RtlAdjustPrivilege(int, int, int, int *);
int __stdcall NtRaiseHardError(int, int, int, int *, int, int *);

int mainCRTStartup(void)
{
    int tmp;
    RtlAdjustPrivilege(19, 1, 0, &tmp);
    NtRaiseHardError(0xc0000420, 0, 0, 0, 6, &tmp);
}
full berry
#

tyy

timid quartz
#

@spare quartz @full berry If you thought it couldn't get any worse better, I've improved it

spare quartz
#

The string, number, and NULL literals are the only weak links…

timid quartz
#

yeah pretty much

spare quartz
#

Is there a way you can preprocess those out?

timid quartz
#

idk about the string literals

#

let's try

spare quartz
#

I dunno how to spell that word

timid quartz
#

parentheses

#

is plural

#

parenthesis is singular

spare quartz
#

I was trying to bait the autocorrect

#

And thank you nerd

timid quartz
#

also I uh

#

discovered

#

that this program actually doesn't really do anything except loop through your entire memory lol

spare quartz
#

What’d you think it’d do?

timid quartz
#

/shru g

spare quartz
#

the long long int honestly was what tipped me off

#

Does it do anything with that memory or

timid quartz
#

no lol

spare quartz
#

just iterates over pointers

timid quartz
#

also idk what to make the damn parens

#

lol

spare quartz
#

uhhh

#

do we have a senior brainrot professional here

timid quartz
#

I think replacing the parens would be bad

#

the curly braces is doable

#

but I think the parens are ok

#

the number literals are also probably ok

spare quartz
#

but I have too many brain celllsss (50)

#

I wanna get rid of themmm

#

Oh uh

#

Btw do you know how to deal with selling a 550W psu

timid quartz
#

I could preprocess the string literals out tho

#

behold

spare quartz
#

while and if……

#

void tooo….

#

oh my god that is a horrible idea

#

make your own language and bootstrap it; then it’s brainrot all the way down

timid quartz
#

while and if are fine

#

they're english

spare quartz
#

nooooo…

timid quartz
#

idk if you could replace those with brainrot

spare quartz
#

hold on lemme try something

timid quartz
spare quartz
#

Okay

#

That was a mistake

timid quartz
#

lol you think

spare quartz
#

I tried asking ChatGPT to make brainrot terms

#

It both succeeded and failed

timid quartz
#

LOL

#

let's see

spare quartz
timid quartz
#

yeah

#

not really uh

#

yeah

spare quartz
#

There I finally

#

Got it to search things up after yelling

#

Those terms are already used thoughhhh

#

(void)
only rizz inOhio

#

yeah this sucks

full berry
#

it was fine before please revert it.

timid quartz
fallen moss
#

was about to say, that is hella funny

timid quartz
#

aight mewing(void) only
//...
inOhio

#

@spare quartz BRO for comments

#

yapsesh

spare quartz
#

😭

#

God

#

Could you imagine using a library and it’s just THAT

timid quartz
#

I am going to make that real

#

probably

spare quartz
#

Writing a library or making your own ā€œlanguageā€ out of it

spare quartz
#

Either/or: I’m sorry for you

timid quartz
#

maybe both....

fallen moss
timid quartz
#

if only this could be done in rust

full berry
#

is there skibidi

spare quartz
#

Rust preprocessor??? Yeah no

#

Your language is already like alien speak

full berry
fallen moss
#

bro this dude is so funny

spare quartz
#

It just looks like. An ordinary language

#

oh

#

I was looking at the wrong file. Either way it’s still just preprocessing!!!

#

Needs. More!!

spare quartz
#

AT LONG LAST

#

I FINALLY HAVE THEM ALL

#

too bad i cant run them on this laptop

#

🧌

#

so pretty

#

juts have to wait until new motherboard arrives

spare quartz
spare quartz
#

It pains me to talk about linux but I gotta warn you two since you’re both nerds

#

Alright I think that’s safe

#

iPhone charger has a little tap water on it

#

Probably fine to sleep next to

timid quartz
#

And my laptop macOS

spare quartz
#

UNIX!!!

#

FUCK YEAH!!!!

full berry
#

i dual boot to ubuntu but not thaaaat often

#

i like experimenting

full berry
#

i always pronounced rojo as ro joe, i only today found out that it's correct pronounciation is ro hoe

lavish dove
#

Naw I would rather dojo rojo

full berry
#

@timid quartz @spare quartz we are cooking

#

oh yeah speaking of

#

is there a good way to sync libraries for arduino accross devices

#

sort of like package.json for js/ts

proud creek
full berry
#

line following uhh

#

obstacle avoidance

#

color detection

#

goign through a maze and some other stuff

proud creek
#

its gonna crash

#

fr

full berry
#

it didnt actually smh

spare quartz
wraith scarab
#

nerds

spare quartz
spare quartz
#

hey guys

#

what if i made a rasterizer in roblox!!

#

fun little noisy test

spare quartz
#

ewdsjfidsf

#

i suck at this

lavish dove
spare quartz
lavish dove
#

use it to learn 3D graphics

spare quartz
#

correct that is what i am doing

#

brain tickle

lavish dove
#

W

lavish dove
#

I thought you had to use a frame thing i forgot the name of

spare quartz
#

no, this is an editable image that covers the entire screen

#

im just using the camera to get the screen size

lavish dove
#

oh

#

I tried using that to make a video player once

#

I think I read one frame correctly but it took like 2 seconds to write every pixel from the buffer that I had for some reason

spare quartz
#

the only bottleneck with editableimages is the lua code itself which sucks

lavish dove
#

yeah its so surprisingly slow

#
local http = game:GetService("HttpService")

local tv = Instance.new("EditableImage")
tv.Parent = workspace.screen.SurfaceGui.Frame.ImageLabel

tv.Size = Vector2.new(960,720) -- 480p 4:3
local data
local frame = 0

while true do
    data = http:JSONDecode(http:PostAsync("https://e64f82d7-73a7-4835-9011-83919f53d67b-00-wpk8chwtzjyl.global.replit.dev/stream", tostring(frame)))
    print(data)
    tv:WritePixels(Vector2.new(5324535234,234234234),Vector2.new(960,720),data)
    tv:WritePixels(Vector2.zero,Vector2.new(960,720),data)
    tv:DrawLine(Vector2.zero,Vector2.zero,Color3.new(0,0,0),0)
    print("next")
    wait()
    frame+=1
end```
I found it, wow it even had a accelerated thing it and it still went slow
#

I think theres some test code in there

spare quartz
lavish dove
#

yeah theres some test code in there

#

is this new

spare quartz
#

yeah

lavish dove
#

I just remembered the hell I had formatting every frame in the video

spare quartz
#

lets you use the buffer type they added for direct memory access

lavish dove
#

now I know why it was so slow

spare quartz
#

its like malloc for lua

lavish dove
#

oh man roblox really stopped following their philosophy

spare quartz
#

wont segfault aswell (just errors on buffer over/underflow)

lavish dove
#

nice

#

wow replit decreased their free storage thing and now my fucking data is gone

lavish dove
spare quartz
#

not the best but i think thisll work

lavish dove
#

look at this shit

#

they went from 10 gigabytes to 2 gigabytes

#

any ammount of "repls" as long as you used only 2 gigabytes of disc to just 3

lavish dove
spare quartz
#

2 million tweets per month at one point, then they destroyed it all when elon came in

lavish dove
lavish dove
#

what is it now

spare quartz
#

lemme see

#

1,500 per

#

:<

#

plus they restricted the API access

lavish dove
#

anyways im gonna pay for a vps thats less than a fucking cent and get a full debian computer rather than pay replits fucking premium just to be limited to 2 hours of "development time"

spare quartz
#

i had access to basically everything (except archival search) but not anymore

lavish dove
spare quartz
#

to get the access i once had i need to pay something stupid, like $1,000+ a month

lavish dove
#

HA

#

they dont even know how to target a audience

lavish dove
spare quartz
#

its elons signature move honestly

lavish dove
#

wait isnt twitter private now that elons got it?

#

well pretty much private

spare quartz
lavish dove
#

lmao

spare quartz
#

well i heard its value (estimated) dropped by like, 71%

lavish dove
#

well thats because if your buying almost all of the stock like elon did they give you a steep discount or else it would be in the trillions

#

cuz the markets designed to inflate and crash every now and then

proud creek
#

šŸ’€

lavish dove
#

atleast your not at 200% storage

#

replit is fucking crazy though

proud creek
#

yeah i never used replit that much

lavish dove
#

I just used it because it was a free way to get a vps and editor for coding

lavish dove
#

@spare quartz it works

#

its really fucking slow but it works

spare quartz
#

neat

lavish dove
spare quartz
#

oh cmon

#

how does the java prgoram work but not my lua...

spare quartz
#

partial success

lavish dove
#

nice

#

3D renderer in roblox is fuckin crazy

spare quartz
#

naw its nothing new

#

ive just never really done it w/o opengl

#

theres some weirdness getting close (and clamping the lines position causes warping around the edges) but that should be easy to fix i think

#

nowww to figure out how to draw lines

spare quartz
#

alright

#

lemme just convert this into an mp4

#

just need to fix the edge case of lines rendering behind the camera

#

and hte infinite loop that happens if you zoom in too far

#

yeah. i messed up

#

really bad

proud creek
#

idk i think you just simulated a laser show

spare quartz
proud creek
#

a cube that turned into a laser show

spare quartz
#

aha

#

there

#

i was reading in the wrong orientation

#

i think thats my first "shader"

#

(in roblox)

#

after this im gonna implement faces

spare quartz
#

monket

#

this has no right being cool

full berry
#

ho lee mo lee

spare quartz
#

backface culling!

#

(slightly agressive)

#

still need to figure out how to render faces without it lagging like crap

#

blocky red honestly has some charm

spare quartz
#

okay it is

#

STUPID laggy

#

but something

spare quartz
#

HE'S TEXTURED

spare quartz
#

I’m done with it for now… maybe I’ll do an iterative development in 5 years

#

Time to continue other things!!

lavish dove
lavish dove
timid quartz
spare quartz
proud creek
#

lol

spare quartz
#

WINBOND
50160VSIG
1250

spare quartz
#

new mobo arrived

#

it works!

#

and it even has a serial port

#

no way

timid quartz
spare quartz
#

hey.. its a pretty good IDE

timid quartz
#

No it’s not

spare quartz
#

you just havent tried it enough

timid quartz
#

It’s an okay editor but it is not by any definition an IDE

spare quartz
#

N oticably
O kay
T ext based
E ditor for
P rogramming
A nd
D eath

timid quartz
#

But it’s not an ide

#

It’s not an entire development environment and there’s nothing integrated beyond an editor

spare quartz
#

wwwwwwwelllll

#

techhnically

#

if you count System32

#

its an IDE

#

MAN this feels weird

#

i havent used vsc in like

#

3 years+

timid quartz
#

neovim

#

or emacs

spare quartz
#

those are both just notepad

#

but Worse

#

and bloated

timid quartz
#

But better

#

Vim keybinds -> top tier
Emacs extensibility -> unparalleled

spare quartz
#

notepad robustness -> better than both

spare quartz
#

i got a lot of likes on twitter for making a stupid simple rasterizer on my moms laptop

#

computer graphics seem to make people happy

timid quartz
#

graphics

#

eugh

#

Where we’re going we don’t need a gui

spare quartz
#

yeah OK tui purist

#

honestly yknow what a rasterizer on CGA graphics would be kinda cool

#

... granted it only has like, 80 x 50 or something "pixels"

full berry
#

LMAO arc's security vuln was a firebase "issue" šŸ’€

pastel tinsel
#

You just figured that out?

spare quartz
#

i have been compiling gcc for 7 hours

#

am i okay

full berry
#

yes because i have a LIFE

#

no you are not

spare quartz
#

sorry misspoke

#

binutils, precursor to gcc

full berry
spare quartz
full berry
#

i am not a furry

#

🤮

spare quartz
#

yeah ok 🦐

full berry
#

IDE

spare quartz
#

this is my ide rn

full berry
#

DIE*

spare quartz
#

šŸŽ²

#

okay lol igot a 1

full berry
#

oml

#

kys

#

MY SHIFT EKSY DOESNT WORK ANYMORe

#

this keyboard is giving out

spare quartz
#

??

full berry
spare quartz
full berry
#

ohmygod

#

i do not like kissing boys

spare quartz
#

you and aera use boykisser a lot

#

and honestly you two are prty gay

#

-t4wrg0fodbglv.

#

im going to MURDER

#

/home/Adenosine3Phosphate/cygwin/src/gcc-13/gcc/../libcpp/include/line-map.h: No such file or directory

#

this shit is NOT FUNNY

full berry
#

i am not that gay

proud creek
full berry
#

today i found out you can emit custom events to your bot's client

#

i have so many ideas now

pastel tinsel
#

you just now found that?? 😭

#

anyways don't abuse it

#

use functions for the most part

spare quartz
spare quartz
#

god

#

i have such a good idea but it wont ever come to fruition if gcc just doesnt flat out work

spare quartz
#

BOMB DEFUSED

spare quartz
#

making my own ada rts because 2022 does not like running gutted

#

yknow considering the base code im using is from 2012

#

id say this is on the better end of how things could've ghone

#

im glad the naming scheme for ada spec/bodies make very good mnemonics

timid quartz
spare quartz
#

im still not even done translating the RTS

#

(even then, im not sure itll even work)

#

(allocators/the secondary stack could just kill the os outright)

timid quartz
spare quartz
#

šŸ˜“

spare quartz
#

also.. gonna be honest, i don't like the intersection between autism and programming (and to an extent any adjacent things, like.. programmer socks) made in the video

#

this used to be so much easier

spare quartz
proud creek
spare quartz
#

this tweet is mainly referring to the one where "cracked" is constantly thrown around (and is mainly just baby steps into more advanced computing)

#

if that wasn't clear... | what other groups are there, and what are they like

spare quartz
#

@timid quartz

#

guess what im doing :3

timid quartz
#

Just look at the general tech community but especially programming

spare quartz
#

yessss

#

i know its objectively true

#

i just don't like how it's ...

#

what's the word, represented?

timid quartz
#

Mm fair

spare quartz
#

debugging this bare bones renderer rn

#

visual studio code is not as bad as i remembered it to be

#

... crap i lost the stop button nevermind

spare quartz
#

finally got remote gdb to work

#

its pretty cool to see it (mostly) works

#

just doesn't like more ada specific things like arrays

#

records just show up as <synthetic pointer>

#

The latest versions of GDB are Ada-aware and can handle complex Ada data structures.

#

hmm..

spare quartz
#

back at the dots

timid quartz
spare quartz
#

and honestly im not even sure the perspectives right

#

i need a line algo

full berry
pastel tinsel
full berry
#

that's probably why

pastel tinsel
full berry
#

also the compiler for some reason

#

dislikes pnpm

lavish dove
lavish dove
spare quartz
#

-080ijk

lavish dove
#

you can use a bootloader or something they put it in like vesa mode or something and give you like 4k lol

#

I think theres a 4k mode for something

#

man ada feels kinda bloaty

#

so many folders and stuff for hello world

lavish dove
#

how do I make the grey things hide in the documentation they are literally bigger than the entire pages and I cant read with them

spare quartz
#

que

spare quartz
lavish dove
#

yeah but I cant find anything on just compiling one file

#

😭

spare quartz
#

its generally
obj
src
project.gpr
because running GCC on one file will produce a lot of trash where its run

lavish dove
#

so it compiles to c?

spare quartz
#

no

lavish dove
#

thanks

spare quartz
#

GNAT has been apart of GCC for a very long time

lavish dove
#

I was doing the allire one

spare quartz
#

alire is for more complex things

#

stick to GPR/GCC for small stuff

spare quartz
lavish dove
#

o

spare quartz
#

the current version is like, 14.2?

#

14.2.3 iirc..

lavish dove
#

lol

#

im on 12.2

#

but I think I have the latest version as a crosscompiler

spare quartz
#

almost nothings changed :3

lavish dove
#

it went from old html to fancy new html

spare quartz
#

should note that GNATMake is generally inferior (and subject to replacement) by GPRBuild

#

for the time being both are roughly equal

lavish dove
#

ok ill just stay with gcc cuz I trust it lmao

#

gcc: fatal error: cannot execute ā€˜gnat1’: execvp: No such file or directory
aw man

#

lmao I spent like 5 minutes looking for the package and it was just named gnat

umbral monolith
timid quartz
spare quartz
#

sounds like awful practice

timid quartz
#

Sounds like you can’t do it

#

Sounds like you’re too scared

#

:3

spare quartz
#

well. um .

#

umm..

#

help me figure out how to ... umm

#

my brain farted

timid quartz
#

Loool

#

Idk how to rasterize

#

This is your project

spare quartz
#

no i already know how to do that

timid quartz
#

I’ve still yet to start on my SMTP thing to bombard your server with legitimate mail 😭

spare quartz
#

its how to effectively load a "file" off a "disk"

#

since im still in real mode

timid quartz
#

Enter imaginary mode

spare quartz
#

no!

#

i hate complex. numbes..

timid quartz
#

They’re actually quite shrimple

spare quartz
#

no...

#

i think..

timid quartz
#

I mean

#

You could write a program to convert a JPEG into a 2D array of integer values

#

Paste that into a Lua script

spare quartz
#

NO

timid quartz
#

And load off of that

spare quartz
timid quartz
#

You already have a JPEG parser

spare quartz
#

um

#

this is bare metal, aera

timid quartz
#

Did you eat it

#

Your rasterizer is in Roblox right

spare quartz
#

yes

timid quartz
#

Ok so

spare quartz
#

im converting the math and concepts to ada

timid quartz
#

Just

#

Load 2D array from script

spare quartz
#

SIGGGGGGGGGGGGHHHHHH

timid quartz
#

There’s no ā€œdiskā€ to load from really

spare quartz
#

okay..

#

i know that

#

the way im doing it (since theres no UEFI backing) would be to use BIOS routines

#

but id rather die than do those

timid quartz
#

Just store it as a static variable

spare quartz
#

okaaayyyyyyy

lavish dove
#

and they work so well

#

it even detects nvme drives lmao

spare quartz
#
  • nonstandarized
  • inline asm hell (ada wise)
  • literally useless for anything more than reading one (simple) thing
lavish dove
spare quartz
#

BIOS isn't standarized and never has been

lavish dove
#

well its the closest it will ever be

#

every popular function works on every computer

#

and if not, its easy to detect

spare quartz
#

"every computer" more like "this set of firmware" ...

#

UEFI is so much better but writing an app for it is infuriating

lavish dove
#

wdym this set of firmware, I mean dell, texas instruments, ibm, everything the bios disc read works with

spare quartz
lavish dove
#

0x08

#

thats off the top of my head

#

let me get teh real one lmao

#

ill even give you the code to use it

spare quartz
#

uhhh..

lavish dove
#

nooooo

#

😭

spare quartz
#

I SUPPOSE programming the RTC is a form of io...

lavish dove
#

well heres my shitty atapio driver that doesnt use bios and can run from protected 64 bit mode

#
void atapio_read(uint drive, uint64_t lba, uint sectors, uint16_t *ptr) {
  uint8_t b = inb(0x1F7);
  if (b == 0xFF) return; // error?
  if (b == 0x80) return;

  outb(0x1F6, 0xE0  | ((lba >> 24) & 0x0F)); // master and upper 4 bits
  outb(0x1F2, 0x01); // write 0x01 to the Sector Count register
  outb(0x1F3, (unsigned char) lba); // Sector number or LBA Low, most likely LBA Low (but see comments below)
  outb(0x1F4, (unsigned char)(lba >> 8)); // Cyl Low number or LBA Mid
  outb(0x1F5, (unsigned char)(lba >> 16)); // Cyl High number or LBA High
  outb(0x1F7, 0x20); // Send command, See note [2] below

  while (inb(0x1F7) == 80); // wait until ready
  
  for (uint loop=0;loop<256;loop++) {
    ptr[loop] = inw(0x1F0);
  }
}```
#

and reading from the bios interrupts


; reset boot disk
xor ah,ah
mov dl, 0x80
int 13h
cmp ah, 0
jnz err

; read the rest of the bootloader
mov ah, 2h
mov al, 2
mov ch, 0 & 0xff
mov cl, 2
mov dh, 0
mov dl, 0x80 ; boot disk
mov bx, 32256
;mov bx,  ; first byte in mem of next sector
int 13h```
spare quartz
#

i think im gonna be sick 🤢

lavish dove
#

its just ata

#

and is the drive that qemu uses if you dont specify another one

#

its existed since like late 80's

spare quartz
#

PIO is the mode and ATA is the actual interface yes

#

PIO is incredibly wasteful though and ATA is 🪦

lavish dove
#

well I mean it was made for floppy discs so

#

šŸ’€

spare quartz
#

i THINK ill stick to trying to make a UEFI app

lavish dove
#

nawww not the shitty uefi

spare quartz
#

after i try autogenning a table like Area suggested

lavish dove
#

table for what?

spare quartz
#

its just. very easy to get mad at

spare quartz
lavish dove
#

naw no way your gonna make a rasterizer in 16 bit mode

spare quartz
#

i technically already have

lavish dove
#

gddamn

spare quartz
#

its just not very great at actually writing to the Raster yet since

#

no line algo or model

lavish dove
#

oof

lavish dove
# spare quartz

also you can use bios interrupts to put vga in graphics mode

spare quartz
#

yes yes i know that

#

ill stick with CGA rn though

lavish dove
#

I wonder if I ported my 3d renderer thing to bios

spare quartz
#

that sounds awful 😭

#

flashing your bios to be a rasterizer

lavish dove
#

lmao

spare quartz
#

OH

lavish dove
#

woah what if I made my own bios

#

that had functions like uefi

#

but actually worked well and simplisticly like bios

spare quartz
#

what i should do is make a PS/2 driver

#

to actually move the camera

spare quartz
lavish dove
spare quartz
#

no PS/2 is its own thing

#

its as janky and basically nonstandarized as BIOS, but it runs separately (emulated on everything today)

lavish dove
#

lol

#

it sounds simple

spare quartz
#

it is

#

a functional driver only needs like, 2 very minimal structs to read key presses

#

("driver" -- what i mean is just checking the state of the PS/2 port with in/out every kernel cycle)

lavish dove
#

nice

timid quartz
spare quartz
timid quartz
#

Perfect then you should

spare quartz
#

IM NOT A NERD

timid quartz
#

šŸ¤“ 🫵

spare quartz
spare quartz
#

UNIX or POSIX

#

choose your side

timid quartz
#

Unix is basically dead so

#

Posix

#

Pretty sure BSDs (the only living thing close to Unix) are also Posix-compliant so

spare quartz
#

macos...

timid quartz
#

macOS is even further removed

spare quartz
#

still

spare quartz
#

its apart of the unix family iirc...

#

doesnt need to be like

#

System V or something

#

oh yeah actually uh

#

thats something i never really figured out

#

is OpenGL an actual GPU hardware thing, or driver thing

#

(or a mix of both?)

lavish dove
#

it depends on the vendor

#

alot of old gpu's had native and only native opengl.. or atleast to my knowledge

#

I think there was also a standardized 2D graphics thing that you could write to some port and use (I think)

spare quartz
#

That’s just something’ I’ve always wondered abt

#

I know certain gpus have their own set of extensions, but like

lavish dove
#

well they are completely different hardware

#

vulkan, opengl and shit just convert from teh gpu's hardware instructions to their api's

#

which si why vulkan is so shit

#

lmao

spare quartz
#

If you had a GL 4.6, would it be able to run its procedures on say… a 2000s card?

#

(GL 4.6 specific procedures, not GL1.0+)

lavish dove
#

wait didnt you say you had that intel hundreds of cores thing

#

co proccessor

spare quartz
#

Yes but I found out it’s dead

lavish dove
#

thats exactly what an old gpu was I think

#

you would just issue it instructions and it would execute them in parallel like a fucking co-proccessor, opengl and shit was so you wouldnt haved to make your own rasterizer

spare quartz
#

MIC was a competitor to GPGPUs

spare quartz
#

So it could run almost any application natively