#dev-general
1 messages · Page 38 of 1
lol
that wasn't really the issue sigh
whats the issue then
the issue was trying to deal with the potentially 3 different SQL queries in a row on a player joining
the first to load them into cache, or determine they hadn't joined, and if they hadn't joined, do an insert and get the uid back, and use that uid to load the empty/default profile
upsert can turn that into two
how
the best option I've come up with was an INSERT with a RETURNING, but considering how little i've seen that used i wonder if that's how that's meant to be used
afaik the RETURNING is essentially that select statement
postgres, which is what i am currently planning to use, does
this might be a better option than trying to mangle your beautiful DB abstraction layer to work out how to use generatedKeys 😛
exactly
To not have to deal with CF’s and twrs
I mean it should be easy enough to adjust
But it depends what works best for you ig
actually you're right, i forgot withConnection was a method
😋
feels a bit wrong to use that when you've got runWithStatement there, but in this case i'd have to
i've actually genericised your thing out a little more- data source to a plain datasource (which means more than just hikari) and added an executor, at least for the initial queries
and whats the issue with N queries
feels a bit excessive
if not in cache, try load from db,
if not in db, generate the data, insert in db and put in cache
does that solve your issue
i think i worked out the approach i'm gonna go with, but your approach wouldn't quite work cus of the whole primary key issue
you mean you need the autogenerated id for the object instance?
yea
well if you're using postgres you could create a sequence for the pk and then use nextval('sequencename')
generating the pk isn't the issue, it's that using a traditional format it'd take the 3 queries
but i think i can get that down to only two:
INSERT INTO test (c2, c3) VALUES (?, ?) RETURNING *;
If I'm understanding the RETURNING thing correctly, I can just run the insert as an executeQuery and the returning will act as a select on that inserted row
so the flow becomes:
load, if no entry then insert & load (in one query)
rather than:
load, if no entry then insert & return pk, then load
my one suggestion is don't bother with microoptimisations
im trying to get vault to work with my plugin, it added the depend to maven, but at start it cant seem to find if vault is active
unless you're handling millions of queries per minute, 3 queries instead of 2 every so often wont kill the server
sure, but there's nothing wrong with doing things right
the wrong is wasting time at this particular moment, when you could already implement it, work on other stuff and come back to it later on, unless you got plenty of it
in my job its called "technical debt" 🤓
fair enough
I concur
I find that, once I have the system I want in place, then the rest of development tends to go pretty smoothly
cant tell you how many times I've found myself in the optimisation loop-hole
and when most of the times it lead to 'fuck it, ill come back to it later ™️'
which in my cases turns into like 3 years worth of "fuck it i'll come back to it later ™️" and i've still basically not finished that other project
it do be is like that sometimes
Not huge at all
Usually the main difference is the skill of the developers
Anyways, usually with a Bitcoin miner you would want to squeeze every bit, so that was the point I was trying to make.
that's bullshit
Don't necropost tho
there's far more to performance than "language A is slower than language B"

Necropost == ??
languages also don't really specify details about performance, so it's up to whatever optimizes the code how fast it is executed
According to some sources on Google c++ is 3x faster
At same code
basically the only case where it makes sense to specify details about performance are hard real time systems, where you need strict timing guarantees, as everything else is a failure
Like code isn’t 1 == 1 on assembly obviously

