Webmastering

In a motto: Orbis Non Sufficit.

Hello again, blog.

January 15th, 2008 by Stephen

It’s been a while, no?

It’s been a busy summer, fall, and Minnesota summer (i.e. winter) since I last posted here. I was actually going through Stencyl’s various websites and reviewing what all I will have to update in the future when I came across my blog again, interestingly enough. I looked at a title that said “Webmastering” and thought, “oh! Interesting.”

Stencyl’s development, for me, is in full swing at this point. As opposed to simple server administration (Stencyl now runs on two servers), as I have been doing for the past few months, I have also taken up the IDE once again and have begun to develop Stencyl’s release site. In addition, I am always working on the design of various features and working with Jon to determine Stencyl’s future direction.

Jon has promised bi-monthly development journals, and I would like to say that I will be contributing to those when I find it interesting. A lot of my work is kept in the dark because it’s pretty new and exciting (in our opinions), but I’m sure there’s a few things that I create, that I will be able to share.

As always, look forward to Stencyl’s release. I am as happy as ever to be working on Stencyl, and I hope that when Stencyl is released, you will feel the same way.

Programming Under Deadline: A Success.

June 28th, 2007 by Stephen

I’m still on a little bit of a rush from how successful Stencyl’s first Project Address was. The key part of tonight’s presentation was Stencyl’s Soapbox site, where Jon (and I, for a section) presented a powerpoint, basically, of new and exciting developments. We would write our narration on IRC in the #stencyl channel, and as we went along, the effect was that we were talking to every one of the users in a live fashion. Together with Jon’s awesome slides and the great turnout we had, the presentation shattered my expectations, but not for the reasons others are so excited.

The End of the Presentation <– A screenshot of the application

To give a little bit of background on the soapbox application, I wrote all the core code over the course of a single week - I had to, as Jon already had announced that we would have a visual component :). It was not based on any existing external codebase, except for the IRC end; I also did not receive programming help from anyone. The program’s main features were:

  • Support for an unlimited number of slides
  • Very simple and clean user-facing interface
  • Chat integration with IRC
  • Administration integration with IRC
  • No downloaded software required
  • No user-taken refreshes necessary - a completely guided experience

The fact that I managed to write the entire application in the course of literally 7 days astonishes me. It’s by no means my cleanest work, and in fact it had a minor failure on the administration end, but it is relatively well-structured and I’m not ashamed of any of the code. To me, the fact that my application kept running in the face of at least 50 users relying on it amazes me. I am proud of the fact that my application survived its trial by fire, and that my programming skills are apparently good enough to create this to the degree that it works, in one single week.

The presentation, publicly, went off without even a single hitch: the application, as I said, ran very well; Jon presented amazingly well; our turnout exceeded expectations; the users even had great questions for us to answer.

Of course, I have to give credit to those that helped me along the way:

  • To Jon, for his expertise, slides, and presentation skills - without you, there would be no presentation and no reason for me to be happy right now. Also, thanks for the whole “getting me into programming” bit of things back in the day, if I haven’t thanked you already.
  • To Sephiroth, for his design and cross-browser skills that made the UI the best it could be while I was worried about Javascript.
  • To Justin and Cyclone, for the great Q&A we had.
  • To Stencyl’s server, for holding up (we got to 32% load about 5 seconds after I opened the floodgates)
  • To the makers of Net_SmartIRC, which powered the IRC end of things. Update your program for PHP5!
  • To the whole Stencyl Staff for making this possible. Here’s to the happy days ahead!

Stencyl has become larger than it ever was before.

June 10th, 2007 by Stephen

Back in April, we got a nice influx of users and thought we were pretty hot stuff.

To complete this narrative, well, I can’t say anything that this below image doesn’t.

Stencyl then and Now. <– click here for large version.

/spam(bot|)//e

June 4th, 2007 by Stephen

