#💽Programming Chat v2

1 messages · Page 80 of 1

lone sky
#

lol!

timid quartz
#

what about a thing called an http proxy

spare quartz
#

ooooooo

#

is the DNS SOA finally expired?

timid quartz
#

dns soa?

spare quartz
#

start of authority

lone sky
#

said password giving me a MUCH, MUCH faster network

spare quartz
#

the specification boils down to two messages

#

im more interested in BEP 10

#

hmm.. no..

#

guess its just scanner traffic

#

i wonder why they're using the unallocated label type though??

#

some are using the binary labels that have been deprecated for years

timid quartz
# spare quartz

see this is the problem with java...giant stack traces with long ass class names

spare quartz
#

they're small

#

i think you're just illiterate

spare quartz
#

OH HI YONKAGORE

lone sky
#

GORE???

spare quartz
#

idk he made a cover about that one song about cannabalism

timid quartz
# spare quartz i think you're just illiterate

if this was rust you would have either been forced to handle the error or you would have gotten something like

thread 'main' panicked at src/main.rs:3:10:
called `Result::unwrap()` on an `Err` value: "Skill issue"
spare quartz
#

HAHAHAHAHSA

spare quartz
#

you just log the issue and forcefully close the connection

timid quartz
#

that's...a way to handle the error

spare quartz
#

"right way"

timid quartz
#

handle !== recover

spare quartz
#

well then im handling the error just fine

#

so

#

i dont know what you're trying to say

timid quartz
#

im saying that like......rrrrrr

spare quartz
#

rust superiority syndrome

timid quartz
#
// possible exception here that u have
// no idea about
val line = tcpSocket.readLine();
// must handle errors here because
// you get back a Result<String, ...>
let line = tcp_socket.read_line();
spare quartz
#

yeah

#

what of it

timid quartz
#

the top one makes you have to do some shit like

#
try {
  val line = tcpSocket.readLine();
} catch (SomeException se) {
  // ...
} catch (AnotherException ae) {
  // ...
} catch (Exception e) {
  // because it could throw smth else
  // that u dont know about ooooo
}
spare quartz
#

well no

timid quartz
#

or just have ur program die because an exception bubbles up all the way

spare quartz
#

because all operations of socket and dns operations tell you upfront what they could produce

timid quartz
#

via throws or via docs?

spare quartz
#

and if a problem so severe happens it breaks that thread and logs anyways

spare quartz
#

in java the throws also informs you

timid quartz
#

but still better than nothing

spare quartz
#

aera we've already had this exact argument before

timid quartz
#

ik

spare quartz
#

in fact

#

this is the exact same evolution of it

#

low tier ragebait.

timid quartz
#

lmfao

#

ok but it's not really ragebait

spare quartz
#

okay but my exception handling is superior

timid quartz
#

kotlin suffers from the jvm copium of functions having the ability to throw whatever tf they want without informing the caller

spare quartz
#

which is a good thing

timid quartz
#

no it's a bad thing

spare quartz
#

its a good thing

#

an exception should be exceptional

timid quartz
#

if a function could fail then the caller needs to know so it can decide either to handle it or to pass it upwards

spare quartz
#

well then they'll know

timid quartz
#

they'll only know when the program crashes and they're like "oh I can actually do something about that"

#

rather than ahead of time

spare quartz
#

well then the program will crash

#

and the developer will fix it

timid quartz
#

which is sub par when you could just encode it in your return type

spare quartz
#

no

timid quartz
#

so the programmer can fix it before it crashes

spare quartz
#

id rather not have to encode 500000 checks for every i/o operation

#

and instead just have a block be protected and terminate the connection on failure

timid quartz
#

you'd rather deal with 500000 different errors that could show up years from now?

spare quartz
#

they cant throw 50000 different errors

#

they can throw 2 classes of problems and 1 class you shouldn't even attempt to recover or handle

timid quartz
spare quartz
#

and do that for every single operation

#

right

timid quartz
# spare quartz and do that for every single operation

or

fn worker() -> Result<(), io::Error> {
  let res = some_faulty_io_op()?;
  // ...
}

fn caller() {
  let res = worker();
  if res.is_err() {
    println!("worker had an error");
    // println!(additional details);
    return;
  }
}

this doesn't imply that you have to make a wrapper, just that you can defer handling to whatever called a function

spare quartz
#

which is tedious

#

and you won't even define special cases for each 99% of the time

timid quartz
#

but it gives you peace of mind that you don't have anything unhandled that you can handle

spare quartz
#

you just need to protect a single block

#

WHO IS THIS!!!!!!!!!!!

#

I WOULD LIKE TO MAKE A COMPLAINT TO YOUR MANAGER!!!!!!!!!

timid quartz
#

there are very few errors that are totally unrecoverable

spare quartz
#

there are many errors that are totally unrecoverable

timid quartz
#

and most "exceptions" as you would call them aren't really "exceptional", they're part of normal program flow and can be treated as plain data rather than something special

spare quartz
#

in my example every single problem is unrecoverable

#

they are exceptional

#

using unallocated labels is exceptional and cannot be recovered from