well, then you can't just compare it
also, some crafted benchmark is useless for a general statement
but that only affects memory
As opposed to c++ which brings them from…?
Manual memory management
lol
Does it really?
I’m not renewing u anything
It stores primitives on the stack and objects in the heap
I'm pretty sure that's no different from other languages
:/
please stop saying "language A is slow"
that's far from the concept where performance comes from
.
Case in point: mojo is a thing
Basically python but very fast
just better implementation
I think GraalVM with Truffle/GraalPy can run python code faster than cpython too, at least in some scenarios
Well tbh
Cython is a horrible implementation imo
At least as far as performance goes
Primarily due to lack of JIT
they improved it a lot in recent versions
Hmmm
Btw, if you use type hints in your python scripts, they will run quite a bit faster
Or that's at least my experience
how does that work? theyre just hints? they have no meaning except to static analysers
man this whole conversation is hilarious
Emily, you are hilarious
thank you
Rust || Having no context is intentional ||
Good game
I’ve never actually played rust but I’ve messed with the language for a few hours
Good language
how is your edu?
Edu?
edu
Education?
I'm incredibly confused
My education is good?
Lmao tony
average tony falk convo
real
How is your edu?
How about life? Spends? Bills? Locations?!
how is your mother's maiden name doing?
i think the important question is whotf says "edu" like that outside of edu domains
ur also not welcome here
go to off-topic chat with ur bud nova
No, I will not. I will be everywhere
i didnt ask you
I didn't answer your question
🙏 💀
Can you guys please fix cmi priority?? 🙏🙏🙏
I cant open warp or kit menu
Its okay on old version but on new its broken
And on old version I cant use nbt tags
wrong chat
you should approach CMI dev
pretty sure its paid resource
I dont know where I have to write butwhy
Its deluxemenus misstake
It worked on version 1.13.6 and when I updated to 1.14.0 then it started doing this
If the problem happens inside CMI, it is CMI
I understood that the issues were deluxemenus getting the priorities
if I want to show something else that placeholder tells like %server_time_E% = Sun I want like if its Sun it will tell me Mon for example
https://paste.helpch.at/kifasitexu.rb need help
same its the latest version for playerkits idk if its another plugin or not
looks to be a issue with one of your kits
did u have a custom enchantment plugin, used it for a kit item, then removed it?
or had a custom enchantment you removed after
no idea i didnt make it just a client who asked about an error with playerkits
but i think ik the issue now
I need some help with this.
I have to make a desktop app with Java for my degree, and I have problems finding a good framework for UI >.< Design has never been my thing, and sadly there's not as many pre-made components for JavaFX as for React for example. I just need something that allows me to make a relative simple UI so I can focus more on the functionality of the app.
swing >:)
same
lol i logged into spigot earlier for the first time in ages and this is what i see, gotta love it
anyone know how this could be possible (automatic hologram to your oneblock to show information about it ?)
You use a OneBlock plugin that has PlaceholderAPI placeholders and a Holograms plugin that supports PlacehodlerAPI placeholders such as: DecentHolograms
P.S.: this is not the channel to ask for support. If you want plugin searching/configuring help you go to #general-plugins or #1007620980627230730 and if you need plugin development help, you go to #development
the exact one your looking at
on intelliJ
from some reason
my keyboard did tton of enters
now i got like 9k lines empty
gap in my code
anyway to quickly sort the code
CTRL ALT L iirc
thanks alot!!!
for (DropItem dropItem : droptable.keySet()){
for (int i = 0;i < droptable.get(dropItem);i++) {
droptablelist.add(dropItem);
}
} it will replace or duplicate
??
lets say i try to put same object
lets say int a = 3
and i try to put a , twice into an array
(dont judge im just rusty not sure ^^)
what the fuck is that
it will dupe right?
Lists will have duplicates
why wouldn't list have duplicates
it doesnt require a supercomputer to run a snippet of java code
jshell 🚀
not everyone enjoys daddy microsoft
i like chrome due the option to make own extensions
i heard that firefox is good
not sure if i should give it a try tho
well, Google Chrome isn't the only browser that is build using chromium
so is edge, brave, opera
so your extesions will most likely work on either of those
been using firefox, it's been pretty good, quite a while back reinstalled windows and stayed with edge
gonna write a quick list shuffler please rate iit ^^ :3
List.get(Random.nextInt(List.size()-1))
what
so what do you use
i write rn a shuffler
some sort of chipper
with seed
(time)
random dont exist
nothing is random and java random might me upset
because you did it wrong
I doubt you'll come up with a better RNG than the ones existing in the JDK
it wont be RNG
nothing is RNG
for users it will be RNG
int s = droptablelist.size();
int m = Date.from(Instant.now()).getSeconds();
for (int i = s - 1; i > 0; i--) {
int nextpos = ((m/8) +1) * ((i % 9) + 1);
DropItem a = droptablelist.get(nextpos);
DropItem z = droptablelist.get(0);
droptablelist.set(0,a);
droptablelist.set(nextpos,z);
}
}
-
- the concept im aimming for
i think it look that some stuff here are not needed
but im braindead at the moment
i shuffle the list once
later i follow just a 1+ to get it out
public DropItem getRandomDropItem() {
if (droptable.isEmpty()) {
return null;
}
if (droptablelist.isEmpty()){
for (DropItem dropItem : droptable.keySet()){
for (int i = 0;i < droptable.get(dropItem);i++) {
droptablelist.add(dropItem);
}
}
int s = droptablelist.size();
int m = Date.from(Instant.now()).getSeconds();
for (int i = s - 1; i > 0; i--) {
int nextpos = ((m/8) +1) * ((i % 9) + 1);
DropItem a = droptablelist.get(nextpos);
DropItem z = droptablelist.get(0);
droptablelist.set(0,a);
droptablelist.set(nextpos,z);
}
}
return droptablelist.get(pos);
}
before it i used random
what do you think about it?
seems like you don't know what RNG stands for
Random number generator
its isnt really random
at all
but users will see it as something random
because they dont know they output everytime anyway
it is as random as specified
idk i wrote a code and i saw shit that should be rare
pretty often
not gonna say it was 0.50%
but I assume you did a formal analysis of your "rng" and made sure it passes common rng tests 🙂
yeah i tested the system
well either you saw it wrong or you used it wrong
it was random but %%% felt like it hi same numbers many times
hit
so lets say from 0-100 it hit 80> maybe 40% out of 10 attempts
you won't come up with something better than the rngs in java by yourself
you can see that my code isnt actually random
bu know for sure that what should appear once in 100 times
will appear once
and 5 times
no you don't
its just a bus sort of
that goes stations
sec ill look for an online simple ide
to compile some code
to see outputs
eh ill just open new empty rpoject instead
you assume that you call the method with a uniform distribution over seconds, while using a method that is deprecated since Java 1.1 that can even return 60 and 61, but you surely covered those cases
well that's already a flaw then
bro thinking he can do better than the greatest minds of our generation
but Random is not random enough!!!!
if you misuse it yeah
Someone has to.
to* 🤓
The one time autocorrect fucks it up xD
Hey, just a little dev question about the Login system for a cracked mc server.
Is it possible to make an Auth plugin for the server that is linked to the server website for better login security system?
And it would function as if whenever the player would try to login to the server ingame, the login would require the player to complete the login verification by:
- Login to the server website
- On website the player would go to his "Profie" > "Auth" > [Request Login Code]
- Copy the 2fa code from email sent to the player's email address
- paste the 2fa code ingame chat to get logged in
and the whole thing would function just by having the plugin installed ingame on the server, and having it linked to the server website.
Or does AuthMe already has this type of a function such as 2FA which cannot be bypassed by using any type of MC Cheat Client?
AuthMe does that but ingame. (Not the email and everything but setting a password to the profile)
Not remaking an RNG
But Java random didn’t fit my system
So
I'm the same way tony. Don't worry about.
im sure it did
wait ill try to proof of concept
If you watch every Tony's conversation, you'll soon realize that he's a prodigy of everything
@slate elk I've got a tip for ya, if you want a true RNG, buy a lava lamp, point a camera to it and then compute the numbers from that
alright now proof of concept
output
Top 1: 263 : 6
Top 2: 102 : 5
Top 3: 429 : 5
Top 4: 623 : 5
Top 5: 896 : 5
Top 6: 271 : 4
Top 7: 274 : 4
Top 8: 325 : 4
Top 9: 337 : 4
Top 10: 496 : 4
HashMap<Integer,Integer> p = new HashMap<>();
for(int i = 0;i <1000 ; i++){
Random random = new Random();
int randomn = random.nextInt(0,1000);
if (p.containsKey(randomn)) {
p.put(randomn, p.get(randomn) + 1);
} else {
p.put(randomn, 1);
}
}
List<Map.Entry<Integer, Integer>> pe = new ArrayList<>(p.entrySet());
Collections.sort(pe, (entry1, entry2) -> entry2.getValue().compareTo(entry1.getValue()));
for (int i = 0; i < 10; i++) {
Map.Entry<Integer, Integer> entry = pe.get(i);
System.out.println("Top " + (i + 1) + ": " + entry.getKey() + " : " + entry.getValue());
}
}
the code i wrotee for that
now
clearly can say it missed ton of numbers
now let me improve it a bit
Top 1: 204 : 6
Top 2: 188 : 5
Top 3: 263 : 5
Top 4: 833 : 5
Top 5: 850 : 5
Top 6: 53 : 4
Top 7: 260 : 4
Top 8: 269 : 4
Top 9: 407 : 4
Top 10: 458 : 4
380missing shit
Top 1: 475 : 6
Top 2: 145 : 5
Top 3: 161 : 5
Top 4: 319 : 5
Top 5: 58 : 4
Top 6: 80 : 4
Top 7: 225 : 4
Top 8: 278 : 4
Top 9: 303 : 4
Top 10: 486 : 4
375missing shit
quick fix
package zx.tonyfalk;
import java.time.Instant;
import java.util.*;
public class Main {
public static void main(String[] args) {
HashMap<Integer,Integer> p = new HashMap<>();
Random random = new Random();
for(int i = 0;i < 999 ; i++){
int randomn = random.nextInt(0,1000);
if (p.containsKey(randomn)) {
p.put(randomn, p.get(randomn) + 1);
} else {
p.put(randomn, 1);
}
}
List<Map.Entry<Integer, Integer>> pe = new ArrayList<>(p.entrySet());
Collections.sort(pe, (entry1, entry2) -> entry2.getValue().compareTo(entry1.getValue()));
for (int i = 0; i < 10; i++) {
Map.Entry<Integer, Integer> entry = pe.get(i);
System.out.println("Top " + (i + 1) + ": " + entry.getKey() + " : " + entry.getValue());
}
Set<Integer> existingKeys = p.keySet();
int missingCount = 0;
for (int i = 0; i < 999; i++) {
if (!existingKeys.contains(i)) {
missingCount++;
}
}
System.out.println(missingCount + "missing shit");
}
}
so in average i have around 350+ numbers missing
means more then 1/3
35%
is not good at all
random is random
should not miss so many so often
probably the reason why my old system didnt work as it should
you are misusing java Random really badly
wdym
you've been told this a million times lmao
you are creating a new Random instance every time
do not do that
keep a field
code
-
- same missing amount of numberrs
i just put iti above
so its not called via loop
now i proofed of my concept
where is the updated code lmao
not like you already did
paste.helpch.at crying rn
here
this is what you meant right?
so i stick to same random
all time
results are the same ngl
it wasnt a good proof of concept to you guys?
even on 4X from required amountt
i still have missing numbers
but some reach up to 20 times begin hittted
out of 1000 on 4000 attempts
33 missing
and top 1 was called 24 times
i dont need missing numbers i expect random to be able to hit all to give players some sort of droptable with chances too
so it will be 1/100 actually
and not to be 20/100 or 1/6000 in some scenarios
I mean java Random is by no means perfect and has it downsides, but I doubt you will implement something more robust
statistically it's incredibly unlikely that if you generate 1000 numbers between 0 and 1000 they are all distinct and each one picked once
so, yes, it is bound that some numbers are gonna get picked more than others, but there is no bias
iirc its a LCG, so it does have a couple issues, such as the famous "falling into planes"
thankfully the jdk provides other rng implementations!
does it?
yes
I tested out of more attempts
That’s the thing
hmm, havent heard
jdk 17 added a RandomGenerator interface and there are some algorithms provided in the jdk you can pick from
I’m good with what I made
ah, havent played around with 17 that much
Well afaik securerandom was always around
It might provide better results
No you don't understand
Tony here can create a better solution than top engineers at sun/oracle
Why do you have access to send voice messages LOL
I don't :<
What does he say tho? I'm on a train and can't listen to it
goal is to loop through, ex. 1-100 numbers randomly? that is each number appears at least once?
Voice messages are a stupid concept anyways
that is exactly how the statistics of random number generation works
IntStream.closedRange(0,1000) and shuffle it at this point 
cloudflare hasn't ever seen one number more than once
basically lol
Stop sending voice messages lol
:(
Dont use discord while driving L O L
Ok I. One back soon
I wish this person was a joke
Ok I’ll come back when I get to my destination to get rid of those annoying voice messages
Just driving and texting is hard
Tony is the reason I use public transport
just make a Stack or someshit shuffle it and pop it one by one, when empty just refill and shuffle again (that is if you have the numbers already)
You wouldn't think so
imo thatd be better than fucking around with random
Especially if the goal is to have all the numbers in a random order
Yeah it’s + - what I’m gonna do
I’ll just use shuffle
My manual shuffler is dog shit ngoni
Ngl*
Collections.shuffle() 
thanks gab
for a collection
To shuffle the stream - I've just googled and even more recent SO answers suggest to collect it to a list and use Collections#shuffle 

my man tony has never heard of the birthday problem
stop reminding me of my Probability Theory and Statistics lectures 😩😩😩
I regret reading these messages
the one that apparently there is over 50% chance that in a room of 23 people, 2 people have the same bday?
yes
oh yeah, that's a weird paradox
which is right in the math
but in theory just makes no sense
why, its fun
I check it rn , I didn’t have good education so I probably miss a lot of things 😉 but thanks it’s very interesting
the statistics of rng!
i love statistics
i think if me and statistics married, we would be a great couple
what is copilot cooking
trust the process
does anyone have any plugin on creating scoreboards
i do not understand the API for it
okay i slightly understand the api better
no clue how to get rid of the [<number>] but thats for tomorrow
i remember mineplex just using the actual scoreboard values to order it correctly
so instead of your own custom [#] just make the right ones go from 1-15 instead of all being 0
the API?
what API do we even havee
beside teams
which is dog poopo
Tony, not everyone uses dog poopo 1.8
What exactly don't you understand?
Tho I think you should consider 3rd party APIs https://github.com/topics/scoreboard-api
They'll probably be more lightweight and easier to use
So I've been looking in to stratum which is json being passed between miner and pool.
I've only found 2 message you need to send; subscribe and authorize (submit if the block is found).
However these pools track hashrate and other information yet I can't seem to find the needed information to relay these. Any ideas?
from what I know, pools only estimate hashrate based on the number of 'close calls' you get while mining for each block - idk what exactly the two messages you mentioned contain but if you're sending what progress you've made then that's all they need
oh according to this https://reference.cash/mining/stratum-protocol there is also a 'submit' message
subscribe and authorize (submit if the block is found)
lol i thought submit in your message meant submit the 'subscribe' and 'authorize' messages to be sent
but looking at the site's description of it, i dont think submit is just for when a block is found
it is instead for a 'job' that the client is assigned by the pool
which i'm pretty sure (maybe?? idk pretty sure that's how it was when i mined for monero) is tailored to each client individually based on their estimated hash rate
Huh. I'll add that then see if it works.
that also brings the server's set_difficulty message into context
since it wouldnt make sense to need to set a difficulty for every client if all the client was doing was mining for an actual block, since the real difficulty for that should already be available to every mining node through the global network
I was getting the difficulty through the notify message after sending authroize
that probably sets the initial difficulty
but the pool needs to be able to adjust it since it doesn't know the hash rate for the new node ahead of time
Every new job it sends it
So if the nonce isn't found... Do I just submit the current nonce?
I'll just test around with it I guess. The issue is timing when to send it
maybe you can cut off the first few blocks of the blockchain back when the difficulty was really low and test it on those
would take a lot of figuring out exactly how to cut it up though probably
Doesn't help me test if I'm properly hex'ing the merkle root
Since the coinbase is provided by the pool
ah i see
I can easly make a method that hashes with the data provided by block api's... But I can't test if I'm properly generating the next hash because of the data provided by pools.
For example IDK if I am suppose to hex the extranonce or just pad it. Same for nonce.
I've been hashing the strings from the merkle branch IDK if thats correct or not lol
could look at someone's implementation of it
No one does java and I've mimicked what I could find from python and c variants
surely you could still glean info from what they're doing though
I have. Thats how I've come this far xD
like for that python implementation, just run it and print the extranonce or whatever and see what they're doing to it
Did that
But IDK if these scripts are even properly doing it because when I use them the pool still doesn't provide me data when I do a lookup
The most notable one is cpuminer-multi and even when running that one for days the pool still doesn't have any data when I lookup the wallet
Its displayed others with lower hashrates
curious
another thing you could do is download a known working software and sniff the packets
Yeah will probs test out nicehash.
Tried looking into xmrig but thats for monero only.
What was the link to the website of some paper guy that had (bstats) statistics for paper?
Ye, thanks
Ur project is gonna be open sourced ?
because it's so bad
I have around -5 spoogot servers running
and discord is having issues again for me
for everyone
"Elevated API Latency and Errors" is a daily occurrence at this point
good service
Sounds accurate
anyone else running negative servers here
Time for another alternative to discord lol
I feel like they just have a word generater for one of the splash messages...
"Discord was gonna be called campfire before it was called discord."
"Discord was gonna be called wyvern before it was called discord."
These are actual fun facts tho
From what I know
I know but the same splash message with 1 word changed...
gonna add to my software 😉
as an payment from users
high cpu usage when its on low
low usage when itts on high
🐮
Hi, I'm looking for a developer who could fix a plugin for the server. Plugin is made for 'skins' per item and armor. Knowledge should be related to custom-model-data. The issue is that custom armor texture doesn't show up when it's equipped, however it shows up in your inventory ( but doesn't show in armor slots). Skins work with itemsadder. The work will be paid, of course. lmk if someone is interested in dms
we should lock that chat
for actual devs
we legit need like a special rank when user is recoginzed as devoloper in devolopment support chat
to get accses hee
here
There is a developer rank 😎
They closed it though
There is also like server owner and artist
Yes 
Big cats
efefury u r one of the reasons i suggest it u dont belong here
eh it could be useful because
this chat has impostors and beggers
i dont know why someone would be impostor
really no reason
wat
don't worry, that's just tony being tony
im not saying it's not useful
i just said that it already exist/existed
if you look at my roles :))
i wonder what rank i was here before stuff happened
yes i see
but now when i think about it i want to say we have different levels
now i would be a dev-I for example and u III
i just hate those impostors so much
its like ferari owner would hangout in the lamborghini club
there's an IMPOSTOR AMOGUS
"i hate those imposters" me too man ive lost way too many games
i guess i will just pretend those impostors are npc's not sure what interest they have
i dont understand what you're saying
lol
Perhaps you're the impostor?
birstern misteren susssy baka???
I’m not the imposter, it’s all in your head
If I was the imposter, you’d surely be dead

