#dev-general

1 messages ยท Page 460 of 1

old wyvern
#

mhm

jovial warren
#

it's in /usr/bin/stack for me, but IJ can't see that

cinder flare
#

Rust is literally C++ with a modern coat of paint and some more stuff

lunar cypress
#

no

#

it isn'T

old wyvern
cinder flare
#

???

old wyvern
#

add the sdk

cinder flare
#

i've literally used both

#

it shares a lot of syntax and stuff

old wyvern
#

You need to add it manually

cinder flare
#

lots of ways of doing things

jovial warren
old wyvern
#

huh

cinder flare
#

only langs I've seen with vectors and stuff

old wyvern
#

ok gimme a min

cinder flare
#

similar type system

#

meant for systems programming

jovial warren
#

nvm got it

cinder flare
#

it was designed to replace C++

prisma wave
cinder flare
#

and it borrows a lot from it

lunar cypress
cinder flare
#

I mean okay

prisma wave
#

why am i รข

cinder flare
#

but I haven't seen any other lang with vectors besides those two

#

maybe I'm dumb

#

but I certainly see the similarities

lunar cypress
#

Rust is just fundamentally different

prisma wave
#

well you see, rust good c++ bad

cinder flare
#

well yes I know, it's whole memory model is amazing

lunar cypress
#

no OOP, completely different type system, completely different memory management

cinder flare
#

but I'm saying it borrowed quite a bit from C++ and it helps you see where you came from

lunar cypress
#

Yes, sure

#

but it does not help specifically with learning rust, it's too different

cinder flare
#

well yeah

lunar cypress
#

If you want to learn rust, invest your time in learning rust instead of c++

#

There's enough for you to do

prisma wave
#

no OOP
๐Ÿคค

old wyvern
#

๐Ÿ˜Œ

jovial warren
#

ghcup install cabal isn't working

#

it installs it but which cabal doesn't work

cinder flare
#

also mr. rust expert, is there a nicer way to do strings than printf style?

prisma wave
#

have u added .ghcup/bin to PATH

cinder flare
#

like can you do the kotlin eval inside thingy

jovial warren
#

ah that might be it

#

how do you permanently change that again?

#

because export only persists through this current shell session

prisma wave
#

export PATH="$PATH:other" in .zshrc

#

or bashrc

#

or whatever

cinder flare
#

okay so why

#

because printf style strings really hurts

lunar cypress
#

Uhh...

#

it's not that bad? Also, it's not C-style formatting

prisma wave
#

formats and prints

#

ez

cinder flare
#

it's pretty bad dude

prisma wave
#

a string

cinder flare
#

lot harder to read than interpolation or concatenation

jovial warren
#

I've literally got it on PATH

prisma wave
#

what

#

it's like String.format in java

cinder flare
old wyvern
#

Ummm.....

#

its been 2 days

#

what

jovial warren
prisma wave
#

sounds like arch alright

lunar cypress
#

welcome to rolling distribution

old wyvern
#

dammit

cinder flare
#

it's for variables dummy

#

the strings were a test

#

and that's the only way you can make complicated strings in rust

jovial warren
#

generally, if I leave Arch for even a week and come back, I end up with like 400-500 packages at least that need updating

cinder flare
#

no concatenation, no interpolation

lunar cypress
cinder flare
#

i mean you very strongly defended it

prisma wave
#

im getting calin flashbacks here

cinder flare
#

i presumed you'd know a bit lol

lunar cypress
#

I did what now?

cinder flare
#

you... strongly defended it?

#

when i compared it to C++?

prisma wave
#

that dude wanted me and yugi to explain exactly why the java / C# designers had done some really obscure decision

old wyvern
#

๐Ÿฅฒ

lunar cypress
#

I said you don't need to know any C++ to learn Rust and that it's not particularly useful to learn C++ for Rust

#

Idk how you make some sort of war out of this

cinder flare
#

im confused

#

what war?

prisma wave
lunar cypress
#

I did not attack or defend anything whatsoever, and yet you are like "Riddle me this, mr. expert, how come the rust language does this? checkmate"

#

it's silly

cinder flare
#

oh I was just joking cause it seemed like you knew a bit lol

#

who knew, maybe for all i knew there was string interpolation in rust or suttin

#

just vibin my man

#

nope

prisma wave
#

lmao he wanted me to explain why AWT, the library made in 1995 was outdated

#

?

cinder flare
old wyvern
#

Try inverting a binary tree

#

xD

cinder flare
old wyvern
#

๐Ÿ˜Œ

prisma wave
#

how do u know him

old wyvern
#

๐Ÿคฆ

prisma wave
#

oh lmao

#

god they were so painful

old wyvern
#

ikr

lunar cypress
#

I remember my only interaction with him where he invented a new number encoding standard

old wyvern
#

xD

prisma wave
#

lmfao

old wyvern
#

Elon Mosque

cinder flare
#

this guy sounds like the 96GB of ram guy

prisma wave
#

the only reason i joined that server was because dkim sent a screenshot of him saying that primitives were classes or something dumb

cinder flare
#

that mackenzie worships

old wyvern
prisma wave
#

yea i am

#

it's kinda dead tho

old wyvern
#

mhm

prisma wave
#

ohh yeah he invented the fuzzy number comparison operator

#

that literally nobody ever asked for

#

ever

cinder flare
#

