Posted on April 6, 2015 by

Why you shouldn’t use ViLayer as your hosting provider

To those that generally read my blog posts over the last couple years (which isn’t a ton of posts since I don’t post much, but hope to start doing more regularly) You would be familiar with my opinions and feelings towards Hypernia Gamerservers as well as HostDime/Surpass web servers. Both of these companies have shown time and time again that they can’t handle the customers they have and don’t usually know what they are doing.

Today, we have another company to add to that list. ViLayer. While I think I still hold them to a higher level of respect than Hypernia (which isn’t hard to do), this company clearly has SEVERAL issues in how it operates its servers and its support infrastructure. As I have mentioned in my other posts, when you have a product or service to sell, you need to be able to support it. 9 times out of 10, the support you provide will make or break your relationship with a customer. You can have a mediocre product, but as long as your support kicks ass, the customer will continue to come back for it and continue to use your services, because you have shown that they matter and that you care. The issue with ViLayer is that they have less than mediocre services, as well as absolutely garbage customer support. Let’s dive in, shall we?

1.) Let’s take a look at their control panels which are hosted on different “layers” than their game server so that when ones goes down, the whole system isn’t effected. More often then not, we log into a system that simply says “Status: Uknown”. This is as much information as we can get. There is absolutely no where in the control panel that we can go to help determine if anything has happened or has caused an issue. Additionally, there is nothing we can do to fix it. Since we at GSN Gaming have AMPLE admin experience and typically manage our own servers, this is frustrating to us and makes it so that we are helpless. This issue was last seen yesterday AND today again…. Yea – two days in a row. We are at OVER 15 hours of downtime in two days, and are still fighting to get adequate support.

2.) When we see the issue above we open a “high priority” help ticket to the support staff. It always takes a MINIMUM of 5 hours to get a response from these guys and that is on a good day. We have gone 12+ and even up to 24 hours without an initial reply and when we do get a reply, it’s a trivial, broad, and unacceptable reply such as:

Very sorry about this the server is down due to a large DDOS we could offer to move you to a more protected location if you wanted? If you have any other queries or issues don’t hesitate to get in touch.

So, it took you 5 hours to realize the box was under attack and let us know about it? Your solution is to move the box somewhere else rather than to mitigate the attacks or implement null routing of large DDoS attacks? Hysterical…. That was today’s reply, let’s take a look at yesterdays:

I’m sorry that you are having problems with your Server, I have informed our server staff who will be checking the node and hope to have it resolved shortly. The server may have to be restarted to get this working and online.

We are sorry for any inconvenience caused and hope to have this resolved as soon as possible, if you have any further problems or find the Server is not up in 24 hours time please reply back on this ticket so we can can investigate further.

As for the delays,
When you create a support ticket, this ticket is added to our support ticket queue.
Each ticket has a time stamp and we go off of these timestamps to work with the oldest ticket first.
Thus allowing us to work with tickets in the order we receive them.

When a client submits a ticket and then creates a multiple tickets, multiple responses, or “bumps” the ticket before staff has a chance to respond, this actually pushes the ticket the end of our ticket queue.
This causes delays in us responding to tickets and can cause clients to wait over 24 hours for a response.

We ask that you please allow support to respond to your ticket before creating a new ticket or making a response. This will prevent any delays and will allow us to respond in a timely manner.

If you have any other queries or issues don’t hesitate to get in touch.

So, it took you 10.5 hours to give us a reply about our server which is completely offline for unknown reasons, and your excuse is that IT IS OUR FAULT that we bumped the ticket? Come on….  At least try to come up with something a little more intelligent. Now, don’t get me wrong, being in support management and a senior level support engineer for the largest software companies in the world, I understand the concept of bumping tickets, but 5 hours is MORE than ample time to respond to a help ticket, especially high priority ones. If it’s not, you need to hire more staff…..

4.)The support staff has absolutely no idea what they are doing and what the end issue is. They are merely a liaison between the customer and the people that “know what they are doing”. (I put that in quotes, because I can’t be confident that they know anything either). The replies we get from them, when they finally come, offer little to know explanation as well as no remorse, sympathy, or guidance on how the issue can be addressed next time. Most times, it just comes back on and they don’t offer the explanation. In the case of the ticket yesterday, I specifically asked for the reason for the down time, and their response was to close the ticket out. That’s right, without saying a damn word or replying to my question, the closed the ticket. I mean wow…..  How do these companies stay in business?

