#dev-general

1 messages · Page 467 of 1

oak raft
#

wsp

half harness
#

joining who?

pale shell
#

The discord servers

half harness
#

but u need invite

obtuse gale
#

why are those the only options lmao

pale shell
#

I'll pp bm

obtuse gale
#

what if we just not

half harness
#

🥲

pale shell
#

I'll pay for invite

oak raft
#

Emily

#

since when were u so SMART

pale shell
#

Bring it here then pls

#

How did you get that paper thing???

half harness
#

what paper thing?

obtuse gale
#

wat

pale shell
#

There was a paper icon

#

Next to your search bar

obtuse gale
#

:huh:

half harness
# pale shell Bring it here then pls

trust me.. you don't want to be there
im forced to be there because i was the creator of the server 😩
and if you're the creator u can't leave it

pale shell
#

I'm getting more curious

#

You can transfer the ownership to me if ya want

half harness
#

n-no thanks

oak raft
#

Nobody is allowed to leave

half harness
#

o

oak raft
#

once you enter, you never get out

half harness
#

it was originally named dkim den

#

as a joke

#

bbut

#

gtg in a few mins

half harness
#

hm

oak raft
#

transfer to emily

#

emily good owner

obtuse gale
#

:o

half harness
#

emily is mod in too many servers

pale shell
#

Wot

obtuse gale
#

@haskell bad java good No invite links.

pale shell
#

I didn't post one

obtuse gale
#

idc

half harness
#

can't let her form a monopoly

#

@pale shell No invite links.

pale shell
#

I didn't even post one

half harness
#

@pale shell No invite links.

obtuse gale
#

ya bet

pale shell
#

It bugged out

#

Get staff to check logs

#

I wanna join the other discord >:(

obtuse gale
#

oh no you don't

#

believe me

pale shell
#

Oh but I do

obtuse gale
#

you're already weird enough about BM's pfp

pale shell
#

Nothing can be as bad as what I've seen

half harness
#

Discord.g‫‫‫‫‫g/inviteme

obtuse gale
#

you don't wanna see what's in there

pale shell
#

I do tho

#

Can I have a preview so I can decide

forest pecan
#

so uh

obtuse gale
#

xD

pale shell
#

Only 10

#

Cute

forest pecan
#

you guys able to help with github actions?

#

cause i suck at that

#

lmao

pale shell
#

Pulse invite please :)

forest pecan
#

n no

#

you cant handle the lewd

pale shell
#

I will boost it

half harness
#

oh

oak raft
half harness
#

hm

pale shell
#

To the next level

forest pecan
#

actually dont tho cause thats a waste of money

#

lmao

half harness
#

lol

pale shell
#

I need to waste money

forest pecan
#

🥶

oak raft
#

my paypal is open

#

if ur down

forest pecan
#

remence no

pale shell
#

Those channel names are cute

half harness
#

my paypal is open

#

if ur down

oak raft
pale shell
#

Look, you guys are over hyping it

oak raft
#

it's not over hyped

#

just like how haskell isn't overhyped

pale shell
#

I know why ya'll don't wanna send the link. It's because you don't like me and don't want me in that discord or this discord.

half harness
#

what

#

fine ill send you the invite

#

but dont say that i didn't warn you...

pale shell
#

It's been proven by people.

pale shell
obtuse gale
#

I mean sure if you say we don't like you then we won't

#

¯_(ツ)_/¯

half harness
#

accept friend request

oak raft
obtuse gale
#

since when is sharing invites to do with liking others...

half harness
#

odin when r u going to join

#

there we go

#

LMAOOOIO

#

this is why we didn't want to share the invite link-

#

uh oh piggy is here

forest pecan
#

i thought you meant that he joined the server

#

i would shit my pants

half harness
#

LOL

#

what if piggy joined

forest pecan
#

No no nono

quiet depot
#

wat

forest pecan
#

dont let him join

#

No non nono

half harness
#

AHHH

#

NOO

#

PIGGY

forest pecan
#

dkim dont do it

half harness
#

TURN AWAY

forest pecan
#

dont fucking do it

half harness
#

or

#

should i invite you?

#

👀

forest pecan
#

No

obtuse gale
#

Piggy do you wanna join us in the lewd corner?

half harness
#

Piggy join us!

forest pecan
#

NO

half harness
#

Piggy!! 🥺

#

PiggyPiglet is typing...

forest pecan
#

Piggy is going to ban us

half harness
#

mhm

forest pecan
#

if he joins

obtuse gale
#

loll

quiet depot
#

i would be happy to take a little look

half harness
#

YES

#

fefo

obtuse gale
#

oh god xD

forest pecan
#

"little look"

#

no

#

no

half harness
#

do it fefo

forest pecan
#

piggy

half harness
#

do it fefo

#

invite him

forest pecan
#

you dont want to do this

half harness
#

if you won't

#

i will

forest pecan
#

im seriou slmao

half harness
#

invite him

#

i will give you admin piggy

#

❤️

obtuse gale
#

done lmao

half harness
#

LMAOOo

#

this is too funny

#

quite a reaction!

#

anyways i gtg too

#

byee

oak raft
#

Yeah that was interesting

lost forge
#

That's why you always put yourself first and not go out of your way for others.

#

Some people do.

oblique heath
#

i regularly do that

#

spam is bad

#

i wouldn't stress about it

lost forge
#

Then spam her.

oblique heath
#

buy her spam

#

mail order spam

lost forge
#

