#dev-general

1 messages ยท Page 381 of 1

cinder flare
#

also imagine being allowed to use Java 15

jovial warren
#

ew

cinder flare
#

I'm scared to use Java 11 things, I dunno if my prof is using Java 6 or not bro

ocean quartz
#

Basically

cinder flare
#

every lambda is a risk

half harness
#

so like if (someVar is Clazz: newVar)

cinder flare
#

no

ocean quartz
#

That's KT dkim what the fuck are you doing

lunar cypress
#

that's exactly what java does now, but what's the benefit

jovial warren
#

he says he prefers that over Kotlin's smart casting

half harness
#

๐Ÿค”

cinder flare
#

over smart casting?

#

im so scared

jovial warren
#

listen dkim

lunar cypress
#

it's easier to implement but in terms of usage? there's really nothing bad about smart casting

jovial warren
#

there is literally 0 reason to not want smart casting

half harness
#

but

jovial warren
#

literally no possible reason

#

no buts

half harness
#

ok

ocean quartz
#

No, i want to hear the reason, but what?

half harness
#

nvm

jovial warren
#

if you don't want to use properties from the new object, you just use them on the new object

#

e.g. ```kotlin
if (sender is Player) {
sender.sendMessage("Hello!")
}

#

I don't even think casting allocates any extra memory on the stack

cinder flare
#

why would it

#

just change the type easy peasy

prisma wave
#

CommandSender has sendMessage ๐Ÿฅฒ

ocean quartz
#

Shhh

jovial warren
#

it's an Audience, ofc it does

ocean quartz
#

@half harness Audience is an Adventure thing

half harness
#

oh

jovial warren
#

well adventure docs broken

#

also, is it just me or is treating all gamerules as a string annoying lol

#

I mean, the only other option is a data class that wraps them all separately

#

and level.dat seems to treat them all as strings

lunar cypress
#

they're all just one

jovial warren
#

yeah

lunar cypress
#

in fact smart casting probably doesn't do anything whatsoever

#

it just verifies it at compile time

jovial warren
#

doesn't really need to, yeah

#

since I would've thought casting would be free, as you're not even doing any conversion

lunar cypress
#

it's not completely free in regular casting because of the checkcast instruction

jovial warren
#

since the type you're casting to is generally the actual (or a parent) of the runtime type

lunar cypress
#

but in the case of smart casting the compiler can prove that the type is correct in that scope and thus no checkcast should be needed

jovial warren
#

yeah

#

also, one thing I do kinda miss from Java is the ability for all primitives to kinda just work together

#

e.g. ```kotlin
val byte: Byte = 1
if (1 == byte) // error - cannot compare byte with int

#

BS like that

#

terrible example, ik, but you get the point

cinder flare
#

just don't use bytes

#

yeah

#

wait does that work in java?

jovial warren
#

bytes are extremely common at the network level

#

you can compare a byte to an int in Java iirc, yeah

cinder flare
#

I'd think integer literals shouldn't be comparable to bytes

jovial warren
#

they're primitives, basically interchangeable

#

I think

cinder flare
#

hmm

#

no primitives in kotlin eh

stuck harbor
#

well just use clojure

cinder flare
#

everything uppercase

stuck harbor
#

no objects

#

๐Ÿ˜‰

#

no need for 'em

ocean quartz
#

Code in JS, no types

stuck harbor
#

code in typescript, too many types

cinder flare
#

haha

jovial warren
#

no primitives in Kotlin

cinder flare
#

code in haskell, everything is function

#

every time I say it, I want to learn more about haskell

jovial warren
#

the compiler is smart enough to turn the objects into primitives in bytecode though, but they don't exist in Kotlin

cinder flare
#

see that's what im saying

#

no need for autoboxing /unboxing when you have no primitives ;)

jovial warren
#

er...

#

yes there is

cinder flare
#

wdym

jovial warren
#

it still compiles to JVM bytecode remember

cinder flare
#

the whole point of autoboxing is upgrading int to Integer

#

well yeah but I mean to the end user

#

we don't have to worry about that :)

jovial warren
#

man, valhalla is gonna be really useful at destroying collection (un)boxing

cinder flare
#

valhalla?

pale shell
#

maven is horrible it won't accept kotlin one bit

jovial warren
#

valhalla plans to allow primitives to be used in generics iirc

forest pecan
#

it does

#

maven does accept kotlin lol

jovial warren
cinder flare
#

I mean I don't see why we even have primitives

pale shell
#

I have 0 clue how to do it gradle just accepts it

cinder flare
#

why not make everything a capital boi like Kotlin, for consistency

jovial warren
#

primitives are actually very useful

forest pecan
#

bruh

#

if you have 0 clue

#

why are you saying its trash

#

lol

ocean quartz
#

Kotlin with maven is a nightmare

forest pecan
#

yea it is

jovial warren
#

yeah Kotlin + Maven != good

pale shell
#

gradle it goes in straight away

cinder flare
jovial warren
#

not true

cinder flare
#

I see no reason why everything shouldn't be a capital boi

half harness
jovial warren
cinder flare
#

bro to the end user

#

they can do primitives on the spooky compiler side all they want

#

but why should I need to know the difference

pale shell
jovial warren
#

src/main/kotlin doesn't work with Maven btw

pale shell
#

you joking

jovial warren
#

nope

cinder flare
#

yeah you just put it it the java folder

#

i was gonna say

stuck harbor
#