fuzzy.... numbers?

#

like you type 104 and it gives you 100 or something?

prisma wave
#

idfk

#

it made no sense

#

what the hell does this mean

#

he also said Go was bad

#

which is unacceptable

#

he also decided that methods and functions required totally separate syntax

#

java syntax for methods, js syntax for functions, but static methods also exist

#

like

#

what???

cinder flare
#

i mean that just seems like comparing within a range

#

actually a little useful in some small circumstances maybe

prisma wave
#

maybe potentially

#

but
a) why not use

#

but
a) why not use a function

#

and b) he couldn't actually describe what it did with anything that wasnt an example

cinder flare
#

i mean yeah kinda dumb

#

but a silly concept

#

though he seemed serious

old wyvern
#

He was

#

๐Ÿคก

jovial warren
prisma wave
#

idfk

jovial warren
#

that's not a very good idea

prisma wave
#

it made no sense

#

and he contradicted himself a lot

#

basically

jovial warren
#

floating point is already pretty fuzzy anyway

prisma wave
#

lots of dumb ideas that had no thought, and then he'd get really angry when we suggested that he thought about the ideas more

cinder flare
#

so hey wait

#

it's called floating point right

#

is there a... not floating point?

#

like you just have a certain amount of bytes for the front bit and certain amount for the back bit

#

or is that a bad idea

old wyvern
#

All conversations with him go this way

C: hey @A, how do you do xyz?
A: Oh, the best way would be to do <this>
C: Thats so annoying to do
<Insert 100 pages of ranting>
C: This sucks, I live in a trailer
A: How is that relevant?
C: I live in a trailer
cinder flare
#

was it a nice trailer at least?

old wyvern
#

God knows

prisma wave
#

Lmfao

#

The guy needed me to explain why IntelliJ ultimate cost money even though he was 14

#

"oh but in 4-8 years time I might not be able to afford it!!"

old wyvern
#

lmao

cinder flare
#

was he getting the bardy 20 quid a week allowance? lmao

prisma wave
#

nah he just kept saying how poor he was

#

i said he could get it for free and he was like "what if i get rejected? what will you do then smartass?"

#

like come on

hot hull
#

These colors are awful ngl

cinder flare
#

what, you don't like burnter orange?

prisma wave
#

aw man the ban removed a ton of his messages

#

shame

#

there was some good material

old wyvern
#

Wait really?

prisma wave
#

yeah

#

not all of them

cinder flare
#

oh he got banned? lmao

old wyvern
#

weird

prisma wave
#

but most of the recent ones

old wyvern
#

Oh I used the bot to ban

#

rip

hot hull
#

Who got banned?

old wyvern
#

Calin

prisma wave
old wyvern
#

xD

cinder flare
#

what a hero!

prisma wave
#

he was literally the only reason we added it

cinder flare
#

he was just pentesting your discord server

prisma wave
#

well

#

we found the vulnerability

#

and got rid of it

cinder flare
#

hey how do you install ghcup or whatever on windows

#

i have ghc but that's it

prisma wave
#

u dont need ghcup on windows

cinder flare
#

oh

#

how do i get the package manger thingy

old wyvern
#

You need chocolatey

cinder flare
#

well yeah i have chocolatey

#

what's it called

old wyvern
#

Lemme check

prisma wave
#

maybe this

cinder flare
#

yeah i read that

#

oh i have cabal

#

nice

prisma wave
#

nice

#

what now

cinder flare
#

uh

#

learn haskell lol

#

ML first tho

prisma wave
#

easy

#

ML bad haskell good

old wyvern
#

Oh

#

Nvm

#

Lol

prisma wave
#

lol

cinder flare
#

my course ain't in Haskell lol

prisma wave
#

๐Ÿ˜ฆ

old wyvern
#

Should be fine to learn

boreal needle
#

is having a project in half-java half-kotlin a bad idea

prisma wave
#

maybe

cinder flare
#

nah that's like, half the allure of kotlin

#

you can convert bit by bit and it'll all still work

boreal needle
#

how difficult is it to implement interfaces written in kotlin in java

prisma wave
#

easy

#

theyre pretty much the same

cinder flare
#

yeah most of kotlin is about being interoperable

#

plus you can do a quick highlight every file -> convert to kotlin

#

and then iron out a few errors and be freed!

steel heart
#

So is there like a convert to java feature as well?

prisma wave
#

nope

#

sadly

steel heart
#

Too bad

prisma wave
#

or goodly

cinder flare
#

why would you want to go back lmao

boreal needle
#

why would you want to go backwards

steel heart
#

Why not

prisma wave
#

well you see

#

kotlin good java bad

steel heart
#

This is like language discrimination

prisma wave
#

quite simple

boreal needle
#

porting this file to kotlin saved me a whole 19 lines

#

tbf like 80% is javadoc

cinder flare
#

well the converter can only do so much

#

you also need to be able to optimize stuff yourself like using when's correctly and using a lot of the null safety stuff

steel heart
#

@NonNull

prisma wave
#

Maybe a

#

Just a

#

Nothing

#

๐Ÿ™‚

hot hull
#

doodoo code if you get npe's

#

just try catch ๐Ÿคก

steel heart
#

Objectively good solution

cinder flare
#

oh yea yea just put every single thing in a big try catch

onyx loom
#

try catch extra boilerplate