5.) Their SLA is laughably tight enough to ensure that you can’t hold them accountable for anything and is worded in a way that makes NOTHING their fault. They are not obligated to assist or support you in any way for just about anything. Additionally, unlike most SLA’s, there are no ETA’s on support replies and how long support replies should take. I can only assume this is because they are understaffed and can’t guarantee a time, which is asinine.

6.) They don’t know when they are having a DDoS attack or not. If the down time is due to a DDoS attack, you should be able top determine that instantly and handle it effectively. There is no science to prevent and mitigate DDoS attacks that is 100% effective and I get that (having a BS in Computer Systems and Network Security), but you CAN make it so that other customers aren’t effected quite easily by null-routing the IP That is under attack, and by not putting so many games servers on the same IP’s. Most hosts worth a grain of salt will actually PRE-EMPTIVELY report DDoS attacks to you to let you know that you will see down time. In fact, NFO usually knows, has an update about it, and a plan in place by the time I can even open a ticket. If I still do open a ticket, I get a reply within 5-10 minutes tops. Additionally, they make sure we are good and follow up after the attack is completed and subsided.

That all being said, at the end of the day we use ViLayer because they are one of the “approved” hosts to host the KOTH mission for ARMA 3. It was the first one we tried and our server has a great deal of popularity because we have a huge team of diligent admins, so we don’t want to switch to another host.

In summation, if you want a server that might work some of the time and you can’t get any support, than ViLayer is the host for you. If you want server that will work and when they don’t work you get the best support in the industry, go with NFO Servers. It won’t be a decision you regret.

 

Posted on March 25, 2015 by

This year hates me! #2015Sucks

So, as you might remember from my last post, I started this year off to a bang. I mean, technically, December 25th isn’t this year, but close enough to couple it in with it so I’m going to go ahead and do that. Losing my Aunt on Christmas morning has taken a HUGE toll on that side of my family. She was truly the glue that held that side of the family together. That includes my own father and my brother. I don’t hardly ever talk to them any more because they just doesn’t do much of anything or with anyone. We all just kinda co-exist without really being a family all because we are short one person. We could always count on her to come up with something to do to make sure we got together as a family several times per year, including birthdays, anniversaries, and more. We haven’t had a single one this year. It’s been a rough ride so far, but life goes on and she is where she has longed to be, so it is bitter sweet. Still missed, and never forgotten.

As I touched on in my last post as well, I was let go/walked away from IBM at the very beginning of January and things have been a roller coaster since, although not entirely job related. I am still currently unemployed (officially), but I am making money doing free-lance work, so it’s good for now but it’s a little more stressful on that front since it doesn’t include insurance and all that stuff that comes with salaried employment. I still feel like that was the correct decision and if I could go back, I wouldn’t have waited as long as I did. Man was that place draining the life out of me. My kids and wife both notice a SIGNIFICANT improvement in my moral and typical day to day attitude so that one was also bitter sweet, because I’m doing better personally, but funds are tight and things are crumbling down around me.

Fast forward to February 5th. MY 2012 Chevy Cruze was hit while parked next to my house by a pizza delivery driver that didn’t have insurance, couldn’t prove she owned the car, did know what a registration was, and the tags one it were for a different car. She somehow managed to do just over 7,000 (yes, that’s seven THOUSAND) dollars in damage to my car and I don’t have full uninsured motorist on my coverage so for me to get it fixed through them, it’s going to cost me my deductible which is like 1k, not to mention it will make my insurance premium go up. My theory here was to go after the pizza shop (it’s a mom and pop shop), since they should have checked that their driver had insurance before they were allowed to drive for them. They hit me on the clock, while making a delivery, so I think that holds them responsible. I can get lawyers to agree with me, but none that will actually take the case (probably because it’s not worth enough money). Needless to say, it’s been rough having a family of 6 with a single vehicle. We are struggling to make it work, but it’s difficult.

To add to that, I’m having some stomach issues that won’t allow me to leave the house for too much in a single sitting. As soon as I get too far away from home, I get extremely nauseated and have sorts of panic about it. I am seeking assistance in trying to get it under control, but it’s difficult to be so helpless sometimes. How can I be a father and a husband if I can barely get out of my house? I have faith that I will make it out of this, it’s just hard to bear with right now.

