The Logitech G9x Mouse

g9x

I need to write a new post - it's been too long!

So I got a new mouse a few weeks ago. My old trusty Basic Microsoft Optical mouse was still chugging along just fine after a couple years of abuse, but the buttons were getting a little loose. So I decided it was time for an upgrade. After a little research, I settled on the Logitech G9x Laser Gaming mouse. Now, along with my Das Keyboard, I have an embarrassing amount of money invested into my input devices. I'll try to hit on most of the pros and cons.

I have to say, I'm pretty impressed with it. It has two interchangeable shells to better fit your hand. I've been using the fatter of the two. I feel like I have too much of a "claw" grip on the mouse when I use the smaller shell, which ends up tiring my hand, but on the other hand (no pun intended,) the left outer edge of the bigger shell sort of scrapes on my mousepad as I pick up the mouse at an angle to drag it back over to the left. (You know, when you've veered too far to the right on your mouse pad and you need to pick the mouse up and bring it back to center.) The effect is not terrible, but it's something that my old mouse didn't do. I just need to train myself to pick my mouse up at a flatter angle when I need to move it around the mousepad.

The two buttons on the side are something else I was not accustomed to, but I've already grown fond of them. I always used to steer clear of any mouse that had extra buttons. I used to just want a left button, a right button, and a mousewheel and that's it. I just knew that I would always be accidentally hitting any extra buttons. Well, it just takes a little getting used to and you learn to like them. I very rarely hit them on accident. They are amazingly handy for web browsing, as I use that back button a lot. I already can't believe that I used to drag my pointer up to the browser's back button every time I wanted to move back a page. That said, going back in my web browser is pretty much all I've used the side buttons for so far.

The scroll wheel is probably my least favorite thing about this mouse. It does have a hardware toggle button on the bottom of the mouse for if you want the wheel to scroll smoothly, or if you want that "bump bump bump" feeling as you scroll it. Well, I'm one of those people that definitely needs the bumps/tactile feedback, so you click this little "microgear" button on the bottom of the mouse and there it is. However, the middle mouse button (pushing down on the mouse wheel) is extremely difficult. In fact it takes so much force to depress the middle mouse button, that you can pretty much forget about precisely pointing at something small on the screen and middle-clicking it without the wheel or the entire mouse moving, or both. I don't know if disengaging the microgear would make that any better. It doesn't matter, because I can't have my scroll wheel being all loosey goosey anyway. Maybe it'll loosen up over time, as my keyboard has. Also, the wheel has left and right play too... see those little arrows on the sides of the mousewheel? Yeah, that sucks. Ironically it's not hard at all to accidentally actuate the left or right action. I have no use for that. I do accidentally hit those all the time, which interrupts the middle-click scroll if you're one of those people that like to middle-click on a page and then pull the pointer down to scroll down the page. Luckily, with the configuration software I was able to map those left and right actions to do nothing... which leads me to:

The software. I'm a minimalist, at least when it comes to my computer. I'm one of those people who almost never has icons on their desktop. That means I do not want to install more software on my computer and have another useless system tray icon sitting down there just to be able to configure my bloody mouse. However, there are some things that you can only do with that proprietary software, such as change the LED colors (I changed mine from red to blue to match my keyboard and monitor,) and re-map all those non-standard buttons. But luckily, all your configuration changes are saved inside the mouse, so once you've got it set up how you like it, you can uninstall the software for good. Even unplugging the mouse and using it on a different computer doesn't reset the custom settings. Furthermore, if you have internet access, the mouse's basic functionality is plug and play as Windows can automatically download a G9x driver from Windows Update.

The mouse also comes with this tin full of 4-gram and 7-gram weights. There is a slide-out tray inside the mouse that you can actually fit these weights into in various configurations to precisely give your mouse the weight that you desire. Now maybe I'm just not pro enough to really realize the benefit of this, but it just doesn't really make much difference to me. My hand seems to be able to adjust just fine to whatever weight the mouse is. However, I could see how weights could mitigate that overcompensation you get in games when you try to react quickly.  The jury is still out on this feature.

Now, I want to talk about the thing that really makes the mouse awesome. It's the DPI switch just under the left mouse button. Having the ability to increase and decrease the sensitivity on the fly has basically added a whole new dimension for me, particularly in certain games.  Imagine a game of Battlefield 3 where you can slow your mouse down to the precision of a surgeon's scalpel when scoped in, and then bring it back up to speed when you zoom out and go back to running around, all without ever taking your eyes off the game? It's pretty amazing. You may not all agree on all the design decisions employed by this mouse, but all mouse manufacturers should take note of this great feature.

C# applications with "install" or "setup" in the name and Application Compatibility

Hello ladies and gents.

I've been busy the past few days creating a very complex (for me) .NET application in C#. I want to talk about an issue that I banged my head on for a few hours, because the solution is out there and easy to find on the internet, but every person who posted the answer on a forum or MSDN article was making an assumption that I knew something already that I didn't know in order to arrive at the solution, and so that missing piece of knowledge was keeping me from joining the ranks of those who knew how to solve this problem. What can I say, I'm a novice programmer.

I'm using Visual Studio 2010, and I have created a C# project. I'm using Windows 7 64bit. This project that I have created has the word "install" in the name. Apparently, any time that Windows Vista or 7 see the user executing a program that has the word "setup" or "install" in it, it triggers something deep within the bowels of Windows to cough up this incisive message:

appcompat*Thank you that's very helpful now go away*

I don't like the principle behind this behavior. I have read that this box will only pop up if you have the magic word in your executable name and that executable does not add an entry to the Add/Remove Programs list by the time it exits, which could indicate a failed installation. Or it could indicate nothing went wrong at all, which from my experience is the case 100% of the time. In fact I'd be scared to hit that "Reinstall using recommended settings" button, because I definitely have no idea what that might do. Furthermore I've read that some install applications do put a new entry in the Add/Remove Programs list and yet it still generates this popup.

I've been using Windows Vista and Windows 7 for a long time, and I have never once found this to be helpful in any way. But now this behavior has really gone and annoyed me by popping up every time I test during my development.

So I started researching the problem and I was immediately led to believe that this could be easily solved by editing the manifest file in my application's project in Visual Studio. Here is what you add to your manifest file to make it not show that Program Compatibility popup:

<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
   <application>
      <!--The ID below indicates application support for Windows Vista -->
      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
      <!--The ID below indicates application support for Windows 7 -->
      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
   </application>
</compatibility>

OK... I can't find my manifest file. I've looked through all the menus and tabs and buttons here in Visual Studio... hrm... maybe I just need to edit this installer.manifest file that's sitting in the same output directory as my application and then rebuild it! Nope, that didn't work. It just seems to wipe out my changes and revert the file to default every time I build the solution... my project settings were set to "Embed manifest with default settings."  So even though the default manifest was there in the output directory, any modifications you make to it just get wiped out.

Finally, I realized that I just need to generate a new manifest file for myself. In the Solution Explorer pane, right-click your project and choose "Add --> New Item..." and add an "Application Manifest File." It should pop up under the Resources folder in your project, whether you already had one or not. Now you can edit that manifest to your heart's content, and the changes will not get wiped out. You'll notice that the section of XML I pasted above sort of already exists in your new manifest file, so just use your head and paste in only the couple of relevant lines in the right places. ;)  You will also notice that if you go back to your Project's properties, you should see it pointing at the manifest file you just created, instead of saying "Embed manifest with default settings."

