#dev-general
1 messages · Page 232 of 1
The official github app sucks though
somewhat new
There are a many github apps, the official has been out for a year or two i think
not that long
oh
if any1 wants to bully me here https://github.com/Conclure/EnhancedBukkitScheduler idk need some feedback
void cancelTask(
int rawId
);```
please no
ugly
How is it enhanced?
I am pretty sure any style guide would say you shouldn't have that unless you have a lot of parameters
Android view pivots are so random...
Yugi the enhancements is that it can take either a consumer or a runnable and will always return a task
Consider moving some of the static classes into their own files
compared to the BukkitScheduler that returns void for a consumer
hmm okay
why though
does it hurt performance?
okay ik srp
well srp is technically fine since their are all individual classes
oh lets go
but still
Thats all?
ye
the Id class is a bit strange, it doesn't seem to be an id at all?
oh ok
hmm true, maybe TaskNamespace or smtng
tbf its worthless since u can use BukkitRunnable
tbh if that's all it does you're probably better just adding a few static helpers, rather than making an entirely new interface
Id suggest adding something like chaining or something
uh sure like taskchain thing?
yes but apparently "using interfaces will make your code easier" some dude in tsc said
Yo
yo
YouMeThemTheyUs
Yes interfaces are good, but it's more a question of compatibility here
Yugi is a handsome man
Yes it does but just because you have a hammer doesnt mean we have to hit everything with it
Introducing things that isn't compatible with the existing interfaces could be annoying to deal with
So I'd either couple stuff with the bukkit scheduler, or have adapters
yeah sadly no kotlin, but will be my next project :]
gracias @old wyvern y @prisma wave :)))))))
de rien
Not much into allman but looks very hot
why thank you
i don't mind either
allman just happens to be the default for me
imagine if kotlin had currying
that would be hot
val user = fetchUser(uuid) ?: User().apply(users.put(uuid))
Damn, that's hot.

intellij and kotlin is amazing
^^ above code instead of ```kotlin
val user = fetchUser(uuid) ?: User().apply {
users[uuid] = this
}
I'm thinking I'm going to do a deeper dive on databases over my break.
Sounds useful, I should probably do the same
I usually end up falling back on intellij syntax checking for SQL queries lol
Same, i wanna make a lib similar to Android's Dao
Matt how familiar are you with Android?
Not much, i've done a few apps, but only simple things
uh any idea relative to what the absolute pivot should be?
I tried absoltue coordinates but theres a very random offset depending on the device im running it on
Idk, sorry
The design stuff is so complicated
😦
I think you could use JBCefBrowser and create it with CSS and HTML
I cant really change the entire structure now, Have to submit this tmr
prof just told us today that he wants a fucking eiffel tower outside the compass circle denoting the same angle as the center one
I guess time to do it the hacky way and increase the height to the circles height
https://img.bristermitten.me/22-03-31.png sorry for interrupting, but I made currying in kotlin :)
Task :CurryingKt.main()
{Hello=3}
hot
Tasty
ikr
currying with side effects 
sorry lol
this example doesn't even work for my use case since it doesn't return Unit 😭
I like sql but relational stuff just gets me sometimes
Like storing collections and whatnot
yeah I usually just get an ORM to handle all that
not worth the effort most of the time
Yeah but that doesn't make it relational, right?
Depends on the ORM I think
But Hibernate definitely does
it sets up joining tables, proper mappings and things all automatically
I love working on relationships and stuff, I always make a diagram with everything i'll need
how can I disable mob AI, but allow for it to take knockback and like flow in water/liquids?
(1.8)
What do you usually use elara? Got any repo examples? I was looking at hibernate the other day but didn't find anything that I liked enough
D:
I don’t think you can do that honestly Mack without dumb shit
I've rarely actually done relational stuff outside of Spring or Hibernate, because it's annoying, so not really no - for one commission a while ago relationships were super complex so I just gave up and pdm'd Hibernate
well... how do I do it?
I know I could do like slowness, and huge jump-boost but then it won't take fall-damage
No no no elara I mean do you have a repo example of hibernate? All the ones I found were outdated and never worked when I tried.
Or they all required spring
oh right
yeah, it's a commission but I can extract the relevant bits
it's fairly similar to with Spring, just with a bit more initial setup
thankfully no XML
Yeah that's what I was wanting to avoid
I want to just have a plugin that I can do ORM with hibernate without the stupid XML file.
Just build the client and pull from a yml config for db information
Yeah, that's possible
lol just realized that github didn't have dark mode until now kekw
https://paste.helpch.at/hetodasuci.bash
https://paste.helpch.at/ezalupekan.cpp
This is pretty much what I used, it's surprisingly simple. You have a bit of boilerplate to initialise hibernate, but after that it's pretty much as simple as adding the annotations and processing a few transactions
although you have to do relationship mapping yourself (making sure Collections are initialised in the right order, etc) which can take a bit of time
Java 
np
I've not checked that code in a while so it's possibly outdated or broken, ping me if that's the case
In cases of something like GSON, it's pretty negligible difference between having a new instance be created every time it's used vs having it as a top level constant right?
yeah afaik making a Gson is cheap, but the convention is to have a constant
since it's verbose with all the options
why not just make a static singleton then
Just asking because i have a similar situation with a different object, i have this object which is an expansion and currently i have it as a constant, but i think i'll need to change it to be new every time with different player, so was wondering how different i'd be
500 times creating a new instance 9.0396µs
500 times with one object declared 8.4124µs
500 times with top level 16.1078µs on first test then 8.5778µs on second
Not sure why the first top level run was that different
Initial initialisation properly
Since top level is basically static, they get initialised on class loading
So initial access is probably slower
Tbh that seems too neglible to make a difference
was this in kotlin?
What is odd is that it was like 2 different runs, like the process completely exited between the runs .-.
Yeah agree
Yeah
My "totally scientific" testing environment
god
500 times but dividing by 1000?
nano to micro?
The average is being divided by 1k to convert to micro
Oh right
Didn't see the average() 🤦
Placed it in center and added a y translation and it kinda works now
Oooh nice!
I always hated working with the designer of android, could never get things to look how i wanted
CSS gives more control which is nice, using JBCef is actually pretty nice
But slower in most cases i think
Whats JBCef?
Basically a virtual browser
Instead of designing an app you design a website and it'll open like an app
That looks awesome!
I look awesome 
Nice eifffffffaaaal tower oui oui baguette
wha xD
@forest pecan
@forest pecan
public boolean isCurrentlyRunning(int taskId) {
return scheduler.isCurrentlyRunning(taskId);
}
@forest pecan
public boolean isCurrentlyRunning(ScheduledTaskId id) {
Objects.requireNonNull(id,"id cannot be null");
return scheduler.isCurrentlyRunning(id.getRawId());
}
@forest pecan
public boolean isCurrentlyRunning(ScheduledTask task) {
Objects.requireNonNull(task,"task cannot be null");
return scheduler.isCurrentlyRunning(task.getTaskId().getRawId());
}
@forest pecan
public boolean isQueued(int taskId) {
return scheduler.isQueued(taskId);
}
@forest pecan
public boolean isQueued(ScheduledTaskId id) {
Objects.requireNonNull(id,"id cannot be null");
return scheduler.isQueued(id.getRawId());
}
@forest pecan
public boolean isQueued(ScheduledTask task) {
Objects.requireNonNull(task,"task cannot be null");
return scheduler.isQueued(task.getTaskId().getRawId());
}
oops

