#💽Programming Chat v2

1 messages · Page 33 of 1

full berry
#

yeah but lets be honest do

timid quartz
#

Discovery on and/or public invite link

full berry
#

condo games publicaly advertise their links

timid quartz
#

I'm not sure where he gets his data from

full berry
#

there's always going to be that one bad egg that will tear everything down if it does happen

#

there's no way he doesn't get it from bot accounts

#

unless you like have random ass people run api calls for specific servers???

timid quartz
#

¯_(ツ)_/¯

pastel tinsel
#

Oh hey aera

full berry
#

kms honestly

pastel tinsel
timid quartz
#

ill look at it later i gotta get ready for class

full berry
#

oh my god did you still not fix that docker thing 😭

#

what's the pissue even

#

oh shit guys i said piss im now on the list because i'm into a weird fettish

pastel tinsel
#

GitHub’s docker repo requires login to pull images

full berry
#

cant you use a

#

PAT

pastel tinsel
#

Well then you gotta use dind

timid quartz
full berry
#

i think he means in CI

pastel tinsel
#

and I did use PAT and when I pulled the image it failed

full berry
#

bruh

#

i hope i never will ever have to make a docker image

full berry
#

is that authentik

#

yes it is

pastel tinsel
#

we have always used authentik

timid quartz
pastel tinsel
#

it works eith ldap

pastel tinsel
#

Bruh

timid quartz
#

dies

pastel tinsel
#

Login without oauth in gitlab

#

At this point

#

dind is ass

full berry
#

tf is dind

pastel tinsel
#

docker in docker

full berry
pastel tinsel
#

like dude what

timid quartz
timid quartz
pastel tinsel
#

Idea

proud creek
#

Mango mango mango

#

Also it’s funny cause we were gonna use it but the list is literally censored

spare quartz
#

just woke up but

#

🧠 🤸‍♂️

proud creek
#

Yeah lmao

spare quartz
#

TIL

#

GNAT has a memory tracker built in

#

damn

timid quartz
#

and also valgrind

spare quartz
#

it's also moderately advanced and can hook up to gnatmem

#

which i think is pretty cool

timid quartz
spare quartz
#

heres the full spec

timid quartz
#

I dont wanna read your stinky spec

spare quartz
#

cause yours is inferior.

timid quartz
#

I think you misspelled superior

spare quartz
#

counterpoint

#

GNAT.Debug_Pools has existed longer than zig

timid quartz
#

counterpoint

#

Ancient language

spare quartz
#

nuh uh

timid quartz
#

yuh uh

#

Ancient

spare quartz
#

mmm

#

m,,mmmmmm

#

i dont know what to work on

#

i cant optimize my server further without using syscalls

hybrid hornet
#

Then what do you recommend?

spare quartz
#

but then you lose the giant part of ada where it exists everywhere

timid quartz
#

MariaDB and PostgreSQL are the two big ones

#

There are a limited number of cases where a document store DB like Mongo would be preferable, but most data will benefit from the “relational” part of a relational DB

spare quartz
#

qusetion sincei never really understood

#

whats the benefit of a database over like

#

just a csv file

timid quartz
#

Organization and storage space are two big ones I can think of

#

CSVs also aren’t ACID compliant (atomicity, consistency, isolation, durability) which does wonders for data integrity

spare quartz
#

oh

#

i wonder if this would ever be useful to use in the future..

timid quartz
#

I can type out something longer when I sit down

spare quartz
#

damn, none of my projects could benefit from persistence now that i think about it

hybrid hornet
timid quartz
#

I'd still argue that your data is structured enough to get benefits from a relational database

#

I'm guessing this is for like a Discord bot or smth

hybrid hornet
#

Discord bot yea.

timid quartz
#

I'd still argue that your data is structured enough

#

But there's a better argument for MongoDB in your case

timid quartz
# timid quartz I can type out something longer when I sit down

@spare quartz so imagine the data that QDF deals with, we'll say like operatives and patrols
if this were stored in a csv, it'd look something like

discord_id, roblox_id, rank, patrol_start, patrol_end

consider that if the same person goes on multiple patrols, we end up with duplicated data (discord_id, roblox_id, and rank)
and consider what happens if we want to store more data about operatives, consider how much more data has to get stored in that one csv

in a relational database, there would be two tables, one for operatives and one for patrols

// operatives table
operative_id, discord_id, roblox_id, rank

// patrols table
// operative_id references the operatives table
operative_id, patrol_start, patrol_end

now you may just say "why not use 2 csv files" and yeah that's valid, however if you use a relational database, the database system is optimized for querying across multiple tables and would probably be more performant than having to use two csv files

#

and I'd imagine InnoDB (the most popular storage engine) has way better storage sizes than two massive csvs

spare quartz
#

ah

#

damn now i wanna make a database engine

timid quartz
#

For example, the QDF database right now is a little under 36mb