No more "Program Compatibility Assistant" popup!  I feel like an idiot sometimes...

Now  that you know about creating and editing your own application manifest file, you are well on your way to doing other things with it, such as having the application request its own administrator access from UAC, instead of, say, simply checking to see whether the current user is an administrator or not, and then having the application say "Sorry, you're not an administrator so I won't run.  Please try executing the program again by right-clicking on my icon and choosing 'Run as administrator...'" Which unfortunately I have seen too many times. Follow up with this article.

Stack Exchange An Early Adopter For SQL 2012?

I just coincidentally happened to catch this on Server Fault a couple days ago. A couple minutes after my comment, he added the bolded edit at the bottom:

serverfault

Ironically, I saw it fit to place this post in both the "IT Pro" and "IT (Not Very) Pro" categories simultaneously. Not sure how you mistake "posting on a public web forum" with "sending a private email."  Oh well. I got a chuckle out of it.

Cisco UCS

Let's talk about Cisco UCS - Unified Computing System.

I help stand up new IT infrastructure all over the world, and I have been seeing a lot more of these lately. It's a pretty impressive system. In most small to mid-size shops you tend to see an onsite server closet or maybe a small cage in a datacenter full of 2 or 3 generations old HP Proliants and Dell Poweredges. But for the largest scale enterprise operations, nothing beats the density and manageability of blades. (And their ability to lock you in with a particular vendor. ;)) Blade systems essentially do for hardware what hypervisors did for operating systems. Not only are you packing more into less and increasing your compute density, you're centralizing the management of your entire datacenter and simplifying the deployment process by orders of magnitude. What do I mean by that? Well have some pictures worth a thousand words:

(Try right-clicking the images and opening in a new tab and you might get a better view.)

Turn this...ucs

... into this.

(The above image is courtesy of dalgeek - knightfoo.wordpress.com.)

Turn this...ucs wiring

... into this.

(I took that picture on the left myself a couple years ago, from a place I used to work.)

Now, when we talk about Cisco UCS, we're actually talking about a few discrete components that come together to form the UCS. First, we have the fabric interconnect. We'll use the Cisco UCS 6120XP 20-Port Fabric Interconnect as an example.

6120xp

It's a specialized 1U 10Gb (ten gigabit) switch that supports up to 160 servers or 20 chassis as a single, seamless system. (And remember each "server" can have dozens of VMs on it.) This particular switch is capable of 520Gbps of throughput. (I keep feeling like I'm making typos when I type numbers that large.)

The next piece is the blade chassis itself. Take the Cisco UCS 5108 Blade Server Chassis for example. This thing is 6 rack units, making the entire solution so far 7U for what could potentially house hundreds of VMs. Those smaller ports on the bottom of the chassis are for power supplies. Note that you can cram either half-width blades or full-width blades into this chassis. A full-width blade would look a little more like the traditional pizza box that we're used to, and has room for more stuff in it obviously, but I think the extra agility offered by half-width blades is probably the reason that they're the only ones I really see out in the wild.

Cisco UCS 5100 series

And lastly we have the blades themselves. Take the Cisco UCS B200 M2, a half-width blade, for example:

UCS Guts *Why yes, that is 192GB of DDR3 RAM, thanks for noticing*

And here's a little artist's depiction of what an entirely fleshed out "Unified Computing System" would look like. Note that you'd probably want some SAN storage somewhere for this to be considered a complete solution, beyond just the couple of disks that you can stick into each blade. I wonder how much storage you could get up there in the top 4 to 6 U of each cabinet...

racks of ucses

Hardware characteristics such as MAC addresses are configured at the chassis slot level, so if a blade fails you can swap in a new blade and not have to reconfigure anything. You can also do things like automatically reboot a host onto another blade if one fails, etc.

And lastly - it is all managed from a single web interface. (I hope you like Java.)

