#general

3141 messages · Page 83 of 4

left yacht
#

85~% usage if I only use data in the earlier half of your timings report and using all

limber knotBOT
#

So faster CPUs then?

left yacht
#

more efficient software or more powerful hardware.

#

I don't know what those command functions are for, so I'm not gonna suggest removing them

limber knotBOT
#

cmd functions?

#

You mean the start flags?

golden gust
#

Thing with CPUs is it depends on your goals, I would suggest looking into replacing your datapack functions that are always running or whatever they are

limber knotBOT
#

Just a headless server on Debian 9 GNU/Linux

left yacht
#

I don't use command functions so I have no idea what they are.

limber knotBOT
#

oh those are Aikars

#

Was for garbage collection and stuff

golden gust
#

No, that's irrelevant

#

You have something on your server that is consistently running a script from a data pack or something

limber knotBOT
#

could that be coreprotect?

#

electroniccat If you point it out Ill take a look at it

golden gust
#

Open your timings, and there is "Command Functions" listed on the front page

limber knotBOT
#

looking

#

I see it. Not sure what is causing that. ops:loop 9.17% and mhd:entity_checkeer 7.01%

ornate spindle
#

do you have a folder within one of your worlds that is called "datapacks"?

limber knotBOT
#

yup

#

something I should look for in there?

ornate spindle
#

did you install anything in there?

limber knotBOT
#

Yive yes a few small things like OnePlayerSleepV2_4.zip

ornate spindle
#

never ever use datapacks

limber knotBOT
#

Yive ok that was good to know

ornate spindle
#

I recommend getting rid of the datapack and installing the plugin into a plugins folder

left yacht
#

datapacks are less efficient than using a plugin basically.

finite wave
#

What is a datapack

limber knotBOT
#

Yive thx tons for that info.

ornate spindle
#

datapacks are basically mojang's scuffed version of a plugin api

#

it performs worse than skript which is amazing considering that is possible

limber knotBOT
#

heh

finite wave
#

What when was these added

ornate spindle
#

1.13

finite wave
#

Lol

#

I’ll make a plugin that deletes those. Fixed

#

I’ll name it antilag

limber knotBOT
#

thought you wrote a plugin called "faggot control" Jan? You were saying it fixes nagging and lag.

finite wave
#

Yes

#

It fixes everything

limber knotBOT
#

heh

finite wave
#

Do you need it?

limber knotBOT
#

meh thx tons but I might pass on that

#

ah right. Server was asking about if I could upgrade to 1.14. Told them I had no idea.

#

Any news on that?

left yacht
#

1.14 comes out tomorrow.

#

I'd wait at least a week

golden gust
#

Given that 1.14 isn't released yet...

left yacht
#

preferably more

#

before even considering

limber knotBOT
#

Yeah ill wait like 4 weeks

left yacht
#

their question

#

qxt, if you remove command functions from the look of it you'll be nearly 20tps again.

#

trim some entities and you should be fine 20tps with 15 players.

limber knotBOT
#

Ill look into that what is causing that. Guessing its CP though.

left yacht
#

coreprotect?

golden gust
#

plugins don't use command functions

left yacht
#

it doesn't cause TPS problems.

limber knotBOT
#

... hmmm what could.

golden gust
#

I'd suggest reading the mc wiki on what they are

limber knotBOT
#

I actually watched that long ass video with Aikar

left yacht
#

for timings?

limber knotBOT
#

yeah

left yacht
#

Command functions are different.

limber knotBOT
#

ah

#

oh wait... could dynmap cause that?

golden gust
#

It's not a plugin

limber knotBOT
#

what could then?

golden gust
#

Please go read the wiki and read what command functions are, otherwise we're going to be stuck in this loop of you suspecting it to be a plugin and us telling you it's not

finite wave
#

It is ACF confirmed

limber knotBOT
golden gust
#

"the mc wiki"

tropic flame
orchid epoch
unreal quarry
#

planks on @orchid epoch

ocean robin
orchid pelican
#
        DateTimeFormatter formatter = DateTimeFormatter.RFC_1123_DATE_TIME;
    formatter.format(infraction.getCreationDate().toInstant());

is there any reason i should be getting an UnsupportedOperationException with this?

#

I cant figure this out

crystal compass
#

man datapacks are so trash

orchid pelican
#

why the hell is my date object throwing this while converting, UnsupportedTemporalTypeException: Unsupported field: Year

wide hazel
limber knotBOT
#

(DiscordBot) A Language Creators' Conversation: Guido van Rossum, James Gosling, Larry Wall & Anders Hejlsberg - length 2h 47m 8s - 195 likes, 11 dislikes (94.7%) - 13,342 views - PyCascades on 2019.04.03

austere ivy
#

Functions are better than plugins, change my mind.

#

/s please don't hurt me

left yacht
#

🔫

upper flicker
#

sacrifice him to the pepe gods

cosmic raft
void void
#

whats irc link?

full silo
#

Minecraft server software is hard to make from scratch LOL

wide shoal
#

Is 6700k --> 7700k OC (OVH hardware) a good idea for improving performance?

merry talon
#

in that you get a slightly more performant CPU yes

#

but first think about what your actual problem is

#

optimize your servers, and if that doesn't work scale horizontally not vertically

grand pewter
#

haha can't wait for 1.14 tomorrow 😛

#

i haven't been keeping track if there are much breaking changes for plugins but it seems like craftbukkit already has a pre5 update so im guessing paper will come pretty quick too

limber knotBOT
#

most important breaking things might be rename of sign -> oak sign and stone slab -> smooth stone slab

orchid pelican
#

There’s a public beta ?

#

Where ?

limber knotBOT
#

no there is not

orchid pelican
#

Oh ok

static badge
#

hey z md69 has released pre 1.14 builds

#

can we get pre paper 1.14 builds

ornate spindle
#

so anyone know wtf happened between 1.8.8 and 1.12.2 to cause PlayerConnection to now use a ton of the cpu

static badge
#

got some profiler results?

ornate spindle
static badge
#

looks like it's doing a tick in the connection :>

ornate spindle
#

which is strange since you'd think it was doing that in 1.8.8 too

limber knotBOT
#

Is there a fix for the melon duplication glitch?

red halo
#

wat

ocean bison
limber knotBOT
#

ok, spigot has the 1.14 pre5 public

#

You can place a melon in your inventory crafting and get 9 out of it.

#

I'm running paper #622

#

Sry, I was misinformed. It turned out to be a plugin issue.

upbeat mason
grand pewter
#

nice so i guess spigot wanted to beat the official release for once

#

xD

ornate spindle
#

they had pre-release builds for 1.13 also

grand pewter
#

ah i guess so

#

although i feel like plugins will be able to update quicker this time

crystal compass
#

why bother with snapshots?

ember ravine
wide hazel
limber knotBOT
#

(DiscordBot) Sesame Street: Respect is Coming - length 1m 35s - 137,866 likes, 2,426 dislikes (98.3%) - 3,522,981 views - Sesame Street on 2019.04.18

wide hazel
#

Of all things

#

I absolutely never expected Elmo to show up in my game of thrones

limber knotBOT
#

Holy shit, std::string_view sv = s + "World\n"; allocates a new std::string, assigns a reference to it to sv, then throws the allocation so sv is a dangling pointer

static badge
#

hm?

void void
#

footgun

#

hello

#

sitting around doing nothing

leaden cloud
merry talon
#

okay so VSCode is taking upwards of one minute to reload properly after adding imports

#

this is infuriating

static badge
#

vscode :>

finite wave
#

Hope you are not using it for Java

merry talon
#

typescript

void void
merry talon
#

let me tell you if you ever think you have enough memory, open a node project with 1000+ dependencies in vs code

#

oh I thought I was exaggerating

#
yarn list | wc -l
>> 1628
void void
#

same same

#

every time smh

#

react boilerplate with ts is something near 1k-ish

void void
#

It’s just as bad in a JetBrains IDE isn’t it?

native thunder
#

Jetbrains IDEs really hate it when you have like 10+ modules. I have this one project with 30 modules in it and it locks my cpu at 100% for about 2 minutes after opening

stiff yarrow
#

anyone got pics of the new bamboo

limber knotBOT
#

so uh

#

i got this new macbook pro

#

where should i start 🤔

#

i grabbed iterm2 rn

stiff yarrow
#

pandas have facial expressions

limber knotBOT
#

wot

quasi valley
#

I like the sobbing one

blissful grove
vestal jasper
#

hi

#

leaf's dumb

livid echo
#

who

vestal jasper
#

@static badge

livid echo
#

oh

quasi valley
#

can confirm

ornate spindle
#

so with 1.14, it appears that they optimised chunks and lighting. I wonder what other things will be optimised in 1.15. I'm guessing entity ticking and maybe entity tracking

finite wave
#

Nah

void void
#

whad

finite wave
#

Idk i googled autist muslim

void void
#

so uhhhh

#

how do i get java 8 jdk on mac lol

#

my google-fu sucks today

stiff yarrow
#

adoptopenjdk

potent path
stray matrix
void void
#

ty @stiff yarrow! :D

olive garden
#

I just don't have the Java 8 JDK

#

I have the JRE, I can compile to Java 8 using JDK 11

terse trellis
terse trellis
#

do you know that fawe advertises you? :D

stiff yarrow
terse trellis
#

oh

#

my english

#

D:

void void
#

yes

#

ugh

#

this 10mbps internet drives me nutz

limber knotBOT
#

..

unreal quarry
#

RIP all those ppl still on 1.12 waiting for 1.14... seems their upgrade path includes running --forceUpgrade on 1.13 and then again on 1.14 ^_^

heavy rapids
#

well, upgrading the worlds should be possible on a server without plugins, right?

unreal quarry
#

No idea. I didn't do it last time. I started with a fresh world

#

Will likely start fresh again this time too

heavy rapids
#

didn't 1.13 get rid of spawn chunks?

unreal quarry
#

Seems cleaner

void void
#

i'll try 1.13 -> 1.14 this time

#

let's see if the migration is less fucky

upper flicker
#

should be a hell of a lot less to migrate

unreal quarry
#

Hey z, that also means 1.13 paper has to stick around, yeah? For the migration..

#

Can't have them use spigot 1.13 for the migration or they lose all the paper nbt

upper flicker
#

idk why you couldnt do it on 1.14 anywayt

#

its not like mojang just yanked all the conversion code

#

have to see

sonic kiln
static badge
#

it's cuz md69 made a post and he said so

upper flicker
#

ye thats great

#

we know he said so

#

talking about le why

static badge
#

am just saying he said so

#

also ur retarded

#

have I told you that recently

#

I don't think I have

#

need to reach that quota each day

finite wave
#

Wait

static badge
finite wave
#

@static badge Kicked ahhaha

void void
limber knotBOT
void void
#

UUID from playernames*

wide hazel
#

@ornate spindle don't forget redstone optimizations!

#

That was exciting to me

#

I mean, Theo did the work, but redstone has been needing a tune-up for a long while

#

So am still excite

slim nymph
#

BillyToday at 7:52 AM
RIP all those ppl still on 1.12 waiting for 1.14... seems their upgrade path includes running --forceUpgrade on 1.13 and then again on 1.14 ^_^

#

what are you talking about

#

that will not be the case

#

thats the ENTIRE point of data fixers

upper flicker
#

md made that comment in his release post

#

we have no idea why

slim nymph
#

...

#

fucking md

#

well if anythings broke well just fix it

upper flicker
#

I havent looked at what datafixers are new to 1.14

#

idk why you'd need to do that

#

its not like mojang should be getting rid of them

slim nymph
#

as theres no way in hell im ever using force upgrade

#

interesting, he deprecated CB

stiff yarrow
#

deprecated? Thonk

upper flicker
#

in his mind it'd been deprecated for some time

wide hazel
#

Yeah

upper flicker
#

he's just formalizing that

stiff yarrow
#

how do you deprecate something everything is downstream from peepoGiga

upper flicker
#

he's advising regular people not to use it

heavy rapids
#

I'm pretty new to the community side of paper, but from what I've gathered the relationship to md5 is, well, tense to say the least lol

upper flicker
#

which in turn will mean devs dont have to care about it

#

which is what he has always wanted

#

but hasnt been the case

wide hazel
#

I mean, people probably shouldn't use it

#

Worst of all worlds

upper flicker
#

I doubt he will ever get rid of it

#

having a middle ground thats just pure API impl (theoretically anyway) is pretty nice

#

he may make it stop building eventually in BT though

wide hazel
#

It's neither true vanilla nor is it optimized at all

stiff yarrow
#

I wouldn't mind CB disappearing if Spigot reverted the changes it made to vanilla gameplay

wide hazel
#

No point

#

If you want vanilla use mojang

stiff yarrow
#

🙄

wide hazel
#

If you want plugins it's not vanilla

stiff yarrow
#

egg that's a pretty contorted view of my statements

#

😛

proud mountain
#

heyo, is going from bungeecord to waterfall as easy as replacing the jar?

wide hazel
#

I mean, it's the truth :P

stiff yarrow
#

I would like the base game to be vanilla and plugins can modify which parts of it are not vanilla

proud mountain
#

ooo new channels

stiff yarrow
#

if the server is modifying it too then that's just weird to me

wide hazel
#

If you want that, use Paper

#

Lol

stiff yarrow
#

Paper isn't vanilla either though

#

Paper makes changes which affect vanilla gameplay

wide hazel
#

It's as vanilla as CB

upper flicker
#

no it isnt

stiff yarrow
#

egg are you high

wide hazel
#

Well

stiff yarrow
wide hazel
#

Close

stiff yarrow
#

you can go start a vanilla server and its like a monster cluster fuck

wide hazel
#

The idea of CB is plugins and an API

#

It might feel vanilla but it's really not

stiff yarrow
#

you're stretching what vanilla means

#

for no reason imo

wide hazel
#

Iunno, it seems to be the purist mindset

#

Which is where vanilla comes from

upper flicker
#

wanting something thats just vanilla gameplay + hooks for plugins to change it isnt that unreasonable

stiff yarrow
#

some people will want a server that is identical to vanilla sub plugin changes

#

as close to identical as it can be at least

upper flicker
#

from a development standpoint it also greatly helps testing and finding issues

wide hazel
#

I personally don't get it but I've had Disconsented drill it into my head enough that I understand

stiff yarrow
#

personally egg I'm one of those guys that favours vanilla gameplay with minimal changes, but I'm not a purist who wants it to be exactly 1:1 but I can understand that pov

#

CB doesn't really need to exist if Spigot was mirroring vanilla gameplay

wide hazel
#

I see the point of CB, but I can't call it vanilla

stiff yarrow
#

the important thing is context

wide hazel
#

Vanilla is mojang, and that's that

stiff yarrow
#

in this context I am saying the gameplay is more like vanilla Minecraft

#

of course if you start diddling with internals its hard to avoid divergence from vanilla gameplay

wide hazel
#

Yeah, the gameplay is pretty untouched

stiff yarrow
#

but for the most part CB is much closer to vanilla gameplay than spigot or paper

wide hazel
#

Not absolutely 100% though

#

Which is why I don't call it vanilla

#

Vanilla with a few chocolate chips is no longer vanilla

stiff yarrow
#

if Spigot intentionally tried to achieve vanilla gameplay then I think CB can disappear

#

but until then it should exist

#

I actually wouldn't mind spigot offering flavours of server software, similar to distros

#

one could be vanilla-like

#

the other could be performance tweaked

#

paper could do something like that too

upper flicker
#

you just described CB and Spigot

stiff yarrow
#

Spigot has additional API

#

which is stupid

upper flicker
#

most of it is from pre-CB

#

afaik he hasnt added anything new there

stiff yarrow
#

in my scenario both the software flavours would have the same API

upper flicker
#

the chat api is the one everyone wants to point out

#

and that api is dog shit

stiff yarrow
#

yes but its better than NMS

upper flicker
#

no one wants to step up and replace it in CB

void void
#

i bet he wouldn't accept the changes either

stiff yarrow
#

I'm surprised no one has

wide hazel
#

I think having a compatibility layer like CB is good for devs- not regular server owners

void void
#

it's like

#

his api

#

his kingdom

#

etc etc.

stiff yarrow
#

idk I don't think hes that attached to it

#

I think hes more concerned about breaking the API

#

than he is that its his api

heavy rapids
#

from what I gather public opinion about md5 is kinda mixed? :D

stiff yarrow
#

in md5s world backwards compatibility is king

upper flicker
#

I mean apparently he just removed some APIs he deprecated 3 months ago

stiff yarrow
#

you touch the text component api and you have committed a sin

upper flicker
#

thats a pretty quick turn around time

stiff yarrow
#

was it draft api?

upper flicker
#

nope

void void
#

nop

stiff yarrow
#

which API

upper flicker
void void
#

he's doing shit inconsistently again

worn ember
#

@upper flicker no u

upper flicker
#

nou

worn ember
#

owo

stiff yarrow
#

maybe this is the time to submit a replacement text component api

void void
#

kyoripowered/text pls

wide hazel
#

sigh

#

this is my day, today

#

just filled with quizzes like this.

#

should have tested out

#

trick question. Answer is actually "Python is dumb and doesn't concat ints and strings"

#

you have to convert it to a string first

#

EVEN THOUGH IT'S A DYNAMICALLY-TYPED LANGUAGE

#

because fuck your logic

#

https://i.imgur.com/sRzmbi2.png
this one is just dumb. Two technically correct answers- one would just make more sense depending on context. Who knows, maybe you want to floor the result?

#

woo boy. Haven't even started and already my salt levels have peaked

heavy rapids
#

what kind of quiz is that

wide hazel
#

intro to programming

heavy rapids
#

college course?

upper flicker
#

pretty sure its still strongly typed

void void
#

how do plugins add a prefix to their logger? I use Bukkit.getLogger.

wide hazel
#

myVar = "Hello!"
myVar = 123
Works

heavy rapids
#

You use the logger from the plugin instance

upper flicker
#

thats static vs dynamic typing

#

not strong vs weak

wide hazel
#

I said dynamic 😛

upper flicker
#

yes its dynamic and strong

#

types still exist

wide hazel
#

ah

#

yeah, gotcha

heavy rapids
#

I'm glad I got thru university without ever having to take an online quiz

void void
#

