User:Tanaric

My name is Cory "Tanaric" Petosky, and you've stumbled across my user page! Unlike most user pages, please feel free to edit this page if you think you have something to add! Style and formatting assistance would be greatly appreciated.

Status
I'm around.

GuildWiki
I'm one of the oldest administrators here. Out of the or so users we have here, I'm user ID # 14. When I came here originally, I brought a bevy of content from my guild's Guild Wars community wiki&mdash;most of which was written by me, though some other contributors from around the community helped too.

Seeing the GuildWiki, which at the time had about the same amount of content as my own wiki, I thought that we could work more efficiently if we banded together. I ported all my content to the GuildWiki, and the existing editors hacked it up and made it fit the GuildWiki standard of writing and organization.

I'm teling this story because I believe two things. I believe that cooperation is greater than competition&mdash;and so I've worked here since the inception of the wiki to ensure that we maintain a cooperative environment. Secondly, I believe change is important. It's no exaggeration to say that I, along with LordBiro, Fyren, and a couple others, shaped the vast majority of the GuildWiki's policy, style, and content in the summer of 2005. Nonetheless, looking at the wiki today, I see a totally different creation. Our original goals and ideals have been adapted, stretched, and altered to make the GuildWiki what it is today. While sometimes it is hard to step back and allow what I worked on morph, sometimes radically, in hindsight, this process of evolution is what makes the GuildWiki so great.

What I help with
You can come to me for nearly everything, but I'm best suited for the following tasks:


 * Policy discussion – I actively monitor all policy discussions that occur on the GuildWiki. I usually chime in with what I feel is best for the wiki, and, more often than not, this has been what we've adopted in the end.
 * User disputes – So far, I am the only GuildWiki administrator to issue formal arbitrations. I am usually considered neutral. I will hand off any issue in which I do not feel I can maintainly objectivity.
 * Licensing issues – If you wish to use GuildWiki content on your own site, I'm happy to advise you on how to do so without violating our license.

What I'm against

 * Template proliferation – The (older) community here has become incredibly savvy with the MediaWiki system because of their extensive use and familiarity with this system after months or years of editing. As with anybody, because they're savvy, they use the system to its fullest potential, delving into complex logical constructs and styling ideas. However tempting, I feel this is a Bad Thing. The wiki initially thrived because of its simplicity to edit and maintain. I believe that, as more and more advanced features appear in every article, the GuildWiki will eventually become a conclave of only a few elite editors.
 * Note that this certainly doesn't apply to userspace, where I think creative use of templates is a powerful means of expression.
 * Title Case – Just because something is used as a title of a window in game ("Bronze Sword") does not mean it should be capitalized as such here. I've lost this battle time and time again, though, and I'm unwilling to fight it anymore.
 * Deletion based on formatting – Certain parts of the GuildWiki are currently deleting or squelching content based upon poor formatting, regardless of the information contained within. Editors should instead reformat the article&mdash;it's better for the GuildWiki in the long run.
 * Voting – A poll to summarize opinion is okay. A vote that decides... anything! ... is not. Votes are about as unwiki as one can get, as they give everyone an equal voice regardless of their qualifications or knowledge. Discussion gives those with insight more of a say, which is how things ought to be.

Contact Information
Username: Tanaric Real Name: Cory Petosky Email Address / MSN Messenger / Jabber (Google Talk): cory@tanatopia.net AIM / Skype: Tanaric IRC: I'm on EnterTheGame (#ormgas) as Tanaric Website: http://www.tanatopia.net

Guild Wars account information
Like these templates? Check /Character. Just want an easy way to generate a list of titles? Try Displaying titles.

People who have given me copious amounts of in-game money

 * 1) User:Auron of Neon – ~100k
 * 2) Radix – ~25k
 * 3) User:Zoltrioundz – ~15k
 * 4) User:Gcnmaster16 – ~10k

I'm always looking for more names to add to this list! :)

If you helped me out long ago, and I've failed to credit you, please leave me a message on my talk page. In particular, I cannot remember the person who gave me 50k to buy the guild hall for Sacred Dragon about 1.7 years ago.

Favorite quotes
I don't usually do quotes section, but this is too priceless to pass up.


 * Auron: You know how much I need help?
 * Auron: I was in line for breakfast at the uni
 * Auron: and this girl was like "that waffle batter looks good"
 * Auron: and I replied "yeah, it wins pve"

What I do besides the GuildWiki
I just uploaded release 0.0.3 of the o2d project, a 2d engine similar to RPG Maker XP that I'm working on. If you're on a Unix-like OS, this should be easy to install and test out. If you're not, I'm currently trying to create a Windows build. I have worked for the last twelve hours straight on this and have yet to solve this problem -- I cannot seem to coerce libtool into creating a Python extension module using MingW. Any advice is appreciated.

Tanaric's story hour!
I started coding on Commodore BASIC when I was 7, LOGO when I was 10, and ASP classic when I was 13. My first "real" programming language was Turbo Pascal, which I used for a short period when I was 14. I quickly moved on to C++, which I hacked around in for a few years, and then finally took some courses in Java when I was 17 and a senior in American high school. I didn't initially like Java, but it grew on me, and I used this as my primary language for nearly my entire stint in university. I'm just finishing that now -- I have one more course in non-western music to take, and I graduate in August -- but I've recently switched back to C++, thanks to some benchmarks I wrote and ran for a simple 2d graphics blitting test.

(Java ran at 10 FPS, C++/SDL at 90)

Anyway, my point is that I learned how to code on classical languages, but I've been out of touch with them for a while. As such, I've been spoiled by some of the nice things that Java does for you to prevent you shooting yourself in the foot.

For the o2d project, I wrote a simple Entity class. This class has an enum called Direction, which is used to keep track of which way an entity is facing. It looks something like this:

enum Direction { NORTH = 0, WEST, SOUTH, EAST }; Direction facing;

Those enum constants are listed in the order of poses that I expect an entity's graphic file to have. Thus, in my rendering code later in that entity, I can simply multiply facing by the entity's width to find the x-coordinate at which the particular sub-image of the correct facing starts.

I tested it, everything works, life is glorious.

Some time after this, I recompiled my code, and all of a sudden I started getting errors like this:

error in malloc: memory corruption at 0xf71bc281

These were followed by a gigantic stack trace. I noticed that these stack traces always seemed to emerge from a function in which XML parsing was done. I changed something, recompiled, and it worked again. Sweet. Except later, after recompiling again, I got the same error.

I read and read about libxml++, my parser of choice, and tried a million equivalent ways of parsing files, to no avail -- stuff randomly wouldn't work. Worse, even when I didn't get a memory corruption error, half the time the images wouldn't load correctly, even though my image loader didn't report any problem.

Well, I eventually got fed up with tracking the error down -- I'd spent the better part of a week on this -- and stopped working on the code for nearly a month. Random tangent: I do the same thing in video games. If I get halfway through a big dungeon and die, there's a damned good chance I'll never play that game again. Combine that with my propensity for never gaining enough levels, and... well, there are a lot of games I own but haven't beaten.

In any case, I decided to have a look at the codebase a few days ago to see if I could fix the problem. I've got no coursework until July, and it was either hack on o2d or get a job. Instead of focusing on XML, which clearly wasn't getting me anywhere, I decided to look at my entity blitter to see what was causing the images to randomly not load. Of course, on this time around, all the images seemed to be loading just fine. Since I'd determined by this point that compiling had some effect on the error, I decided to code up something unrelated and recompile. Boom -- missing images and some meaningful test data.

std::cout << facing; ** 1191372

Moral of the story: don't forget to initialize your variables.