Let’s put some more on top, and say that the kids therapist (which has been helping them for over 5 years) finally decided that she wants to blame all of my adopted kids behavior issues on me and my wife….. She literally told us that she was going to call CPS because they are not fit to be in our household. My wife (being an ex-caseworker), went ahead and called CPS before she did and they laughed. This was a relief to know that we were right, but we still have to deal with it and make sure our house is in tip top shape. They tend to target foster parents and adopted parents so we don’t want to give them any ammo. We are currently looking for new help for them to get them the help they need.

Next, let’s skip to last week where I was in a fender bender that was completely my fault. It wasn’t a huge deal as no one was hurt and I actually knew the people I hit, but it’s just another straw of hay on the back…..

To top it all off, everything around me has it out for me. Just in the last month I have had to replace/repair the stove, dryer, garbage disposal, computer mouse and keyboard, as well as a tire on my actively working vehicle.

On a positive note, I have a couple of job opportunities that are in the same area that I Was in before that are paying SIGNIFICANTLY more than I was before. To top that off they are understanding that I will be a remote employee for the first couple months while I try to figure out this whole traveling thing and even after that, they only want me to travel about 4 hours away (by train) ones every 3 months. They are going to give me insurance, 3 weeks paid vacation and a huge raise over what I was doing before. I have been hoping and praying non-stop for this job to come through, because this could be the thing we need to start getting our lives on track and to stop feeling like we are failing at every turn. I need something to go right, and I need it to happen soon. I’m getting to my wits end.

Posted on January 14, 2015 by

Unemployed and…… Happy!?

So, the last couple months of work have not been easy to deal with. I have had to overcome a lot of unjustified negative criticism. It has been a difficult ride and has not been one that I would look forward to ever going through again. I was getting positive feedback from everyone except my new direct manager, and her opinion is the only one that matters. They had HR eating our of their hand as well, so there was no one that I could turn to for assistance. I had considered filing a claim with the labor advisory board, but I figured it’s just not worth the effort. I hope me leaving provides a wake up call and the rest of my team members don’t have to deal with what I had to.

The decision to walk away from IBM was a difficult one to make as I needed to make sure I can provide for my family and ensure that we have everything we need. After many discussions with my wife and crunching numbers, we decided that it was possible for me to do so and that we would let the fate of it rely on my new reports willingness to assist me in getting “better” in her eyes. I sent a very thought out and detailed email about what I was confused on, how I needed assistance in understanding what her thoughts on my shortcomings were, as well as how I need some guidance on how to fix the things she thinks are wrong. This e-mail went completely un-acknowledged for over two weeks. This was an indication to me that this process was a one way street and that no matter what I did, I would be left without a job pretty soon and that I should walk away with anything I could. It’s a shame, because I truly loved what I was doing at IBM.

So, fast forward to today. I thought I was going to be stressed about not having an income, and not being able to rely on my job, but contrary to that, I feel AMAZING. From the moment that I decided to walk away, I felt an immediate and overwhelming relief on my entire body. I am genuinely happier, less stressed, and more importantly, able to be the man I want to be for my family instead of worrying about every little thing I do being under unjustified scrutiny. This has probably been the best decision that I have made to date, and I truly was dreading this day. Man, was I wrong. The stress from my situation was literally killing me, and my health has improved tremendously in just the week and half I have been without a job.

Furthermore, I have several side jobs lined up in the work that will actually pay me more than I was making before. I get to control when I work, and where, as well as be with my family any time I want without the worry of having to work on a critical issue.

Finally, on a serious note, I would like to take this opportunity to send a blessing, prayer, and dedication to my Aunt Georgia. This woman was a tremendous part of my life and is largely responsible for me being the man I am today. She was always a second mother to me and I could rely on her for anything. She pushed me more than any other family member to get me on the right path of education, religion, and morality in general. I lost her to the open arms of Jesus on Christmas morning. It was an odd time to have, but since she was a devout christian, I know that she would not have had it happen any other way, and I know she is where she belongs and has long yearned to be.

I dedicate my work, time, and this post to your memory Georgia. You will be missed! <3

Posted on December 10, 2014 by

More ARMA, Work, and even Paronicon

Whoa! Has it really been months again? I keep forgetting this blog is even here. Ha! I have been maintaining my busy-ness as always and am still working on a ton of things that I hope to be pushing through soon. Many of these are the same that I have posted about before, so they will just be updates from the last time. 