spare quartz
timid quartz
#

303 operatives stored, 43950 patrols, 347 strikes

#

just under 36mb

#

it took 0.010 seconds (a centisecond?) for mysql to count the patrols

spare quartz
#

a hundredth of a second works fine

#

but neat

#

okay i think im gonna try and learn SQL and make my own database

#

i wont have anything to test it on though so... ill figure that out...

timid quartz
#

wdym test it on

spare quartz
#

no projects i've made have any reason to have any form of persistence

timid quartz
#

oh ic

#

well....

#

if you want to add logins to your little website

spare quartz
#

well

#

the "plan" for that if its ever gonna be executed is to just have like

#

a file of users and passwords

timid quartz
#

or you could make a database system :3

spare quartz
#

mmmm

#

send me your database file for qdf as a test sample

#

👍

timid quartz
spare quartz
#

boooring (but fine)

#

how large is it

timid quartz
#

the qdf one? 36mb

#

idk about the other one

spare quartz
#

do i write a PUT feature in my server or have you send it over discrod...

timid quartz
#

write put

spare quartz
#

okay 👍

timid quartz
#

relational databases are made for stuff like this
this basically finds the time an operative spent patrolling in a month

select 
  Operative.roblox_username as 'Name', 
  sum(timestampdiff(MINUTE, Patrol.start_time, Patrol.end_time))
    as `Total Time` 
from Patrol
inner join Operative on Operative.id = Patrol.operative_id
where Patrol.start_time >= '2024/01/01'
group by Operative.roblox_username
order by `Total Time` DESC;
spare quartz
#

theres one thing that irks me about people talking about databases though

#

like occassionally i'll be told they just store JSON strings in them

#

and i wonder what's the point, why not binary data

timid quartz
#

mm yeah

#

storing json data in a column is a bit weird

#

it COULD be useful but idk properly integrate it with your database

spare quartz
rustic vine
spare quartz
rustic vine
#

I was in the process of pinging u

rustic vine
rustic vine
timid quartz
#

not seen yet

rustic vine
spare quartz
#

nice and tidy

#

dont need that goto anymore actually..

timid quartz
#

<<Send>> 🤢

#

horrid

#

gross

spare quartz
#

mo.

timid quartz
#

terrible

spare quartz
#

I KNEW YOUD SAY THAt

#

anyways gotta write separate files now

rustic vine
#

f<<T>>()

hybrid hornet
rustic vine
#

What

#

Oh

#

For sending over network?

hybrid hornet
#

No, just for storing.

rustic vine
#

Whats wrong with using json

#

It's just text in a format

#

You'd be hard pressed to actually hit any significant size

#

And if you do I'd argue you should've designed to use a diff format from the get go

spare quartz
#

okay neat

timid quartz
#

that's not postman

spare quartz
#

insomnia

rustic vine
spare quartz
#

😭😭

timid quartz
#

fr]

spare quartz
#

theres still a tiny vulnerability i need to fix but you can't cause it with any http client

#

should be easy to fix though

rustic vine
# spare quartz

Port 7777? How am I gonna serve my Just Cause 2: Multiplayer Mod Server now?

hybrid hornet
rustic vine
spare quartz
#

ill uhh

#

multiplex the requests into terraria server packets

rustic vine
#

Or the Super Foosball multiplayer gameplay

spare quartz
#

👍

rustic vine
#

Now I can't play SCP: Secret Laboratory Multiplayer Server

rustic vine
hybrid hornet
timid quartz
#

and then you hit em with a nice

#
SELECT `Role`.`setting3` FROM `Role`
INNER JOIN `Server` 
  ON `Server`.`server_id` = `Role`.`role_id`
WHERE `Server`.`server_id` = 'whatever';
#

@spare quartz niko83c

rustic vine
#

what size are you hitting? I don't see it going over 100mb unless you've stored like a million servers or something

#

sure json might not be the best format to manipulate this data in, but thats besides the point

spare quartz
# spare quartz

also added Create_Path in case you wanted 1 billion nested dirs

hybrid hornet
timid quartz
#

@spare quartz ugh it’s really looking like I’m gonna have to use selenium for this whole art scraper thing

#

Because for some reason APIs are so sparse

#

Or locked behind fucking paywalls

spare quartz
#

welcome to the modern web ☹️

spare quartz
#

@timid quartz do you have a way to upload files via put

timid quartz
spare quartz
#

(method PUT)

timid quartz
#

that's your local ip

spare quartz
#

ugh

#

javart.zip

timid quartz
#

ok did you get that

spare quartz
#

tiny

#

theres so many

timid quartz
#

zip bomb :D

#

ok let me get the actual thing

spare quartz
#

:<

timid quartz
#

or something with data

spare quartz
#

idk

#

whatever database data file there is

#

so i can try and replicate it in my structure

timid quartz
#

mk

#

done

spare quartz
#