cinder flare
#

just your whole java program actually

onyx loom
#

?: ๐Ÿ˜

prisma wave
#

that is my favourite haskell feature

onyx loom
#

lol

jovial warren
#

re-review time BM

#

got a bit confused about the whole mainThread thing, since we need to pass it the Runnable we get from the thread factory

prisma wave
#

SM*

#

ah

#

in that case nvm

jovial warren
#

or at least, I think we need it anyway

#

also, watchdog isn't lateinit because it may not be instantiated every time, and it's easier to perform a safe call than it is to check if it's been instantiated

#

watchdog?.stop() vs if (::watchdog.isInitialized) watchdog.stop() (or something like that)

#

and the magic values aren't magic

#

\u0000 is clearly NULL, and it's kinda obvious that we need to split this into at least 3 components because of what BungeeCordHandshakeData takes (namely, 3 non-null arguments and a non-null list that may be empty)

#

and I don't use multi-line strings because I want the logger prefix to be appended to the start of every new line

#

using a multi-line string means it ends up as a big wall of text that sits sandwiched between two full logs, which looks a bit weird imo

#

or at least, that's the behaviour I got with a raw string

#

anyway, if you can just re-review and approve then I can merge this lol

onyx loom
#

u gotta wait another week for a re-review

#

or however long u were waiting before

jovial warren
#

or I could just use my executive privilege and force merge it

#

screw it

forest pecan
#

@cinder flare support in training

#

lol

prisma wave
#

lol

#

hypothetically speaking

#

if you had some java code and you wanted to convert it to kotlin, but the converted version needed nullable messiness

#

would you
a) leave it
b) try and convert it to something "cleaner" but potentially harder to understand

quiet depot
#

yes

prisma wave
#

for context, i have this ```kt
fun getFrom(str: String, index: Int): Pair<T?, Int> {
var node: Node<T>? = root
var value: T? = null
for (i in index until str.length) {
node = node!!.getNode(str[i])
if (node == null) {
return value to i - index
}
if (node.value != null) {
value = node.value
}
}
return value to str.length - index
}

#

which is kinda gross

quiet depot
#

I'm really against using null in kotlin

prisma wave
#

likewise

#

but

#

converting it to something that didnt use null would increase the complexity a lot i think

#

because it would need recursion

#

it's traversing a tree or something

quiet depot
#

why would it increase complexity?

#

instead of checking if it's null, you're now just checking if it exists

jovial warren
elder swan
#

Is there a way to setup automation for:
-Works When I push a commit into GitHub
-Packages Plugin with Maven
-Releases the Package onto Github Releases page automatically?

jovial warren
#

most things you'll declare will be non-null anyway

quiet depot
#

yes volitaire

#

look into github actions

elder swan
#

I tried but i messed up

#

I can accept pull & merge requests if anybody can setup action

prisma wave
#

ok adjusted it a bit and we now only have 1 nullable

#

but afaik that needs to be nullable

#

so

#

yay

jovial warren
#

hey anyone here got a clue how to dump every loaded bytecode class file inside of a running JVM?

prisma wave
#

๐Ÿคจ

jovial warren
#

I wanna see if Minecraft does any profiler hackery

#

since there's a class that has like 4 final fields but there's no constructor or getters/setters for them

#

even in a pure obfuscated vanilla JAR (I used a bytecode viewer)

elder swan
#

my 4 little brain cells can't process %90 of message because of my A3 english

#

one of them died

prisma wave
#

๐Ÿฅฒ

quiet depot
#

bardy mc does code gen

jovial warren
#

at runtime?

quiet depot
#

no, before compile time

jovial warren
#

doesn't explain my issue then

quiet depot
#

/s

#

yes

#

runtime

jovial warren
#

any idea where the code gen classes would be?

quiet depot
#

afraid not

jovial warren
#

oh well, I'll find them

#

surely the generators would have to be called from the entry point

#

also, how do you even know that btw pig?

quiet depot
#

I remember someone complaining about asm being outdated

#

then someone asks "what does mc even use asm for"

jovial warren
#

ah right

quiet depot
#

and then they replied "they started using asm in like 1.9"

#

probably something todo with slimjar or pdm

jovial warren
#

you know if there's an easy way I could potentially just dump runtime class files?

quiet depot
#

print out classpath

#

compare it to files

jovial warren
#

any way I could do that by attaching to a running JVM?

#

since I wanna do this on the notchian server

quiet depot
#

profiler

#

i use yourkit

jovial warren
#

I have a JProfiler OS license, maybe that would work

quiet depot
#

there's a reason like 99% of mc projects have a yourkit badge on their readme ๐Ÿ˜‰

jovial warren
#

so YourKit can dump actual class files?

quiet depot
#

oh, don't think so

jovial warren
#

also, wonder why they use YourKit and not JProfiler

quiet depot
#

you might have to use the instrumentation api for that

#

make your own java agent

jovial warren
#

how in the hell do I do that?

quiet depot
#

it's not too hard, I did it a while back when I was trying to crack some dodgy runtime obfuscation

#

I used javassist

#

try looking into that

jovial warren
#

wait since when could you attach your own classes to the runtime classpath?

lunar cypress
#

what?

#

That's the entire point of dynamic class loading

jovial warren
#

oh

jovial warren
#

oh also, if a class doesn't define any constructors itself, would the bytecode still have the empty default constructor present?

#

would it even be possible to fix that at runtime?

prisma wave
#

Whats going on here then

jovial warren
#

known thing that seems to originate from the obfuscator

hot hull
#

Is that a snowman

jovial warren
#

yes

eternal compass
#

โ˜ƒ

#

\โ˜ƒ

serene cave
#

hello

#

how is everybody's day

prisma wave
#

hey trump

#

my day is great

serene cave
#

Hello Semigroup Mitten

prisma wave
#

how are you*

#

hello

serene cave
#

I am also very good

#

in America I am very happy

quiet depot
#

murica

#

fuck yeah

serene cave
#

Murica

stuck harbor
#

'murica

serene cave
#

PiggyPiglet

#

how is your bacon

quiet depot
#

yes

prisma wave
#

wait a minute

#

are you the real trump

#

there was another one

#

@mellow valley

serene cave
#

I am real trump

prisma wave
#

oh ok my bad

serene cave
#

It's okay young sir

#

We all make mistakes

#

but biden is a hoe

half harness
#

๐Ÿ˜ฎ ๐Ÿ˜ฎ

#

staff!!!

#

FRed

#

JERRY

#

kALibER

#

BM

onyx loom
#

WHATR

half harness
#

๐Ÿ˜ฎ ๐Ÿ˜ฎ

#

๐Ÿฅบ

prisma wave
#

why

#

works fine in itnellij

#

docker doesnt like it

#

STUPID docker

onyx loom
#

docker bad

serene cave
#

@quiet depot where is my admin role

#

i am

#

dictator

#

of milky way

half harness
#

where is my support in training role

serene cave
#

did you applu

onyx loom
#

not the universe donald?

serene cave
#

*universe

onyx loom
#

oh thats cool

#

so ur basically god?

serene cave
#

I am God's father

onyx loom
#

omg can i have an autograph

serene cave
#

Yes

frigid badge
prisma wave
#

lemmo

#

u are on

#

pls

#

i suck at docker

#
FROM gradle:7.0.0 AS build
COPY --chown=gradle:gradle . /home/gradle/src
WORKDIR /home/gradle/src

RUN gradle shadowJar --no-daemon

FROM neduekwunife/openjdk8-jre-alpine-with-fontconfig

RUN mkdir /app
VOLUME /var/data

COPY --from=build /home/gradle/src/build/libs/*.jar /app/app.jar

ENTRYPOINT ["java", "-jar", "/app/app.jar"]
``` is there anything obviously wrong with this
onyx loom
serene cave
#