who would use maven & kotlin

pale shell
#

whyyyyyy

stuck harbor
#

thats fuckin' stupid

jovial warren
#

src/main/java only

pale shell
#

ughhhhhh

cinder flare
stuck harbor
#

u need to put kotlin code in the java folder for maven

forest pecan
#

you can just change the sources folder

stuck harbor
#

lol

forest pecan
#

in maven

stuck harbor
#

maven is 20 years behind

forest pecan
#

you dont have to always make it src/main/java

#

you can specify in pom

stuck harbor
#

you can specify one

forest pecan
#

yea

cinder flare
#

the only cool thing about maven is that its build file is named pom

stuck harbor
#

so its src/main/kotlin or src/main/java

#

not both

jovial warren
#

Gradle is the future of JVM build tools

stuck harbor
#

yes

lunar cypress
jovial warren
#

Maven is just yesterday's news lol

cinder flare
stuck harbor
#

clojure isn't gradle supporting tho

#

cmake!

#

cmake!

#

aaaa

lunar cypress
#

sure you can use gradle for clojure

ocean quartz
#

Gradle could definitely be better though
Specially the API

lunar cypress
#

I bet there is a plugin

stuck harbor
#

well probably

jovial warren
#

Kotlin DSL > Groovy DSL fingerguns

stuck harbor
#

but its not common

pale shell
#

so i have to put all kotlin files with the java files?

jovial warren
#

yep

cinder flare
stuck harbor
#

if you want to use maven, yes

forest pecan
lunar cypress
forest pecan
#

maven was built for Java only really

cinder flare
#

I'm 100% sure it optimizes a bunch of stuff

jovial warren
#

yeah javac is very plain and boring in the way it functions

cinder flare
#

and using primitives is just yet another optimization in Kotlin for instance

lunar cypress
#

It barely optimises anything

cinder flare
#

okay well

#

maybe not javac

#

but like the C compiler and optimization levels

jovial warren
#

most of the optimisation is done by the JIT compiler, not javac

cinder flare
#

that shit is crazy

forest pecan
#

it does magic

cinder flare
#

so it could be like that!

jovial warren
#

because yes, Java is compiled twice

cinder flare
#

the simplification of types is for everyone's best interest

jovial warren
lunar cypress
#

The difference between java and kotlin is that java came first and the JVM was initially written for that language. What kotlin does wouldn't be good design if they controlled the JVM

#

that is my point

cinder flare
#

I'm 100% sure they would have a way to store numbers and stuff without the overhead of classes lmao

lunar cypress
#

yes they would

#

but it's too late now

cinder flare
#

To the end user, there shouldn't be a difference is my point

old wyvern
#

Does compileClasspath also include the implementations?

jovial warren
#

yes

cinder flare
#

oh

#

nice

jovial warren
#

anything in the classpath at compile time is in the compile classpath lol

lunar cypress
#

that won't change the fact that the system was made over 20 years ago and it is the way it is now

cinder flare
#

oh yeah no I get that

jovial warren
#

implementation was literally only created so Gradle could split compile into api and implementation, that's it

old wyvern
#

Yea Elara VM to change the industry

cinder flare
#

I'm praising Kotlin for abolishing the arbitrary lines between primitives and classes when your usage of them remains the same regardless of how they're stored

stuck harbor
#

BEAM

lunar cypress
#

and if they'd considered all the things everybody's considering now back then the JVM would have been completely different

cinder flare
#

oh yeah, Kotlin had 30 years of hindsight to work with and it shows haha

lunar cypress
#

I mean look at CLR

cinder flare
#

lets get the KVM, throw out java altogether

jovial warren
#

lol

#

the entire market of Kotlin is based on Java interop

old wyvern
#

Damn, but wait, wouldnt implementations be what we actually want to fetch?

old wyvern
lunar cypress
#

You can see what Java would have become if they'd known the (agreed upon) problems before creating it by looking at C#

old wyvern
#

Thats not what im asking bard

ocean quartz
#

Bardy that's not what we're talking about

jovial warren
#

implementation shows up in compile classpath

oblique heath
#

C# was made to resemble java, not the other way around o.O

ocean quartz
cinder flare
#

yeah but they improved upon it is his point

lunar cypress
#

you are misreading my message

jovial warren
#

compileOnly appears in compile-time classpath but not runtime classpath

cinder flare
#

He's saying Java would've been better designed if they had the hindsight of being able to look at how C# improved on the design

jovial warren
#

ah

#

also, C#? improvement?

#

wtf?

old wyvern
oblique heath
#

well i'd say that probably holds true for any language tbh

lunar cypress
old wyvern
#

There must be a way we can prevent shadow to not shade specific stuff

jovial warren
#

true

lunar cypress
#

look at how c# handles primitives and generics

jovial warren
#

C#'s conventions though are fucked lol

old wyvern
#

Debatable

jovial warren
lunar cypress
#

it does not

old wyvern
#

baked types bard

cinder flare
jovial warren
lunar cypress
#

but that's not even the only thing I mean

ocean quartz
cinder flare
stuck harbor
#

no

old wyvern
#

Any luck with that working?

stuck harbor
#

i never remove embeds

cinder flare
ocean quartz
#

Trying but gonna have to fix an issue with my pc, it crashed installing Nvidia driver ๐Ÿ˜ฌ

old wyvern
#

๐Ÿ˜ฌ

stuck harbor
#

use amd

#