c:\users\adenosine3phosphate\desktop\http operations\employees.sql 4194 / 4193

timid quartz
#

that's just the schema

spare quartz
#

COPYRIGHT 2008?

#

ancient

#

anyways thats a \lot

timid quartz
#

not rlly

spare quartz
#

yes really..

#

to someone who's not really used a databsae

timid quartz
spare quartz
#

ugh fine

#

done

timid quartz
#

nope

spare quartz
#

try again

timid quartz
#

ok now im done

spare quartz
#

c:\users\adenosine3phosphate\desktop\http operations\teehee.mp4 1 / 1810588
Terminated copying of c:\users\adenosine3phosphate\desktop\http operations\teehee.mp4

#

stop terminating your copies!!!

timid quartz
#

IM NOT TERMINATING THEM

#

it's curl's fault

spare quartz
#

it'll destroy them if the other socket closoes 😭

timid quartz
#

idk handle curl properly

#

cause we all know curl is right

#

anways I'm done uploading

spare quartz
#

stoopid

timid quartz
#

watch

spare quartz
#

watch what

timid quartz
spare quartz
#

area i cant

#

😭

timid quartz
#

why not

spare quartz
#

because they got terminated

#

i can watch mrje6vth cause it has an id in it

timid quartz
#

魔魔魔魔 マジカル・アンド・ミラクル
この広い世界-
かわい かわい カワイぁぁ むずかちゃあぁぁぁ💥

spare quartz
#

STOP ADDING LYRICS TO RANDOM BAYACHAO VIDEOS ⚠️

#

【歌詞】
たくさん遊んでサンキュッキュ(サンキュー)
ありがとさーん
メルメルメルメルメルシー
オッオッオッオッオブリガード
シュクシュクシュクシュクシュクランラン
スパスパスパスパスパシーバ
もっとあそぼ!(サンキュー)

↓元ネタ
https://www.youtube.com/watch?v=08W9VWUdkjI

▶ Play video
#

also ow

#

im cooking pizza and dropped it while it was stilled wrapped and icy on my foto

#

i hate cooking

#

まずいよ。また遅刻だ!!はやくも遅刻魔の異名をとってしまう。

full berry
#

Dude I need to move my Mariadb instance from windows to linux

spare quartz
timid quartz
spare quartz
#

so addin gl yircs.

#

my pizza still isnt cooled sown..

full berry
#

Who tf eats cold pizza

spare quartz
#

um yeah you see

#

my pizza is about 300 degrees

#

doesnt seem edible

full berry
#

Brug

#

Did you cook it in a pwr why is it that hot

spare quartz
#

cause i wanted it fast

full berry
#

Brug

spare quartz
#

yooooooooo

#

YOOOOOOOOOO

#

IT FINALLY GOT SHIPPED

#

💪

hybrid hornet
full berry
#

What are the different SQL join operations when sending a query

spare quartz
#

okay

#

this db stuff is confusing

#

where do i even start

rustic vine
spare quartz
#

both

#

i dont know where to start on "writing a db"

rustic vine
#

what are you trying to achieve

spare quartz
#

well from what i can tell

#

something that resembles a relational db and can execute sql

#

but ascertaining what i want completely requires information i do not possess right now

rustic vine
spare quartz
#

yes

#

beacuse im bored

#

and the alternative is ftp

rustic vine
#

huh wait what

spare quartz
#

i write things its what i do

rustic vine
#

how is ftp the alternative

spare quartz
#

i need to code things or i will cease to exist

rustic vine
spare quartz
#

its very simple to understand

rustic vine
#

I got nothing for how to make a db im sorry

spare quartz
#

damn

rustic vine
#

I've unfortunately not made a db before

#

and instead fell prey to "oooooh use this already existing one"

spare quartz
#

sorry thats just incompatible with my existence

#

it happens

rustic vine
#

no yea I know that

spare quartz
#

isnt that one document based or whatever the nerds call it

rustic vine
#

ye

#

are you looking for sql

#

oh, you said you were

#

my fault gang

spare quartz
#

i dont exactly know where sql lies in the chain between management software and actual db software so

#

i just want something to be able to execute it

rustic vine
#

sql is usually used for relational dbs

#

mysql is source available too I think

timid quartz
#

Databases implement parts of the SQL standard (I don’t think any implements it in its entirety) and use the SQL language as a way to query the data

spare quartz
timid quartz
#

Yeah

timid quartz
#

To store data silly

spare quartz
#

okay

#

i know that

#

but how are they actually used in code

timid quartz
#

Baaaaka

#

In code

spare quartz
#

omg

timid quartz
#

Hold on lemme sit down

#

Gotta put groceries up

spare quartz
pastel tinsel
#

My feelings on MariaDB are mixed

#

I wish they had like proper boolean values

#

Postgres does

timid quartz
#

I'm not sure about in other langs but in Java there's normally a "driver" that handles the actual talking to the database and exposes some higher-level abstractions and libraries use the driver