So that all looks pretty amazing, right? There may be a couple of cons to going with Cisco UCS however, and there are alternative blade systems to consider as well. You just have to weigh these pros and cons for yourself and your enterprise's situation. One of these possible cons is cost. The old adage goes that nobody in IT ever got in trouble for buying Cisco. They do make great stuff, but they also make practically the most expensive equipment in existence. Exact pricing is complicated and of course depends on exactly how you configure your equipment, but list price is somewhere in the ballpark of $20,000 per blade. Don't worry though, no one pays list price. Especially if you were to make a huge order like this, Cisco would be expected to have their discount pen at the ready. $10,000 - $12,000 per blade might be a more realistic figure. I count 288 blades in the picture above, putting your budgetary needs at somewhere around $2.9 - $3.46 million USD. (And we still don't have storage or networking yet... but you are well on your way to having one of the densest datacenters in the world.)

In the types of environments that I'm most used to, I see one to two UCS chassis per datacenter, each with two clustered interconnects for redundancy. In contrast, you might decide to go with HP c7000 blade servers filled with BL465c's. I see some of these as well, especially as things like cloud technologies cause aggressive IT expansion and thus the need to do more with your budget. You would almost certainly save a substantial amount of cash if you did go with HP or Dell; however, I think Cisco still has a very compelling price-per-blade as the solution scales out extremely well, and you only pay for the management stack once. (Or twice if you're really reaching for the stars like we did above.)

So in conclusion, I'll just leave you with a couple last things. Here is Cisco's UCS In A Nutshell documentation if I've whet your appetite and you want more information. And here is a Cisco UCS emulator, if you'd like to play around with what it feels like to administer one of these things. And lastly, here are some tutorials to go along with that emulator software.

'Till next time!

Games I've Been Playing Part I

Alright, so this blog has been up for a few months now, and so far I've only blogged about IT topics, Windows Server, networking... those sorts of things.  I've not made a single post yet that hints at what a life-long video game junkie I am.  I'm about to remedy that with this post by going over some of the video games that I've been playing recently.

Battlefield 3

bf3BF3 is my bread and butter. It seems like I play it almost every day. I've been an avid fan of the Battlefield franchise since Battlefield 1942... I thought it was great, and its Desert Combat mod made it legendary, so when Battlefield 2 came out, I was right there and played it regularly for years. Then I skipped Bad Company 1, but I did play a lot of Bad Company 2. Now we're at Battlefield 3. Every game in this franchise is amazing - at least from an online multiplayer standpoint. On the other hand, the single player campaign in most all of the Battlefield games that I've played is nothing spectacular. BF3 is no exception. I played through the single player campaign once and then never looked back. But no one should be buying a Battlefield game for the single player. For multiplayer tactical military warfare that will have you shooting people in the face with buckshot, dogfighting with other fighter jets, blowing holes in buildings with your grenade launcher to get at that sniper, and ripping your victim's dogtags off with your combat knife, all while coordinating with your team to ensure victory... there is simply no better game than Battlefield 3 right now. The graphics are unparalleled, the controls are responsive, the ballistics and hitboxes feel right... it's just a great game. One of my favorite things is that even though I've been playing the game for months, it seems like I'm still hearing new sound clips from the people around me that I've never heard before.  Things like "there's a machine gunner settin' up over there!" and "holy shit grenaaaaaade!" There are lot of those little voice clips that add to the immersion.

There are only two things that I don't like about this game and its publishers - bring back mod support, and kill Origin. (I know neither of those will ever happen, but I can dream.) I hate Origin. I am seriously considering not playing Mass Effect 3 (even though I want to) simply because Origin disgusts me.

  

Modern Warfare 3

mw3I bought Call of Duty: Modern Warfare 3 because one of my coworkers talked me into it. The single player campaign in MW3 is pretty good. Better than Battlefield 3's, for sure. It's action packed and entertaining, but mostly in the sense that an action movie is action packed and entertaining. I still would not consider it to have any replay value. The graphics don't appear to have advanced at all from the last Modern Warfare game. The multiplayer is absolutely no comparison to BF3. Modern Warfare's multiplayer game is arcade-like and twitch-based... it still feels like you're playing Quake III Arena, running down halls and hoping you pull the trigger faster than the other guy. There are no vehicles to drive, no open maps to roam around in... I don't know - it's not a bad game, but it just doesn't hold nearly as much interest for me as BF3. Also, it suffers from this horrible multiplayer synchronization bug where I keep getting "out of sync" with the other person that I'm playing with. E.g., it will appear to me like he has died, so I run over to go revive him, but then on voice chat he says "what are you talking about dude, I'm fine!" And it doesn't seem like the problem is getting patched. It still happens.  Inexcusable.

 

Assassin's Creed Revelations

ACR

I have strong feelings about this game and franchise. I think the Assassin's Creed games are fantastic games, and a pretty damn good story to boot. I didn't play the first Assassin's Creed when it came out. But Assassin's Creed II went on a Steam sale so I picked it up. I was floored. What a great game! (Seriously, Leonardo da Vinci building contraptions for me? How much cooler can you get?) After finishing it, I immediately got back on Steam and grabbed AC:Brotherhood. Again, extremely fun and interesting. Then because I was loving the storyline and the style so much, I grabbed the first Assassin's Creed game and tried to play through it. Unfortunately I wasn't able to make it through because AC:II and AC:B were so much better than the first one, they had spoiled me. I waited eagerly for months for AC:Revelations to come out. I watched the trailer at least a dozen times.

I bought it on day one. It's still good, but I don't think it's as good as ACII or AC:B. It's short. The whole Lucy/Shawn/Rebecca/real life part of the story is gone. The characters are not as interesting or as vivid as the characters from Italy like Rodrigo Borgia and Caterina Sforza. There are no more beautifully rendered chapels full of artwork. (They tried, and some scenes from AC:Rev do look really awesome, but there's only so much to work with in the Middle East.) And when it ended, I was left with a bitter taste in my mouth. I literally sat there watching the credits roll, waiting for something else to happen. I felt cheated by the lack of resolution in the ending. I guess I expected that a game called Revelations was going to offer some... revelations, or tell us something that we didn't already know. Honestly, it left me feeling like maybe Ubisoft actually wasn't concerned about telling this story in a rich and artistic way as much as just making those yearly releases on time so they can make some more money.

But, a few months after finishing it, I've pretty much come to terms with it. It's still a good addition to the franchise, and I've come to accept that all of Ezio's life and part in this story is pretty small in the grand scheme of things. I was expecting too much out of Revelations and out of Ezio himself; as if I expected everything to be resolved and wrapped up right there and then by this game.

I'm ready to see the next assassin - a whole new generation, a whole new time and place. I hear it's going to be taking place during the American Revolution, with some Native American influences... but it's going to be hard to outdo Ezio. Ezio was an incredibly memorable character, and we got to know him literally from the moment of his birth, until his death.

Ezio lives to a ripe old age and apparently dies a natural death from a heart attack on a public bench in Florence, Italy, with his wife and daughter nearby. Not at all a bad way to go for someone who spent their entire life as an international assassin.

Ubisoft - if you're listening, I just want to say this: Remember that you have a chance to tell an amazing story here. A work of art. It can be more than just a video game. It can live on long after you and the game's profits are gone. Please don't ruin that opportunity.

 

Batman: Arkham City

Batman ACNot a whole lot to say about this game other than "it rocks." I got Batman Arkham Asylum bundled with a video card upgrade a couple years ago, and I freakin' loved it. Extremely nice graphics, combat that made you feel like a real badass, and more gadgets than you knew what to do with.  So I knew that Arkham City - the sequel to Arkham Asylum - was going to be an instant buy for me.

Arkham City is just more of what made Arkham Asylum great. The combat is even better, the gadgets are even cooler, and the world is more open and free-roam-able. Plus, you can play as Catwoman, who is even more agile than Batman. Talk about kicking some major ass, ninja style.

The only downside I can think of is that there is a bit of a DirectX 11 stuttering problem, but you can easily switch DX11 off.

The only thing that gets me about Batman, is that doesn't he realize that he's actually putting more people in more danger by keeping criminal masterminds like Joker alive? I get that there is sort of a dynamic between Joker and Batman where they subconsciously keep each other alive because without each other, they would both lose their sense of purpose, even though they'll never admit that... but still, Batman's absolute refusal to kill anyone, even when it results in putting everyone else in mortal danger, annoys me.

 

Dead Island

Dead IslandThis game is interesting in that it doesn't seem like it was very well received. When the trailer was first released, everyone gawked at how awesome it was. You know, that video where everything happens backwards to the tune of a melodramatic piano and it turns out that it's a family fighting off a zombie invasion? It's here by the way. You owe it to yourself to watch it if you've not seen it. It's probably one of the best video game trailers ever made.

Alright, well the actual game didn't turn out much like that trailer, and I think that disappointed a lot of people.

However, I still really enjoyed Dead Island. (My current love of the TV show "The Walking Dead" may be related.) It's got that sort of multiplayer where teammates are free to come and go sort of like in Left 4 Dead. The acting and story line is pretty bad, but the scenery is beautiful, the zombies just keep coming, ammo is scarce so you're always feeling desperate, and the game world is very big and you're free to roam around in it.

If you had a small group of dedicated friends with voice chat - this game could simply be an amazing multiplayer experience. In that sort of "OK, you go to the lifeguard station and I will go get some gas from the gas station, and then we'll meet back here. Watch out for zombies" kind of way. However, just dropping in on a random game with one or two people you don't know... may not be so great.

 

Warhammer 40K: Space Marine

Warhammer 40k Space MarineI love the Warhammer 40k universe. It would make a fantastic MMO universe... just sayin'. It's got pure testosterone-based badassery like 8-foot tall genetically engineered space marines that destroy all of the emperor's enemies... and it also has a touch of comic relief like an "Ork" race that is ostensibly stupid, but apparently so prolific that there is no end to their numbers. When Warhammer 40K: Dawn of War came out years ago, it was a real-time strategy game like Starcraft, and I absolutely loved it. Dawn of War II took that similar RTS concept and boiled it down to where you only controlled one or two squads at a time, basically took away all of the base-building, and it was up to you to tactically maneuver those one or two squads around the terrain. That was met with mixed reactions. Some people enjoyed the more personal, tactical aspect... but some people preferred the more large-scale war-like feel of throwing hundreds of troops against one another in an epic battle.

Warhammer 40k Space Marine distills it even further to where you're actually just controlling one single space marine in a 3rd person over the shoulder type of game. There are a couple of other people with you at various parts of the game but of course they're largely useless. It's up to you to blow the heads off of endless hordes of Orks and Chaos Marines. I still enjoyed the game for what it was - stomping the heads of Orks, mowing them down with your auto-bolter, etc... the graphics are nice, the controls are nice, multiplayer is fun, but it does get old after a while.

Nothing too out of the ordinary.

 

Skyrim

Skyrim. This game was hugely popular. I played Morrowind in 2001. I played Oblivion a few years later. They're OK... but none of these games have ever really knocked my socks off. I can't just complete the main questline without feeling like I'm missing out on all those side-quests and free-roaming, yet at the same time, if I just go off and do my own thing, then I feel like I have no sense of direction or purpose. I can't just do the side missions without feeling like I'm letting the dragons/demons/bad guys rape and pillage in the meantime.

Anyway, the graphics are fantastic, obviously. The combat is fine. I hate fighting trolls. I'd rather face a dragon than a troll I think.

Anyway, I finished the main story line, but I'm just not as excited about it as most people are. I might have put 40 hours into it. I still prefer modern or sci-fi themes... see above with the Warhammer 40k MMO idea.

All that said, I will enjoy coming back to this game in a year or so, after the modders have had some time to create some really cool mods for this game.

 

Dustforce


I've been playing quite a bit of this game. It's very fun. It's addictive, and possibly most importantly - it has a fantastic soundtrack. Seriously. Just do a Youtube search for "Dustforce OST". It's good stuff.