#

using extension labels is exceptional

timid quartz
spare quartz
#

the pipe dying is exceptional

spare quartz
#

this is a public facing DNS server

timid quartz
#

oh you didn't mean labels like

spare quartz
#

the only labels in kotlin are loop and return labels

#

the only labels in java dont exist at runtime

timid quartz
#

yeah

#

you didn't mean labels like that

#

you meant for dns or whatever

spare quartz
#

yes

timid quartz
#

k

spare quartz
#

look idk what other people are doing with their exceptions

#

i just know im right with mine

timid quartz
#

wrong

spare quartz
#

WELL

#

okay

#

there is actually one case where im "misusing" exceptions

#

but nobody will ever see it outside of where they're used

timid quartz
spare quartz
#

then you'd just ignore it as apart of SocketException

#

simple as that

#

every single socket I/O reports that in throws AND docs

timid quartz
#

no im saying that for the argument that exceptions arent exceptional

spare quartz
#

however here it IS exceptional

#

the DNS client should never close the pipe before completion

rustic vine
#

rust for webdev? @timid quartz

spare quartz
#

like using it in WASM?

rustic vine
#

no like using rust for frontend

spare quartz
#

nocom

rustic vine
#

whats that mean

spare quartz
#

no comment

spare quartz
#

oh its a DSL

timid quartz
spare quartz
#

idk

rustic vine
#

someone was shilling it today

spare quartz
#

rust as a templating engine is kinda fine

rustic vine
#

it seemed kinda cursed

spare quartz
#

but everything with a DSL is good enough for use as templating

#

so id say rust is just adequate here

rustic vine
#

I was just curious what your thoughts on it were

timid quartz
#

not done it personally

#

but again I think rust wouldn't be a good choice compared to js/ts

spare quartz
#

i think its a good choice over both here

#

its not used for scripting

#

its templating

timid quartz
# spare quartz the DNS client should never close the pipe before completion

right but it could happen

fn main() {
  let mut stream = TcpStream::connect("address")
    .expect("Failed to open stream");

  loop {
    let mut buf = [0; 128];
    let r = stream.read(&mut buf);
    if r.is_err() {  // encompasses broken pipe
      let e = r.err().unwrap();
      println!("{e:?}");
      let _ = stream.shutdown(std::net::Shutdown::Both);
      return;
    }
    // do whatever
  }
}
spare quartz
#

you took forever to write a rebuttal to THAT

#

i thought you were going to talk about the rust templating 😭

timid quartz
#

because I was consulting docs to make sure the functions were right

spare quartz
#

if you dont care about the pipe dying

#

catch SocketException to nothing

timid quartz
spare quartz
#

but i do care about it here

spare quartz
#

the example in that photo is for server side rendering

timid quartz
#

oh there's 100% a JS/TS library for that

#

in fact

spare quartz
#

i know there is

#

but it runs over nodejs

#

or bun

timid quartz
#

Next.js, probably Vue, probably Svelte

spare quartz
#

thats not ssr

#

i feel like you're missing the point on what templating is

timid quartz
#

Next.js has SSR which is why I listed it without "probably"

spare quartz
#

okay but

#

thats not "natively on the web"

#

thats just... js as a server

#

which i felt like you should be 100% against

#

but i ... guess not?

timid quartz
#

yeah I dislike js on the server lmao

spare quartz
#

then you should like rust as a templater here

#

its objectively the superior option (performance wise)

timid quartz
#

im just saying

#

if you're trying to do some weird shit by like

#

compiling rust to wasm to run on the client

#

dont

#

but for ssr templating then sure

spare quartz
#

well i came in asking that but harry followed up with an ssr shot

#

cause if he DID say wasm id say script instead

#

are you typing up another code snippet again..

lone sky
#

got it working

#

@timid quartz

spare quartz
#

The parameter is incorrect.

upbeat badgeBOT
#
harryxchen
Dyno Avatar
rustic vine
#

oposps

#

oops

timid quartz
# spare quartz but i do care about it here
use std::io::Read;

fn main() {
  let mut stream = std::net::TcpStream::connect("address")
    .expect("Failed to open stream");

  loop {
    let mut buf = [0; 128];
    let r = stream.read(&mut buf);

    if r.is_err() {
      let e = r.err().unwrap();
      match e.kind() {
        std::io::ErrorKind::BrokenPipe => { /* handle */ }
        _ => {
          println!("{e:?}");
          return;
        }
      }
    }
    // do whatever
  }
}
rustic vine
#

no fun allowed

spare quartz
timid quartz
#

I can understand an argument for verbosity but what you're wanting to do is entirely possible in Rust while also having the guarantee that you're handling everything that you could possibly handle short of something being so bad that you have to immediately panic

spare quartz
#

i never once argued about it not being *possible

#

have you lost the point? im saying rust would be overly verbose to handle for what i want

#

the verbosity isn't what i want even though it could be seen as an advantage in another context

timid quartz
#

and ig I'm saying that the verbosity is worth it to have the peace of mind that you're handling everything that you could need to handle

#

vs kotlin

