Category Archives: Tech

Technology related stuff

The HP Discover Experience

Earlier this month, I attended the HP Discover tech forum held in Las Vegas.  With about 10,000 attendees, this is one of the larger technical conventions in the industry.  It covered new products, industry trends, and sprinkled in some top notch entertainment.  I thought I’d take some time to document my thoughts on the experience.

The Entertainment
Leading into several of the keynotes was comedian Jake Johannsen.  Jake did awesome, plain and simple.  He adapted his comedy to the techie crowd amazingly well.  I had never heard of him before HP Discover, but he was a total hit.  He’s apparently been on the David Letterman show more times than any other stand up comic.  I recommend queuing up his special “Jake Johannsen: I Love You” immediately.

In the closing keynote, the comedy kept rolling via Dana Carvey.  The chance to see comedy legend Dana Carvey in a private keynote ceremony do an hour of stand up is something I’m grateful to have been a part of.  While I would say he did not adapt to the techie crowd nearly as well as Jake did, he certainly did comedy justice.  He mixed his impressions (Hanz/Franz, George Bush(s), Church lady, etc.) well while focusing on current news and topics, and he did well to get the crowd involved.  Between Dana Carvey and Jake Johannsen, I laughed a lot more than I had expected to at such a techie conference.  Kudos to HP for booking these two!

Finally the entertainment festivities were capped off with a private concert by Paul McCartney at the MGM Grand.  Now, I’ve not previously been a big fan of Paul or the Beatles (I know, right?) – but the chance to see him in a private showing in Vegas is an opportunity I had to capitalize on.  While some others may have skipped due to early flights or [other Vegas activities] I made sure to take in his entire show.  Paul certainly didn’t disappoint – he played for 2 solid hours with plenty of energy.  The pinnacle of the show was “Live and Let Die” – It got the place jamming and embodied a full rock and roll spirit.  Paul certainly gained a new fan here.

The Conference
Moving on to the techie side of the trip…

HP used this conference to announce new products, new strategies, and new ways of thinking about I.T.  Most of the keynotes focused on having adaptive and scalable systems (read: cloud / private cloud) and using some cool new infrastructure enhancements to achieve that goal.  I learned about some new areas such as the benefits of 3PAR storage, HP’s Cloud Matrix management suite, and the basis of HP’s converged infrastructure.

Equally as interesting as the main keynotes were the breakout sessions.  There were hundreds of sessions to choose from.  From hands on labs, to deep dive keynotes, and new product announcements.  With my job, I focused on sessions related to storage, VMware, and HP Blade systems when scheduling.  Some of the sessions were refreshers while others enforced best practices that our team has already designed systems around.

I had one gem of a session that hit me out of the blue:  “Get hands on with Intel, mobile devices, and social networking”.  This was a session that I simply used as filler where I couldn’t find anything else relevant in my time slot.  It ended up really being my favorite breakout session of the trip.  I blogged about it in further detail here: if interested in an in-depth.  Short version:  A lab session focusing on remote access, P2P administrative meshing, and social network integration.  Very very cool.

Overall, HP Discover for me was a fantastic experience.  I had never been to Vegas, so it was fun to take in a little bit of Sin-City.  As far as Vegas was concerned, I got to check out the Hoover dam, walk the strip a couple times, and have some awesome food!  And overall, I met some great people and had a really great time…

An Awesome Tool:

I learned about this site: while attending the HP Discover tech conference in Las Vegas.  As an R & D developer with Intel, Ylian Saint-Hilaire has created a very unique and powerful toolset (and made much of it open-source)

