#dev-general

1 messages · Page 448 of 1

jovial warren
#

degree in CS is basically the de facto standard these days, even though it doesn’t really teach you all that much about programming

#

does teach you a lot of other useful things that help you program and problem solve though

hot hull
#

I looked at the 3 year learning content for CS in high school, they teach you jack shit

#

stuff I learned within a year of learning it myself

quiet depot
hot hull
#

Would getting an online degree for this work or?

#

What's the point of this?

onyx loom
#

because they format the number?

jovial warren
#

it’s way bigger than that

quiet depot
#

it has a comma, so he assumes it's a double

#

where is the comma

jovial warren
#

max value is approximately 1.8x10^108 according to stack overflow

quiet depot
#

the problem is over here, we use commas for 3 digit separation, but some countries use commas for decimals

#

d;double%max-value

ruby craterBOT
#
public static final double MAX_VALUE```
Description:

A constant holding the largest positive finite value of type double, (2-2^-52^)·2^1023^. It is equal to the hexadecimal floating-point literal 0x1.fffffffffffffP+1023 and also equal to Double.longBitsToDouble(0x7fefffffffffffffL).

jovial warren
#

even bigger in Java, jesus

#

doubles can be huge because they use scientific notation

#

they use a mantissa and an exponent

#

devs in the Minecraft community in general are idiots

hot hull
#

Thank you ❤️

jovial warren
#

there are some exceptions, you are one of them

#

along with lucko, Maximvdw, and a few others

#

and BM

#

never seen you code

hot hull
#

Best keep it that way

jovial warren
onyx loom
#

efe bad

jovial warren
#

lol

#

most people in this chat can code

#

most plugins on Spigot are made by 12 year olds who don’t make them OS because they don’t know what Git is

quiet depot
#

they're also under the misconception that their code is valuable

jovial warren
#

ikr

hot hull
#

my code ain't worth shit

#

We figured that out a while ago

#

:kek:

jovial warren
#

neither is mine

#

even though it’s under my copyright

#

technically MIT counts lol

#

just because it’s freely distributable doesn’t mean it’s not copyrighted

hot hull
#

I don't bother with licensing

jovial warren
#

that means your code is copyrighted and no one has rights to make derivatives or work on it

hot hull
#

nah fam

jovial warren
#

yes fam

#

if you don’t license your libraries, no one can use them

#

@quiet depot I swear you know this stuff, I am right here aren’t I?

quiet depot
#

you're right but you're missing a key point

jovial warren
#

which is?

hot hull
#

tis OS, ain't noone give a fuck

quiet depot
#

the only person that can stop people from doing it is the author

jovial warren
#

true

quiet depot
#

if the author doesn't act on his copyright, then there is nothing stopping people from using their code

#

however people won't use their code because relying on that isn't a good idea

jovial warren
#

Frosty you should just license your code properly anyway, since if anyone who respects licensing wants to use it, they’ll come and ask you first

quiet depot
#

a license is essential

jovial warren
#

indeed it is

hot hull
#

I mean if they're unsure whether they can use it or not, my contact details are on gh so they're free to ask

quiet depot
#

another thing

#

I believe github applies a license of sorts on everything you upload

jovial warren
#

not from what I read on GitHub’s docs

#

they mentioned nothing about applying their own license

#

actually you’re right pig

jovial warren
#

ToS says that anyone has rights to view and fork public repos

#

in terms of choosing a license though, I personally recommend either MIT or Apache 2

hot hull
#

MIT is the usual go-to

jovial warren
#

Apache 2 requires that your code remains credited to you, but still allows most of the other MIT freedoms such as sublicensing

#

I kinda like the idea of people not being able to just take what you’ve spent hours and hours of your time on and just remove all your credit and claim it as theirs

hot hull
#

I mean yea the claiming as yours is out of the question

jovial warren
#

Apache 2 makes sure of that

#

Kotlin’s under Apache 2 I think

#

JetBrains seems to like Apache 2

#

might also be used in IJ

#

I’ve been thinking a lot though about relicensing Krypton under a different license

#

if I was going to relicense, I’d either use LGPL or Apache 2

#

I wouldn’t relicense the API though, just the server

#

well, both would get relicensed under Apache 2 if I chose that, but the API would stay under MIT if I chose LGPL

#

or I could just stick with MIT

#

which probably isn’t a bad idea

#

man, 28 upvotes, how lol

#

pig you should upvote Krypton 🙂

tropic cypress
#

If MC servers would be written in C++, could it increase performance?

jovial warren
#

maybe

hot hull
#

I mean even java would be fine if it weren't single threaded lol

jovial warren
#

speaking of servers, I’m currently working on one in Kotlin

jovial warren
jovial warren
tropic cypress
#

in words of performance, krypton or paper/forks?

jovial warren
#

Krypton isn’t even close to being fully functional yet, so still Paper, but I will optimise the shit out of it when I’m done

tropic cypress
#

I mean are you lead of that project?

jovial warren
#

like I’m aiming for playable gameplay with 1000 players online in a single world

jovial warren
tropic cypress
#

It seems so cool

jovial warren
#

thanks!

tropic cypress
#

I started it but it just didn't work, why?

#

it's just loading files

hot hull
#

bruh

jovial warren
#

any error messages?

#

you need to provide it with a world btw

#

there’s no generation yet

#

put the world folder in the root directory (same one as the JAR, just like you would with vanilla) and set the world name in config.conf to the name of the world folder

tropic cypress
#

okay

quiet depot
#

.conf

#

what format are you using

hot hull
#

hocon

tropic cypress
#

I hate json and conf

hot hull
#

beauty

tropic cypress
#

why it's not just yml

jovial warren
#

HOCON is a beauty

hot hull
#

because yml is horse shit

jovial warren
#

YAML is awful, that’s why

tropic cypress
#

it's readable at least

jovial warren
#

HOCON is very versatile

hot hull
#

and how is hocon not?

jovial warren
#

how is the config not readable?

#

look at it

tropic cypress
#

it's just black

hot hull
#

probably some spigot plugin which uses hocon and just throws shit everywhere

tropic cypress
quiet depot
#

lol

hot hull
#

:what:

jovial warren
#

the config is really clean and clear imo

tropic cypress
#

there are no colors

quiet depot
#

are you talking about syntax highlighting?

#

that's the fault of your editor

tropic cypress
#

yes

jovial warren
#

you probably need a plugin in your editor for that

quiet depot
#

use a better editor

#

or get a plugin ye

tropic cypress
#

sensible

jovial warren
#

Notepad++ and Sublime should definitely support it

tropic cypress
#

I never thought about it

tropic cypress
jovial warren
#

weird

tropic cypress
#

agreed

jovial warren
#

try looking for a HOCON plugin under tools -> plugins

quiet depot
#

sublime doesn't have native support for hocon fyi

jovial warren
#

strange

#

anyway, it’s really easy to edit the config

#

everything is commented

tropic cypress
#

how long have you been working on it

jovial warren
#

about 2 and a half months

tropic cypress
#

wow

#

did you only need kotlin or?

prisma wave
jovial warren
#

it’s been around longer than that, but my first commit that actually made it work was on the 13th Feb

jovial warren
tropic cypress
#

while writing it, is it just kotlin or did you use another languages

jovial warren
#

my code is all Kotlin

#

all the code in the project is Kotlin

prisma wave
#

I am in the process of authoring a PR to convert everything to clojure though

jovial warren
#

it does however use some Java libraries

tropic cypress
#

does krypton has proxy server sofware support?

jovial warren
#

not yet

#

well, technically yes

tropic cypress
#

will you write it or add support for bungee or velocity or something?

jovial warren
#

Velocity works fine with no forwarding

tropic cypress
#

im impressed

jovial warren
#

Bungee doesn’t because of how it appends the user’s UUID and IP in the address of the handshake

#

and it does some other whack that is non-standard

jovial warren
prisma wave
#

startKryptonServer :: Int -> IO Server

tropic cypress
#

I love Kotlin name

oblique heath
#

int?

jovial warren
prisma wave
oblique heath
#

what's the int

prisma wave
#

Port

oblique heath
#

wouldnt that be in the config o.o

prisma wave
jovial warren
#

start doesn’t take a port donkey

prisma wave
#

DON'T CARE

jovial warren
#

that’s configured in the config

prisma wave
#

ok FINE

#

data KryptonConfig = KryptonConfig { port :: Int }

startKryptonServer :: KryptonConfig -> IO Server

#

HAPPY now huh????

oblique heath
#

much better

#

but still not good enough

#

haskell implementation of krypton when

prisma wave
#

Soon

jovial warren
tropic cypress
#

if I want to create my own programming language, should I learn and understood how other language systems work?

jovial warren
#

I plan to make my own scripting language for it at some point anyway, but it’ll have the one up on Skript by generating code at compile time rather than interpreting it at runtime

jovial warren
oblique heath
#

and tokenizers and all that jazz

jovial warren
#

well, not to design the language, but to make it actually run you need something that understands it

tropic cypress
#

okay thanks

jovial warren
#

indeed

#

you know bytecode is mostly interpreted though anyway

cinder flare
#

i mean anything that's not assembly is interpreted

jovial warren
#

JIT is used by HotSpot to compile sections of bytecode used very often to native code

prisma wave
#

Stuff like ANTLR makes it even easier

jovial warren
#

yeah BM has experience

cinder flare
#

yet im still going to take multiple classes about it >:)

#

y'all better watch out, I moved my Foundations of Computation Theory to next next semester

oblique heath
#

there's yacc and bison for parsing languages

tropic cypress
cinder flare
#

so C* is coming soon

prisma wave
#

ah

#

Yikes

cinder flare
#

ooh yeah might be a little rough to make a programming language when you've never even used one bfore

jovial warren
#

C—

cinder flare
#

oy

prisma wave
#

I mean it's definitely in the "Advanced" category

prisma wave
#

You'll never guess who made it

cinder flare
#

simon peython jones

jovial warren
#

C&

#

C@

prisma wave
#

Amazing gentleman

jovial warren
#

C%

cinder flare
#

wait really lol

jovial warren
#

C:

#

C/

#

lol

prisma wave
#

Yes

#

Simon Peyton-Jones

#

Made C--

cinder flare
#

my hero

#

can't believe I guessed who made it lmao

oblique heath
#

C😃

jovial warren
#

Haskell lol

cinder flare
#

ah hakell

#

nice

prisma wave
#

No

#

They're not the same language

cinder flare
#

yo is there a sideways letter C

oblique heath
#

u

cinder flare
#

like 90 degrees counter-clockwise

#

clockwise

#

i mean

prisma wave
#

n

oblique heath
#

n

cinder flare
#

hmm

#

so what if you named a language Δ

#

maybe η

oblique heath
#

how would you pronouce it

cinder flare
#

long n

#

or triangle

oblique heath
#

then people are just gonna write it out as triangle

cinder flare
#

maybe just tri

#

that'd be cool

#

what about λ

#

oh wait that's already haskell

#

haha

#

χ look at that

oblique heath
#

"hey cool language, what's it called?"
"□"
"how did you just say that?"

cinder flare
#

that looks like an x but moved down

cinder flare
#

okay what about μ*

#

mustar

#

mu-star

#

for my lang name

oblique heath
#

starmyu

cinder flare
#

oblique heath
#

or whatever that pokemon is

cinder flare
#

staryu? lmao

oblique heath
#

oh i thought there was an m in there somewhere

#

i don't know my pokemon 😔

cinder flare
#

what about Ξ

#

3 horizontal lines

oblique heath
#

catchy

cinder flare
#

ξ

#

that is the same letter

#

but lowercase

oblique heath
#

i think you probably want to pick a name after you make the language

cinder flare
#

no no no

#

the name is the most important part

#

cause I can't make a lang right now

#

but I can pick a name for one!

oblique heath
#

🥲

cinder flare
#

do you have any good ideas

oblique heath
#

i think cstar is your best choice right now

cinder flare
#

because I want to distance myself from C

oblique heath
#

or seastar

#

hmm in that case

cinder flare
#

ι*

#

γ*

oblique heath
#

you can call it sky

#

if thats not a name already

heady birch
#

if you were going to get an Intel Nuc would you get the tall version or small one?

oblique heath
#

small one

heady birch
#

small one - looks cool, tall one can fit an 2.5 drive or whatever

oblique heath
#

you can't add a drive to the small one?

cinder flare
#

okay but sky is actually a pretty solid name

#

gimme more of that

heady birch
#

yeah but its m.2 or something, like a stick of ram but its an SSD

#

NVMe I think?

oblique heath
#

lmao

#

yes nvme

cinder flare
#

m.2 is the form factor

#

NVME is how it works

oblique heath
#

it's in your best interest to use nvme over sata

#

unless you're worried about cost

cinder flare
#

god I love PCI-E

heady birch
#

had no idea what NVMe was, is it just faster than sata?

oblique heath
#

yes

cinder flare
#

sata uses slow ass cables

#

NVME uses PCI-E connectors

oblique heath
#

sata uses a controller

cinder flare
#

like your graphics card useds

oblique heath
#

nvme goes straight through pcie

#

no controller = faster

heady birch
#

i need 4GB of PCIe

#

lol

quiet depot
#

i have a small nuc and it fits a drive

oblique heath
#

why only 4

lunar cypress
#

NVMe isn't significantly faster in all applications if you have a decent SATA ssd, but it's nice for sure

heady birch
#

I think there is a global shortage of them (intel nucs) or something

oblique heath
#

well if you need that little you can probably get a used nvme drive from a chromebook

#

like a 16 or 64gb one

quiet depot
#

surely not ivan

cinder flare
quiet depot
#

chromebook would probably have everything soldered on

lunar cypress
#

I did not say it's slower

oblique heath
#

you think so?

lunar cypress
#

read again

quiet depot
#

definitely ivan

cinder flare
#

hmmm

heady birch
#

basically a cheap, quiet and energy efficient homelab

quiet depot
#

why not a pi niall

cinder flare
#

in my experience the difference has been quite drastic but you are correct

heady birch
#

well I have one but they seem tempremental

#

the sd cards like to fail

quiet depot
#

ah yeah

cinder flare
#

yes sd cards are literally paper fragile

oblique heath
#

the pi 4 can boot from a sata drive

quiet depot
#

you have to get high quality sd cards

cinder flare
#

i had to reshoot a video I did 4 times because the SD cards kept failing

heady birch
#

yeah

#

ive had some just completely die

#

then some just dont boot but can still be mounted and I could recover the files

oblique heath
#

what's that new tech meant to replace sd card flash called

#

i think newer phones are using it for storage already

heady birch
#

floppy disk!

#

are floppy disks really reliable?

#

just cant store more than 3Mb lol

oblique heath
#

i think floppy disks use magnetic disks like hdds do

#

so no 😂

cinder flare
#

okay what about

#

starly

#

as a lang name

quiet depot
#

i haven't heard of anything like that ivan

cinder flare
#

pig what do you think of that

#

as the name of my new programming langauge

quiet depot
#

what about

oblique heath
#

i'm fairly sure they use magnetized disks

cinder flare
#

do you like it?

quiet depot
#

"programming language"

cinder flare
#

do you have any suggestions?

#

yeah like elara but made by me

quiet depot
#

ye

#

that's my suggestion

#

"programming language"

#

good name

#

straight to the point

cinder flare
#

hmmm

#

unhelpful

oblique heath
#

piggy thats a little too vague

#

how about

#

"programming language by starmism"

cinder flare
#

grrrr

heady birch
#

why dont they build hard drives like floppy disks worked?

#

so you insert the disk instead of the whole drive & casing

cinder flare
#

hot-swappable drives do exist

oblique heath
#

because you don't want to expose the magnetic disk

cinder flare
#

literally every blade server I've seen has them

oblique heath
#

star he means replacing the drive platters

#

instead of the entire drive

heady birch
#

oh fair enough

cinder flare
#

oh yeah no not good idea

#

you keep the casing so it stays strong (ish)

#

you can still kill 20 hard drives easy with a cart over a parking lot

oblique heath
#

if they're running

#

they're relatively fine if you stop them

cinder flare
#

well yeah the problem comes when that server needs 100% uptime 😉

oblique heath
#

but if they're spinning and you jostle them, it won't end well

#

for a name

#

how about mascara

cinder flare
#

bruh

oblique heath
#

people use it to hide their bad talent

#

with good looking code

cinder flare
#

okay what about Stellar

oblique heath
#

honestly this and your other name are both good

#

what do you want out of the name

cinder flare
#

i don't know, just a good vibe

#

and related to stars or outer space

oblique heath
#

"optimus prime"

#

very good vibe

cinder flare
#

haha

#

i definitely want one word

#

nice ring to it

#

moderately unique

#

i mean Starly has never been used for like anything

#

and Stellar is a payment platform, but that's about it

oblique heath
#

corona

#

:)

cinder flare
#

lmao I saw that

#

im looking at a list of 500 words related to star lol

oblique heath
#

lmao

#

i guess i'll do the same

cinder flare
#

one of them is a

oblique heath
#

short, to the point

#

lowercase

cinder flare
#

same vibe as C but a little too early

#

ooh damn maybe the lowercase vibe

#

stellar

#

mm yes

oblique heath
#

og damn algol is apparently star related

#

it's the name of a star

cinder flare
#

oh damn it's the head of the ogre

#

in a constellation

oblique heath
#

you should call your language proof

cinder flare
#

you have to write everything in the style of peer-reviewed mathematical proofs

#

fuck

oblique heath
#

i was thinking it'd be like 100 proof

#

so you have to get drunk to use it

cinder flare
#

ah I see

#

well I'm not even 21 yet

#

so it'd be kinda weird for me to make that lang hmm

distant sun
#

@cinder flare stellar is already taken =/

cinder flare
#

i mean, by a financial protocol

#

but not a lang, right?

distant sun
#

I know there's a dev team called Stellar or something like that, that sells custom jars and plugins

cinder flare
#

god fucking damnit

#

names are so hard

#

that's it, time to cry myself to sleep

oblique heath
#

good name

#

"time to cry"

distant sun
oblique heath
#

reflexive

cinder flare
#

sleep lmao

oblique heath
#

another great candidate

#

how about seltzer

cinder flare
#

how is that space related lmao

oblique heath
#

it's not, just a random name lol

cinder flare
#

hmmm

#

you were looking at that corona seltzer huh

oblique heath
#

😳

cinder flare
#

all right well, off to bed

placid rose
#

bye

cinder flare
#

@ me if anyone has anything so I see it tomorrow

#

oh bye

oblique heath
#

bye

oblique heath
#

those are some high res photos

old wyvern
hot hull
#

It exposes

distant sun
obtuse gale
#

Use transient smh

jovial warren
#

Hey guess what I just did in CS because I got bored

#

I got a Gradle script to run in repl.it lol

#

I actually built and ran Krypton on repl.it

oblique heath
#

lmao

#

wait

jovial warren
#

All thanks to the Gradle wrapper

oblique heath
#

does that mean the repl.it has internet access

jovial warren
#

Ofc it does

#

It supports Maven lol

oblique heath
#

wtf

#

cant you just host stuff on it then

jovial warren
#

Yes you can

#

It's more of a browser IDE than it is a repl site nowadays

oblique heath
#

so in theory

#

i could make a bunch of accounts / projects / whatever and host discord bots or something there for free

lunar cypress
#

people do that

oblique heath
#

huh

#

and they don't... mind?

lunar cypress
#

It's not very efficient but you can do that, yeah

jovial warren
#

The only thing that stopped Krypton was the fact that it didn't have a world given to it

#

Obviously no way I can manually test Krypton in school though

oblique heath
#

you probably cant test it anyways

jovial warren
#

Tried running pitest but it kinda died lol

oblique heath
#

internet is one thing, but i really doubt they'll have open ports to connect through

jovial warren
#

Not what I meant

#

Testing Krypton manually requires a vanilla client

#

And these are school computers

oblique heath
#

boot from a usb

jovial warren
#

Yeah that won't work

#

They block all those sort of EXEs

oblique heath
#

?

jovial warren
#

Same reason I can't use IJ in school

#

You can't download and run EXEs

#

It just says nope

oblique heath
#

boot. from. a . usb?

jovial warren
#

BIOS is protected

oblique heath
#

rounds up

#

always

jovial warren
#

It forces rounding up

#

Standard rounding

#

So Math.ceil(5.1) = 6

#

But Math.round(5.1) = 5

distant sun
#

ceil ⬆️ floor ⬇️ round ~ math way

oblique heath
#

bardy how do you know the bios is protected

#

when i went to high school we also had a bunch of safeguards and the like

#

but i was still able to boot off of a usb

hot hull
#

Gaby

#

still waiting for the moodle bot :sadge:

distant sun
#

I know you are but I have to edit some of it lol

hot hull
#

ah ok good, just wanted to make sure you didn't forget about me

distant sun
#

bitewise and operator

#

yea idk how to answer that

#

In computer programming, a bitwise operation operates on a bit string, a bit array or a binary numeral (considered as a bit string) at the level of its individual bits. It is a fast and simple action, basic to the higher level arithmetic operations and directly supported by the processor. Most bitwise operations are presented as two-operand inst...

hot hull
obtuse gale
#

lol that vision guy

old wyvern
#

lmao

#

hybrid garbage collector & data collector software

obtuse gale
#

tbh they'll be better off asking somewhere like SO lol

#

and add a couple of 0's to that number

oblique heath
#

I think we can safely say that vision is a satire acount

old wyvern
#

lol

half harness
#

lmao

prisma wave
#

$57000

hot hull
#

throwback to the 300k budget one :kek:

static zealot
#

This is Jeff's father or something?

oak coyote
#

I like the fact he has too many dms he should read but doesn’t want too so that isn’t an option for communication

static zealot
oak coyote
#

Shhh

obtuse gale
#

lol

oak coyote
#

They are totally the same channel

half harness
#

lol

#

bm r u there

#

bm

#

🥺

obtuse gale
#

BM please teach me the ways of clojure

jovial warren
#

if you have a budget of $57,000 then you shouldn’t be asking for developers from a Discord server

half harness
#

BM please teach me the ways of haskell

lunar cypress
oak raft
#

how can I check if two arrays have the same numbers in them

#

is it as simple as ==?

lunar cypress
#

No

#

Arrays are objects

oak raft
#

oh right

lunar cypress
#

So that will check for reference equality

prisma wave
lunar cypress
#

You'll want to use Arrays.equals

oak raft
#

tysm

half harness
obtuse gale
jovial warren
#

I’m having to explain to the 57k guy that he won’t find the quality of developer he should expect by asking here lol

obtuse gale
#

bardy you're missing out..

prisma wave
#

?

obtuse gale
prisma wave
#

I'm literally right here

obtuse gale
#

it's been going for a while

jovial warren
#

ah

#

I really wanna turn this guy away from this server at that budget

#

because he won’t find the person he deserves here

prisma wave
#

I'm literally here

oak coyote
#

I'm beautiful how dare you

prisma wave
#

We have many perfect candidates

jovial warren
#

BM I highly doubt you’re worth 57,000 a year lol

#

get off your high horse mate and come back down to reality

oak raft
#

nope

#

bm is the best

#

no doubt

prisma wave
prisma wave
static zealot
#

$10k/week thonking

pale shell
static zealot
#

that's just people passing by BM

prisma wave
#

yeah happens all the time

pale shell
#

I don't get it thonking

static zealot
pale shell
#

is there audio or something what gives context?

static zealot
#

its a video

pale shell
#

I didn't watch it so

static zealot
#

oh lmao

#

you thought its a screenshot or smthing?

pale shell
#

ye

static zealot
#

just watch it xD

#

its good

#

but here this ss

#

should give you a bit of info

pale shell
forest pecan
static zealot
forest pecan
#

🥲

static zealot
#

🥲

#

oh no

#

I lost my smiling_face_with_3_tears

#

😭

#

well guess I'm stuck with Thank You Blitz! lmao

oak raft
#

rip

static zealot
#

and also its like that for a reason

oak raft
#

Why

static zealot
#

wull show you later

oak raft
#

alright

static zealot
#

wtf happened here?

#

how did that pole get in the car?

#

did it grow? Or did the car jump and fell in it?

#

or tf

oak raft
#

the car drove up a ramp and slammed down onto the pole

oblique heath
#

the side of the marvel movies they don't want you to see

oak raft
#

turns out the pole was stronger than the car and that happened 🙂

pale shell
ocean quartz
#

Barry doesn't seem to like Johnny, that's the second time it doesn't add the voting

static zealot
lunar cypress
#

I have it blocked, that's why

static zealot
#

its a galery Remence open the link

ocean quartz
#

Ah okay that makes sense

oak raft
#

so Sushid00 was the one to start it

static zealot
#

well no

#

there's more

#

I'm just to lazy

#

lmao

static zealot
ocean quartz
#

Blitz what is the command to ask Barry to add the voting?

static zealot
static zealot
ocean quartz
#

Ah

lunar cypress
static zealot
#

bcz you can't add reactions

ocean quartz
#

Sad

static zealot
lunar cypress
#

yes exactly

static zealot
#

and at the rate you talk its probably very rare

compact perchBOT
static zealot
#

=xp 234343108773412864

compact perchBOT
lunar cypress
#

30 pings dodged in a year

static zealot
#

I beg you

#

I didn't get my 69 666,666 but you can get 69,420!!

lunar cypress
#

this is like the second time I've ever seen my xp

static zealot
oak raft
static zealot
#

Internet is gone 😢

#

oh its back

static zealot
oak raft
#

🙏

static zealot
oak raft
#

blessed

#

rippp

static zealot
#

@wheat spire can u ask me to delete another message and give me nitro for it? xD

ocean quartz
#

Free nitro? Sign me in

static zealot
#

it was last month for me xD

#

all I had to do is delete 2 messages and ping funnycube

compact perchBOT
#
Help Menu:

Various Commands for Barry.

󠀠󠀠󠀠=Help General

• General Bot/Guild Commands

=Help Misc

• Miscellaneous Commands

=Help Level

• XP and Level Commands

=Reaction Help

• ChatReaction Help

oak cypressBOT
#

@obtuse gale, Help menu!

prisma wave
#

No

jovial warren
#

BM how far have you progressed with PDM 2.0?

oak raft
#

im here too 🙂

prisma wave
#

I've been at school all day

half harness
#

im here too 🙂

prisma wave
#

Pas du tout

jovial warren
#

oh yeah, didn't you stop last night

prisma wave
oak raft
half harness
oak raft
half harness
#

Bonjour = only word i know

prisma wave
#

but no

#

speak a bit tho

oak raft
#

I dropped french in grade 10 🥲

prisma wave
half harness
prisma wave
#

What

frail glade
#

👋

onyx loom
#

hello mr. admin

jovial warren
#

hello glare

#

this idiot thinks he can make a GCDC (garbage collector data collector) that hooks into SQL that's more optimised than HotSpot's GC

prisma wave
#

he can't

#

I can

jovial warren
#

sorry, new to benchmarking lol

prisma wave
#

graphs

jovial warren
#

yeah I got that part BM

prisma wave
#

PCollections bad, Kotlin bad, clojure good

forest pecan
#

seems like performance for adding/removal/lookup on data structures

obtuse gale
#

you don't know how to... read... graphs?

forest pecan
#

lol

obtuse gale
#

charts?

jovial warren
#

so PCollections sucks ass then

#

and plain old Java triumphs?

lunar cypress
#

Well, that is an oversimplification

jovial warren
#

I swear your results showed that Kotlin sucks ass

lunar cypress
#

this data is already very simplified

#

The collections kotlin does have aren't that bad

prisma wave
jovial warren
#

also how tf can you benchmark additions and removals for immutable collections

lunar cypress
#

Its vectors actually beat java ArrayLists as you can see

jovial warren
#

good point

lunar cypress
#

Also, one thing you have to hand to PCollections: it is the only library whose list removal benchmark didn't produce horrendous results

#

Hence why you don't see any others there

prisma wave
#

Oh I thought the others were too miniscule

lunar cypress
#

Java took ~20 seconds, Clojure doesn't have indexed-based removal on vectors and Kotlin's didn't even terminate (well, it did for piggy, but it took > 200 seconds)

prisma wave
#

Yikes

jovial warren
#

I swear this takes like 4 hours to run

lunar cypress
#

yes it does

onyx loom
#

yup

prisma wave
#

Clojure on top everywhere else tho

static zealot
#

yo @hot hull why didn't you set up github actions for Tags?

onyx loom
#

took me exactly 3 hours 51min iirc

jovial warren
#

might just leave it in the background

prisma wave
#

I'd like to see the clojure haters argue with facts!

jovial warren
#

how exactly does JMH work btw?

#

because I kinda wanna start using it for some stuff

prisma wave
#

Run stuff, record time

#

Ez

jovial warren
#

more complicated than that though

lunar cypress
static zealot
# hot hull effort?

Ah. Was just amazed that you set up an entire ReadMe. Also I never set Actions so idk how easy it is to set up xD

prisma wave
#

I wonder how it compares to other languages

hot hull
#

Neither

prisma wave
#

Does Scala have persistent structures?

jovial warren
#

it's all YAML

static zealot
#

from what I've seen in the past 2 minutes

lunar cypress
#

I would conclude from this that Clojure and Kotlin are more or less on par though

jovial warren
lunar cypress
#

At least in those categories

#

Clojure also has a lot of data structures that kotlin doesn't provide

#

queues and sorted sets/maps

prisma wave
#

Idk how accurate any benchmark would be but it would be interesting to compare clojure to F#/Haskell

lunar cypress
#

Especially the latter is pretty important imo, but none of the others have them

prisma wave
#

And maybe elixir

jovial warren
#

also wouldn't be predictable

prisma wave
#

F# isn't entirely native

#

Just like C# isn't

jovial warren
#

I guess you could see how they perform on different platforms

lunar cypress
#

those benchmarks are really made for micro operations and therefore you can't change the entire environment and still expect to get comparable results

prisma wave
#

Yeah

jovial warren
#

I should do some Krypton benchmarking lol

onyx loom
#

no

prisma wave
#

The haskell compiler in particular does a crap ton of optimizations that clojure probably doesn't/can't too

jovial warren
#

also, ETA 2h lol

#

Ryzen on top

lunar cypress
#

To compare general performance you'd need to make a macro benchmark by implementing and stress testing the same application in two langs or something

prisma wave
#

Yeah

#

Could be a cool exercise

lunar cypress
#

And that would still be pretty vague, but that's what's done to compare web frameworks across langs

static zealot
onyx loom
#

gradle.yml

#

cursed

jovial warren
#

show your config

static zealot
#

its just the default :))))

#

oh wait gradlew is the same thing as gradle ?

#

or is gradlew just for kotlin gradle

lunar cypress
#

no

#

gradlew is the gradle wrapper

#

it downloads and delegates to the gradle version specified in the project

#

gradle is the global binary you may or may not have installed

static zealot
#

oh there's a wiki page for all this shit. I should probably read

prisma wave
#

cabalw build

jovial warren
#
name: "Build"

on:
  push: {}

jobs:
  build:
    strategy:
      matrix:
        os: ["ubuntu-latest", "windows-latest"]
    runs-on: "${{ matrix.os }}"
    steps:
      - name: "checkout repository"
        uses: "actions/checkout@v2"
      - name: "setup jdk 11"
        uses: "actions/setup-java@v1"
        with:
          java-version: "11"
      - name: "build"
        run: "./gradlew build"
```ez
onyx loom
#