foss drivers

cinder flare
onyx loom
#

die

ocean quartz
#

Buy me the Graphic card and i'll swap fingerguns

onyx loom
#

no

tranquil crane
stuck harbor
#

๐Ÿ‘open๐Ÿ‘source๐Ÿ‘driveeers

onyx loom
#

thats not an option matt

cinder flare
onyx loom
#

stick with nvidia ๐Ÿ‘

stuck harbor
#

why would u buy frm nvidia

jovial warren
stuck harbor
#

literal shit

jovial warren
#

read up

onyx loom
#

??????

cinder flare
old wyvern
#

GForce gang

tranquil crane
#

I did read it

old wyvern
#

Speaking of which

stuck harbor
#

ive used nvidia cards

errant geyser
#

GeForce Yugi ffs

half harness
#

what is a good language to learn besides java/kotlin?

stuck harbor
#

all shat out on my

old wyvern
#

I need to update my drivers as well

stuck harbor
#

absolute shit

cinder flare
#

Nvidia cards are the only option, I'm not even joking

stuck harbor
#

they were not the dog's bollocks

old wyvern
#

Elixir

errant geyser
#

^

old wyvern
#

Haskell

half harness
#

does Go have a IDE?

old wyvern
#

C++

old wyvern
#

GoLand

half harness
#

ooo

errant geyser
half harness
cinder flare
#

CLion

old wyvern
#

Also need to renew my students license ๐Ÿฅฒ

half harness
#

๐Ÿฅฒ

stuck harbor
#

everyone gets a jetbrains ide

#

use .net?

errant geyser
stuck harbor
#

use rider.

half harness
cinder flare
#

or ReSharper if you're forced to use Visual Studio

old wyvern
stuck harbor
#

github student pack gang

errant geyser
stuck harbor
old wyvern
#

It has one, but better to not depend on it too much

lunar cypress
half harness
#

hmm

cinder flare
stuck harbor
#

only use c++ if u can't use rust

old wyvern
cinder flare
#

thought poor taste would go hand in hand haha

stuck harbor
#

and good hardware

half harness
#

c++, haskell, or go

cinder flare
#

now that's funny

half harness
#

which one

old wyvern
#

It wouldnt be my language of choice, but just in case you need it, might be something to just know to use

stuck harbor
#

i have an amd cpu and gpu, they have lasted me for years

old wyvern
#

C works as well

half harness
#

what language is most common?

stuck harbor
#

better than wintel with nvidia could do

cinder flare
#

my 1070 has lasted me since 2016 and it's still going strong bro

half harness
#

like i know c# is for unity

onyx loom
#

javascript

lunar cypress
cinder flare
#

I have had nothing but problems with amd drivers

old wyvern
#

C++ is just used a lot in cp

stuck harbor
cinder flare
#

yep

stuck harbor
#

there u go then

cinder flare
#

???

errant geyser
cinder flare
#

nah AMD makes great cpus

stuck harbor
#

the linux drivers for amd are open source

onyx loom
#

amd cpus after 2016 good amd gpus bad

cinder flare
#

okay and?

stuck harbor
#

so therefore

#

they are good

cinder flare
#

if they're fucking dogwater I don't care

#

they're not

#

that's the problem

stuck harbor
#

they aren't?

#

ive never had a problem with them

old wyvern
cinder flare
#

and my Nvidia card works amazingly on Linux and Windows

#

Arch gang for life bro

stuck harbor
#

with proprietory drivers?

cinder flare
#

yep!

stuck harbor
#

you are fake

cinder flare
#

not at all

half harness
#

is there a language for like controlling rpi thingies?

stuck harbor
#

yes

cinder flare
#

Nvidia is a company I have a lot of faith in

half harness
#

what is it

cinder flare
#

AMD as well, just not for GPUs

stuck harbor
half harness
#

i have a rpi, why not use it ๐Ÿคท

errant geyser
cinder flare
#

and it's based on Debian

#

so I like it like, 10x more

old wyvern
#

python comes with it by def as well

stuck harbor
#

a pi is best with python

#

mhm

half harness
#

then u can control lights

#

and stuff

stuck harbor
#

it has GPIO pins

#

so yes

half harness
#

what languages can i use to control?

cinder flare
#

i mean kinda yeah

stuck harbor
#

any dkim

half harness
#

oh

#

even java?

stuck harbor
#

any with libraries for gpio output

cinder flare
#

arduinos are more useful for that kinda stuff

stuck harbor
#

presumably, if u were insane

half harness
#

wot

stuck harbor
cinder flare
#

but yeah I ran a java discord bot off my raspi

half harness
#

me too

#

i run

cinder flare
#

had to get a weird version of java tho

prisma wave
#

did someone say haskell?

cinder flare
#

kinda fu nky

half harness
#

not ran

#

๐Ÿ™‚

half harness
half harness
stuck harbor
errant geyser
cinder flare
#

yeah you gotta get minimal java or whatever

#

they don't use the normal openjdk's

stuck harbor
#

u can build a pc on a breadboard

#

ben eater reference time

half harness
cinder flare
#

awe yeah

#

ben eater gang

half harness
#

i forgot about it

#

i knew it had a weird name tho lol

cinder flare
#

just think baguette and wires

half harness
#

mines probably super dusty

cinder flare
#

breadboard

half harness
#

are breadboards "fragile"?

errant geyser
#

No

half harness
#

if so, mines probably broken :p

