oops, i did it again

trials and tribulations


Share
Days turned into months, which turned into years, and here we are today with a seven year old codebase on top of equipment of various vintage, serving a half broken site to a few loyal, patient members. You are a strange group of people, clinging to a site that is fallen into serious disrepair. It is, of course, led by an admin who shows responses like 'removing links to broken features' when a bug report is made. In all fairness, your faithful admin, while making more money than he did when starting this site, has removed all of his free time in exchange for it.

In the past seven years, I have learned so much about logic patterns, application design, web frameworks, databases, and more. The only thing I have done with the site based on that experience is move from a series of cascading flat files storing user information to a MySQL database holding effectively the same information. Oddly, the site has stayed up, and even more curious, it actually stayed rather fast. For those of you well versed in web development, the site is written to Perl 5.4 standards, with inline HTML (oh god), and does not use strict variables (fuck). No, the site doesn't use mod_perl, it would corrupt its own namespace in short order (wtf).

This, ladies and gentlemen, is a horrible slice of code on the internet. We are Web 0.5. Beta.

Over the last few years, a recreation and redesign of whatthefuck.com has started and stopped three or four times over. All you have seen is a couple of visual refreshes, but without the spunky backend to go with it. We tried rewriting it in WebObjects/Java. We've tried using Perl again with CGI::Application. We've tried it over again and again, and every time it gets somewhere, oZ manages to get slammed with work or life or a little of both. I'm proud to say that one has stuck, and you may actually see it.

In the next few weeks, I will be finishing off a beta version of whatthefuck.com 4.0. It is written in Perl 5.8 with the Catalyst Web Framework, on top of PostgreSQL. All of the users, profiles, message boards, and messages are going to carry over without a problem, but they will be put into a more robust, expandable, extendable platform that we can grow on. I call this beta "for the users", as it only has about 10% of what I really want out of the final product, but it makes me sad to see the site as it is. So, this beta is going to recreate what you already use and know on the site. Chat, columns, profiles, and boards will all be available using a familiar interface. Browsing the site and logging in are going to work a little different, but better than before. Very few doodads will be active. User signups will actually work.

Over the weeks following, incremental updates will be made live to the site, and the only way you'll know is by seeing the drastic change, or by reading the small text at the bottom of the main page. I will be adding some AJAX-style touches, making it easier for you to browse and post to the message boards. Profiles will gain added search functionality. The shopping area will be re-added. The final touches will be the reinstitution of email services, paired with an easy-to-use but optional IM service.

I don't want to get you all too excited yet, as we're just finally making it around the first lap. For the first time in a long time, though, I'm starting to get excited, and it's only the beginning.

On October 7, 2007, we will be celebrating our eight year anniversary on the internet. By then, most of this puzzle will be in place, and I'm hoping that all of us can come together to make this a great place that people want to come to again. It's my fault that it got this way, and god dammit, I will bring it back to life.

Peace out, kids.

- oZ
outzider, the lead administrator of whatthefuck.com, only writes when he's bored or pissed off. deal with it. you may send comments, questions, or suggestions to him at outzider@whatthefuck.com.
username: password: