OrtzIRC Update

Progress has been slow, but it hasn’t stopped. It’s been a while since the last update so forgive me if I repeat anything.

The biggest news to tell is probably FlamingIRC. I decided pretty early on that there was no need to reinvent the wheel and so decided against writing my own IRC lib. So I went with what seemed to be the most popular IRC library for .NET, Thresher. After having it pointed out to me how old and outdated the code for Thresher was (I think it was written for the first version of .NET) I decided to fork it and name it FlamingIRC. Sadly it’s under the GPL so it has to stay that way. I hate how viral GPL is. It’s very heavy-handed.

Max Schmeling sort of gave OrtzIRC a shot of adrenaline, cleaning up some of my code and improving a lot of things overall. I just wish I could code as fast as him…

I’m still thinking about features to add, mainly plugins and scripting. I’ve been thinking that both a plugin system and a scripting system would be over kill, but that seems to be how XChat does it so I’ll have to do some more research. If you have any experience with implementing plugin systems and/or scripting systems or know where I can get some information on implementing them, please leave a comment!

I don’t think I’ve linked to the project page yet, so here you go. You can take a look at the code if you want but there really isn’t anything to see yet. However if you do happen to see any bugs, or if you have any feature requests feel free to open an issue. I also started a page on planned features, mostly for my reference., which is obviously subject to frequent change.

Stuff

One of those miscellaneous blog posts.

  • I’m back from Mississippi obviously. Here’s some things I learned: South Carolina has the crappiest roads I have ever seen. It’s impossible to sleep while driving through SC. Georgia: meh, but Atlanta: holy big city. Alabama: beautiful. Mississippi: smells like horse butt. 10 hours in a noisy Range Rover SUCKS; luckily my dad has noise-cancelling headphones for those occasions when I thought I was going to lose my mind.
  • I installed Vista (64-bit) on a separate drive last week. The biggest problem I’ve had so far was all my paging files being completely disabled for some reason… Besides that, I don’t see why so many people don’t like it.
  • I haven’t had much motivation to work on OrtzIRC since I got back. I think the trip over and back did something to my attention span… I need Max to get me excited again.
  • I’m taking a 3D Modeling course, even though I’ve done it a lot before. I usually use Maya, but the course uses 3DS Max, which I’ve never used before. After a little over a week using it, I’ve decided I don’t like it. :(
  • I got a new gfx card. An Ati HD 4850. It’s pretty nice, except I’m pretty sure I’m not getting the framerates I should with this card. I think I have a bottneck somewhere, which I’m thinking is my CPU. (AMD Athlon 64 X2 4800+ 2.5GHz)

OrtzIRC Update

After practically rewriting it 3 or 4 times, I’ve made some real progress on OrtzIRC.

The basic structure is complete. Server and channel messages appear in separate windows, channel messages are formatted nicely, the nickname list is filled correctly now. Although commands aren’t parsed or handled yet, the command box keeps a history of commands like mIRC and other clients do. Although it’s not anything new and it was simple to implement once I figured out how, I was really proud of the way it worked when I was done.

As far as actual features there’s not much to speak of at the moment. There’s still a lot of basic funtionality that needs to be worked out, like persistent user settings, server settings, favorite channels, auto-auth/identify, etc. I may write up a list of things that need to be implemented and post it.

I need to send a huge thanks to Max Schmeling for the loads of advice and direction as well as letting me pelt him with questions on a daily basis. Thanks Max!

Update: Here’s a screenshot:

OrtzIRC Progress

I was working pretty hard on OrtzIRC (compared to other projects). I discovered the awesomeness of the class diagram system and I was getting a lot of the classes laid out. Then some guys in IRC were talking about IRC fameworks and someone mentioned Thresher.

After looking at Thresher’s code I realized I was completely reinventing the wheel and that my own backend would probably end up looking a lot like it. So I decided to use Thresher for my IRC connecting and stuff, although I will probably make a lot of changes to make it do the things I want it to. Right now it doesn’t do things like keep track of channel info, it looks like it’s mostly event-based, like for bots. It just passes around channel names as strings. Needs moar OO.

So now I can concentrate a little more on scripting, which is where I believe OrtzIRC’s power will lie.