May 17, 2012

UBERLinkedTwit : Chambers special

So my buddy posted the following tweet today:

And since I had some calls today I decided to kick off a project to do just that.

So here is a simple github link for UBERLinkedTwit:

Basically a command line ruby script which using the LinkedIn gem to auth, pull, and grab twitter ID’s for your connections. I haven’t rigged it up to auto-follow using the Twitter gem yet. But that is pretty easy using the Twitter gem examples.

Hit the github project, get LinkedIn developer keys, read the README, and have fun. Free free to extend and I will pull into main project.

.nick

 

 

 

 

 

 

Guest Spot : The Cloudcast(.NET)

Last night I was lucky enough to be a guest on the Cloudcast(.NET) with cloud experts Brian Gracely and Aaron Delp.

We covered the trip to VMware PEX, CloudConnect, and a little bit on DevOps (when I would stay on topic). Brian & Aaron’s podcast has quickly become the best source for interesting discussions related to Cloud. You can hear the latest episode here: CloudCast Episode 33

.nick

Manic Innovation Challenge(Feb) : UBER Twitter Stats

Continuing my pursuit of the Manic Innovation Challenge I am proud to release my newest *dumb* idea: UBER Twitter Stats!

NEW UPDATE – Based on some tips (thanks: Brian Katz @bmkatz) some of the details haved changed below to make UBER Twitter Stats work a little easier. The same old command style still works. But the newer one is much easier.

animalWritten in 100% Ruby and running in the cloud, UBER Twitter allows you to ask me (technically my cloud-like proxy @myubertwit) for interesting recent stats about your Twitter account. It is really quite simple.

Send a tweet to my app account (@myubertwit) with the text: “<command>”. With the command being one of the following:

  1. My Word Count – Will reply with the top 20 words you used recently. This automatically strips out very common words. Shortcut: ‘mwc’
  2. Mention Word Count – This will reply with the same as the above but for tweets that mention or are to you. Shortct: ‘mmwc’
  3. Who I Mention – This will list the top 20 people you talk to or mention in your recent tweets. Shortcut: ‘wim’
  4. Who Mentions Me – This will reply back with the top 20 people who have mentioned you the most lately. Shortcut: ‘wmm’

If you get stuck just send @myubertwit ’help’ to get the instructions back in a tweet.

Depending on timing response may take up to a minute. Also, 90% of this work was written while I was chilling in a cigar bar with some friends. So while I do have *some* error handling, it ain’t much Smile. It should handle Twitter API limits and does a decent job of trying to iterate and gather as many tweets as possible. For some high volume users (Like @Beaker) it gets pretty close to a 1,000 tweets per request to analyze.

I WILL be releasing the source for this soon. I have to strip out some private stuff first. And this week I will be attending VMware Partner Exchange, Cloud Connect, and one other event along with a ton of meetings. Which means it might be a week or two before I have time to post to Github for everyone.

Feedback is king – let me know if you like it or if you have any good ideas to add!

.nick

Top Blog Voting : Cast Your Vote

vote-for-me-e1303746179672Once again the time has come in the year when vSphere-land.com does their voting for Top VMware/Virtualization blogs.

I am a firm believer in voting for who you love so head over and take the quick couple minutes to choice your favorites. If something I have done on Nickapedia.com has been cool, useful, or inspiring then showing me through a vote would be awesome.

Here are some of the most popular posts I have done in the last year:

But, even if I don’t make your list. Vote anyways – this is a great way to provide feedback to bloggers.

.nick

Quick Update : UNF version 1.701

I got some feedback that some users running Snow Leopard were crashing every time they started UNF.

Turns out there was a method being used on a Cocoa control that required changes made in the 10.7 SDK. I rewrote the function to not need the method and have released a new version (version 1 build 701). All download links are updated but you can download the new version here:

UBER Network Fuser 1.701 Download

Lion users don’t need to update.

Thanks,

.nick