No he is not the impostor
You sure?
yeah
Conclube impostors are those who r coming here
and pretend to be people who have any knoweldge at programmning
Next rapper from London
Ah thats me; HTML is a turing complete programming language

Modi I saw you!
hear me out, html with css though...

yes... im not worthy... 😩😩
Almost 70 repositories on Github, knowledge of various technologies and programming languages ranging from fundamentals to advanced, over 1.5m lines of code changed, have a full time Java developer job, but I don't have @Developer role on HC, what is it all for then...
you'll get there someday 😔🙏
If he didn't pay you, hes within his right to do so. You could also just sell it since he didn't pay for it.
/report to @compact perch if you still want to report.
You can report if you'd like but like I said in that scenario he's in his rights to do so.
If he didn't pay you first, you can sell/offer it else where.
* unless you had an actual contract
Only said "discussed" so... "in that scenario"
you can in theory represent yourself
there is literally nothing else you can do
both parties are not legally inclined to do their part in this scenario
it's one of the servers I work for yes
if one pays before it's finished, other one can technically run away with the money. if you start working on the project, the other person is not forced to pay the money to you, even if you finished it.
the result is one calls the other one a scammer, that's where it all ends lol
depends on your definition but years, idk
don't have a that fixed amount
I charge 18-22 per hour usually
sometimes I get paid more per hour when it's big servers
for a single commission
yeah that's quite average for his experience lol
but in minecraft you will never reach that amount lol
A percentage upfront. Usually people do 50%
hmm not necessarily
it's just minecraft devs are undervalued
aka underpaid
yesish
in some way yes but mostly people think it's not worth much because it's coding for a block game
so people think it's easy
some others also think java is as easy as skript lol
so they pay less
the market is overall saturated
devs also lower overall prices cause several devs accept really small prices
so people think "well this dev accept 5 per hour, the others should too"
I would say yes
yes maybe
I work per hours and are most of the time tracked
if I set a fixed price I usually estimate the time then get the total price and multiply it by 30%
i think another big factor that leads to devs not being paid well is that a large portion of people who look for commissions are like 14 and have next to no money to spend
but that's only if the client WANTS a fixed price
true, and also no idea how much money is worth since parents get them everything lol
why would I use vim besides when doing stuff in linux
xd
I mean, you can learn it, I suppose
that's highly unneeded tbh
for configurations just use notepad++
fr?
sad
yeah it can be
if you have the patience for it
I had to learn it but never used it again
I am on windows so
simply not my style
lacks support for a few stuff and windows 11 is really good for productivity
I have tried everything and still prefer the simplicity of windows tbh
I do have a Linux pc at home though
use it sometimes but not often
as said, support for a few stuff is lacking
support for what
several programs I use don't support linux
idk what you did but I don't find it bloated at all
if you properly configure it
I don't like the Linux alternatives xd
i think learning vim is fine, you only need to know a select few keybinds to use it as an editor
and you'll gradually pick more up over time
I use it daily so yes
why why? I use my stuff across devices
why would I not use onedrive
all my devices are connected
something windows supports for ex. too
helps with productivity a lot
in my case
you mean you don't send files to yourself using discord
no
lol
I can legit copy a text in my phone and paste it on windows
it's sooooo nice
legit the one feature I probably use the most ngl
ew apple fanboy
you should speak with Charlie, he is the HC apple fanboy
lol
gaming laptops are a pet peeve of mine
you do you
Exposed 0.0
Except that it keeps breaking D:
for the price of a MacBook you get a pc that is at least 3x more powerful lol
we all still love you... even though you are an apple fanboy
works nicely for me xd
Except for the M3 Max**, it’s one of the most powerful CPUs right now 😮
I am a fanboy 🥺
yeah cool, but gpu sucks lmao, any new gen gpu destroys a macbook
besides compatability with macos is even lower than Linux at this point
i mean, you don't buy a macbook to play games
yes sure
not really, especially when also considering energy consumption
but why not play games AND work
windows is horrible for development imo
I am a marvel fan boy, so... unsure which is worse
based
if you're in high school it's probably prudent to get a macbook or other long lasting laptop/ultrabook in preparation for uni
tbh all my clients I got mainly from word of mouth xd
Or you just work and stay productive 
being responsible 💀
that is true, MacBook usually better for that... I currently have a yoga L13 ThinkPad but it was free from the school so yeah
😂😂 it’s hard to, how’ve you been Emily? It’s been a while too
sadly, once you enter summoner's rift, you never leave it.
I’m waiting for Apple to deliver mine 😭 says 14th Nov delivery date
I might get a MacBook for uni later on, the thing is, I would not use it after uni probably lol
cause I am not a fan of apple
I think a MacBook is genuinely one of the best laptops for dev work, I’ve had windows machines and hated it for dev. They’re great for gaming and that’s it
in my experience battery life is the #1 most important factor in a laptop while at uni
apple sells status, not products.
Not true lately
besides latest MacBook, that one got me speechless
I would agree that prior to Apple Silicon, the Intel chips were absolutely terrible and you was overpaying for a name
But since Apple Silicon, I think the amount of power you get in laptops that are a lot more affordable now
but all the other products... just status
nowadays if someone has a Samsung, they get looked at as poor or smt
lmao
if you wanted you could also opt for a desktop PC like you wanted but set aside $100-$200 for a cheapish chromebook
while my phone has a better camera than iPhone 15 specs wise and costed me 1/3 of the price xd
iPhone 15 photos would only win cause of the BIG amount of filters and AI they use
and me gonna study for physics lol
but then you also have samsung straight overlaying a png of the moon overtop it when you try to take a photo
💀
well, that's even more AI
Hellu goofy efe howdy
Doing well hbu
Veri good, do you still code stuff or like what’s up nowadays 
I do coding, politics, law everything man
Jack of all trades master of none
17...
Skull
Clooose enough
How young are you
So youngn