?imgur

compact perchBOT
#
FAQ Answer:

You won't be able to upload images here directly to avoid spam, so please use https://imgur.com/ to upload images/screenshots.
You can also use a screenshot service like gyazo or jinx and post those links here.

half harness
#

do u have access to staff chat

onyx loom
#

no

eternal compass
#

I'm not staff

onyx loom
#

i am technically not staff

half harness
#

you're in training

eternal compass
#

I'm "Support in Training"

half harness
#

unlike me

quiet depot
prisma wave
#

hmm

#

it was working up until about 5 minutes ago

#

so yeah

#

although it's kinda slow af

#

no caching

serene cave
prisma wave
#

but that's a different problem

serene cave
#

@onyx loom

onyx loom
#

hello

prisma wave
#

๐Ÿฅฒ

serene cave
#

bruh

#

black background

half harness
serene cave
#

and black text

#

lol

onyx loom
#

holy shit thank u so much for the autograph

serene cave
#

np

onyx loom
#

i am honoured

serene cave
#

you are welcome

prisma wave
#

trump

#

can i have a dick pic

serene cave
#

Sure

onyx loom
#

i love u so much

#

i am ur biggest fan

onyx loom
#

LOL

#

why is that a thing

quiet depot
#

very nice

serene cave
#

I have a picture of Piggy's pp

eternal compass
#

@serene cave can you send it with a gray background so I can read the image?
I can't tell if you're legit

serene cave
#

I found it on the internet

half harness
#

๐Ÿ˜ฎ

eternal compass
#

๐Ÿ˜ฎ

half harness
#

btw trump how are you still tier 1

serene cave
quiet depot
#

everyone has seen my pp

serene cave
#

i found the pp

quiet depot
#

my peppa pig

#

my pp

serene cave
#

Yes

serene cave
#

bad

#

i need admi

half harness
#

๐Ÿ˜ฎ

serene cave
#

i am god daddy

half harness
#

trump for admin

quiet depot
#

where's the wall

half harness
#

what

half harness
quiet depot
#

trump i'll give u admin

half harness
#

๐Ÿ˜ฎ

#

๐Ÿ˜ฎ

quiet depot
#

if u give me a small loan of a million dollars

half harness
#

D:

serene cave
#

I gotchu fam

half harness
#

greedy

serene cave
#

๐Ÿ’ฐ

half harness
#

๐Ÿ˜ฎ

#

piggy u rich!

#

smh piggy ran away with the money

serene cave
#

look at this website

#

i made

eternal compass
#

Save American? new slogan

eternal compass
#

also why is there a french flag on the site ._.

serene cave
#

Lemmo

#

How is your day

prisma wave
# frigid badge idk what is the problem?

well the main problem atm is that suddenly the kotlin gradle plugin cant be found, but also it's slow af to build. do you know of a way of caching with docker/gradle?

