Save $160 by Purchasing the Office 2007 Upgrade
This came as a surprise to me; you do not need a previous version of Microsoft Office to use the "upgrade" version of Office! I stumbled upon this the other day while helping an old freelance client set up a new computer in their business. In fine print along the side of the Office 2007 Upgrade box it says, "Qualifying Products for Upgrade - Microsoft Works 6.0–10; Microsoft Works suite 2000–2006 or later..."
Those of you who have a Dell system (MS Works comes standard), feel free to save $160 when purchasing the Microsoft Office Upgrade version!
Percentage Comparison of 2 Strings
A recent project had me trying to determine a way to compare two strings and calculate their percentage difference. I was using Java and honestly figured there would be a built in function that would do just that. Unfortunately that was not the case.
After doing a good deal of research I discovered the Levenshtein Distance. Using the psuedocode on Wikipedia (and bits of code elsewhere) I was able to create a function that returns the percentage difference between the strings. I cannot take 100% credit for the script, but feel free to use it in any way you see fit.
public static int getLevenshteinDistance (String s, String t) {
if (s == null || t == null) {
throw new IllegalArgumentException("Strings must not be null");
}int n = s.length();
int m = t.length();if (n == 0) {
return m;
}else if (m == 0) {
return n;
}int p[] = new int[n+1];
int d[] = new int[n+1];
int _d[];
int i;
int j;char t_j;
int cost;
for (i = 0; i<=n; i++) {
p[i] = i;
}for (j = 1; j<=m; j++) {
t_j = t.charAt(j-1);
d[0] = j;for (i=1; i<=n; i++) {
cost = s.charAt(i-1)==t_j ? 0 : 1;d[i] = Math.min(Math.min(d[i-1]+1, p[i]+1), p[i-1]+cost);
}
_d = p;
p = d;
d = _d;
}//Determine percentage difference
double levNum = (double)p[n];
double percent = (levNum/Math.max(s.length(),t.length()))*100;
int percentDiff = (int)percent;return percentDiff;
}
Guake for Windows
If you ask me, Guake is the next best thing since sliced bread for GUI-based Linux users. It allows you to open a persistent, transparent terminal window by pressing F12 while in Gnome. Did I mention it's toggle-activated. Meaning when you don't need it in front of you, you press F12 again and it slips into your top bar. The transparency is great for when you are reading an article and want to see the commands you need to run through the terminal window.
So on to my dilemma. My work machines are all Windows-based and I found myself doing more and more remote Linux management using them. Now if only I could find a Guake alternative for Windows... I spent the good part of a weekend trying to do just that. I finally stumbled upon a few great articles that helped me piece it all together...
Combine PuttyTray, Launchy, and putty-launchy-plugin and you've got yourself a darn close match to Guake.
I've used Launchy before, so I had that installed. PuttyTray was new to me, but came up when searching for transparent putty. After installing and launching PuttyTray, click the Window option on the left.
You'll notice the Window transparency option at the bottom. I find setting it between 175 and 185 works best for me, but try it out on your own setup to fine tune.
If you're also looking to have the putty terminal be a certain size or fill up the entire screen, you can adjust this by playing with the Columns & Rows settings within PuttyTray.
The last piece is the putty-launchy-plugin. Install it, and open the Launchy options (Alt+Space and press the little gear in the top right). Click Plugins and you'll notice a new plugin called Putty. Specify the path to your PuttyTray executable and adjust the remaining settings as needed.
Now, to launch a persistent, transparent terminal window, simply press Alt+Space and type in "ssh". If you get further into it you'll notice that your saved sessions can be executed from Launchy as well. Enjoy!
Tracking your sales leads, for free
While working at a local Rochester firm, sales tracking consisted of a precariously rigged Excel sheet that only one person could edit at a time, was consistently out-dated, and just all around horrible to use. Not to mention you couldn't access it outside the network without VPN access.
After asking around, this was a pretty typical setup. And the response from business owners when asked about sales tracking tools consisted of, "sales tracking is for the big guys" or "small to medium businesses can't afford full time sales professionals, let alone a system to track their leads."
In comes SugarCRM... It's open source, runs on a LAMP (Linux, Apache, Mysql, PHP) server, and takes less than 30 minutes to set up. It sounds too good to be true, I felt the same way trying it out.
![]()
After the initial setup I copied what I could from the existing spreadsheet into SugarCRM, showed it to my boss, and had her test it out for a few days. The result, she was amazed! It was immediately implemented to everyone within the company (every employee is a salesperson within a small business).
One of the best features is the ability to add cloud connectors (LinkedIn, Jigsaw, homebrew) to your leads. Once you're logged in you can hover over a LinkedIn icon and see if you have any connections within the organization, or if you've even spelled the company's name correctly.
I'd have to say the second best feature is the charts/reports. A picture truly is worth a thousand words. The below image makes it even easier to see that a large amount of potential money is stuck in the First Discussion phase and gives staff an opportunity to put emphasis on opportunities within that bucket.