Don't think, Do.

hot hull
#

Ah yes when the String method is deprecated, yet still required

#

smh

#

Quick question, what would be the cleanest way of storing a tier of something, let's say I have a value of 3, each of those values to 1 is it's own tier, should I just have a map which dictates that, or?

steel heart
#

What type tiers are we talking elaborate

hot hull
#

Well in this case, enchantment tiers, tiers depend on the enchantments level, so I need a dynamic yet not disgusting way to define that

prisma wave
#

WHAT

hot hull
#

Not sure how exactly since some enchantments are like this

haste:
  level 1 -> tier 1
  level 2 -> tier 2
  level 3 -> tier 3

some other enchant:
  level 1 -> tier 2
  level 2 -> tier 3
prisma wave
#

add a b is infinitely simpler than add(a, b)

steel heart
#

Hmm frosty I mean yeah if it’s per enchant just have a map both types Integer sounds good

hot hull
#

Need to figure out how to make this cleanly configurable, cause fuck hardcoding shit

steel heart
#

None

hot hull
#

second one just sounds nicer

steel heart
#

stick with one that’s all

hot hull
#

add both for maximum pog

onyx loom
#

@nonull @notnull @nullable void

steel heart
prisma wave
#

Nullability 🤣 🤣 🤣

cinder flare
onyx loom
#

this man really preaching about haskell at 7am

cinder flare
#

there's a reason parentheses exist lol

prisma wave
prisma wave
#

complexFunction (a b) (c d)

steel heart
#

So what’s your point then?

#

no , ?

prisma wave
#

Yes and no parentheses unless you need them

#

i.e Haskell good

steel heart
#

Yes finally some compelling evidence why we should use Haskell

#

It saves us 1 character!

onyx loom
#

🥲

prisma wave
old wyvern
#

mhm

#

AbstractProvidingSupplierFactoryInNearbyCityWithMultipleExits

cinder flare
steel heart
#

So like what’s wrong with a + b

old wyvern
#

...

onyx loom
#

lmao

old wyvern
#

My man learned haskell for a week to say that

onyx loom
#

dkim just entirely missing the point of fp

cinder flare
#

i mean i don't like rust that much because it uses :: instead of . lmao

prisma wave
old wyvern
#

You can also define any operator you want 🙂

#

Haskell good

cinder flare
#

well can't you also define custom operators in Kotlin?

old wyvern
#

No

cinder flare
#

i don't actually know but it seems like something you could do

onyx loom
#

not entirely

old wyvern
#

Only overload preexisting ones

cinder flare
#

ah I see

old wyvern
#

You cant create new ones

cinder flare
#

well creating new ones does seem a tad confusing

old wyvern
#

Haskell does it well

#

You specify where you import the operator from

cinder flare
#

people cry that they can't see types at a glance when skimming github repos of Kotlin, but having entire custom operators? holy cow readability

old wyvern
#
import Data.Aeson ((.:))
old wyvern
#

Especially with haskells type system

cinder flare
#

I mean if I've never seen your code before I'd need to understand all the custom operators you have before even attempting to read anything

old wyvern
#

Youd need to do that for any function

cinder flare
#

wdym

old wyvern
#

Youd need to read up on the codebase before understanding any function being called

cinder flare
#

well yes but it's much easier to parse a language of which you know the entire syntax and it does not change than one who allows custom syntax whenever you want

old wyvern
#

Also as I said, its can be very specific about where something comes from

cinder flare
#

I can look at a code snippet some random person sends in #development and get a gist of what they're doing pretty quick

old wyvern
#

A lot of languages suppourt user defined operators

cinder flare
#

I don't doubt the power, I'm just saying it seems confusing as all hell when there's a million custom operators you need to get in your head

old wyvern
#

Comment on that once you have tried

cinder flare
#

I mean okay lmao

#

just saying

onyx loom
#

import Control.Monad 😌

old wyvern
#

😌

hot hull
#

if only java had when :sadge:

onyx loom
#

java 14 fingerguns

prisma wave
hot hull
#

forced to java 11

#

Not even sure if it'll work, but this is fucking disgusting

        final String material = itemStack.getType().name().toUpperCase();
        final String[] components = material.split("_");

        switch (components[components.length - 1]) {
            case "HELMET":
            case "SKULL":
            case "HEAD":
                return HELMET;
            case "CHESTPLATE":
            case "ELYTRA":
                return CHESTPLATE;
            case "LEGGINGS":
                return LEGGINGS;
            case "BOOTS":
                return BOOTS;
            default:
                return null;
        }
prisma wave
#

I can never remember exactly what >=> does but the syntax and use case is enough to give a rough idea

old wyvern
#

Big oof

jovial warren
#

Lol

#

BM imagine not agreeing to the relicense smh

#

Oh actually, pig, kinda want your opinion on this if you don't mind

#

I've decided to relicense the server side of Krypton under LGPL and keep the API under MIT

#

Left the API under MIT since idrc if that gets stolen, resold, whatever since you can't do anything without the server anyway, but it would kill me to see all of my hours and hours of hard work and effort be sold by some guy on MCM or something without even making any changes

steel heart
#

I will steal your API

prisma wave
#

Who's gonna resell an API

jovial warren
#

feel more than welcome Conclure

jovial warren
obtuse gale
jovial warren
#

@prisma wave did you even read my justification for the relicense btw?

oak coyote
#

Good to see you actually start to value your own time

hot hull
#

Give it a week

jovial warren
oak coyote
#