ebt build

prisma wave
#

so true

jovial warren
#

funny how I use actions for test builds and Jenkins for master builds

static zealot
#

now that I think about it... I've set the target version as java 8 in gradle I think xD

jovial warren
#

mainly because Jenkins can archive your artifacts and shit

#

but actions is better for just spawning up

static zealot
#

yeah I did

jovial warren
#

used to use Travis with BardyBot, but actions on top

static zealot
#

java-version: '11' would it be 8 or would it be 1.8 ?

jovial warren
#

this is where the entire specification for this in the GitHub docs may come in handy lol

static zealot
#

yeah the docs don't help

jovial warren
#

my ass

prisma wave
gusty glen
#

how many times have you seen that many nested for and if loops

jovial warren
#

try both Blitz

static zealot
jovial warren
#

gj

static zealot
# jovial warren gj
name: Java CI with Gradle

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Set up JDK 8
      uses: actions/setup-java@v2
      with:
        java-version: '8'
        distribution: 'adopt'
    - name: Grant execute permission for gradlew
      run: chmod +x gradlew
    - name: Build with Gradle
      run: ./gradlew build``` this the shit I have rn and its still failing
jovial warren
#

any error?

static zealot
#

checking rn

jovial warren
#

also, make sure @ and + aren't misinterpreted as tokens

static zealot
#

oh shit I think I found it

jovial warren
#

and other strange characters, like / or .

#

this is why I always quote my string values

#

you can't trust that YAML won't misinterpret it or complain about it

#

e.g. it interprets NO as false, which actually caused a huge exploit in Ruby on Rails

static zealot
#

nah the error is from the project itself. I might have not uploaded locale to github

scarlet garden
#

Hello, good morning, I am looking for a java programmer to make me a minecraft plugin, please answer me,

static zealot
jovial warren
#

actually nvm, it was the direct representations of objects that caused a bug in Ruby on Rails

boreal needle
#

is anyone good at naming stuff

#

what do i call a thing that's a child node in a command tree

oblique heath
#

leaf

#

or wait

#

branch

steel heart
#

AbstractSubCommandNodeChildren

boreal needle
#

actually wait

#

doesnt brigadier work like this

#

can i just use brigadier

#

does brigadier work in bukkit?

jovial warren
#

yes

#

well, it can

boreal needle
#

how did i not know that this existed

#

i love it

jovial warren
#

chunkCache::class.java.getDeclaredMethod("cache").apply { isAccessible = true }(chunkCache)::class.java.simpleName talk about whack lol

#

that allows me to retrieve the internal cache that backs my chunk cache lol

#

just to see what it is

#

reflection is fun 🥲

frail glade
#

So what's new with SlimJar today, Matt?

prisma wave
#

.javaClass

jovial warren
prisma wave
#

imagine retaining types after compilation

ocean quartz
jovial warren
#

Scripton soon™️ btw lol

frail glade
#

Can you not just have it grab from their initial repositories in the gradle build script?

jovial warren
#
plugin TestPlugin {

    initialize {
        command TestCommand
    }
}

command TestCommand {

    exec reply(text("Hello World!"))
}
```*may or may not have just came up with that just now* lol
ocean quartz
jovial warren
#

