#dev-general

1 messages ยท Page 624 of 1

tame bane
#

I am getting huge lag spikes on my server

rotund egret
#

Rather small data sample, but during the 5 minutes or so during the climb it looks like a chunk was updating

rotund egret
#

I'd cry tbh

tame bane
rotund egret
#

There's probably something you could do, but hell if I know what it is

tame bane
#

anyone that could help me?

#

@rotund egret

rotund egret
#

Yeah you really don't need to keep pinging me

tame bane
#

who could i contact?

#

or like i have no clue what do it wont go away

#

@rotund egret?

inner umbra
#

@tame bane I wouldn't recommend help from him.
Also #minecraft would be the better channel for your query. And have patience.

dawn island
tranquil crane
#

try installing the spark plugin and run the profiler, it can get a lot more detailed information about what's potentially causing lag

obtuse gale
#

spot the transphobe

prisma wave
#

it's you

#

I found you

obtuse gale
#

oh that is typical

quaint isle
#

I worked a job for 2 years that had the title "Software Developer". About a year ago I changed position at the same company to "Full Stack Software Developer".

Would it look better on a resume to put Jr. Software Developer for my first job as opposed to Software Developer to show that I kinda got promoted?

pastel imp
#

Isnt there a difference between full stack and non full stack?

#

Lol

wintry plinth
#

Yeah, full stack is front and backend

#

Iโ€™d prob put both on resume, have a title for the company, then smaller points for the sub roles

#

Acme Ltd

โ€ข Jr Software Developer (August 21 - November 19)

In my role I did X Y and Z.

โ€ข Full-Stack Software Developer (November 19 - Blah)

I was promoted to this, did X Y Z

tacit cave
#

Hey i want to ask

#

will the i5-12600k runs minecraft server well?

potent nest
#

sure

#

will depend on what you actually do obviously

tacit cave
#

it has 16 threads

#

but im not sure with the E-cores

#

they have a lower clock speed ๐Ÿคทโ€โ™‚๏ธ

lucid latch
#

Anyone have resources for working with the python library quarry?

midnight vault
#

Im looking for website devs dm me

wintry plinth
midnight vault
#

?

#

dm me

sturdy zinc
#

need help on how to get updated code to the original developer github? My github never seems to work using github desktop

#

@tacit caveI run mine on a i5 4th gen OS is Debian, 32GB ram

sturdy zinc
#

7

tacit cave
#

but it only have 4 cores / 4 threads?

#

๐Ÿค”

#

which version are you using?

sturdy zinc
#

linux is the key, SSD also helps

tacit cave
#

what version?

sturdy zinc
#

Debian is the distro I run

forest pecan
#