spare quartz
#

oh so

#

there isn't like a specification between driver-db communication

#

just a common interface on the driver itself

timid quartz
#

I mean if you looked at the database's docs you can probably find how the driver is talking with the db\

spare quartz
#

thats irrelevant to me

#

i just need specifications and i can sort out anything "implementation defined"

timid quartz
#

Well it depends if you're going to use a pre-written driver or write your own

spare quartz
#

hmm

#

well ODBC would be cool

timid quartz
#

mm yeah here you go

spare quartz
#

but

#

:despair:

#

thats not secure!!!

#

you don't compress TLS traffic before OR after encryption

spare quartz
#

RIGH*T

timid quartz
spare quartz
#

String (1 .. 10 )

#

❤️

#

hey guys

#

this is becoming a trend

timid quartz
#

UGH

#

Android has NO WAY TO COPY IMAGES

spare quartz
#

yes it does

timid quartz
#

Only to be greeted by the only option being to copy a link

spare quartz
#

umm

#

screenshott..

timid quartz
#

When I can copy the image on iOS!!!!!

spare quartz
#

ugh my cat keeps mewoing

#

shes stupid

#

and iditoic

timid quartz
#

Takes after you :3

spare quartz
#

no shes braindead

#

and

#

whenever seh shes a cat

#

she growls

spare quartz
#

aera help the lost child

full berry
#

I am a lost boyyyyy from neverlaannnddd

#

Usually hanging out withhh Peter paaaaannn

rustic vine
#

iirc theres inner joins, left/right joins and complete joins?

full berry
#

I tried

rustic vine
#

hold on

#

oh they are called full joins

full berry
#

What 😭

rustic vine
#

wym what brah

full berry
#

It's 6 in the morning

rustic vine
#

I responded with the different joins and you just said what

full berry
#

What do they do exactly

rustic vine
#

they join 2 or more tables together

#

for querying

full berry
#

Hm

#

What do different joins do

rustic vine
#

say you have a table A

ID  Name  Email
1   Harry [email protected]
etc..

then another table B

ID  Role
1   Intern
SELECT a.id, s.name, s.email, s.role
FROM A a
JOIN B b ON a.id = b.id
spare quartz
#

it took me a second of watching youtube videos befoer i gave it a second look

#

however i will be reading the sql...specification since guessing syntax usually doesnt work except for http

rustic vine
# full berry What do different joins do

inner joins select all matching rows from all tables
left/right joins select all rows from the left/right table in the join operation
full joins combine all rows from all tables

#

think of inner joins as intersections, left/right joins as just set A and B, then full joins as unions of both sets

#

JOIN is implicitly an INNER JOIN

spare quartz
#

i hate iso

spare quartz
#

lets see

#

a lot of ISO documents aren't very well written to implementors so

#

hopefully thats also different here

#

Unfortunately, Sci-Hub doesn't have the requested document:

ISO/IEC 9075-1:2023

#

damn

#

thank god vsc is an electron app so i can read pdfs in it

full berry
#

Hmm ic

spare quartz
#

YOOOOOOOO

timid quartz
#

There's also "natural join" where the database does an inner join by guessing what column to join on but it's rarely used

rustic vine
#

Nice graphics very fancy

full berry
timid quartz
#

It doesn’t make much sense to do joins without some kind of foreign key

spare quartz
#

the replies to this image on twitter range from sane "debug/static build" to "i thought it was memory safe??"

timid quartz
#

-O is short for opt-level=2

#

let's see 3

#

stil 416k

#

seems that the smallest it can go is 416k

#

364k* with lto

timid quartz
#

and if data is related then it probably has some kind of foreign key relationship

#

and you typically use primary keys for this because primary keys are guaranteed to uniquely identify an object

#

you could also use a unique non-primary key though

#

but you'd usually have something like

CREATE TABLE `Table1` (
  id INT,
  -- whatever else
  PRIMARY KEY (id)
);
CREATE TABLE `Table2` (
  id INT,
  table1_object INT,
  -- whatever else
  FOREIGN KEY (table1_object) REFERENCES Table1(id)
);
#

there are a few different ways to set up the relationship depending on what you need it to do but that's kind of the basic foreign key example

full berry
#

I honestly never used foreign keys in my projects but seeing how they work, the implementations I used could very well be replaced with this

timid quartz
#

You CAN do joins without explicitly defining foreign keys like this

#

It IS possible

#

But the columns you’re using in the joins are probably basically already foreign keys or can be easily turned into them

#

I’d imagine that setting up foreign keys in the schema gives your database opportunities to optimize

spare quartz
#

hmm

#

i wonder if this is how compilers work

#

im looking at the sql code and im just thinking like

#
type Entity is (TABLE, DATABASE, ...);
type Keyword is (CREATE, DROP, SELECT_ENTRIES, USE_ENTRY, ...);
for Operation (Op_Keyword : Keyword) is record
  case Op_Keyword is
    ...
  end case;
