#dev-general
1 messages · Page 451 of 1
I could give that a try I guess
a lot of Krypton unfortunately can’t be unit tested though
oh well in that case i can proudly consider myself a TDD practitioner
If any of the tests fail, you rewrite/add/remove code from that part to get the test to pass
yeah TDD is just writing a ton of tests, you don't have to write the tests first
mhm
Keep the coverage high and you're good
since the entire idea of unit tests is ensuring that things that should be predictable are in fact predictable
my coverage is at a solid 0%
I mean in a pure language unit testing is really easy 😌
Theres actually a practice called "Extreme Programming" that includes all this
xD
Just had it in todays exam
mmmm jaskell
bm tried that once
i think he's scarred for life cause of it
the java haskell interop?
actually what am I talking about? Krypton can easily be unit tested with embedded channels
It worked sorta
embedded channels OP
imagine having to mock IO because you haven't decoupled IO and functionality 🤣 🤣
Not as good as haskell
😌
how tf is vanilla pure?
how isn't it
^
you'd have to define IO
It's just a state machine with IO
vanilla has more side effects than your average heroine needle
it’s literally filled with mutable state
Recursion is the way
like Mojang loves mutable state
It doesnt need to be recreated with mutation in mind
Haskell can do mutation if needed anyway, in a purer way
IORefs
have you even seen vanilla?
Yes
I do not believe for one second that vanilla is pure
Depends on what you mean by vanilla is pure
what besides the server itself does the server change?
oh and besides IO
it doesn't affect anything else
like it has no side effects
ah true I guess
vanilla is very prone to just falling apart
it’s like a balloon
what’s Bravo?
ah right
Baskerville
A Minecraft server written in haskell.```
Altho that one seems incomplete actually
xD
yeah I didn’t say it’s not possible to make a pure server, I just said that vanilla is far from pure
on Nov 23, 2013
o.o
also, didn’t BM say that no function in Java can be pure because there’s no guarantee it won’t throw a stack overflow error?
Oh I assumed you meant it wasnt possible to recreate "vanilla minecraft" in a pure way
Yes
no I just thought you were trying to say that the Notchian server was pure lol
But thats more of a catch in a sense
I wonder how I should actually deal with block states lol
like something better than just using the raw IDs
because that is far from API friendly
Mojang hard-codes all of them in what I’m going to call a pseudoenum
The server as a specification is just a state machine with IO
Nothing there is technically impure
yeah but Mojang’s implementation of it is far from pure
Sure but that's not what I said in the first place
oh btw, anyone know how Spigot’s new registries are actually going to work?
changing the subject, thinking of pseudoenums and registry stuff
aren’t they deprecating the Material enum?
https://escape.codingame.com/ holy shit
catch only runs if it catches an exception it is listening for, finally is always meant to run
people used to use it to close resources
but we use try-with-resources for that now
finally sees very little use anymore
did you read anything I said?
.
I got an email about that a while ago, does it seem good?
I just finished the training =/ I need a second player for the first mission xd
but looks cool imo
Yeah I only did the training too
try finally is usually a good practice for Locks
hehe
take the md5 hash of that ^
and convert it from hex to base 64 if the output is in hex
🤔
yes
you should be converting from hex to base 64
0CA20CA30DCF0C4CA37A23DC45BEA375
hex -> base 64
can you link that site
first off, the base 64 from that site has the same number of characters as the base 16 - which is just not how converting them works, very weird
there ya go
lol literally the first 3 totally random sites I picked did the conversion properly
don't know what kind of sketchy shit dkim searches
yeah i have no idea how he got to that site in the first place
it doesn't show up anywhere when googling for hex to base 64 sites
dkim do you start at the last page of the search results and work your way forward
anyways, at least it works
i can rest easy
lmao
ok
hahha
lol
sir i hate to u inform that it hasnt been deleted. now what?
rip T1 no embeds lol
lol
you don't get image/embed perms till T2
if someone wud mind reposting...
I have another threat
nooooo!
lmao love this
A function relates an input to an output. ... It is like a machine that has an input and an output. And the output is related somehow to the input.
Rip mini getting his ass cut in the spigot discord for mentioning paper
why oh why am I not surprised
Yes I wonder why this is the case 
:md5:
Someone kill me
Die
Die x2
Functions 🤤 🤤
wat
Spigot's discord is a wild ride
lol
ooh i have stuff to say about this
👀
is anyone still in that server
i have a message i linked to in my rant and id like to check if its still there
Yeah
#694661573125472256 message has any of that been deleted?
no
oop ok
oh shit I just read this hahahahaa dk how I skipped it last time
I wonder who that could be
jay?
oo
OMG
MiniPigger
lol
what is it with you and md5 hashes
but why md5 specifically
We don't do md5 here 👀
the xp rate is kept private isnt it
316c44cfa6c054490532f93d4948b8e0
im like 40 xp away from tier 2
and it takes ages yea lol
We have reverse engineered the algorithm
Brave members of Helpchat
it's wrong bm
=xping often helps updating it, it only does it by itself every so often
ooh its only 28 now
That's like 1 to 2 messages

that's the correct pig
Damn lucy you've been unlucky, try a bigger message, the xp changes per message size
the md5 of that pig is magical
if u boost
That's why Fefo has more xp than dkim 🥲
2x multi
Given a value i of type I, I models indirectly_readable only if all concepts it subsumes are modeled and the expression *i is equality preserving.
what on earth does this mean lol
i cant afford to boost
:p
if i could then i absolutely would, this server is kinda cool
this server is da best
its like spigot but better
ew
dkimserver 😎
how dare you compare us with spigot
I feel offended by that comparison
bannable offense
=ban @boreal needle
🥲
pig, =ban lucy
spigot discord 🥶 🥶
noooooooooooo
they're being boring rn
big yikes
pigg
ive already been banned from enough minecraft discords
lmfao
I try to convince spigot discord about the merits of haskell and they ignore me
Not happy
lol
someday cube is going to make it actually ban
they fear what they don't understand
and then piggy will do the command
=banwheel
md wont consider anything thats not java 8, do you really think he'd like haskell
Next april fool event
:c
lol
=wheel
no
piggy do you eat pork
wrong wheel
lol
ok i have 2 xp left
=wheel ban
HE SHOULD
pog
=wheel
free xp 🙂
1 🥲
DKIM
kotlin good
java 8 good
b-but
I mean yeah it's good, but modern versions are way better
are you telling me you don't like haskell ;-;
watch the first message i send as a tier 2 be the one where i get banned
Can't wait for valhalla 🥺
yes
when is it matt
I don't think it has a release date yet
i meant that using no haskell is bad
so using haskell is good
smh
:)
jep 159 was the only jep that mattered change my mind
B.A.A.S - Too many caps!
No need to shout.
Barry's Anti Abuse System | v1.4.4
YEAH BABY
B.A.A.S - Too many caps!
No need to shout.
Barry's Anti Abuse System | v1.4.4
barty 🥲
&:DDDDDD
B.A.A.S - Too many caps!
No need to shout.
Barry's Anti Abuse System | v1.4.4
go uh
guys I think lucy spent her monthly message quota just to level up lol
worth it
gets muted
A small price to pay for blue name
no more chatting till next month 🥲
lol
bold of you to assume i have social skills
and an ability to not piss people off
im very good at pissing people off
don't we all 🥲
😩
okay can someone tell me what on the face of god's green earth does this mean?
yes?
you heard me
where's this from?
ah okay
yes
I see
context pls
I models indirectly_readable only *if only all concepts it subsumes are modeled and the expression i is equality perserving.
What does *I refer to
whats the best way to save data?
in the balls
depends on the type of data
json or db
atm i save in json
or yaml
immutable database 😌
that sounds like the stupidest thing ever bm
because it is
i know developers arent very good at naming things but jesus christ almighty
https://en.cppreference.com/w/cpp/iterator/indirectly_readable 🥲 trying to understand the new iteration modeling, the very first requirement for the most basic iterator is already hitting hard lol
but someone complained that it would be laggy if you had a lot of player data
Every time you need to edit the database, you destroy it and spin up a new instance with the new data
very efficient
/s
anal
bm
oui
ur memory is immutable
no destroying db
u have to install a new database server
make a new db
oh shoot
copy data over except data u don't want
If I knew wtf "subsuming concepts" means I would maybe understand
then add new data
I figured out the subsuming from a google but idk what *I means
But since this is C++ there probably isn't an easy explanation
immutable machine?
dereferencing
yeah that's the bit that got me too lol
so json is ok for saving player data?
yes
dereferencing i
if so ill leave it lol
Sure
as long as you aren't saving/reading every second, yes
hint: cache
it saves on disable or player leave
ok
I hate the new iterator concepts ugh
What kind of data is it
I'll love them a year from now but
rust iterators on the other hand...
modern art
haskell iterators... 🤢
you know what's funny
all that gets saved is name uuid playerjoins and playtime
they took the common "for loop" and turned it into a for loop without parentheses, truly revolutionary 😌 😩
you can just define a begin() and an end() functions and you already can use your structure/class in a for-each loop lol
so that i can do offline player support for playtime lol
HOLY
No such thing!!!
🤢 🤮
ok so if you dereference *i and the equality doesn't change (I'm assuming this means i is still a type of I), and i implements everything of I, then I models "indirectly_readable"
does that make sense?
haskell needs to add iterators
It really doesn't
100% guess
I'm assuming this means i is still a type of I
it doesn't
give up 🥲
Unless ... iterator monad...? 😳
😭 😭 😭
how would I print "a" 10 times
withotu another function
Recursion
uh
that when you're dereferencing, the value doesn't change?
mapM? map? mapM_?
okay so in layman's terms, indirectly_readable means: *i should give the same output for the same input
sure that works, or replicateM
An expression is equality preserving if it results in equal outputs given equal inputs.
The inputs to an expression consist of its operands. The outputs of an expression consist of its result and all operands modified by the expression (if any).In specification of standard concepts, operands are defined as the largest subexpressions that include only:
an id-expression, and invocations of std::move, std::forward, and std::declval.The cv-qualification and value category of each operand is determined by assuming that each template type parameter denotes a cv-unqualified complete non-array object type.
Every expression required to be equality preserving is further required to be stable: two evaluations of such an expression with the same input objects must have equal outputs absent any explicit intervening modification of those input objects.
juicy xp
fun a(x: Int) {
if x>=10 return
println('a')
fun (x+1)
}
Anyone got suggestions to how does one completelly turn of a modern phone?
🤢
Was gonna go with taking out a battery, but that's no possible these days
blitz thats big and chunky though
Dkim the idiomatic thing to do would be to repeat "a" 10 times and print it once
uh wait until it runs out of it?
repeat(10) println("a")
```😌
lol wat
putStr (replicate 10 "a\n")
dkim you won't feel the same when you have big problems to solve
It's stuck in a turn on turn off loop
let it drain
whats diff between replicate and replicateM?
completely
same with map, mapM, and mapM_
replicateM is for monads
uh
oh boy
map and replicate work with normal values, the others work with monadic values
I got to the indirectly_writable concept
example?
of both usages?
this is getting wild
since i dont really know what monads are
does anyone, really?
In this context they'd just be "side effects"
um
I don't think you'd really use mapM or replicateM for anything that didn't involve side effects
yes
what about mapM_
I was just about to say that
Yeah pretty much
except generalised to work with any Monad / Applicative
main = mapM_ (putStrLn) ["hello", "helo"]
will that code work?
Control.Monad?
iirc mapM comes from C.M yeah
ez
¸I'm like 90% sure my phone is dead
Like the owner
wowo it's turning on
just like you
Configurators, idk why people think they are developers
wat
lol
that used to be a thing
@obtuse gale Dude, LuckPerms is a gold mine
lmaoo
The fuck
Ikr
even if you're not a native english speaker you should know that's not a question ;-;
Lmfao yeah
fefo trans?
he was talking about the person above (who asked a question) - as he said in the next message
that you cut off in the screenshot
Ye
Even with the message above it makes no sense lol
lol no
I asked cube to change my nick because I no booster 🥲
Mhmh
in that case
🥲
Fair enough lol
lol
Damn, here is an eye pic I took 9 years ago 🥲
Lmao
Nah, just a good camera xD
Now that's a beautiful eye
i spend £300 on a program that doesnt even work without crashing
this is not funny
what is it supposed to do?
basically anything and everything audio related
using this thing called max which is part of it
its like a visual programming language for audio
👀
what does it mean? https://imgur.com/a/qocf0Ph
i can't just put the player statistic?
I feel like deleting messages should remove xp
maybe
int getStatistic(@NotNull Statistic statistic, @NotNull Material material)
throws IllegalArgumentException, IllegalArgumentException, IllegalArgumentException```
Gets the value of the given statistic for this player.
the value of the given statistic
statistic - Statistic to check
material - Material offset of the statistic
IllegalArgumentException - if statistic is null
IllegalArgumentException - if material is null
IllegalArgumentException - if the given parameter is not valid for the statistic
you might have to do that
show code
this is new I swear
probably is
d;1.12 OfflinaPlayer#getStatistic
Player getPlayer()```
Gets a Player object that this represents, if there is one
If the player is online, this will return that player. Otherwise, it will return null.
Online player
yup
public static final Statistic MINE_BLOCK```
ah I thought it says the params as well
show code != show stack trace of error
you have to get through each material
its code and track ...
but be aware of the fact that on this stupid game, multiple materials share the same value
Why tf is youtube recommending me python stuff, i have never even watched anything python related lmao
eg on 1.12 dirt and coarse dirt have the same value
its a sign
Sign to kill myself, nice
so i can't take total blocks and use it for count?
pretty much
you can but you have to filter out these that share the same values
who's that, your mom?
jk 😛
wrong java version
records 😄
sealed classed :DDDD
better switches :DDDDDDDDDDDDDD
foreign memory api :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
half of that is in 16
java --version
no
17 is not out yet
16 came out like a month ago
Hey, I got some piece of simple code I'm writing
coding help: #development
?jdk
ez clap
Is the path correct?
oh i wrong channel
Can't find the original but this is good: https://youtu.be/PmZErTxZZJk?t=36
Enjoy watching these funny memes. Try not to laugh as you watch these weekly dank videos. You Laugh You Lose. Like the video and Subscribe for more
➟ JOIN MY DISCORD: https://discord.gg/NpPgT6frnZ
➟ BINGE MY MEMES: https://bit.ly/BingeMemes
➟ Credits (Please check out the creators of these clips, without them these kinds of videos won't exist...
talking about the one that the timestamp is at
second 36
Anyone here good at designing websites / webpages?
Me and the co-owner of BentoBox (The plots / skyblock type plugin) are overthrowing the downloads page, and I'm trying to find a good looking theme
well, not theme but like template / idea
Doing a Kotlin survey and having to answer it like i am part of some sort of company and actually doing work 🥲
I just witnessed a 1hp vs 2hp fight
lmaooo
pretty cool wizard
Should I
A) Make my dkim19375Core library kotlin ```diff
- more kotlin friendly, can use kotlin specific features
- i dont like java anymore
- if i work on a java project, I can't use the latest version of the lib :/
- less people can understand/use it
B) Keep it java ```diff
+ if i work on a java project, I can use the latest version of the lib
+ more people can understand/use it
- less kotlin friendly, cannot use kotlin specific features
- i dont like java anymore
```or
C) make it both ```diff
- no
Keep libraries Java if you want your users to use Java
I know its compatible back and forth
but things will get messy fast
Make it in Java and you can write some Kotlin DSL
^
dont
but i dont want to write it in java 😩
command libs are not worth making
b-but
it'll be very simple
how will it be a nightmare
probably for only me
since no one uses anything i make
use brigad at least man
i want to make dkim-mfcmd
ur going to epicly fail
Well your projects aren't known by thousands upon thousands of people
lol
Once they are people will use them
still
which one
pretend that i didn't say anything about commands
I mean, who uses the lib?
me
lol
just me
probably
the reason why i want to keep it java
is in case im working on a project (and collaborating with someone else), and they use java, so the project is in java
so then i can't use my lib
well i can't use the latest version
I mean imo a core is supposed to help you out making things easier, mine is in Kotlin because it has all the Kotlin specific features I need to be easier
what are some kotlin specific features?
besides properties
and extension functions
and top level functions
Oof so many
This entire thing would be impossible in Java
No
Yes
Reified generics, inline functions, are good examples
Basically generic parameters that aren't erased
And inline functions https://kotlinlang.org/docs/inline-functions.html
thx
Exams over, Imma try to get the repo up
Ayyy! How did it go?
Nice, finals are so fucking stressing
Which exams did you have?
It wasnt finals, was mid-terms
that got me down 8 points then i got a bonus credit
They switched from the 2 CATs to a sinlge midterm coz rona
Yeah
oh btw matt, Reposilite or Nexus?
hmm
I run mine with just 2GB and never had issues, idk how much it's using, let me see if i can check xD
oh thats pretty good, lemme try that
But first I need to lookup how to work with nginx
Yea that looks pretty good
Is there nothing else running* on that?
Also, I should use docker right?
I think i run something else on the same vps, i don't remember what xD
And yeah artifactory even has a simple docker installation
Oh awesome
Also i was thinking, do you think it'd be better to resolve the download link at run time or when creating the json file? Because I feel like if it has to check at compile time, i'll need to figure how to cache stuff with gradle since it can be pretty frequent
Oof
Nexus recommends minimum 4GB while artifactory recommends 2GB
ahh, I mean as long as we can provide the repo and details, we can do it at runtime
Also
transferred the repo to the org
Yeah I think it'd be easier at runtime
And nice
Also can we switch to gradle kts? xD
Yea sure
Is there a easy switch between them?
Or do we just have to create the kts script and rewrite the tasks to it?
Yes, me rewriting it manually
xD
I've done it so much that I don't even mind anymore
lol
Aight let me finish the json task then and i'll push the changes
Btw did you check the Application api in the app package?
I think I should refactor that
not sure what all to add atm
Also don't think we need to specify that a dependency is transitive, if it's all loaded it should be fine right?
And not yet
Yea it should be fine
Do we get info about which dependencies are transitive atm?
Not atm, but I can
Will it be an easy addition? If so it might be useful for some future feature
It should be pretty easy
Ah then I think it might be useful to include that info, so we wont have to change the format later on
Actually now that I think about it, it'd be nice to create a fat jar with the transitive inside instead of having multiple small jars
Like for example, adventure has 14 transitive dependencies, that'd be 15 jars xD
Instead could make one adventure jar with everything inside
Yeah
Having a separate version as well could be useful as well
Like a cache
But we can have a separate directory with them combined
So if we had a.b.c:abc:1.0 already present, we can just copy that over
oh ffs the emojis
xD
Lmao
Now that I think about it yeah, might be better to have them separate, hmm 
That looks similar to something InventiveTalents did
but worse
https://www.spigotmc.org/resources/free-hosting-24-7.91775/ i also found a solid avertisement
which is sick
🥲
want me to mass ping?
@onyx loom @remote goblet @ocean quartz @hot hull @prisma wave @obtuse gale @lunar cypress @jovial warren @steel heart @surreal quarry @forest pecan and others wanna join? ^^^
oh link is gone lmao
here
lol
I is in bed
death bed?
get outta bed
I probably missed quite a few people. tell me who I missed so I can remass ping xD
oh @stuck harbor and @oblique heath
Piggy?
admin ping 👀
a lot of words I have not seen in my entire life
this is going to be good
wtf is this? someone translate to english I can maybe understand
😌
haskell slow
wait I think I've connected with a wrong account
flip replicate '1' $sum $ map length input
nope, trying to get my pen tablet to work on linux...
man its too late for CoC
Would changing the hostname of a vps require any changes in nginx?
wacom?
yes
😢
more specifically, I'm trying to set the option to only use one of my 2 screens
ubuntu has drivers for it built in iirc so other distros should have some somewhere
hm
#827055635052888075 message
Finally a good request
but the "Twinview" parameter that used to do that seems to have been removed from the driver without replacement
thats unfortunate
and all the forum posts I find are from like 2010
cant right now, getting poked
gonna make an issue on the github
alr
ez 🙂
I don't understand. I can't split by new line what should I split then
wdym
you have to do a loop for each line
use nextLine to get each new line
oh wait its multiple lines... Thought its just one string and we should split by new line
smh
lol
well usually if its a loop they make the loop for you
yeah bcz they have to torture theirselfes and use haskell***
what was the prompt
haskell***
ah yeah
Are they all one String or multiple?
wat
The lines
wat
it's probably multiple
That seems easy then
yeah its pretty easy
forgot
plus im not in intellij or anything
so
so what?
you use intellij for coc?
Cheater
i joined late
understandable
no
Dkim is now officially the number one person in this discord
yeah ez without var
coc does have autofill yes
lmao
or at least autosuggest
dammit
new one?
Yup
im gonna do some other stuff
someone make please
nvm then I'mma do it
think u can start @old wyvern dkim ain't coming anymore
aight