try {
  val res = stream.read();
} catch (BrokenPipeException bpe) {
  // ...
}
// OOPSIE YOU GOT A DifferentThanYouAnticipatedException
spare quartz
#

if i want to handle something more fine grained ill handle it where i want it to happen

timid quartz
#

I personally think the entire pattern of catch (Exception e) that Java (and Kotlin by extension) encourages is really bad practice

spare quartz
#

i dont think its good or bad practice

timid quartz
#

in some cases sure it's useful

#

but in other cases it's "oh well let's just catch it and ignore the nuance"

#

and in OTHER cases it's "oh this thing doesn't say it throws any exceptions..."
2 months later, prod crashes because an exception bubbled out of that function and got left un-handled

spare quartz
#

then that's poor overall error management of that production software

timid quartz
#

and Java enables taht

#

by not encoding the types of things that could happen in a strong way

spare quartz
#

rust does as well

spare quartz
timid quartz
# spare quartz rust does as well

if you're using .unwrap() you're explicitly accepting that there may be an erroneous value and that if there is your program will panic and crash

spare quartz
#

arguing about the amount of information relayed to the developer is understandable sure

#

but i dont feel thats a language design issue

#

its a tooling issue

timid quartz
spare quartz
#

no

#

its equal to catch (Throwable e) (the distinction is important)

#

but... why would it be bad to not check for is_err in every possible place where an error could happen

#

instead of again

#

protecting a block

spare quartz
#

then protect a block

timid quartz
spare quartz
#

and protect the topmost block (if its not already separated using a thread) with a catch and log

spare quartz
#

losing the nuance would only happen as a result of catching Throwable or Exception, which is equal to matching an error on a giant operation in rust to _

#

both of which you shouldn't do, but you can in both languages

timid quartz
#
try {
  someFallibleFunction1();
  someFallibleFunction2();
  someFallibleFunction3();
} catch (Exception e) {
  // nuance lost
}
spare quartz
timid quartz
spare quartz
#

which is equal to matching an error on a giant operation in rust to _

timid quartz
spare quartz
#

same thing can be used in rust

#

and if a library dev gets lazy and does it anyways?

#

putting unwrap on everything?

timid quartz
#

terribly bad practice, a library dev should never do that

spare quartz
#

uh huh

#

we're at the same level then

timid quartz
#

but that would be equivalent to a Java library developer throwing an Error

#

which they shouldn't do unless absolutely necessary

#

just as how a Rust library shouldn't panic unless absolutely necessary

spare quartz
#

uh huh right

#

accounting for all factors the benefits and disadvantages of both don't show any clear winner

#

its just what the human does at the end of the day

#

both languages enable terribly bad practice to happen

timid quartz
spare quartz
#

you don't have to type code for everything, just fyi...

#

ill understand the point just fine thru a description

timid quartz
spare quartz
#

cause i wouldn't mind if javac had a pedantic exception checking option

timid quartz
#
fun whatever(): String {
  // 1 billion possible exceptions,
  // have to rely on good docs
}
fn whatever() -> Result<String, MyErrorType> {
  // constrained to MyErrorType,
  // caller knows what they're working with
}
spare quartz
#

i just think try/catch as a syntax element is fine along with rusts result paradigm

timid quartz
spare quartz
#

it wouldn't be impossible at the IDE level

timid quartz
#

it would be even better to put it at the language level

#

in javac like you said

spare quartz
#

javac isnt language level

#

thats tooling level

#

javac could compute the exception graph of a given piece of code, but

timid quartz
#

ok well in the language level

spare quartz
#

could pose some issues due to the JVM's dynamic nature

timid quartz
#

it would be best to have it in the language level

spare quartz
#

i dunno i just feel like that'd put unnessasary weight on the java language as is

timid quartz
#

rust's is in the language level because it's how you write the language

spare quartz
#

a pedantic exception checking ANNOTATION though...

#

that would be an awesome JEP...

#

if only i knew how to write those

timid quartz
#

the tooling enforces it so yeah there's a possibility that someone could write "rustc with no results or options" but

#

that would require lots of out of the way effort to ignore the lang you're compiling

spare quartz
#

cause then you're just throwing out compliance

timid quartz
#

yeah exactly

spare quartz
#

does rust have compliance?

#

is there a language standard?

timid quartz
#

ohh boy dont be like "erm ur lang doesnt have a standards committee therefore it's fake"

spare quartz
#

no i dont care

timid quartz
#

dont even start

spare quartz
#

i just wonder

#

you're clearly doing "FINE" as is

timid quartz
spare quartz
#

fine in quotations cause i wish you'd all cease existing BUT.

spare quartz
#

but do you!

timid quartz
#

jvm developers are my mortal enemies.

spare quartz
#

do you have any track of compliance for rust that is an honest question

#

or is rustc the authority

timid quartz
#

I think there have been talks about making a standard

#

but rustc is the primary authority

spare quartz
#

LAAAAAAAAAAMMMMMEEEEEEEe

#

but given your current state i shouldn't say im surprised

timid quartz
#

We do also have references

spare quartz
#

it'll be a good few years until a standardization body would ever wanna pick something like that up (if ever)

