Welcome to Codonorix

Join us now to get access to all our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, and so, so much more. It's also quick and totally free, so what are you waiting for?

Codonorix

Meet the team

  • 103
  • 0
As we start our early stages of development for the network, I feel like we should share our current team members and what everyone is doing.

Dev Team_small.png

download (1).jpg
93.png
logan2971
Shibasen
Lead Network Developer​
Network Developer​

Build Team_small.png
49608.png
Codonorix
Build Team Leader​

Art Team_small.png
90.png
LbGurl05
Art Team Lead​

Hellooo, I'm Kylie. Random admin #2

  • 97
  • 0
heyya

I'm Kylie, I also go by Kyle as it's a nickname I was given. you can call me either of the two, I really don't mind. I mainly play Minecraft but will occasionally play games like The Sims 4 or Valorant with some friends.

I joined the admin team for the website because I was invited to do the artwork and some designs to make it look beaUTIFUL for all of you ^ - ^ Besides doing the artwork and design, I want to make sure everyone has fun and is comfortable while being apart of this amazing community to share your love for gaming!!

Some small facts about me :

1. I live in Canada!!
2. I'm also a PC gamer currently using a laptop but hoping to own a full set up in the future
3. I am very addicted to coffee and caffeine
4. My current path for college is to go into fine arts but I'm keeping an open mind

That's all I have for now. Can't wait to meet you!!

Lets talk about concurrency

  • 127
  • 0
In the world of programming one very important (and very good to know for job interviews!) concurrency. So without wasting any more time waffling about it let's delve into the world of concurrency.

What's the difference between a process and a thread?
A process is a running application. It's a lot more heavy on your computer and has its own memory location. However, a thread has a relation to the process. It uses the same memory allocation as a process, however, it is what is used to perform the main actions in the process that seem almost as if they're performing different actions at the same time.

An example of this would be your word processing unit you can perform multiple actions that seem as if they are done at the same time.

How to create a thread in Java
Creating a thread in Java is relatively easy. Take a look at the example code implemented below...

Java:
class TestMulti extends Thread{               
public void run(){
    System.out.println("Your new thread has been created");
}
public static void main(String args[]){
    Multi Thread1 = new Multi();
    Thread1.start();
}
}
So let's take a look at this, line for line...

  • Line 1 - This is creating our TestMulti thread class, we're extending from the Thread class so that we're able to use it here.
  • Line 2 - We create our run system that will print out that our thread has been run when this class is run/called.
  • Line 3 - Just prints out that the creation worked.
  • Line 5 - Creates our main method so that java knows to run the program here.
  • Line 6 - Then we create a new multi-thread object by calling the Multi system and naming it 'Thread1'.
  • Line 7 - We then tell the thread we created to start.
As you can see the creation of a thread in Java is not too difficult. But it is, of course, suggested you have a much deeper understanding of threading before you go mad and start creating a bunch of multi-threads for no reason.

States of a thread
Now that we've created a thread, let's understand the different states of a thread and the lifecycle of a thread. Below is the list of each thread
  1. New
  2. Runnable
  3. Blocked
  4. Timed waiting
  5. Terminated
So now that we know the life cycle of a list lets take a look at what they are and when the transition occurs.

NEW - This is when the thread has been created, however, the thread itself has yet to be run/started.

RUNNABLE - This is the next stage. This is when the thread has been started and is running (or waiting to be run.)

BLOCKED - This is when the thread itself has stopped and is waiting to continue. An example of this case would be that it requires an input from a user and it can't continue until the user puts in the input. This puts the thread on hold.

TIMED WAITING - This is when the thread has a waiting period. If the function it needs to do/requested to do is not completed after a period of time the thread itself will then timeout until the task is completed.

TERMINATED - This is the end of the life cycle of the thread. Once it reaches the terminated section of it the thread then ends.

Below I've included a graph to give you a better visualization idea of how the threading system works.

threadding-life-cycle.png


As you can see the new thread moves into the runnable state, then the runnable may move into the 'blocked' or 'waiting' section. Once we've moved out of those sections we then return to the runnable state and then the cycle continues until we reach the terminated state.