If I know my Perl regex syntax, that will search and destroy all spam and spambots using a high-powered rifle. Unfortunately, I get the sense that my Perl regex syntax is a little off, as I learned in the past few weeks. We had a spambot infestation on of our development resources, our “pastebin” (a simple webform -> formatted post application that allows you to post, for instance, long error logs that would be unsuitable for an IRC chatroom.)

At first, the spam wasn’t so bad. A few ads for watches and “excellent vacation stock deals enhancement” about par for my email spam filter. However, the attacks became more prominent in the last few weeks, to the point where, last Saturday, our (dedicated) server choked on the load and gave up at about 2:00 AM. According to chatlogs, after it came back up, it was at a 1-minute load average of 16.47, meaning that over the past minute, the server was working at 1647% maximum capacity.

Naturally, this was a bad sign, and a sign that it was time to put on my Sherlock Holmes hat and determine why exactly my server was crashing at 2AM. Had I known the server was dying due to spambots, it would have been a simple process, but alas, I held hope that real humans were posting things into MySQL to the extent that the server was strained under the load, which would have been an OK problem to have.

I closed the pastebin and deleted its database, which held a single table with 1567 rows. We probably posted there 50 times or so.

Crazy spambots with their concentrated spam attacks…

On Traffic Spikes

April 17th, 2007 by Stephen

Since I am Stencyl’s webmaster, I like to think that I get the fun of really knowing what’s going on when we get big traffic spikes to Stencyl. Everyone else can guess, but I can pull out the logs and, in real-time, post links to sites that know us. When our traffic spiked (see graph below), Jon and the rest of the team went into a tailspin cause they didn’t know where any of these visitors were coming from - only I held the power to check over our actual logs :)

In essence, that really is my job - I’m in the background making sure that Stencyl runs smoothly even when we receive unexpected spikes in traffic. Everyone else has to go out into the public IRC channel and talk with the visitors, while I only have to sit in the staff channel and make sure all the staff are well-tended to. On that note, it must be freaky for some other sites to suddenly receive Stencyl team members on their forums, calling them out on some facts that they have been spreading (someone from outside said they had tried Stencyl when they hadn’t, one of our team members put the kibosh on that.)

On the technical side, Stencyl’s server is holding up no problem. Since the forums aren’t open yet, I do have the opportunity to just shut them down for updates without 24 hours’ notice, a luxury I will miss. The entire Stencyl team has been awesome these last few days, handling issues and providing feedback on threads in the forums as Jon and I dictate. I also want to extend another thanks to Sephiroth - he has been awesome, taking care of public page changes while I handle server administration. It’s a novel experience for me to be able to say “/me pokes Sephiroth - go update the blogs and take care of the page changes” and he says “okie doke!”

So, kudos to the Stencyl team, and here’s to the bright future ahead!

The CMS Cometh

April 6th, 2007 by Stephen

Been a while since I’ve blogged, but that comes with good reason: I’ve been working, and working hard.

As you might see if you are observant, most of Stencyl’s various web resources have been ported to a new theme, which is hopefully the final theme that will be used up until at least the public 1.0 release. This new theme kicks approximately 200% more ass than the old one, mostly using better CSS and being more feature-rich than Eliwood’s design mockup. The same theme will be coming to Stencyl.com itself once the CMS is finished, bringing me to my next point:

The CMS is coming! (one if by land, two if by sea?)

For those of you who don’t know, I am Stencyl’s primary web programmer, meaning I am hard at work creating various new web resources in almost all of my spare spare time. The first one of these projects is a Content Management System for Stencyl that will be: expandable to the rest of Stencyl’s web properties, when the time comes, powerful enough to create any sort of page, and as easy to use as is humanly possible. This CMS will be generating all of the content that you will see on Stencyl.com in the future, and right now is running on http://beta.stencyl.com. All of the major functionality is finished except the in-place rich editor framework, which is more likely going to be a post-release feature. You, the casual visitor, probably can’t see anything special on that site, since all of our debug sessions occur on IRC.