So, first off Christmas approaches. This is always a crazy time of year with the four kids. They create both amazing and stressful moments that take a lot of effort and work to get right. We have been going everywhere and buying entire department stores worth of stuff (or so it feels like at times). :) We are looking forward to it and we are starting to wind down and come to an end. Most of the craziness is past and now we can start to get ready to enjoy it.

Altis Life is still staying a strong server in the GSNGaming listing of servers. Its population has died down a bit since launch, but we still hold a decent amount of users that keep coming back due to the open administration and maturity that GSN has come to expect on its servers. We have a lot of great people playing on it now and providing some great role-play. We have several members of the community also providing some great feature requests as well as helping to squash out all the bugs that get so easily created when working with the ARMA engine. The scripting and designing of ARMA is some of the “strangest” that I have had to work with in my personal and professional career. It’s starting to sink in and I can definitely do it much quicker now than I could before, but it still has some nuances that are hard to overcome. 

GSN has been running a KOTH server that is also quite popular among our community members. This one is hosted by Vilayer, and I can easily tell you that this will be the last server we get from them. Their services are flakey at best, and their support is second to everyone. It takes 24+ hours, pokes, and tweets, to get them to even reply to the ticket… Never again. 

ARMACon is making ever so slow progress. It is happening, just not nearly at the rate that I had hoped it would, but a part of this blame lies on my work at IBM taking up a ton of my time. It is slowly coming along and I have a couple people that I have pushed a version to and they reported some bugs, which I have not gone back to fix yet. Hopefully the New Year will bring some new development on it. Heres hoping!

I have been putting a ton of time into my IBM work as of late. More so than I ever have before. What has it gotten me? Nothing. In fact, they seem to think I’ve been doing less which was a real blow to the stomach. I mean, I have put the cases and their customers ahead of my own health and appointments at times, and the thanks is to blindly think I do nothing. I mean, come on. We will see how the next month goes, but I have never been more dissatisfied in a position before.  It’s a real shame honestly, I actually really like what I do. Well, I did….

Lastly, Paronicon seems to have gotten a bump in usage and interest based on posts to our forums and the traffic to the site. Not sure where it came from or why, but it has poked me to maybe push one more release of it out before I give it up for good. Dedicated and managed servers are a thing of the past now, and no new game is ever going to give them to us, so it’s of no use to anyone any more. ARMACon will be the new focus of that time. 

Until next time. Merry Christmas and Happy New Year!

Posted on May 17, 2014 by

Altis Life Mod and ArmaCon Progress

So, the last time I wrote, I talked about how ARMA III was taking up a good bit of my time and over at GSNGaming we have shifted our efforts over to it fully. We have dropped support for the battlefield series for the time being since the game is just so broken. This sucks, because we have so many members that are AWESOME to play it with, but we were paying a lot of money to have servers that just constantly sit empty, so this was the clear decision.

We searched around for some of the best Altis Life servers around and started seeing what people wanted and liked. We have experience being admins of many servers, and a lot of people are just looking for good admins that don’t abuse their power. We have that taken care of because those are the beliefs that GSN is built on.

Almost exactly a month ago, we launched our initial version of Altis Life. We took the core mod and made some tweaks and enhancements to it to fit our needs and to give it a little bit of custom flair. Things have been going very well with it and we have been pushing out as many bug fixes and features as possible. We also built auto-admin tools around it to make sure our admins can all manage the server and the players effectively and efficiently. We have a custom support system built around it as well. We also automated the entire donation process. There is no manual intervention to donate and then get your donator perks. It all happens automatically and instantaneously. In just a months time, we have taken the rank of our server from ~700 (where you start out nowadays), to 44th in the world, which it currently sits at the time of this post. You can check out the details of our server and you can check out the changelog. We have acquired a pretty good following so far and are looking forward to adding more features in the future. We might even look into opening another server or two. Who knows.

Next up we have ArmaCon. The last post said a week or two until the BETA, but that clearly hasn’t happened. I am being too damn picky about the tool and am afraid to launch it with too many bugs. The good news is that it is coming along nicely and the feature set keeps growing. I welcome any feedback that you have for it in any way possible. Feel free to reach out and let me know. It will be out for people to use soon enough. I can assure you, the wait will be well worth it. Until next time, frag on!