With, users can do all kinds of very impressive things remotely from almost any web-connected device.

  • Create an administrative P2P mesh between all your computers/devices
  • Access your computers remotely (via KB/mouse/desktop or just the command prompt)
  • Access your files remotely from any computer
  • Synchronize files between computers
  • Power on/off, sleep, hibernate, or simply reboot computers remotely
  • Send messages to the screen remotely
  • Connect with your twitter account to allow for twitter based commands! (for example:  Tweet “@MeshCentral reboot computer computername” would restart my computer.  Still can’t get over how awesome that is.
  • Various mobile device inter-operabilities.

Here’s a screenshot of me accessing my home server via the website.  It’s amazingly functional.

If you have a web-enabled smartphone, your options even get better.  I was able to do a fair amount even just using Opera Mini on my blackberry.  I restarted my computer using my blackberry several times just because “I could”…  But you can even do a lot more if you’ve got an Android device (sync your photos, etc)

Using MeshCentral did feel a bit daunting at first because of how powerful it is – but it’s actually quite the opposite.  You visit the site, create an account, skim the tutorial quickly which will walk you through creating your first “Mesh”, and finally you download the Meshing agent (Available on Windows, Mac OS, Linux, even DD-WRT for routers) and you’re ready to go!

It’s an innovative framework, and it was one of the coolest things I took away from my trip to Vegas for HP Discover.

Certainly worth checking out if you’re a techie who wants to access his/her things remotely, or even help out family/friends with computer issues.  It certainly gets my seal of approval

The Best Possible RickRoll Method

The phenomenon known as “RickRolling” is certainly nothing new. Millions have been duped into watching Rick Astley’s “Never Gonna Give You Up”. And many, like myself, have had it done multiple times.

Some strategies to Rickrolling a would be victim might include

  • Non-specific Youtube link
  • Use of URL shorteners like or
  • URL re-direction

I’d like to take the URL re-direction bullet, make it a bit overly technical, and unleash what I am convinced is an undetectable rick roll method. Prerequisites include an apache web server with mod rewrite (probably do-able with IIS as well, but I am unaware of rewriting URLs in IIS).

  • Create a folder in the root of your web directory. Name the folder something like “index.html”.
  • Inside that folder, create a file named .htaccess (note the leading dot. Required in the name)
  • Put the following text inside that .htaccess file:

    Options +FollowSymLinks
    RewriteEngine on
    RewriteRule (.*) "" [R=301,L]

  • Now, you can link somebody to and they will immediately be forwarded to Rick Astley.

I went ahead and implimented this for display purposes here:

The Best Tabbed SSH Solution in Windows 7

PuTTY has been the standard SSH utility for all of my Windows based workstations since approximately 2002.  It is a clean, easy to use, lightweight utility that reliably allows various SSH/SSL functionality from a Windows client.   However, PuTTY has grown to become a very strange and atypical application.  The last version published was in April of 2007 (that is LITERALLY 4 years ago). It has a gigantic list of feature requests and bug fixes.  Yet, it is still unexplainably the mainstay and flagship SSH client… And I really just don’t understand why that is.  I mean really… 4 years?  There are two Microsoft OS releases in that time that a developer should be considering features and usability within.  I simply don’t get it.

Well, I’m initiating a changing of the fucking guard.

Vast amounts of Google research has yielded me a very sufficient and actively developed fork of PuTTY called “KiTTY“.   KiTTY is obviously based on PuTTY’s source, so it retains all the reliable and usability – but it also adds a slew of new and highly requested features that seem to be destined to never reach a build of PuTTY. Some of the biggest for me are:

  • Session based username/password saving
  • Send to tray functionality
  • Transparency (not the “real” transparency… it overlays the wallpaper.  But at least it’s trying!)

Sadly, even in it’s actively maintained state, KiTTY does not support a tabbed interface.  I MUST have a tabbed interface.  I have searched the ends of the internet for a GOOD and FREE client for SSH that can support a tabbed interface.  This simply does not exist in a single package.  You can fork out some cash for something like SecureCRT; or you can use something sub-par like Poderosa.  But meh, who wants to do either of those things??

One has to resort to a connection manager software, such as Putty Connection Manager, Super Putty, or (by far the best) mRemoteNG.  I strongly recommend mRemoteNG.  It has a vast amount of configurability, supports VNC, RDP, and other protocols on top of the SSH capabilities; and it runs very well and seemingly bug free on a Windows 7 installation.  The other two certainly cannot say that.

mRemoteNG even allows you to choose a custom path for your PuTTY executable (so, browse to kitty.exe)  😛

I followed these steps for an awesome tabbed SSH experience like no other; with support of multiple protocols, high amount of configurability, and even transparency!  I recommend every sysadmin do the same thing.  I’m sick of PuTTY being the undeserved king of this realm.

  1. Download KiTTY and save it wherever you like
  2. Download mRemoteNG installer, install it
  3. Open mRemoteNG and then click on Tools, Options.  Click the “Advanced” button on the bottom right.
  4. Set your custom PuTTY executable path to your KiTTY executable
  5. Create some sessions, set the protocols, even save the usernames and passwords if you like
  6. Triumphantly raise your hands in the air, as you have the best possible SSH setup known to man.  Here’s a screenie of my setup at home.  I disabled transparency because my laptop doesn’t perform very well with it enabled.

Windows 7 Right Click Lag on Desktop Shortcuts

I’ve had a nagging issue lately that has really been bugging me.  Whenever I right click on a shortcut on my desktop, I get a 1-2 second lag before the context menu will pop out.  It wasn’t a “huge” deal so I put it off for a rainy day.  When I finally started trying to figure the problem out, I naturally resorted to Googling.  This is a case where Google couldn’t help.  There are too many results talking about generic right-click lag; or lag when you right click just on the desktop area.  My issue was a bit more specific; in that I was right clicking specifically on a shortcut.

I used procmon to determine that the nVidia drivers were making wild registry/file calls (big suprise, it’s nVidia’s driver).

I then started searching through context menu entries in the registry trying to make sense of how to resolve the issue.  I could fairly easily see how the layout worked, and that each file type had it’s own context menu entry set.  After some trial and error, needless reboots, and co-worker confirmation: These steps are confirmed to resolve the issue.  NOTE:  if you are not comfortable editing a system registry; make sure you take steps necessary to have appropriate backups (A good idea even if you are comfortable with regedit).

  • Start, run/search, and type “regedit” minus the quotes
  • Delete the key named “OpenGLShExt” from the relevant locations (I chose lnkfile and exefile respectively
    1. HKEY_CLASSES_ROOT\lnkfile\shellex\ContextMenuHandlers\OpenGLShExt
    2. HKEY_CLASSES_ROOT\exefile\shellex\ContextMenuHandlers\OpenGLShExt
    3. Make sure you delete the entire key; not just the default value within the key.
  • If you notice right click lag on any other filetypes, as I did notice .bat, .msc, and a couple others; just repeat the same steps at that section of the registry. Maybe even get rid of ALL the references to this horrible key.
    1. HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\OpenGLShExt

These keys were certainly causing the 1-2 second lag when I right clicked on shortcuts.  Once they were deleted, I instantly saw the lag disappear without even needing to reboot. Now hopefully Google can index this and try to help some other people out.  Since it took me about 5 hours total to get to this point.  🙂

AIM Style Emoticon Keyboard Shortcuts in Pidgin

Have to start with the meat… Here’s how you get AIM style emoticon shortcuts in Pidgin.

  1. Download the file gtkrc-2.0 or copy the text from the end of this post
  2. Put or create the file in your .purple directory. “C:\Documents and settings\Username\Application Data\.purple” for Windows users, “/home/username/.purple” for you Unix/Linux folks. NOTE: The file must be named “gtkrc-2.0” with no file extension
  3. Start or re-start Pidgin and enjoy the old-school AIM-style emoticon keyboard shortcuts!!!

The Backstory
Back in the good ol’ days of late 90’s early 2000’s, it seemed like everyone was signing up for Aol’s Instant Messenger. It brought everyone some enjoyable times with a revolutionary emoticon set and user warning system. The AIM software became ad-ridden and bloated while more chat protocols surfaced – so the community embraced replacements and combination appliations such as DeadAim, Gaim (now Pidgin), Adium, and so on.

One of the more efficient and beneficial functions of these applications, including Aol’s official AIM client, was the ctrl-x keyboard shortcuts for each emoticon. E.G.: Ctrl+6 was the “kissy face”, Ctrl+7 was the “angry face”, etc.

As time has progressed, Pidgin ceased the emulation of AIM’s ctrl+x keyboard shortcuts for emoticons. Myself and most of my friends used this feature EXTENSIVELY for worthy communication, and it became frustrating to click/move the mouse to find the correct emoticons. Time evolved my skills and I was able to become somewhat proficient in just typing the actual characters to build the emoticons manually… But it was still a long shot away from matching the ctrl+x shortcuts.

Meanwhile, Russellteee visited my family lifespace to meet my newborn child. Somehow during his visit, we arrived on the subject of discussing these former shortcuts and how awesome they made our respective lives. We vowed to construct a plugin to re-insert these plugins into Pidgin.

The week continued and I discussed this scenario with my coworker chouse. He was immediately gripped with the idea of getting this set up with a config file. Within just a few minutes, he formulated a working solution by creating the file called “gtkrc-2.0” and putting that file into “C:\Documents and Settings\username\Application Data\.purple” directory. They keymap functionality in gtk2.0 is a little wierd – we had to work pretty hard to get ALL of the keyboard shortcuts to work. When you have the ctrl+shift modifier, it forces you to use the rendered value of the keys pressed.

For exampe: “ctrl + shift + 1” is actually just “ctrl + !” as the shift key changes the output. But, those key symbols are special ascii characters that you have to actually put by name into your key bindings file. With a bit more research, I was able to find most of these pretty quickly. The caret (“^”) gave me the most trouble; for some reason the ascii hex code of 5E is rendered as “asciicircum” in the GTK keymap. Seems like some programmer has made a joke pertaining to the caret and circumcision. One would expect “caret” would be fine; but whatever. I found it via Ascii -> hex -> keymap.h translation.

What beholds from this immense display of teamwork and coordination is a result that is literally too pristine to describe in written english verbiage. I can only give you directions.

Here is the text that goes into the file, if you prefer to create it manually.

binding "faces"
bind "<ctrl>1" { "insert-at-cursor" (":-)") }
bind "<ctrl>2" { "insert-at-cursor" (":-(") }
bind "<ctrl>3" { "insert-at-cursor" (";-)") }
bind "<ctrl>4" { "insert-at-cursor" (":-P") }
bind "<ctrl>5" { "insert-at-cursor" ("=-O") }
bind "<ctrl>6" { "insert-at-cursor" (":-*") }
bind "<ctrl>7" { "insert-at-cursor" (">:O") }
bind "<ctrl>8" { "insert-at-cursor" ("8-)") }
bind "<ctrl>exclam" { "insert-at-cursor" (":-$") }
bind "<ctrl>at" { "insert-at-cursor" (":-!") }
bind "<ctrl>numbersign" { "insert-at-cursor" (":-[") }
bind "<ctrl>dollar" { "insert-at-cursor" ("O:-)") }
bind "<ctrl>percent" { "insert-at-cursor" (":-/") }
bind "<ctrl>asciicircum" { "insert-at-cursor" (":'(") }
bind "<ctrl>ampersand" { "insert-at-cursor" (":-X") }
bind "<ctrl>asterisk" { "insert-at-cursor" (":-D") }
widget "*pidgin_conv_entry" binding "faces"