#

and it'd require a ton of coordination too

timid quartz
#

actually what's the latest ruts

#

1.87.0 stable

spare quartz
#

ruts

#

ngl i thought "ruts" was another one of your stylized rust terms

timid quartz
#

no lo

spare quartz
#

you just misspelled that right? it isnt?

timid quartz
#

yes

#

anyways rust ❤️

spare quartz
#

RUST 🤮

timid quartz
#

copelin 🤢

spare quartz
#

JVM ❤️

timid quartz
#

kotlin had so many opportunities to fix all of java's mistakes

#

it fixed a few but

spare quartz
#

and it did

#

it fixed them all

#

its perfect

timid quartz
#

ultimately the platform it runs on (the jvm) is imperfect and flawed

spare quartz
#

nope

#

the JVM is great

timid quartz
#

so kotlin had to inhale so much copium

#

to manage

spare quartz
#

need this gif but rust and jvm instead

timid quartz
#

besides with what newer java versions have been adding

#

kotlin is basically obsolete

spare quartz
#

what?

#

how does that make any sense?

#

you're joking right? you're making a joke here? you dont actually believe newer java versions make kotlin obsolete? right??

#

you're just trolling??

lone sky
#

looking for a specific thing

#

got toilet paper instead

spare quartz
timid quartz
#

record pattern matching

#

uh what else

spare quartz
spare quartz
#

if that is all you have then this conversation has made me lose ALL seriousness for you

timid quartz
#

well it basically doesn't matter anymore

#

because java has it

#

so like

#

what does kotlin bring to the table

spare quartz
#

oooo gee i wonder

timid quartz
#

in terms of features it has that java doesnt

#

language features not just "syntax better"

spare quartz
#

functional programming, so many extension functions that are incredibly useful, non-nullability, portability to platforms outside the JVM

#

DSLs

#

thats a big one

timid quartz
spare quartz
#

OH YEAH

#

AND reified

#

THAT IS MASSIVE

timid quartz
timid quartz
spare quartz
#

LITERALLY EVERYONE DOES

#

oh my god you suck at coding

#

go back to your little crab cave

#

this session is terminated

timid quartz
#

besides I bet java 25 will add it

spare quartz
#

nuh

timid quartz
#

I bet there's a jep for it

spare quartz
#

java 25 looks great for the JVM

#

not so much language

spare quartz
#

guess what

#

that'll also benefit the JVM too

#

meaning kotlin can take all of its benefits...

#

aaahhhh i love interoperability

timid quartz
#

all your silly little features will come to java one day and then your lang will be even more useless than it already is

spare quartz
#

rust is already obsolete cause of ada so

#

you're not a programmer

#

you're a toy-grammer

timid quartz
#

and ada isn't just a giant toy made by darpa??

#

who is the real toy-grammer here

spare quartz
#

no

#

ada is award winning

timid quartz
#

ada is darpa's toy and kotlin is jetbrains's toy

spare quartz
#

it was created for a COMPETITION from the onset

timid quartz
spare quartz
#

NO?

timid quartz
#

literally the only langs you use are toys

#

literally

spare quartz
#

??????

#

i hope that girl with the long hair comes out of your display while you're coding rust and DOESNT KILL YOU cause your code smells so bad

#

☣️

timid quartz
#

I hope the military sees your abundance of Kotlin experience and forces you to design mobile apps that nobody uses for 20 years until they give you your $0.05/mo pension after you retire because the govt went broke 5 years earlier

spare quartz
#

i can just sit around yapping in here 23/7

#

and ill finally have a job <3333

timid quartz
#

sentenced to write android apps for all eternity

timid quartz
spare quartz
#

you need to listen to the first few seconds of this song

#

and listen to it

#

(its important for your career)

timid quartz
#

WOW FUCK YOU

spare quartz
#

:3c

timid quartz
#

YOURE NOT EVEN GONNA LIVE TO 19

spare quartz
#

YES I IWLL

#

SODA WILL MAKE ME IMMORTAL

timid quartz
spare quartz
#

KOTLIN AND ADA...

#

100 YEARS...

timid quartz
#

0 years

spare quartz
timid quartz
#

You literally chose an already obsolete lang and a lang that’s rapidly becoming obsolete to use

spare quartz
#

ABSOLUTE LANG

#

HELL YEAH

timid quartz
#

nope

#

obsolete

spare quartz
#

absolute 💪

timid quartz
#

And the best part is Kotlin is getting obsoleted by the very language it was meant to replace

lone sky
#

aera you might as well just be elon musks reincarnate

#

smh.

spare quartz
#

yeah aera

#

go get addicted to ketamine.

timid quartz
#

No I’m Albert Einstein

#

I think on such high levels that nobody else can understand me

spare quartz
#

nah

#

thats just lead

timid quartz
#

I’m going to inject your head with a lead rod traveling at 2000 m/s

spare quartz
#

i thought you said ada was darpas toy...

#

now you literally want the armys toy

timid quartz
spare quartz
timid quartz
#

GOOD

spare quartz
#

@lone sky DEPLOY

#