I have two points I wish to talk about regarding how beta.stencyl works: First, I wish to thank my newfound designer, Sephiroth, for all of his design tricks and for never yelling at me when I say “sooo, Sephiroth, want something to do?” He is an invaluable resource when I don’t have the knowhow or the time/patience to finish a task. He and I work collaboratively on new designs for Stencyl and the Stencyl administration area, usually once Eliwood gives us a vision to work with (though this is not always the case.) Working with a designer on beta.stencyl makes my life easier and much more fun, as I can focus on what I enjoy, the PHP code.

Secondly, I want to brag about the SVN system we have setup on beta.stencyl. Since Sephiroth and I need to be working together, sometimes on the same files, often at the same time when we go into debug sessions or UI change days, we needed a system to quickly update our changes and display them for feedback. Since I already ran an SVN server for the rest of Stencyl, I felt that we would do well if we setup an SVN server that could immediately display the changes we submitted onto beta.stencyl.

About two days after I had this thought, it is all setup. The complete development lifecycle goes from my local computer, where I debug and profile my code, through SVN to the beta.stencyl website, and when the time comes, it will be replicated via a shell script to the public area. Though I only have one server, we have separation between dev, test, and live just the way it should be.

Sephiroth is happy as well, as far as I know - he can work on the templates and skins without hassle, since they all just get replicated to me when I need them, and are always on the test server.

Development is sweet. Look forward to Stencyl opening up!

Pre-optimization is the root of all evil.

March 20th, 2007 by Stephen

I’ve been working hard on Stencyl’s new CMS system, which will hopefully see a release tomorrow or Thursday, and as part of that, I’ve been working on the classes that allow page editing. I have discovered the truth in the old adage that forms the title of this post; Though it may not be entirely correct to have 15 SQL queries on a single (editing) page, you know what? I use an application daily that has 55 (mind-boggling queries) on its index page, regardless of who is accessing it. The server hasn’t died under load much greater than Stencyl’s. If I have 15 queries to change a page’s information once upon a time, I’m gonna keep it that way until it becomes a problem.

Of course, I pre-optimized the crap out of the frontend so it uses a max of 4 queries on an ordinary page view and something like 8 once a day to refresh the cached information.

Tally ho then, it’s back to work.

A sad command to execute…

March 9th, 2007 by Stephen

[root@stencyl svn]# rm -rf stencyl
[root@stencyl svn]# svnadmin create stencyl
[root@stencyl svn]# cd /var/trac
[root@stencyl trac]# trac-admin stencyl resync

And so marks the beginning of a new era for Stencyl?

An Apology

February 28th, 2007 by Stephen

The previous post was a ploy to get users to come to this site from the World of Warcraft official forums. It worked better than I was expecting, according to the statistics log I will post sometime. Though it was an actual article, you may note my closing comments are about Stencyl in hopes that prying eyes will look at them.

Tee hee!

WoW Featured in the Star Tribune

February 25th, 2007 by Stephen

For those of you who know about the World of Warcraft scene and how huge it is, you may be interested to know that it was recently featured in the main newspaper for the state of Minnesota, the Star Tribune. The Star Tribune gave WoW a rather glowing review, talking about its good features (social interaction, leadership, etc) and explaining to the general population just what World of Warcraft is all about. I thought it was cool enough to scan in and show all of you the article. Perhaps linking to this is a good way to explain WoW to your parents or significant other?

Here’s the article. Click for full size.

Star Tribune Article

Update: you can also see this article on the Star Tribune website.

In other news, Stencyl has been going well - we have recently finished a lot of new and cool features. For those of you who don’t know, Stencyl is a platform for retro tile-based game creation. Ever wanted to make a platformer, action title, shoot em’ up, hack and slash RPG, strategy game or something else? Stencyl lets you create all of these kind of games and more without any programming or scripting and instead, uses a Trigger system much like the one found in Warcraft III.

After you have finished creating your game, share it with others on StencylSpot, our digital distribution system. You can also download other Games and play them with a single click of a button. If you’d like to find out more about this project, please visit Stencyl’s About page.

Stencyl is currently under private development but will open its doors to the public in April.

Hope you like the article!