Breaking new ground : An UBER Tool for the Mac

Screen Shot 2012-01-10 at 12.45.45 AMA few months ago I bought my first Mac. I had been a hardcore Windows workstation kind of guy. And being a C# coder in the late hours of the night it was all I needed. But, after seeing my former teammates (vSpecs) using their sexy Mac Books I finally made the switch. I picked up a Mac Book Air and from the minute I started using it, fell in love with everything about it.

Because of this switch I have come to learn the things that the Mac (and Lion) do really well with some things while Windows does better with others. For almost all of my UBER projects I use my beefy Windows workstation running VMware Workstation to setup my lab/dev environments.

But, recently I started trying to move over to my Mac and using VMware Fusion to build lab virtual machines for developing. And to my surprise I found that things in the Fusion world aren’t quite the same as for Workstation. Namely, the networking options are rather limited. By default you only get the choices of three networks 1) DHCP w/ NAT  2) DHCP and 3) Bridging to a physical interface. For me that meant that I couldn’t get a network without DHCP (important if you are testing it) or create multiple isolated networks like I could on Workstation.

So I went digging and found that at one point someone has written some slick scripts to allow for custom multi-network setup but it stopped being updated after Fusion 2. I also found that VMware has some KB articles on how to hack your way to adding networks. But neither was very easy to do or dealt with modifying the VM’s well.

So I decided to fill this gap myself. Over the Christmas holiday I worked furiously to make this and now I am proud to present the next UBER release and my first project in the Manic Innovation Challenge: UBER Network Fuser (UNF)

UNF is a native Mac OSX application supported on Snow Leopard and Lion that allows you to add additional networks to VMware Fusion, customize their settings, and easily change network selection for any Fusion VM’s. I designed it to be simple to use and be similiar to how VMware Workstation network editor works.

Screen Shot 2012-01-10 at 12.46.01 AMHere is the full feature list:

  1. Allows up to 10 additional custom networks (total of 12)
  2. You can enable/disable DHCP, NAT, virtual host adaptor on any network
  3. Protects and provides rollback of default Fusion settings
  4. Allows dynamic changes of network membership with Fusion VM’s
  5. You may alias networks with custom names (even Workstation doesn’t do this)
  6. Tested and confirmed that VLAN tagging works as expected within private networks
  7. Saves configuration per user (names, paths, etc)
  8. Integrates with Apple’s Security framework for elevated privileges when needed

 

I created a video to demonstrate how it works below:

And to download (free as always) use the link below:

Download UBER Network Fuser 1.0 – DMG for Snow Leopard & Lion (Updated link to new 1.701 version)

 

This is my first release in the Manic Innovation Challenge. It is written in Objective C & C and uses the Cocoa and Security frameworks. Challenge-wise it was definitely an experience learning and writing an app in Objective C in  few weeks. But, it was crazy fun and I have all kinds of cool ideas for the Mac now.

Also, this marks post #100 for me in the 2.3 years I have been running Nickapedia.com. Being that it is also my birthday I am considering today a good day.

As always please test and play with it and let me know with some comments below.

.nick

The next iteration : What I learned & what you can expect

DriveHonestly I think the only reason I started this blog what as a holding spot for crazy things I wrote/built in my spare time. I never thought people would actually pay attention at first. Now I look back and realize that while I have stayed pretty true to that original course in some aspects, things have evolved a bit also. Going from customer, to vendor as part of sales org, to being part of engineering/R&D product development has changed my perspective and interests.

And honestly I don’t know where I will end up in 2012. But I have made myself a goal for self development that I am hoping will both challenge myself and encourage others to challenge themselves.

I am going to be taking on (what I call) the Manic Innovation Challenge in 2012. In simple terms and with simple rules to follow I will attempt to create something unique and creative using as wide a variety of frameworks, codebases, and presentation methods as possible. My goal is to release one example each month with a stretch goal of one example every two weeks.