Well whatever the reasoning the outcome is positive 👍🏻

jovial warren
#

guess that is true

jovial warren
#

once BM approves, I will not be turning back

distant sun
hot hull
#

Eat a chicken that's why

jovial warren
#

lol

jovial warren
#

not actually awful

#

better than I expected from you lol

hot hull
#

Bruh eat a dick

#

smh

jovial warren
#

lol

hot hull
#

That was a year ago, stop bullying

jovial warren
#

someone’s Triggered

hot hull
#

I'll show you the new class when I finish it

unkempt tangle
#

dont understand anything

jovial warren
#

how is that hard to understand

#

key * plain text = cipher text

unkempt tangle
#

._.

jovial warren
#

difficulty.exe not found

lunar cypress
jovial warren
#

looks like what it says to me

lunar cypress
#

it's not a *

jovial warren
#

what is it then?

#

looks like a multiplication sign to me

lunar cypress
#

You are talking about the first slide with enc?

unkempt tangle
jovial warren
#

yes Johnny

lunar cypress
#

Yeah no, that's a function declaration

jovial warren
#

ah

#

so you give it key * plain text and it gives you cipher text back

lunar cypress
#

enc is a function that maps from a tuple of 2 words from the alphabet {0, 1} of length n to a word of the alphabet {0, 1} of length n

jovial warren
#

ah

lunar cypress
#

x means cartesian product here

jovial warren
#

ah okay

unkempt tangle
#

explain me

#

not him

jovial warren
#

if you’re struggling, ask your teacher for help, that’s what they’re there for

lunar cypress
#

difficult if you don't say what you don't understand

#

Is it notation? content?

cinder flare
#

also using pfp's on zoom 😬

jovial warren
#

lol

cinder flare
#

also guys rust is really cool

#

lifetimes are super interesting

jovial warren
#

can kinda somewhat agree

cinder flare
#

oh? do you not like rust?

jovial warren
#

is a bit confusing to grasp initially

cinder flare
#

well yeah but anything worth doing is a challenge at first

jovial warren
#

not sure if I like the result stuff either

cinder flare
#

Functional programming is a bit confusing to grasp lol

#

I don't know about the result stuff

#

what does that mean

jovial warren
#

with everything returning results that represent success or failure

lunar cypress
#

The result type is a union of the Ok and the Err type

cinder flare
#

Oh well that sounds like a boolean with extra steps

lunar cypress
#

no

cinder flare
#

Oh Err?

#

so does it pass an exception up the chain then?

prisma wave
#

Kinda

#

Afaik, in rust you either have panics which can't be handled, or Errs which are just wrapped error messages

#

Or something like that

#

Idk

lunar cypress
#

eh

#

panics much like in Go are not recoverable, yes

#

But Rust does not have exceptions or any notion of passing something up the call stack

#

(just a bit of syntax sugar to get something similar, namely ?)

#

Results are values

prisma wave
#

yeah

lunar cypress
#

Whenever there is a computation that may fail, you return a result

cinder flare
#

so you return a Result instead of a Unit?

prisma wave
#

Isn't that pretty much what i said?

lunar cypress
#

It is then up to the caller what to do with it

prisma wave
cinder flare
#

yeah

prisma wave
#

Option = a value that might not exist

cinder flare
#

but like in a function that does something, you'd return a Result in Rust

#

when you'd return like a boolean or Unit in like Kotlin

lunar cypress
#

Result = the result of an operation that might fail - either an error or an ok

cinder flare
#

okay

#

i don't know anything

prisma wave
#

Rust has a unit type afaik

cinder flare
#

please correct me lol

lunar cypress
#

If the function does something that may fail, you return a result

#

Otherwise you can return a bool or the unit type ()

prisma wave
#

Cute

cinder flare
#

but like, it replaces a function that, in Java for instance, would return a boolean indicating success or failure

lunar cypress
#

yes

cinder flare
#

it can also just have an error message

#

okay

#

that makes sense

prisma wave
#

Basically

#

Rust good

cinder flare
#

yeah sounds like it

#

weird that Bardy doesn't like Results

jovial warren
#

basically

prisma wave
#

Everything in Rust is an expression, and expressions that return "nothing" actually return ()
😌

jovial warren
#

respond to your god damn DMs

prisma wave
#

lol

cinder flare
#

oop

prisma wave
#

Ok sure GPL good apparently

cinder flare
#

quick rundown of LGPL vs MIT?

jovial warren
#

LGPL*

#

LGPL = GPL but dependents can sublicense

#

only derivative works cannot sub license

cinder flare
#

Both licenses allow unrestricted usage. The LGPL has extra requirements including source code redistribution and change tracking when modified.

#

that's MIT vs LGPL

jovial warren
#

MIT allows anyone to do whatever they want with your code

prisma wave
#

why LGPL

jovial warren
#

LGPL requires that derivative works be licensed under the same license

prisma wave
#

what

lunar cypress
#

GPL often causes problems for people who want to use the software

lunar cypress
jovial warren
#

not afaik

#

just changes the definition of what counts as a derivative work

prisma wave
#

isn't LGPL predominantly for libraries

cinder flare
#

Under the LGPL – which is a weaker version of the GPL – products licensed can be linked to proprietary applications. The proprietary code may still be able to remain proprietary, depending on if the programs are dynamically or statically linked. This license often accompanies free software, allowing it to be incorporated into either free or proprietary software. You’re not required to open up the source code for your own extensions.