end record;
spare quartz
#

wow this is really unfortunate

#

making this db requires at least making a lexer and parser

spare quartz
#

totallyf orgot

#

i can set pre/post clauses

#

oops that Pre clause will be accepting the contents forgot about that

timid quartz
spare quartz
timid quartz
#

so you're writing something to go on top of the driver

#

well you could uh just

#

trust that the sql given to you is valid wheeze

spare quartz
#

um

#

yeah

#

the db cant understand sql idot

timid quartz
#

ok just give it to the odbc driver

#

smh

spare quartz
#

:X:

#

hmmm

#

does a sql file have anything like

#

file-wide in it, or can i just parse each line ending with a ; as its own statement

#

and have the structure just be a vector of statemetns

#

no way

#

i love existential quantifications

timid quartz
spare quartz
#

why...

timid quartz
#

idkkkk

timid quartz
#

this can be changed with DELIMITER

spare quartz
#

okay so there IS directives

#

i dont see it in the first part of the sql spec

#

lemme check the others

#

OMG

#

ITS LITERALLY AN ADA IMLP

#

!!!!!! !!

timid quartz
#
create or update procedure the_proc(in whatever int)
begin
  statement_1;
  statement_2;
  statement_3;
end;
delimiter //
create or update procedure the_proc(in whatever int)
begin
  statement_1;
  statement_2;
  statement_3;
end //
delimiter ;
#

so the first one

#

will error

#

because it sees this

create or update procedure the_proc(in whatever int)
begin
  statement_1;

and then stops

#

and it'll complain in some way about the procedure not being correct

#

which is why you have to delimiter

spare quartz
#

why not just write statement_1, though

timid quartz
#

because sql statements end with ;

spare quartz
#

oh

#

okay but to reiterate on my last question

#

is there anything aside from statements i need to keep track of in a sql file

timid quartz
#

Until you start doing functions and procedures then proooobably not

#

You may have nested statements so you’ll have to do that but

spare quartz
#

well i can cover both of those with just a single Statement record

timid quartz
#

I think you can treat each statement as isolated

timid quartz
spare quartz
#

which can be covered by record variants

#

will need to use Indefinite vectors though since variant records are weirdly sized

timid quartz
#

Nuh uh!!!!!!!!!

spare quartz
#

uh huh

spare quartz
#

im done with my impl

#

pay me $5,000 / month to use it

#

ughhh

#

i need to write a demo program

#

do i branch off my java demo

timid quartz
spare quartz
#

for what

#

check that out

timid quartz
spare quartz
#

do you need glasses

#

anyways yeah thats correct

#

okay now

#

for whatever that is

#

m

#

how am i gonna parse [IF EXISTS x] or [x]

timid quartz
#

So the file that I sent you is just a schema definition

#

There are no actual data queries in it

spare quartz
#

i can see that yeah

#

but its still sql

#

unless you have a new file i can test on

#

since you're here

#

can you tell me more about sql conditionals like

#

IF NOT EXISTS

#

can they be chained? is there an AND, OR?

timid quartz
#

fairly self explanatory

spare quartz
#

just wondering how expansible they are

#

if its just "IF [NOT] [QUERY]" i can work with that

timid quartz
#

seems like they can be chained

spare quartz
#

rn:
CREATE - Statement kind
TABLE - Entity kind
IF ... - Conditional kind

timid quartz
#
WHERE EXISTS (SELECT 1 FROM a_tbl WHERE valueA = a_tbl.id)
    AND (NOT EXISTS (SELECT 1 FROM b_tbl WHERE valueB = b_tbl.id)
     OR  NOT EXISTS (SELECT 1 from c_tbl WHERE valueC = c_tbl.id))
spare quartz
#

oh wow thats a lot..

timid quartz
#

let me look at this schema and I can draft a few lines for you

#

btw if you wanna get the dump files

spare quartz
#

idk what those are yet

timid quartz
#

they're just dumps of data

#

the schema file loads them in at the bottom

#

to populate the database

spare quartz
#

hopefulyl this wont be too bad

spare quartz
#

mmm

#

CREATE TABLE a;
CREATE TABLE IF EXISTS a;

timid quartz
#

ok let me just make sure this sql is valid

#

damn this database is huge

#

ok @spare quartz

#

this should give you plenty of things to test with

spare quartz
timid quartz
#

yeet

#

ok turn on ur server so I can send

spare quartz
#

okay its on

timid quartz
#

ok

#

sent

#

now

spare quartz
#

omg

timid quartz
#

lemme try sending file with this

spare quartz
#

a file where aera didnt terminaet it!!!

timid quartz
#

like video file

#

ok

#

check

#

@spare quartz

spare quartz
#

umm

#

the output doesnt say it finished but sure

timid quartz
#

what

