Lyntin status

Wesley's been helping finding multi-session issues. We ended up implementing readline in the textui, echo in the textui, #snoop command for disabling snooping on non-current-sessions, message scoping for LTDATA messages, and fixed a bunch of bugs as well. I also fixed up my repository script on the web-site and coallated all of Sebastian's emails into one big file which I plan to read through and verify I completed everything he's been asking for over the last year.

When all that's done, I'm going to take a break for Lyntin for a while and fix minor bugs and otherwise let the code-base bake.

More Stringbean!

I redid exits, command handling, descriptions, word wrapping, and a few other things. Then in the tavern I'm working on, I added tables, a hatrack, a guestbook, a grandfather clock, and Neil who sits at his bar and waxes philosophical about the old days.

All in all it's coming along very very nicely. There are a few things I need to change to improve command handling and looking at things. Then to work on more complex issues.

Stringbean status report

I added NPCs with heartbeats, adjusted the command handling a bit to account for exits a bit better and fixed a bunch of little things. I'll probably build a list of things I want to do which will probably hinge around adding new things to the world.

Lyntin status report

Well, I haven't touched Lyntin in the last week because I've been busy doing that work and that holiday thing. But now the plan is to go through all of the Lyntin-devl email, look for issues I missed, toss them all in one big todo list, and adjust the roadmap accordingly. Depending on how that goes, I'll be releasing Lyntin 3.0 in the next few days.

It's been a really long road (14 months or so now) and it'll be nice to finish it and get it out the door.

the new plan

So I was putzing around overhauling old Varium code which I haven't really touched in a couple of years when it occurred to me that the code I'm overhauling involves features I don't really care about--at least not at this stage of the game. This sudden realization caused me to re-evaluate what I was doing and take a new approach.

I took the testserver I wrote for Lyntin and expanded it into a series of modules and 1300 lines of code later I now have a working mud that has multiple rooms, heartbeats, multiple players, and a series of other things. More importantly, it gives me a good base to add on new features as I need them--giving me time to architect things as I go along rather than doing the whole thing up front.

I need to do a few more things before it has enough of a a critical mass to be interesting.

statusbar module

I bumped into a full explanation of escape codes in xterms and it occurred to me that I could set the title bar of the xterm session and thus have a non-moving status bar of sorts in the textui. I spent 5 minutes slapping together a module that sets the title bar for the textui (if you're using an xterm) and the tkui with name/value pairs that you set using the #setstatus command.

Link to said module is here.

Incidentally, the ability to whip together additional functionality like this in such a short period of time is what makes Lyntin such a powerful mud client.

minor changes to hooks

Just did some additional edits to the hooks which fix some potential race condition problems between when Lyntin core hooks get instantiated and when they get registered with the HookManager.

Left to do:

  • figure out if command parsing needs some attention in terms of unescaping characters

  • get a help file from Josh on lyntin eval mode

  • build a setup.py for distutils installation

  • let the code bake a bit and testing

overhauled hooks in lyntin

After talking to Josh for a bit, we decided that we should overhaul hooks a bit before putting out 3.0. The reasons for this are mostly that the existing hook system didn't allow module developers to build hooks easily and have those hooks referenceable by other modules written by other developers.

I just finished coding up the HookManager class which holds registered hooks. Hooks can now be retrieved via the old method (accessing the Hook directly) or alternatively through the exported module which talks to the HookManager which knows about all registered hooks. I spent some time overhauling the existing Lyntin code to account for this adjustment and it's working nicely so far.

Hopefully this is the last big issue to solve before 3.0. It needs to sit and cook for a bit, though, so this will push the 3.0 release off at least a week--possibly more.

the leonid meteor shower

It was cold, but they were pretty! Though not as numerous as last year when we went up to Middlebury, VT to watch them. This year we watched them in my parents' back yard using the house cleverly to block the moon.

I had one friend who told me to take pictures. I don't have that kind of picture taking equipment, though, so instead I offer up a link to other peoples' pictures.

overhauled logging

We had this idea to overhaul the logging functionality so that it's in a manager just like most of the other functionality. I just finished this up tonight. I'm tossing around other arguments you would want to pass on the command line--haven't gotten there yet.

The next big issues:

  • move the ticker to its manager

  • figure out if command parsing needs some attention in terms of unescaping characters

  • write help files for lyntin and tintin eval modes

  • uncouple hooks from hooks.py so module writers can write their own hooks

  • build a setup.py for distutils installation