frigid badge
#

docker already caches

prisma wave
#

but it wont cache gradle stuff right

#

it's like a cold start each time

frigid badge
#

but is shadowJar in the default gradle?

#

image

prisma wave
#

wdym?

frigid badge
#

you pull a gradle image

#

does it have shadowJar by default

prisma wave
#

uh

#

probably not

frigid badge
#

give me a sec while I finish my game

prisma wave
#

ok ty

onyx loom
#

get off cod

stuck harbor
#

that's illegal

gilded granite
#

im learning abt classes in java rn and its so confusing lmao

boreal needle
#

stick with it

#

you can do this <3

gilded granite
#

thank you :D

#

i appreciate that alot

onyx loom
#

were here to help too ๐Ÿ˜Š

obtuse gale
#

I need help

compact perchBOT
#

There is no time to wait! Ask your question @obtuse gale!

boreal needle
#

same

obtuse gale
#

@everyone

loud gyroBOT
#

The 'everyone' mention is disabled so you can't annoy people.

obtuse gale
#

Please

onyx loom
#

shut

obtuse gale
#

I can't post images

onyx loom
#

lol

boreal needle
#

hOw cAn i hElP

obtuse gale
#

Barry please images embed

onyx loom
obtuse gale
#

I can't send images

#

Wtf

prisma wave
#

supprot role

onyx loom
#

yes

#

thank u very much

ocean quartz
#

@frail glade ๐Ÿฅบ

frail glade
#

Do they approve things over the weekend?

ocean quartz
#

I'm not sure, i think my plugin took 2 days to get approved ๐Ÿ˜ฉ

frail glade
#

Dang. I guess we just wait now.

prisma wave
onyx loom
#

deja vu

prisma wave
#

๐Ÿฅฒ ๐Ÿฅฒ ๐Ÿฅฒ

onyx loom
#

oh wow bm

#

what a coincidence

#

we listening to same sogn rn

prisma wave
#

good song

#

great minds think alike

onyx loom
#

absolutely

ocean quartz
#

"(savage)"

onyx loom
#

yes

hot hull
onyx loom
#

but... but... frosty... open source good... !!!

prisma wave
#

hello

onyx loom
#

hi

hot hull
#

No

static zealot
#

I don't need that tho. My desktop is already clean

hot hull
#

Same

static zealot
hot hull
static zealot
onyx loom
#

nice screen size

#

yup

static zealot
#

why recycle bin at the top tho? ๐Ÿ˜ข

prisma wave
#

oh my god

static zealot
#

it should be bottom right always

hot hull
#

Waiting for something else

#

To be noticed :kek:

prisma wave
onyx loom
#

OH GOD

frigid badge
#

@prisma wave was eating sorry.

onyx loom
#

no frosty

frigid badge
#

anyway

onyx loom
#

DELETE IT

prisma wave
hot hull
#

Don't worry, it's temprorary, we have a dungeons setup and it contained some skripts, need to convert them into a plugin

onyx loom
#

this is unforgivable

#

dont even look at the skripts

hot hull
#

Please do shoot me

frigid badge
static zealot
prisma wave
#

okay so im doing sudo docker build ., this is correct right?

hot hull
#

So I have this in a db, how and what params do I need to retrieve which have a certain date range?

old wyvern
frigid badge
#

I'm trying the dockerfile rn

static zealot
old wyvern
#

lol

static zealot
#

and stop some programs from starting when windows starts

#

it takes a bit to load but it does load xD

old wyvern
#

Why is this shit available for public download???

#

I was literally waiting on the ui for 5 mins thinking it was just taking time to load up

#

Im just gonna use an online tool

prisma wave
frigid badge
#

ah really

#

well thatโ€™s good then

prisma wave
#

yeah

#

restarted docker and gonna try rebuilding

old wyvern
#

um bm, removing a package is just yay remove <package_name> right?

prisma wave
#

yay -R package

old wyvern
#

thanks!

prisma wave
#

restarting docker didnt fix thonking

frigid badge
#

L

#

also

#

in your image you do a copy

#

and then you set worksite

#

workdir*

#

to the same path just do workdir first and copy to .

hot hull
#

So I'm guessing this is wrong since it don't do shit :p

prisma wave
frigid badge
#

just . .

#

no it wonโ€™t

#

COPY copies from outside the image to inside the image

prisma wave
#

o ok

#

ah yeah right

old wyvern
prisma wave
#

๐Ÿ˜ฌ

old wyvern
#

I have to make "UML Diagram" from this.... Theres barely like 7 classes and its cluttered af

#

also...

#

all fields are public

#

...

#

Im pretty sure the prof is going to end up questioning these tmr

#

๐Ÿ˜ข

onyx loom
#

yikes

old wyvern
#

I almost want to go ahead and fix this, but it will probably come off as rude

onyx loom
#

lol

gilded granite
#

imagine a life without w3schools and stackoverflow

half harness
forest pecan
#

does sonatype only allow io.github now

#

and not com.github

jovial warren
#

open a ticket

ocean quartz
#

Seems like it

jovial warren
#

then you'll find out

prisma wave
#

ayo what happened to u and star learning haskell today

#

u got me all excited and then disappeared ๐Ÿ˜ฆ

jovial warren
#

got stuck at that cabal thing and just kinda gave up