#

weird

#

I'm using postman for ths

spare quartz
#

omg you idiot

#

you overwroet my file 😭

timid quartz
#

OH

#

SHOOT

#

LOL

#

HOLD ON

spare quartz
timid quartz
#

ok

#

I overrwrote

#

the file

#

again

#

lol

#

is it now actually an sql file

#

r u ready @spare quartz

spare quartz
#

hold on

#

okay try

timid quartz
#

done

spare quartz
#

Success: Build finished successfully in 2.41 seconds.
c:\users\adenosine3phosphate\desktop\http operations\funny.mp4 1 / 399736
c:\users\adenosine3phosphate\desktop\http operations\funny.mp4 399737 / 399736

timid quartz
#

the sql file should also now be re-overwritten

spare quartz
timid quartz
#

LOL

spare quartz
timid quartz
#

let's go

#

yaeh that should give you plenty of test things

spare quartz
#

hold on

#

can i send a file to you

timid quartz
#

uh I don't have a web server

spare quartz
#

doesnt matter

#

GET

timid quartz
#

you can magic-wormhole it ig

#

that also works

#

get what

#

just /?

spare quartz
#

that'll give you a 400

#

holld on

timid quartz
#

why is it 50 megs

spare quartz
#

:3

timid quartz
#

is this safe to open in public

spare quartz
#

uhh

#

that deepends

timid quartz
#

guess not

spare quartz
#

NO

#

it is

#

its just umm

#

listen!

timid quartz
#

listen

#

smh

#

I will after my meeting

spare quartz
#

listen to it in your meeting 😈

#

anyways is it downloaded for you

#

i dont have GET heuristics anymore

timid quartz
#

yeah I did

#

postman can also apparently GET video files too

#

that's neat

rustic vine
#

I bet knockoff Postman can't do that

spare quartz
#

true

#

it only shows binary :<

rustic vine
timid quartz
spare quartz
#

postman was probably made with like

#

lithuanian kid labor..

#

i dont wanna hear it

timid quartz
#

nah im gonna use rust

rustic vine
spare quartz
timid quartz
#

smh!

rustic vine
#

He decided rust

#

That's pretty decisive

timid quartz
#

nah

rustic vine
#

Oh ok

spare quartz
#

this is like the 4th time he's asked himself that

timid quartz
#

can you like

#

bundle a library and a binary in one thing in kotlin

#

you can in rust

spare quartz
#

wdym

timid quartz
#

like for rust you can have

src/
- main.rs
- lib.rs
spare quartz
#

are you new to java

rustic vine
#
src/
- main.kt
- lib.kt

yw

timid quartz
#

smh

spare quartz
#

JAR files stupid!!!!

timid quartz
#

ok but what about for kotlin

spare quartz
#

JAR FILES

#

or klib

#

but dont ask about those

rustic vine
spare quartz
rustic vine
timid quartz
#

I'm considering kotlin only because

  • being served on atp's maven repo would be neat
  • selenium has an "official" kotlin thing and this project is basically gonna be a selenium wrapper
#

but also captcha dies

spare quartz
rustic vine
#

NOOOOOOOOOOOOOO

#

thats terrible

spare quartz
#

🧌

spare quartz
#

WHAT !!!!!!!!!!!!!!!!!!!!

timid quartz
#

RE AD

rustic vine
spare quartz
timid quartz
#

lol

rustic vine
#

it works though

#

if you need it to

spare quartz
#

our "maven repo" is basically just a tiny directory lister so

rustic vine
#

wha

#

where are your artifacts

spare quartz
#

in the directories

#

duh

rustic vine
#

brah

spare quartz
#

you really only need PUT/GET

#

this is a known thing

rustic vine
#

I only use artifactory 💪

spare quartz
#

idk what that is

#

sounds like a lavafactory rip off

rustic vine
rustic vine
#

get him in here

spare quartz
#

nuh uh

#

you

rustic vine
#

nope

#

I can't face the reprecussions

rustic vine
#

the consequences

spare quartz
#

like what

#

neco dying again

rustic vine
#

hey that has nothing to do with me

timid quartz
#

im also concerned that like

#

the selenium thing is gonna be impossible because captcha

spare quartz
rustic vine
spare quartz
rustic vine
timid quartz
rustic vine
#

I don't think I was invited

rustic vine
#

wait

#

wait actually how

timid quartz
#

twitter api costs money to pull tweets

rustic vine
#

don't you gotta be logged in

spare quartz
#

headless browser

rustic vine
#

ye

#

or paid api I mean

timid quartz
spare quartz
#

yers

rustic vine
#

but scrape means not api

timid quartz
#

yeah so

#

selenium

#

loads the actual twitter page

#

and scrapes it

rustic vine
#

wait what really

timid quartz
#

yeah

rustic vine
#

but don't you gotta be logged in??

spare quartz
#

check it in fasterrrrr