What is a Daemon thread?
A daemon thread is a very low priority thread that we use. It's usually used as a garbage collector for our java program. The major differences between a daemon thread and a normal thread is that...
  • The program can close even if the daemon thread is running.
  • Once all other threads are terminated the daemon thread is closed.
How do you create a Daemon thread?
The implementation of a Daemon thread is very similar to the creation of a normal thread. Lets take a look at the example code below.

Java:
public class DaemonThread extends Thread
{
    public DaemonThreadTest(String name){
        super(name);
    }
  • Line 1 - We create the class we'll be creating the Daemon thread in. As you can see we yet again extend the thread class
  • Line 3 - We create the constructor.
  • Line 4 - We create a super class for the name.
Now that we have our object creator class let's set our newly created objects as a Daemon thread.

Java:
    public static void main(String[] args) {

        DaemonThreadTest DaemonThreadOne = new DaemonThread("DaemonThreadOne");

        DaemonThreadOne.setDaemon(true);
    }
  • Line 1 - Creates the main method that we'll use to run our program.
  • Line 3 - This creates our new Daemon thread object under the name 'DaemonThreadOne'
  • Line 5 - Then we call our newly created object followed by the '.setDaemon' this then will make our thread a Daemon thread.
What is Java memory model (JMM)?

The Java memory model (JMM) is an automatic system in which java is given a specific amount of memory to work with. It then decides how to spread this memory along with the application and attempts to dump no longer needed memory.

Let's take a look at Minecraft for example. It's given the base amount of processing power of 2GB of ram. While this is not the most powerful version of the game it still uses this and spreads out the processing power evenly through the game. This avoids it from being a computer hog and using more memory than what is actually needed.

Of course, this number will go up as more updates are added to the game, or of course if you start modding the game. But the same system continues no matter how much ram you give it, it will still do it's best to process the amount of information evenly to avoid issues.

Different states of threading

Deadlock
As we spoke about earlier in the life cycle of a thread in Java there is the chance that a thread may go into a blocked state. While this is perfectly okay in most cases, a deadlock is the bad version of this.​
A deadlock is caused when two or more threads are put into a blocked state, however, the problem is that they are both blocking one another causing these threads to never actually break out of their blocked meaning they are blocked forever.​
Livelock
A livelock is very similar to a deadlock but rather reversed. A livelock often occurs when multiple threads are calling one another to work. This is where the difference is between the two. A livelock never actually enters a blocked state, but rather the threads are too busy calling each other to make any more progress, meaning that the thread is running but is never really finishing.​
Starvation
Starvation works with the JMM system we spoke about earlier.​
Starvation occurs when a thread is not able to get enough memory to conduct the process stopping the thread from conducting the process it's supposed to do. In other words, we are starving our thread from memory.​
What will happen if we don’t override run method of thread in java?
If we don't override the run method for the new thread we've created will simply mean that our newly created thread will never actually run. So if we don't call it... nothing will happen.

What is an atomic operation?
An atomic operation is when you can safely complete an operation over multiple threads, however, you must be able to get this operation to complete without using the synchronized keyword to make it work.

What are atomic classes?
Atomic classes are the classes that do all the work when using the atomic operation. It takes all the information you need it to do and it does all of the calculations and programming under the hood, keeping it a simple process for you.

The difference between an executor and an executor service
Executor
An executor is the main part of the execution process. The executor is the final step in the whole process and its main function is to execute the function it received and push it into the correct thread.​
Executor Service
Unlike the executor, the executor service is the part that gets the information and passes it into the executor, this is useful in the case you need to cancel an execution from happening. You're unable to cancel an execution from happening in the executor, however, you are able to cancel it while it's in the executor service.​
Differences
ExecutorExecutor Service
Is the main part needed to execute information into the thread.​
Inputs the information into the executor. It does not run anything.​
Uses the .execute() to execute the task​
Uses .submit() to submit tasks into the executor.​
Can't cancel task once it's been completed​
Can use .cancel() to cancel the task.​

What are concurrent collections?
Concurrent collections is an API designed to synchronize multi-threads.

What programming language should I start with? [Software engineer]