me and BM still gotta come up with a solution to modules blocking reflection lol

#

gotta tick these boxes:

  • performant
  • works out of the box
  • doesn't require any elaborate hacks
onyx loom
#

but pdm always does all of those !!!

jovial warren
#

not for modules

onyx loom
#

🙄

jovial warren
#

Java 9's modules give us an issue trying to use URL class loader reflection

onyx loom
#

p.s: it does 0 of those

jovial warren
#

maybe we can specialise and directly access the class loader of the plugin and load that way

#

still gives us the issue of how we're going to access addURL though

#

maybe we can process with annotations

#

and just use jar in jar anyway

#

e.g. ```java
@PDMInject
public class MyPlugin extends JavaPlugin {

public void onEnable() {
    // whatever lol
}

}

#

or just @PDM maybe

#

then the jar in jar class loader can load that class

static zealot
#

yo @jovial warren but does the action thing only test if it can build? Bcz I can't seem to find a link to download the build or something like that

prisma wave
jovial warren
#

wdym download the build?

prisma wave
#

(true)

onyx loom
jovial warren
#

if you want to get the artifacts from the build, you have to publish them to packages

obtuse gale
jovial warren
#

true I guess

#

dis why Krypton good Bukkit bad

obtuse gale
#

@boreal needle check any of my repos if you wish to use brig as a cmd framework on Bukkit

boreal needle
#

ooh i will do

#

i need that fancy syntax highlighting

obtuse gale
#

Well for that there are two ways actually

#

3

jovial warren
#

@prisma wave you got any ideas yet btw about how we can actually solve the modules issue?

#

I mean, maybe a good idea to identify the actual problem first

prisma wave
#

monad

jovial warren
#

anyone got a record of the bug anywhere?

obtuse gale
#

But the actual usage of brig as a cmd framework doesn't include the colorful tree sending thing

prisma wave
#

what bug

jovial warren
#

doesn't Java 16 break PDM?

prisma wave
#

oh maybe

#

idk

#

havent tried

ocean quartz
#

Monads should fix that

jovial warren
#

lemme try

prisma wave
#

yep

hot hull
#

What doesn't break PDM :kek:

prisma wave
#

idk lmao

jovial warren
#

BM

#

pdm latest version

#

go

#

Could not find paper-api-1.16.5-R0.1-SNAPSHOT.jar (com.destroystokyo.paper:paper-api:1.16.5-R0.1-SNAPSHOT:20210409.232303-163). why does this keep happening to me

#

Gradle just doesn't like snapshots

#

(it's right, that version doesn't exist, but it's picking the wrong one)

#

idk what's up with my Gradle

ocean quartz
jovial warren
#

stfu that's not helpful Matt

hot hull
#

Bardy

ocean quartz
#

😦

hot hull
#

that's an issue with latest IJ

#

I'm having the same shit

ocean quartz
#

Refresh cache

#

@jovial warren

hot hull
#

wait what

#

Never knew that existed

jovial warren
#

me neither

#

but it seemed to work

#

hey does anyone here know how I can take a list and add an element at the head instead of the tail?

#

this uses a linked list so that might actually be possible

#

addFirst, that'll be it

prisma wave
#

Ofc it's possible

#

Take new head, make a node, link node to previous head

#

O(1) adding clojuremoon

jovial warren
#

the benefits of using a linked list over an array list

#

because using an array list would require me to move all of the elements up one I think

#

oh my god

#

well, I may or may not have just kinda solved block placing

#

those cubes? gone

#

issue was I wasn't checking to see if air was in the palette, so the only palette block being sent was sand and so the client assumed that all the data was for sand

lunar cypress
#

speaking of which, I just watched another Algorithms lecture and realised I maybe should have benchmarked some more linked list operations

#

but then again most linked list magic is only possible with mutable ones

uneven vapor
#

Before you you has see how you made gui some can store items, you think is hard to make something working some can collect items.

But when you has see how is done, is it not to hard.
(I know this need more work, was more proof of concept).
https://paste.helpch.at/amohebuwik.java

half harness
#

bm

uneven vapor
#

the most fun with that code, is it get reset after server restart (you have to save it to a database) 🙂 But use it as it is is and you can troll with your friends (if you have any left after this 😉 ).

prisma wave
obtuse gale
#

@boreal needle I got something a bit tidied up, nicer from what I have in my other projects (very platform agnostic too), see
https://github.com/Fefo6644/BetterJails/tree/main/common/src/main/java/com/github/fefo6644/betterjails/common/command
https://github.com/Fefo6644/BetterJails/tree/main/bukkit/src/main/java/com/github/fefo6644/betterjails/bukkit/command
@ or DM me if you have any questions 😄

As for the client syntax highlighting you will probably be way better off with lucko/commodore and, more specifically the commodore-file system, it's just super nice to write down the tree in a file like that and it works pretty darn well

onyx loom
#

@static zealot what u doing 👀

static zealot
onyx loom
#

😂

#

what do u need help with || what u stealing? ||

uneven vapor
#

ctrl +c and ctrl +v is a coder's best friend 😉

onyx loom
#

dont forget about stack overflow

#

ofc, the ctrl c + v comes from stack overflow

obtuse gale
#

Speaking of SO, I got an email today with a job offer in it (more of a suggestion, SO sends you offers employers post you might be interested in)

#

I was like "oh shit what will it be"

onyx loom
#

lmao

#

elara vm when @ fefo

obtuse gale
#

uh tomorrow night

#

probs

onyx loom
#

ah nice

#

i shall check in with ur progress in that case 🙂

obtuse gale
#

😄

boreal needle
#

i just made a rookie mistake

#

reset my laptop

#

without backing up any of my stuff

#

i lost my rhythm heaven fever save :c

oblique heath
#

i have a magical file

#

take the md5 hash of this file

#

and convert that from hex to base 64

obtuse gale
static zealot
#

don't remind me 😢

#

@onyx loom don't you like Single-expression functions? 🥲

onyx loom
#

no

static zealot
#

why? 😢

onyx loom
#

brace everything!

static zealot
#

no! 😢

onyx loom
#

i would only use expression functions if i was using k&r

#

they just look extremely out of place in an allman project imo

static zealot
#

btw you never got problems with Adventure and PAPI? Specifically PAPI's color translater breaking hex?

onyx loom
#

dont think so no

#

i only did minor tests

static zealot
#

I remember Codinq having some major problems with that but Idk if they use Adventure or what

#

with hex I mean

#

Does Adventure even have gradients ?

#

Or are those only added with MiniMessages

onyx loom
#

no i think thats more for the libs

#

yeah prob

obtuse gale
#

Gradients are in minimessage parsing, yes

onyx loom
#

mf-msg tho

#

hello

static zealot
#

xD

#

Its cool and all but I personally don't like the discord parser. I prefer the vanilla one

onyx loom
#

how brave of u to say that

obtuse gale
#

"vanilla"..?

static zealot
#

the default one idk how to call it

#

the &l

#

&m

#

&n

obtuse gale
#

Oh

#

Ew

#

Ew

static zealot
#

xD

onyx loom
#

B.A.A.S - Don't Repeat Yourself!
You're sending too many duplicate messages.
Barry's Anti Abuse System | v1.4.4

obtuse gale
#

Don't worry Kali

#

I won't

onyx loom
#

good 😊

jovial warren
#

(vanilla server code)

#

fillOne and fillMany want T and they're getting capture of ? extends Tag, and they also want CollectionTag<T> and they're getting CollectionTag<capture of ? extends Tag>

lunar cypress
#

Why the wildcard?

jovial warren
#

well idk what else I could do

obtuse gale
#

Just.. don't do wildcards?

jovial warren
#

I tried CollectionTag<Tag>

lunar cypress
#

CollectionTag<Tag>?

jovial warren
#

doesn't work

obtuse gale
#

extends = out = "producer"

lunar cypress
#

elaborate

obtuse gale
#

You can't add to a producer

jovial warren
#
private static CollectionTag<? extends Tag> createGenericList(byte param_0, byte param_1) {
    if (NbtOps.typesMatch(param_0, param_1, (byte)4)) {
        return new LongArrayTag(new long[0]);
    }
    if (NbtOps.typesMatch(param_0, param_1, (byte)1)) {
        return new ByteArrayTag(new byte[0]);
    }
    if (NbtOps.typesMatch(param_0, param_1, (byte)3)) {
        return new IntArrayTag(new int[0]);
    }
    return new ListTag();
}
#

used to return CollectionTag<?>

#

and returning CollectionTag<Tag> doesn't work either because of the return types

#

because for example, LongArrayTag extends CollectionTag<LongTag>

lunar cypress
#

Yeah ok, but I'm not talking about that

#

Hold on

jovial warren
#

I'm saying that's the reason why we can't have var_0 be a CollectionTag<Tag>

obtuse gale
#

Why can't you make it return CollectionTag<Tag>?

lunar cypress
#

Because the things he returns aren't a sub type of that

obtuse gale
#

It's still a Tag