jovial warren
#

it’s like GPL for libraries

jovial warren
prisma wave
#

Krypton isn't a library...?

cinder flare
#

LGPL just means that if you use it as part of something bigger, the bigger thing doesn't need to be open source

jovial warren
#

technically the server is public API

cinder flare
#

which doesn't make too much sense for Krypton, which is a fully self-contained server

prisma wave
#

This makes no sense

lunar cypress
cinder flare
#

Nobody's gonna be using all of Krypton then making more? Unless they make something similar to Paper derivatives which I severely doubt

jovial warren
#

I keep the server open so you can depend on it in plugins to make your own adjustments if you want

prisma wave
cinder flare
#

it is literally called the Lesser GPL lmao

jovial warren
#

I want plugins that want to depend on the server to be able to use any license, but I want forks to be restricted to using LGPL or GPL only

prisma wave
#

MIT good GPL bad

jovial warren
#

they have their benefits

cinder flare
#

but that's not what LGPL will do

#

LGPL only allows a larger work to be licensed differently

jovial warren
#

afaik it will

cinder flare
#

So if someone extends Krypton and adds stuff, like Paper did to Spigot, they can license differently

jovial warren
#

maybe we should go for GPL then?

cinder flare
#

I mean

#

Or just do MIT and not care

jovial warren
#

I want the power to destroy proprietary paid forks at will

cinder flare
#

dude

jovial warren
#

if they ever appear

cinder flare
#

AFAIK there's not a single complete Minecraft server implementation besides Mojangs in existence

prisma wave
cinder flare
#

the chance of someone forking your version of the Server and changing it to make it paid? Extremely unlikely

prisma wave
jovial warren
#

I’d rather not take that chance though

prisma wave
#

There's that C++ one but that's only up to 1.12

#

average "nooo proprietary" fan vs average freedom enjoyer

cinder flare
#

vs "who cares"

#

it's never gonna happena

jovial warren
#

I do

cinder flare
#

and even if it does, so what?

jovial warren
#

that’s who

cinder flare
#

if they truly do make a better product than Krypton, maybe they deserve it

jovial warren
#

I don’t agree with something that I have spent hours and hours on being stolen and resold

prisma wave
#

case in point: Make a good product and people won't need to fork it

lunar cypress
#

you guys aren't making good arguments

cinder flare
#

If it's stolen and resold, why wouldn't they just download Krypton for free?

prisma wave
jovial warren
cinder flare
lunar cypress
#

I wouldn't want my software be modified for proprietary use only either

prisma wave
lunar cypress
#

if it's a software that big

prisma wave
#

Sure, proprietary is bad but I doubt there will be much demand for forks

cinder flare
#

Yeah seriously

#

There's barely demand for Krypton

jovial warren
#

not the point

prisma wave
#

and anyway, LGPL wouldn't stop that afaik

lunar cypress
#

But that's not a reason to decide against this

cinder flare
#

let alone performance forks that people are willing to pay money for

jovial warren
#

I would rather not take that chance

cinder flare
#

I mean it certainly is, no need to be restrictive if it's never gonna happen

lunar cypress
#

That's also not the only thing that can happen...

#

If the only argument is "it's never gonna happen", then why are you even arguing against it?

#

You shouldn't care about it then, should you?

cinder flare
#

Because it restricts other stuff

lunar cypress
#

what stuff

cinder flare
#

Anyone making a top-tier fork of Krypton that's free but maybe not open source?

prisma wave
#

Because I am inherently biased against this decision and so I am trying to think of somewhat decent arguments to justify my actions

cinder flare
#

Maybe they want to use a different license

#

Also BM has a point

#

lol

prisma wave
#

🥲

jovial warren
cinder flare
#

oh yikes

#

I mean this all boils down to your views on open source

obtuse gale
#

HI

#

😦

jovial warren
#

I want my code to remain free and open for anyone to use

prisma wave
prisma wave
lunar cypress
#

If you're making a fork of an open source software that's not open source, chances are it's shit

cinder flare
#

MIT ensures that

jovial warren
#

MIT cannot give me any protection

obtuse gale
#

will i get help here?!

cinder flare
#

What if Hypixel wanted to use Krypton?

cinder flare
lunar cypress
#

then they're out of luck if they want to make proprietary changes lol

obtuse gale
jovial warren
#

then they can make an OS fork with their changes, or better yet, contribute to the project

lost forge
cinder flare
lunar cypress
#

It really won't

cinder flare
#

That's not what I think

lunar cypress
#

You said yourself it's not gonna happen anyway

#

1 minute ago

lunar cypress
#

so decide

cinder flare
#

Again, this all boils down to your personal opinions on free and open source software

jovial warren
#

and so does your argument too

cinder flare
quiet depot
#

@obtuse gale that's not what this server is for

hot hull
#

I could use some mental help

cinder flare
#

none of this matters

#

you're gonna do whatever restrictive license you think is right

#

and BM and I will be sad about it

prisma wave
jovial warren
lunar cypress
#

for no apparent reason

prisma wave
#

indeed

obtuse gale
cinder flare
#

I like the free part of FOSS

obtuse gale
#

im so sorry

#

😦

prisma wave
#

lol

#

A Haskell joke would probably be in poor taste

jovial warren
prisma wave
#

So uh

obtuse gale
#

so bye 😦

cinder flare
#

not as free as MIT

prisma wave
#

Good luck with whatever you're looking for

quiet depot
#

gpl is bordering on being a contract

