Ziggy

Ziggy release 1.0

Well, I’ve got this turd polished well enough to release Ziggy 1.0. There’s still a lot left to do, and a lot more to add, but this is a good place for people to start looking at it.

Feel free to download it and take him apart- I’ve included the very truncated Dribbly.xml profile (dribbly is surly, be forewarned) and kept ziggy’s real config under wraps. enjoy!

Yay I’m 1.0!

Happy birthday to me, I live in a tree, happy birthday dear me- happy birthday to me.
-Ziggy

My Pickled Herring is not Red

11:13 -!- lori [45dddd1f@A3455140.59D83169.126F8B2.IP] has joined #irc
11:13 < lori> jesse are you there?
11:14 < ~ziggy> he might be
11:14 < ~ziggy> want me to go get him?
11:14 < lori> sure why not
11:15  * ziggy runs off with a pickled herring under his arm
11:15 < morgajel> yo
11:16 < lori> what is jackie’s work number?
11:17 < morgajel> *shrug*
11:17 < morgajel> I don’t know.
11:17 < lori> well what good are you?
11:20 < ~ziggy> we’re all wondering that
11:21 < ~ziggy> well, other than sperm donor- he seems to have gotten that
down.

-Ziggy.

ur mom

ok I need help- I need some ur mom jokes. I’d come up with my own but I’m heading over to ur mom’s right now. Just leave them in the comments.
-Ziggy.

Humanizing Ziggy

For those that are not familiar with Ziggy, he is a character based on a DnD character from a few years back and has taken on a life of his own. He’s made an appearance in my Willis module for Neverwinter Nights (based off the same campaign), a book that I’m writing, several sketches as to what he looks like, and an IRC bot written in perl.

The IRC bot is what has really shaped his personality, and he’s become pretty much another member of the group. The first iteration of ziggy had noticable issues- mainly the instantaneous full sentence reponses.

Fortunately, the initial workaround for this problem was easy- Ziggy is based off the PoCo-IRC module, and there’s an ability to delay() calls to session hooks. This has made ziggy much more realistic and given me the ability to make him… bizarre.

As I’ve added more and more functionality to Ziggy, I’ve had successes and failures. The current code rewrite I’m working on is massive, but well worth the effort. One of the big pushes I’m working on is modularizing his code; that in combination with the personality xml file would allow others to easily create bots and pick and choose features to add. This would also allow me to create an API for modules and let others develop for ziggy.

The problem I’m running into is the code I wrote in the previous version of ziggy is dependent on features available in the PoCo-IRC scripts, but not the plugin class. Lets look at a sample case:

Bar_brawl.pm
Bar_brawl is triggered when someone performs a ctcp action that involves punching ziggy.

* morgajel punches ziggy in the liver
1-3 second delay
[ziggy] BAR BRAAAWL!!!!!
1-5 second delay
*ziggy hits morgajel with a chair

repeat the last two sets 4-8 times, changing the delay, the target, and it’s an action or a battle cry.

In the original version, I created a bar_brawl handler which recursively called itself and decremented a variable. Each round of bar brawl randomly selected a “brawl_option” from the personality xml file, immedately performed a post(’privmsg’) or action to the channel, then performed a delay() on itself for a random 1-5 seconds.

The result was exactly what I was looking for, except that it was a big mass of ugly code in the middle of the program. This, if anything, should be moved to a module. The problem then became, “how do I declare the delays?”

BinGOs, the guy who maintains PoCo-IRC is working on a delay for plugins, which will almost fix my problem- he says that it’ll only work for main session hooks like privmsg, kick, etc- which means no plugin-level delay on a plugin-level bar_brawl hook.

So where should I go from here?
UPDATE

So it looks like the fix was using an internal function in $irc called _send_events
with this I could send a ’say’ event, and had say recursively call itself if an extra parameter was given to it (a delay in seconds). on top of this, delay_add fixed the disappearing delays issue. Moral of the story: it’s all working now.

26

Hrm… I think I’ll try something new this year. As some of you know, 12/31 is my birthday, and I’m 26 now. That makes it twice as good to look back on my life and reflect. So what’s changed? Quite a bit. I always had a goal growing up, that when I was 25, it would be the one of the best years of my life. Looking back, I think that it very well could be.

Virginia

This was my first full year in Virginia. Went with jackie back to visit friends in Michigan a couple times and realized how much I dislike Virginia. Growing up, I couldn’t wait to get out of michigan… now that I’m here I want to go back. That was quite a shock.

I worked at SPX(I still don’t use their full name here) for a full year, and went from junior developer to developer to webmaster to system admin to lead developer, which those last 3 all happening at the same time. I left the company over money issues and ended up with CSX(again, no full name), where I’m a full time Linux System Administrator. The job is great. I’ve been with them for 3 months as of christmas eve. It also allowed us to afford a new bed- the original move down here did a number on my back, and has been messed up for the last year. I went and saw a doctor and got some anti-inflammitories about the same time as we got the bed, and for the first time in a year, I was able to sleep 8 hours straight. I just ran out of the naproxin, but my back is in much better shape than it was.

We’ve been at our apartment complex for over a year now- This is the first time I’ve stayed at a single apartment this long since I started college. It’s not a huge apartment but it is quite expensive. We’ve also been digging ourself slowly out of debt. We did end up taking on a new debt- my Ford Tempo finally died, and we bought a new Toyota Corolla (my first foreign car; has a lot more meaning to someone from MI). The car is great, but we added a whole lot more debt to our lives.