Posted on March 25, 2014 by

Arma, Arma, and a little bit of Arma

Just in case that wasn’t obvious, it’s Arma III (note how there are three of them in the title – I’m so clever….). Anywho, I have been getting back into the swing of Arma III and it has been taking a lot of my spare time recently.  All of us over at GSNGaming have been spending a lot of time playing Wasteland and Altis life.

Wasteland has a very simple objective. Kill people and survive. It’s a modified version of TDM, honestly. The only difference is that there are 3 factions. BluFor and OpFor are both team based, while independent is a FFA slot. You can kill any player you want when you are Independent. While on BluFor and OpFor your goal is to work together as a team to take out the other team and the independents along the way. We have our very own Wasteland server that we usually play on that has been modified a bit to our liking. It has more weapons available and it tuned to give you some good fire fights.

Altis is a “life mod” in the sense that its a role playing game that takes on the aspects of daily living. You need to earn money to buy stuff, which you can then use to make more money, become a rebel and kill cops, or just do some drug trafficking. There are some servers out there that are doing really well with this mod, but many of them are suffering from childish admins, bad cops, or just poor management. After trying many of them out there, we have decided to try to run one ourselves. With our mature admins and our custom in-house admin tools, I think we can really make some amazing life servers. We are working on the admin tools, and the automation of the donators, whitelisting, and banning right now. We are going to be starting with a vanilla mod and then build out from there. We want to take every precaution we can to ensure that we keep it as efficient and fast as possible.

Next up, we have ArmaCon. Since all Call of Duty games now suck, and aren’t providing hostable dedicated server support and thus defeating the purpose of working on Paronicon, I am finally shifting my efforts over. ArmaCon is coming along nicely and is about a week or so out from having a BETA-able version for people to work with. You can keep track of the status updates on the gsn forums, or on twitter. We are looking for BETA testers to help make it the best tool we can, so please let me know if you want to see anything or have any feedback. It is all welcome.

Posted on October 14, 2013 by

Left, Right, or Straight?

Holy crap. It has been a long couple of months and everything has been going haywire in every faucet of my life that it could. Not that it has been bad, most of it is exciting and am looking forward to seeing where it goes, it has just taken a lot of time and I look forward to being able to breathe again soon. I don’t know whether I’m coming or going and which way I am heading.

Let’s get started in the world of gaming. Last I wrote, I was talking about the new game that I had backed called Frontiers and I am still looking forward to that, but there hasn’t been a lot of movement on getting my hands on that one. In the process, I have been buying and backing a few other games that I found quite interesting.

1.) Godus: This game is attempting to set itself up as the new and improved god game that will redefine the genre. While they have announced that they are going to be doing HUGE things to make this the case, right now it’s just not quite there. I have spent a good bit of time in the game sculpting land to perfection and making it look the way I want, but other than that, there is very little game play actually available. The game tends to be on auto-pilot for most of it and it is guiding you down a very narrow path of how to play the game and how to achieve it’s goals. While 22cans says that what they have is a mere 41% completion, some of the things that are “completed” right now are not quite what you would expect. I have good hopes for it, but right now it’s kinda bleak and I have concerns whether they will be able to deliver what they set out to.

2.) Castle Story: This game is a defense game in whichN your goal is to simply protect a cluster of crystals in the middle of the land. I enjoyed what little there is to this game immensely though. You have a set of people (Bricktons) to send to do your chores. You have them collect stone, wood, and even in rare cases, some crystals for your stack. Once you have the materials you can start building your castle. At this point it is completely up to you how creative and imaginative you become. The game is still in early alpha and thus there are issues with AI misbehaving, saves being corrupted, impossible barriers to over come (a brickton may get stuck on a task that has already been completed), and more. Despite the early access and the bug, I have still had a ton of fun playing the game, and expect that the finished product will be well worth the investment made at this point.

Next up is WarZone Secure. This is the project that I have been working on for several months that will allow gamers to compete for real cash prizes without all the overhead that most competition sites require you to have in order to compete. We build the system out to be as user friendly as possible and prevent the need to jump through a ton of hurdles to get in and start playing. We officially started opening sections of the site and forums to start getting some traction to get people signed up and start spreading the word. There are several pieces that are still being worked on and full BETA testing should start very soon. We expect to have people playing through matches in the next couple of weeks.