timid quartz
#

mmm I can figure that out later

rustic vine
#

LATER?

timid quartz
#

?coin

#

?coinflip

upbeat badgeBOT
#

@timid quartz heads

timid quartz
#

hm

#

oh

#

oh neat

#

ok

rustic vine
#

I feel like thats a critical step of the process

spare quartz
#

?ban

timid quartz
#

heads kotlin tails rust

#

?coinflip

rustic vine
#

is the fact you can't see a single tweet

upbeat badgeBOT
#

@timid quartz heads

timid quartz
#

kotlin it is

rustic vine
spare quartz
#

ill just give him my account

rustic vine
#

oh

spare quartz
#

im sure he won't do anything

timid quartz
#

I have my own account thx

rustic vine
#

thats gotta be violating SOC 2

spare quartz
timid quartz
#

nah ill scrape smth else

spare quartz
rustic vine
#

giving accounts?

spare quartz
#

yes

rustic vine
#

scary

#

I'll ask musk to give me his account

#

do you think he'll accept

spare quartz
spare quartz
#

i dontt hink hell respond

rustic vine
#

oh

#

aw

#

wait why do you need to scrape twitter

#

are you addicted

spare quartz
#

maybe

rustic vine
#

ok

#

that makes sense

spare quartz
rustic vine
#

@timid quartz don't feed the addiction

rustic vine
spare quartz
#
DROP DATABASE IF EXISTS employees;
CREATE DATABASE IF NOT EXISTS employees;
USE employees;
#

got these three parsed

lavish dove
#

make it think everything means drop

#

but only once out of a few thousand times

#

so it drops

#

it will randomly drop

#

the entire table

spare quartz
#

did not know i could do this with strings

#

very neat

timid quartz
#

@spare quartz ooh what if I used C#

#

:3 im just kidding

#

I already made a commit with kotlin

spare quartz
#

you're gay and strange

timid quartz
#

nuh uh you are

#

stop looking in the mirror

spare quartz
timid quartz
#

C# is just better Java though

spare quartz
#

i bet you cant translate the last word in this lyric

timid quartz
#

音楽・アニメ・ゲーム・YouTube

#

it's literally just

#

music anime game youtube

spare quartz
#

WRONG

#

its YouTube

timid quartz
spare quartz
#

oh my god they all have the weird O thing

timid quartz
#

yeah

#

that doesn't apply to all

#

really just to はひふへほ

#

but like

#

は -> ha
ば -> ba
ぱ -> pa

#

@spare quartz thoughts on unit testing

spare quartz
#

i dont do it but i should

timid quartz
timid quartz
#

there's commits now

timid quartz
#

what

#

whatd i do

spare quartz
#

idk ig otrt allergies again

timid quartz
#

or is it possible to do both

spare quartz
#

yeah its possible

#

you just gotta have a static main somewhere

#

everything else can be treated like a library

timid quartz
#

oh ic

#

and even for distributing it?

spare quartz
#

yes

timid quartz
#

neato

timid quartz
# spare quartz yes

wait so would I want like

src/
- org/bread_experts_group/extensible_image_archiver/
-- Main.kt
-- LibraryFile.kt

or

src/
- Main.kt
- org/bread_experts_group/extensible_image_archiver/
-- LibraryFile.kt
spare quartz
#

the first

#

you can put the static main function anywhere

#

(or at least main in an object/companion object since static isnt a keyword in kotlin barring @JvmStatic)

timid quartz
#

or does it have to be in a class

spare quartz
timid quartz
#

k

spare quartz
#

ive got this all parsed

#

just need to do this

#

aha

#

bug

#

CREATE x y ; < trailing space causes a crash
CREATE IF NOT EXISTS x y ; < trailing space ignored cause conditional was read in

#

just need a better way to do this

timid quartz
#

eg a cli library to make the interface pretty

#

maybe I could write one of those too

spare quartz
#

sorry i was helping someone with their ts ...

#

wdym by that

timid quartz
#

Read below that

#

eg a cli library to make the interface pretty

spare quartz
#

well yeah but like

#

what do you mean by separate dependencies

timid quartz
#

Like

#

If it builds just the library, the cli library shouldn’t be built

spare quartz
#

ummm

timid quartz
#

ummm

spare quartz
#

you can have the main be its own artifact/jar

#

and have that run as its own subproject

#

with the library as an overarching project

timid quartz
#

mm ok I’ll figure that out later

spare quartz
timid quartz
#

What

spare quartz
#

how has it been 2 hours arlead.y..

timid quartz
#

Cause I left it open and shut my laptop

spare quartz
#

mmm

#

if i make this sql parser less crap

#

i might actually make my own compiler next

timid quartz
#

Compilers are fun

#

If you make one I wanna work on it too :3

spare quartz
#

okay but

#

dont you already have to do that as part of school

timid quartz
#

Exactly

spare quartz
#

nerd

