#dev-general
1 messages Β· Page 512 of 1
mhm
Ok pog pog thank you wise man
yo @old wyvern u on linux right?
oh. wanted to see how your activity status page looks rn
the ceiling
bcz I can't get IJ to show up
for me
it doesn't find it at all and when I try to add it, I can't seem to find it
I dont have ij installed there, but it works with vcs
hmm I Don't have vsc installed to test xD
π₯Ά
install it!
what for?
Don't have plans to do any web development any time soon. And I Just use Subl for the rest
nah not rn
sad
hmm when listing processes, to only show those that have intellij in their name or whatever it should be ps -ef | grep intellij correct?
Elm
yay ghcup π
what's elm?
that's elmo
A delightful language with friendly error messages, great performance, small assets, and no runtime exceptions.
hmm @cinder flare u around?
π
Ic
well guess I have to live without the activity status
not that I ever cared
||I did
, still do||
holy shit, I didn't know a functional JS exist! π
How long did I waited for this very moment
Probably since my web dev teacher tried their best to teach JS to me
(and failed)
this error message dude https://mobile.twitter.com/ID_AA_Carmack/status/735197548034412546?s=20
That should be an inspiration for every error message. https://t.co/w9eGALovYw
416
521
Yea the elm compiler is amazing
js itself has a pretty amazing library for fp
rambda
Ah yes, android gets back to trolling me...
Omg, found it
thank god
elm feels heavily inspired by haskell
Inspired by ML
both of them are
ML ("Meta Language") is a general-purpose functional programming language. It is known for its use of the polymorphic HindleyβMilner type system, which automatically assigns the types of most expressions without requiring explicit type annotations, and ensures type safety β there is a formal proof that a well-typed ML program does not cause runt...
there is a formal proof that a well-typed ML program does not cause runtime type errorsπ
there are some things I didn't like