prisma wave
#

time to try again? ๐Ÿฅบ ๐Ÿ‘‰ ๐Ÿ‘ˆ

#

:))

jovial warren
#

you know I'm not on Windows right?

prisma wave
#

o

#

then it's even easier

jovial warren
#

I have ghcup from the AUR

#

I have ghc installed, I have cabal installed, I have stack installed

prisma wave
#

ghcup install cabal

#

oh

#

so whats the problem

jovial warren
#

IJ just showed me an error

prisma wave
#

oh yeah

#

did u add the sdk?

#

project structure > SDKs

jovial warren
#

gimme a min

hot hull
#

L

prisma wave
#

Delete project and make a new one perhaps

jovial warren
#

if I open the project, it tells me that the Haskell Tool Stack I selected is invalid

#

and it happens every time BM

prisma wave
#

Then select a valid one ๐Ÿฅฒ

#

What have you got in SDKs

jovial warren
#

the one I selected is the one under /usr/bin/stack (from stack-static iirc)

prisma wave
#

can you SS?

jovial warren
#

sure

#

room 2

old wyvern
#

oh wait

#

nvm

#

yes you do

#

Btw if you're having trouble setting up ij with it, I recommend just using sublime or vscode

#

the ij plugin is not very stable

prisma wave
#

oh nvm i got food

jovial warren
#

lol

old wyvern
prisma wave
#

however

#

i cant join room 2

#

got dinner

old wyvern
#

ah

#

@jovial warren
stack install ghcid

prisma wave
#

Yeah I think The IJ plugin just sucks

#

Might wanna go barebones for the basics

old wyvern
#

yea it was a mess to set up on windows

#

Also kept downloading like 6-10gb worth of packages

prisma wave
#

Emacs plugin is great

#

Vim probably good too

old wyvern
#

Are the terminal text editors really worth using over the graphical ones?

#

other than circlejerking I mean

prisma wave
#

Idk

#

I think they're nice for single files

#

Can't really see myself making a whole project in them though

old wyvern
#

ah alrighty

sweet cipher
#

How do I change where the jar from shadowJar goes with gradle?

half harness
#

then just do gradle shadowJar

#

or gradle copyFile

#

(but shadowJar will run the task automatically if you put the last line)

distant sun
#