cinder flare
#

not really

half harness
#

oh

#

niceee

#

bc mine hasn't really been getting good care

errant geyser
#

Mines been dropped loads and it still works fine

cinder flare
#

they're just solid material that you put wires in and stuff

half harness
#

hm

#

i remember i wanted to use a while ago

#

but then didn't feel like figuring it out

#

since u have to put it in like specific spots

cinder flare
#

i mean yes, that is how electricity works

half harness
#

i wish u could just put led in slot 5 and then do like slot5().active() ez

oblique heath
prisma wave
#

๐Ÿ™‚

stuck harbor
#

hehe

errant geyser
cinder flare
#

very nice

half harness
#

hm

#

i just wanted to use it bc i have it and didn't want it to go to waste

#

plus i dont want to buy something else and then lose interest again

cinder flare
errant geyser
#

That's what I was trying to say

cinder flare
#

yea

half harness
#

so this is how u connect breadboard to pi

#

wait what

cinder flare
#

looks like it yeah

half harness
#

then whats this

cinder flare
#

a non-complete circuit

errant geyser
#

That's just 5v in to the breadboard, and ^

oblique heath
#

that's a leash for your raspberry pi

#

so it doesn't run away

half harness
oblique heath
#

that doesn't do anything either lol

cinder flare
#

yup

half harness
#

what is that red thing at the top for ๐Ÿ‘€

cinder flare
#

you know how electricity works dkim?

errant geyser
#

power

oblique heath
#

xd

half harness
#

lol

#

no but

oblique heath
#

you need to complete the circuit

errant geyser
#

Red is 5v, blue is ground.

cinder flare
#

it's gotta be in a loop at all times

half harness
#

lol

#

i know that ๐Ÿ™„

#

although this is

#

interesting

cinder flare
#

then how do you not understand why that wire is necessary to complete the circuit lmao

half harness
#

because this image

#

doesn't have the wire

cinder flare
#

yeah and it doesn't do anything

half harness
#

oh

cinder flare
#

I presume this is a step-by-step instruction list

half harness
#

lol

oblique heath
#

probably because they're showing you step by step how to make it ^

half harness
#

ok ๐Ÿ‘Œ

#

why did i think it said haskell and not russell ๐Ÿ˜ซ

oblique heath
#

good

#

it's already taken hold of you

half harness
#

noo

errant geyser
#

Pis and breadboards are proper sick. I have a knockoff Arduino called an Elegoo Uno R3 with a massive kit full of parts. It was like ยฃ20 if u wanna look into it

#

Works with all the Arduino software

half harness
#

๐Ÿ‘€

cinder flare
#

I definitely had to read that 3 times to not say "piss" in my head as the first word

errant geyser
#

You're sad.

cinder flare
#

me or dkim?

errant geyser
#

dkim

cinder flare
#

oh nice

half harness
#

noooooo

obtuse gale
#

dkim that's depressing

half harness
#

๐Ÿ˜ฆ

half harness
cinder flare
#

Arduino has its own IDE kinda thing

#

and it's own version of stripped-down C++

#

that's what thienbao has been suffering with, losing std::vectors and everything

half harness
#

oh

obtuse gale
errant geyser
half harness
#

what exactly can arduinos do?

obtuse gale
#

that so called IDE the only thing it does for you is compile the program with available libraries, the code writing itself is just on a text editor

half harness
#

or can they do everything ๐Ÿ‘€

oblique heath
#

lots of things

#

they're basically souped up microcontrollers

obtuse gale
half harness
#

oooooo

half harness
#

lol i just find it so strange that i wouldn't be here if i didn't click on Codedred's "How to code a spigot 1.15 tutorial" in my recommended

errant geyser
#

I can't even remember why I'm here

half harness
#

o

#

i literally joined hc the 3rd day of coding

cinder flare
half harness
#

yep ๐Ÿ™‚

#

and im already tier 5

#

:D

cinder flare
#

im on my way buddy

half harness
#

with 0 boosts ๐Ÿ˜ค

cinder flare
#

if i had the funds, I would be using boosts rn lol

half harness
#

lol

cinder flare
#

though I dunno, I kinda like the blue name more than the purple

half harness
#

what if u could convert boosts -> money ๐Ÿ‘€

obtuse gale
#

