General Ramblings comments edit

It’s been a bit over a year since I posted about my hair removal progress and as I just finished up treatment #26 a week or so ago, I thought I’d recap a bit… if anything, as a note to self.

I started the process of getting my facial hair removed a little over two years ago. My facial hair is, to put it mildly, very coarse and causes all nature of dermatological issues if I let it grow even a little bit, not to mention it destroys sheets, pillowcases, necks on shirts, etc.

Hair removal is painful. Don’t let anyone tell you otherwise. The more coarse your hair, the worse it is.

To that end, I started the first few treatments using a Dermo Flash, which is a less painful, more broad-spectrum sort of hair removal system. That helped to thin things down, but after the first few treatments we saw diminishing returns because it wasn’t powerful enough. I then switched to a MeDioStar laser-based treatment which was much more effective but also much more painful.

Since then, I’ve been alternating between the MeDioStar and a Syneron eLaser that combines laser and radio frequency. I’ve been having good results with this, with some spots on my chin and upper lip being the only stubborn areas we’re still working on.

Something to think about if you’re considering getting this done: You’re in for the long haul. That’s not just if you’re getting your face done, but anywhere. They can do a lot in a few treatments, but you’re not going in for five or six treatments and calling it good if you want to actually clear an area out. And once you’ve started, you can’t really turn back because you start getting patchy and it doesn’t look all that great.

Also, even today, it still hurts. Not nearly as bad as it did in my first treatment, but it hurts. On the upper lip it’s enough to bring tears to your eyes.

Had I known all that… I probably still would have done it. I don’t get the nasty ingrowns like I used to, I don’t tear up my pillowcases anymore, and I can kiss my wife without removing the top layer of her skin with my sandpaper beard.

I have a few more treatments (a total of 30) and we’ll see where I’m at then.

gaming, xbox comments edit

I ended up getting a copy of Zuma’s Revenge, the sequel to the original game that sucked both Jenn and I in so bad on PC and, later, on Xbox Live Arcade.

The premise of the original game is that you’re a little frog who sits in the middle of the screen. A line of colored balls scrolls in from off-screen along a path. As they scroll in, you can spit additional balls into the line to form chains of three or more, making them disappear. If the line gets too long, you lose. Here’s a screen from the original Zuma:

The original
Zuma.

It’s surprisingly addictive and fun. Fortunately, you get that and more with the sequel.

This time, they add new features like boss battles (at the end of several levels, you “fight” against a computerized opponent), movement (in some levels your frog scrolls left and right or can hop from one location to another), and power-ups (shoot cannonballs that destroy balls on-screen or lasers to precisely remove individual balls). Here’s a screen from the new game.

Zuma's
Revenge!

Seriously fun. Jenn and I have been playing quite a bit since we got it and have had a blast.

Now, admittedly, the main game seems to be slightly easier than the original Zuma. I’m not sure if that’s intentional or if maybe my hand-eye coordination has increased since playing the original, but we were able to get through the story mode of Zuma’s Revenge fairly quickly. Thankfully, there are a bunch of other game modes in Zuma’s Revenge that let you keep coming back for more, and those are more challenging (if that’s what you’re looking for).

Only real downside I can see is that they don’t have it on Xbox Live Arcade, just PC. I’m not a PC gamer, really, and our computer’s not geared for PC games, so I had to switch from full-screen to windowed mode and turn off the HD graphics. It still looks great, it was just slow with all the bells and whistles on.

If you’re into puzzle games, Zuma’s Revenge is worth checking out.

(Full disclosure: I got a free license for the game from Popcap.)

media, windows comments edit

I went ahead and pre-ordered my upgrades for Windows 7 today. I opted to get the “family pack” upgrade - three licenses to upgrade to Windows 7 Home Premium for $150. At $50/license, I couldn’t say no. I’ll start the upgrade with my Media Center front ends and do our primary laptop last, just so if anything happens to go south I’ll always have a working computer to go searching for help/fixes. Not that I anticipate anything going wrong, just… well, things that should be easy never are for me. I always seem to find that one edge case.

Anyway, if you’re looking to upgrade more than one computer, that three-pack might be the way to go. Considering a single upgrade license for Windows 7 Home Premium is $120, three licenses for $150 is a steal.

General Ramblings comments edit

I have a bunch of random thoughts I sorta need to get down and they’re bigger than tweets but none really is big enough for a standalone blog entry. Most are non-technical, so… tune out if you like. At least for this one.

Had a great time playing Beatles Rock Band with my friend Jeff and my parents over Xbox Live on Saturday. Mom’s figured out how to get on Xbox Live all by herself which is super cool, and my dad came on later. Got 100% on Expert-level drums on “Do You Want To Know A Secret” and “While My Guitar Gently Weeps,” which, while probably not the most-awesome-drumming-feat-ever, made me feel pretty good. (I got 100% on Hard-level drums on Rock Band 2 for “Livin’ on a Prayer” earlier in the week, which also made me pretty happy.)

