net comments edit

There doesn’t appear to be anywhere on the log4net site where the “magic app setting keys” are listed with their explanations and I always have to re-discover them on each project, so I figured I’d post them for later.

Key Type Description Example Values
log4net.Config string Application-relative path to the default log4net XML configuration file. If you populate this value, the first time you get a logger on the default repository log4net will read and auto-configure itself using this file. Note that it doesn’t set a FileSystemWatcher on it so if you change the file later the changes won’t be automatically picked up.

The value can also be a URL to an external file. If it is, log4net will actually do a WebRequest and go get the remote configuration file.
config\log4net.config
http://remoteserver/config/log4net.config
log4net.Internal.Debug Boolean Enables logging for log4net itself. If you’re writing custom log appenders or other things that integrate with log4net, this is super helpful true
false
log4net.Internal.Quiet Boolean Silences the log4net internal logging. Overrides the value set for log4net.Internal.Debug. true
false

Here’s a sample configuration file snippet that shows these in action.

    <?xml version="1.0"?>
    <configuration>
      <appSettings>
        <add key="log4net.Config" value="config\log4net.config" />
        <add key="log4net.Internal.Debug" value="false" />
      </appSettings>
    </configuration>

gaming, xbox comments edit

We pre-ordered ourselves a Kinect and it arrived yesterday. After spending a single evening with it, here’s what I’ve arrived at.

Setup is reasonably easy. I have an original Xbox 360 and not one of the snazzy new Xbox 360 S models, so I have it connected with a USB cable and a separate power adapter. The Kinect proper is sitting just below the TV on the TV stand. Power on, magic happens, run through a couple of calibration screens, and you’re done.

To get the Kinect’s attention, you wave to it. This doesn’t sound hard, but you can’t wave too fast or too slow, and the movement can’t be too small or too grand. If it is, Kinect ignores it. Probably good so you don’t accidentally activate things, but you do need to sort of “learn to wave” to it.

The voice commands are interesting but somewhat limited at this point. I recall seeing, somewhere, a demo where they started and stopped video playback using voice commands but I can’t figure out how to get that to work. The commands are also not entirely discoverable. For example, you say “Xbox” (to get Kinect’s attention) and then a list of commands pop up that are available - “Dashboard,” “Next,” “Previous,” “Cancel.” Sounds straightforward - go to the Xbox dashboard, next menu, previous menu, cancel the voice command. I don’t know what I said, but at one point it popped up some settings menu, which means to me that there are commands you can say that aren’t listed. Unfortunately, there’s no manual explaining it, so… hmmm.

We played Kinect Adventures! last night - the game that comes with the Kinect - and it was very fun, though it takes some getting used to. It’s similar to Wii Fit where you sort of jog in place or dodge obstacles, but rather than standing still on a pad the way Wii Fit works, you actually run around the room. The bit that takes getting used to is the whole “physical calibration” of it - figuring out where your body should be in relation to the TV in order to get things to happen. There’s also a tiny delay between you doing something and the character on the screen doing it, so you have to figure that out and account for it. Once you’ve got that down, it’s pretty fun.

There’s a feature on it that I think is cool where it knows just about the time you’re going to do something embarrassing and it snaps a photo of you. Sort of like the cameras they have on roller coasters that snap you just as you go down a scary bit. Once these pictures are snapped, they’re saved to your Xbox and you can upload them from there to KinectShare, a web site that holds the photos online for you (in private) for 14 days. From that web site, you can share the photo to Facebook or download it to your computer.

Travis playing Kinect
Adventures!

This is actually a decent workflow if you have an Android phone (and possibly iPhone, but I’ve not tried it):

  1. Upload from Xbox to KinectShare.
  2. Visit KinectShare on the phone browser and post the photo to Facebook.
  3. Open the Facebook app and share the photo from there - email, Twitter, or whatever.