:)))))
Kek
btw 1 message = 1 ping
😛
10 pings in 1 message = 1 ping
100 pings in 1 message = 1 ping
1000 pings in 1 message = 1 ping
10000 pings in 1 message = 1 ping
100000 pings in 1 message = 1 ping
yes we know
👍
oh god
yo @obtuse gale you finished day 8 as well?
Does anyone have any good ideas for very basic starter plugins? (sorry for the interruption)
starter plugins? as in plugins to start a server?
please ask in #general-plugins
if you don't mind
As in simple plugins to code
....
oh
xD
like very simple
I personally have made myself a couple plugins, but am just thinking of ideas
ah I see
ideas
very rare these days
and expensive xD
this is great thanks
Develop an anti-cheat. For every hack, think about how the hacker's behavior differs from a normal's user (eg. for speed hacks, a normal user moves only X blocks per seconds while a hacker may move faster). This is a very hard task and needs extensive testing.
oh noo
already done that
never done that, and don't plan on making an anticheat
same
:))
expect them to be huge pains
they are
big plugins usually are
that's why I don't like Cores. I like having everything in smaller plugins. Easier to keep track
lol, my only plugin that I've made is a nick extension sorta plugin, that attaches your nick to your tab name and above your name, ex name (username)
I made quite a few
but only public ones on spigot
are a GiveAll (pretty cool plugin tbh), RandomTeleport and WorldTeleport
mm nice, whats the difference between world and random teleport?
and I have a BountySystem that was meant for my server but to bored to work on it which is public on github
i actually want to develop an anti-dupe plugin
its more like per world spawnpoints
Anyone have any plugin ideas that don't already exist
ah
@half harness make a good nickname plugin with bunch of features
:))
Nicknamer
I know they exist, but I haven't found one that appends your nickname to your username in tab and above your name
so I just made one for myself, but its super jank
well I mean that's like super easy
ugh
setDisplayName
lmao
lmao
getDisplayName
and then you set their tab list name or whatever its called to name dispalyname
Ugh my brain, need to think about how to make a good pinging system
i intercepted player protocols and updated teams
on join lmao
dispalyname
wdym Matt?
hUh?
I have a controversial question. Do you consider a plugin which has /home to "affect" vanilla behavior
no, it's just teleporting to a saved location
fake player teams that don't contribute to command block creations etc
no not that
im not trying to say interferes with vanilla features
like if you are trying to have the
oh
Take chat message, split it by spaces, go for each message and if it starts with @ check if the rest is a player name. if it is maybe change the chat message so that the ping is colored and send a sound to the player that is pinged
ez pz :))
make a public paginated holograms plugin
the only one that I know of that can do that is CMI so far
what?
wait
discord deals with the pinging system basically being clientside right? Or atleast in converting pings to <@> standard, I think
what is paginated
and when you click them you change the page
TouchscreenHolograms
it can already do it
ye but you can't change the holograms..
Just need to figure a good way to make it simple and useful on an API
Well the showcase one was just a test, it's not fully implemented yet
ye then I won't be helpful at all
hm, so like have events fired on user ping?
back to my plugin then
or have plugin messages sent that ping users?
Yup
you trying to think of nice ways to implement these events that work well without error?
XD
No, just a way that doesn't feel complicated to maintain
hm, I haven't worked with plugins in a while...
A little more complicated than that xD
https://github.com/TriumphDev/chat/blob/development/main/src/main/kotlin/me/mattstudios/triumphchat/extensions/parser/PingParser.kt
Kotlin
It's beautiful
can you use regex, or would it be less efficient?
Less efficient yeah
Ping detection works fine already, that's not the issue, it's just setting up the actual pinging
you could probably make it more efficient by first searching if a @ was mentioned in the whole message, then searching through
you looking for ideas for the actual pinging, or implementations?
Like, let me try explaining my thought process
I need: get ping's literal from the node, check if it's a valid player, group, or everyone, if it's a player pass down the player that was pinged, if the player is already pinged do not add it to the list again, set all the pinging when the message is created, then send them all when the message is sent
Ping Ideas:
- Default XP pling sound
- possibly change default text color from white to yellow for pinged user only (so like modifying all &r to have an additional &e ahead)
- you probably already have 1 and other stuff
Oh that part is all configurable
yeah
Matt just wanted to thank you for your time
so where you mention if the player is already pinged do not add it to the list again, you probably still want to highlight both mentions
noicee
Hmm? xD
Wdym? xD
your commands and gui frameworks
Yeah
How hard is kotlin to learn, and would you recommend it instead of learning plain java to use for plugins? (unrelated to the above topics lmao)
ok xd
I made the mistake of falling for this
I mean thankfully I know java already
id "me.mattstudios.triumph" version "0.1.6"
All kotlin tutorials like all assume you know java
oof
Meh, it's the same thing, personally learning Kotlin first will give you a better understanding of Java later on
ah ty Matt.
Matt if you don't have a lot of programming knowledge I think its better to learn java
lol
before kotlin
Why though?
Kotlin isn't used as popular
because Java is so much more documented. Like I know kotlin has everything on their docs
but still
i cant say that is a con
also if you're wondering why I'm asking all these questions, I intern at a company thats thinking about teaching mc modding/plugins
secret
I mean if you learn Kotlin you'll understand Java basically by default
So the lack of documentation doesn't change much
yeah, I pushed the idea to them since I didn't see it being done anywhere else basically, and seems like something lots would be interested in
well for me is not like that Matt. I'm a bad learner unfortunately and I have a very bad memory.
one thing I found hard about java when I started was the weird documentation
That's fair
like javadocs in comparizon to mozilla js docs are terrible
The big issue with Java is the boilerplate
@NotNull
private final String text = "";
private val text = ""
yeah, its more higher level than, js or python
Matt, for your pinging system, do you have the message like change color to indicate that you were pinged from that message?
Yeah the entire thing took me about 40 minutes to an hour I think
Understanding the internals of a CPU sure did help a bunch
Lol
Unfortunately that wouldn't work well
However i could make it so you'd see your ping as a different color than everyone else 
Make it so that if you get pinged you can click it to ping the sender cc:
It'll be customization ;p
I wonder how hard it would be to make a color parser
when reading just a direct chat message, how are the colors stored
Wasn't too bad to make ;p
https://mf.mattstudios.me/message/mf-msg/syntax
just through the unicode & sign?
oop, are those the docs for the plugin?
if so they look amazing
For the lib I made which I use on the plugin
yes
so basically yes
xD
k bye
is gitbook a paid thing you're using?
It's free but there is a paid version
I have the paid version for free because of Open Source 🥺
I'm looking at the prices, and what are the "spaces" in it
The spaces are basically the wikis
?paste
Paste Services
When asking for help with a config/menu/code issue please use one of these:
(However we do prefer if you used our paste :))
• HelpChat Paste - Usage
• Hastebin
thats text paste
Matt's frameworks wikis are all on one space
whatever I have an uploader at hand https://i.imgur.com/1y3m8f3.png
you can make another space with another link
oh didn't even see that
that's pretty cool
of them to do
yeah ikr
Yeah OS can get it free ;p
pretty pog; might use it for a pb2 project
open source
Matt's frameworks
open source
lol
oh yea also xd
My libs have given me Gitbook, IntelliJ ultimate (and all the other IDE), and a few other things for free
wait IIJ U for free because you have OS things?
github student developer pack is pog
oh
OS is awesome
yeah, thats nice
gh dark is so hot
Don't like the color scheme of the code too much, but it's pretty nice yeah
hmm why not? I think it looks alright. I'm talking and I still use the defaults in IIJ lmao
I guess it's because i was used to my stylus theme
I already forgot how it looked lmao
I use ocean
hmm ye Stylus ain't bad
or something
Ocean is nice but way too much green
I wonder if i can make a stylus to make it look like atom one dark :pog:
whats the little IJ logo on your github?
JetBrains toolbox extension
Basically i can click it and it'll clone it to IJ
But it's a bit buggy so hardly use it
gh dark is pog
literally just turned on dark reader yesterday looking for dark ui, and they got it today
aaa yes, my project is IntelliJ
I see, you're working at jetbrains now
Why am i still awake, what is life
Can IJ convert from groovy gradle to kotlin gradle dsl thingo?
Don't think so
Why do you want Kotlin gradle?
its just what ive used for this project lol
This is what im tryna do and its giving me errors....
Ever since I switched from gradle groovy to gradle kotlin I get no false warnings and errors due to stupid IntelliJ not liking groovy 
The dumb warnings got fixed in 2020.3, they were annoying me too
just update 4head
He 100% has the Kotlin plugin wrong
That isn't a warning it's a straight up error xD
And I once had literally the entire build.gradle underlined red with half the words red too and it built just fine :^)
No restarts fixed it
And it was that single project
Always
It used to be awful, haven't had any issue with latest update though
I can't tell because I moved away from groovy 
Aj what is the error?
did you define role and what it should do in terms of web01?
anyone here remember how to configure Atom OneDark to not look trash? lol
been way too long since I've used IJ
currently looks like this
looks way too dark for me, I remember it looking different when I used to use it
and yes, that is Windows, cba to have to switch back and forth lol
how make js download imag from url if not alreay downloadedpls thx