Can somebody help me with something
Afbeelding
I want this in my Tablist.
----[--
dont know how to make it.

#

I cant send a image XD

#

i want this together -----[--

#

Looking like a sword

quaint isle
quaint isle
old wyvern
#

@half harness skim

waxen marsh
#

okay so my 1.16.2 deluxechat config is not working on my 1.16.5 server

#

could someone help me with this maybe

waxen marsh
#

sirry looked over it

half harness
long dagger
#

how can I remove this selection box in a gui?

eternal compass
brittle leaf
long dagger
#

when you select a item slot it shows a white transparent box around the slot

vivid juniper
#

What is a good starting tutorial for MC plugin coding?

sick belfry
#

first

#

?learn-java

compact perchBOT
#
FAQ Answer:

Online Courses:
Online courses are also great for learning java. Some websites that offer them are:

  • Coursera - Free unless you want a certificate
  • PluralSight - Great courses from what I've seen. Mostly Paid
  • Udemy - Never used them myself but they seem to all or at least most be paid.
    My first ever course was one from Coursera. - I can say it was pretty good at introducing me to the programming world as a whole not just java.

Oracle Docs:
Oracle docs can help a lot at learning and understanding java:

  • Start with this,
  • Breeze through this (skipping stuff that doesn't seem relevant like bitwise operators),
  • Hit this.
    They're the first three from this larger thing which you should definitely go through overall. But those three should be enough for slightly better understanding of what is happening here without feeling like a huge time sink.
    That one is a small part of this larger site wherein "Essential Java Classes" and "Collections" also have good useful stuff

Other services:
Some other cool services that will help you learn java are:

As you can see there are plenty of good ways to learn as long as you're willing to invest the time. Have fun learning!

sick belfry
#

they should help ya

#

and also some youtube videos too

#

also the javadocs

forest pecan
#

i havent talked in here for a while ๐Ÿ˜”

distant sun
#

Good thing

brittle leaf
#

oh you mean the hover over itemstack overlay, i thought that you were on about the check mark box showing up

static zealot
#

he's not talking about the checkmark I Don't think so. I think he's talking about he white overlay

brittle leaf
#

when you cut down the image to a point where context is lost its difficult to tell what you mean

static zealot
#

yeah. but I'm fairly certain you can't remove that with plugins or resource packs

brittle leaf
#

you would need a mod or something

#

ohhh i see how its done, you have to create a custom font character and put that in the inventory title and that font character has to be the inventory fully made, not individual slot retexturing

#

or atleast thats what google says

#

the actual highlighting is done clientside so unless you get people to install a mod removing it then your kinda stuck for retexturing specific itemstacks in an inventory but using a custom texture that overlays the inventory it seems to be at a higher priority then the hover overlay so its not visible .

long dagger
#

I know how to do that

#

Thank you!

brittle leaf
#

you dont texture buttons, you just use a single image that overlays the inventory

long dagger
#

Yeah, and then I can leave some slots transparent for things like the input bar in a anvil

static zealot
#

haha guys. don't forget to break; or return; from a switch. you might end up spending 1 hour trying to figure out why the fuck a message is sent 3 times and sometimes even to everyone and then go insane and start hitting the wall with your head

#

man I love life

brittle leaf
#

switch statements are fun

plain dragon
#

please just use the enhanced switch

#

break; suuuucks

pastel imp
#

Lambda is pog

static zealot
#

also when was that added? bcz java 11

plain dragon
#

16 iirc

#

why 11 sadge

#

nvm 13

potent nest
obtuse gale
#

wdym?

#

-> = lambda

#

always in the history of forever

potent nest
#

Oh okay

pastel imp
#

Bruh

#

If ya wanna say something, at least be right xd

#

But ye -> is lambda

prisma wave
#

yes but not in the context of switch expressions lol

obtuse gale
#

-> is lambda except when it isn't lmao

static zealot
#

haha. suck it

tranquil crane
#

lambda lambda = new lambda(ฮป -> {});

static zealot
tranquil crane
pastel imp
#

Sus

tranquil crane
#

oh hang on I got it

pastel imp
tranquil crane
prisma wave
#

ฮปx.x+1 > x -> x+1

obtuse gale
#

i.e. the topic in question: switch expressions

pastel imp
#

Oh okay ye, understood

#

Sorry then

distant sun
prisma wave
#

yes

#

And a few others

#

Pretty sure ฯ€ is a valid identifier name

potent nest
#

yeah

#

not that I ever used greek letters in my code ๐Ÿ˜ถ

prisma wave
#

you should see Julia

#

you're actively encouraged to use symbols in names

#

Like / has a different meaning to รท

obtuse gale
#

/ as in this ratio

plain dragon
#

if lambda is ofc pi is lmao

sly sonnet
#

Any python users out here?

hot hull
#

Get out

dawn island
oblique heath
#

i use python sometimes

safe hinge
#

i need a cheap dev for 2 addons for bw1058:
the first ranked bedwars (not only a rank, but a really system of play based of elo and division. Send player in different game with same elo/division. For Bungee mode)
the second is different multiplier of xp for different rank, live 2x, 3x etc..

sorry for my bad english and for price we can tell in dm :D

safe hinge
#

uh sorry

#

thanks

tranquil crane
foggy pond
#

Is this a correct representation of depth first search in a tree?

static zealot
#

I mean the tree was already represented in the correct order. just started from 1 instead of 0

#

but yeah

foggy pond
#

oh god you are right ๐Ÿ˜‚

oblique heath
#

lol

static zealot
#

lol lol?

#

or lol lol lol?

static zealot
#

jesus. you're killing him

#

stop!!!

ocean quartz
#

That's so cursed

oblique heath
#

suffer

brazen ether
#

quick question: how do i check if a player is on the ground

#

i can't just check if the block below is ground because what if the player is halfway up

#

or what if the player isn't standing on a full block

#

i'm in 1.8.9 btw

brittle leaf
brazen ether
#

i read that that's deprecated

#

maybe that's only in later versions though? ill check

#

yea it's deprecated

brittle leaf
#

try entity.isOnGround?

#

unless thats the same

brazen ether
#

it doesn't seem to be

#

i read somewhere though that it still runs the same function, might be wrong though

#

i'll use entity.isOnGround for now but if anyone has a better method plz say

brittle leaf
#

i would say get the player's location, get the block version of the coordinates, so player.getBlockX(), getBlockY(), etc and get the block at that coordinate and the block just below it, check if both blocks are air or not.

#

or check if the location's Y coordinate is exactly .5 of something

#

if its exactly .5 then its probably a slab

#

im on the lines of it being true

obtuse gale
#

Just use Player#isOnGround

#

It works fine

#

Thing is "being on ground" is controlled by the client and it may be spoofed

#

Chanced are if that is spoofed, many other things about the position will and you won't be able to tell the difference

#

And even then what are the odds it will be

#

And you definitely don't want to try and check it manually, taking into account the player can be on the very very very edge of a block and still be on ground, considering the many different heights (inside a hopper, snow layers, anvils, beds, chests, yada yada ...)

#

they all have different places to be on and still be "on ground"

brittle leaf
#

theres alot of shit that player.isonground probably already checks

#

wait, couldnt you just check a player's Y velocity and if its 0 or not

cursive jolt
#

use an anticheat if you really care about isOnGround being correct

#

good ones will correct it. Alternatively, if you want to just be your own anticheat, do:

boolean trueGround = player.isOnGround && (player.y % (1 / 64) < 0.001 || player.isNotNear(boat or shulker));

brittle leaf
#

i dont think its cause they think isOnGround is the wrong value, it think its cus the player version of the method is deprecated

brittle leaf
#

which is what they are worried about

#

i think

cursive jolt
#

most cheats will not follow (1 / 64) rule, only paid and some 1.8 ghost clients follow it

#

and verus disablers

obtuse gale
#

it will work fine

lavish notch
#

I'm loosing my mind with this SQL stuff;

TABLE CREATION QUERY

CREATE TABLE IF NOT EXISTS SystemButtons (ID VARCHAR(255), guildId VARCHAR(255), channelId VARCHAR(255), messageId VARCHAR(255), PRIMARY KEY (ID));

INSERT INTO ... ON DUPLICATE REPLACE QUERY

INSERT INTO SystemButtons (ID, guildId, channelId, messageId) VALUES ("Link", "${message.guild.id}", "${message.channel.id}", "${msg.id}") ON DUPLICATE KEY UPDATE ID = "Link";

It inserts the value initially just fine- but when it comes to UPDATE DUPLICATE, it just does nothing. Doesn't add a new row, or update existing ones.

#

*There are no errors generated when the INSERT INTO... statement is ran.

sweet cipher
lavish notch
#

barry smh

sweet cipher
#

insert into ... on duplicate replace query -> insert into ... on duplicate key replace query?

#

Maybe

lavish notch
#

query?

sweet cipher
#

I just wrote what you did

lavish notch
#

should be possible with just id

sweet cipher
#

But I added key

#

You are trying to update when a duplicate key exists right?

lavish notch
#

it was already there

sweet cipher
#

Oh I thought it wasn't because of INSERT INTO ... ON DUPLICATE REPLACE QUERY

#

My bad

lavish notch
#

lol

lavish notch
#

Yup- I was replacing the ID and not the values xD

sweet cipher
#

Oh lol, glad you figured it out

#

Writing SQL always frustrates me

lavish notch
sick belfry
#

why would you use SQL

#

just be a good programmer and make your own database in C

#

then make a Java wrapper and a Rust wrapper

ocean quartz
#

Me yesterday

limber osprey
#

Sigma grind rule

static zealot
#

not funny?

sly sonnet
#

didn't

static zealot
#

laugh

#

haha

#

gottem

dense dew
#

๐Ÿ˜”

static zealot
#

I'm sorry to hear that

stark siren
#

Hello can I ask some help regarding my discord account?

inner umbra
compact perchBOT
#
FAQ Answer:

Looking for discord support?
HelpChat is a Minecraft plugin and development support server and is not affiliated with discord in any way.
If you require support from discord, we recommend you to visit their official support website at https://support.discord.com
On this website, you can read their FAQs, or open a support ticket if necessary.

burnt mica
#

e.getPlayer().getWorld().getFullTime() / 24000 %= 7, boolean

obtuse gale
#

yes

void mica
brazen ether
#

hey so i'm trying to do some scoreboard stuff, and setting the scoreboard works fine:```java
ScoreboardManager manager = Bukkit.getScoreboardManager();
Scoreboard scoreboard = manager.getNewScoreboard();

Objective objective = scoreboard.registerNewObjective("main_scoreboard", "dummy");
objective.setDisplaySlot(DisplaySlot.SIDEBAR);
Score score = objective.getScore("test string");
score.setScore(1)

but when i try to change it with this code: ```java
Score otherscore = objective.getScore("not test string");
score.setScore(1);

it just adds "not test string", instead of replacing "test string"

#

this is in 1.8.9 btw

sly sonnet
#

use fastboard + 1.18

brazen ether
#

you're telling me to switch versions lmao? have you thought that maybe i'm using 1.8 for a reason?

#

i'm trying to do something very simple, i did this in a 1.16.5 project and it worked fine there but i'm not sure what's wrong here, so i'm just asking for help

prisma wave
brazen ether
#

it worked in my 1.16.5 project, tho i might be missing something

prisma wave
#

if you want to replace "test string" then use getScore("test string") lol

prisma wave
#

Score otherscore = objective.getScore("not test string");
Score otherscore = objective.getScore("test string");

brazen ether
#

could you explain how this actually replaces the string

#

because from what i understand, you're just getting the score here

#

not setting anything

static zealot
#

unless that's not how their code looks in reality

prisma wave
#

well that's even weirder lol

brazen ether
#

give me a sec

#

you're probably right

prisma wave
#

what's the point of getting otherscore if you never use it

brazen ether
#

give me a sec

obtuse gale
#

multiple score holders can have the same score value

#

it's not like only one can "reserve" a value

#

i.e. it's not a Map<Integer, ScoreHolder> or however you wanna picture it

#

if you want to remove one entry, you need to know the name of the entry to remove

cinder flare
#

i used a bimap the other day, felt really cool

obtuse gale
#

yeah but Minecraft score objectives are not yours to control in that way

half harness
#

Anyone know what the purpose of the shade button in linux?
Since all it does is minimize the window... but keeping the title bar ๐Ÿค”

#

specifically using XFCE

quiet depot
#

which button

half harness
quiet depot
#

was it easier to look up an image than screenshot one yourself

#

also plug to sublime

half harness
#

๐Ÿฅฒ

#

was looking up the shade button

#

but could only find results on how to enable or disable it

half harness
ionic talon
static zealot
half harness
#

do you like my pfp

#

:D

static zealot
#

no

half harness
#

D:

#

btw blitz

#

quick question

#

what is your pfp ๐Ÿฅด

static zealot
static zealot
quiet depot
#

kinda looks like a fucked up java mascot

half harness
ionic talon
#

I love cat

prisma wave
#

HI DKIM

#

HELLO

#

HI

half harness
#

HI BM

#

HII

#

HOLa

prisma wave
#

HI

#

BONJOUR

half harness
#

HOW R U DOING

static zealot
#

Represents the condition of the man of genius imprisoned in thoughts about the immortality of love and the mortality of the body influenced by Schopenhauerian philosophy focusing on the loneliness and opposition of the superficiality of contemporary society

half harness
#

ah very nice

static zealot
#

I definitely wrote that and I know what it all means

quiet depot
#

written by someone who has never loved clearly (or even observed love?), because in what universe is love immortal

half harness
#

๐Ÿ˜ƒ

half harness
quiet depot
#

it's equivalent to double clicking on the title bar of a window dkim

#

to make it max size

static zealot
quiet depot
#

ok

#

which one

#

huh

half harness
static zealot
#

I'm just assuming

quiet depot
#

linux has many different desktop environments so that's entirely dependent on which in question

static zealot
#

considering there's infinite universes

half harness
#

xfce

quiet depot
#

but windows has the feature I'm referring to

half harness
#

ยฏ_(ใƒ„)_/ยฏ

#

oh

#

here ill send a screenshot

quiet depot
#

why

half harness
#

it keeps the title bar but hides everything else

static zealot
#

send feet pics

half harness
#

windows doesn't have that afaik

static zealot
#

windows has double clicking on the bar.

#

what do you mean?

quiet depot
#

then why the flippity flippet did you ask

half harness
#

i wanted to know what it was used for

#

like a usecase

#

since for me it seems useless D:

static zealot
#

because he was filppity flipping curious

prisma wave
quiet depot
#

perhaps some people like a stack of windows on their monitor

prisma wave
#

how are u dkim19375

half harness
static zealot
quiet depot
#

mad man doesn't even have a minimize

#

nvm

#

i'ms tupid

half harness
quiet depot
#

ignore me

half harness
static zealot
#

no piggy.

quiet depot
#

maximize

#

i meant

static zealot
#

I will not be ignoring you

quiet depot
#

ok

half harness
#

Hi Piggy

static zealot
half harness
static zealot
static zealot
half harness
#

no i mean

static zealot
#

its a maximizier or something like that

half harness
#

maximizer?

static zealot
#

well you said it makes the window full screen with the bar still showing. that's maximizing a window

prisma wave
ionic talon
#

It's pointless

half harness
#

like imagine this picture

#

but then there's this at the top

quiet depot
#

ye

#

as I said before

static zealot
#

right

half harness
#

but that's not maximizing

quiet depot
#

I imagine some people must like having a cd-stack of windows at the top of their monitor

half harness
#

so for ex u can have a title bar at the top even though you have like chrome open

static zealot
static zealot
#

shade - Roll up the window (only display the title bar).

#

that's what it is used for

#

ez

half harness
#

yes but I don't know when I would ever use it

since you can't stack the title bars either (only 1 is every displayed)

static zealot
#

when you want 1 to show over the others. for easy access or something I guess?

half harness
#

Hm

ionic talon
#

Hie would that be easy aces I'd u can just see it at the bottomn

#

How*

#

Access*

#

If*

#

Bottom*

half harness
#

10/10 spelling

inner umbra
static zealot
ionic talon
#

Nah

quiet depot
#

perhaps the bottom of your screen is obscured by an object and existential woes prevent you from moving it

static zealot
#

this is also a good example. I have a "Smart" dock, that hides itself when I'm in other apps

ionic talon
#

So basically u have stuff at the top rather than the bottom?

static zealot
#

not necessarily at the top. anywhere on the screen I guess

quiet depot
#

i prefer mine in the middle

static zealot
#

it is an option

#

if the app you shade is not fullscreen, the bar will stay where it is

inner umbra
#

What is the normal encryption used when passing passwords to a login server? MD5 or Sha256 (or other)

half harness
#

Isn't md5 insecure?

ionic talon
#

I love cat

quiet depot
#

yes

half harness
#

Oh

#

smh

quiet depot
static zealot
#

pretty sure sha256 is started to be replaced? idk. I haven't watched security related stuff in a bit

ionic talon
#

Pig mid idk ๐Ÿฅฑ

inner umbra
#

Ok so whats the best encryption option? (currently)

ionic talon
#

Jk all loves

inner umbra
#

Or should I just create my own algorithm?

quiet depot
#

no

#

don't do that

half harness
#

sha256 is not even encryption

#

I don't think

#

๐Ÿฅฒ

static zealot
#

its a hashing algorithm. its supposed to go 1 way only

quiet depot
#

yapps I'm not sure

#

not a security guy

wintry plinth
#

SHA256 is nice tbf

quiet depot
#

and this isn't a very easy question to google because there'll be a thousand different people telling you a thousand different things

static zealot
#

but that's how you want to store passwords as well
what you want to do is when someone (at least that's what I Remember)
enters password -> password is hashed -> hashed password is passed to server -> hashed password is checked against the stored hashed password

inner umbra
#

Yeah but alot of known hashers have decrypters already. Might be beneficial to make my own. Would take longer if at all for users to come up with decrypters.

wintry plinth
#

Add a salt on the end and ๐Ÿช„

quiet depot
#

you kind of have to learn the whole shebang to find the answer

wintry plinth
#

Why would you make your own?

ionic talon
#

Diy queen

inner umbra
wintry plinth
#

Just add a salt to the end and youโ€™ll have a unique string, that โ€œknown hashersโ€ wonโ€™t have

half harness
quiet depot
#

yapps, these are tested algorithms made by some of the smartest people in the world

half harness
#

whereas if it's hashed in the server, then they can't do anything with hashed passwords

quiet depot
#

you are neither a security expert or one of the smartest people on the world

#

please do not compromise the security of others for your ego, or whatever

static zealot
inner umbra
static zealot
#

I used to watch tons of videos about security. but like. I have bad memory

static zealot
half harness
#

or maybe it's hashed in the client but salted in the server

#

๐Ÿคท

#

idk

quiet depot
static zealot
#

and they probably were math geniuses

inner umbra
static zealot
#

when they started out

prisma wave
quiet depot
#

yapps, you can make your own algorithm

#

you just cannot under any circumstance ever use it in a real project

half harness
wintry plinth
#

Yapps, sigh, use something that works and is tough rather than just making your own lol

prisma wave
#

u cannot seriously be considering this

wintry plinth
#

Security is one of those things you canโ€™t afford to mess up

prisma wave
#

^

#

there is absolutely 0 benefit to making your own

wintry plinth
#

And 100s of downsides ๐Ÿ˜‚

prisma wave
#

^

inner umbra
half harness
#

hashing isn't encryption btw

inner umbra
quiet depot
#

and what happens when your algorithm inevitably gets reverse engineered, because it will, because you don't know what you're doing

static zealot
quiet depot
#

think about the ethical, legal consequences of that

quiet depot
#

no

#

you'll be in prison

inner umbra
#

Or make it better

half harness
#

๐Ÿ’€

static zealot
#

lol

inner umbra
wintry plinth
#

Canโ€™t believe we are having a convo about this, someone wanting to recreate what already works

half harness
quiet depot
#

if you're storing sensitive data, and that gets leaked, and it's reverse engineered because of shitty security practices

#

you will get fucked over legally

prisma wave
#

frankly you're kidding yourself if you think you can do better

#

the majority of the web runs of SHA-2

inner umbra
half harness
#

then why are you using it in a public project

prisma wave
#

then whats the point?

quiet depot
#

again, feel free to make an algorithm, you just cannot ever use it in a public project

prisma wave
#

^

#

if it will objectively be worse, then there is 0 reason to use it

wintry plinth
#

Iโ€™m using SHA256 hashing myself, I wouldnโ€™t ever make my own for something to severe

#

Iโ€™d rather use what the professionals have tried and tested, not some rando

#

I donโ€™t have the experience to put my users at risk

inner umbra
#

Let me just make something clear.... I have not said I was making a project....
The question I asked was what was the best hashing/encryption for sending passwords to a login server.
Then asked if my own would be a good option but most users here got made because I asked that LMFAO

half harness
inner umbra
prisma wave
inner umbra
prisma wave
inner umbra
#

I said it might take longer than normal hashers because mine wouldn't be known

half harness
prisma wave
#

that is not how security works

wintry plinth
inner umbra
prisma wave
#

ok try reverse engineering salted sha256 hashes

#

lmao

wintry plinth
#

๐Ÿ˜‚

prisma wave
#

it's computationally impossible

quiet depot
#

wellllll

inner umbra
prisma wave
#

...

#

lmao

quiet depot
#

super computer wouldn't be able to do it

prisma wave
#

u are trolling

#

yeah

#

we're talking billions of years to compute

quiet depot
#

my welllll was for the quantum type

prisma wave
#

even that will take a long time

inner umbra
#

Anything is possible with enough time. (Yes even millennia)

prisma wave
#

LMAO

#

bro

quiet depot
half harness
prisma wave
#

billions - trillions of years

#

that is not a concern in the slightest lmao

#

u effectively cannot reverse engineer sha256, or any other good hashing algorithm

#

it is just not possible

prisma wave
#

no it's not

half harness
#

effectively

timid solstice
#

do PlaceholderAPI suport Realistic seasons ?

prisma wave
#

the only thing you can do is brute force, which takes an extremely long time, hence the "effectively"

wintry plinth
#

Remember, Yapps knows better about security

prisma wave
# quiet depot atm

yeah sure, but by the time quantum computers are mainstream there will be new ways of hashing

#

clearly lmao

inner umbra
#

I'm not gonna post links or anything pointing towards it, do your own research there are plenty of dehashed Sha256 leaks.

prisma wave
#

...

wintry plinth
prisma wave
#

those are just rainbow tables lmao

#

and yeah, salting makes those completely redundant

quiet depot
#

nice little anecdote of education failure:
I had a university grad straight face tell me his 4x1070 computer could brute a 521 ecdsa key in 4 minutes just running hash cat

prisma wave
#

lmao

quiet depot
#

yeah

#

meant to be one of the best cybersec courses in aus

#

very concerning

timid solstice
static zealot
prisma wave
#

i think it's still speculation that quantum computers will be able to break the hashing

wintry plinth
#

Note to self: donโ€™t sign up to any Yapp related services, even with a random password

prisma wave
#

like nobody has proved it to be possible yet

static zealot
#

already

quiet depot
#

I have a friend called time who's working on it bm

static zealot
#

and there's agencies working on this

#

like they've been working on this for years

prisma wave
static zealot
#

we'll not. bcz we'll all be dead in a few years

#

nuclear war and all that

quiet depot
#

maybe you

#

i'm in aus

static zealot
#

so?

#

ah. you're a fake person

#

Ic

quiet depot
#

bit of an odd target

static zealot
#

you can't kill something that doesn't exist

quiet depot
#

yes but let's entertain us existing for the sake of hypotheticals

#

we don't have nukes

static zealot
quiet depot
#

there's only ~20 something mil of us

prisma wave
#

It is of course also possible to use a 256 bit pepper, which is a salt value that is kept secret. In that case "cracking" the hash will require both the password and the pepper. We cannot do that even with quantum computers because the energy requirements would be too high (cracking > 128 bit security against classical computers or > 256 bit against quantum computers is completely infeasible and forever will be)

Not sure how true this is, but I was looking and saw it on a SO answer

chilly zenith
#

ed25519 PepeLaugh2

quiet depot
#

forever
link me to this post

#

I need to note their username

prisma wave
static zealot
quiet depot
#

they'll regret the day they decided to use "forever"

prisma wave
#

we'll see

prisma wave
static zealot
#

that's fine

#

we'll become a type 2 civilisation at some point. that's when we'll be able to use it

quiet depot
#

blitz you seem to have conflicting views

static zealot
#

idk. I'm just trolling

quiet depot
#

you mentioned nuclear war before

#

but believe we'll become a type 2

static zealot
#

yes

#

the survivors will raise from the ashes like a phoenix.

#

or like a pokemon

#

and will evolve

inner umbra
#

It seems like you guys are forgetting that all of this had to be created by someone or multiple people. Just because flaws have not been found yet does not mean there aren't any xD

static zealot
#

but that doesn't mean you can do it better

#

that was the point of the conversation

wintry plinth
#

^

inner umbra
quiet depot
#

yapps, any existing flaws have eluded the smartest mathematicians, computer scientists, security experts, no-life hobbyists since the invention of these algorithms

inner umbra
quiet depot
#

they are so incredibly well tested that the entire world uses them

#

you, simply cannot do the same level of testing

#

not even close

ocean quartz
#

The point of the conversation is that you can definitely make your own to learn, etc, but use the known good ones for production products instead of your own, it's not that hard

static zealot
#

you said and I quote

That literally is xD Takes time to reverse engineer security measures.
and
I said it might take longer than normal hashers because mine wouldn't be known

but if someone puts their eyes on your database, it might literally take days or hours to reverse engenire

obtuse gale
#

They did not come up with SHA256 in mom's basement when they were in their early 20s

static zealot
#

holy shit how many times do I have to repeat myself? I've said multiple times that those people were mathematicians and geniuses when they made those algorithms. and you clearly aren't any of those 2. how can you claim to be able to make it better?

inner umbra
static zealot
#

yes. but its a difference when it takes 2 hours for yours

cinder flare
#

what's going on here

static zealot
#

and 200000000000 years for others

obtuse gale
#

They have decades upon decades of experience and formal knowledge and studies on everything-mathematics and security

#

you don't

cinder flare
#

is yapper rolling his own encryption algorithm

obtuse gale
#

he saying he can do better than sha256

wintry plinth
cinder flare
#

what lmao

#

as if

wintry plinth
#

As sha256 can be โ€œcracked@

static zealot
#

no one is saying, don't do it. just don't do it publicly. until you're at their level and can prove it will take thousands upon thousands of years to breach

#

yes, do it for the sake of learning I guess but you claimed you can do it better. which is false

cinder flare
#

i mean yeah if you publish a peer-reviewed scientific paper proving your algorithm, then maybe it'll be good

#

that won't happen though lmao

inner umbra
wintry plinth
#

I wouldnโ€™t put my users at risk by making my own, like I said above, security isnโ€™t something you โ€œyoloโ€ with

static zealot
#

you did not prove me wrong at all?

cinder flare
#

yeah this is why I use Django's authentication stuff man

#

i ain't doing that shit myself

inner umbra
quiet depot
#

;-;

cinder flare
#

gonna rediscover CSRF and shit lmao

static zealot
#

't do it better"

quiet depot
#

blitz

#

pls

cinder flare
#

๐Ÿ‘€

quiet depot
#

respecc

inner umbra
static zealot
#

who? this mf. I'm going to start trolling as well now.

static zealot
#

I want to see

glacial junco
#

I am making a class plugin, and I wanted to know how I can make certain potioneffects when choosing a class

static zealot
quiet depot
static zealot
#

I'm waiting yappers

inner umbra
#

You are trolling. Learn to fucking read

cinder flare
#

you did say you took it

obtuse gale
#

"no"

static zealot
#

if he can be a troll, I Can be an even bigger troll

#

I have a screenshot of yappers saying he eats sandals

#

but won't show it

inner umbra
cinder flare
#

I mean if everyone got the same understanding out of this conversation, it was probably for a reason

static zealot
#

you literally argued with yourself in this conversation then

inner umbra
static zealot
#

here you go

#

I can get screenshots as well

#

... delete your messages if you want to argue. but oh no, I Can see those as well

inner umbra
#

Yeap and it has logic to it.

static zealot
inner umbra
#

"I'm not currently."

quiet depot
#

stop

static zealot
#

.

obtuse gale
#

"a lot known hashers have decrypters"?๐Ÿคจ

static zealot
#

emily. clearly we should stop xD

#

@half harness

half harness
#

oh this is still going on ๐Ÿฅฒ

quiet depot
#

no

#

it has ended

static zealot
#

nah

half harness
#

oh

cinder flare
half harness
#

it was* still going on

static zealot
#

trying to start a new one

#

dkim what you doing rn?

half harness
#

watching youtube

static zealot
quiet depot
#

master, that topic has ended

half harness
static zealot
#

smh piggy. you clearly are overwhelemed. just close the channel

half harness
#

5-10 minutes

static zealot
prisma wave
static zealot
#

LMAO

#

piggy.

obtuse gale
#

"ur wrong"

static zealot
#

I'm laughing at piggy btw

#

time to use that nice =lock command

quiet depot
#

I don't care if you guys go back to arguing the actual argument, relating to why current encryption methods are good, why yapps making his own is bad

#

the issue is it devolved into a who said what, accusations of trolling, even name calling lol

prisma wave
#

u smell

quiet depot
#

respect needs to be maintained

prisma wave
#

shut up

compact perchBOT
#

You dun goofed.

obtuse gale
#

lol

static zealot
#

LMAO

#

even barry is mocking you

quiet depot
#

well

#

idek

willow yew
#

Good until quantum computing kills all encryption

#

Rip world

quiet depot
#

brister mitten addressed that

static zealot
#

joe

inner umbra
#

At that point it will be computer vs computer hashing and decrypting each other.

wintry plinth
#

Gonna make CHA256 tomorrow, because fuck SHA256

cinder flare
#

bro ChaCha is literally a thing

wintry plinth
#

Lmao really? Bout to do the Cha Cha Slide Hash

hot hull
#

bout to cha cha whoop your ass

static zealot
#

haha

brazen ether
#

let's say i have this code creating a new scoreboard: ```java
ScoreboardManager manager = Bukkit.getScoreboardManager();
Scoreboard scoreboard = manager.getNewScoreboard();
Objective objective = scoreboard.registerNewObjective("main_board", "dummy");
objective.setDisplaySlot(DisplaySlot.SIDEBAR);

    Score score = objective.getScore("Test string");
    score.setScore(0);
    
    p.setScoreboard(scoreboard);``` (p is defined)

and this works fine, creates a new scoreboard. but how would i change line 0 to another string? for example from "Test string" to "Not a test string"? thanks

brazen ether
#

okay i think i've solved this by using scoreboard.resetScores

obtuse gale
#

That's one way to do it yeah

obtuse gale
rotund egret
#

You mean subdomains? Yes

obtuse gale
#

yo antone know react native

eternal compass
#

probably

#

?help

compact perchBOT
#
FAQ Answer:
ยป Give the helpers some details
ยป Ask suitable questions
ยป Be polite
ยป Wait

Source

obtuse gale
ruby dew
#

gonna make a system for hiding a whole plugin jar inside a cpp exe to avoid decompilation
and then the cpp exe is gonna hook into spigot itself through socket
wdyall think

obtuse gale
#

dumb bundle wasnt being created when i was installing expo

ruby dew
#

like people can still gonna compile the whole source code with decompilers in java even if your jar is obfuscated
but wrapping it up in cpp just makes it a whole lot saver

obtuse gale
#

ok

sweet cipher
#

And trying to get people to help you with it

eternal compass
#

sounds like someone's gonna write something to intercept the socket connection

willow yew
#

Waste of time just make a real rat

ruby dew
ruby dew
#

but surely people will have to trust me enough before they use my program
so imma make the whole thing open source

ruby dew
rotund egret
#

Yes

earnest narwhal
hot hull
#

Ah my bad

#

Enabled now @earnest narwhal

earnest narwhal
obtuse gale
#

hey guys

#

i need some help

cinder flare
#

don't we all

old wyvern
#

I do ๐Ÿ˜”

foggy pond
#

Bit of a strange question, how many bytes does float[4][0] take in a 64 bit system ๐Ÿ˜… it's for some homework, I have no idea how to calculate it

#

I doubt it's 4*4

foggy pond
#

A float takes 4 bytes

sly sonnet
#

yes

foggy pond
#

12 bytes + 4 bytes for their size + 4*4

sly sonnet
#

4 bytes

foggy pond
#

An array takes 12 bytes of space + 4 bytes + 4 * the size of the array if it has floats

foggy pond
#

Nah, the lowest option is 56 bytes

#

Could it be 88

sly sonnet
#

wait imma research

foggy pond
#

Been trying to do that for a while haha

sly sonnet
#

java?

#

or c++

foggy pond
#

Java

sly sonnet
#

is 160 an option?

foggy pond
#

Nope, it's either 80, 88, 56, 96

sly sonnet
#

idk then man

#

xd

prisma wave
#

I'm pretty sure it's JVM dependant

#

There's stuff like object headers which are quite implementation specific

potent nest
#

pretty sure OpenJ9 has different object headers than hotspot

prisma wave
#

Almost certainly yeah

#

So it's a pretty shit question tbh lol

wintry plinth
#

Looks stunning

chilly zenith
#

yes it does a little pinky promise with itself

#

jk

wintry plinth
#
async function gimmeMyShitFromTheDB() {
  const rows = await getFromDB();
  // do your shit with rows
}
obtuse gale
#

well async/await is the "standard" "proper" way to deal with promises in js

#

but what's happening there is pretty much just like, return promise, then pass a function that takes the result and returns another promise, then another function that takes the other result and returns another promise, etc

wintry plinth
#

But you wonโ€™t have a billion callbacks

#

wait for the data from the DB, do everything you need to do to it

#

Youโ€™re welcome lol

#

Also Iโ€™m pretty sure if you use .then(), it would of meant it was async

obtuse gale
#

yeah async/await is literally just syntax wrapping promises and continuations

wintry plinth
#

Yeah ๐Ÿ˜…

#

I love await, makes code much cleaner

#

Dealing with multiple callbacks always looked super iffy

wintry plinth
#

๐Ÿ˜‚

#

Weโ€™ve all had those moments

brazen ether
#

how can i set a player's absorption hearts? Damagable.setAbsorptionAmount isn't a thing in 1.8 ( the version i'm working with )

#

nvm figure it out

distant sun
#

I believe it was added only on 1.11

hot hull
#

You know when you open the Material enum, and it loads it instantly :moan:

static zealot
#

haha. I know

distant sun
#

Yes

low remnant
#

Does anyone know about a good mysql + sqlite wrapper with methods like createColoum, createTable etc. ?

pastel imp
#

No but if you find one, let me know pls lol

agile galleon
ocean quartz
#

JOOQ

pastel imp
#

Hmm thx will see

#

Uhm also, what are ways to identify whats causing a lot of CPU usage in my plugin?

sly sonnet
#

timings

#

spark

pastel imp
#

I will get back to you in a few minutes

distant sun
ruby dew
#

No you donโ€™t get what I mean

#

The program thing used to wrap jars into cpp exe is open source

#

But the exe product (obfuscated junk) is not open source

#

But it is indeed stupid
Canโ€™t think of why anyone would wanna use it

willow yew
#

Ur gonna open a socket and download the jar from where?

rotund egret
#

The datacenter patched through the intranet directly into darpanet, it'll contact the data supplier and encapsulate the packets with deep bit shifting for an extra layer of security.

obtuse gale
#

i.e. your ass

willow yew
#

Deep bit shifting lmaooo

#

Shift these nuts in your mouth

prisma wave
#

I'm new here, say hi!
System icon for new server members.

pastel imp
#

sus

obtuse gale
#

out of all buttons they choose to put a ping button?

wintry plinth
#

LOL

willow yew
#

Lil bills a long time member lil do you know

static zealot
#

@willow yewhi

obtuse gale
#

hey

willow yew
#

hey ems

inner umbra
sly sonnet
#

@willow yewhi

willow yew
#

Ems and Santa the only two here b4 me as ik

prisma wave
#

?

onyx loom
#

?

willow yew
#

?

candid grotto
#

How can I put a glass pane with specific color in the inventory? There is only GLASS_PANE option

ocean quartz
#

I'm assuming you're using 1.8? Because anything above 1.13 has the specific color
In 1.8 you set the color with item data or something like that

candid grotto
#

you mean java version?

#

<java.version>1.8</java.version>

ocean quartz
#

Minecraft version

candid grotto
#

minecraft is
<version>1.18.1-R0.1-SNAPSHOT</version>

ocean quartz
#

Then it's just {color}_STAINED_GLASS_PANE

candid grotto
#

indeed...

chilly zenith
#

@willow yewpinged

willow yew
#

what?

rotund egret
#

Oh shit it's little bill

willow yew
#

the og

ruby dew
ruby dew
#

To use the wrapped up exe with jar code inside,there will be a plugin jar responsible for loading all these wrapped up cpp exe junk. The exe junk all are stored in a single plugin folder.

#

Sockets will be opened to transfer the jar data into java uri class loader

#

And then wham,plugin loaded

obtuse gale
#

@quiet depot ^

#

@potent nest I'm sure you'll enjoy that magnificent production of project Duke as well

lavish notch
stoic vector
#

Can someone help me with a gui I'm trying to make it so that when u join the server u can use a item to pull up a gui menu we're you can click on a item and it will use the mv create command but it needs to make each new world a different name and then tp you to that newly created world is this possible or should I make a custom plugin for it think of it as hypixel smp.

distant sun
distant sun
quiet depot
candid grotto
#

How can I understand what triggers InventoryInteractEvent? If I, for example, want to do an action when a player equips armor by right click when the armor is in the hand, will it be triggered?

rotund egret
#

d;spigot InventoryInteractEvent

ruby craterBOT
#
public abstract class InventoryInteractEvent
extends InventoryEvent
implements Cancellable```
InventoryInteractEvent has 3 sub classes, 1 all implementations, 6 methods, 1 implementations, and  1 extensions.
Description:

An abstract base class for events that describe an interaction between a HumanEntity and the contents of an Inventory.

rotund egret
#

I'm going to say no

quiet depot
#

yeah I'm gonna say no too but test it

#

there probably isn't an exhaustive list out there

candid grotto
#

then what event can react on such action?

distant sun
#

There's 3 subclasses, armor equip using drag and drop fires InventoryClick

sly sonnet
#

php it is

static zealot
#

I laughed

prisma wave
#

rare programmerhumor W

stoic vector
#

can someone who is good with this plugin pls help me with making something im a owner on a network and im trying to add a gui but it is very advanced and im not sure if its worth making a custom plugin for it

#

pls dm me

candid grotto
#

Can anyone tell me what's wrong with my event. I want specific item with a name (which I put in the inventory before) to be fixed. But for now, when I click on this item, it stays in the slot but also is given to my cursor, so it gets cloned. Setting onCursor Item, as I did in the code, doesn't work https://paste.helpch.at/gacuxagihu.cs

#

and setting it to null too

static zealot
#

instead of doing it in the same tick

ocean harness
static zealot
#

you're getting the second argument when you checked before to make sure there's only 1 argument

inner umbra
static zealot
#

ah. its <=. Ic

#

but no. its not right tho?

distant sun
#

<= 2 also means 0

static zealot
#

yeah lol

#

for a second I almost believed you

#

smh my head

#

my statement was not completely correct tho as well

inner umbra
#

I didn't read what he posted. Just what you put.

static zealot
#

but its not correct.

#

if you check length <= 2 that means length can be 0, 1 or 2

#

so when you get args[1] and the length is 0 or 1 it will throw that error

inner umbra
static zealot
#

butt

#

but(

#

I can't tell if you're trolling me rn

#

or not

inner umbra
#

Screen shot the error

static zealot
#

its literally an array out of bounds error

#

you can't check if its null or not. if the array is not as big as the index you use, it will throw

#

you won't have a chance to check if its null or not

inner umbra
static zealot
static zealot
inner umbra
#

I don't click links. Had a whole convo about this xD

ocean harness
inner umbra
#

Should be able to send barry a command to get the helpchat paste (or pastebin) as a txt.

distant sun
ocean harness
static zealot
static zealot
ocean harness
#

thx

inner umbra
#

Need to check for the correct lengths. Blitz was right in that case. (I was assuming an NPE or something)

static zealot
#

Yapperyapps is typing...

inner umbra
#

Or accidentally hitting 1 letter and it stays there

half harness
#

Hmm anyone know why nginx would return an error 521? It was working fine yesterday...
I have cloudflare setup (proxied) to my IP, and this is my nginx config (map.dkim19375.me.conf):

server {
        server_name map.dkim19375.me;
        listen 80;
        listen [::]:80;
        access_log /var/log/nginx/reverse-access.log;
        error_log /var/log/nginx/reverse-error.log;
        location / {
                    proxy_pass http://192.168.1.169:8192;
  }
}
``` and `http://192.168.1.169:8192` works fine

My other nginx configs also don't work :/
#

any way I could debug this or figure this out somehow

humble silo
#

Anyone know what the replaceement for all the java.security stuff is gonna be? I need to sandbox a couple dependencies and keep running into having to deal with the SecurityManager, AccessController etc. which are all set for removal??

obtuse gale
#

JPMS is the replacement for the SecurityManager etc

#

(to my understanding)

sweet cipher
#

Just Python My Security

potent nest
#

Thereโ€˜s no 1:1 replacement, but JPMS is part of it , yes

sly sonnet
#

python my ass

humble silo
#

modules by default still have complete access to the whole file system, network etc.

round bronze
#

Question does anyone know how to change a mod so itโ€™s works in 1.16.5

#

Itโ€™s a simple camera mod to record cinematics

ocean quartz
#

It's a lot harder than it may sound, even if the mod is open sourced

#

Depending on the current version of the mod you'll likely have to rewrite everything

obtuse gale
#

I mean there isn't really an answer to that altogether lol

#

it's just "updating the things that changed"

round bronze
#

Welll

#

Does anyone know how to do it

sly sonnet
#

do what

round bronze
#

its an odd one because the mod itself doesnt record cinematic it basically makes it so you yourself becomes the camera and you can then record that from obs

#

usually i play 1.12.2 so its no issue but im doing 1.16.5

sweet cipher
#

If you send the mod source someone could look at it

round bronze
static zealot
#

welp...

#

its not as easy as pressing a button lol

round bronze
#

ikk

ocean quartz
#

1.12 to 1.16 will likely be almost a rewrite so good luck

round bronze
#

i mean im willing to pay someone a reasonable price if they can do it

ocean quartz
sweet cipher
round bronze
untold goblet
#

I need a mod for help me pls

dawn island
#

?not-discord

compact perchBOT
#
FAQ Answer:

Looking for discord support?
HelpChat is a Minecraft plugin and development support server and is not affiliated with discord in any way.
If you require support from discord, we recommend you to visit their official support website at https://support.discord.com
On this website, you can read their FAQs, or open a support ticket if necessary.

static zealot
#

they're waiting for funnycube to wake up and unlink their ld account now.

dawn island
#

I see, no one responded to the initial message here, and presumed no one answered or solved the user's issue.

uneven vapor
#

Iยดm I working on set up deluxe menu in api format (so you can easy build a deluxe menu plugin). perhaps I should not publish it (it will then show up lots of deluxe menu cloneยดs on spigot XD).

quick flume
#

I feel the purpose might be pretty niche

uneven vapor
#

true ๐Ÿ™‚ but build it with your menuยดs when players want to also add own buttons in the menu can this be pretty nice.

quick flume
#

Huh?

#

Are you just saying you're making a plugin that generates deluxemenus files?

#

I am most utterly confused

inner umbra
#

No I think he's saying hes gonna make an API/plugin that utilizes deluxe menus

quick flume
#

I got that in the first message

quick flume
#

add own buttons to menu

inner umbra
#

๐Ÿคท

distant sun
quick flume
#

I don't understand it

inner umbra
distant sun
#

Yeah xD

inner umbra
#

I'd make my own from scratch

distant sun
#

Maybe arrow can explain their idea better

uneven vapor
# quick flume but was very confused reading this

alright I made own custom api. Some use similar idea as deluxe menu. It can in theory use the deluxe menu files, but I have more settings and the name differ on the keyยดs in the yml file (some of the keys at least).

What i mean with buttons, is menu buttons (or what you want to call it). So you made "static" buttons some do plugin stuff (you know like change settings an soo on).

users/players of your plugin, want to add custom buttons with own commands (this api help with this). and is not depended at all on deluxe menu only inspiration.

uneven vapor
limber osprey
#

How long does it take for you to get dev role? I've submitted my request like 2 weeks ago

half harness
#

I submitted mine months ago ๐Ÿฅฒ

#

lost track

limber osprey
#

Rip

obtuse gale
#

it depends on how much free time Piggy has for reviewing a whole batch

#

idk how much mine took but I think it was like 2 months or so? some have taken a few days only because that's just when piggy got to review them

#

so yeah /shrug

quick flume
#

sounds pretty neat

uneven vapor
# quick flume Ohhhh it's not deluxemenus, that makes a LOT more sense

Yeah only problem is you barely need code at all when use this api (or yeah you need setup the command logic self) and it support ether one file with all menus or folder you want have the menu's (you set the name self).

So you need fix the logic part how you want to access all menus.

uneven vapor
#

You can find it here https://github.com/broken1arrow/MenuSettingsApi but have lots of work left. I fixed javascript support and compere support (like == and equals) and need fix javadoc also (I not include javascript inside because of the size, so you can self decide if you need it or not)).

I think you could inside your own plugin add that dependency and point my api to that (I see maven can change path import path on a compiled api (I get the issue self when it complain it could find a class and maven change the path)).

hot hull
#

Why so much arrow code reeee

uneven vapor
#

And you can see in my name way i like arrow code XD

hot hull
#

Deluxemenus is a shit show when it comes to code organization

plain dragon
#

you should try guard clauses

#

and not throwing rte's

#

create your own exception extending rte

uneven vapor
# plain dragon you should try guard clauses

yeah is on the list. only added as placeholders (will be handle better). as you can see is the code not finish need add more requirement options some missing.

And fix the item logic also (so you can add more stuff to the item (like potions and the effects and rgb colors to potions)).

uneven vapor
# hot hull Deluxemenus is a shit show when it comes to code organization

yeah I see that (I aim to clean up the code also, I fix it more when is more finish api*) and also find bug with the Exp Requirement, it check amount of point to next level not amount you have (he use wrong calculation if I understand deluxe menu wiki). and ways to report bugs is pretty bad :/

  • can now in beginning contain some breaking changes on every update (will update wiki also when needed).

I use builder classes instead of what he uses. It make more sens to me use that over his method with setters.

wind patio
#

How does the bukkit version naming scheme work? ex. org.bukkit.craftbukkit.v1_18_R2
If I understand correctly:

  • v1_18_R2 => 1.18.2 Release
  • v1_18_R1 => 1.18.1 Release
    Right?
    What about 1.18.2-R0.1-SNAPSHOT?
potent nest
#

1_m_Rn isn't necessarily 1.m.n, see 1.8 for example

obtuse gale
#

How does the bukkit version naming scheme work?
Depends on what md5 had for breakfast

#

But like unironically

distant sun
#

๐Ÿคฃ