All this work will be in my spare time unless it is also an EMC supported example. I have a couple crazy ideas kicking around in my head and one midway to completion.

I will also be starting a new series of commentary posts focused on what I see are cool trends in modern information technology at a very geek-centric level. My goal on these is brevity and something to hook you into exploring more on a topic.

Ultimately this blog has been a massive outlet for my personal development and I want to extend that in 2012 even further. Thanks for reading this so far and hopefully I can find a way to keep your interest this coming year.

.nick

The late recap post : AKA Top 7 things I learned in 2011

2011 was a banner year for me in accomplishing great things and learning new lessons. To recap my 2011 I thought I would share:

 

 Top 7 Things I Learned in 2011

 

1. I must be doing something right

This is the obligatory stats part of my list. Comparing 2011 to 2010 I doubled my visits, unique visitors, and pageviews. Time on site went up about 33% per visit which may just be because I cleaned up the look and made it easier to find stuff. The most interesting thing is my traffic has been much higher in the last half of this year. It is yet to be seen if I can keep this up in 2012. [Read more...]

Proving a another guy’s point : MacBook Air & Node.js as a Webserver

Ok, this is a real quick example of someone else’s idea. Namely Christofer Hoff of Juniper (infamous blog & twitter account) who in response to my tweet about my MacBook and a webserver (I am a Mac-newbie). Suggested I try using Node.js.

beaker_being_beaker

At first I was a little taken back. I think @Beaker thought I didn’t get the point (and I don’t more than I do).

beaker_being_beaker2

So I *cheated* and just turned on Web Sharing with the good tips from my other twitter buddies. But the Node.js idea bugged me because technically Chris is right. It should work fine.

So I did it. I installed the Node.js package for OSX (been using the Linux version) and fired up TextEdit and wrote this simple bit of code:

var http = require('http');
var fs = require('fs');
var path = require('path');
var rootpath = "/Users/lynxbat/Webroot";
 
console.log('*Starting');
http.createServer(function (request, response) {
 console.log('Server started');
 var pathToFile = rootpath + request.url;
 console.log ('File was requested: ' + pathToFile);
 path.exists(pathToFile, function(exists) {
 if (exists) {
  fs.readFile(pathToFile, function(error, content) {
   if (error) {
    response.writeHead(500);
    response.end();
   } else {
    response.writeHead(200, { 'Content-Type': 'application/x-gzip' });
    response.end(content);
   }});
   } else {
     response.writeHead(404);
     response.end();
   }});
}).listen(8010);
console.log('Server running at http://127.0.0.1:8010/');

I fired up the server:

node webserver.js

And opened my Safari browser to request a file I had dropped in my root directory.

Screen Shot 2011-12-19 at 4.18.55 PM

Which works perfectly. Output on cli:

*Starting
Server running at http://127.0.0.1:8010/
Server started
File was requested: /Users/lynxbat/Webroot/node-v0.6.6.pkg

Now in my case I am using the Webserver to hand out packages for installing as a local mirror for some VM’s I am building (big demo for Jan). So I hardcoded the MIME type and left response encoding unset. If you were looking to properly serve you should perhaps add some logic for switching types and responses based on the file extension. Kind of like a proper web server works.

So Chris was right. This works. Though I think proving him right probably isn’t a good habit to pick up.

.nick

IT, Silos, Cloud, & You : What do you want to be when Cloud grows up?

Senior Developers, Network Admins, Virtualization Architect, Security folks, and more – in the world of skilled labor in IT there sometimes seem to be more common boxes we like to place people in than most other fields. These boxes exist partly due to the fact that the CFO/HR/recruiting folks need nicely written job descriptions to map resources and maybe a little bit because of how people assume these position – through the fires of a limited education systems and bootstrap-yanking from the bottom. square_peg_in_round_hole_2Regardless of why, we organize skilled people into buckets in much the same way everyone else is world is either an accountant, attorney, marketing expert, business analyst, or any specialty therein.

[Read more...]