THE CHAOS

timid quartz
#

give up give up give up give it up

spare quartz
#

yup

#

thats you

timid quartz
#

nope that’s you

spare quartz
#

OH YEAH

timid quartz
#

My future: limitless
Your future: OBSOLETE.

spare quartz
#

did you know bayachao is REALLY FUCKING GOOD at drawing bikes for some reason

timid quartz
#

weird fact

spare quartz
timid quartz
#

I hope that bike runs you over

spare quartz
#

as if

#

since im inside all day im practically invulnerable to vehicles

timid quartz
#

It’ll be really easy because you sit inside all day, all it takes is someone crashing through your bedroom wall

#

OK I’ve stayed up way too late

spare quartz
timid quartz
#

When I wake up you better be gone ❤️

spare quartz
#

give up

timid quartz
spare quartz
#

yo unfunnylad

timid quartz
#

YOU MUST GIVE UP

spare quartz
#

do you want a cute image of the summoner

lone sky
#

sure

spare quartz
spare quartz
lone sky
#

aww

timid quartz
spare quartz
#

proof?

timid quartz
#

The agents coming to your door in 18 hours

spare quartz
#

nnnnooopee

#

the only agency who'd MAYBE want to arrest me is the USAF/DISA

#

but they dont want to!

#

so :3

timid quartz
#

You’re literally Hispanic

#

ICE would be all over you

spare quartz
#

okay but i was born in a usaf hospital

#

in texas

timid quartz
#

Don’t matter

spare quartz
#

im basically 200% american

timid quartz
spare quartz
timid quartz
spare quartz
#

DEPLOY THE INTERCONTINENTAL

#

BALLISTIC

#

CHAOS

timid quartz
#

GOOD THAT MEANS THEY’RE GONNA EXPLODE

#

GOOD

spare quartz
#

NO!!

spare quartz
timid quartz
#

バヤチャオバクハ!!!!!

#

爆破!!!!

spare quartz
#

<br><br>くん^^^^

timid quartz
spare quartz
timid quartz
#

Kill it

spare quartz
#

why did poshi marry bayachao?

lone sky
#

no say on what's ugly

spare quartz
#

triple personality disorder thats why!

lone sky
#

qserf is so fucking ugly yet you guys enjoy it so much

#

smh.

timid quartz
spare quartz
#

nope!

spare quartz
timid quartz
lone sky
#

plus I actually use blender unlike you, unionite.

#

smh.

spare quartz
timid quartz
#

ok well jokes on you I’m not a builder

spare quartz
#

thats true

#

aera would mog you in scripting unfunnylad

lone sky
#

you're an underpaid albañil

timid quartz
#

you’d have to compete with Speedy, Bob, and the other builders

lone sky
timid quartz
spare quartz
timid quartz
#

Build better than Speedy and Bob

#

Do it

#

I’ll wait

lone sky
#

ok give me 1249214 bussiness days

#
  • 5 consecutive daybreaks each week to see bayachao content
timid quartz
#

Starting the timer

#

I really hope you’re joking saying QSERF is ugly otherwise I’m murdering you

lone sky
#

ermmm

lone sky
#

ermmmm

#

😅

spare quartz
lone sky
timid quartz
#

Well if you think you’re so good at building then go rebuild a part of QSERF

lone sky
#

I need to know

timid quartz
#

Either prove yourself or accept that you have no right saying QSERF is ugly

spare quartz
timid quartz
lone sky
#

ok do you just want

#

the cavern

#

💀

timid quartz
#

Like the entire cavern, Tartarus, the DMR chamber, etc

#

A large area

spare quartz
lone sky
#

I rebuilt like 1/4th of the DMR chamber once but that's ancient and looks so ugly now

spare quartz
#

what would you do

#

like actually

timid quartz
#

I don’t have a say in the hiring

spare quartz
#

i thought you were like

timid quartz
#

Which like if unfunny applied and didn’t get hired then that tells me what I need to know about their skills lmao

spare quartz
#

the dei coordinator or something..

timid quartz
spare quartz
#

WHO

spare quartz
#

??

lone sky
#

😭

#

well I WAS gonna

#

but got sidetracked

timid quartz
#

@rustic fossil

spare quartz
#

AAHAHAHAHAHAH

#

IM SORRY IM CHORTLING

#

I LOVE FORTS GAMEPLAY

timid quartz
#

Ok I gotta bed now bye

spare quartz
#

AHAHAH ITS SO GOOD

timid quartz
#

Unlike some people here I actually HAVE A JOB

spare quartz
spare quartz
#

LOTTA TALK FOR A GUY WHO RAGEBAITS USING AN INFERIOR LANG

timid quartz
#

It’s not rage baiting if the lang is superior

spare quartz
#

it quite literally is if its inferior

#

(objective)

timid quartz
#

But rust is superior

#

In every respect

#

It just is

spare quartz
timid quartz
#

It really just is

spare quartz
#

JVM beat you before you were even born

timid quartz
#

OK BYE CHAOIDIOTS

spare quartz
#

sorry its facts

#

CHAO!!!!

lone sky
#