Another cool feature is the facial recognition. You can sign into Xbox Live just by waving at the Kinect and it recognizes your face. If you’re in a game, it automatically switches profiles for the active player based on who’s standing in front of the camera. That’s pretty slick and works reasonably well.

Here’s the big downside, though, and I can’t stress this enough:

YOU NEED A CRAPTON OF SPACE FOR KINECT.

The packaging and all the documentation says you need six feet between the back of your space and the Kinect. What it should say is “If you don’t have at least eight feet between you and Kinect, you won’t get the most out of this.”

My living room looks something like this:

Six feet between the couch and the
TV.

It’s a reasonably skinny rectangle where I have an opening on on wall, windows on another, and a fireplace on yet another. That leaves one place, basically, for the TV. The couch is directly across from that, and both the TV and couch are pushed as far back as they go. That gives me six feet of space, which is great for movie and TV watching but is on the absolute minimum end for Kinect. I don’t have the option of moving furniture or adjusting anything. Rotating the TV won’t help and isn’t really feasible anyway.

What that means is that when you play, Kinect Adventures! tells you to stand in the play area and if you don’t stand with your heels right on the back of the couch, you’re too close. When you calibrate the facial recognition thing that lets you auto sign-in, Kinect tells you to step back. That had my wife and I standing on the couch, bracing against the back wall/windows. That really sucks.

As such, I’m looking at possibly moving the Kinect upstairs where there is the potential for more room in our “game room.” We’d have to move some recliners out of the way every single time we play, but it would give us about eight feet of usable space and I think Kinect would be happier. Maybe if I just leave some of those furniture slider things under the recliners so you can more easily push them…

Anyway, Kinect is fun, but we don’t have enough room. I haven’t even cracked Dance Central out of the plastic yet and I know I’m not going to have enough space.

subtext, blog comments edit

After some unfortunate problems with the handling of medium trust, Subtext has released a new version to which I’ve upgraded.

Things seem to be working reasonably well with the exception of email. I no longer actually receive emails coming from the Contact form, nor do I get notified when comments are made. I gather I’m not the only person with the problem, either.

I’m working on that, but in the meantime… sorry. Catch me on Twitter if you need to get in touch or send me email directly: tillig-at-paraesthesia-dot-com.

I do love me some Subtext, but I have to admit things like this make me lose faith. There’s a lot of “works on my machine in full trust” that sort of makes survival on Subtext in a medium trust world a bit problematic. I’m glad I have a staging machine to try things out on or I’d never be able to upgrade.

subtext, blog comments edit

As mentioned in an earlier article, I updated to the latest Subtext and was having email problems. I have the problem solved now so I do get notified when comments and contact form submissions come in.

For those more technical and interested in what happened…

…it was a lot of things conspiring against me.

  1. The Subtext contact form specifically doesn’t send you email if you’re logged into your own blog. It checks to see if you’re logged in and, if so, just skips the whole send procedure but still says “Email sent!” making for a difficult debugging experience.
  2. The whole way Subtext sends email has been changed. There’s an email service that uses email providers that do a do-si-do and an alaman left and somehow email gets pooped out the other end. I have a feeling that something in there changed without me knowing it, but since I can’t attach a debugger to it, there’s no real way to tell what.
  3. My host seems to require authentication for SMTP now. I don’t know how I was getting emails through before, but it worked in Subtext 2.1.0.5 and after switching to Subtext 2.5.2.0, I was forced to set new SMTP parameters to handle the authentication. This also ran me into the fact that emails from Subtext, by default, come FROM the user sending the comment form. The new authenticated SMTP server at my host doesn’t like that. Trying to figure out the magic combination of parameters through trial and error was especially trying because…
  4. The logging around failed email sending in Subtext is lacking. It may be that there’s just nothing coming back as an exception or something down the stack is getting swallowed and not logged, but there was no indication anywhere about a failed email send.

Anyway, if you upgrade and run into the “email isn’t being sent” issue, first make sure you’re logged out. Log out of both the HostAdmin and the blog proper. If it’s still not working, THEN look at your config settings.