  • 24
  • 0
It's the biggest question for people interested in programming, with a world of so many (new and old) programming languages it can be overwhelming to settle down on one exact one to use. So let's talk about what programming language I suggest you use if you plan on becoming a software engineer (Sorry web dev people :( )

My suggested starting language
Let's just get it out there. As many may have guessed my suggested language to start with would be python. Now don't think of this as a case of "oh it's his favourite language that's why he picked it" because that's far from the case (I love java) so let's explain why I suggested this language to start.

Why I suggest this language
The point I suggest python is because for many people learning a language what it's able to do is not what's important, but rather understanding how it works. This is why Python is my first choice.

Python allows new students to easily learn the core syntax of what almost all programming languages have in common (such as if statements, for loops, while loops etc.) while also keeping a clean and easy to read set of code without all the scary {} and ; that we all see when looking at code online.

Another reason I suggest it is that it's really simple to use (as their slogan goes, 'Simple but powerful') Let's take a look at this example program I've created in python that gets the users name and prints it back out to them

Screenshot_1701.png


As you can see we've easily been able to create the whole program (which is also super easy to read) in 3 lines. This is why it's such a good starting point for new programmers because it follows a lot of common syntax from other languages but is really easy to read. Let's take a look at the same program but written in java.

Screenshot_1702.png


As you can see what was done in 3 lines is done in 14 lines (bare in mind this is including all the white spaces) but not only that but as you can see java is a lot scarier looking and can be extremely intimidating to new users wanting to learn how to program.

Final Comments
With all of that being said if there is a language you are interested in and you think you'll enjoy more than python, please do it. This is purely a suggestion for those that are completely new to the world of programming. Your choice in a language will always be a winner over some random person internet blog. Just make sure that you do research on that language and understand if it is able to do what you're hoping to create (for example don't expect to learn python to make mods for the java edition of Minecraft, it just won't work.)

Good luck on your coding journey, it's a lot of fun and I hope you're able to unlock all your dreams in the world of programming! Good luck!

The life of a student programmer the feeling of "is this for me?"

  • 28
  • 0
Whether you like it or not there is one thing all programmers (from the best of the best to the very new learners) have in common and that is that we we're all learners at one point or another.

However, for many students, there is a constant thing that comes across your mind, "Is this for me?" So let's talk about it.

The "is this for me" feeling
As a new programmer myself it's a common feeling I used to feel when I first started my journey into software engineering. I remember feeling super excited when I finally wrote my first ever python program. I felt like I was finally understanding it all after many years of attempting to self learn. But then, my final project for my python course made its way.

I struggled on this project for a lot longer than I had originally anticipated and when my one friend that I spent most of my time with on-campus came in and said "I've finished it." while I was still struggling to even figure out how to do it, I myself started questioning if programming is for me. How can someone else do it so quickly but I'm not able to even figure out where to start? Have I made a bad choice? Have I wasted my time and money?

As you can see if you've felt this then you are most certainly not alone. Many students and new programmers will often ask the same question in the back of their head, however, will almost never actually say it out loud. More often than not this leads to them giving up on programming because of the frustration of not understanding the work.

The learning process of a programmer
When I meet a lot of new student developers or people who are new to the programming scene as a whole, there is one thing I often see, and the way I would describe it is through this graph

expectation.png

As you can see many new developers feel that their skill level should work in a straight line based on what you learn. However, this is not the case at all, in fact, this is never the case for anyone in this field of work. Take a look at this graph here
reality.png


As you can see this graph is a lot more jagged compared to the "expectation" of learning programming. As you can see we learn a new concept and our skill goes up, we are understanding it all and then there is a slight drop. This drop is to be expected because we can't remember everything and we have to keep practising. This is usually the section there many programmers feel "is this for me?" however, once you reach the end of your drop, so long as you don't give up and you keep practising you'll reach your massive up, where everything makes sense and it you feel more confident and then you start learning a new concept and the whole pattern repeats itself.

With this in mind remember that giving up will only reset your progress back to the start and if you ever want to try programming again you'll have to start at the very beginning going through all of that again.

Remember, it's okay not to fully understand, but don't give up if you truly enjoy programming.

So, is programming for me?
This is a massive question, and it's not always easy to tell, however, there are a few things I've listed
  • If you're doing it because it feels like a quick way to just 'get a job'
  • Doing it because there is 'good money' out of it
If you're just doing programming in the hopes to just get a job or to make good money then it may not be the job for you, however, it's okay to want those to things so long as you feel the following

  • You love the feeling of programming and when your program works you can't help but smile
  • You enjoy the idea of thinking of logical and new ways to solve problems
  • Feeling excited about a new project
Of course, if you don't hit all these boxes it does not mean it's not for you, but if you do hit them all it's a brilliantly good choice for you to go into.

Remember if you feel enjoyment out of your projects (even when they really irritate you) and you don't give up, it's a good sign that programming is for you. Just make sure you're not just doing it for the money or else you'll hate your job.

Final words
I hope this was a fun read and helped you understand you're not alone when you are unable to fully finish a project or understand your course work. Just remember not to give up, keep working hard and as always happy programming :)

Hey, I'm Logan the random admin

  • 284
  • 0
Heya!

My name is Logan and I'm a pretty average gamer. I mainly play simple open-world sandbox games such as Minecraft, unturned and Sims (Sims 3 for the win by the way) however, I will often play Valorant or PayDay 2 with a few mates.

I joined the development of this website due to my love of gaming and writing. This website is going to allow me to merge the two together while also creating a fantastic community that will allow everyone to share their love for video games with one another, find teammates and share their gaming strategies!

Here are a few quick facts about me
  1. I'm 19 years old at the time of writing this.
  2. My favourite energy drink is the Kraken by Switch.
  3. I'm a PC gamer, but I do have a good ol fashion wii.
  4. I live stream and do YouTube as a fun side hobby.
  5. I plan to become a software engineer in the next few years.
Thanks for reading and I hope to see you all around!

Becoming staff | All the information you need to know before you apply.

  • 63
  • 0
Welcome to the official document about becoming staff for the Codonorix network. This thread contains almost all the big details you need to know about being a staff member, from what the roles do to what you can expect when you become a staff member.

To start this thread we'll be talking about each role in the moderation team department and what they do.


Helper_small.png
What is a helper?
A helper is a very important role in the moderation team. It is the first role a player can get when joining the staff team and is the only role that can be applied for.​
Roles of a helper.
  • Be able to assist in chat by answering questions and handling chat related offences.​
  • Be active on the discord server and helping with questions and chat related offences.​
  • Be active on the forum and actively helping people as well as answering any messages you may get.​
  • Make everyone feel welcome and involved in the network.​
  • Help test new and upcoming features before it's released to the public network.​
Requirements to be a helper
  • You must be at least 15 years old.
    • This is due to the fact that we feel this is the most suitable age to be able to handle the responsibilities that come with this role.
  • You must have discord and a decent quality microphone.
    • The reason for this requirement is that we host many staff meetings and we want everyone's voice to be heard and everyone to be able to share the viewpoints and opinions and sadly if you don't have a microphone this can make it very challenging to communicate with you.
  • Have a decent understanding of how the server works
    • This is because if you're going to be answering questions in chat you need to have a good understanding of how the server works, what each minigame is, etc.

Mod Team_small.png
What is a moderator?
A moderator is the next rank a user can earn during your time in the staff team. Moderators work a lot more with the behind the scenes kind of things. They work with more reports and have to handle more rule-breakers. However, this does not mean this is their only role. There is a lot more as moderators get a choice to join a sub-team which is a group of people who help with certain things to help take the load off of network managers (You can find out more about managers HERE).​
Roles of a moderator
  • Be able to handle reports in a quick and professional manner.​
  • Handle more serious situations when it comes to rule breakers.​
  • Depending on the selected sub-team all the responsibilities that are there.​
  • Keeping the server a happy and toxic-free place.​
  • Help test new features before they are publicly released.​
Requirements to become a moderator
There are currently no requirements to become a moderator (other than the requirements to become a helper) as moderators are selected from our current helper pool.​
What is the benefit of being part of our staff team?
  • We're a very team-based staff-team
    • everyone is always willing to help and if you ever have questions a staff member will always help you when they can.
  • We're a different experience
    • Unlike many other "new" servers (which mainly contain the same content so no matter what it always feels like the same thing) we contain a variety of different modes and staff plugins that will make your job more enjoyable and different.
    • We also take training very seriously and we always give our staff the best training they can before given staff, just so that they have a better understanding and are not just thrown in blind.
  • We still have fun
    • While we always need to be serious when needed we also love to have fun, from talking about the most random topics on our discord server to having fun staff nights.
I'm interested in becoming a staff member but have had no past experience, is this okay?
The short answer to this is yes! We feel like everyone deserves an equal opportunity to be able to join a staff team that they love the look of and what will make them happy. Even with no experience, all our newly recruited staff members are given a good set of training before being added to the staff team. This just helps you not feel so nervous about making the wrong choice.​
I'm staff on another server, can I still apply for staff on here?
It depends...​
If you're staff on a friends server that does not have an incredibly large player base, then it's perfectly okay. The issue falls into working on larger servers. We want our staff to give the most dedication and effort they can to our server and if you have to constantly worry about another server we don't feel like you're living up to that expectation. Because of this, we won't be accepting users that are part of that sort of community as we'd rather have someone who is fully dedicated to our network.​
I've received a punishment in the past, can I still apply?
Again this one is on the fence.​
It all depends on how long ago your punishment was and what the punishment was (for example a simple warning for spamming characters won't have as much of an effect on your application status compared to cheating on the server.)​
There are a few rules, however, that are broken will lead to a blacklist from applying for staff​
  • Suicidal encouragement.
  • Joking about serious actions such as rape.
  • Discriminating against anyone for any reason (Be it gender, race, sexuality, skin colour, region and anything else that is in relation to that)
We feel like these are things that should never be joked about and/or said. They are not funny and it show's the level of maturity and the type of person we want to avoid joining our staff team at all costs.​
I've submitted an application, what happens now?
Once you've submitted an application your application will be posted in the application section. It will automatically be placed in an open position. During this time a member of the applications will take the time to read and review your answers. This is where your application will be decided if it's accepted or not.​
What if I'm denied?
We will send you a message on the forum. This message will not just contain a simple "Sorry you were denied" but rather a detailed explanation as to why the reviewer decided not to pass your application and what you can do to improve next time you apply. We always encourage improvement throughout our staff team and this is no exception for those wanting to apply.​
What if I'm accepted?
While we can't go into the details of what happens next, just know we'll send you a DM on the forum and explaining everything that will be happening next.​
How long do I have to wait to reapply after I was denied?
All users have to wait 1 month before submitting another application. We suggest during this time actually working on your application behind the scenes and making it the best application possible before submitting it.​

HI! I go by the name of Serge. Random admin #3

  • 53
  • 1
The name is Serge or Thomas, which ever name works. I am an on & off decent gamer and anime partaker so basically your typical otaku. Currently enjoying watching AOT, Jujutsu and Mushoku tensai, personally Mushoku is my favorite in this seasons anime, I also read manga. I enjoy FPS, MMO, Platformers and oddly a lot of 8 bit games, and this mainly because of the art direction that the newer 8bit titles present I am currently revisiting Children of Morta and Katana warrior. I have never officially played minecraft so I am looking forward to diving into the minecraft world!

I joined this website as part of the dev team to kinda have fun coding with my buddy Logan and also expand my knowledge in programming in a fun and interesting way, I prefer to take on projects where I am learning something new as well so here I am!

Quick facts about me:
➡ I enjoy reading and writing actually (haven't written anything in a while though) a lot. Current favorite book is Kafka on the Shore.
➡ I am a PC gamer, this will not change... ever
➡ I consider myself to be junior developer at the moment
➡ My taste in music is wide
➡ I like animals
➡ I can wink with both eyes 😎
shape1
shape2
shape3
shape4
shape7
shape8
Top