Speaking of drums, I’ve been having some troubles with my Ion Drum Rocker kit lately and it’s been a pain to troubleshoot. For a while I was getting disconnected at random intervals from the console and the green pad would hit at random times without me touching it. Kind of kills your streak (and your mood). I switched my setup so I wasn’t running the drums through a USB hub and the random disconnects disappeared, but the random hits didn’t. Instead, it switched to be random hits from the kick pedal instead. (Actually, either the kick would stop responding entirely or it would hit like a machine gun without you touching it. Either way, still kills your streak.) I’ve been talking to both Ion support and Rock Pedal support and have been doing all sorts of troubleshooting shenanigans - rearranging cables, trying different USB ports on the Xbox, and even switching the sensor on my pedal for a new one. You can’t reproduce it on demand, though, so I have to play a ton to see if any of these things have fixed it. I haven’t seen any trouble since I swapped out the pedal sensor (after which I got all those good scores, noted above) so maybe that fixed it.

Now that I’ve typed that out, I’ve jinxed it, but still.

I picked up a Rubik’s Cube this weekend with this $5 Target gift card that was burning a hole in my pocket. I got the guts up this morning to mix it up. We’ll see how long it takes me to figure it out. Haven’t ever solved a Rubik’s Cube before so we’ll see.

One of my favorite things in the world: when you put a bag of tea in your cup and the little string pulls off. That’s happened to me twice in two days. Maybe I just don’t realize my own strength or something, but I’m thinking maybe they need to figure out a better way to attach those strings than staples.

I was talking to my sister yesterday about various podcasts that we listen to and it got me thinking about how iTunes podcast management blows. I always - always - have to manually delete podcasts I’ve listened to even though I have my settings such that it should auto-delete podcasts I’ve listened to. Not sure how a play count > 0 doesn’t constitute “listened to,” but it apparently doesn’t.

While I’m on iTunes, where’s the multi-user support on that thing? Multiple users, one computer, one library. Is that really so uncommon? As it stands, you still have to do a bunch of manual manipulation to get that working.

Other stuff that’s been bugging me…

Incorrect grammar and/or spelling. I don’t claim to be perfect on this stuff, but there are some that just get me. Lately:

  • The phrase is “hear, hear!” when you agree with someone, not “here, here.”
  • When you get provoked into doing something, you’re “goaded” into it, not “goated.” A goat is an animal. A goad is a stick used to prod an animal.
  • You can ask me a question or you can make a request, but you don’t have “an ask” for me. “Ask” is a verb.
  • The spelling for an informal affirmative that you’re thinking of is “yeah” (pronounced “‘yaə”).
    • “ya” is either an abbreviation for “young adult” or is an informal version of “you” (“What do ya think?”) and would be prounced like “‘yə”.
    • “yah” rhymes with “saw” and is the sound you make when you want to make your horse go. “YAH! YAH!” <cracking whip>
    • “yea” is pronounced “‘yā” and is used in formal voting (rhymes with, and is the opposite of, “nay”).

People asking for an opinion they don’t want. Sort of like if someone asks, “Do you think I should buy this shirt?” and you say “no” and they buy it anyway. If you already have your mind made up to buy the damn shirt, why’d you bother asking for my opinion?

OK. I’m done for now.

javascript, gists comments edit

I was messing around with relative paths to files (e.g., ../images/error.gif) and needed to convert them to absolute paths (e.g., http://server/images/error.gif) on the client but couldn’t figure out how. Then I saw this nifty trick to HTML encode things using jQuery and it gave me an idea.

String.toAbsolutePath = function(relativePath) {
  /// <summary>
  /// Converts a relative file path into an absolute file path.
  /// </summary>
  /// <param name="relativePath" type="String">
  /// The string with the relative path, like "../foo/bar.gif"
  /// </param>
  /// <returns type="String" />
  var path = $("<div style=\"background-image:url('" + relativePath + "');\"></div>").css("background-image");
  if (path.startsWith("url(")) {
    path = path.substring(4);
  }
  if (path.endsWith(")")) {
    path = path.substring(0, path.length - 1);
  }
  if (path.startsWith("\"")) {
    path = path.substring(1, path.length);
  }
  if (path.endsWith("\"")) {
    path = path.substring(0, path.length - 1);
  }
  return path;
}

Basically, I’m using the CSS style “background-image” and feeding in the relative path, then resolving it immediately. Turns out the browser converts that to an absolute path for you. At least, Firefox 3.5.3 and IE 7 do, which is what I was testing with at the time.

The path.startsWith and path.endsWith checks are because sometimes the URL comes back like:

url("http://server/images/error.gif")

…with the url(“”) wrapper, and sometimes it comes back like:

http://server/images/error.gif

…without the wrapper at all.

Note the String.startsWith and String.endsWith methods come from ASP.NET AJAX so if you wanted to do it in just jQuery, you’d have to regex your way out of it or do a little more brute force work.

Of course, in the end, I figured out a different way to do what I was doing so I didn’t actually need to convert the path at all, but I thought this was sort of neat so I’d post it for folks. I didn’t really test it in a bunch of browsers or anything, so YMMV. “Works on My Machine.”