aternos? server.pro? any of those?
if you want a good Minecraft server, you'll have to pay for it unfortunately
unless you run it from home
@prisma wave looks pretty bad ngl
it'll work yeah
8GB is fine, until you start using poorly optimised plugins and have more players
Do you think paper would be ok for it or just stay vanilla?
Paper is what 99% of the big servers use so I would highly recommend Paper
Myb about 2-6 players with a couple of plugins for moderation etc
then you'll be absolutely fine
Ok thx
you're welcome
what?
I’m planning to get a Rapberry Pi 4b 8Gb RAM to host one
@livid charm if you're gonna run a public MC server, don't use a PI.
@lavish notch private with people I know
I’m getting a domain with ddos protection to connect to it for protection too
Ehh... I mean the CPU will throttle it
I've ran a MC server on one, for testing purposes - and you can't explore very far before it starts lagging.
Especially with 1.16
Yeah, pis are not meant for game servers
i once did a bukkit server on my pi
only i have the cheapo 512mb ram edition so you can figure how that went
in short: it could barely handle one player, but thats about it
ooh
I've not checked it in a while
This is good news
Nah, Electron has effectively killed Qt. Qt is quite legacy nowadays to be honest.

lol
I think so far this is my favourite thing that has been shared there https://medium.com/better-programming/modern-languages-suck-ad21cbc8a57c
I just love the ratings and verdicts
No mention of Kotlin or Clojure unfortunately
But the rest is funny enough
This is already a shitshow
languages with null are bad because they break compile time type checking
Uses JavaScript as an example
It almost mentions Clojure, there's a rich hickey quote
C++ Speed: Slow compile time but runs fast 👎
Rust Speed: Slow compile time but runs fast 👍
probably some quote where he's bashing oop?
hahaha
pretty much lmao
There's some very obvious FP bias here
Not that that's necessarily a problem, but java gets downvoted just for being object oriented lmao
Indeed
I'm curious what he considers a good object oriented language
Because Java and C++ apparently aren't, so maybe Smalltalk?
welp
In comparison, NPM in JavaScript is the only tool you’ll ever need.
Is this a joke
This can't be serious
oop
Babel, some web packager, probably typescript, angular / react CLI, sass, etc
The only tool?
npm is probably one of the worst tools
not npm itself, but the way things are designed with it
these single-line dependencies
@prisma wave oof
Elara had it first
Writing even a simple “hello world” program in Haskell requires understanding of Monads (IO Monads in particular).
Eh, not really. Sure you need them later but a simple hello world doesn't even have any types
Ic
then I'm not cool because I've never heard of that language 😦
It's what discord uses for its backend
It does look good tbf, incredibly efficient at using multiple threads
ye that's why I'm saying I'm not cool... because I didn't hear about it but if you say its good then good it is lmao
Doesnt discord use rust?
I believe the backend is a mixture of Elixir and Rust
They used to use Go but GC spikes were killing them
ah
the bad thing about this article is that the author clearly hasn't used half of the languages he's writing about
Interesting stuff, gson loads maps and numbers as linkedtreemaps and doubles, whereas snakeyaml loads them as linkedhashmaps and doubles or integers where applicable