@void void why are you using Bukkit.getLogger()...

heavy rapids
#

all these pearson input evaluation memes on reddit

void void
#

plugins have their own logger instance available via getLogger()

#

or this.getLogger()

#

see JavaPlugin#getLogger()

wide hazel
#

I just don't understand why, in a dynamic language, you need to specify a string in order to concat with another string. I get it's strong typing, but the fact that it doesn't convert is kinda dumb

fossil torrent
heavy rapids
#

well, python has the notion of being more explicit than implicit sometimes

wide hazel
#

dynamic + strong typing is kinda dumb

#

honestly

#

recipe for disaster, but VERY easy to write little basic scripts with

#

so I suppose it fits Python well

void void
#

wait, so you don't understand why int + str does not work?

heavy rapids
#

still I abhor python because of PEP8's line width constraint combined with 4 space indents

wide hazel
#

I understand it on a technical level, but I mean Java allows it. And C#. And most other high-level languages

upper flicker
#

I think you can 'declare' types

#

but they're more like hints in python

void void
#

but in classes where plugin isn't accessed isn't Bukkit.getLogger fine then?

upper flicker
#

as in the linter might care but the runtime doesnt

wide hazel
#

yeah, just hints

#

I looked into it

void void
#

@void void well technically no

wide hazel
#

it's also not in the PIP8 standard

void void
#

no idea why the fuck it is exposed at all

wide hazel
#

so

void void
#

alright then.

#

use JavaPlugin.getPlugin(YourPluginClass.class).getLogger()

#

if someone uses custom log4j config to spit out logger names then that's going to end up fucky if plugins use Bukkit.getLogger()

#

...like me

#

is it good practice to get stuff from class name?

wide hazel
#

I use log4j

#

or do I use that other logger?

#

iunno

#

one of them

#

both are better than getLogger

void void
#

well, both slf4j and jul loggers delegate to log4j

#

in bukkit

wide hazel
#

slf4j, that's the one I use I think

#

nicer API

void void
#

yeah

#

alright

wide hazel
#

getLogger isn't quite flexible enough

void void
#

wdym by class name

#

@void void

#

the example i gave you?

#

yeah

#

well that method isn't there for nothing

#

other way is getting plugin class instance from plugin manager and casting, but that gets annoying

#

I just get a bit confused because some times i get recommendations on passing the plugin as arguments but then I can also grab it like you just shown.

#

argument*

heavy rapids
#

Singleton access works, too, but requires making your plugin keep a static reference of itself

void void
#

yeah that works too

#

passing arguments down works too but gets annoying when you pass different things down the constructor

#

okey

#

one way is to use DI, but if you're beginner/doing small plugins then don't really bother

#

DI stands for?

wide hazel
#

Don't forget about service locator!

#

SL > Singleton is most cases 😛

heavy rapids
#

service locator?

wide hazel
#

learning!

heavy rapids
#

intent/motivation looks good, gonna look into it

static badge
#

so it's basically a singleton

wide hazel
#

nope, entirely different design pattern

#

can do the same things a singleton can, but it can do more and its design is entirely different

#

just because it can fulfil the same purpose doesn't mean it's the same thing, though

static badge
#

it looks like it's moved the instance to another class

limber knotBOT
#

should the paper 1.14 pre5 branch be buildable?

wide hazel
#

kinda

static badge
#

I wouldn't call that something significant at all

wide hazel
#

the SL keeps track of things provided to it, then provides them to things that request them

#

one of the neat features you can do with it is utilizing interfaces

heavy rapids
#

Looks like Bukkit's services

eternal steeple
static badge
#

you mean basically all it does is shove your singletons into one class

#

the fuck you going to do with two instances of one service when by design there's really only one made to use?

wide hazel
#

ProductionAudioEngine implements IAudioEngine
LoggingAudioEngine implements IAudioEngine
NullAudioEngine implements IAudioEngine

you provide one of those three at that start of the project, then all throughout the project you pull IAudioEngine and use that. The SL provides whatever concrete that interface has

static badge
#

there is literally no point to this SL name other than retarded cancer

wide hazel
#

you change the engine once at the beginning of the project and youre set for the rest of the project

pulsar wigeon
#

i mean you can do that with singleton

static badge
#

it's a singleton provided by another class

wide hazel
#

it's decoupling

void void
#

@void void dependency injection, see guice & dagger

pulsar wigeon
#

a singleton doesn't have to provide itself as an instance

heavy rapids
#

looks like a good pattern in general, but in my eyes it's overengineered for something like log access

wide hazel
#

you can do that with a singleton, but you'd need to replace instances throughout the project

pulsar wigeon
#

it can provide a subclass as itself too

#

you don't have to, you can just set it once at the beginning

#

just like you said

ember narwhal
#

How 1.14

static badge
#

god is this the bullshit being taught to cs students

wide hazel
#

"How 1.14"

static badge
#

hope not cuz this is fucking retarded

wide hazel
#

nice.

slim nymph
#

egg82 ❄Today at 10:13 AM
I just don't understand why, in a dynamic language, you need to specify a string in order to concat with another string. I get it's strong typing, but the fact that it doesn't convert is kinda dumb

oh boy you must have never used php or js

void void
#

.eta

limber knotBOT
#

Anyone requesting an ETA will be fed to goblins.

ember narwhal
#

👺

wide hazel
#

I have used PHP, and it's equally dumb 😛

heavy rapids
#

@static badge I can only talk for my uni, but we only glanced over the GoF

wide hazel
#

Laravel is nice

slim nymph
#

your exact statement is why people bitch and moan about js

wide hazel
#

yyyep

#

lol

slim nymph
#

js trying to do what you said it should do is what messes up

wide hazel
#

I don't blame them

slim nymph
#

its good that python ISNT doing that

heavy rapids
#

and the prof told us to look up some if we really wanted to

pulsar wigeon
#

you mean [] + {} and {} + [] aren't intuitive?

wide hazel
#

then "when to use it" section is good

heavy rapids
#

wasn't there a javascript code made from brackets that prints hello world?

wide hazel
#

I mean, the entire thing is good

#

and entertaining

#

but the top sections; "motivation" "when to use it", etc are the most important

static badge
#

I don't see what about its argument makes it better or different from a singleton