Finally, my gaming community over at GSN Gaming has been making the move towards trying to get known in the streaming world on twitch.tv. It has been a lot of fun and we have had a blast doing it. We look forward to doing it continually in the future as well. I have been assigned to streaming on Saturday nights. Be sure to check out our stream schedule and of course, watch us when we stream.

 

 

Posted on June 24, 2013 by

Looking forward to a new indie game: FRONTIERS

Being an avid gamer, I tend to try all faucets of gaming because I feel that each one bring a unique game-play, style, and creativity to the table. While I appreciate the big studios for the great games that they make (BF, CoD, ect…), I have always had a soft spot for indie development. This stems from multiple reasons:

  1. Being a software engineer that works on tools and application in my spare time, I appreciate the amount of work, dedication, and self control goes into being able to develop something from the ground up. It’s much more difficult to follow your own guidelines and timelines, than it is to follow those of someone that is hiring you to do something.
  2. These people tend to love feedback. They will listen heavily to the community that is playing their game, because with out them, they have nothing. This leads to a fantastic development process for both the supporters and the designers as they will be developing a game KNOWING that people are going to love it.
  3. They are extremely responsive and exited about their project. We would be naive if we said that weren’t trying to make money from their project, but that is not why they started doing it. They started doing it because of a passion they have to build games and build them in a way they see fit. You can see the excitement in their updates, notes, and communications about the game.
  4. Indie developers tend to go down paths that large studios refuse to go down. They are willing to try new gaming mechanics, designs, or strategies. This leads to truly unique experiences when playing these games,

Since I enjoy indie games so much, I tend to view Kickstarter a lot. They have a lot of great ideas on there, from games to technology, and from applications to hardware. I have backed a handful of games on there, but I don’t think I have been as intrigued and excited about any of them as I am for FRONTIERS. In one paragraph, the creator (Lars Simkins) described it as such:

I can still remember the first time I played Daggerfall. Yes, it was uglier than a monkey’s armpit and controlled worse than a bumper car on a frozen lake.
But it also created the feeling of a world that lived on even after I’d stopped playing, and that feeling still sticks with me all these years later. A world where you could spend hours searching every pixelated nook and cranny. A world of potential. A world of EXPLORATION…
…and then a Dragonling would chomp my face because I hadn’t spent ten hours grinding in the easy regions. Arg! So frustrating!
Other games have touched on that elusive feeling, especially Elder Scrolls and early Fallout games, but as fun as they are and as much as I love hardcore RPG mechanics, I’ve always dreamt of a game that emphasized exploration above all else.
FRONTIERS is that game…..

This game has a lot of great qualities and features built into it and it looks like it’s going to provide hours and hours of fun filled game-play. I honestly can’t wait for this to get underway and start to get my hands on it. I would LOVE to see his goals get to 125K so that we can get some coop game play. That promises to add an infinite amount of time that can be had having a blast in it. I encourage you to check it all and back it if at all possible. I can’t imagine that it won’t be worth it.

Posted on May 26, 2013 by

Hivelocity hosting to the rescue

So, after many discussions and issues with HostDime we finally were able to cancel all three accounts that we had there (my personal colocated machine (which they are charging me $75 just to remove it from their rack), the VDS for GSN Gaming and a couple of other personal sites, and the first server we purchased for out testing of WarZoneSecure). For the startup, we need a company that is willing to be supporting, and assist us in the support area with professionalism, efficiency, and knowledge. We hope that this project grows to become a huge place for gaming and we look forward to working with whatever host we have to ensure we can support the load that will be generated. Hostdime definitely didn’t fit that bill.

After a lot of research and browsing, we decided to give Hivelocity a whirl. So far (it has only been a week), they have been great. Their control panel is superior and much cleaner/responsive than previous panels we had used. They are much more full featured and are easy to navigate.

Their setup was quick and painless, and we have not run into any mistakes as of yet. We had to contact support a couple of times for trivial questions and upgrades and their response was within a couple minutes every time. They are very quick and straight to the point. They have a lot of guidance built around their support areas and look like it’s going to be great to work with them as we push forward.

We got everything switched over and moved DNS to the new server and everything is running perfectly. Ironically, after we moved everything from the old server, it still kept going down even though we were sending absolutely NO traffic to it. Can we say oversold servers?

Here’s to hoping they stay as good as they seem.