hot hull
#

Just make your own license

jovial warren
#

in fact, it’s arguably more free than MIT, since it allows for your software to remain free

lunar cypress
#

I don't think you know what free refers to here

cinder flare
#

oh?

lunar cypress
#

It does not refer to any company using unpaid work for profit

#

it refers to end user freedom

prisma wave
cinder flare
#

My definition of free is anyone is free to do whatever they want with the code

lunar cypress
#

Yeah well it's not the definition used by FOSS

cinder flare
#

Apparently yours isn't

jovial warren
#

and GPL gives you the power to make sure that your free and open-source software stays as free and open-source software

prisma wave
#

Glasgow Haskell compiler uses BSD therefore BSD good

quiet depot
#

gpl doesn't prevent people from selling it wot

lunar cypress
cinder flare
#

What?

#

I don't know what the definition of FOSS is exactly lmao

#

You seem much too invested in this discussion

lunar cypress
#

what now?

jovial warren
lunar cypress
#

You said "I like the free in FOSS" then I just pointed out that you don't know what the "free" there means

cinder flare
#

I made an assumption of what the free meant?

#

Holy shit dude we're just talking

lunar cypress
#

what do you think I'm doing exactly?

cinder flare
#

No need to point out the logical fallacies in my quickly garbled sentences lmao

quiet depot
#

star ngl I don't think johnny is being the defensive one here

cinder flare
#

He's not

#

He's extra offensive lol

prisma wave
#

thanks

cinder flare
#

I definitely do not speak in perfect sentences with no flaws

lunar cypress
cinder flare
#

I just like MIT smiling_face_with_3_tears

quiet depot
#

I think you're overreacting

lunar cypress
#

lol

jovial warren
#

I like MIT too, just not here

cinder flare
#

Free software is a matter of liberty, not price; all users are legally free to do what they want with their copies of a free software (including profiting from them) regardless of how much is paid to obtain the program.

jovial warren
#

I want to protect hours and hours of work

prisma wave
#

Just make it proprietary smh

#

Ez

lunar cypress
jovial warren
cinder flare
jovial warren
#

since GPL gives you the extra bonus of ensuring that your software stays free

prisma wave
#

this is about to turn into an argument of semantics

cinder flare
#

but that restricts what you can do with it

prisma wave
#

knew it

quiet depot
#

taking away freedoms to make something free