wide hazel
#

design patterns are tools. Use them when appropriate

pulsar wigeon
#

k 👌

#

thanks for lecturing me

wide hazel
#

SL isn't a replacement for Singleton

static badge
#

I'm simply pointing out this design pattern is retarded and already exists

wide hazel
#

it's an additional tool

slim nymph
#

Service locator "pattern" is same thing as singleton with a setInstance

#

but honestly setInstance is better than SL

#

no hashmap lookups needed

pulsar wigeon
#

that's what i said aikar

heavy rapids
#

B-bUt My O(1)

static badge
#

like in the end you can literally use your head if singleton is sorta getting in your way

wide hazel
#

you can get a SL to O(1) lookup

static badge
#

you do not need some fucking niche in a niche pattern

heavy rapids
#

O(1) is worse than using a reference tho

#

(in that case)

slim nymph
#

O(1) compexity is not the same thing as single JVM Op code vs like 30+

heavy rapids
#

at least for high frequency

pulsar wigeon
#

technically hashmaps aren't O(1)

wide hazel
#

it's slightly slower than a reference, sure

pulsar wigeon
#

:^)

heavy rapids
#

amortized O(1)

#

._.

pulsar wigeon
#

it's not even amortized

wide hazel
#

it's O(1) enough 😛

pulsar wigeon
#

it's expected case

#

amortized is like tree balancing

slim nymph
#

Foo.getInstance() is going to guaranteed get inlined. hashmaps are going to drain the inlining threshhold

pulsar wigeon
#

hashmaps, if they have a collision, will ALWAYS have that collision

wide hazel
#

it's as O(1) as you can reasonably get when coding in the language

heavy rapids
#

wasn't a hashmap with rehashing amortized O(1) ? 🤔

pulsar wigeon
#

rehashing

#

do standard hashmaps in java actually do this?

slim nymph
#

yes

heavy rapids
#

no idea

static badge
#

on resize obviously

pulsar wigeon
#

not on resize

#

i mean, if they detect enough collisions

slim nymph
#

well, yes it only rehashes on size growth

static badge
#

no they don't rehash otherwise

pulsar wigeon
#

right ok

static badge
#

only on resize

pulsar wigeon
#

so my point stands

static badge
#

rehashing is pointless given the hashmap impl

wide hazel
#

you can buy the e-book but they provide this free HTML version

vestal jasper
#

So let's say I'm retarded. What is O(1)

cedar spade
#

oNe PoInT fOuRtEeN wEn

pulsar wigeon
#

this guy never took CS

static badge
#

constant-time

vestal jasper
#

Correct

pulsar wigeon
#

look up Big-O notation

#

or algorithm complexity

static badge
#

if you took math you'd be able to figure it out

vestal jasper
#

I'm completely self taught peepoJuice

pulsar wigeon
#

it's short hand for "this algorithm will never take more than constant time"

static badge
#

ur also completely

#

retarded

wide hazel
#

it's a general idea of time/complexity, but doesn't actually mean "how much time something will take"

pulsar wigeon
#

O(n) = worst case linear, O(n^2) = worst case n^2, etc

static badge
#

the expression in O(expression) is how the function scales given an input

pulsar wigeon
#

there's other notations for lower bounds and so on, but programmers usually don't care about those

vestal jasper
#

Gotcha

static badge
#

in this case n = entries in your hashmap

wide hazel
#

big-O notation

pulsar wigeon
#

only theory CS people do

wide hazel
#

oh, wiz already said it

pulsar wigeon
#

yea i did

wide hazel
#

also look up bogosort. Hilarious.

heavy rapids
#

I once designed an algorithm with provable lower bound O(2^(n^n))

wide hazel
#

or bogobogosort

heavy rapids
#

that was fun

wide chasm
#

Look up quantumsort

wide hazel
#

lol

pulsar wigeon
#

wtf for

#

O(2^(n^n))?

heavy rapids
#

some network state bruteforcing thingy

pulsar wigeon
#

bruteforcing

#

that's not how lower bounds work?

#

did you prove it was impossible to do without bruteforcing

wide hazel
#

big-o is upper-bound iirc

heavy rapids
#

Well, the problem was something like "generate all possible follow-up states for n components"

pulsar wigeon
#

or just that bruteforcing was omega(2^(n^n))

heavy rapids
#

and the output was of size at least c * (2^(n^n))

#

so -> nothing below O(2^(n^n))

#

otherwise you couldn't write all the output :^)

pulsar wigeon
#

O means upper bound again

heavy rapids
#

big theta

#

blame my keyboard :D

pulsar wigeon
#

Ω

heavy rapids
#

that's omega

#

not theta

#

I mean the O with the bar inside

pulsar wigeon
#

that's not lower bound tho

heavy rapids
#

yeah

#

it's exact bound

pulsar wigeon
#

so why did you say lower

heavy rapids
#

Because I studied all that in another language and my english sucks

#

^^

#