What do you do nowadays
I go CS/uni, i play valorant, i touch grass and ugh, play chess?
Based

I'm gonna be studying next year
Law yeah
No it's a new one
19 rotting corpse?? what am i at 23
How young are you?
ori you be like 5 years or sth old coding mc plugins?
i might also be 19
you're old
you’re young
thank u
you welcome 
basically walking dust at this point
progress
because php is sassy
How is it weird?
probably the
$ and -> and . (echo $str . $str2; instead of blah(str + str2))
Yeah it's a tad weird but you'll get used to it
They use $ because of the money it makes
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static net.md_5.bungee.api.ChatColor.*;
public class ColorHandle {
private static final Pattern hexPattern = Pattern.compile("&#[a-fA-F0-9]{6}");
private static final Pattern gradientPattern = Pattern.compile("&(#[a-fA-F0-9]{6})-(#[a-fA-F0-9]{6})((?:&[olmnkOLMNK])+)?(.+?)(?=(&#|&[a-fA-F0-9k-orxK-ORXRX]|$))");
public static String translate(String input) {
Matcher gradientMatch = gradientPattern.matcher(input);
while (gradientMatch.find()) {
String hex1 = gradientMatch.group(1);
String hex2 = gradientMatch.group(2);
String textStyle = gradientMatch.group(3);
String gradientText = gradientMatch.group(4);
String translatedGradient = gradientTranslate(gradientText, hex1, hex2, textStyle);
input = input.replace(gradientMatch.group(), translatedGradient);
}
Matcher hexMatch = hexPattern.matcher(input);
while (hexMatch.find()) {
String color = input.substring(hexMatch.start() + 1, hexMatch.end());
input = input.replace("&" + color, of(color) + input);
}
return input.replace("&", "\u00a7");
}
private static String gradientTranslate(String input, String hex1, String hex2, String style) {
int r1 = Integer.parseInt(hex1.substring(1, 3), 16);
int g1 = Integer.parseInt(hex1.substring(3, 5), 16);
int b1 = Integer.parseInt(hex1.substring(5, 7), 16);
int r2 = Integer.parseInt(hex2.substring(1, 3), 16);
int g2 = Integer.parseInt(hex2.substring(3, 5), 16);
int b2 = Integer.parseInt(hex2.substring(5, 7), 16);
StringBuilder gradientString = new StringBuilder();
int length = input.length();
for (int i = 0; i < length; i++) {
float t = (float) i / (length - 1);
int r = Math.round(r1 + (r2 - r1) * t);
int g = Math.round(g1 + (g2 - g1) * t);
int b = Math.round(b1 + (b2 - b1) * t);
String hexColor = String.format("#%02x%02x%02x", r, g, b);
if (style != null){
gradientString.append(hexColor).append(style).append(input.charAt(i));
} else {
gradientString.append(hexColor).append(input.charAt(i));
}
}
return gradientString.toString();
}
}
this is what happened when i try
String hexColor = String.format("&#%02x%02x%02x", r, g, b);

