News (for the week 06/07/2015)General ProgrammingIncreasing your productivity by hot swapping classes (by Taharok)
Taharok was experimenting with JRebel alternatives and the like and stumbled onto this piece of code. This generated a discussion about class hot-swapping and its uses (such as updating classes on the fly, i.e. during runtime).Introduction to C++ Metaprogramming: Basics (by justaguy)
This week justaguy decided to post about meta-programming in C++. Make sure you check it out and contribute to the discussion of the shenanigans which ensued!
Server DownloadsAsteria 3.0 (by lare96)
The long wait for Asteria 3.0 is finally over. Lare has reworked some of the design in favour of stability and has added some new content and patches.
We have seen him grow over the duration of this project which is very sweet to witness! If you are a user of the previous version(s) make sure you update to this one as soon as possible!
Server TutorialsCustom Music Player for 317 clients[/url] (by my-swagger[/url])
My-swagger contributed a snippet which allows you to load music for the 317 client from a raw input folder. It's useful for those who don't know how to use the cache properly.
Make sure you check it out if you have issues implementing it the correct way yourself, he pasted the entire code-base to make its usage as easy as possible for newbies
RSC Server Tutorials
It was apparent that the RSC boards were not getting any love in the news posts due to the lack of activity
This all changed when Rodgerwilco decided to post a couple of snippets to add some regularly wanted features to RSC, make sure you implement them to give your server the edge [Release] Notes (by Rodgerwilco)
This snippet adds a sprite and functionality for noted items.[Release] 99 Capes (by Rodgerwilco)
This snippet adds skillcapes to RSC - something regularly requested!
Senior Member Feature - Taharok (aka Avail)
This week we have managed to get a hold of Taharok
- a game programmer and ex-staff member! This interview contains a lot of interesting forum history so buckle up!The "before" MoparScape?
Hmm, before MoparScape... I suppose around early 2005 it starts for me. I was introduced to RuneScape by a friend of mine and I became hooked pretty fast. This led me to wanting to learn programming so I could build my own game, since that's the coolest thing ever at that age!
So I started reading a dated C++ book from '97. It was a horrible book and it definitely didn't stick for me at the time.What was the appeal of RuneScape to you?
I'm not really sure. It was just an interesting game with a lot of fun things to do. It was more interesting than any other game I had played up to that point. I wasn't really used to RPGs before then.
But at one point around Fall 2006 I was getting a bit bored with RS. I recalled my brother's friend telling me once about World of Warcraft private servers. I wondered if there were RS private servers, and I searched Google. First stop was MoparScape.What kind of game did you have in mind when you began to learn how to write games? What were your influences?
Well at that time, the game I was "inventing" was basically just RuneScape with a lot of changes, haha. I dunno, I wasn't a super creative child as far as coming up with new ideas is concerned. But I had a lot of fun looking at RS and thinking about how cool it would be to change it. Thinking up ideas was more interesting than figuring out how to do it at that point.What were the first things you did on MoparScape?
I perused the forums for a few months without registering, I just wanted to try and figure out how this whole thing worked. It took a while to figure out how to play the servers and even longer on how to run one and change them.
I can't even remember what the servers were called back then. They were pretty small though. I think Xerocheez was a huge influence at that point and everyone kind of just used his code. I eventually created my own server called FreeScape and decided to register on MoparScape to advertise it. After that, I started helping people with their server issues.What kind of skills did you gain while creating Fre? Do you have anything in hindsight you would have done differently?
Haha, I don't know if I gained any lasting skills. I learned how to throw together spaghetti code, compile it, realize it doesn't work and then do it over again. I had no real background in programming before MoparScape, so I was learning programming alongside this horrific private server scene.
I don't think I would have done anything differently, though. I became keenly aware of how bad the code was once I started venturing to moparisthebest.com and that was good for me. Seeing the juxtaposition is what made me so critical of my own code, which led me to care so much more about doing a good job. What are you known for in MoparScape now?
No clue honestly. I don't really talk to people about what I'm known for. I'd be surprised if many people even remember me anymore. I stepped down as admin a few years ago now.What kind of work have you done regarding RSPS (public or private)? you said you created Fre did you ever release it?
FreeScape was released, but it sort of got absorbed into the monlothic chimera that servers were at that time. This is back when there was no server organization, thus all class files were at the default package. There was a client.java file which was so large that it actually sometimes led to the compiler not being able to compile it due to some methods being too large to compile. Everything sort of got absorbed into one "base" at that time and people would make a few changes and re-release it under a new name. That pattern hasn't really changed over the years.
Other work includes a really obnoxious batch file I wrote called the "perfect compiler" which still tends to haunt me over the years. It was a batch file to avoid people having to modify their path to include the Java runtime. I think I tend to be known for that, since I always had the "contact mod taharok" echo in there.Did you ever feel competition from the "mendacious nitwit" mdog's compiler? Reference.
Haha, that is a funny story actually. He just took mine and renamed it without changing my name in any of the batch echos.Could you elaborate on your programming prowess, what kind of stuff do you do now?
Well, I'm currently interning at a company and this has been going on since last year. I just received my undergraduate degree from DigiPen focusing on software engineering in game development.
I have experience working in a wide variety of topics of software engineering, including game dev, web development and production server stacks.What do you think about the current state of MoparScape, any observations or suggestions? i.e. People have been trying to 'revive' the site or otherwise diagnose the reason why traffic has decreased so much.
I stand by my post
on this as I think it covers the answer well.How does your activity fare on MoparScape nowadays?
I stopped being active for about two years now. I poped in and out, but once I got past Freshman year at DigiPen, I did not have enough time to do anything on the forums. I think it was the summer after that I resigned.
I started being more active in the last few weeks because I'm in a temporary living situation and often bored; it gives me something to do and is close to socializing with people. Plus, sometimes people post interesting programming things. Not too often anymore, though. How did you become a staff member and establish your position in the community?
As I mentioned earlier, my rough experiences of trying to learn programming and private servers at the same time led me to realize it's hard to do for beginners. Hence, people had a lot of questions and I wanted to help them. Once you answer the same question enough times you begin to see a pattern. This led me to the tutorials section of the site, which was exceedingly popular then. It was getting very run down around October, 2006 though. People were posting a ton of spam, prawns, flaming people etc.
You have to understand that the staffing model in 2006 was very, very different than it is now. There weren't many staff members and they didn't stick around for long. Nor did they usually care at all about MoparScape (which has always required the most moderation).
After writing a few tutorials that started becoming popular, I decided I didn't want to put up with the spamming anymore (report to moderator only goes so far...). So I emailed Starblaster100 at the time (admin) and he made me a board moderator of tutorials and I turned it around. It's up to you if you want to dive deeper into the staffing history of MoparScape; I have years of stuff to talk about there
I was a board moderator over tutorials and I ended up rewriting the rules for it, etc.What proceeded to cement you as an administrator?
So I did that (what was mentioned last post) for a couple of months. Then at the end of December 2006, a few other forum members were fed up with the garbage of the site overall. Moparisthebest decided to create a new staff position which was essentially a global moderator across all MoparScape boards. I was among the first to be added to this, along with God of Ikiliki and I think a third person I don't remember currently.
Then many years passed by, a lot of drama, and a lot of power changing. I sort of took charge on running the MoparScape moderators once God of Ikiliki was banned and Moparisthebest respected my decisions on a lot of stuff during those years.For those who aren't up to date with the forum's history, can you elaborate on who Ikiliki was and why he got banned? Preceded or followed by this said drama?
Eventually, Lothy and Niall were made administrators and other noteworthy MITB members were promoted to global moderator (GM). I think it was around then Mopar asked me to go to GM as well. I think Tico was GM before me, though. He was the other major moparscape moderator earlier on.
Ikiliki rose in popularity on the forum doing a lot of work with his own private server. People seemed to really enjoy it and they respected all that he had to say. I believe he was Dutch so there was some translation barrier there. As a result, he got flamed pretty badly in #mopar (IRC), on moparisthebest.com, etc. To be fair, so did I and the rest of the MoparScape staff, but Ikiliki got it worse I think.
Then there was a bit of a power play, but I honestly can't remember the details right now. All I remember is he did something in response to all the hate that ended up going against his position in the community and Lothy banned him I think. He ended up being very angry toward the community for many years after that. I was able to make up with him later on, but it was an unfortuante series of events that shouldn't have happened.
note: This is expanded upon in next week's interview - so make sure you catch that!May you also elaborate on Tico's role? He hasn't been around for a while unfortunately.
Tico was one of the most amazing staff members we ever had. Tom actually reminds me a lot of him. He was extremely active, helpful, and patient. He rose through the ranks faster than anyone I remember and he wasn't power hungry. He also was respected quickly across both sites, but eventually his patience seemed to wear off after some of the #mopar stuff started getting to him, not to mention the day-in day-out unsolvable problems of MoparScape. He eventually became inactive and later resigned.What kind of #mopar stuff?
Oh, nothing in particular. People on MITB just loved to flame MoparScape moderators though. Despite them being douchebags about it, it was sort of funny in retrospect. We were young kids hell bent on moderating and keeping the forum clean. They were just people who were hanging out and weren't as serious as us.And what would these day-in, day-out unsolvable problems of MoparScape be?
There was always a scalability issue. We didn't have enough hands on the staff to manage all the problems that were going on. There was the aggression issue. MoparScapers that thought they knew stuff would be overly aggressive towards newcomers, arguing they shouldn't be spoonfed. There was the helping issue. More people were asking for help than receiving it, many more. There was clarification issues. Tutorials being written weren't helping enough people. There were security concerns, both with server downloads and advertised servers. Then there was just plain old spam and flaming.
Too many things for the small staff to manage and we ended up doing some ridiculous things to try and fix them, but never successfully. I think we just eventually drove too many people from the site, possibly leading to what it is now. I'm not sure.Can you speak a little of Starblaster100 since you mentioned him earlier? He has faded away
I think he was one of the most active admins the site has seeen. He designed the first staff structure and created most of the forum layout. He was an admin on kaitnieks and a website that post-dated SCAR, but I can't remember what it's called at the moment. We felt like he was driven out of the community due to hate from #mopar, but he had a thicker skin than that. There was some strange drama and he ended up creating a shadow admin account, then Mopar banned him. We really have no clue why he did that, though.How do you feel about your time as a staff member? e.g. proud, happy
It was life-changing, I think, and a good experience (not necessarily positive). I'm glad I did it, but I'm not really proud or happy about any of the things I did. I sort of became emotionally dulled with any of my accomplishments as staff.How is your personal life going? You mentioned you got a degree recently?
Good, I'm currently contributing to an open-source project called Oppia, which aims to provide a personal tutoring experience to people, helping them learn better and be able to learn anything. I think it's a huge game changer for the world. Besides that, I'm just pursuing full time employment and seeing where that goes.Did you enjoy your CS course at uni, any insight into the life of an undergrad?
Try to look at every topic as interesting and something you can pull something from. Universities are filled with sparse and high-level pieces of information that are supposed to form some sort of cohesive picture. They don't succeed at this all the time, but they are much more effective at teaching the overall picture when the student is actually trying to figure out how everything relates together. This goes pretty far in not skipping classes, falling asleep, etc. If CS is something you really want to pursue, then it starts with your first day as an undergraduate.
Actively pursue it, always. Even after you graduate; becoming a Computer Scientist is a life-long pursuit and it never ends. It's the pursuit that's interesting. And again, do not feel bad about asking questions. What is your advice to those pursuing degrees in CS/internships/working in CS?
Hmmm... Pretty much everything that you need to learn to do a job can be learned without a degree, but it's really hard to get the structure or support of a degree. I think both are necessary to be successful in CS. Having some sort of structure to push your limits of what you can learn while also pushing your own limits by going beyond your classes, researching things on your own, and always working on projects will only lead to success; plus, it's great for the resume.
I think people should pursue CS if it is something they love or are passionate about; all else seems to follow after that. It's pretty easy to experiment and get deep into some interesting topic. Follow your interests and see where they take you.What is your advice to newcomers, particularly those who want to learn how to code?
Ah, a topic I debate commonly with my brother and others. I'm still working on a good answer to that question, but here's what I have now: I think people just need a reason to code. Once you have some sort of motivation to learn something, just continuing along that thread will do wonders for you. Ah, and don't be afraid to ask questions. Being prideful will destroy your ability to thrive.Do you have any advice to programmers relating specifically to RSPS? i.e. a cool design pattern you saw somewhere or a nifty library?
Sure, get out of RSPS and go do something that is either more interesting or more useful. RSPS strangles developers.