(also I'm currently being eaten alive by monsters in starbound so my attention for thinking about things suffers as well :P)

wide hazel
#

alrighty, so now that I'm done with this damned quiz, how exactly would you decouple the codebase from ProductionAudioEngine with a Singleton?

#

SL would have the rest of the codebase get "IAudioEngine" and they would all use the interface

pulsar wigeon
#

singleton would do that too

wide hazel
#

with a Singleton, you'd have the rest of the codebase calling ProductionAudioEngine.getInstance

pulsar wigeon
#

???

#

what

wide hazel
#

which is not decoupling

pulsar wigeon
#

no

#

you'd have IAudioEngine.getInstance()

wide hazel
#

well, then how would you do it with the pattern?

pulsar wigeon
#

except it's bad form to put instance method on interfaces

wide hazel
#

IAudioEngine is an interface

#

hence "I"

pulsar wigeon
#

so you'd probably make it an abstract class or something

#

or just an actual class

#

and your subclasses would still be subclasses

wide hazel
#

you'd make an AbstractAudioEngine, then have a getInstance and setInstance?

pulsar wigeon
#

nah, i'd just have AudioEngine

wide hazel
#

seems a little messy?

pulsar wigeon
#

why?

#

no?

static badge
#

cuz it doesn't have a name for its specific use

wide hazel
#

each class would extend the abstract

pulsar wigeon
#

vs implementing the interface?

#

what's the difference?

static badge
#

how is that more messy than implementing an interface

pulsar wigeon
#

(hint, since java 8, nothing)

cedar spade
#

“I always prefix normal classes with C and enums with E so I don't need to prefix interfaces with I” thinksmart

pulsar wigeon
#

LUL

wide hazel
#

just "smalls bad" having an abstract as a singleton that you'd also set the concrete inside of

static badge
#

until you can find an argument against it that isn't "lol this is a pattern and it's better" :>

pulsar wigeon
#

i mean, with SL you need the "locator" object to do that all for you

#

it's not like your interface is doing the work either

#

you still need some locator object

#

in singleton, the singleton is the locator

wide hazel
#

might be personal preference I suppose, but shoving a concrete inside its abstract is just strange to me

#

I always think of abstracts as something to build off of

#

not to use in production code

#

well, in the rest of the codebase

#

you get what I mean

static badge
#

is that the philosophy that led to Optional<Boolean> tristate? :>

void void
#

mfw optional boolean

wide hazel
#

best idea I had at the time without throwing exceptions

void void
#

@Nullable Boolean boolean;

wide hazel
#

I don't use annotations

#

I should

#

but I don't

void void
#

or in kotlin, val boolean: Boolean? = null

#

lul

static badge
#

yeah no don't use nullability annotations :>

pulsar wigeon
#

@Nullable Optional<Boolean> bool;?

static badge
#

document it and call it a day

void void
#

wow level up wiz

pulsar wigeon
#

that's a 5 state boolean i think?

#

or is that 4

static badge
#

4 dumfuk

wide hazel
#

math is hard

pulsar wigeon
#

null optional, empty optional, null boolean, true/false?

#

oh

static badge
#

null, optional null, false, true

pulsar wigeon
#

empty and null opt is same

#

since empty checks null right

static badge
#

this is why optionals are retarded

#

it's just null renamed :>

pulsar wigeon
#

but mah NPEs

static badge
#

god if anything kills me it'll be the cancer that's yet to come

wide hazel
#

anyway, back off of Spotted'd ad-hominem/strawman there- personally I feel better using an SL for something like that AudioEngine problem while a Singleton would be more useful for getting a logger

heavy rapids
#

mh

#

you could stack it like Optional<Optional<Boolean>>, I guess

static badge
#

yet to see that but I'd love to

pulsar wigeon
#

:oof:

heavy rapids
#

private Optional<Optional<...Boolean...>>...>> myByte

void void
#

wait you can

#

put annotations between < and >

static badge
#

yes

#

you can apply to the type

heavy rapids
#

annotated type parameters are a thing iirc

pulsar wigeon
#

yup

static badge
#

demon boy ranted about that a time ago

#

see multidim arrays

wide hazel
#

lol

void void
#

@Nullable Optional<@Nullable Optional<@Nullable Boolean>> myOptionalOptionalBoolean;

heavy rapids
#

null optional == empty optional

pulsar wigeon
#

huh?

void void
#

wrong

#

it's just null optional

#

it's neither present or empty

olive garden
#

@Nullable doesn't seem to work for generics

#

meaning it doesn't show up

pulsar wigeon
#

nullable doesn't declare TYPE_PARAMETER as a valid target

#

:|

heavy rapids
#

Optional<@Nullable Boolean> vs Optional<Boolean> shouldn't make a difference

void void
#

depends on a nullable annotation

heavy rapids
#

as passing null would make the optional empty

pulsar wigeon
#

the point is to make the declaration dumb

heavy rapids
#

if it even worked

pulsar wigeon
#

not to introduce additional states

void void
#

we're like

#

memeing here

olive garden
#

replace Optional with Consumer and then you have a real thing

void void
#

not doing some srs biznez

heavy rapids
#

oh I thought we were reinventing ints

#

¯_(ツ)_/¯

void void
#

also let's make that consumer return nullable optional lul

olive garden
#

no, that's tomorrow's plan

wide hazel
#

if we wanted to re-invent ints we could just use nullable byte arrays

heavy rapids
#

couldn't we also use type bounds?

olive garden
#

Let's please not make consumers return stuff :D

heavy rapids
#

? super Boolean

void void
upper flicker
#

A consumer that returns stuff isnt a consumer

#

its a function

wide hazel
#

consumer
returning something
yeah, I agree with this

upper flicker
#

why would you

#

I dont

#

twitches

wide hazel
#

I mean, even a consumer has to shit somewhere I guess

#

lol

#

I dropped my /s @upper flicker

pulsar wigeon
#

consumer that returns something by setting an instance variable in it's anonymous class declaration thinksmart

wide hazel
#

and now he's dead

heavy rapids
#
public class HiMyNameIsDave<T> implements Consumer<Boolean> {
    public T accept(Boolean b) { ... }
}

👌

#

Except that my compiler commits suicide after seeing this

wide hazel
#

somewhere, in prod code, this exists

#

probably a plugin

void void
#

also checked exceptions

#

let's make backing code throw exception whether boolean should be true/false/null

#

and according to that let's return nested optionals

olive garden
#

oh, you think Booleans only have 3 states?

heavy rapids
#

at least it's not like with C++

#

where templates are turing complete iirc

olive garden
#

guess what, there are Boolean instances that equal neither Boolean.TRUE, not Boolean.FALSE and or not null either

pulsar wigeon
limber knotBOT
#

(DiscordBot) CppCon 2018: Hana Dusíková “Compile Time Regular Expressions” - length 54m 48s - 201 likes, 6 dislikes (97.1%) - 6,163 views - CppCon on 2018.10.24

heavy rapids
#

Boolean.FILE_NOT_FOUND

olive garden
#

well, by equal I meant reference equal

void void
#
public <T extends Boolean> @Nullable Optional<@Nullable Optional<@Nullable Boolean>> get_result() {
    try {
        throw new IOException("TODO: implement this");
    } catch(Throwable e) {
        return null;
    }
}
heavy rapids
#

lowercase underscore separated

#

brb

#

gonna kms

olive garden
#

Do you mean org.apache.commons.lang.NotImplementedException?

pulsar wigeon
#

oh

#

reference equal

olive garden
#

yeah, sorry

pulsar wigeon
#

you corrected that

quasi valley
#

oh no

#

it's out

void void
#

what

#

1.14?

quasi valley
#

ye

void void
#

WHEN PAPER 1.14 REEEEEEEEEEE

#

the 1.14 is going out

heavy rapids
#

@void void PR: add a string parameter to customize the exception message

quasi valley
#

WEN PEIPA

void void
#

ETA WHENNNNNNNNNN

heavy rapids
#

.eta

limber knotBOT
#

Anyone requesting an ETA will be fed to goblins.

heavy rapids
#

?

odd peak
heavy rapids
#

first person to ask for an ETA?

quasi valley
#

we'll feed you to the goblins instead

void void
#

@heavy rapids pr rejected, you forgot to sign the CLA

heavy rapids
#
CLA of "Bad code 2k19"

1. I agree to sacrifice my firstborn on the day of the advent of the dark lord belzeloth to praise and honor our master mikroskeem.
2. I agree to agree to agreeing to this agreement.
3. §3 is a lie.

2019-04-23, LordKorea, the Internet.

Happy now?

void void
#

seems like CLA is signed, PR can be merged now

wide hazel
#

snake case belongs in snake languages

void void
#

Merge conflict: try rebasing your PR on top of latest changes

heavy rapids
#

Comment on PR: can you not just force push? its the first result on SO for this question

unreal quarry
#

How you think I feel, mikro, with 20 open PRs

#

Pretty sure they all need to be redone lol

pulsar wigeon
#

your mistake was making PRs just before big version drop

heavy rapids
#

where do I find the update blog

#

why is it so unintuitive

#

help me

void void
#

@heavy rapids force pushed, our devops runs with an fire extinguisher in production server room because of you

wide hazel
heavy rapids
#

tell them to run git fire

pulsar wigeon
#

are there even official update noets?

#

i thought they just make random tweets and the community compiles them

heavy rapids
#

@wide hazel there's a double space after "an" in the first prompt, can't unsee

wide chasm
#

There are update notes, yes

void void
#

oh man it's going to take another hour

unreal quarry
#

wiz, some of those PRs date back 7-8 months

#

^_^

heavy rapids
#

@void void I like how you sneaked your favorite part of the CLA into the screenshot

void void
#

coincidence :p

native thunder
#

Billy doesn't believe in pr hell. He just stacks prs until he gets out

pulsar wigeon
#

like i said billy

#

right before a big update :^)