have you considered just using MiniMessage?
so i must use minimessage format ?
all the message
you can, and it would make your life easier most likely
i just dont want to use minimessage format
Yeah because &#A75DC8&lHey &#B751CF&lThere is very easy to read 

what should i do now

use MM
okay the $ is interesting, but i slightly dig it, the -> is actually so cute, it reminds me of C but without all the pain, and the . for concatentation is actually pretty weird yeah i'll give you that one
idk like it's kind of cute
some deep part of me kind of likes having a dedicated symbol for variables yk
cause then you always know at a glance what's a variable
what else could it be?
We need to show that this world is run with dollars
wrong chat pal
?
also im glad u want to work on an alternative for minimessage
or what spigot api offers u
give me a min ill take a look at ur stacktrace
thanks, but i found it
why do you need an alternative though lol
yeah but I meant like using MM would’ve saved a long time
idk what is Minimessage i never went to newer versions
it’s really simple
if (style != null){
gradientString.append(of(hexColor)).append(style).append(input.charAt(i));
} else {
gradientString.append(of(hexColor)).append(input.charAt(i));
}
that u send to users
gradient:#hex:#hex2message goes here </gradient>
For example
And you can add as many colors
dont want to use this format
that why i dont use MM
your choice ultimately
he saves alot of time and suffering
however it’s more user friendly too anyway
from that ugly api
it’s not though…
i dont think its tough
but imagine having to writte that shit into code everything
when u can make nice method
and pull it ove
you know that gradient messages are basically unreadable if you use the old format right?
hex works like &color?
it would be in a message config file and your method would just pass it through MM
how does it work exactly short explanation
so it’s not really bad lol
what do you mean ?
hex &#rrggbb
gradient &#rrggbb-#rrggbb
its to color single char?
or >>> any after till new color
game auto translates it too?
&8[Tcfb-#adf3fd&lFlyPlugin&8]&r
use stringbuilder
no
and make ur own color codes
and bring those from the color handler
and a custom placeholder for any color input
not neccessery
imagine hurting your users like that just because you don't want to use MM
i made hex menu and can store it with deluxemenus
so true
please dont do that
yeah @ everyone exists for a reason smh
yes
I have urge to ping all staff sometimes.
they are thankful for your sacrifice
good morning
i got some weird as problem
why can some shit not pass
like via constractu
i have houndrerd of those
and those dont pass
on some classes
and they are very similla
what
real
ill do some debugging dunno why it doesnt work
ill check all the parameters of that dogass carrot
dont judge my caps please i know its java
and not C#
wtf
the thing is
i have like 600 items passed like that
now that carrot
dont work
null null null
constractur is the same
via all
magic carrot
its all the editables gonna make trouble
but apple and bread work
and the banana
now everything afterwards carrot makes trouble
but look they are same as banana apple and bread in the stracture
what the fuck is a banana
bro got the premium minecraft
hold my bee
r
mr kitty
the best thinig
u gonna see in ur life
is this
i bet u have ever seen something that deeply meanful
art
i wish i knew the genius behind it
working
fulltime job
eh i got my own office
🐮
so i go to work everyday
but i think they want me to quit
they cut my working hours
from 7/12
to 6/5
5 hous 6 days a week
instead of 7 days a week 12 hous
was so good everyday 12 hours
what the heck is 7 days a week 12 hours
do you have like 10 day weeks and 36 hours a day?
yes a week is 7 days
now only 5 hours 6 days a week
SirYwell peasent its called slavery
im not from wealthy family so typically im a slave for long term
okay
it doesnt make any sense
let me check what bread that passes test prints
where are you from?
I mean, I hope for you that you can get into a better situation at some point
yeah i guess
like i wish i wasnt homeless
i dont own a house
i rent one
a small apt
its in constraction too
wbu
arent u german?




🥲