you can use from shadowJar ``into 'path to server'`

sweet cipher
#

Okay thank you

half harness
#

wat

#

its build.gradle

stuck harbor
#

but

#

but

half harness
#

accused ๐Ÿ˜ 

#

SMH

stuck harbor
#

help

#

im confused

half harness
#

proof

sweet cipher
half harness
sweet cipher
#

What does the ../ lead to?

stuck harbor
#

the directory outside the one ur in

half harness
#
IdeaProjects/Bedwars/build/libs/jar-all.jar
->
IdeaProjects/.TestServers/1.8/plugins/jar-all.jar
sweet cipher
#

Oh ok

#

Thanks

prisma wave
#

what is kotlin version before 1.5

#

1.4.11 or something

#

1.4

#

1.4.41981875817185718

frail glade
#

1.4.32

prisma wave
#

ty

static zealot
#

1.4.69

prisma wave
#

Thank You Blitz!

static zealot
#

๐Ÿ‘ always here to help

jovial warren
#

ffs I just spent ages trying to figure out how times.forEach isn't a suitable replacement for for (int i = 1; i < times.size(); i++)

old wyvern
#

What did you conclude on?

prisma wave
#

why isnt it HUH?

jovial warren
#

look closely

static zealot
#

i = 1 ?

jovial warren
#

bingo

oak raft
compact perchBOT
#

There is no time to wait! Ask your question @oak raft!

prisma wave
#

yeah tail fixes that ๐Ÿ™‚

jovial warren
#

wat

prisma wave
#

forM f (tail times) ๐Ÿ™‚

jovial warren
#

all I had to do was use drop(1) lol

prisma wave
#

yeah also known as tail

#

in "good" languages

jovial warren
#

maybe drop(1) isn't a good idea though since it creates a new list

#

maybe I should just use the for

static zealot
#

he said "good" in " bcz he knows he means bad

prisma wave
#

linked list

ocean quartz
#

Add me to that list

prisma wave
#

lazy evaluation

static zealot
ocean quartz
#

We can only hope

distant sun
#

๐Ÿคท

#

Imo only the name is a problem

frail glade
#

Isn't that a free plugin?

static zealot
#

xD

prisma wave
#

bruh

frail glade
#

Why is it obfuscated?

static zealot
ocean quartz
#

"Me code important, no steal!"

static zealot
#

probably trash code

onyx loom
#

obfuscating ๐Ÿ˜”

prisma wave
#

NO

#

do it yourSELF loser

onyx loom
#

please dont be rude.

ocean quartz
#

These support in training are so rude ๐Ÿ˜ฉ

half harness
#

kaliber do u remember any of the bugs from yesterday

onyx loom
#

all of it

half harness
#

i just want to make sure i didn't forget any

onyx loom
half harness
ocean quartz
#

Right, demote!

onyx loom
#

๐Ÿ™‚

prisma wave
#

๐Ÿ™‚

half harness
#

๐Ÿ™‚

prisma wave
#

ok guys DEBATE time

#

private companion object or public companion object with private variables

onyx loom
#

what is the DEBATE

prisma wave
#

WHICH is BETTre

prisma wave
#

assume that all variables will be private

#

well yes but

#

idk

#

๐Ÿ˜”

onyx loom
#

well i mean

old wyvern
#

๐Ÿ˜”

onyx loom
#

does the companion have to be public?

ocean quartz
#

Private companion with private properties!

prisma wave
#

doesnt have to be

prisma wave
ocean quartz
#

That's fair, but safe

prisma wave
#

i miss good languages that dont have PUBLIC and private

#

anyway

#

ok

half harness
#

anyone available to test my bw plugin with me ๐Ÿ˜„

onyx loom
#

NO

prisma wave
#

thank you for the decisive answer

half harness
#

D:

#

ok

ocean quartz
prisma wave
#

YEAH

old wyvern
#

private companion already hides properties right?

prisma wave
#

probably

#

yeah

#

so

#

ez

old wyvern
#

Then that should be enough ig

prisma wave
#

YEAH

gilded granite
obtuse gale
#

Pog

ocean quartz
#

Swing ๐Ÿ˜ฌ

sweet cipher
#

Tire Swings are fun

old wyvern
#

Android at it again ruining my damn day

gilded granite
#

i have no clue what that is i was just told it should be there

#

why is everyone im showing this to saying "oh no a swing"

ocean quartz
old wyvern
#

๐Ÿฅฒ

#

I gave the fragment manager a separate factory but it just seems to ignore it on display state changes

#

WHY

ocean quartz
gilded granite
#

oh

#

is there a better one or

ocean quartz
#

There is JavaFX, which has a lot better features but imo it's just as annoying to use lmao

gilded granite
#

oh lmao

sweet cipher
#

Just use neither

ocean quartz
#

There is also JCEF

gilded granite
prisma wave
#

this has got to be a docker bug right

ocean quartz
#

Java Chromium Embedded Framework
Basically a browser running in Java, so you can do any website or local ones and use JS, HTML, CSS

prisma wave
#

theyre actually trolling now

ocean quartz
frail glade
#

Speaking of that. League was still running theirs on CEF 68 or something like that when the latest is 90.

#

Their solution to making the client faster is to just update it to 90.

prisma wave
ocean quartz
#

Also, this series has been pretty cool, dude is basically building a computer from scratch
https://www.youtube.com/watch?v=dL0GO9SeBh0

Support these videos on Patreon: https://www.patreon.com/beneater or https://eater.net/support for other ways to support.


Social media:
Website: https://www.eater.net
Twitter: https://twitter.com/ben_eater
Patreon: https://patreon.com/beneater
Reddit: https://www.reddit.com/r/beneater

Special thanks to these suppo...

โ–ถ Play video
pale shell
#

gradle init = ๐Ÿ˜

jovial warren
#

depends on your case

#

asynchronous just means not in sync

#

a.k.a not synchronised, or (generally what we mean here) not in order

#

with asynchronous computation, you are able to take advantage of the wondrous multi-core processors we have nowadays

#

Matt esta escribiendo...

ocean quartz
#

Let me explain in a representative way
But this is a VERY oversimplification

// Normal ticking
tick {
  doingThing -> 5ms
  doingThing -> 10ms
  doingThing -> 20ms
}
// Final tick was 35ms

// Async
tick {
  doingThing -> 5ms
  doingThing -> 20ms | doingThing -> 10ms // Done in parallel because the 10ms one is async
}
// Same instructions, but took 25ms instead of 35ms
#

Async means you're doing something outside of the main thread, so doing something else while the main thread handles everything normally, at the same time

jovial warren
#

so tempted to add KryptonServer.spin lol

#

since I kinda wanna start up my own server thread manually rather than using the main thread, like vanilla does

#

I mean, vanilla's MinecraftServer kinda acts like a scheduler in some places though

prisma wave
#

val main = { putStrLn("hello world")}

jovial warren
#

lol

#

gonna doubt val works in Haskell

prisma wave
#

i will make it work

#

got it

#

where can i find this woman

jovial warren
prisma wave
#

god imagine being named after haskell

#

what an honour

obtuse gale
jovial warren
jovial warren
prisma wave
#

WHERE

#

HOW

obtuse gale
#

Are you at least 18 years old?

#

These women want to keep their identity private. Will you share their personal details?

jovial warren
#

the amount of times I've seen that when you're on a dodgy site and you get redirected ๐Ÿฅฒ

obtuse gale
#

Please enter your credit card and personal details:
First Name:
Last Name:
Credit card number:
Expiration date:
Email address:

jovial warren
#

there's also a ProcessorMailbox kekw

ocean quartz
obtuse gale
#

More specifically this:

at org.bukkit.craftbukkit.v1_16_R3.CraftServer.reload
at me.pzdrs.bingo.listeners.EventGameStartEnd.lambda$serverRestart$5
at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run
at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftScheduler.mainThreadHeartbeat
#

is that a plugin that made a task.. that runs Server#reload()???

#

what the fuck

distant sun
#

:))))

obtuse gale
#

that is actually pure evil

#

what the fuck

#

I'm mad

distant sun
#

while true lag()

obtuse gale
#

who is actually autistic enough to make that in an actual plugin

distant sun
#

Is it a troll plugin or smth public?

obtuse gale
#

Public I suppose, got that log in the LP discord because, well, reload

jovial warren
#

looks like an LP issue to me wdym

#

isn't the LuckPerms package me.pzdrs.bingo?

#

also, tell him it's a reload issue lol

obtuse gale
#

I told them to get rid of that crap lmao

distant sun
obtuse gale
#

"and restart the server"

#

FUCK OFF

#

WHAT

static zealot
#

lmao

distant sun
#

System.exit(69)

obtuse gale
#

lmao look at this

half harness
#

wha

onyx loom
#

i think u shouldnt use /reload

#

idk if that was made clear

obtuse gale
#

yeah /reload bad but Server#reload() good๐Ÿ‘

onyx loom
#

๐Ÿคจ

ocean quartz
ocean quartz
#

Nah, plugman better!

jovial warren
#

at least Krypton's (hopefully) won't sometimes break plugins after reload

ocean quartz
#

But that's the good part of plugman

jovial warren
#

lol

#

I wonder if I can actually get plugins to be easily reloadable without needing some mega massive super crazy OSGi model module-based system

oak raft
#

Just be smart

jovial warren
old wyvern
#

Holy shit, I found a really really old video of mine

jovial warren
#

๐Ÿ‘€

#

care to share it with the group?

old wyvern
#

Dont ask

#

I didnt know better

hallow crane
#

if we can't use luckperms with krypton I don't want it

onyx loom
#

you can

hallow crane
#

huh

old wyvern
#

He has a fork

hallow crane
#

you implemented lp for krypton?

old wyvern
#

Bard did

hallow crane
#

oh. what else is implemented?

old wyvern
#

Nothing else I think

#

Just that

sweet cipher
jovial warren
#

oh my god

ocean quartz
#

Where did you even find that?

jovial warren
#

I think he wrote it

ocean quartz
#

O

#

Oh god

oak raft
#

Looks fine to me

sweet cipher
#

I did lol

static zealot
#

I love it

sweet cipher
#

Thank you

#

Lots of debug code too

#

The best part is I can't tell if the minecraft time works because the converter I looked up had a time that was way off

#

I'll make it better later lol if I remember

oak raft
#

Also Matt do you mind giving me a practical example of how the defaultcommand and subcommand and args are different in your framework?

jovial warren
#
@Command
public class MyCommand {

    @Default
    public void default(CommandSender sender) {
        // ez
    }
}
```iirc
#

