Interview With Meepster On The New Chatroom

Here before you lies an interview with Meepster, creator of the Runevillage chat. Before the current chat Runevillage had a client entitled Sigma Chat. The new one, however, is much better. And best of all, it's free!

What inspired you to write a new chat room for Runevillage?

Well, I was tired of SigmaChat -- the old chat software -- for many reasons. Hiker was paying $120 per year for that software, money that could be used for other purposes. Also, there were a lot of bugs and other problems that bothered me; all in all, it seemed like a poorly written program, and I felt I could do better.

About how many hours did it take to write the chat?

Just as a bit of background information, the Chat is divided into two parts, the "client" and the "server". The client is what you use; it has the pretty graphical interface. The server is what you connect to, and it does most of the real work.

The server took about 45 minutes to write, since it's a relatively simple concept. The client took about 5 hours to write and over 2 weeks to completely debug. There are still bugs in it now! Graphical interfaces are challenging to write, so I gave myself plenty of time to work on it.

What is your favorite program to type your code into?

Well, I mainly use two programs, Windows Notepad and a text editor for Linux called nano. Nano is a slim text editor with a decent amount of features, and the keyboard shortcuts make it really easy to find problem lines of code.

How many lines of code is the chatroom?

There are 3,889 lines of code in total; 996 for the server and 2,893 for the client.

What special features does the new chat have that the old one did not?

Probably one of the most obvious enhancements in the new Chat are the away messages and idle times. It's now possible to tell people that you're away from the computer, sort of like AIM. Also, if a person becomes inactive for a while, you'll be able to see that.

Both of these features are helpful because it gives everyone a general sense as to who is paying attention and who isn't.

How is progress on converting the chat to Microsoft Java?

Well, I'd be lying if I said it was going well. It's such a daunting project, I really don't even know where to begin! I've been trying several ideas, but nothing's really turning into my ideal concept of how the Chat should behave.

My latest idea -- which I think has failed, but I'm still toying with it -- would allow the Chat to be themeable as well as Microsoft Java compliant. I sorely discovered that this themeable Chat lags my computer horribly, it would be unbearable even for fast systems.

So, I'm still searching for a solution... It's kind of depressing, since I really do want to fix this. I understand that not everyone can use Sun Java, so in the end the responsibility is mine to make up for such losses.

A lot of people have been talking about the Sun Java vs Microsoft lawsuit. Exactly what is this about?

Well, here's a brief idea of what happened. Sun Microsystems is the company that created the Java language. Interestingly enough, it was originally designed for soda vending machines -- and it would have stayed on the vending machines if it weren't for a stroke of luck. But that's another story.

Microsoft loves innovation -- as long as the innovation is done The Microsoft Way (TM). Sun Microsystems had the brilliant idea to create the Java programming language, so Microsoft did what any money-loving corporation would do; they blatantly stole the technology and made their own version.

They called this version Microsoft Java, and by pure coincidence, it operated exactly like Sun Java. A coincidence, of course.

Anyways, Sun Microsystems wasn't happy about Microsoft stealing their technology, so they sued Microsoft. And amazingly enough, they won the battle. Sounds great, doesn't it? It isn't.

While the lawsuit was going on, Sun Microsystems came up with this great idea. I don't want to get into the gory techie details, but they came up with a Graphical User Interface (GUI) called "Swing". A GUI, in case you weren't aware, is stuff like the "Start" button at the bottom of your screen; they're buttons, menus, and many other things you can look at.

Now, since Microsoft lost the lawsuit, they couldn't add Swing into their Microsoft Java. That means they were left with the older, inferiour GUI, called "AWT".

The technical details are beyond the scope of this discussion, but Swing is much better than AWT. It's faster, looks better, and it'll operate the same regardless if you're on a Mac or a Windows computer.

So, as a decent programmer, what did I do? I programmed the Chat in Swing. Now, herein lies the problem. Microsoft Java doesn't know anything about Swing -- since Swing didn't exist when Microsoft Java was created -- so Microsoft Java can't run the Chat.

So basically, my challenge is to convert the Chat from Swing to AWT. Seems easy, you'd think. Just replace a few lines of code here, and bingo, we're done. WRONG.

By my calculations, I'll have to re-code 85% of the Chat. There are things like the Chat Display (where you read text from others) that simply don't exist in AWT, so I'll have to code them manually. Basically, this is going to be very painful.

What languages do you know other than Java?

Just to name a few off the top of my head -- and I'm sure I've forgotten a few: Perl, PHP, Python, Shell scripting, TCL, MySQL queries, C++, a few scripting languages I created for my own purposes...

What is your preferred operating system? What ones do you have?

I personally prefer Linux. Linux is a free, Open Source Operating System that was created by thousands of people across the globe. "Open Source" means that I can legally modify the code behind Linux and create my own Operating System from it. This is great because it means thousands of people are trolling through the Linux code, searching for bugs...

I don't really recommend people use Linux unless they're willing to devote a lot of time -- and stress! -- to learn the Operating System. You have to know, off the top of your head, what a line like this means:

meep@meep:~$ su -c 'cat /var/log/kern.log | grep wlan | wc -l'

Which, by the way grabs the failure log as UID root (the Administrator user on Linux), searches it for the text "wlan", and prints out the number of occurances.

What are some future updates you have planned for the chat?

Well, I have a few things in mind...

I was pondering something called the "Chat Moderator Alert System", or CMAS, since everyone loves a good acronym nowadays. Basically, a new rank of people -- the Chat Legend -- would be able to summon a Chat Moderator to the chat, much as a RuneVillage Legend can report a post to the Moderators.

If a Moderator is summoned, a little box will appear over their clock (think: AIM/MSN status messages) saying who summoned them and giving them the option to accept the call or pass it to someone else.

Thank you very much for your time, Meepster!

Go Back To Article Selection

By Chatmasta
Proofread By
Coded By Chatmasta / Juaninzze