@spare quartz ok heres your outdated and massively crusty, compressed pic of my ancient ass DMR recreation

#

now lost to time sadly cause of my stupid ass wiping their PC with diskpart

timid quartz
#

OK BYE

spare quartz
spare quartz
lone sky
#

two other pics of it somewhere

spare quartz
#

ちゃおず!!!

lone sky
#

but I would have to search them on old dms

#

on my old account (ew)

timid quartz
spare quartz
#

debirun is the jvm and kohaku is rust here btw

lone sky
spare quartz
#

thats ada

timid quartz
#

No Debirun is rust and Kohaku is the JVM

spare quartz
#

OMG YOU ACKNOWLEDGED DEBIRUN

lone sky
spare quartz
#

!!!

lone sky
#

:<

timid quartz
lone sky
#

THE DOUBLE STANDARD

#

KNEW IT

#

KNEW IT!!

spare quartz
spare quartz
timid quartz
#

no I HATE ADA

#

ok bye fr

spare quartz
#

LOL OK

#

I CANNOT SHOW THE REST OF THIS IMAGE

lone sky
spare quartz
#

😭

#

JAPANESE PEOPLE ARE FREEAAAKKY

rustic fossil
#

deisnake

#

the snake

#

called dei

spare quartz
#

are you the dei coordinator??

#

aera said you were

rustic fossil
#

i'm the snake

#

i'm everything related to dei

#

but actually nothing related to the dei

#

it's funny how it changes depending on how you read my name

#

because if you read it as DEI then it feels funny

#

but my name is actually pronunced "day"

#

anyway @spare quartz why

spare quartz
#

hhuh

#

oh

rustic vine
#

your USAID funding has been revoked

spare quartz
#

i forgot 💀

#

i was just gonna go post one more piece of furry art and sleep

rustic fossil
#

how am i going to fund my secret SST operations then

spare quartz
#

WHY DOES

#

MY BROWSER

#

HAVE A JOB APPLICATION ASSISTANT

lone sky
#

EW

#

J*B MENTIONED. GET IT AWAY

flint belfry
spare quartz
lone sky
#

the chicken bone in my throat is acting up

flint belfry
#

?????????????

lone sky
#

yeah so

#

i swallowed a chicken bone while eating rottiserie chicken a few hours ago

#

and it started hurting rn

flint belfry
#

go
to the hospital???

lone sky
#

nah i'll be fineee

lone sky
flint belfry
proud creek
proud creek
#

I think

#

Maybe

pastel tinsel
#

gg

timid quartz
timid quartz
timid quartz
#

@rustic vine hey so you’ve done stuff with LLMs and Jetsons right

#

How tf do you actually “tune” an LLM

#

Like for example I want to tune an LLM to be more “technical” or whatever, how tf do you do that

spare quartz
#

Just had first experience speaking Japanese with actual Japanese people

#

Terrifying

#

It appears I was understood!

timid quartz
spare quartz
#

At least the guy is nice …

timid quartz
spare quartz
#

No, my name is my actual name, みこ

#

ミリオ is talking about a conversation before my screenshot

#

on pc now

timid quartz
spare quartz
#

up here?

timid quartz
#

Yeah lol

#

OH

#

はま

#

Did not see the ハ lol

#

Is that from the previous convo

spare quartz
#

let me try and start it up

#

an excerpt of the context is basically, out of nowhere, the original guy of the group (まーぼーなす) left without notice, and promoted the x

#

oops press enter too early

timid quartz
#

Promoted the x

spare quartz
#

ignore daigos double msg, accidental glitch

timid quartz
#

mfw I can’t read most of those kanji

spare quartz
#

gonna resume work on bittorrent now

#

got metadata which is a good step..

#

problem is handling the synchronization of clients with (un)choke

timid quartz
#

どゆこと

#

tf

#

Is that like a contraction of ということ

spare quartz
#

it appears so...

timid quartz
#

Yeah figured

#

Tbh I think you’ll do better than me at Japanese in the long run because you have a stronger interest and aren’t afraid to go talk with the scary Japanese people

spare quartz
#

bayachao

lone sky
#

thatfucking dog that I:
a) love
b) hate

lone sky
#

🚜

spare quartz
#

bayachao was talking about how a lot of characters she has び in are usually freaky

#

because that is "her specialty"

spare quartz
#

ru BI
de BI ru n
ba BI o

spare quartz
lone sky
#

just had a genius idea

spare quartz
#

im pretty sure they're just freaky when bayachao wants them to be though

#

not like, "in their" personality (like with babio)

lone sky
#

reality show where it's a bunch of inexperienced video editors

#

and whoever makes the best worst video wins

spare quartz
timid quartz
#

I saw that

spare quartz
#

what was it about

timid quartz
#

Quit 30 seconds in because he mentioned the blog post that the arc devs made

#

Read that instead

lone sky
spare quartz
#

damn the one place where english sucks

lone sky
#

🥰

spare quartz
#

i cant tell if you're saying read (red) or read (reed)

timid quartz
lone sky
#

who tf uses arc

timid quartz
#

Me…

lone sky
#

