| || ||
| || |
| What’s going on ||12/30/2004 |
The end of the year seems like a good time to review all the stuff I have going on now, so here goes.
Real Life: I’m effectively, but not quite officially, done with school (that being a Master’s Degree in Computer Science from the University of Utah). I’ve been sending out resumes for a while, and I hope to find something back on the west coast (that’s where most of the software companies are, anyway). But I’m not too picky about location. Leaving Salt Lake would have its good points, but so would staying.
Shareware: The primary thing I’m working on is a peer-to-peer modular networking application, and so it is built on the Volley core. I’ll post more details later on. Volley itself has been somewhat put on hold in favor of this other project. Why? Money, basically. It’ll be a long time before I can realize my dream of selling Volley plugins, but there are other ideas I can take advantage of in the mean time. ACCELA has been slowing down somewhat since I started moving to Cocoa, but it does still get worked on. Some things are still easier to do in Carbon, or at least Core Foundation, so there’s still a need for it.
Games: Working with Greg Laabs has been fun. It’s good to see CTF4 finally happen. BR4 will be finalized soon. I’ll probably be working on ONS4, though the details of that still need to be worked out. It’s not going to be simply Onslaught with 4 teams. The 4-team element adds a new dimension to the game, and I intend to fully explore it. Aside from that, Flag Effects and Apprehension are two other mods that I want to bring to UT2004. I know someone else is making a mod called Apprehension, but since theirs isn’t a game type, and since I was using the name first, I plan to stick with it. And then there’s my announcer voice project. I still have to see how well this microphone works.
Icons: Icon stuff has been on the back burner. I haven’t had any really good ideas for a new set. That is, I’ve had some ideas, but I haven’t been able to take any of them all the way. Pixelpalooza has been cancelled this year, anyway. Icon Machine sales have dropped off in spite of new releases, so that’s on the back burner too. But at least I finally got the prefs window done, and I wouldn’t be surprised if I picked it up again in a couple of months, and took another shot at icon states or Windows icons. And who knows, maybe Tiger will have vector icons or something.
The future depends a lot on what kind of job I get, because whatever I do at work, I won’t want to do it so much when I get home. But I remain optimistic. There should be enough companies out there where I can find my dream job. Something where I can exercise my established skills and talents, and at the same time explore new horizons. Maybe databases, or Windows programming, or something I haven’t even considered yet. I want a place where I can be a member of a great team, while still retaining some independence, with a sense of ownership of what I do. The work environment should be positive, so that the office will be a pleasant place to be, and it should be in a good neighborhood with some good places to get lunch. (I’m not mentioning money because I’d be surprised if I found a job with all that other stuff that didn’t pay well, too.) That’s pretty much my wish list, and the reason why I’m optimistic about finding a reasonable approximation is it’s based on past experience.
Am I deluding myself, or is there power in positive thinking? I’ll let you know.
Oh, and happy new year.
| || |
| || || || |
| || |
| A great face for radio ||12/18/2004 |
I went to Radio Shack and bought a microphone today. After hearing about the recording of the announcer stuff for CTF4 and Slave Master, plus finally checking out Jailbreak and seeing the various announcer voices in that, plus all the other stuff UnrealGrrl is doing, I decided to try this voice thing myself.
I’m often complemented on my voice, and I actually took some voice-over classes a few years ago when I was unemployed and living in Los Angeles (after getting laid off from the startup I was working for). It didn’t change the direction of my career any more than art school did, but it was fun.
So I got the microphone and downloaded Audacity, and started messing around. For some reason, the input volume is set all the way low by default, so at first I thought the mike wasn’t working. Once I got that worked out, there was the issue of background noise. As quiet as the G5 is, I’m going to have to go record in the basement or something. Good thing I have a PowerBook.
To be continued.
| || |
| || || || |
| || |
| The next big e-mail protocol ||12/6/2004 |
One of my long-term plans/dreams for Volley has been to try to use it as a base for a new spam-resistant e-mail system. The chance for actual success may be low, realistically speaking, but it is an interesting thing to think about. My first idea was that Volley servers would form trust networks, though I don’t know that much about such things and the concept in my head involves a lot of micro-management. I still think of Volley servers as being like Hotline, Wired, and so on, where they’re each small enough for a handful of administrators to keep them under control. Scalability just isn’t something I’ve put a lot of thought and effort into yet.
In one of my random fits of research, I decided to check out other concepts and proposals for spam-resistant (note I’m not saying spam-proof) mail protocols. I found IM2000, which looked interesting. The basic idea is that messages remain on the sender’s server until the recipient decides to retrieve it. This means spammers could no longer have fake source addresses on their messages, and it would be harder for them to hide. It doesn’t solve the problem entirely, but it does fix some things in the current system that work to the spammer’s advantage.
Not everyone thinks that IM2000 is a good idea. On the other hand, not everyone who criticizes it seems to fully understand it. The main misconception is that it would be bad for handling mailing lists. This would be true if mailing lists in IM2000 worked like they do in the current e-mail system, which would put a large burden on the outgoing mail server. But actually, IM2000 includes a mailing list feature that avoids that problem. So for reasons like that I always take the arguments (on both sides) with a grain of salt. It’s making me thirsty.
I saw a lot of the same arguments repeated again and again (mostly on slashdot) about various anti-spam ideas. My favorite quote from those discussions is “the perfect is the enemy of the good”. So many people aren’t willing to accept a new e-mail system unless it’s guaranteed to stop spam (and solve other problems) 100%. Merely reducing it isn’t good enough. It actually reminds me of President Clinton’s health care reform of several years back. People were throwing all kinds of criticisms at it, and I was saying “yes, but is it better than what we have now?” It seemed hard to find people concerned with that question, whatever the answer may have been.
I think the big obstacle in establishing the next-generation mail protocol is not so much making it the ultimate spam killer, as actually getting people to start using it. Maybe I’ll be able to make Volley Mail (V-Mail?) an attractive alternative (or addition) to e-mail, so that Volley users will start using it for serious communications, and it will just roll on from there. Whatever that cool V-Mail feature is, of course, will have to be in addition to the spam-resistance. It’s not just about “you don’t get spam”, but “you do get something new and helpful.” So the question is, what would be a fundamental improvement to e-mail?
| || |
| || || || |
| || |
| ONSTurrets solution ||12/4/2004 |
I think I’ve got it. Here’s the method:
• Put the class that deals directly with the turrets in a separate package
• The game looks for the turrets by class name, not by class
• The game creates the turret-handling object by using DynamicLoadObject to get the class so that, again, only the class name is hard-coded
• Delegate functions are set up for the turret handler to intervene at appropriate times
This way, the dependency on ONSTurrets is isolated into a separate package, and the main package uses it in a way that’s just abstracted enough to avoid a direct dependency.
This reminds me of the stuff I went through to make my bots handle the Excessive Scorpion correctly, since its passenger seat wasn’t done quite the same way as the standard vehicles. I managed to do it in a way that didn’t refer to the Excessive pagacke directly, and so it also would work with any custom vehicle that did its passenger seats the same weird way.
My first experience with dependency issues was in Flag Effects, where the Vengeance effect depended on the Relic of Vengeance content from the Bonus Pack. So I put it in a separate package, and since effects were loaded generically just like mutators, it worked just fine. It also served as an example for anyone who might want to add their own effects. Nobody did, but it was fun anyway. And of course, I still need to make a UT2004 version. I think it’s possible now to do it in a way that doesn’t require special support from a game type (so it’ll work in regular CTF), but on the other hand the Homing effect will be much trickier.
| || |
| || || || |