#dev-general

1 messages Β· Page 512 of 1

steel heart
#

Yeah but I heard impure utilities might be hard to unit test or like the units that depends on those utility functions since you’re implicitly testing the utility function.

old wyvern
#

mhm

steel heart
#

Ok pog pog thank you wise man

static zealot
#

yo @old wyvern u on linux right?

old wyvern
#

not rn

#

Whats up?

static zealot
#

oh. wanted to see how your activity status page looks rn

obtuse gale
#

the ceiling

static zealot
#

bcz I can't get IJ to show up

#

for me

#

it doesn't find it at all and when I try to add it, I can't seem to find it

old wyvern
#

I dont have ij installed there, but it works with vcs

static zealot
#

hmm I Don't have vsc installed to test xD

old wyvern
old wyvern
static zealot
#

what for?

old wyvern
#

idk

#

ghc

#

install the haskell plugin

#

Join

static zealot
#

Don't have plans to do any web development any time soon. And I Just use Subl for the rest

old wyvern
#

the

#

pure

#

league

static zealot
#

nah not rn

old wyvern
#

sad

static zealot
#

hmm when listing processes, to only show those that have intellij in their name or whatever it should be ps -ef | grep intellij correct?

static zealot
ocean quartz
static zealot
#

that's elmo

old wyvern
static zealot
#

ah a language

#

Ic

old wyvern
#

Not just any language

#

a functional language

#

😌

static zealot
#

hmm @cinder flare u around?

old wyvern
#

😌

static zealot
#

Ic

#

well guess I have to live without the activity status

#

not that I ever cared

#

||I did sobsidedown, still do||

gusty glen
#

How long did I waited for this very moment

#

Probably since my web dev teacher tried their best to teach JS to me

#

(and failed)

static zealot
#

xD

old wyvern
#

Yea the elm compiler is amazing

old wyvern
#

rambda

#

Ah yes, android gets back to trolling me...

#

Omg, found it

#

thank god

gusty glen
#

elm feels heavily inspired by haskell

old wyvern
#

Inspired by ML

#

both of them are

#

ML ("Meta Language") is a general-purpose functional programming language. It is known for its use of the polymorphic Hindley–Milner type system, which automatically assigns the types of most expressions without requiring explicit type annotations, and ensures type safety – there is a formal proof that a well-typed ML program does not cause runt...

#

there is a formal proof that a well-typed ML program does not cause runtime type errors😌

gusty glen
#

there are some things I didn't like

static zealot
gusty glen
#

like not having a generic map function

gusty glen
static zealot
#

lmao

gusty glen
obtuse gale
#

smfh

static zealot
#

ugh. I didn't smh.

#

I Installed it using Discovery

obtuse gale
#

what is that lol

static zealot
#

actually its just Discover not discovery

old wyvern
static zealot
#

the default one for KDE Neon

#

developed bt the Plasma team

gusty glen
obtuse gale
#

o

old wyvern
#

Yes

gusty glen
#

does haskell have |> thing?

old wyvern
#

But you'll end up with the same issue as qualified exists in haskell for as well at some point

old wyvern
gusty glen
#

names $ sort $ join ", "?

#

can I do something like that in haskell?

old wyvern
#

No

#

join ", " $ sort $ names

#

There might be another operator somewhere for that tho

#

lemme check hackage

static zealot
old wyvern
#

πŸ₯²

obtuse gale
#

Haskell

gusty glen
#

is elm variables lazily evaluated?

old wyvern
#

Not in the same way as haskell

#

its only lazy in case of curried functions

forest pecan
#

Am I being dumb or something, but why is that when I return the size its 11 but when I print the elements its only 9 for an ArrayList

#

Oh wait nvm

static zealot
#

@hot hull u finally got a job?

prisma wave
#

I think it's because there's no type classes so a proper generic map isn't possible

gusty glen
prisma wave
#

yeah it's quite nice

#

Chaining stuff is cool

gusty glen
#

in the example Elm docs had, there was a listed that was sorted, then joined using ", " as separator, so they had