cinder flare
#
The freedom to run the program as you wish, for any purpose (freedom 0).
The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
The freedom to redistribute copies so you can help others (freedom 2).
The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this```
jovial warren
#

I want to ensure that my work stays free and open-source for all to use

prisma wave
#

it still will

#

Whatever licence

cinder flare
lunar cypress
#

Really couldn't care less about some company not being able to make profit off my software without sharing the code

hot hull
#

Y'all are spending way too much time and energy on this :kek:

jovial warren
#

and none of you here arguing against me even have significant contributions worth protecting anyway

prisma wave
#

pfffffff

quiet depot
#

@prisma wave these arguments over the last couple days have confused the bejeebers out of me, I literally can't tell what side people are on, and what the sides are most of the time

#

people go from agreeing to disagreeing instantly

prisma wave
#

yeah lmao this is confusing

cinder flare
#

well I mean it is a good sign when people change sides and opinions improve as they obtain new knowledge

prisma wave
#

that is true

jovial warren
quiet depot
#

from my eyes it seems like the side switching is more due to misinterpretations, i.e. people misinterpret, pick a side, then when they realise what the original person was trying to say, they switch back

prisma wave
#

sounds about right

cinder flare
#

yeah I could see that

lunar cypress
prisma wave
#

I miss when dev-general was just circlejerking

#

now it's just

#

☹️

hot hull
#

It's sad yes

lunar cypress
#

You literally say anything here and people throw stuff at you for being too defensive, too offensive or anything in between

hot hull
#

Arguing about dumb shit when in the end it doesn't even matter

lunar cypress
#

While you're just trying to have a normal discussion lol

jovial warren
#

you guys don’t understand, Krypton has sentimental value to me, it’s the only thing I have that’s going well in my life, it would kill me to see someone else steal what I have and proprietarise and resell it

cinder flare
#

Well what I've gathered from this conversation is such:
BM and I both think absolute freedom is the best, as the MIT license allows.
Bardy thinks restricting freedom to ensure freedom of derivatives is best, as GPL allows.
Johnny doesn't care as much about absolute freedom but still is pretty solid free.
Frosty is a memer.
Piggy is confused.

#

that's about it

lunar cypress
#

just so you know, re selling Krypton would not be prevented by GPL

jovial warren
#

yes ik

hot hull
#

Frosty is a memer.
spot on

jovial warren
#

that’s why I said reselling and proprietarisation together

#

I want to feel in proper control of my code

prisma wave
#

My opinion is that unless you're actually prepared to take out a lawyer to sue someone if necessary, just suck it up and hope it doesn't happen

jovial warren
#

I would be willing to do something like that if it was worth it BM

prisma wave
#

what hire a lawyer cuz someone sells a krypton fork for $50?

lunar cypress
#

you can still have some form of principle

prisma wave
#

Sure

jovial warren
#

if they violate the terms of the license then I will take action

#

because it is my legal right to do so

lunar cypress
#

amen brother 🇺🇸

jovial warren
#

lol

prisma wave
#

based?

jovial warren
#

what does that mean BM?

#

if you mean what that claim is based on, read GPL for yourself

prisma wave
#

🥲

jovial warren
#

I, as one of the copyright holders of Krypton, have a right to ensure that the terms of that license are not violated

sweet cipher
#

Obviously the solution here is to make krypton forks yourself and sell those

jovial warren
#

lol

#

then I would be violating my own license

distant sun
#

My favorite license is "who steal my code his mother is a wh***" 🤷‍♂️

jovial warren
#

lol

lunar cypress
#

whoever stole that code, your mum's a hoe

jovial warren
#

if you don’t agree to have your contributions relicensed anyway BM, your contributions can stay MIT licensed

prisma wave
#

that sounds aids

cinder flare
#

ooh that's gonna get real confusing real fast lol

prisma wave
#

Just change it idc

#

Hrypton will be MIT license btw :)

cinder flare
#

awe yeah baby

jovial warren
#

so you give me your explicit permission to relicense your contributions under the terms of the GNU General Public License?

cinder flare
#

please sign on the line

jovial warren
#

lol

jovial warren
prisma wave
#

Sure yeah

jovial warren
#

right then, I think I have all 3 contributors’ permission now, so I can finally merge that PR after I change the license to GPL

#

thanks BM

onyx loom
#

congrats

#

what a worthy discussion about a worthless license

obtuse gale
#

🙂

hot hull
#

lol

#

Anyone know what the replacement for this is?

cinder flare
#

quick question: what exactly does elision mean?

#

I see it used a lot in terms of Rust

#

It seems like just being less explicit?

lost forge
hot hull
#

That's a different thing

#

Inventory event is whole types of fucked

lunar cypress
#

You leave things out

cinder flare
#

Ah okay that makes sense

#

Cause this guy uses it when not explicitly defining lifetimes of stuff

lunar cypress
#

You aren't reading "How to implement a linked list in rust", are you?

cinder flare
#

Why is that a bad article?

lost forge
lunar cypress
#

no it's pretty much a book

cinder flare
#

oh dang

#

cause Rust isn't OOP right?

#

it just has structs?

lunar cypress
#

because it's so tedious to do in rust

hot hull
cinder flare
#

so linked list kinda funky yeah

lunar cypress
#

no oop is not the problem

#

you can do a linked list easily in c

#

the problem is lifetimes

cinder flare
#

oh is it cause of lifetimes?

#

ah

#

can you like, transfer ownership to the linked list then?

lunar cypress
#

the problem is the whole self referential stuff

cinder flare
#

oh I see yeah cause Nodes contain pointers to other the next Node

lunar cypress
#

It's actually an interesting read, though I've never read it in full

cinder flare
#

let me just bookmark that thank you!

hallow crane
#

I'm trying to understand this convo and I scrolled up 1h and still can't

#

who copied who's code

cinder flare
#

aren't Vectors a growable list of stuff? Are they not implemented with linked lists?

lunar cypress
#

they aren't

prisma wave
#

Probably similar to ArrayList in the implementation

lunar cypress
#

well they are growable arrays basically

cinder flare
#

oh okay I see

lunar cypress
#

like std::vector

cinder flare
#

is the linked lists book good for people who have essentially never used Rust before? cause there seems like a lot of stuff I am not very solid on is contained in Rust

lunar cypress
#

yeah it's for beginners too

#

perhaps a bit difficult without knowing some basic syntax already though

cinder flare
#

ah okay. well I will probably end up reading this since it seems very useful in understanding the differences with lifetimes vs like every other language

winter iron
#

How can i get the players client version. I see there is Player#getProtocolVersion which is what i need but when people connect with viabackwards/rewind, the protocol version is the servers version

#

I need the true client version

obtuse gale
#

VV API probs

winter iron
#

Ah thanks

#

Didn't see an api link on the spigot page

#

but its onm the docs

#

i shall give it a shot

obtuse gale
hot hull
#

hocon makes shit so much nicer fingerguns

half harness
#

and by "before the player connects" i mean "before the login message shows up and the player joins the world"

lost forge
half harness
#

thanks 🙂
@half harness just to remind myself

dawn hinge
#

@half harness better to be safe

half harness
#

lol

#

so iirc, you need to cache reflection lookups

#

soo uh

#

also how would I cast to CraftPlayer without buildtools?

#

(reflection)

distant sun
#

Class.forName ig

half harness
#

for casting

#

I have to do Class#cast(Player)?

obtuse gale
#

I mean with reflection there's no point in casting

half harness
#

oh

obtuse gale
#

the Player object already is a CraftPlayer

#

and if you use Class#cast you'll end up with an Object anyway

#

so

#

you gotta get a fuck ton of methods and fields and invoke all of them

half harness
#

hm

#

do I have to cache getHandle too? and playerConnection?

obtuse gale
#

all reflection lookups

#

lookups = slow

half harness
#

just googling then I'd do Method#invoke(instance)

jovial warren
#

Just depend on the server and create adapters

#

Ez

half harness
#

wat

prisma wave
#

Man at this point just use Groovy

half harness
#

wat

prisma wave
#

Dynamic typing

jovial warren
prisma wave
#

Absolutely not

jovial warren
#

Lol

prisma wave
#

Sadly groovy lacks important concepts such as Semigroups

#

But

#

It's better than nothing

jovial warren
#

Better than Kotlin?

#

Now that's a tough one

cinder flare
prisma wave
#

It's similar to a monoid

#

A type a is a Semigroup if it provides an associative function (<>) that lets you combine any two values of type a into one. Where being associative means that the following must always hold:

(a <> b) <> c == a <> (b <> c)

#

Monoid = Semigroup + a "unit" value

lunar cypress
#

yup

#

Group = Monoid + every element has an inverse

#

(+ commutativity)

#

wait no

#

that's not always a requirement

#

only for Abelian groups

prisma wave
#

Uhhh

#

Yeah 😅

lunar cypress
#

Ring = Group + Semigroup

jovial warren
#

I hope Rust doesn’t have any of these strange concepts

prisma wave
#

🤣

#

Rust harder than Haskell

#

Unironically

hot hull
#

IJ on crack?

prisma wave
#

no guaranteed referential transparency

#

therefore it has to give the warning

hot hull
#

fair enough

cinder flare
#

Sorry, so is that the warning that that list is never empty?

prisma wave
#

probably that it's nullable

cinder flare
#

ah I see

#

that makes a lot more sense

hot hull
#

yea nullable

jovial warren
#

There is a very very small chance that the nullability of that list could change between the null check and the empty check

hot hull
#

Very very unlikely that it actually would

prisma wave
jovial warren
#

What is referential transparency?

#

Exactly what I just described?

prisma wave
#

In other words, it can't guarantee that lore() will return the same value every time

jovial warren
#

Ah

prisma wave
#

referential transparency = same inputs => same output

jovial warren
#

Ah right

#

So the reference never changes

prisma wave
#

pretty much

jovial warren
#

Since there is no such thing as true immutability

prisma wave
#

I am of course obligated to mention that this is something Haskell guarantees

cinder flare
#

and it seems like Rust can too in a lot of places

#

though don't quote me on that

jovial warren
prisma wave
#

everything is immutable

jovial warren
#

Since computer memory itself is not immutable

prisma wave
#

And no side effects therefore everything is referentially transparent

jovial warren
#

Ah

cinder flare
#

Dang Bardy's got a point. What if the atoms in our RAM sticks swap around and change the value of our lore to null?

jovial warren
#

Lol

cinder flare
#

Nothing in life is immutable smiling_face_with_3_tears

lunar cypress
#

Dear "functional" programmers,
you claim your languages are immutable, yet you run your programs on a computer?
Curious.

jovial warren
#

Lol

hot hull
#

lol

jovial warren
#

Facts

cinder flare
#

yeah hey what if Windows decides to fuck with your memory?

cinder flare
#

Better build HaskOS

hot hull
#

Well the inevitable point of death is

jovial warren
#

You know that immutability is like security here, it's code that is enforcing it

quiet depot
#

just don't die

cinder flare
#

I mean, operating systems can do whatever they want surely? It's their memory they're partitioning out in the first place

lunar cypress
hot hull
#

Damn that's smart Piggy

oak raft
#

Just keep breathing 🌚

cinder flare
prisma wave
cinder flare
#

There's such thing as a functional CPU architecture?

jovial warren
#

Still no immutability though

prisma wave
jovial warren
cinder flare
quiet depot
#

HC-CPU

#

where's it at

prisma wave
#

Dear Kotlin "users"
You claim you have null safety, and yet any part of memory could hold a null pointer with no issue...
Curious...

jovial warren
#

Because we can allocate memory without writing any memory cursed_fingerguns

serene cave
#

Hello

#

I am the president of the united states

quiet depot
#

cap

cinder flare
serene cave
#

No cap

serene cave
#

still

unkempt tangle
cinder flare
#

Mr. Former President, what are your thoughts on Functional CPU architectures as well as a HaskOS?

serene cave
#

Haskell is a very good language

unkempt tangle
#

Like my reaction towards my virgonity

serene cave
#

Haskell developers are rewarded with free scholarship

quiet depot
#

to where?

cinder flare
#

Aren't... all scholarships free?

jovial warren
quiet depot
#

don't look too deeply into the words of this wise man star

unkempt tangle
#

What's a scholarship?

serene cave
jovial warren
#

Didn't deny it

serene cave
#

No

#

Joe Biden

#

this cant be

cinder flare
serene cave
#

Im not a hoe

prisma wave
cinder flare
prisma wave
serene cave
#

I am not hoe and I like Haskell

#

Haskell is a very good languag

#

I am the president of the united states

quiet depot
#

that's how you should introduce yourself to people irl

cinder flare
#

the two H's!

hot hull
serene cave
#

Yes

jovial warren
cinder flare
hot hull
#

I will slap you

serene cave
#

I will slap you first

hot hull
#

Not you

#

Don't even know who you are

serene cave
#

I am the presidnet of the united states

serene cave
cinder flare
hot hull
#

A hoe

#

I see

serene cave
#

No

#

Joe is a Hoe

cinder flare
#

well that's the template

#

hold on

hot hull
#

I mean I don't live in murica so I couldn't give less fucks :p

#

It's nice not having to sell a kidney to ride in the weewoo wagon

serene cave
#

Now you do

#

@cinder flare why are you using CLion

#

you need to use

#

HLion

#

smh

cinder flare
#

does... JetBrains make a haskell IDE?

#

I was just using IntelliJ for Haskell stuff

serene cave
#

go make one

half harness
cinder flare
#
pub struct President {
    hoe: Boolean,
    haskell: Boolean,
    current: Boolean,
}

fn main() {
    let trump = President {
        hoe: false,
        haskell: true,
        current: false
    };

    let biden = President {
        hoe: true,
        haskell: false,
        current: true
    };
}```
#