If you're already using SugarCRM you may notice that the above funnel chart doesn't come built in. I have a secret for enabling it, leave a comment and I'll send you the details.
Oh and don't forget the ever popular plugin capability! Anyone with a will and a way has been at work creating features and functions to make the tool fit your needs.
I'm writing this about a month after roll-out and things are going strong. Sales leads generation is up, sales are up, and we've developed a nurture program for companies who have expressed interest but may not be ready to purchase.
Without further sounding like a complete commercial, go have a look. Get rid of the idea that sales tracking is costly and time consuming. Find the nearest open source guru, an afternoon and be amazed at how cheap and simple lead tracking can be.
Fixing loud fans on your Xbox360
It was bound to happen at some point, my Xbox360 Premium bit the dust. Well, not exactly... It has an error E 74, which is apparently fixable with some voodoo overheating, but I'm reluctant to try it out just yet.
So, on to the point of this post. I got a used Xbox360 Elite from a buddy (thanks Ry!), swapped the HD, and was ready to go! Whoa, wait a sec, what is that horrible noise that sounds like a vacuum cleaner under the TV? No it wasn't the DVD drive spinning, it was the fans. After a bit of research I determined that the amount of noise was not normal. I took apart the Xbox and found A LOT of dust/bunnies. Cleaned it out with some compressed air and voila! quiet(er) Xbox!
There are a few aftermarket fans that you can swap in, but I have not seen conclusive details on whether or not they're quieter or as efficient. Luckily the sound system takes care of the fan noise. If anyone has suggestions, let me know!
iPhone, why did I wait so long?
I finally got an iPhone! When the first generation iPhone came out I was skeptical. My thoughts were justified when a friend got it and months later Apple took $200 off the price. Then shortly thereafter the phone started slowing down. Besides all that the iPhone only supported AT&T. Being a 10+ year subscriber to Verizon and their network, I was really reluctant to change.
Two weeks after owning the phone, I've only hit a few hiccups. The first day I didn't turn off my Verizon Blackberry Pearl and text messages only went to the Blackberry and calls went to the iPhone. After a quick call to AT&T Support they told me I'd have to finally turn off the Blackberry and the iPhone should take over. Sure enough, within 10-15 minutes things started working perfectly! The other problem was with my waived activation fee. I purchased the phone from a local AT&T store and was assured the $36 activation fee would be waived because I was switching mid-contract from Verizon. I got my first bill and of course the activation fee is on there. I'm hoping I can get this cleared up without too much of a hassle.
If you're a techie, if you like having everything in a central place, get the iPhone. The 3G version is worth it without a doubt. Between the apps and ability to navigate pretty much anything, the iPhone is indispensible.
A lesson in audience awareness
A large consulting firm recently approached me and asked how they could improve their teaching program targeted at Lean Six Sigma Master Blackbelts. After looking at their materials it was immediately apparent what was wrong. There were 500+ presentation slides for a week long course. The topic, issue-based consulting skills. This is the point where I asked if they had piloted the program. Luckily they hadn't. I would not have wished the instructor role on anyone in the world. The participants would have eaten them alive.
I've always been a fan of the chaos principle when teaching. Probably from watching my father introduce a group of middle school kids to shop class by balancing a 10+ foot piece of lumber on his nose. This was followed by balancing an eraser on top of the lumber, on his nose. I'm not suggesting you perform theatrics in your instructor-led teaching, unless of course your audience is a group of middle school children. What I did take away from this experience was the necessity of knowing your audience. From the first day my father was able to capture the audiences attention and imagination and focus their energy into learning the material. Oh and even having fun in the process. Not knowing your audience can be the death of even an amazing training program.
After reviewing the materials I put myself in the shoes of the audience and said, what would keep me interested? How do you train a group of PhD/MBA graduates with enough brainpower to solve even the hardest of consulting problems in a heartbeat? Give them a real problem. That's it!
Day one the participants walked in to an executive board (the real executive board of the company) and were presented two separate real-life problems. They were introduced as an immediate need and the participants were asked if they would take up the challenge. How do you say no to the person who signs your check? They were given a deadline of Friday morning and the executives walked out.
Over the following days, myself and another instructor performed the role of engagement directors and slowly introduced them to the new content. A very slimmed down 150 presentation slides. The knowledge was then put to use in solving the problems they were presented.
By the 2nd day the teams were so involved and committed to solving the problems that they stayed past 5pm when the engagement directors left. We received emails late into the night and early mornings. They couldn't be stopped. On the final evening, teams rehearsed and fine-tuned their presentations well past midnight.
The response to the final presentations by the executives was shock and awe. In fact, one of them immediately after giving feedback raced out of the room to make a call. We later found out the real team put on one of the problems was still working on it. The classroom team had come up with a solution to the problem that the field team had not.
In the end the program was a great success and all because we paid attention to the audience. Never neglect their perspective or importance in a training program. If you happen to find yourself balancing a board on your nose, be sure to tell them you learned it in clown school. That was my father's favorite part.

At first use, the Windows Vista (and now Windows 7) Start menus are a bit odd. I thought it was short-sighted of Microsoft to make the menu so small and require scrolling, but what it did was force me to use the search feature. Just type the name (or even part of the name) of the program you'd like to launch and press enter. That's it, you've launched the program. You may think that it's a small thing, but when you're constantly opening new applications it gets to be quite the time save.