timid quartz
#

I can help u optimize the code :3

spare quartz
#

okay but itll be written in ada...

#

rn what i need to figure out in the sql parser is remove the dependency on File_Type

#

since the only reason thats there is for heuristics (bad)

timid quartz
spare quartz
#

and forth...

timid quartz
#

Why forth

spare quartz
#

marrow

timid quartz
#

But why?

spare quartz
#

why not

timid quartz
#

But seriously, why?

spare quartz
#

i dunno

timid quartz
#

You sound like me

spare quartz
#

no.

timid quartz
#

Ok but really

#

What does forth do

#

that ada doesnt

spare quartz
#

i was joking

#

forth is crazy people lang

timid quartz
#
0 value ii        0 value jj
0 value KeyAddr   0 value KeyLen
create SArray   256 allot   \ state array of 256 bytes
: KeyArray      KeyLen mod   KeyAddr ;

: get_byte      + c@ ;
: set_byte      + c! ;
: as_byte       255 and ;
: reset_ij      0 TO ii   0 TO jj ;
: i_update      1 +   as_byte TO ii ;
: j_update      ii SArray get_byte +   as_byte TO jj ;
: swap_s_ij
    jj SArray get_byte
       ii SArray get_byte  jj SArray set_byte
    ii SArray set_byte
;

: rc4_init ( KeyAddr KeyLen -- )
    256 min TO KeyLen   TO KeyAddr
    256 0 DO   i i SArray set_byte   LOOP
    reset_ij
    BEGIN
        ii KeyArray get_byte   jj +  j_update
        swap_s_ij
        ii 255 < WHILE
        ii i_update
    REPEAT
    reset_ij
;
: rc4_byte
    ii i_update   jj j_update
    swap_s_ij
    ii SArray get_byte   jj SArray get_byte +   as_byte SArray get_byte  xor
;
#

crazy indeed

spare quartz
#

we need a language thats just microcode

#

i think that would be received well

timid quartz
#

yeah what lang would you even be compiling

spare quartz
#

my lang

timid quartz
#

you have a lang??

#

what

spare quartz
#

heres the last notes i left on it

#

i stole some from the older lang from early 2024

timid quartz
#

looks kinda crumby

spare quartz
#

exactly

timid quartz
#

and also crummy

spare quartz
#

kys

#

ニャー

#

anyways basically only one of anything exists in that lang

timid quartz
#

Binary file format for a platform/architecture-agnostic language, which MAY either be "transpiled" (translated to another language), "compiled" (translated to native machine code), or "interpreted" (run by a virtual machine), with the primary focus being on the determinability of a program.

smh follow IEEE 2119

#

and 8174 if you so desire

spare quartz
#

ew

#

i HATE standards orgs..

timid quartz
#

says the person who thrives off of reading standards

spare quartz
spare quartz
#

not whatever bullcrap iso/iec make up

#

IETF my beloved too

spare quartz
#

take a big note on the "binary file format" part

#

you're not supposed to write it in a text editor

timid quartz
#

weird

spare quartz
#

nuh

#

its basically writing CLASS files manually

timid quartz
#

All variables within a breadcrumb must derive from a definite value within the loaf with the same datatype.
soo something like

fn main() {
  let x: u32 = 1;
  println!("{}", transform(x));
}

fn transform(arg: u32) -> String {
  let transformed = arg.to_string();
  return transformed;
}

is invalid?

#

because transformed is not derived from something with the same data type

spare quartz
#

that doesn't translate 1:1 with what that line means

#

essentially the hierarchy of a bcm project is a tree of everything

timid quartz
#

All datatypes must have a defined range of values; the language does not define any base datatypes. not even integer types huh

spare quartz
#

nope

spare quartz
timid quartz
#

the root*

spare quartz
#

nuh

#

loaf

timid quartz
#

in a tree it's called a root not "the upmost point" smh

spare quartz
#

okay but

#

this language is apart of breadexpertsgroup

#

it'd be weird if it didnt name some things after bread

timid quartz
#

yes ik

timid quartz
spare quartz
#

nope

#

a crumb must define all of the vars that will be used within it

timid quartz
#

weeeeeeeeird

spare quartz
#

also no constants allowed in crumbs

timid quartz
#

me when I make a crumb with a variable that's never modified (it is basically a constant)

spare quartz
#

okay but

#

then you lose possible optimizations if it were constant...

#

(and i could just throw an error during compilation)

timid quartz
#

how would you lose optimizations with a constant

#

if anything you gain optimizations with constants

spare quartz
#

you misread that

#

since it's not a constant, you lose out on optimizations if it were one

#

god i haet english

#

OH WAIT

timid quartz
#

oh wait

#

so you're saying

#

because it's NOT a constant

timid quartz
#

you can't apply optimizations as if it were

#

gotcha

#

(also false because your compiler can detect that it is never written to but)

#

(i learned about such a method in class)