got it guys

#

presidents: down

serene cave
#

Nope, current: true

#

for me

#

I am very good

cinder flare
#

that unironically helped me learn Rust ngl

serene cave
#

I will ban you from america

#

And send you to

#

mars

hot hull
#

That'd be neat

serene cave
#

if you dont set current to true

cinder flare
#

I mean, that wouldn't be too bad actually

hot hull
#

Yesn't?

cinder flare
#

that contrast

#

it's gone

hot hull
#

:what:

serene cave
#

Frosty

hot hull
#

The code's contrast is much nicer

cinder flare
# serene cave if you dont set current to true
pub struct President {
    hoe: Boolean,
    haskell: Boolean,
    current: Option<Boolean>,
}

fn main() {
    let trump = President {
        hoe: false,
        haskell: true,
        current: None
    };

    let biden = President {
        hoe: true,
        haskell: false,
        current: Some(true)
    };
}```
serene cave
#

No

hot hull
#

tf is an Option

serene cave
#

Still not good nope

cinder flare
#

it doesn't say you're not current

cinder flare
serene cave
#

Fine

cinder flare
#

null but prettier as far as I've seen

serene cave
#

but

hot hull
#

Optional ?

cinder flare
#

yeah

lost forge
cinder flare
#

alright guys one sec

hot hull
#

Debatable

cinder flare
#
    let star = President {
        hoe: true,
        haskell: true,
        current: Some(false)
    };```