may be missing a command name as a parameter to @Command there

static zealot
#
@Command("command-name")
class Command: CommandBase() {
  @Default
  fun default(sender: CommandSender) {
      // HERE YOU'LL SEND INFO ABOUT YOUR PLUGIN FOR EXAMPLE
      // Command will be: /command-name
  }

  @SubCommand("teleport")  
  fun subCommand1(sender: Player, x: Int?, y: Int?, z:Int?) {
      // HERE YOU TELEPORT THE Player to x,y,z
      // Command will be: /command-name teleport x y z
  }
  
  @SubCommand("reload")  
  fun subCommand1(sender: CommandSender) {
      // HERE YOU RELOAD THE PLUGIN CONFIGURATION
      // Command will be: /command-name reload
  }

}```
#

oh java

jovial warren
#

ah yeah, CommandBase

static zealot
#

nvm then xD

jovial warren
#

nah dw Blitz, he'll get it I think

#

also, sendMessage(String) ๐Ÿคข

#

what is this? 2014?

static zealot
#

to lazy to write Component.text("...") xD

#

but I mean he asked for a practical example

#

so made it better I guess

oak raft
static zealot
#

Components

ocean quartz
#

Components

oak raft
#

Ok let me hop on pc so I can ur example in colour blitz

static zealot
#

hmm : Name() is implement and : Name is extends right?

#

I forgot

#

xD

onyx loom
#

other way round

static zealot
#

that's what I meant to write lmao. I need to get some sleep ๐Ÿ˜ข ty tho

onyx loom
#

๐Ÿค”

#

hehe

sweet cipher
static zealot
#

if u want more practical I can show an example of my plugin and how I use it. Like simplified of course

oak raft
#

Sure, although I think I get the jest of it

static zealot
sweet cipher
#

I can, I am right now lol

#

Just have to fix the if statements at the end

jovial warren
sweet cipher
#

Ooh I'll try it

static zealot
#
@Command("bounty")
class Command: CommandBase() {
  @Default
  fun default(sender: CommandSender) {
      // HERE I OPEN A MENU WHERE ALL BOUNTIES ARE LISTED
  }

  @SubCommand("place")  
  fun subCommand1(sender: Player, target: Player, amount: Int?) {
      // HERE THE SENDER PLACES A NEW BOUNTY ON THE TARGET
  }
  
  @SubCommand("cancel")  
  fun subCommand1(sender: Player, id: Int?) {
      // HERE A PLAYER CANCELS A BOUNTY USING ITS ID I GENERATED IN `PLACE` SUBCOMMAND
  }
}```
onyx loom
#

sir this is not a practical example at all

static zealot
#

why not?

onyx loom
#

id like to inform u that this a HUGE violation of the Single Responsibility Principle !!!

static zealot
#

what?

#

how?

static zealot
#

...

oak raft
#

but fr that explains it well, I appreciate it

static zealot
#

I guess you don't need my help anymore

static zealot
#

well seeing you don't want to respond I'll just assume you don't know what you're talking about