Are you really surprised by that?
Also day 8 part 2 is so difficult wtf
no, not really
What lang are you doing day 8 in?
eeh it was a bit hard to think of an algo for part 2 but it wasn't that difficult to implement
Yeah that's what I was thinking
I just gave up after I realised I didn't know how "strings" worked
Ima try C with Day 9
lol c strings
Exactly
can't help you with very specific things as I'm a beginner myself but if you're curious about how to do certain basic things in C feel free to ask
my solution for that day was a kind of a mess but not necessarily bad for C's standards
Also, I've been using this website pretty much exclusively so far https://en.cppreference.com/w/, can recommend it
For part 2 of 8, can't you just check that if an instruction has already been executed, then it's reached the end of the pass therefore it's looping?
Okay I'll have a look
that's more of a part 1 question, isn't it? but yes, you can
It's what I'm doing for part 1, yeah
that site 👌 is dope
But I feel like it wouldn't work for part 2, because there could be a point that causes a loop further down
literally the only site I refer to when needing help with C/C++
I can't think of a way of reliably determining it that doesn't involve brute forcing
I did it by ||having an array of ints of the same length as the instructions and writing 1 to the corresponding index after having visited an instruction||
yep, that's what I did 
I didn't brute force it completely, you can narrow it down
but it doesn't take too long either way
I ended up literally running the program until an "address" is hit again, changing one instruction per loop
i.e. brute forcing
That's pretty much what I have at the moment
what I did for that part was ||tracking the jmp and nop instructions I encountered while running it normally and only changing these to check||
I read the question wrong and thought you just had to swap the second to last instruction
something I'm thinking of is arg validation
I want to make it easy to handle arg validation with my plugin Velt
(Velt allows you to use JS to make Spigot scripts)
these are the two options i'm considering, both have upsides and downsides
//Option One
manager.command({
name: 'cmd',
args: [
'string',
{ type: 'number', optional: true }
],
run(sender, text, num) {
}
});
//Option Two
manager.command('cmd <string> [<number>]', (sender, text, num) => {
});
Alright yeah that was easy, brute forcing always works
Originally I thought you needed to replace any number of instructions that's why I didn't even pay it one thought
@prisma wave C strings are easy lol
once you just google and find out that they're literally just arrays of characters, like in every other language
except for in C, you don't have an actual string type to wrap the array of characters
I know how they work, but working with them sucks
yeah it's a bit of a pain
I was dealing with a 2d char array and I just couldn't be bothered
I gave up on C once I found out that static meant local variable lol
Doesn't static mean global?
never
not from what I read
static means it's bound to the file
and yeah p much "global" to the file I think
the word static really throws you off
I mean it's not that different to Java's static
like such abominations are possible ```c
void foo() {
static int x = 42;
}
void bar() {
printf("Wtf %d\n", x);
}```
true I guess
Just a more procedural implementation
looks like C to me lol
But yeah, just getting a dynamically sized char array for the parse stage was pretty much where I gave up
Well that's not the worst
Just count the lines of the file
and malloc an array of the line count
Oh also, this server I work for has this idea of splitting one larger server up in to a server per-world system. Just to confirm, this is complete bogus isn't it
Uh what
what I mean by per-world is having each world be a separate server to help with load balancing
Yeah in retrospect that would've worked
Isn't that what the Aether engine or whatever does?
I think it's complete bogus but I want to make sure that's a shared opinion lol
now, time to see if I've still got it
I haven't made a Spigot plugin in a few months lol
though I think programming is one of those skills that's a bit like riding a bike, you never really forget how to do it
Tell that to everyone in development that says "yeah I learned Java but I've forgotten how to make a variable"
/s
Scary
unordered set
And they say rust is hard to learn
C programmers have to write their own hash tables 🥶
"c Is eASiEr tO LeARn tHAn C++"
yes.
It is
tsk
C just presumably requires a different approach to most problems
as a language, it still isn't harder than others
but yes, the standard library for instance is... limited
"library" is something of an exaggeration
tried writing a hash table for day 7 but no success so far
no idea how Linux is written in C
or rather, I was very fed up with that challenge and when I started my program and immediately got a segfault I kinda just gave up
I feel like you'd hit a roadblock after trying to anything too complex
bro, now imagine that before C took over you'd write OSs in assembly
things could be worse yeah
even though C is kinda annoying to work with sometimes, and is very low-level, it's definitely better than assembly
Lisp
C :(
Kinda crazy how they were able to make dynamically typed lisp machines before C was a thing
Like lisp existed before the moon landing
I don't think so, at least not on such a scale
But I mean also in terms of computing
Weird tbh
moon landing was fake 🙂
moon landing was real but we're not being told the truth about what's on the moon 🙂
🥶
The earth is a sphere but it's hollow and there's a second world on the inside
oh god what have I done
🥶
Wake up people
o
that's p poggers
that would be a gigantic ass mirror
kekw
well
assuming you have the materials
i guess you could make it reflect it down
then to an angle up
kekw
but anyways
you could reflect it down then to an angle up and then straight down
bruh
Yes it would
https://www.youtube.com/watch?v=pP44EPBMb8A
To support Kurzgesagt and learn more about Brilliant, go to https://www.brilliant.org/nutshell and sign up for free. The first 688 people that go to that link will get 20% off the annual Premium subscription.
Get your Dyson Sphere Poster here: https://standard.tv/collections/in-a-nutshell/products/in-a-nutshell-dyson-sphere-poster
If humans wa...
thats to focus it all
wouldnt it be possbile to make a mirror and reflect the sun energy and save it? (like for the 100 years future)
what is that even supposed to mean
at one point
Wouldn't that just destroy the mirrors after a while
You'd get so much energy that they melt or something
Or the energy would just be slowly lost to the surroundings
?mf
Looking for useful libraries/frameworks?
Here are some which have been deemed useful by the community and are used daily.
-> Menus: https://mf.mattstudios.me/mf-gui/gui
-> Commands: https://mf.mattstudios.me/mf/mf-1/getting-started
-> Messages: https://mf.mattstudios.me/message/mf-msg
Anyone know what the point of the void is in C function parameters? Is int main(void) just equivalent to int main()?
CC: @lunar cypress :)
Ok so after looking it up, it seems like (void) means no arguments while () means any number of arguments of any type, confusingly
that is very confusing
so it's like varargs except you can't access them?
what's the point of that
it's not varargs, it's basically just not telling the compiler
wut
Oh wait isn't void used for really unsafe casting or something?
You can cast void to any type
Something like that
void*, yeah
pointers are all just memory addresses and void* is simply the generic one
I see
The first step of attacking the weakness in the XMAS data is to find the first number in the list (after the preamble) which is not the sum of two of the 25 numbers before it. What is the first number that does not have this property?
does this mean the first number that isn't a sum of the 25 before?
because i did that and it's incorrect
the question is weirdly worded
of any of the 25 numbers before
not all 25
yeah that's what I meant
Anyone have any suggestions for resolving Redstone torches showing up in red in the timings?
https://timings.aikar.co/?id=064245ff160a46d3af6433fad006b3f4
Pardon me if I've come to the wrong channel - already running PandaWire btw
Aikar's Timings Viewer - View Timings v2 reports from Paper and Sponge
#minecraft probably
Aight - time to copy/paste
🙂
@lunar cypress yeah, i'm pretty sure my is_valid function is correct, and the returned value seems to be correct, it just isn't
for (int i = 25; i < 1000; i++)
{
int num = numbers[i];
if (!is_valid(num))
{
printf("%d\n", num);
break;
}
}
what is the implementation of is_valid
oh
oh
i am stupid
nvm
i was summing i + j not their actual elements in the preamble array 🤦♂️
or not
bool is_valid(int x)
{
if (x < 2)
{
return false;
}
for (int i = 0; i < sizeof preamble; i++)
{
for (int j = 0; j < sizeof preamble; j++)
{
if (preamble[i] + preamble[j] == x)
{
return true;
}
}
}
return false;
}```
anything obviously wrong with this?
the sizeof possibly
you misunderstood the task
your offset increments with each number
you always look at the 25 previous numbers
an int[25]
but yeah i don't think it does work
fixed it though
pog works
my first functioning c program :))
and im pretty sure it doesn't even have any memory leaks
maybe
int main() {
printf("Hello, World!");
return 1;
}
wrong
YES
fn main() {
println!("Hello World!");
}
Nice. I love the variety on language and different colours, what is the project?
not using clion, ew
advent of code solutions
trying to use a different language every day
and yes that will include rust
Will it include Elara tho?
xD
👀
Tempting
or even just the interpreted version i guess
yup
Lol, it's funny how day 15 says finish PDM.
hey if u wanna be a g check #general-plugins
And if you want to be a g be patient 
That will take more than a day 🥲
PDM Remake time?
Any idea how worth would be to get an Oracle Certified Professional, Java SE Programmer (1Z0-851) atm?
what
Someone come to our university with an offer for different courses, and one of them is for java
and at the end you get this thingo
Gaby wants a frame that reads "I officially know Java"
lmao xD
:)))
Not sure if I would need that but why not, is pretty cheap
yea sure 🤣
is around 100 usd
oo
for 10h/week, 12 weeks
120h
I paid more for private lessons for math and romanian in a month lol
=))
xD
what are those?
haha I wish 🤣
Course Prerequisites:
- The candidate must have already signed the Oracle Database Commitment agreement that prevents them from interacting with any DBMS (Database Management System) other than the official Oracle Database Management System.
apache "libraries"
What are you implying? that apache do not make quality libaries? You know, I was looking at Apache Bloudhound, new software, great software, state of the art, issue tracking.
Oh - last release was 2014
very relevant in the software industry
The test isnt confusing, the test:
- Adapt the following java code to include a getter and setter
trait Dog {
pub fn meow();
}

u8 what
unsigned 8 bits?
Yes

idk what that is lol
u8, u16. There is also a special library for u2, u3, u4, u5, u6, u7, u8 -> u128
if anybody used github packages, any idea why when I try to access a class from my jar - to see its code - it is a .class file instead of .java ?
well is a dependency added through gradle and it should show the code 
jars contain classes, not .java files?
Idk GitHub packages, but unless you're explicitly publishing the source then it won't be there
IntelliJ normally decompiles it for you, so you can see the code
I would expect it to work like any other dependency, bm
Surely it does? The jar has classes , IJ decompiles them
Ello
Ello
Ello
wut
okay
then either sololearn or a yt
probably
or
an online
class
😛
so
hmmm
https://www.youtube.com/watch?v=r4W4drYdb4Q <- Good video?
The only downside is that it uses eclipse
ew
oh
public fun kotlin.collections.List<kotlin.String>.color(rgb: kotlin.Boolean /* = compiled code */): kotlin.collections.List<kotlin.String> { /* compiled code */ }```
It looks like this @prisma wave
btw gimlet that's not java above so dont worry aout that
GabyTM what is this
silence
So.... Should I use eclipse or intelliji?
@half harness
@half harness
@compact perch sorry
Link for download/
Start with this -
https://docs.oracle.com/javase/tutorial/java/concepts/index.html
Breeze through this skipping stuff that doesn't seem relevant like bitwise operators-
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/index.html
and then hit this
https://docs.oracle.com/javase/tutorial/java/javaOO/index.html
They're the first three from this larger thing - https://docs.oracle.com/javase/tutorial/java/index.html
Which you should definitely go through overall. But those three should be enough for slightly better understanding of wtf is happening here without feeling like a huge time sink
That one is a small part of this larger site - https://docs.oracle.com/javase/tutorial/index.html
wherein "Essential Java Classes" and "Collections" also have good useful stuff
Wdym
Ok, Downloading
jetbrains is a trusted website
No virus's guarnteed
yep
then I recommend https://www.youtube.com/watch?v=r4W4drYdb4Q or #dev-general message, your choice
OH
THE EMBEDS
So, I should be using jetbrains-toolbox-1.1?
ye
Gimlet gonna become god dev
yess
I am gonna 120k a year bc of helpchat

