Introducing SeeShell

§ June 5, 2012 15:40 by beefarino |

SeaShellI’ve been pretty quiet lately and for good reason.  My company (Code Owls LLC) has just released their first commercial software product. 

The product is SeeShell, and it aims to fill a void that exists in the PowerShell space: visualizing data.

PowerShell gives you access to tons of data sources: WMI objects, performance counters, event logs, files, databases, system events, etc.  And with PowerShell remoting these data sources can be remote, multiplying the amount of data accessible by the size of your network.  Clearly getting the data is no longer a problem – PowerShell has evolved to fill this gap.

PowerShell is still limited in the ways it can show this data: tables and lists.  To be sure, these are very useful, but there are times when they are simply the wrong choice.

An Example of Awesomeness

Ever wanted to correlate an event log against a performance counter?  I’m not talking about a systems monitoring or Big Data situation – just a time when you wanted to snoop out a performance counter’s relationship to a set of events that appear in the event log.   Perhaps you have a hunch and just want to confirm it.  Maybe an app is consuming memory at specific events and never releasing it.

Think about how you might solve that problem on your own for a minute … no seriously, think about it for a minute …

… and then see how the problem is solved using SeeShell.  This script:

   1: import-module seeshell
   3: {
   4:   get-counter '\memory\available bytes' -continuous | `
   5:     select -expand countersamples
   6: } | out-chart -name memory -type spline -plot CookedValue -by Timestamp
   8: {
   9:   $i = 0;
  10:   while( $true ){
  11:     $e = get-eventlog -log application -source MyApp -newest 1 | `
  12:       where {$_.index -gt $i };
  14:     if( $e ) {
  15:       $i = $e.index;
  16:       $e
  17:     }
  18:   }
  19: } | out-chart -name memory -type timeline -plot Message -by TimeGenerated

produces this visualization:


that shows a clear relationship between the Starting Operations event logged by the application and a massive consumption of memory (around .5 Gigabytes) that immediately follows it. 

The visualization overlays the events logged by MyApp on to the performance counter data values. The events and the counter share a common axis: the timestamp of the counter sample or event.  SeeShell is smart enough to see that the X axis of the counter and the X axis of the event series are both datetimes, and assumes that you want them plotted on a common scale.

This is one small example of what SeeShell can do.  If you think this is cool, head on over to the SeeShell product demos page and check out the videos there.  Your mind will explode with joy.


I’m a visual thinker – I find it far easier to intuit the meaning of data when it is presented visually than numerically.  Gauging the reactions of those who’ve seen a SeeShell demo, I can see that there are many others in the same boat.

I’m also lazy – not the procrastinating or passive-aggressive kind of lazy, but the good kind of lazy that makes me want to have flexible tools I can bend to my current needs.  It’s the reason I’ve globbed on to PowerShell for most of my software tooling on Windows. 

PowerShell provides a platform where:

  • tools are small and simple
  • each tool does one thing very well
  • simple tools can be composed to solve complex problems

SeeShell aims to be one of those simple tools, nothing more. 

CodePaLULza Caption Contest Winner!

§ March 26, 2012 11:40 by beefarino |

imageWell, I left the caption contest up for a week, and as promised I’ve chosen a winner.  The choice was hard, not because y’all are terribly funny but because most of you chose to go the obvious route and focus on my hair or make some off-hand reference to illicit substances.  No offense, but after 25+ years of looking like a ragamuffin I’ve heard ‘em all.

And the winning caption <drumroll />:

"OK, on to your code review...Oleg and Dimitri here are about to gang audit your code."

The winning caption was supplied by Marc Lyon, who wanted me to link to the website for his employer.  Congrats Marc!


§ March 19, 2012 12:57 by beefarino |

CODEPALOUSASo I get back from CodePaLOUsa with a full head and abused liver to find that the Louisville Courier Journal decided to use my ugly mug in their article on the conference (they managed to misspell my name though – can’t win ‘em all). This picture was taken during an open space on raising geeks.

We’ve already had some fun with this on twitter, but I wanted to make sure everyone has their chance to poke some fun at me. So I’m having a caption contest!

If you want to participate, go here and enter a caption you think is funny. At the end of the week I’ll look over the entries and pick a winner based on lulz. I’ll announce the winner early next week.

Rules: your caption must be publishable on my blog. This basically means that if I consider the language or content of your caption inappropriate it’ll get nixed.

First and only prize: link to your blog from mine. Hey, it’s not as lame as it sounds, I get around 6K unique visitors a month...

So get crackin…

Recap of the MVP Summit

§ March 5, 2012 12:33 by beefarino |

Now that I’m home from the 2012 MVP summit,  I thought I’d jot down a few notes about the experience. 

The first two days were full up with details about the new version of PowerShell shipping in Windows 8.  I’m not going to dive into any kind of detail about it here since the bits are publicly available and you should really start playing with it instead of reading about it.  Suffice it to say:

  • the surface area exposed to devops in PowerShell & Windows 8 is immense;
  • automation of administrative tasks on Windows 8 will be a pleasure.

I did a lot of listening on the first day, trying to take in the dynamics between the MVPs and the ‘softies.  By the second day I had put on my big boy pants and introduced myself to Jeffrey Snover and the members of the PowerShell team.  Once I started talking I found it difficult to stop.  They asked pointed questions and outright begged for feedback on the new V3 features, but having the ear of someone who wants to hear about the shell is not a common occurrence for me.  Or at least, not common enough apparently.  Hopefully their ears have recovered by now.

Which brings me to the PowerShell MVPs.  I’ve interacted with all of them digitally for the past year, some of them for far longer; that time pales to getting a week of face time with them.  It’s a scattologically interesting bunch comprised of developers, devops, and IT pros from … well, at least eight countries.  The banter was fast and positive, the humor never-ending; ideas were exchanged, and projects started.  More on that last one later…

And no mention of the summit would be complete without sharing this little gem: the PowerShell MVPs singing Highway to PowerShell at the live karaoke during the attendee party.  This pretty much sums up the experience of hanging out with this bunch of misfits.  Enjoy!