Update: They are clever as well. They sent this e-mail:

Server Email

which had this image on it:

Server Image

I lawl’ed

Posted on May 7, 2013 by

Quick C# XML Former

While I was working at FedEx, we had a lot of systems that would need to communicate with each other. These systems often communicated using an advanced messaging queue that was simply called the broker. The broker logged everything it did in great detail, the only issue was that it logged everything in a single line of XML that ended up being extremely long (which means it had no line breaks and made it hard to find the info you were looking for).

I wrote this quick tool that will take any XML and show it in a tree-view. This is a great plugin that many text editors have now that makes this easier, but just in case you want something to mess around with: here ya go.

The code behind is quite simple. The bread and butter fall into two methods mainly:

FillTree is the first method which is the parent method responsible for the flow of adding elements to the tree.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
        private void FillTree(TreeView currenttree, TabPage tabName)
        {
            try
            {
                XmlDocument dom = new XmlDocument();
                dom.Load(Application.StartupPath + "\\xmldump.xml");
                currenttree.Nodes.Clear();
                if (dom.DocumentElement.Name.Contains(':'))
                {
                    currenttree.Nodes.Add(new TreeNode(dom.DocumentElement.Name.Split(':')[1]));
                }
                else
                {
                    currenttree.Nodes.Add(new TreeNode(dom.DocumentElement.Name));
                }
                TreeNode tNode = new TreeNode();
                tNode = currenttree.Nodes[0];
                currenttree.Nodes[0].ContextMenuStrip = treeviewmenu;
                AddNode(dom.DocumentElement, tNode);
                if (chkClearInput.Checked == true)
                {
                    txtInputXML.Clear();
                }
                treecount += 1;
                if (booExpandTree == true)
                {
                    currenttree.ExpandAll();
                }
                booSuccess = true;
            }
            catch (XmlException xmlex)
            {
                booSuccess = false;
                MessageBox.Show("XML Malformed. Reason for Error: - " + xmlex.Message, "Error");
            }
            catch (Exception ex)
            {
                booSuccess = false;
                MessageBox.Show("Non XML Error Occured: " + ex.Message, "Error");
            }
        }

AddNode is the second. It is simply responsible for taking the XML node and filling the tree branch with it.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
        private void AddNode(XmlNode inXmlNode, TreeNode inTreeNode)
        {
            string strCheck;
            XmlNode xNode;
            TreeNode tNode;
            XmlNodeList nodeList;
            int intLength;
            int intStart;
            int intEnd;
            int i = 0;
            if (inXmlNode.HasChildNodes)
            {
                nodeList = inXmlNode.ChildNodes;
                for (i = 0; i <= nodeList.Count - 1; i++)
                {
                    string tester;
                    xNode = inXmlNode.ChildNodes[i];
                    tester = xNode.Name.ToLower();
                    if (xNode.Name.Contains(':'))
                    {
                        inTreeNode.Nodes.Add(new TreeNode(xNode.Name.Split(':')[1]));
                    }
                    else
                    {
                        inTreeNode.Nodes.Add(new TreeNode(xNode.Name));
                    }
                    tNode = inTreeNode.Nodes[(int)i];
                    tNode.ContextMenuStrip = treeviewmenu;
                    AddNode(xNode, tNode);
                }
            }
            else
            {
                if ((inXmlNode.OuterXml).Trim().Contains("></"))
                {
                    strCheck = (inXmlNode.OuterXml).Trim();
                    intStart = 1;
                    intEnd = strCheck.IndexOf("></") + 3;
                    intLength = strCheck.Length - intEnd;
                    strCheck = strCheck.Substring(intStart, intLength - 1);
                    if (strCheck.Contains(':'))
                    {
                        inTreeNode.Text = strCheck.Split(':')[1];
                    }
                    else
                    {
                        inTreeNode.Text = strCheck;
                    }
                    inTreeNode.ContextMenuStrip = treeviewmenu;
                }
                else
                {
                    strCheck = inXmlNode.OuterXml.Trim();
                    inTreeNode.Text = strCheck;
                    inTreeNode.ContextMenuStrip = nodemenu;
                }
            }
        }

I added it to a WinForm and added some exporting functionality. You can see it below, I took my RSS feed from here, and put it into the tree view:

You can download XML Former for you to try for yourself. Let me know if you have any questions.

Older Posts