wide hazel
#

hah

#

more PRs = better

#

always

unreal quarry
#

8 months too close. Damn. Will go for 9 next time

heavy rapids
#

can someone point me to the official update notes? I can't find them in the clusterfuck that is minecraft.net

unreal quarry
#

Need full term PRs, none of these preme's

#

runs

pulsar wigeon
#

wtf was that

void void
#

deleted

void void
#

ughh

pulsar wigeon
#

you can delete those messages?

hard lake
#

where papermc 1.14 bruh

void void
#

irc here i come

heavy rapids
#

thx <3

void void
#

yeah where's paper 1.14

#

riot if no 1.14 in 5 mins

hard lake
unreal quarry
#

sets mikro on fire

pulsar wigeon
#

what i want to know is wtf happened to travel agents

wide chasm
#

TravelAgent got removed

coarse urchin
#

Paper has beltrayed us

pulsar wigeon
#

well clearly

heavy rapids
#

"Too much of a maintenance burden" == "It broke and we did not care enough to fix it"

void void
#

hits @unreal quarry so that he catches fire as well

glad smelt
void void
#

ha minecraft logic rules

unreal quarry
#

They were there in 1.13... maybe it's one of those things md_5 doesn't understand so he just removed thrm

pulsar wigeon
#

they weren't even deprecated

native thunder
#

What's a travelagent?

pulsar wigeon
#

allows you to figure out when nether/end portals are going

#

(and change that)

golden gust
#

.g xkcd 1186

limber knotBOT
olive garden
#

Do you mean the travelling salesman problem? /s

cosmic raft
#

having fun with 1.14?

golden gust
#

Wrong wone...

#

.g 1168

wide hazel
#

https://i.imgur.com/gYoAqVC.png
Why would you not just have "str = input" at the start of the while loop instead of duplicating it? This is the second time I've seen this happen and I'm starting to thing that wasn't an accident

limber knotBOT
#

(DiscordBot) https://en.wikipedia.org/wiki/1168 -- 1168 - Wikipedia: "Year 1168 (MCLXVIII) was a leap year starting on Monday (link will display the full calendar) of the Julian calendar. Events[edit]. December 22 –..."

Year 1168 (MCLXVIII) was a leap year starting on Monday (link will display the full calendar) of the Julian calendar.

golden gust
#

This is going good

#

.g xkcd 1168

limber knotBOT
pulsar wigeon
#

eh

#

tbh the basics are easy

native thunder
#

Tar's gotten easier

heavy rapids
#