names |> List.sort |> List.join ", "``` which is soooo much more readable than
```JAVA
String.join(", ", (Collections.sort(names)));``` because it's in the natural order of the operations
prisma wave
#

oh yeah that style looks much nicer

#

I'm surprised there's nothing in haskell for that

#

Like prefix style isn't terrible, but it can get a bit cumbersome

ocean quartz
#

Does that mean haskell bad?

old wyvern
#

NO!

prisma wave
#

maybe

#

no

gusty glen
#

Former can be read as "pick the names list, sort it, then join it by ', '", latter is like "Join by ', ' a Collectio... ops, a list that will be sorted", lol

prisma wave
#

just different

old wyvern
#
join " " $ sort $ names

"Join the sorted names"

prisma wave
#

Yeah neither is really better, they're just different styles

gusty glen
prisma wave
#

I don't think there is one

gusty glen
old wyvern
#

Hes refering to $ and |>

prisma wave
#

yeah

#

parentheses suck

#

I was comparing f#/elm style with haskell style

old wyvern
#

lisps πŸ’€

#

:sad_clojure_face:

prisma wave
#

Lisps are fine

ocean quartz
gusty glen
#

haskell has one big advantage over elm though, laziness

old wyvern
#

😌

obtuse gale
#

lmao

gusty glen
#

easily applied I meant

prisma wave
old wyvern
#

lazy lists >>>>>>>

#

Godly invention

gusty glen
#

infinite lists

prisma wave
prisma wave
#

😌

old wyvern
#

😌

#

purity at its best

prisma wave
#

😌

gusty glen
cinder flare
#

gcc go brrrr

prisma wave
#

ghc*

cinder flare
#

well im cross-compiling gcc

#

is what i meant

old wyvern
#

ghc

prisma wave
#

scum

#

We don't take lightly to c++ users round these parts

cinder flare
#

sorry linux isn't written in haskell

old wyvern
#

We don't take lightly to non-haskell users round these parts

prisma wave
#

you will be sorry

old wyvern
forest pecan
#

@old wyvern can you use Path instead of File for Slimjar lol

#

well actually

#

yeah thats only internal code, but when I used your thing to relocate I had to pass in a File πŸ₯²

#

not a big deal tho

obtuse gale
#

blame luck

forest pecan
#

Oh yeah that is true it uses Lucko relocation

#

When I was converting Files to Paths actually, i had to do it for Luck's relocation and it seemed that I only had to change like 6 fields

#

Someone should make a PR to do it lol

old wyvern
#

lol

#

Dont you just love having to spam this annotation everywhere

#

Such a nice language!

obtuse gale
eternal compass
#

are you proud of me?
I fixed it up all by myself ;p
well, ok I didn't fix it, but I added a config, and thats close enough right?

old wyvern
#

πŸ˜”

cinder flare
#

ah now that's progress!

eternal compass
#

now I just gotta go through and yell at myself for why I did stuff in a stupid way lol

obtuse gale
#

yeah wtf were you thinking

eternal compass
#

._.

#

ok I'll admit the maven is meh

obtuse gale
#

"the maven"

#

lmao

eternal compass
#

its the maven

#

but maven is simpler, and doesn't keep a daemon running (idk if it effects performance, but I'm also way too lazy to wait for it to boot)

cinder flare
#

big maven holding back build tools

#

all the real kids use make

obtuse gale
#

maken

#

poggers

eternal compass
#

I've gotten that so many times

#

πŸ₯²

eternal compass
#

thats not allowed

#

you can't do that

eternal compass
#

no

#

you will not

eternal compass
#

I will forcefully keep you from poggering

cinder flare
old wyvern
#

pulls out lazer

eternal compass
#

no I can feel whats about to happen

#

I think

nocturne pumice
#

Hey, your tazer has no AA batteries, I had to pick them for my remote control. (is it offtopic?)

nocturne pumice
#

🀣

cinder flare
#

bro my tazer does not take AA batteries

#

9v gang all the way

ocean quartz
#

Hell yeah

eternal compass
#

y'all with your

#

AA and AAA batteries

#

I got my single A batteries ._.

obtuse gale
#

I have a D

#

p sad

ocean quartz
#

Actually, is that a thing? "A" battery? I have never seen one

obtuse gale
#

A battery?

#

Is that a thing?

#

lmao

ocean quartz
#

Specifically put the a in quotes because of you, nerd

obtuse gale
#

ily2 matt

ocean quartz
#

Apparently there is "A" battery

#

R23 (carbon‑zinc)
LR23 (alkaline)

#

More common as a NiCd or NiMH cell size than a primary size, popular in older laptop batteries and hobby battery packs.
Various fractional sizes are also available; e.g., 2⁄3 A and 4⁄5 A.

ocean quartz
forest pecan
#

What the hell does Caused by: java.util.concurrent.RejectedExecutionException: java.util.concurrent.RejectedExecutionException: Thread limit exceeded replacing blocked worker mean

cinder flare
#

you had too many threads

forest pecan
#

Too many app threads?

cinder flare
#

threads PeepoShrug

eternal compass
ocean quartz
#

Seems like it lmao
But it's not used commonly

eternal compass
#

I gathered that

#

after all I'm not as dumb as I look, or however that goes /s

obtuse gale
#

what kind of executor service did you create

cinder flare
#

one that used too many threads, apparently

forest pecan
#

I never seen this error before, and it seemed like it was in a class that never had gotten errors before

obtuse gale
#

tried to submit a task and the service's queue is full or something

cinder flare
#

how could "thread limit exceeded" be anything but too many threads

forest pecan
#

let me rerun it to see if its consistent

obtuse gale
cinder flare
#

so the services' queue is full, that still means there was too many threads for the service, no?

#

how is that the opposite

forest pecan
#

When i ran it again, i didnt get the error

#

nor did i get it the third or fourth time

#

weird

cinder flare
#

oooh a race condition maybe?

forest pecan
#

what does that mean lol

cinder flare
#

what

forest pecan
#

Oh

cinder flare
#

you don't know what a race condition is

forest pecan
#

ic

#

No i do

#

i didnt know it was called that

forest pecan
#

lmfao

#

Now that im thinking about it, I think I know why

#

Its cause i created multiple executors with fixed thread pool size Runtime.getRuntime().availableProcessors()

#

in the caching

#

Lol

obtuse gale
#

fixed thread pool size
yep

forest pecan
#

what could I be doing that uses all those threads lol

#

hm

obtuse gale
#

idk lol

#

submitting tasks from a parallel stream or something?

forest pecan
#

perhaps

static zealot
# hot hull What?

Just notice you're a bit less active and saw your last message which was telling me to get a job. So thought maybe u did the same

hot hull
#

Nah, I'm still in school smh

lofty flame
#

@pallid gale where can i get support if i have issues with one of your plugins

#

@ocean quartz

obtuse gale
lofty flame
#

yucky

obtuse gale
#

once you're done reading and comprehending them, ask your question in #general-plugins or #general-plugins-2 and wait patiently for someone who knows about your issue to reply

lofty flame
#

u wanna just answer my question while ur here? you seem to know lots about their plugins

obtuse gale
#

if you do, I will evaluate if i know the answer or not and reply (or not) accordingly

lofty flame
#

aight

ocean quartz
#

O

#

I was pinged

#

Shush Emily

hot hull
#

Man left

willow lynx
#

can any1 give me documentations about PlaceholderAPI.setPlaceholders()

jovial warren
#

currently upgrading Krypton to 1.17 πŸ₯²

#

testing this is gonna be a bit annoying though

#

anyone know how long left until 1.17 releases?

lunar cypress
#

It releases on 8th

jovial warren
#

okay, so 6 days to upgrade this then

#

I'm gonna have this done in 1 day

old wyvern
#

They havent increased the y yet right?

jovial warren
#

they have afaik

#

currently kinda confused at the new BitSet changes lol

#

never used a BitSet before

jovial warren
#

omg 1.17 overhauled the network to remove all the lateinits

forest pecan
#

Oh they changed to BitSets

jovial warren
#

yeah

#

right, here goes nothing

forest pecan
#

Lol they added a verified channel in the spigot disocrd

old wyvern
#

Imagine being verified on spigot discord

onyx loom
#

that seems kinda useless imo, unless they will be blocking non-verified users all together

#

which also sounds like a bad idea

jovial warren
#

hey does anyone here use the official Minecraft launcher? or can use it? mine doesn't work lol

#

I need the 1.17 pre-release 3 JSON data from .minecraft/versions/1.17-pre3 if someone doesn't mind adding a configuration for 1.17-pre3 in the launcher and running it

obtuse gale
#

the version.json?

jovial warren
obtuse gale
jovial warren
#

it contains the links to the server.jar and server.txt files lol

#

thanks lol

sly sonnet
#

😦

jovial warren
obtuse gale
#

also got the .txt

#

woa it's 5MB

half harness
#

woa

forest pecan
#

hamood spelled backwards is hamood

obtuse gale
#

wat

forest pecan
#

it is

old wyvern
#

Are you drunk?

forest pecan
#

prove it

#

spell it backwards

old wyvern
#

b a c k w a r d s

forest pecan
#

Yes

#

spell Hamood backwards

old wyvern
#

H a m o o d b a c k w a r d s

half harness
old wyvern
#

oh no

forest pecan
#

Dommah dick fit in yo mouth

obtuse gale
#

πŸ₯²

old wyvern
#

sad dkim

distant sun
#

Ok?

half harness
#

😩

forest pecan
#

Lol

half harness
forest pecan
#

im going to get BANNED

old wyvern
#

Congrats!

prisma wave
forest pecan
#

🀑

open shell
#

is it known that a lot of servers are "randomly" getting infected lately? We've discussed this over at the mythicmobs discord and its been quite the topic the last few days, but it doesnt seem like much of it is happening over here

old wyvern
#

infected?

open shell
#

plugins will show a "loaded class javassist" message in the logs

half harness
#

leaked plugins? 🀑

old wyvern
#

^

half harness
#

javassist iirc isnt harmful

open shell
#

the aftereffect is

half harness
#

no it isn't

#

what i mean is, it's something entirely else

#

unrelated

#

maybe

open shell
#

javassist is a symptom

half harness
#

Yugi is typing...

old wyvern
#

Javaassist is just a bytecode manip library

#

Not some malware

#

If you're using leaked plugins, thats completely your fault

open shell
#

the people on their discord mention it being a lesson for people who pirated plugins, but it seems that its also affecting spigot plugins now

old wyvern
#

Most of them have backdoors

#

Report any spigot plugin from which you experienced that

#

Simple

#

Also try to download resources from trusted authors

#

Or look for open source alternatives

open shell
#

nah we know. it hasnt happened to us yet

half harness
#

spigotmc only checks first plugin uploads, unlike bukkitdev

#

you'll have to report if you want them to recheck

half harness
#

just don't commit the malicious stuff

old wyvern
#

You can compare the jar with the source

half harness
#

oh

old wyvern
#

Or better yet

half harness
#

true

old wyvern
#

compile it yourself

open shell
#

oh boi we did

#

hang on

ocean quartz
open shell
#

decompiled an infected jar*

old wyvern
#

and?

half harness
#

are you using any leaked plugins? i'd recommend you reinstall the server jar (and cache folder if you're using paper), removing the leaked plugins, and maybe replacing the other plugins

open shell
old wyvern
#

You have had cracked plugins installed earlier on

open shell
#

and yea we know how to handle it. I was just asking if you guys knew more about it or not

#

could it also be the case that spigot devs run cracked plugins and get their jar infected, then push it to spigot without knowing it

old wyvern
#

There have been cases where a leaked plugin changes the bytecode of some class in other plugins to get it to load what it wants

old wyvern
#

Youd normally upload a direct build artifact

half harness
#

even then, dev servers only have like 15 plugins max, all well known

old wyvern
#

Its also unlikely for them to use cracked plugins on a test server

half harness
#

such as worldedit, essentials, placeholderapi, etc

prisma wave
#

play stupid games...

open shell
#

hm alright, talking about the possibilities rn

ocean quartz
#

Again this isn't a virus, it's stupid decision

open shell
#

hang on

#
  • it gave star perms to the default group.
prisma wave
#

;,ap

#

lmao*

half harness
#

;,ap

ocean quartz
#

They care about performance and run it on a new thread that's already better than most spigot devs

half harness
#

coroutines πŸ₯Ί

#

java executor service πŸ₯Ί

obtuse gale
#

h e l l

open shell
#

yea its not luckperms. at all

#

we get the same with mythicmobs

obtuse gale
#

jfc

#

but yeah what it's being done is jars injecting shit in other jars

prisma wave
#

pretty smart

obtuse gale
#

so your best bet would be to just redownload every single jar (server jar included, if you're on paper also delete the /cache folder) and upload them

#

I presume the plugin folders can stay

prisma wave
#

and dont use cracked plugins

obtuse gale
#

but the jars are a nay nay

obtuse gale
open shell
#

yea ofc, mitten, but it seems like its affecting clean servers as well

half harness
prisma wave
#

as if that wasnt obvious enough

half harness
prisma wave
open shell
#

I meant clean as in never used a cracked plugin ever

old wyvern
#

How many plugins do you have?

open shell
#

again, it hasnt affected us

old wyvern
#

Ah alright

#

Well whoever was having an issue with a clean setup, they have a pretty simple solution to finding the culprit. Download clean jars of each and decompile and look through the freshly downloaded ones

open shell
#

we've had 2 staffmembers getting infected by it already, whereas im sure that 1 of them hasnt run a cracked plugin at any time

half harness
#

hasn't happened to me 🀷

obtuse gale
#

man Fabric API is so DIY

ocean quartz
#

I love the fabric API so simple to use

obtuse gale
#

it's very DIY

#

it has many built-in events of course, but there is no such thing as a "playerchatevent" for example

#

mixins all the way :d

torpid vector
#

does anyone know how to use the EntityShootBowEvent

humble silo
steel heart
#

isnt the same?

obtuse gale
#

how does forge do it?

humble silo
#

and i havent seen it in their mixin documentation

distant sun
humble silo
steel heart
#

thought they used the same mixins and shit

humble silo
#

Well they defintely arent portable from fabric to forge or vis-versa

rotund egret
#

Fabric uses a fork of mixins

humble silo
obtuse gale
#

what's "that weird comment notation" you're referring to?

humble silo
#

Lemme find an example. one second

#

Hmm, well ReplayMod has it and thats Fabric

#

Something like this:

#
@Mixin(TitleScreen.class)
public interface GuiMainMenuAccessor {
    //#if MC>=10904
    @Accessor("realmsNotificationGui")
    Screen getRealmsNotification();
    @Accessor("realmsNotificationGui")
    void setRealmsNotification(Screen value);
    //#endif
}
#
//#if MC>=11400
import net.minecraft.client.gui.widget.AbstractButtonWidget;
//#else
//$$ import net.minecraft.client.gui.GuiButton;
//#endif

//#if MC>=11400
import net.minecraft.client.gui.Element;
//#endif

@Mixin(Screen.class)
public interface GuiScreenAccessor {
    //#if MC>=11400
    @Accessor
    List<AbstractButtonWidget> getButtons();
    //#else
    //$$ @Accessor("buttonList")
    //$$ List<GuiButton> getButtons();
    //#endif

    //#if MC>=11400
    @Accessor
    List<Element> getChildren();
    //#endif
}
#

or that

obtuse gale
#

those comments?

#

wtf

rotund egret
#

First time I've seen comments like that.
Are they actually functional?

old wyvern
#

tf are those

humble silo
#

Ive seen these alot

obtuse gale
#

is this C macros? 🌞

humble silo
#

They are fricking weird

#

lol

steel heart
#

lolol

old wyvern
#

They may have made macros as well

#

Holy fuck

#

How do people always find ways to make things worse xD

humble silo
#

It seems like it would suck, but who am i to judge lol

old wyvern
#

I dont like it either

obtuse gale
#

that is very C-ish

humble silo
#

Whats a better solution then?

#

Each mixin having a target version and only applying them then?

prisma wave
#

Not quite template haskell 😌

old wyvern
#

Im not really a fan of their mixins itself

humble silo
#

Well its amazing and lighweight, so i kindof love it, but supporting multiple versions with it is almost imposible

rotund egret
#

You should probably ask mixin questions in the sponge discord tbh
Mumfrey is pretty helpful

old wyvern
obtuse gale
#

well for the fabric specific question you'll be way better off asking in the fabric discord directly

old wyvern
#

Have you tried it yet bm?

rotund egret
#

Yes

prisma wave
#

Nope

old wyvern
#

welp

prisma wave
#

But you know

obtuse gale
#

I believe they use a refmap thing loaded and remapped at runtime

prisma wave
#

It's haskell, it can't be bad!

old wyvern
#

😌

prisma wave
humble silo
#

Arent comments taken out at runtime anyways?

#

Or during compilation*

ocean quartz
#

During compilation yeah

humble silo
#

Then how does that work?

obtuse gale
#

yeah but ig gradle plugins can read them anyway?

humble silo
#

Do you have to provide the sources to forge too?

prisma wave
#

Probably reads the source not the bytecode

humble silo
#

god thats terrible

ocean quartz
#

The gradle plugin likely will generate code based on the comments from the sources

old wyvern
#

Man I feel like maintaining that macro cluttered codebase would be a nightmare

obtuse gale
#

yeah the forgegradle plugin is yucky

old wyvern
#

Atleast in the form it is present

humble silo
old wyvern
#

// if MC >-11400 # else $$import ... #endif

humble silo
#

Huh, Would it just be totally worse if it was done by each mixin having a version and not being injected if that version wasnt correct?

old wyvern
#

As I said, I dont like mixins either

humble silo
#

I guess that would require the developer to write alot more classes that are pretty similar

humble silo
#

hypotheticals here

old wyvern
#

I would rather have something I can read and hope for documentation in comments rather than finding if else clauses in place of where I would expect actual comments

ocean quartz
#

I'd probably make a module for each version and use mixins for the version needed, the comment stuff is dumb

ocean quartz
#

No

humble silo
#

could you not do it by packages?

obtuse gale
#

no one uses those

#

stop thinking about them lmao

humble silo
#

lol i do but ok

obtuse gale
#

you're weird ok?

humble silo
#

I admit it is causing me pain

#

but i like them

#

security

old wyvern
#

masochism

humble silo
#

no

#

bad

old wyvern
#
I admit it is causing me pain
but i like them
obtuse gale
#

mhm mhm

humble silo
#

lol

old wyvern
#

😌

onyx loom
#

makes perfect sense

#

he likes pain

humble silo
#

Ftr Gradle has bugs with modules

#

its not my fault

obtuse gale
#

how come

old wyvern
#

What bugs?

humble silo
#

Just little weird stuff that ive been submitting issues for and they are taking pretty seriously so far

obtuse gale
#

i never experienced anything out of the ordinary with them thonking

humble silo
#

have you used kotlin with it?

#

Thats kindof my issue rn

old wyvern
#

Could you give me an example of what you had issues with?

obtuse gale
#

i have in the past but definitely not my regular usage

humble silo
old wyvern
#

Sure

humble silo
#

alr here

#

Ima DM it to you

old wyvern
#

Alright

rotund egret
humble silo
obtuse gale
#

also yeah speaking of multi-version stuff earlier

#

in forge you literally have to re-build the mod entirely even for a regular forge update

humble silo
#

really? why is that?

obtuse gale
#

in fabric you can just build it once and most of the time it will work in future versions

old wyvern
#

Johnnys library can help a lot for most nms cases, breaking changes would still fail tho

obtuse gale
#

but it sucks

humble silo
#

wow, i take it you use both alot then?

#

Forge and fabric?

old wyvern
obtuse gale
humble silo
#

What mappings do they use for MC?

#

Like to deobfuscate?

obtuse gale
#

but i know that for instance a forge mod built for 1.16.5-blah.blah.2685 does not work in 1.16.5-blah.blah.2697

humble silo
#

oh wow

onyx loom
#

🀑

humble silo
#

Thats honestly crazy

humble silo
#

Oh i want this now

#

I was using MCP and it sucks

obtuse gale
#

and they use yeah a slightly modified fork of sponge mixin and a modified version of fernflower as well

ocean quartz
rotund egret
#

That's not true?

obtuse gale
#

the versions thing?

#

in my experience it is

rotund egret
#

Forge works unless theres a breaking change

humble silo
#

lol

#

I wouldnt actually do that

ocean quartz
#

unless you're crazy
I guess i know the answer kek

rotund egret
#

You should be building and using RB outside of edge cases

humble silo
#

Though it wouldnt really be different it would really just be preferences on how it looks

obtuse gale
#

idk what that means, also I was talking about my experience as a user, not a modder

rotund egret
#

I as well

humble silo
#

god my brain today

rotund egret
#

Running forge servers exclusively for a few years now

humble silo
#

What is with these new Discord profile things?

#

Its ugly now

obtuse gale
rotund egret
#

Weird.
Admittedly that might be a result of new mc version, I havent used thoseyet, but that seems like a weird change they would make.

humble silo
#

@old wyvern Hows that looking?

old wyvern
#

Hows what looking?

humble silo
#

The project i sent you? or have you not check it out?

old wyvern
#

Oh sorry, got lost doing something else

#

Ill check it out in a bit

humble silo
#

oh lol alr

old wyvern
#

have to finisha project

humble silo
#

finish? imagine

old wyvern
#

idk man, im almost about to give up tbh

#

I havent slept yesterday

#

and ts already 7 pm today

jovial warren
#

Caused by: java.lang.IndexOutOfBoundsException: index: 3, length: 61 (expected: range(0, 10)) πŸ₯²

old wyvern
#

tf

jovial warren
#

Netty error I'm getting from the client when compression is enabled

#

only occurs from the second login attempt onwards though, which is really weird

#

actually no, that's not the compression error

rotund egret
#

Imagine having off by one errors in your code

jovial warren
#

lol

ocean quartz
#

Happens a lot

jovial warren
#

yeah probably

prisma wave
#

the "good type system" strikes again

#

You wouldn't* get this issue in elixir

#

Just saying

lunar cypress
#

This is likely an IntelliJ issue

#

or ambiguous T

prisma wave
#

embarrassing intellij fails compilation

steel heart
#

Bruh

#

I found out about the Smart Search plugin for IntelliJ today

prisma wave
gusty glen
steel heart
distant sun
#

are you german, conclure?

#

also that looks nice

gusty glen
#

I thought about using Flows, but then I remembered that they are sequencial, so if one collector decides that is good to use delay, it'll screw all other collectors, am I wrong?

steel heart
distant sun
#

close

steel heart
#

Ye

flint gulch
#

demo server please ?

distant sun
#

lol

prisma wave
ocean quartz
#

Lmao

flint gulch
prisma wave
#

okay!

#

testplugins?

old wyvern
flint gulch
#

nvm joined server

#

yes testing plugin then I will buy . .

old wyvern
#

Different listening operations shouldnt affect each other

serene cave
#

Hello

minor oracle
#

Hello

serene cave
#

Shit

#

Abraham

#

this is why we cant have nice things

minor oracle
#

Greeting, Donald.

#

Duck.

serene cave
#

Greetings, Abraham.

#

Now go away

#

go back into your coffin

onyx loom
#

πŸ‘€

minor oracle
#

I decline your request. However, thank you for your kind words.

serene cave
#

Go back into your coffin

#

or come to room 1

#

and hear me speak

steel heart
#

Why did I not know this earlier

onyx loom
prisma wave
#

Oh hello presidents

prisma wave
ocean quartz
#

This indentation lol

obtuse gale
#

πŸ˜” πŸ™

prisma wave
#

hmm I wonder where that "screenshot" came from

forest pecan
#

I actually never knew this

#

but you can predict droppers

#

like not guess but predict

obtuse gale
#

wat

#

what does that even mean lmao

static zealot
#

now you know

ocean quartz
forest pecan
#

it seems as if that all the items being spit out are just random

#

right

surreal quarry
#

perhaps

static zealot
forest pecan
#

Yeah

obtuse gale
#

,jameS

#

AAAA

surreal quarry
#

hi

obtuse gale
#

How's it been

static zealot
#

2 purple boys

onyx loom
#

cute

surreal quarry
#

imagine being orange

surreal quarry
onyx loom
#

couldnt be me

minor oracle
forest pecan
#

the video actually recommends intellij

#

Lol

obtuse gale
#

especially now that you're here

serene cave
#

How could thy

surreal quarry
#

exactly

minor oracle
#

Someone offended the bald orange man.

serene cave
#

Shut up dead man

obtuse gale
#

That's his problem

minor oracle
obtuse gale
#

A new Minecraft snapshot is out: 1.17-pre4

#

Woooo

#

Idek what it has

surreal quarry
#

good java version

obtuse gale
#

kekkk

ocean quartz
#

Only change lmao

obtuse gale
#

for fucking real

#

bug fixes?

ocean quartz
#

13 bug fixes

obtuse gale
#

1% battery πŸ₯²

#

b quick

ocean quartz
obtuse gale
#

Lmao that last one

#

Poor C418

surreal quarry
#

F

obtuse gale
#

"Wed Developers"

old wyvern
#

Minecraft 1.17.1 - The Credits Update (Now with 15 minutes of extra credits!)

ocean quartz
#

What exception do you normally throw on util classes' constructor again? I forgot how to Java

obtuse gale
#

Speaking of typos I found a typo today in mC's code in an exception message lol

surreal quarry
#

create a new exception

obtuse gale
#

"synhc"

old wyvern
#

mC?

obtuse gale
#

MC*

old wyvern
#

oh

obtuse gale
#

MH*

old wyvern
#

lol

obtuse gale
#

h

old wyvern
#

Wha?

#

uh

#

MethodHandles?

obtuse gale
#

Never mind I need help πŸ₯²

old wyvern
#

lol

ocean quartz
obtuse gale
#

I tend to throw UOE

forest pecan
#

piggy forces people to throw assertionerror

#

or extend it

#

idk why lol

obtuse gale
#

Huh?

forest pecan
#

yeah

#

when i first applied for dev role

old wyvern
#

Shouldnt be an exception tho

forest pecan
#

he told me to extend assertionerror

obtuse gale
#

he doesn't force you to

old wyvern
#

That just how he writes

forest pecan
#

he tells people then 🌚

old wyvern
#

I dont think he asked anyone to use that

#

He just mentioned that he uses that

#

I just drop a private constructor and leave it at that ussually

forest pecan
#

Β―_(ツ)_/Β―

old wyvern
#

That seems to be becuase you're throwing your own exception in that case

#

This should be an Error

#

not an Exception

#

Shouldnt be handled

prisma wave
#

surely AssertionError is the wrong type altogether, it should be something like UnsupportedOperationException no?

old wyvern
#

No since exception implies its something that could possibly be caught and handled

prisma wave
#

Hmm

onyx loom
#

meh just leave it as a private constructor

static zealot
forest pecan
#

im a developer

#

wdym

#

lol

old wyvern
#

He got the role

#

lol

forest pecan
#

that was months ago

#

xD

static zealot
#

oh nvm then

old wyvern
#

Have you reapplied blitz?

static zealot
#

lmao

forest pecan
#

Lol

static zealot
#

some time ago. got rejected yesterday ot 2 days ago

#

forgot

old wyvern
#

oh rip

static zealot
#

got rejected 2 times actually since I applied 2 times xD

ocean quartz
static zealot
#

yeah. both of them

ocean quartz
#

It was a bug with Barry

forest pecan
#

wait why lol

static zealot
forest pecan
#

sure

old wyvern
#

Matt denied blitz of his role

#

sad

#

xD

forest pecan
#

wait wtf

#

github changed the kotlin

#

color

#

its not orange anymore

old wyvern
#

Kotlin's color changed pulse

forest pecan
#

Ahh

static zealot
#

BountySystem

  • Your BountyHandler should not be just top level functions/properties, specifically never have a mutable top level property (BOUNTIES_LIST), this should be all encapsulated into its own handler (and don’t expose the list). (BountyHandler.kt)
    Watch out for catching Exception try catching specific exceptions instead. (Database.kt)
  • The first issue also applies to ConfigHandler, encapsulate the data, don’t make all of this top level. The same way you wouldn’t make this all static either in Java.
  • Use a StringBuilder for your TimeFormat.kt, instead of the huge amount of concatenations you have.

RandomTeleport

  • Again avoid using top level for mutable properties, if you want audiences to be top level, make it a constant and use JavaPlugin#getPlugin instead, the lateinit to something top level is dangerous.
  • Everything I said about the first plugin about top level functions/properties applies to this.

The only big issue with your code is the miss use of top level, imagine using a singleton for every data handling classes, you wouldn't do that in Java either, review this issues and re-apply and I'll accept it.

forest pecan
#

ic

old wyvern
ocean quartz
#

Blitz your's is easy fix you could fix in a dew minutes and reapply and I'll accept

static zealot
#

btw @ocean quartz formats don't work

#

bcz the message is inside codeblocks

#

just so u know

forest pecan
#

do you know who reviewed it Matt

#

was it piggy

#

lol

old wyvern
#

It was matt...

ocean quartz
#

Good to know

old wyvern
#

lol

static zealot
forest pecan
#

It was Matt?

#

Damn

#

Damn Matt

#

had to do him dirty

#

/s

#

xD

old wyvern
#

lmao

#

Bully matt

ocean quartz
#

I mean i have to

old wyvern
#

into submission

static zealot
#

hey if I really cared that much I would have spent the last 2 days fixing and reapplying. but I Don't care xD

old wyvern
#

All that hard work for #dead-chat

forest pecan
#

lol

static zealot
#

well its more for the role

#

bcz I can see the chat

#

xD

old wyvern
#

Yea, you already have access

#

lol

#

oh someone just made a role request

onyx loom
#

imagine not having that channel muted

obtuse gale
#

@Matt, who'd review a request with a project say in uh idk Lua? thonking

onyx loom
#

pig knows lua no?

#

i think, atleast he talks about it all the time

gusty glen
#

How does JavaPlugin#getPlugin work?

obtuse gale
#

Properly most of the time

gusty glen
#

I mean, I know I asked it, but it was not what I meant

prisma wave
old wyvern
#
public static <T extends JavaPlugin> T getPlugin(Class<T> clazz) {
        Validate.notNull(clazz, "Null class cannot have a plugin");
        if (!JavaPlugin.class.isAssignableFrom(clazz)) {
            throw new IllegalArgumentException(clazz + " does not extend " + JavaPlugin.class);
        }
        final ClassLoader cl = clazz.getClassLoader();
        if (!(cl instanceof PluginClassLoader)) {
            throw new IllegalArgumentException(clazz + " is not initialized by " + PluginClassLoader.class);
        }
        JavaPlugin plugin = ((PluginClassLoader) cl).plugin;
        if (plugin == null) {
            throw new IllegalStateException("Cannot get plugin for " + clazz + " from a static initializer");
        }
        return clazz.cast(plugin);
    }
gusty glen
#

I see

#

btw Matt can you check if I have a pending application for developer? I forgot if I already applied since I was rejected

humble silo
#

Does using the Kotlin DSL vs Groovy DSL make any difference? Im having issues mixing kotlin and java and wonder if that could fix it?

onyx loom
#

shouldnt make a difference there no

ocean quartz
obtuse gale
#

Well what about in X language no one in the review team really knows

#

lol

prisma wave
#

h

obtuse gale
#

Perhaps

ocean quartz
#

I do Kotlin, Lemmo does Java, WebRelated, Piggy does Java, and others, if none of us don't know a language it probably won't be reviewed idk

obtuse gale
#

F

ocean quartz
#

BM did Piggy assign you anything?

prisma wave
#

idk

old wyvern
#

Haskell!

prisma wave
#

i was just gonna do some of the ongoing ones atm

sly sonnet
old wyvern
#

Any programming language

ocean quartz
#

C's crack addict cousin

old wyvern
onyx loom
old wyvern
#

😌

#

Elara!

#

You forgot Elara

onyx loom
#

soonℒ️

old wyvern
#

Already!

onyx loom
#

whens the revamp coming to elara

old wyvern
#

Highest pying job of 2020-2030

prisma wave
#

yeah

#

haha

#

yeah

onyx loom
#

πŸ˜‚

old wyvern
#

bm

#

docs

#

when

onyx loom
#

that doesnt sound promising

old wyvern
#

πŸ₯²

onyx loom
#

😌

old wyvern
sly sonnet
#

it was an easy search on google

#

better luck next time

old wyvern
#

Thats not what im talking about dude

prisma wave
#

πŸ₯²

old wyvern
#

lol

ocean quartz
#

Lmao

old wyvern
#

Also matt, im about to commit a sin πŸ˜”

#

Maven plugin

winter iron
#

burn him at the stake

old wyvern
#

πŸ₯Ά

winter iron
#

public execution

old wyvern
#

The docs honestly seems worse than gradle

#

So I might give up after a bit idk xD

old wyvern
#

😫

dawn hinge
#

πŸ‘€

steel heart
#

I just realized unit testing in spigot is not really ideal

ocean quartz
#

It's awful

steel heart
#

I refactored all my code in veins then

ocean quartz
#

@onyx loom Progress 😩

onyx loom
ocean quartz
#

Why did i put this on a try catch? What is wrong with me

onyx loom
#

very necessary try catch

cinder flare
#

you live in fear Matt

#

fear of your own creation

ocean quartz
#

Ikr

#

I'm too dangerous to be left alive

steel heart
ocean quartz
#

Does anyone want to suffer?

errant geyser
#

what the fuck

ocean quartz
#

Yeah

steel heart
#

Matt

#

u

#

sin

ocean quartz
#

Not mine lmao

#

I'd kill myself if it was

lunar cypress
#

this is generated... right?

ocean quartz
#

I don't think so kek

onyx loom
#

atleast they commented it, because commenting is all that matters 😌

#

i will never understand how terrible-plugin turned out to be better than some other things out there

gusty glen
errant geyser
#

What's the best way to not send your credentials over the internet in base64 form in a request header when you have to

cinder flare
#

or see if they use tokens

#

an API I used only allowed base64 user+pass, no tokens

errant geyser
#

This is not going to be fun

lunar cypress
#

well that's just basic auth for you

#

still very widely used

#

as said with TLS it's as breachable as any other authentication method

cinder flare
#

if only api's used pub/priv key πŸ₯²

errant geyser
#

Thing is... i need to send a request every time someone clicks a button on a website, hence
#development message
Yikes.
Time to change that username and password to something random I suppose

cinder flare
#

oh wait do they not give you a token?

#

usually they make you authenticate every like, 30 minutes and give you a token

errant geyser
#

Not a clue

#

Doesn't seem like it

#

Starting to think I should look at using something else

#

ok yeah not using that πŸ™‚

lunar cypress
#

You have this problem everywhere

#

You can't just call APIs using your credentials in the frontend

#

doesn't matter which authentication method it uses

errant geyser
#

Yeah I'm not anymore. I'm also not using a self hosted ListMonk instance

lunar cypress
#

the only case where it wouldn't be immediately harmful would be something like oauth2

#

but even with that you should delegate to a backend

errant geyser
#

I am now

ocean quartz
#

The roller coaster of programming and procrastination is like art

onyx loom
#

😌

#

im with u matt πŸ₯²

cinder flare
ocean quartz
#

Wakatime

cinder flare
#

what does it do

onyx loom
#

track ur coding time

ocean quartz
#

Green is mf-cmds, as soon as i touch it i get bored and the graph goes down lmao

#

Blue is my core, had so much fun with the modular thingy

prisma wave
#

only issue with wakatime is it only records 2 weeks on free plan

#

So

#

I would suggest self hosting hakatime

#

(Guess what language it's written in)

ocean quartz
#

Yeah, and 9$/month is too much for this

#

Tried hakatime, didn't like it at all

prisma wave
#

its free Β―\_(ツ)_/Β―

old wyvern
#

Time to make a custom one???

#

Kakatime

#

πŸ₯²

ocean quartz
#

Kakatime lmao

#

Elaratime? blurryeyes

old wyvern
#

πŸ‘€

ocean quartz
#

Tries to be pure but gets tainted with js 😦

gusty glen
ocean quartz
#

Hakatime

onyx loom
#

HaskellWebℒ️

cinder flare
#

i mean you can't use haskell to define websites can you?

onyx loom
#

probably

#

lol

#

elm

prisma wave
#

Elm 😌 😌 😌 😌

#

oh I learned the other day that shellcheck is also written in haskell

#

Very cool

gusty glen
#

how bad would be to use KT companion object { val KEY: GoalKey<Villager> = GoalKey.of(Villager::class.java, NamespacedKey(JavaPlugin.getProvidingPlugin(FollowEmeraldsGoal::class.java), "follow_emeralds")) }

#

especially because of JavaPlugin.getProvidingPlugin(FollowEmeraldsGoal::class.java), I've never used it before but I see no reason why my custom goal couldn't have a "static" key, since they are all equal

obtuse gale
#

Yo @quiet depot what if someone presents a (dev) role request w/ projects in a language no one in the review team really knows?

quiet depot
#

denial

obtuse gale
#

Do they just

#

Oh

quiet depot
#

what lang

obtuse gale
#

That's sadge

#

idk I just thought about it earlier

quiet depot
#

we know lots of languages

prisma wave
#

I can review EVERY language

#

Proficient in: literally everything

obtuse gale
#

hm

quiet depot
#

can u review apl

prisma wave
#

sure

onyx loom
#

lmao

#

get johnny on the side for that

prisma wave
#

if they can actually write APL that works they probably deserve Dev role

half harness
#

how can i run code onto the main thread? im using coroutines to run a task every second... but then i get this with some actions: ```
java.lang.IllegalStateException: Not on FX application thread; currentThread = DefaultDispatcher-worker-3 @coroutine#1