I loved that blue :(

cinder flare
#

I mean I bet there's a vanity role, no?

#

like the V vanity role

obtuse gale
#

mhm

#

literally me lol

half harness
#

wot

obtuse gale
#

leftover from when I was booster

half harness
#

ur not even booster

#

oh

forest pecan
#

wot

#

oh

#

i forgot to add it

#

when i was boosting

#

๐Ÿ˜ญ

half harness
#

oof

#

๐Ÿ˜ญ

cinder flare
#

alright that's it, it's sleepy time

#

gn friends

half harness
#

i literally just went on my pc

#

lol

obtuse gale
cinder flare
#

no bed time

oak raft
#

sleepy time is a good time

orchid otter
#

guys

#

we should give up being devs

#

I mean like

#

there are people who have been at this since 2012

#

theres no hope for us

#

look at mcmarket

surreal quarry
#

lmao

orchid otter
#

there are so many tryhards

#

freelancers

surreal quarry
#

then become a tryhard

orchid otter
#

who are taking all the customers

#

we are hopeless

#

how

surreal quarry
#

thats not even remotely true

orchid otter
#

they've been at this since 2012

#

yes it is

#

go on mc market

surreal quarry
#

i've been doing this for a bit over a year and get clients

#

you're looking in the wrong places

orchid otter
#

oh yeah wheres the right place

#

edxactly

surreal quarry
orchid otter
#

nowhere

surreal quarry
#

spigot has some good offers

orchid otter
#

HEY

#

why did my request get removed

ocean quartz
#

McMarket is a mess

surreal quarry
#

you probably used the wrong format or something idk

old wyvern
#
I mean like
there are people who have been at this since 2012```eh
#

There are people who have been at this since way longer than that ๐Ÿคท

surreal quarry
#

I'd just like to interject for a moment.

#

nvm im too lazy

old wyvern
#

oh ok

surreal quarry
#

lol

orchid otter
#

I feel like there are so many better things WE could do with java

#

then apply them to mc

surreal quarry
#

then go do it

#

you can do anything

#

no one is making you do mc stuff

half harness
#

hm

half harness
surreal quarry
#

sure

orchid otter
#

no

#

only I am

#

jk jk

half harness
#

aaaaaaaa

old wyvern
half harness
#

isn't it 1 every month?

surreal quarry
#

just put your portfolio, experience, etc. doesn't matter how good you are.

half harness
#

i dont have a portfolio-

surreal quarry
#

if the client doesn't like you they won't pick you

#

start making one

half harness
#

uh

#

i dont have a domain ;-;

orchid otter
#

im kind of scared of minecraft

surreal quarry
#

you don't need a domain really

orchid otter
#

the monsters scare me

half harness
#

and i dont even have a year of exp ;-;

old wyvern
orchid otter
#

endermen scare me the most when they have their mouth open

#

but also spiders

#

and the sound zombie make

surreal quarry
#

:)

orchid otter
#

#bot-commands

#

: )

surreal quarry
#

anyone wanna make facebook 2.0 with me real quick

old wyvern
#

The sinking communist ship

surreal quarry
#

should only take like 10 min

old wyvern
#

mhm

orchid otter
#

im an anti communist

old wyvern
#

10??

#

2 mins

orchid otter
#

im an anarcho capitalist

surreal quarry
#

yea sorry. i tend to overestimate just in case

#

2 is probably more accurate

old wyvern
#

yea

orchid otter
#

alright back to what i was saying

#

the way the minecraft monsters

#

they just LUNGE at you

#

like they rush at you

old wyvern
surreal quarry
#

no one cares

orchid otter
#

it's so creepy

#

i'm not a sir

surreal quarry
#

Ma'am

orchid otter
surreal quarry
orchid otter
old wyvern
orchid otter
#

guys stop mocking my gender

#

your hurting my feelings

surreal quarry
#

I'm sorry. Which one do you identify as?!?!

orchid otter
#

she/her

old wyvern
#

A ship! A ship!

surreal quarry
#

So ma'am was correct?

orchid otter
#

yes it was

#

but it was a guess

surreal quarry
#

LOL what

orchid otter
#

you cant assume just because someone isn't a male

#

that they are a female

#

there's something called no nbinary

surreal quarry
#

statistically i can

orchid otter
#

no you can't

surreal quarry
#

100% of the times i have tried it has worked

orchid otter
#

there are non binary people

old wyvern
orchid otter
#

gender is a spectrum

#

why do we keep posting random channels

surreal quarry
#

ok

orchid otter
surreal quarry
#

as this is no longer on topic

orchid otter
#

why should I go there

old wyvern
surreal quarry
orchid otter
#

ok fine

#

lets talk about development

#

so guys

#

I think ive found the solution to p vs np

surreal quarry
#

lmao

#

what is it

#

i was thinking it might be 3

old wyvern
#

Time travel, kill turing

orchid otter
#

public static void main(String[] args) {
  System.out.println(OtherClass.PvsNPSolution);
}
#

Now all you have to do

#

is create a static string in another class

#

where you put in the solution

#

but I trust you know how to do that

surreal quarry
#

i'm very new to java

#

could you show me

orchid otter
surreal quarry
#

i was gonna do that with react

orchid otter
#

anywya

#

what reward do I get for solving p vs np

#

can I get the beep boops role

surreal quarry
#

yes

orchid otter
#

alright give it

surreal quarry
#

solution first

orchid otter
#

scroll up

loud gyroBOT
surreal quarry
#

dyno trash

orchid otter
#

ok

#

give me beep boops please

#

I solved pvs np

loud gyroBOT
old wyvern
#

lol

loud gyroBOT
surreal quarry
#

have you solved pvpnp

old wyvern
#

pvpnp?

loud gyroBOT
surreal quarry
#

pvpnp

onyx loom
#

have u solved world hunger

orchid otter
#

I solved P VS NP

#

public static void main(String[] args) {
  System.out.println(OtherClass.PvsNPSolution);
}```
Now all you have to do
is create a static string in another class
where you put in the solution
but I trust you know how to do that
#

give the beep boop

#

i solved it

#

@surreal quarry

#

hello

#

is anyone there

tulip glade
jovial warren
#

wait what

#

what is p vs np

tulip glade
#

That ain't a proof ๐Ÿ˜‚

#

All problems can be categorized as "able to solve efficiently" and "not able to solve efficiently"

#

P is the "able to solve", NP is the "unable to solve"

orchid otter
#

yeah

tulip glade
#

Example of P would be a math problem, we have systems to quickly solve them

orchid otter
#

and the solution is in a string

#

in another class

#

you're just calling it

tulip glade
#

Example of NP would be chess, where the solution doesn't have a system

orchid otter
#

the string contains the proof

#

DIOXIN

#

the string contains the proof

tulip glade
#

You didn't show the premise, we have no idea what the string is

orchid otter
#

yeah

#

im letting you do that much

#

i trust you are able to create another class

tulip glade
#

Letting me prove it?

orchid otter
#

with a static string

#

dude

#

i wrote the main class

#

you're just writing the side class

#

we all know the main class is harder

#

dont take al the credit

#

give me some credit for solving P vs NP

#

it's pretty obvious how to create anotherClass with a static string

#

if you dont know how to do that, dioxin

#

go back to w3schools

tulip glade
#
class OtherClass {
    public static String PvsNPSolution = "Titanic is right, he solved it";
}```
#

Oh dang

#

You're right

orchid otter
#

no

#

thats not it

#

no

#

no no

#

you have tomake the string the solution

#

and the proof

#

go ahead and do that

#

very simple task

forest pecan
#

why are there green ppl speaking here

#

im used to seeing purples or oranges

#

/s

orchid otter
#

stop being racist please

forest pecan
#

lol

#

rankicsm

orchid otter
#

roleism

forest pecan
#

tiercism

orchid otter
#

anyway

tulip glade
#

Signs of a dead chat ๐Ÿ‘€

orchid otter
#

Dioxin

#

can you do the task

#

and then send me the code

#

on jithub

tulip glade
#

I did

orchid otter
#

alright send me it

tulip glade
#

It was just in a past life

orchid otter
#

on jithu

tulip glade
#

Can't, sorry

orchid otter
#

send me

#

the fucking code

#

on jithub

#

do it now

#

or else

#

I am going to be very mad at you

tulip glade
#
public class PequalNP {
    public static void main(String[] args) throws Exception {
        Class cache = Integer.class.getDeclaredClasses()[0];
        Field c = cache.getDeclaredField("cache");
        c.setAccessible(true);
        Integer[] array = (Integer[]) c.get(cache);
        array[132] = array[133];

        System.out.printf("%d",2 + 2);
    }
}```
#

There you go

#

2+2=5

#

All problems solved

orchid otter
#

thats very difficult for me to understand, dioxin

#

would you mind breaking it down a little

#

@tulip glade

tulip glade
#

Can't, thats fundemental. P=NP be complex

orchid otter
#

it's not

#

i was able t solve it

orchid otter
#

i want to import it into eclipse

#

and run some tests

#

dioxin

#

hellooooo

orchid otter
#

you just pasted it

#

SEND it to me

#

im going to sue for libel btw

#

this is just not cool my guy

forest pecan
#

it works lmao

#

i already knew about it for a while

tulip glade
#

Java caches Integer objects within the byte range

#

The code just modifies that cache

#

Err... I mean... P = NP

ocean quartz
#

Wait @old wyvern I'm stupid
CompileOnly isn't runtimeClasspath xD

#

I wonder why Shadow added it thonking

old wyvern
#

wdym matt

ocean quartz
#

When i tested it the dependency was compile path but still got shaded

old wyvern
#

wait what xD

#

lol

jovial warren
tulip glade
#

I was assuming this was a joke

ocean quartz
half harness
#

lol

tulip glade
#

If I solved that, I probably wouldn't be here right now. I'd be swimming in a bath tub full of dollar bills

jovial warren
#

god damn it

#

every fuckin' time

onyx loom
jovial warren
#

PDM rewrite soonโ„ข๏ธ

#

I wanna add support for more platforms and clean up the codebase at some point

prisma wave
#

Same

jovial warren
#

also, maybe we should rename it

prisma wave
#

There is one issue

#

I cba

ocean quartz
obtuse gale
jovial warren
#

not the Plugin Dependency Manager

#

the Project Dependency Manager

onyx loom
#

hmmmmmm

prisma wave
#

hmmmmmmmm

jovial warren
#

I mean, it can literally support anything

prisma wave
#

I mean downloading dependencies in something that isn't a plugin isn't very common

prisma wave
#

All it needs is a file and an URLClassLoader

obtuse gale
#

And Java 8 ๐Ÿ™‚

jovial warren
#

and a system that doesn't break on Java 16

#

๐Ÿฅฒ

#

which we can probably do with jar in jar

#

for certain projects at least

prisma wave
#

Wait...

jovial warren
#

for certain platforms like Sponge, Velocity and Krypton, we can just use addToClasspath

jovial warren
prisma wave
#

couldnt you just make a child ClassLoader which exposes addURLS, and then use that?

obtuse gale
#

nothing, he just wanted you to wait

obtuse gale
jovial warren
#

still need jar in jar on Bukkit and Bungee though

prisma wave
#

wat

#

why

onyx loom
#

omg bm got big brain ideas, now u just gotta add make it a reality!

prisma wave
#

yeah thats the boring part

tulip glade
#

๐Ÿคทโ€โ™‚๏ธ

jovial warren
# prisma wave why

because we're not allowed to take control of the class loader remember

prisma wave
#

you dont need to

prisma wave
#

no reflective hackery needed

jovial warren
#

how are you going to load plugins though

#

you need to still have Bukkit load your code

prisma wave
#

yes

jovial warren
#

and the PluginClassLoader for Bukkit and Bungee doesn't support adding URLs

prisma wave
#

in on enable you do something like ```java
new PDM(this);

#

ez

jovial warren
#

surely though, lucko wouldn't've implemented jar in jar if it was that easy

prisma wave
#

idk

#

i cant think of any issues there

#

but classloaders confuse me

jovial warren
#

not sure if Bukkit will allow other class loaders loading shit into its memory

onyx loom
#

i can import my IJ settings into WebStorm, right?

ocean quartz
#

You should be able to

#

@old wyvern Also, kts support

jovial warren
#

yes

#

Kotlin DSL good

#

I mean, at least you get some decent highlighting

#

and you don't get any "method call is ambiguous" BS

ocean quartz
#

Kts is definitely better

jovial warren
#

hold on a minute

onyx loom
jovial warren
#

why did you react with a vomit face when I said I was switching Krypton over to Kotlin DSL then thonking

#

and yes, I remember that lol

ocean quartz
#

Wut? I never did

jovial warren
#

I swear you did

ocean quartz
#

Find it

onyx loom
#

i wouldnt be surprised if he did

#

matt never liked kotlin dsl before i think

ocean quartz
#

Not before, but i've been using for a while now

#

And was that supposed to be talking about gradle kts?
I thought you were talking about something else

jovial warren
#

"Krypton now going to superior Kotlin DSL"

old wyvern
#

๐Ÿ™‚

jovial warren
#

idk what kind of other Kotlin DSL you know that would suit Krypton but... lol

old wyvern
#

We have already begun the rewrite

#

xD

old wyvern
jovial warren
#

each platform should be in a separate module

ocean quartz
ocean quartz
#

Yugi, should we have a separate configuration to allow it to be transitive?

jovial warren
#

I mean, in context though

ocean quartz
#

I didn't read anything else just thought you were talking about another one of those weir dsl changes

jovial warren
#

lol

#

DSLs good

#

DSL > builder

ocean quartz
#

Sometimes, for commands both DSL and builder suck

jovial warren
#

that's why I use neither fingerguns

#

I mean, Krypton supports registering LiteralCommandNodes, but it's generally encouraged to use Command

#

just registering nodes directly with the dispatcher allows you to make commands with actual argument types and stuff

#

and coloured arguments

ocean quartz
#

This is so stupid, this means slimConfig extends from compileOnly but by reading the method it gives you the opposite impression

old wyvern
#

wait wrong quote

old wyvern
ocean quartz
#

Well by default it's extending compileOnly which isn't transitive, but if we extend compileOnlyApi then it is

old wyvern
#

hmm

ocean quartz
#

Could have slim and slimApi or something like that

old wyvern
#

implementation is transitive right?

ocean quartz
#

No, api is

old wyvern
#

ah alright then it should be fine

#

slim and slimApi

ocean quartz
#

Gotcha ;p

unkempt tangle
half harness
#

?

hearty pebble
#

Help please tell me how to make a colored shield in the deluxe menu, please

prisma wave
#

wiki BristerMitten

obtuse gale
prisma wave
#

thank you!! ๐Ÿ˜Š ๐Ÿ˜˜ ๐Ÿฅฐ

forest pecan
#

:gasm:

#

i wish i had my collection of gasm emotes

prisma wave
#

๐Ÿง

ocean quartz
#

Boost ;p

prisma wave
hearty pebble
#

ะŸะพะผะพะณะธั‚ะต ะฟะพะถะฐะปัƒะนัั‚ะฐ ะฟะพะดัะบะฐะถะธั‚ะต ะบะฐะบ ัะดะตะปะฐั‚ัŒ ั†ะฒะตั‚ะฝะพะน ั‰ะธั‚ ะฒ ะดะตะปัŽะบั ะผะตะฝัŽ ะฟะพะถะฐะปัƒะนัั‚ะฐ

obtuse gale
#

now that's a lot of russian

#

enough for me to say that that's a lot of russian

hearty pebble
#

I donโ€™t understand a little, Iโ€™m from ukraine just tell nbt that it doesnโ€™t work

obtuse gale
#

This is the wrong channel, bud

ocean quartz
#

@old wyvern Got some more progress done, the configurations work pretty nice, gonna start working on the task now, will PR later
Also some good news, Shadow will relocate the imports for us even if it's compileOnly, though how should we handle our relocations?
There is 2 options i can think of, A hook into shadow and get the relocations set there and figure which one to use or B have our own relocation option in the task and then "inject" those into shadow

oak raft
#

weird question matt but what keyboard do you use

ocean quartz
#

I have a Steelseries Apex M750

hot hull
#

Wakey wakey Matt

#

It's 5 am, time to get up

ocean quartz
#

4 am!

hot hull
#

Same shit

oak raft
ocean quartz
#

QX2 reds

old wyvern
#

Also for the isolated one, im not sure if we even need relocations since it will load and use the one if its URL path

ocean quartz
#

Yeah, shadow would handle import relocation of the project then we'd save the path on a json file then on loading relocate the libs based on the info from shadow

#

True yeah

old wyvern
#

We can use those for the appendable one ig

#

The current plugin istn dependent on shadow right?

ocean quartz
#

Not yet no

old wyvern
#

Oh so might be better if we provide our own setting for relocation ig

#

That way shadow isnt a requirement

#

Altho

#

hmm

#

How easier would it be if we were to use shadow?

ocean quartz
#

I'd need to check, probably not terrible
Though yeah might be a good idea to have our own
Maybe have a relocator module that both the plugin and the lib can use

old wyvern
#

mhm

ocean quartz
#

Sounds fun to mess with ASM again

hot hull
#

Matt, I ended up using the item stacks hash to store and compare it

#

Actually works really nice

ocean quartz
#

Really? I wonder if that'd work better for the gui as well

hot hull
#

Perhaps

hot hull
ocean quartz
#

Yeah, too lazy to change anyways xD

#

Also holy shit, gradle has been indexing for 30 minutes

hot hull
#

Go sleep

ocean quartz
#

5 more minutes father

static zealot
#

๐ŸŒ•๐ŸŒ•๐ŸŒ•๐ŸŒ˜๐ŸŒ‘๐ŸŒ’๐ŸŒ•
๐ŸŒ•๐ŸŒ•๐ŸŒ˜๐ŸŒ‘๐ŸŒ‘๐ŸŒ‘๐ŸŒ“
๐ŸŒ•๐ŸŒ–๐ŸŒ‘๐Ÿ‘๏ธ๐ŸŒ‘๐Ÿ‘๏ธ๐ŸŒ“
๐ŸŒ•๐ŸŒ—๐ŸŒ‘๐ŸŒ‘๐ŸŒ‘๐ŸŒ‘๐ŸŒ”
๐ŸŒ•๐ŸŒ˜๐ŸŒ‘๐ŸŒ‘๐ŸŒ‘๐ŸŒ’๐ŸŒ•
๐ŸŒ•๐ŸŒ˜๐ŸŒ‘๐ŸŒ‘๐ŸŒ‘๐ŸŒ“๐ŸŒ•
๐ŸŒ•๐ŸŒ‘๐ŸŒ‘๐ŸŒ‘๐ŸŒ‘๐ŸŒ”๐ŸŒ•
๐ŸŒ•๐ŸŒ‘๐ŸŒ“๐ŸŒ˜๐ŸŒ‘๐ŸŒ•๐ŸŒ•
๐ŸŒ–๐ŸŒ‘๐ŸŒ”๐ŸŒ—๐ŸŒ’๐ŸŒ•๐ŸŒ•
๐ŸŒ—๐ŸŒ‘๐ŸŒ•๐ŸŒ—๐ŸŒ“๐ŸŒ•๐ŸŒ•
๐ŸŒ˜๐ŸŒ’๐ŸŒ•๐ŸŒ—๐ŸŒ“๐ŸŒ•๐ŸŒ•
๐ŸŒ‘๐ŸŒ“๐ŸŒ•๐ŸŒ—๐ŸŒ“๐ŸŒ•๐ŸŒ•

#

|| ~ || || 1 || || 2 || || 3 || || 4 || || 5 || || 6 || || 7 || || 8 || || 9 || || 0 || || - || || = || || โ† ||
|| tab || || Q || || W || || E || || R || || T || || Y || || U || || I || || O || || P || || [ || || ] || || \ ||
|| caps || || A || || S || || D || || F || || G || || H || || J || || K || || L || || ; || || ' || || enter ||
|| shift || || Z || || X || || C || || V || || B || || N || || M || || , || || . || || / || || shift ||
|| ctrl || || โŠž || || alt || || space || || alt || || fn || || โ–ค || || ctrl ||

ocean quartz
#

That's quite impressive

obtuse gale
static zealot
#

its really weird. how they have OP

ocean quartz
#

๐Ÿฅฒ

static zealot
#

there's so much pain

ocean quartz
#

@prisma wave What would be the equivalent to Class::new in Kotlin? thonking

static zealot
#

OMFG. After all this time I finally got access to my root user on my dedi. Now time to see how to get access to my user

distant sun
lost forge
hot hull
#

When you finish an exam, and then you have to wait 35min to wait for others to finish, oh the struggles

static zealot
#

just leave

hot hull
static zealot
#

hmm. that's kinda hard to not happen. Every developer hates their life. And every person is a programmer.

#

Yeah they might code in DeluxeMenus YAML but still. they're a "Coder" xD

old wyvern
#

Turing Complete DM when?

hot hull
cinder flare
#

But you're still working, no?

static zealot
#

no

#

xD

#

I've quit after like 2 days

#

but I still feel the pain

#

after 3 months

cinder flare
#

Oh I see, long lasting impacts

old wyvern
#

ayy renewed jb license

#

I thought there was gonna be a review or something

#

It was just a email verification

quaint isle
#

Which of these URL structures makes the most sense / is considered best practice?

mydomain.com/apis/mycoolapi/v1/resource/method
mycoolapi.apis.mydomain.com/v1/resource/method
v1.mycoolapi.apis.mydomain.com/resource/method```
Or is this purely preference?
distant sun
#

first imo

prisma wave
#

Absolutely the first

quaint isle
#

Alright sounds good, thanks alot for the input you two xoxo

quiet depot
#

i mean

#

tbh

#

I prefer the latter 2

#

also without the apis. bit

#

just mycoolapi.domain

prisma wave
#

Perhaps

quaint isle
#

Oh maybe I should've explained this in my question: I run multiple small private apis on the same domain that's why I need the apiname to either be a subdomain or part of the path. So there wouldn't be just mycoolapi, but also myepicapi and myboringapi

old wyvern
#

Maybe api.<api_name>.domain.com/v1 would do

#

or you could just skip the api sub I guess

#

just the api name

cinder flare
#

yeah I was gonna say

#

why even have api there