`tar xvf <filename>"

#

tar got revamped a while ago

pulsar wigeon
#

"valid command" is the only restraint there

wide hazel
#

"tar --help"

heavy rapids
#

now you don't need to know the flags

pulsar wigeon
#

you mean "tar /?" egg?

heavy rapids
#

REEE

pulsar wigeon
#

:^)

wide hazel
#

lol

heavy rapids
cosmic raft
#

--help is a thing

wide hazel
#

did they not implement --help?

native thunder
#

tar -xf [file]

wide hazel
#

they should have

pulsar wigeon
#

/? is a windows command prompt thing usually.

native thunder
#

I don't remember when they changed the flags but they're easier to remember now

wide hazel
#

--help is valid

cosmic raft
#

works fine

pulsar wigeon
#

that was the joke

wide hazel
#

I know, but it did say UNIX 😛

pulsar wigeon
#

🤦

cosmic raft
wide hazel
#

I wasn't the only one confused about your delivery, there

#

fuck if we know @heavy rapids lol

heavy rapids
#

ik just jk

wide hazel
#

"today"

#

😛

heavy rapids
#

I hope there's a livestream of the update process

wide hazel
#

for Paper?

#

Aikar might, actually. He's done it for 1.12 and 1.13 now

unreal quarry
#

Z and cat said they wont

wide hazel
#

suppose I wouldn't be surprised

unreal quarry
#

Bad intarwebz

golden gust
#

Yea, My upload literally can't cope with my screen size :L

heavy rapids
#

b-but muh community interaction

cosmic raft
#

yeah cat is in the UK

wide hazel
#

can't guarantee anyone will, but I wouldn't be surprised if Aikar did is all

cosmic raft
#

their upload is like 0.00043mbps

velvet stag
native thunder
#

It's the rain. Saps away their upload

upper flicker
#

the more time I spend interacting with the community the less I want to interact with the community

golden gust
#

lol

hard lake
#

does spigot 1.14-pre5 work with 1.14 full release?

finite wave
#

🤷🏼‍♂️

native thunder
#

See wifi doesn't travel well in the rain

golden gust
#

Probably not

native thunder
#

So that's why the UK's speed is so slow

#

It's kind of like smoke ya know?

#

It all gets trapped at the ground

olive garden
#

I seem to get better signal strength in snow though

golden gust
#

There is actually some fun truth to that because of how most broadband services are actually just shitty DSL

native thunder
#

They need to scoop up the wifi using buckets and pour it back into the routers

olive garden
#

well, not in snow

#

but when there's snow around

upper flicker
#

now all I can think about is IP over smoke signal

golden gust
#

(DSL on an infrastructure of copper which hasn't been replaced in a good few decades)

native thunder
#

I have a dual DSL line that's joined at my modem

wide hazel
#

IP over carrier pidgeon

heavy rapids
#

wasn't that RFC'd?

wide hazel
#

yep

heavy rapids
#

nice

#

HTTP 418

wide hazel
#

teapot

heavy rapids
#

is also great

wide hazel
#

doesn't brew coffee

safe tide
#

did I read the spigot announcment right it sounds like md got butthurt people were using craftbukkit'

wide hazel
#

also "halt and catch fire" and "printer on fire"

native thunder
#

Storage over DNS

heavy rapids
#

oh yeah, HCF

#
_: cli
hlt
jmp _
wide hazel
#

there's actually storage over ping

native thunder
#

DNSFS

wide hazel
#

it's a thing

#

it exists

#

you constantly ping boxes and store data like that

heavy rapids
#

but why

wide hazel
#

there's even programs for it

#

why not?

#

it's dumb and I love it

heavy rapids
#

fair enough

void void
heavy rapids
#

but can it run crysis?

upper flicker
#

no

#

you could probably run the original doom over telnet pretty okay though

heavy rapids
#

welp, ima waste an hour of my life with the c++ template regex thingy

quasi valley
olive garden
#

In 1.14, are cats and ocelots separate mobs now? Or do ocelots become cats when tamed?

upper flicker
#

theyre separate

wide chasm
#

They are separate

quasi valley
#

separate

olive garden
#

okay, thank you all

upper flicker
#

@olive garden btw they're separate

wide hazel
#

I don't know why, but I think they might be seperate

#

something's telling me

#

not sure what

heavy rapids
#

are tamed ocelots converted to cats tho? like, ocelots from previous versions

quasi valley
#

did you know

velvet stag
#

i think they are different and cats spawn around villages unlike ocelots

#

i still think you can tame them tho

wide hazel
#

python3
!=

#

nice

hard lake
#

It rolled out on bedrock too

stiff yarrow
#

Bedrock peepoGiga

wide hazel
#

inb4 Paper for Bedrock

heavy rapids
#

is bedrock even moddable?

wide hazel
#

nop.

#

not yet

#

(TM)

heavy rapids
#

paper implemented on command blocks and command functions when

prisma orchid
carmine mirage
#

Holy moly 1.14 is out how can i update my server to a newer version

stiff yarrow
#

bedrock has JS in it

upper flicker
#

not until someone manages to kill all of us sane people

stiff yarrow
#

so its sort of moddable

heavy rapids
#

JS

prisma orchid
#

did it just drop

#

or am I dumb

carmine mirage
#

Wtf is js

wide hazel
#

yeah, 1.14 has been out for like an hour now, where's Paper 1.14 @upper flicker 😛

heavy rapids
#

they use Javascript for modding?

upper flicker
#

this is why I dont livestream stuff and I prefer to do this stuff privately

wide hazel
#

lol

prisma orchid
#

How long does it take for it to be released on Paper? (1.14)

wide hazel
#

"GO FASTER"

upper flicker
#

.eta

limber knotBOT
#

Anyone requesting an ETA will be fed to goblins.

wide hazel
#

nice

prisma orchid
#

Im wondering if I should go to spigot for a limited time

wide hazel
#

goblins = leaf

prisma orchid
#

opsie

#

lmao

#

Halvnaken did an opsie

#

But, lmao. Could I know if we are talking days or hours?

heavy rapids
#

1.15 eta?

stiff yarrow
#

@prisma orchid months

#

probably years

pulsar wigeon
#

literally 16 years til paper releases 1.14

heavy rapids
#

maybe decades

pulsar wigeon
#

at least

prisma orchid
#

Okay @stiff yarrow

pulsar wigeon
#

we'll be lucky to get paper 1.14 in the next century

heavy rapids
#

how about you guys ditch 1.14 and instead we all go back to mc 1.7.2

pulsar wigeon
#

beta

heavy rapids
#

no

pulsar wigeon
#

yes

heavy rapids
#

no

#

no w

pulsar wigeon
#

anyway today is gonna be full of retards so imma just hide and actually do work today

heavy rapids
#

this gun be gud

deft brook
velvet stag
#

guys, i know we are all excited to see 1.14 and get it working on paper and all that, but speaking for myself i couldnt do it.. xD and from personall experience having ppl constantly asking for ETA's is super stressfull and can kill productivity so lets trust the ppl behind it and hope for "the soonest" whenever that may be ^^

void void
#

just use viaversion

#

they have 1.14 support already

#

probably because there were little to no differences between last pre

#

and the release

quasi valley
#

there was one

#

the protocol number parrotwave5

upper flicker
#

tf is that parrot so slow

quasi valley
upper flicker
#

oof

upper flicker
#

idk

#

be an easy change to make though

subtle mirage
#

i try put ' it gives bug