Webmastering

In a motto: Orbis Non Sufficit.

Archive for the 'Coding' Category

 

 

 

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!

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.