lost forge
#

Lol

cinder flare
#

Rust's pointer types must always point to a valid location; there are no "null" references. Instead, Rust has optional pointers, like the optional owned box, Option<Box<T>>. that makes more sense

cinder flare
#

can't have NPE's if Null doesn't exist!

serene cave
#

all Rust pointer

#

point to me

#

Because Im sexy

#

and I know it

cinder flare
#

oh yea yea

lost forge
#

Every time someone says Rust all I think of is the COD map...

hot hull
#

lol

serene cave
#

@half harness

#

get back in here

cinder flare
hot hull
#

What is this kotlin propaganda again

half harness
#

if you use kotlin withot a java lib and withotu using !! its impossible to get NPE 🙂

prisma wave
#

🤣

lost forge
#

If you don't code, it's impossible to get any errors ;)

serene cave
#

Or

#

If you come to America

#

you wont get errors

#

We will solve your NPE

lost forge
#

Ill pass. Rather go to the moon. Would be more exciting...

prisma wave
half harness
serene cave
#

In muerica

#

We promote

#

Haskell

prisma wave
cinder flare
#

oh god

half harness
#

where

jovial warren
#

Lol

half harness
#

bm

#

where

prisma wave
#

DMs

half harness
#

lol

hot hull
#

Wait what BM, why do I not have you added as a friend thonking

half harness
#

🥲

#

frosty add me too 🥺

ocean quartz
half harness
#

mATT UR pFP

#

WhAT is UR pFp

ocean quartz
#

Law

half harness
#

hey at least u dont look scary anymore

ocean quartz
#

How was my last one scary?

half harness
#

it was a joke

hot hull
#

All these new pfps are making me confused

prisma wave
half harness
#

aww im not ur friend either matt

#

D:

cinder flare
#

english is hard

hot hull
#

What's hard is my question as to why I have so many vandal skins

oak raft
#

🤩

cinder flare
#

dude this rust book is hilarious

ocean quartz
#

Me doing rust for the first time ^

cinder flare
#

dude I'm just going along and typing what he wants me to type

#

this is all a lot to take in lol

hot hull
#

head
desk

#

lol

cinder flare
#

it is quite accurate the logical leaps this requires when you're used to Java or C

lost forge
#

Haha, have that and a bot in the background playing music, then all you need is the snacks.

#

"Some stupid vc"

#

Lol

#

But yeah, cool feature.

half harness
#

epic vc name

cinder flare
#

whatchu tryina watch efe 👀

obtuse gale
half harness
#

alone in the vc 🥲

obtuse gale
#

"and only available on YouTube" haha ya bet

open shell
#

anyone ever heard of a NAD exploit?

hot hull
#

¸Not a dildo?

open shell
#

fair enough

prisma wave
#

wat

open shell
#

on a more serious note

obtuse gale
#

dildos?

open shell
#

oh images. hang on

obtuse gale
#

dildo images?

#

dragon dildos?

open shell
obtuse gale
#

that's not a dildo indeed

#

lmao

#

no one would fall for that shit

#

no one with more than 3 active brain cells

open shell
#

¯_(ツ)_/¯

obtuse gale
#

so yea

#

most are fucked lol

hot hull
#

Atleast he was honest about what he was trying to do lol

obtuse gale
#

yeah that was a stupid move lol

open shell
#

^ made me question it even more

#

hence why I am asking it in here to begin with

lunar cypress
#

Peak comedy lol

jovial warren
#

lol

prisma wave
#

Java good kotlin bad

obtuse gale
#

🙏

#

off to a great start lol

ocean quartz
#

Did they really need to use that horrible font lol

prisma wave
#

hey you can change the CSS if you care so much

obtuse gale
#

you're muddying your design and chances are good that it will come back to bite you. So don't.

(Sorry for the harsh words, but it needed to be said.)

... harsh? :wat:

hot hull
#

How is that harsh lol

obtuse gale
#

we live in a society

#

people have sensitive clenching anuses I guess

cinder flare
#

I thought Kotlin used Java records?

jovial warren
jovial warren