Family

Family has been good and bad, lots of interesting things going on. Jackie spent a good chunk of the year working 70 hours/week in New Jersey working on a case that her lawfirm ended up being disqualified for. The big bonus she was promised? well, she got 1/3 of it. She’s the 3rd person I’ve talked to this year who got screwed on a year end project based bonus through no fault of her own. From now on she ONLY works 40 hours a week. If they don’t like that, she can go elsewhere and make 50% more.

And to round things up:

  • Chaos, the cat who lives up to her name, turned 1 and has calmed down. She isn’t quite… “domesticated,” but she’s calm enough now that I don’t want to throw her off the balcony.
  • Toby still hides under the bed.
  • My brother Jamie broke his hand punching a guy, then got his ass kicked a few months later by a mob.
  • My brother Brian is still playing trumpet at UofM- his second year there I think.
  • My mom has been bowling a lot
  • My dad shot Bambi in the spine. He says Bambi is delicious.
  • My good friend Jeff got married to his girlfriend Corrie
  • my Mother in law Rhonda got married to her boyfriend jerry

Hobbies

It’s been a Good year for hobbies- or bad, depending on how you look at it. I’ve been hitting the guitar with a renewed passion after finding the Guitar Grimoire series of books and Rockhouse “Learn to Play Guitar” DVDs. Before this year I could only play chords and single notes- I was a rhythm guitarist essentially. Now I can play all 5 modes of the pentatonic scale and the first mode of the F major scale. I still got a ways to go, but this was a big hurdle for me; one I thought I’d never get past. Now I’m to the point of being able to understand music a whole lot better.

I’ve gotten back into art with the purchase of a Wacom graphic tablet. I’ve started working on several drawings, mainly pictures of old DnD characters I’ve played. lots of fun and interesting stuff.

For writing, I finally decided to write a story about the DnD world I created- Willis. since I can’t play DnD, I figured I could at least write about it. I got about 10k words in and realized that my outline had stopped being an outline. went back through and started writing a first draft, got about 1500 words in and got sidetracked with other projects.

One thing I’ve wanted to get into since I was 10 was electronics- never got the chance though. Well, the last 2-3 months I’ve decided it would be cool to make my own guitar pedals, so I picked up “Demystifying Electronics” and started learning. It’s a slow process, but I’m getting there. Right now I have a 130 in 1 electronics kit, and I plan on getting a real breadboard in another month or two (to make sure this isn’t another failed hobby).

And of course there’s my programming. I’ve been working on a bot named Ziggy who is based on one of my favorite DnD characters. He’s become quite a source of amusement to me, though I think he’s wearing a little thin on others. I’ve also started working on a Streaming Radio interface to allow me to tag and catagorize songs and create shows. It’s called Ridllr. If I can get this up to a certain level, I’d like to place it under a GPL license and sell support for it (though I doubt there’d be many takers). The hardest part was coming up with enough music to stress test it with large loads. Fortunately there was a used CD store down the block from me at SPXwith cheap CDs.

Linux is of course my bread and butter now, so I’m continually learning about new services and such. at CSX, I’m using Redhat, which I’ve honestly not had much experience with- I’m relieved to learn that it’s reall not much different, it just has some minor annoyances. the updates and security issue is really the most annoying. I’ve done a lot of work with apache, subversion and bind this year, and quite a bit with perl.

Lets see, hobbies that are going into stasis… Jow Gar is obviously since 1) there’s no place to practice and 2) my teacher is still in MI. Chainmailing is as well because I’ve always got my hands full with my other hobbies….

Friends

As I mentioned in the section above, Jeff got married. Shabbs got his wife pregnant and she popped out little zsolt …”skullteddy”.. ugh I’m horrible with spelling that, so phonetic will have to do for now. Made some new friends- Pete(dendrite) who I actually met in 2004 but we’ve kept in touch after both leaving SPX. There’s also Tony, who’s well on his way to a bright music career. Worked with him at SPX as well. Met William(shaldannon) and Ben(ben) who we hired at SPX right before I left- I keep in touch with them to help them when I can.

Of course there’s my new coworkers, but I differenciate between coworkers and friends to keep the lines unmuddied.

I also spoke to porter for the first time in over 5 years. I’ve come to the conclusion that being pissed off at people, no matter what crime (real or imagined) isn’t worth keeping up the hate. I doubt we’ll ever be close friends again, but at least it’s less thing I have to deal with. being mad at someone is entirely too much work. That said, he hasn’t continually annoyed me like other people I’ve put on a mental banlist. He’s never claimed to own my friends; he’s never threw temper tantrums and forced me to remove him; etc. Perhaps next year I’ll bury another hatchet.

I’ve spend a lot of time back in the #asp channel, so now I have a place to focus and vent my anger and hate. Met VP in real life, and he’s just as scary in person as he is to a clueless noob who wanders into #asp. But they’re all good guys generally and a very valuable information source.

All in all, it’s been a very good year. I have a pretty good idea how I’m gonna top it next year, but that’s my secret… for now.

Enjoy 2006 and happy birthday to ME, MUAHAHAHA.

Hi.

I saw a Goat today. His name was Charlie. Charlie was a nice goat. He wore pants. He said to say hi.

-Ziggy