like not having a generic map function
this is ij telling us to give up
lmao
I meant like you have to type List.map instead of map
that's what you get for using sudo without thinking it twice
smfh
what is that lol
actually its just Discover not discovery
Use an unqualified import?
its an application explorer
the default one for KDE Neon
developed bt the Plasma team
is it possible? I never used Elm
o
Yes
does haskell have |> thing?
But you'll end up with the same issue as qualified exists in haskell for as well at some point
it has $
No
join ", " $ sort $ names
There might be another operator somewhere for that tho
lemme check hackage
and they were complaining about Kotlin using K instead of C everywhere lmao
xddddd
π₯²
Haskell
is elm variables lazily evaluated?
elm documentation: Strict and delayed evaluation
Not in the same way as haskell
its only lazy in case of curried functions
Am I being dumb or something, but why is that when I return the size its 11 but when I print the elements its only 9 for an ArrayList
Oh wait nvm
@hot hull u finally got a job?
F# is the same βΉοΈ
I think it's because there's no type classes so a proper generic map isn't possible
I quite liked \> operator, I can read it as "then" and everything just makes so much more sense
in the example Elm docs had, there was a listed that was sorted, then joined using ", " as separator, so they had
names |> List.sort |> List.join ", "``` which is soooo much more readable than
```JAVA
String.join(", ", (Collections.sort(names)));``` because it's in the natural order of the operations
oh yeah that style looks much nicer
I'm surprised there's nothing in haskell for that
Like prefix style isn't terrible, but it can get a bit cumbersome
Does that mean haskell bad?
NO!
Former can be read as "pick the names list, sort it, then join it by ', '", latter is like "Join by ', ' a Collectio... ops, a list that will be sorted", lol
just different
join " " $ sort $ names
"Join the sorted names"
Yeah neither is really better, they're just different styles
what is the haskell equivalent of |>?
I don't think there is one
I disagree, the ones without parentheses are more readable
Hes refering to $ and |>
Lisps are fine
Johnny be like
haskell has one big advantage over elm though, laziness
π
lmao
easily applied I meant
luckily he is offline rn
infinite lists
On the other hand, elm is 100% pure apart from interop afaik
that's cool
π
π
html is ugly no matter what language it is used from, lol
ghc*
ghc
sorry linux isn't written in haskell
We don't take lightly to non-haskell users round these parts
you will be sorry
Not for long!!
@old wyvern can you use Path instead of File for Slimjar lol
well actually
yeah thats only internal code, but when I used your thing to relocate I had to pass in a File π₯²
not a big deal tho
blame luck
Oh yeah that is true it uses Lucko relocation
When I was converting Files to Paths actually, i had to do it for Luck's relocation and it seemed that I only had to change like 6 fields
Someone should make a PR to do it lol
lol
Dont you just love having to spam this annotation everywhere
Such a nice language!
are you proud of me?
I fixed it up all by myself ;p
well, ok I didn't fix it, but I added a config, and thats close enough right?
π
ah now that's progress!
now I just gotta go through and yell at myself for why I did stuff in a stupid way lol
yeah wtf were you thinking
its the maven
but maven is simpler, and doesn't keep a daemon running (idk if it effects performance, but I'm also way too lazy to wait for it to boot)
wait no you used the word poggers
thats not allowed
you can't do that
It actually does
I will forcefully keep you from poggering
pulls out tazer
pulls out lazer
Hey, your tazer has no AA batteries, I had to pick them for my remote control. (is it offtopic?)
my lazer does π
π€£
Hell yeah
Actually, is that a thing? "A" battery? I have never seen one
Specifically put the a in quotes because of you, nerd
ily2 matt
Apparently there is "A" battery
R23 (carbonβzinc)
LR23 (alkaline)
More common as a NiCd or NiMH cell size than a primary size, popular in older laptop batteries and hobby battery packs.
Various fractional sizes are also available; e.g., 2β3 A and 4β5 A.
Was waiting for my IJ to stop being dumb
I understand you very well
It used to be 4 here before 1.5
What the hell does Caused by: java.util.concurrent.RejectedExecutionException: java.util.concurrent.RejectedExecutionException: Thread limit exceeded replacing blocked worker mean
you had too many threads
Too many app threads?
threads 
wait thats a thing? I was kidding
Seems like it lmao
But it's not used commonly
Exception thrown by an Executor when a task cannot be accepted for execution
what kind of executor service did you create
one that used too many threads, apparently
I never seen this error before, and it seemed like it was in a class that never had gotten errors before
eh quite the opposite
tried to submit a task and the service's queue is full or something
how could "thread limit exceeded" be anything but too many threads
let me rerun it to see if its consistent
read the bloody message I literally just sent lmao
so the services' queue is full, that still means there was too many threads for the service, no?
how is that the opposite
When i ran it again, i didnt get the error
nor did i get it the third or fourth time
weird
oooh a race condition maybe?
what does that mean lol
what
Oh
you don't know what a race condition is
.
lmfao
Now that im thinking about it, I think I know why
Its cause i created multiple executors with fixed thread pool size Runtime.getRuntime().availableProcessors()
in the caching
Lol
fixed thread pool size
yep
perhaps
oh lord
What?
Just notice you're a bit less active and saw your last message which was telling me to get a job. So thought maybe u did the same
Nah, I'm still in school smh
@pallid gale where can i get support if i have issues with one of your plugins
@ocean quartz
yucky
once you're done reading and comprehending them, ask your question in #general-plugins or #general-plugins-2 and wait patiently for someone who knows about your issue to reply
u wanna just answer my question while ur here? you seem to know lots about their plugins
ask your question in #general-plugins or #general-plugins-2
if you do, I will evaluate if i know the answer or not and reply (or not) accordingly
aight
Man left
can any1 give me documentations about PlaceholderAPI.setPlaceholders()
currently upgrading Krypton to 1.17 π₯²
testing this is gonna be a bit annoying though
anyone know how long left until 1.17 releases?
It releases on 8th
They havent increased the y yet right?
they have afaik
currently kinda confused at the new BitSet changes lol
never used a BitSet before
https://wiki.vg/Pre-release_protocol#Chunk_Data if you look here, you see the primary bit mask now uses a BitSet which gets converted to an array of longs?
omg 1.17 overhauled the network to remove all the lateinits
Oh they changed to BitSets
Lol they added a verified channel in the spigot disocrd
Imagine being verified on spigot discord
that seems kinda useless imo, unless they will be blocking non-verified users all together
which also sounds like a bad idea
hey does anyone here use the official Minecraft launcher? or can use it? mine doesn't work lol
I need the 1.17 pre-release 3 JSON data from .minecraft/versions/1.17-pre3 if someone doesn't mind adding a configuration for 1.17-pre3 in the launcher and running it
the version.json?
i'll do it in a min
yeah
π¦
thanks for the offer anyway
woa
hamood spelled backwards is hamood
wat
it is
Are you drunk?
b a c k w a r d s
H a m o o d b a c k w a r d s
doomah?
oh no
Dommah dick fit in yo mouth
π₯²
sad dkim
Ok?
π©
Lol
do u not get it
im going to get BANNED
Congrats!
π€‘
is it known that a lot of servers are "randomly" getting infected lately? We've discussed this over at the mythicmobs discord and its been quite the topic the last few days, but it doesnt seem like much of it is happening over here
infected?
plugins will show a "loaded class javassist" message in the logs
after a while, this will appear https://gyazo.com/f7a7a9392aad366dfed9e314674b020b
leaked plugins? π€‘
^
javassist iirc isnt harmful
the aftereffect is
javassist is a symptom
Yugi is typing...
Javaassist is just a bytecode manip library
Not some malware
If you're using leaked plugins, thats completely your fault
the people on their discord mention it being a lesson for people who pirated plugins, but it seems that its also affecting spigot plugins now
Most of them have backdoors
Report any spigot plugin from which you experienced that
Simple
Also try to download resources from trusted authors
Or look for open source alternatives
nah we know. it hasnt happened to us yet
spigotmc only checks first plugin uploads, unlike bukkitdev
you'll have to report if you want them to recheck
i mean, you can still put malicious code while having it OS
just don't commit the malicious stuff
You can compare the jar with the source
oh
Or better yet
true
compile it yourself
It's not "affecting spigot plugins", this is done by the authors on purpose, you make it sound like it's a virus
decompiled an infected jar*
and?
are you using any leaked plugins? i'd recommend you reinstall the server jar (and cache folder if you're using paper), removing the leaked plugins, and maybe replacing the other plugins
https://gyazo.com/f7a7a9392aad366dfed9e314674b020b <-- this was run on a clean server without any cracked plugins at all. ever
You have had cracked plugins installed earlier on
and yea we know how to handle it. I was just asking if you guys knew more about it or not
could it also be the case that spigot devs run cracked plugins and get their jar infected, then push it to spigot without knowing it
There have been cases where a leaked plugin changes the bytecode of some class in other plugins to get it to load what it wants
Unlikely
Youd normally upload a direct build artifact
^
even then, dev servers only have like 15 plugins max, all well known
Its also unlikely for them to use cracked plugins on a test server
such as worldedit, essentials, placeholderapi, etc
play stupid games...
hm alright, talking about the possibilities rn
Again this isn't a virus, it's stupid decision
;,ap
They care about performance and run it on a new thread that's already better than most spigot devs
yeah we've got a shitload of people in the luckperms discord because of this shit and everyone's been doing nothing but blame luckperms
h e l l
pretty smart
so your best bet would be to just redownload every single jar (server jar included, if you're on paper also delete the /cache folder) and upload them
I presume the plugin folders can stay
and dont use cracked plugins
but the jars are a nay nay
mhm mhm
yea ofc, mitten, but it seems like its affecting clean servers as well
mhm mhm
as if that wasnt obvious enough
did you use the same jars?
probably because it modifies the server jar
Doubt it
I meant clean as in never used a cracked plugin ever
How many plugins do you have?
again, it hasnt affected us
Ah alright
Well whoever was having an issue with a clean setup, they have a pretty simple solution to finding the culprit. Download clean jars of each and decompile and look through the freshly downloaded ones
we've had 2 staffmembers getting infected by it already, whereas im sure that 1 of them hasnt run a cracked plugin at any time
hasn't happened to me π€·
I love the fabric API so simple to use
it's very DIY
it has many built-in events of course, but there is no such thing as a "playerchatevent" for example
mixins all the way :d
i think 
yea there is none lol
does anyone know how to use the EntityShootBowEvent
What does fabric do for multiple version support in mixins? I hate Forges weird comment notation they use
isnt the same?
how does forge do it?
I dont think so, atleast Fabric projects ive looked through dont seem to use it the same way
and i havent seen it in their mixin documentation
doesnt look like from what I've seen - im not too familiar with either of those but Fabric seems way better
ya i would agree, i just have no idea how they support different versions
thought they used the same mixins and shit
Well they defintely arent portable from fabric to forge or vis-versa
Fabric uses a fork of mixins
Does it have that weird comment notation support then?
what's "that weird comment notation" you're referring to?
Lemme find an example. one second
Hmm, well ReplayMod has it and thats Fabric
Something like this:
@Mixin(TitleScreen.class)
public interface GuiMainMenuAccessor {
//#if MC>=10904
@Accessor("realmsNotificationGui")
Screen getRealmsNotification();
@Accessor("realmsNotificationGui")
void setRealmsNotification(Screen value);
//#endif
}
//#if MC>=11400
import net.minecraft.client.gui.widget.AbstractButtonWidget;
//#else
//$$ import net.minecraft.client.gui.GuiButton;
//#endif
//#if MC>=11400
import net.minecraft.client.gui.Element;
//#endif
@Mixin(Screen.class)
public interface GuiScreenAccessor {
//#if MC>=11400
@Accessor
List<AbstractButtonWidget> getButtons();
//#else
//$$ @Accessor("buttonList")
//$$ List<GuiButton> getButtons();
//#endif
//#if MC>=11400
@Accessor
List<Element> getChildren();
//#endif
}
or that
First time I've seen comments like that.
Are they actually functional?
tf are those
Ive seen these alot
is this C macros? π
lolol
They may have made macros as well
Holy fuck
How do people always find ways to make things worse xD
It seems like it would suck, but who am i to judge lol
I dont like it either
that is very C-ish
Whats a better solution then?
Each mixin having a target version and only applying them then?
Not quite template haskell π
Im not really a fan of their mixins itself
Well its amazing and lighweight, so i kindof love it, but supporting multiple versions with it is almost imposible
You should probably ask mixin questions in the sponge discord tbh
Mumfrey is pretty helpful
π
well for the fabric specific question you'll be way better off asking in the fabric discord directly
Have you tried it yet bm?
Yes
Nope
welp
But you know
I believe they use a refmap thing loaded and remapped at runtime
It's haskell, it can't be bad!
π
During compilation yeah
Then how does that work?
yeah but ig gradle plugins can read them anyway?
Do you have to provide the sources to forge too?
Probably reads the source not the bytecode
god thats terrible
The gradle plugin likely will generate code based on the comments from the sources
Man I feel like maintaining that macro cluttered codebase would be a nightmare
yeah the forgegradle plugin is yucky
Atleast in the form it is present
oh right, well thats slightly better
// if MC >-11400 # else $$import ... #endif
Huh, Would it just be totally worse if it was done by each mixin having a version and not being injected if that version wasnt correct?
As I said, I dont like mixins either
I guess that would require the developer to write alot more classes that are pretty similar
well if you were gonna do them
hypotheticals here
I would rather have something I can read and hope for documentation in comments rather than finding if else clauses in place of where I would expect actual comments
I'd probably make a module for each version and use mixins for the version needed, the comment stuff is dumb
jigsaw module?
No
could you not do it by packages?
lol i do but ok
you're weird ok?
masochism
I admit it is causing me pain
but i like them
mhm mhm
stop quoting me
lol
π
how come
What bugs?
Just little weird stuff that ive been submitting issues for and they are taking pretty seriously so far
i never experienced anything out of the ordinary with them 
Could you give me an example of what you had issues with?
i have in the past but definitely not my regular usage
you want my example project?
Sure
Alright


also yeah speaking of multi-version stuff earlier
in forge you literally have to re-build the mod entirely even for a regular forge update
really? why is that?
in fabric you can just build it once and most of the time it will work in future versions
Johnnys library can help a lot for most nms cases, breaking changes would still fail tho
I haven't really used forge, fabric I'm digging it ngl
but i know that for instance a forge mod built for 1.16.5-blah.blah.2685 does not work in 1.16.5-blah.blah.2697
oh wow
π€‘
Thats honestly crazy
and they use yeah a slightly modified fork of sponge mixin and a modified version of fernflower as well
You can't do by packages unless you're crazy, because you wouldn't be able to depend on different versions on just packages, but you can with gradle modules
That's not true?
Forge works unless theres a breaking change
watch me
lol
I wouldnt actually do that
unless you're crazy
I guess i know the answer
You should be building and using RB outside of edge cases
Though it wouldnt really be different it would really just be preferences on how it looks
.
idk what that means, also I was talking about my experience as a user, not a modder
I as well
god my brain today
Running forge servers exclusively for a few years now
well idk then but the very few times i used it it was hideous, couldn't update such patch versions because of that
Weird.
Admittedly that might be a result of new mc version, I havent used thoseyet, but that seems like a weird change they would make.
@old wyvern Hows that looking?
Hows what looking?
The project i sent you? or have you not check it out?
oh lol alr
have to finisha project
finish? imagine
idk man, im almost about to give up tbh
I havent slept yesterday
and ts already 7 pm today
Caused by: java.lang.IndexOutOfBoundsException: index: 3, length: 61 (expected: range(0, 10)) π₯²
tf
Netty error I'm getting from the client when compression is enabled
only occurs from the second login attempt onwards though, which is really weird
actually no, that's not the compression error
ah I think ik what it might be: all the protocol IDs from a certain packet onwards on https://wiki.vg/Pre-release_protocol must be off by one
Imagine having off by one errors in your code
lol
okay, I've seen some really weird generic issues before, but I think https://i.imgur.com/S9kNdaX.png just about tops it
Happens a lot
yeah probably
the "good type system" strikes again
You wouldn't* get this issue in elixir
Just saying
embarrassing intellij fails compilation
Whats that
Whats that
Whats that
Whats that
Whats that
I would like opinions: https://github.com/SecretX33/secret-cfg/tree/feature/file-watcher
T : Any usually solves that
https://github.com/SecretX33/secret-cfg/blob/feature/file-watcher/core/src/main/kotlin/com/github/secretx33/secretcfg/core/config/BaseConfig.kt#L76
Flows could be great here, the only downside being the experimental annotation
I thought about using Flows, but then I remembered that they are sequencial, so if one collector decides that is good to use delay, it'll screw all other collectors, am I wrong?
Sweden
close
Ye
demo server please ?
lol
okay!
Lmao
on spigot page, server.glaremaster.me is not working
Thats only on the same operation afaik
Different listening operations shouldnt affect each other
Hello
Hello
π
I decline your request. However, thank you for your kind words.

Oh hello presidents
Blursed
This indentation lol
π π
hmm I wonder where that "screenshot" came from
I actually never knew this
but you can predict droppers
like not guess but predict
now you know
We'll never know
you know that when you fill items in a dropper
it seems as if that all the items being spit out are just random
right
perhaps
Are Droppers Actually Random? - Since they were added droppers were the basis for randomizers in minecraft. Randomization in game revolved around the random dispension of the dropper. But are they really random, and can you predict them? Spoiler alert, it's time to learn how...
Dropper Cracker: https://github.com/mjtb49/DropperCracker/releas...
Yeah
hi
How's it been
2 purple boys
cute
imagine being orange
good wby
couldnt be me
Hey there, citizen!
Did someone try to offend America?
How could thy
exactly
Someone offended the bald orange man.
Shut up dead man
That's his problem
Shut up dumb man
good java version
kekkk
Holding down control while holding down space now makes the credits scroll even faster
Only change lmao
13 bug fixes
F
"Wed Developers"
Minecraft 1.17.1 - The Credits Update (Now with 15 minutes of extra credits!)
What exception do you normally throw on util classes' constructor again? I forgot how to Java
AssertionError
Speaking of typos I found a typo today in mC's code in an exception message lol
create a new exception
"synhc"
mC?
MC*
oh
MH*
lol
h
Never mind I need help π₯²
lol
Ty
I tend to throw UOE
Huh?
Shouldnt be an exception tho
he told me to extend assertionerror
he doesn't force you to
He doesnt
That just how he writes
he tells people then π
I dont think he asked anyone to use that
He just mentioned that he uses that
I just drop a private constructor and leave it at that ussually
That seems to be becuase you're throwing your own exception in that case
This should be an Error
not an Exception
Shouldnt be handled
surely AssertionError is the wrong type altogether, it should be something like UnsupportedOperationException no?
No since exception implies its something that could possibly be caught and handled
Hmm
meh just leave it as a private constructor
welcome to the gang
oh nvm then
Have you reapplied blitz?
lmao
Lol
oh rip
got rejected 2 times actually since I applied 2 times xD
why lol
Did the first message send?
yeah. both of them
It was a bug with Barry
wait why lol
want the full message?
sure
Kotlin's color changed pulse
Ahh
BountySystem
- Your
BountyHandlershould not be just top level functions/properties, specifically never have a mutable top level property (BOUNTIES_LIST), this should be all encapsulated into its own handler (and donβt expose the list). (BountyHandler.kt)
Watch out for catchingExceptiontry catching specific exceptions instead. (Database.kt) - The first issue also applies to ConfigHandler, encapsulate the data, donβt make all of this top level. The same way you wouldnβt make this all static either in Java.
- Use a
StringBuilderfor yourTimeFormat.kt, instead of the huge amount of concatenations you have.
RandomTeleport
- Again avoid using top level for mutable properties, if you want
audiencesto be top level, make it a constant and useJavaPlugin#getPlugininstead, thelateinitto something top level is dangerous. - Everything I said about the first plugin about top level functions/properties applies to this.
The only big issue with your code is the miss use of top level, imagine using a singleton for every data handling classes, you wouldn't do that in Java either, review this issues and re-apply and I'll accept it.
ic
Blitz your's is easy fix you could fix in a dew minutes and reapply and I'll accept
btw @ocean quartz formats don't work
bcz the message is inside codeblocks
just so u know
It was matt...
Good to know
lol
its already fixed. to lazy to test and push
I mean i have to
into submission
hey if I really cared that much I would have spent the last 2 days fixing and reapplying. but I Don't care xD
All that hard work for #dead-chat
lol
imagine not having that channel muted
@Matt, who'd review a request with a project say in uh idk Lua? 
How does JavaPlugin#getPlugin work?
Properly most of the time
I mean, I know I asked it, but it was not what I meant
gets the classloader, casts to PluginClassLoader, gets the plugin from that
public static <T extends JavaPlugin> T getPlugin(Class<T> clazz) {
Validate.notNull(clazz, "Null class cannot have a plugin");
if (!JavaPlugin.class.isAssignableFrom(clazz)) {
throw new IllegalArgumentException(clazz + " does not extend " + JavaPlugin.class);
}
final ClassLoader cl = clazz.getClassLoader();
if (!(cl instanceof PluginClassLoader)) {
throw new IllegalArgumentException(clazz + " is not initialized by " + PluginClassLoader.class);
}
JavaPlugin plugin = ((PluginClassLoader) cl).plugin;
if (plugin == null) {
throw new IllegalStateException("Cannot get plugin for " + clazz + " from a static initializer");
}
return clazz.cast(plugin);
}
I see
btw Matt can you check if I have a pending application for developer? I forgot if I already applied since I was rejected
Does using the Kotlin DSL vs Groovy DSL make any difference? Im having issues mixing kotlin and java and wonder if that could fix it?
shouldnt make a difference there no
Piggy knows Lua iirc
Yeah it's there, but in your application you only added Java projects, so that's on Piggy
h
Perhaps
I do Kotlin, Lemmo does Java, WebRelated, Piggy does Java, and others, if none of us don't know a language it probably won't be reviewed idk
F
BM did Piggy assign you anything?
idk
Haskell!
i was just gonna do some of the ongoing ones atm
What the f.. is X programming language?
Any programming language
C's crack addict cousin
π³
f# haskell elm rust clojure
soonβ’οΈ
Already!
whens the revamp coming to elara
Highest pying job of 2020-2030
π
that doesnt sound promising
π₯²
π
π€¦ββοΈ
Thats not what im talking about dude
π₯²
lol
Lmao
burn him at the stake
π₯Ά
public execution
π«
I just realized unit testing in spigot is not really ideal
It's awful
I refactored all my code in veins then
@onyx loom Progress π©

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

what the fuck
Yeah
this is generated... right?
I don't think so 
atleast they commented it, because commenting is all that matters π
i will never understand how terrible-plugin turned out to be better than some other things out there
π₯Ά π₯Ά π₯Ά ||kill me||
What's the best way to not send your credentials over the internet in base64 form in a request header when you have to
use TLS and pray
or see if they use tokens
an API I used only allowed base64 user+pass, no tokens
https://listmonk.app/docs/apis/apis/ "requires BasicAuth with the admin credentials"
This is not going to be fun
well that's just basic auth for you
still very widely used
as said with TLS it's as breachable as any other authentication method
if only api's used pub/priv key π₯²
Thing is... i need to send a request every time someone clicks a button on a website, hence
#development message
Yikes.
Time to change that username and password to something random I suppose
oh wait do they not give you a token?
usually they make you authenticate every like, 30 minutes and give you a token
Not a clue
Doesn't seem like it
Starting to think I should look at using something else
ok yeah not using that π
You have this problem everywhere
You can't just call APIs using your credentials in the frontend
doesn't matter which authentication method it uses
Yeah I'm not anymore. I'm also not using a self hosted ListMonk instance
the only case where it wouldn't be immediately harmful would be something like oauth2
but even with that you should delegate to a backend
I am now
The roller coaster of programming and procrastination is like art
what is that chart from
Wakatime
what does it do
track ur coding time
Green is mf-cmds, as soon as i touch it i get bored and the graph goes down lmao
Blue is my core, had so much fun with the modular thingy
only issue with wakatime is it only records 2 weeks on free plan
So
I would suggest self hosting hakatime
(Guess what language it's written in)
its free Β―\_(γ)_/Β―
π
Tries to be pure but gets tainted with js π¦
what project is that
Hakatime
HaskellWebβ’οΈ
i mean you can't use haskell to define websites can you?
Elm π π π π
oh I learned the other day that shellcheck is also written in haskell
Very cool
how bad would be to use KT companion object { val KEY: GoalKey<Villager> = GoalKey.of(Villager::class.java, NamespacedKey(JavaPlugin.getProvidingPlugin(FollowEmeraldsGoal::class.java), "follow_emeralds")) }
especially because of JavaPlugin.getProvidingPlugin(FollowEmeraldsGoal::class.java), I've never used it before but I see no reason why my custom goal couldn't have a "static" key, since they are all equal
Yo @quiet depot what if someone presents a (dev) role request w/ projects in a language no one in the review team really knows?
denial
what lang
we know lots of languages
hm
can u review apl
sure
if they can actually write APL that works they probably deserve Dev role
how can i run code onto the main thread? im using coroutines to run a task every second... but then i get this with some actions: ```
java.lang.IllegalStateException: Not on FX application thread; currentThread = DefaultDispatcher-worker-3 @coroutine#1