if you REALLY wanted vertical tabs use firefox or edge

timid quartz
#

Edge 👎

lone sky
#

and if you want your weird gimmicky features? god knows man i don't gotchu there

timid quartz
#

Firefox is also unbased now

spare quartz
#

idea: use FlashPeak Slimjet 👍

lone sky
timid quartz
spare quartz
#

toy browser

#

flashpeak on top

timid quartz
lone sky
#

i glaze edge too much for hating on windows

#

😭

spare quartz
#

its using Trident so i wouldn't be surprised if it wasn't

#

oh interesting

#

they switched to using gecko

lone sky
#

@timid quartz ok i just thought to myself

#

when the hell are we getting a proper port of webkit for windows

spare quartz
#

never

#

property of apple

lone sky
lone sky
spare quartz
#

property of apple.

lone sky
#

emphasis on open source

spare quartz
#

dont matter

#

property of apple.

lone sky
spare quartz
#

just

#

ignore this

#

its anti-apple propaganda

lone sky
#

you would probably use a mac as your main pc.

spare quartz
#

i mean

#

i did

#

for a decade

lone sky
#

oh yeah i forgot

spare quartz
#

Mac OS X 10.5 is my bff <3

lone sky
#

no wonder you're an applet

timid quartz
spare quartz
#

spain on their way to make the great firewall 2

spare quartz
#

ill just be present in japanese programming discord servers

lone sky
spare quartz
#

and linger in the beginner channels

#

so if they try to bully me, i just bully their lang

#

❤️

lone sky
#

yeah

spare quartz
#

cobalt.tools... i shall declare...

#

is slopware.

timid quartz
spare quartz
#

well i feel like they have some level of competency there

#

since all programming and technical discussion has to have english as a base

lone sky
#

you can always find a way to throw eggshells at bayachao irl

#

👍

spare quartz
spare quartz
#

too late

#

posting babio

lone sky
#

I would say something but this is QSP

spare quartz
timid quartz
#

me opening up my ide to code

#

@spare quartz

spare quartz
#

thats me but its just the thinking that makes me tired

timid quartz
#

relatable

spare quartz
#

im trying to think of how i would get the metadata AND process data with it since a peer can send multiple messages at once

timid quartz
#

you're becoming me....😄

spare quartz
#

Handshake, Extended

Thread A sets a cyclical barrier for other threads to wait until its got metadata
Thread A fails, and waits, cyclical barrier unlocked for one thread
Thread B attempts to get metadata
Thread B succeeds
Thread A/B request packets with the metadata as context

#

BUT there could be infinite threads running! how would i only let one thread go at a time w/o just killing it outright, since it could still have useful data?

#

an AtomicNumber/Boolean w/ a CyclicalBarrier? or reset CountDownLatch??

#

and along with that

#

i need to make an InputStream for UDP packets even though thats partially antithetical to their purpose

#

(but bittorrent trackers still use connection states over udp...)

timid quartz
#

@spare quartz in java is there any way to invoke a "secondary" main method

spare quartz
timid quartz
#

well kotlin but jvm

timid quartz
#

jvm java kotlin same deal

timid quartz
spare quartz
#

you can invoke any class in a given classpath as long as it has a public static method named main that takes in the parameters String[] and returns void as the entrypoint for the JVM

timid quartz
#

I'd rather do something like java CarpoolMain::daemon_thread than java CarpoolMain --daemonize

spare quartz
#

you could create 2 jars containing the same code, but different Main-Class manifest attributes

timid quartz
#

I feel like the former makes it a little harder for someone to inadvertently spawn a supervisor thread

timid quartz
#

or whatever

spare quartz
#

the default class name for kotlin classes is <name>Kt, and as long as that function is @JvmStatic

#

AND args should be Array<String>

#

yes

timid quartz
#

oh right array string

spare quartz
#

ugh im so tired but not really

#

my eyes feel super heavy but im not actually tired

lone sky
#

HONSE*

#

HONSE*

#

HORSE*

timid quartz
#

honse

timid quartz
#

hmmm

#

atp

#

how would you keep track of the supervisor thread

#

like a common thing would be to make a pid file somewhere

#

but how would you do it

spare quartz
#

please elaborate on "keep track"

timid quartz
#

lik

#

u have the supervisor thread running

#

and when you invoke a cli command (eg carpool --add-service "whatever")

#

you have to tell the supervisor thread to spawn whatever it is

spare quartz
timid quartz
#

ok yes also that

timid quartz
#

where would you put the socket

#

just in the current directory?

spare quartz
#

user specified

timid quartz
#

gay

#

where's the bsl arg parser at

#

what folder

spare quartz
#

org.bread_experts_group.CommandLine.kt

timid quartz
#

oh

#

not in a folder

#

where's the logger

#

logging

spare quartz
#

org.bread_experts_group.logging.ColoredLogger

timid quartz
#

yes found it

spare quartz
#

method of interest: newLogger

#

btw

#

run your program with -help i wanna see what it says

timid quartz
#

yes found it

spare quartz
#

the latest version is 2.22.4 if you care about read64 working with negative 64-bit integers

timid quartz
#

m

spare quartz
#

also biooooring

#

censored name

timid quartz
spare quartz
timid quartz
#

womp

spare quartz
timid quartz
#

is the FLAGS() thing cursed though

#

yeah

spare quartz
#

you dont need a lambda for this

timid quartz
#

wait I can do listOf

spare quartz
#

readArgs ( args, project name, project usage, ... args )

#

it has a vararg form

timid quartz
#

I don't like vararg

spare quartz
#

well then yes it supports lists

timid quartz
#

subjectively less pretty

timid quartz
spare quartz
#

me too but you get used to it

#

in kotlin {} is form for either a block signifier, a lambda, or a creation of a SAM

timid quartz
#

sam

#

strong arm machine?

#

from jetpack joyride?

spare quartz
#

NO WAY YOU PLAY THAT GAME TOO?

timid quartz
#

used to....many moons ago...

spare quartz
#

but uh... functional interface

#

something like

#

AerastoKiller {
...
}

#

this is instantiation of an anon object that inherits AerastoKiller

#

and overrides its single (functional) method

timid quartz
#

what is the difference between parsedArgs.first and parsedArgs.component1

spare quartz
#

no difference, component functions are there to make destructuring work

#

so val (singleArgs, multipleArgs) = ...

spare quartz
# timid quartz is this cursd

additionally the Flag constructor has a few defaults set for you like required/repeatable, so if you just wanna specify conv

#

you do so like Flag(name, desc, conv = {...})

timid quartz
#

im guessing single args is for non-repeatable

#

but multiple args is for repeatable

spare quartz
#

yes

#

its for type grouping

#

Map<String, T> and Map<String, List<T>>

timid quartz
#

ugh...Any?

spare quartz
#

well you cant exactly have a conv that just "works" for a given name

timid quartz
#

so I just have to cast this stuff?

#

cringe...

spare quartz
#

yes

#

but the conversions are infallible

#

singleArgs.getValue("a") as URI will ALWAYS work, as long as a exists, required = 1, and ::conv is a URI

timid quartz
#

in rust the arg parsing libraries are able to just plop them into a struct

spare quartz
#

wdym

timid quartz
#

ill use clap as an example

#

because it has decent dx

#
use clap::Parser;

/// Simple program to greet a person
#[derive(Parser, Debug)]
#[command(version, about, long_about = None)]
struct Args {
    /// Name of the person to greet
    #[arg(short, long)]
    name: String,

    /// Number of times to greet
    #[arg(short, long, default_value_t = 1)]
    count: u8,
}

fn main() {
    let args = Args::parse();

    for _ in 0..args.count {
        println!("Hello {}!", args.name);
    }
}
spare quartz
#

i see

#

that would be a lot of complexity if translated to the JVM which is why i just refer to using casts instead

timid quartz
#

or however you'd want to implement that

spare quartz
#

so i'd have to have to take in the reflected constructor and parse runtime annotations

timid quartz
#

and if you had a custom type that didn't have a "from string" or whatever you could either use some kind of converter argument or have people implement an interface/extension

spare quartz
#

too much work

timid quartz
timid quartz
spare quartz
#

casting is fine

timid quartz
#

LAAAME

spare quartz
#

Fine .

#

automatic error management is good too.

lone sky
#

that's ai generated............

rustic vine
#

no shot it is

#

low tier bait

#

I ain't falling for it

lone sky
#

first of all wtf is that I/O supposed to be

rustic vine
#

looks like IO?

lone sky
#

and what the hell does that say

#

you tell me buddy

rustic vine
#

just blurry

#

🤷‍♂️

#

believable to me

lone sky
#

yeah ok facebook granny

rustic vine
#

ur telling me the ai generated the iso noise too

#

I don't buy that

lone sky
#

@spare quartz i think it's time for harry to retire

#

they became a facebook grandma

#

😢

rustic vine
#

theres literally

#

nothing wrong with that image

#

everything you've pointed out is believable

#

blurry IO, blurry text

#

yes people take blurry photos

#

that doesn't mean its ai

spare quartz
#

just got my cac

#

what do you guys think

rustic vine
#

its old

#

and not real id

#

step up ur game

spare quartz
#

but military discount...

#

1% off mcdonadls..

spare quartz
#

noise like that happens on digital cams

lone sky
#

swear i've seen that exact same image

spare quartz
#

yes

lone sky
#

being AI

rustic vine
#

u suck bruh

#

actually haters

#

don't believe a word I say

lone sky
#

says you

spare quartz
#

how am i a hater 😭

rustic vine
spare quartz
#

im agreeing with you

rustic vine
#

haters!

rustic vine
spare quartz
#

but thats cause you're a commie.

rustic vine
#

wazzup beijing

spare quartz
#

RAISE THE TARIFFS

#

90000000%

timid quartz
#

one giant file ftw

#

maybe 2 at the most, one for the main function and one for all the action functions

spare quartz
#

you can't split the arg parser

timid quartz
#

@rustic vine did you read my ping earlier

spare quartz
#

yeah thats fine

#

do that

rustic vine
#

I did not see it