Tuesday, January 27, 2009

money for nothin…

Got up this morning and saw a very disturbing story about people scamming people through Monster.com.  They covered one scam – which admittedly is a pretty lame scam. but people are falling for it. 

You get contacted by a firm they “hire” you but… OH NOES!  You need the latest Laptop, or a company cell phone or other medium to large purchase.   Don’t worry, they’ll send you a check for the expenses to get you working right away… what’s your bank account number?  They need to do a wire transfer. 

All of this seems somewhat reasonable.  And when you’re out of work it sounds like a dream come true.  Problem is that like many things that are too good to be true it is.  You give them your bank account info – and they give you an empty bank account.

Now, here’s another scam they can do… in order to get you your supplies their company ONLY banks through bank _________ and you need to set up an account there.  (In the example on TV the bank was Wells Fargo – but I’ve seen this scam with others.)  Once you set up an account there they send a check through.  You go buy the laptop and send them the receipt.   Sounds pretty legit right?  They  did send you money all they wanted was the receipt – you got a laptop out of the deal right?

Three days later your new bank account informs you it’s waaaay overdrawn and that banking fraud is illegal.  Seems that transfer got refused.  You now owe the bank for the money – and the credit card company you bought the laptop through – and you btw – find out the laptop that you sent that receipt for?  It’s already been returned somewhere else.

Here’s how this works – it relies on a scam that knows how banks work.  So when someone gives you a wire transfer… you sit on that check until it actually clears.  When dealing with someone new that asks unusual requests like these… call the bank and verify the funds.  They can do this without alerting anyone, and it’s actually accepted banking behavior. 

So… be careful.  Watch out for Monster, HotJobs and especially Craigs List jobs … if you’re  professional – verify the company with a professional web site, or make some calls.  Check with better business bueau – do a bit of research. 

Earlier this year I had a very legit firm that contacted me.  I went through 3 rounds of interviews over the phone and got flown out to meet for a face to face interview.  A great group of people.  But something didn’t feel right so I did some googling and checking for sales numbers, checking for who the company was and what they’d done vs. what their PR said they wanted to do.  Turned out their eyes were bigger than their pocketbooks and I was actually called by them the week before I was to start (after months of contact and planning) and they informed me they were unable to hire me.

Had I not been expecting this – financially it would have been a disaster. 

So – lessons learned for everyone – Check All Future Employers out!  They run a background check on you – you should be running one on them.    Google., www.Zabbasearch.com , www.yahoo.com, there are dozens of ways to look up a company – look them up.  Do a search on future bosses.  Know who it is that is making that offer – know as much about their business as the do.  It can’t hurt … and your impressive knowledge of their company may actually help you land a job. 

Wednesday, January 21, 2009

Project Status Template deux

Got a ping from someone asking if the Project Status Email Template could do …. MS Project inserts.

image

Indeed you can – but it is a bit tricky.  As you can see from the screen shot – the end result in an email looks pretty well… cool.  image

Some caveats – first of all – you gotta have MS Project on the machine to insert an MS Project Object into the template.  So that’s a bigge – because you’re actually inserting an MS Project Object into the email. 

The other users – will not need to have MS Project installed – because the areas you have showing will become images.  The same is true for excel spreadsheets and other embedded inserts.

So … how do we do this? 

Real simple… first we’re going to create our template – just like in the last blog posting.  But where you want to Insert the MS Project (place the cursor where you want it in the file – it’s easier than moving this later) … then click on the “Insert” tab and select “Object”.

image

 

 

 

Now – this will bring up the Object menu.  Scroll down the list to Microsoft Office Project Document and Click “OK”.  This will embed the object into your email template.

image

Once embedded – you’ll need to adjust the various values to your liking.  But… what’s that you say?  “Oh NOES!!!  I DON’T WANT TO PUT IN ALL THAT DATA AGAIN!!”.  Then don’t.

You simply open your Project Plan.. copy the rows… and then open the email template – and copy them in there.  It really is that simple. You will need to adjust the viewing area displayed – the Height and Width to reflect the email but – updating it is pretty simple.  And the results make you look great as you can see.

So … save yourself a ton of time, a ton of effort – and template. 

image

You can find this file here:

http://cid-e46e5f5a0e3b5854.skydrive.live.com/self.aspx/Public/Office%20Templates/Project%20Status%20Advanced.zip

Saturday, January 17, 2009

Outlook Template power ACTIVATE! Form of… a Status report!

I’ve been doing a lot of documentation lately, which is brain numbing at best, and time consuming at the same time.  So when a boss asked if I’d need more time for a status report I naturally said, “No I should be good…”. 

Now I can do that (and look really good) because of a little trade secret that almost no one I’ve met uses… the power of the outlook template.  I’ll go one further and say, almost no one uses templates except those of us that seem to be in some hidden fraternity of Program Managers who share these little secrets… like templates.

I keep a template around that does all kinds of fun Project Summary things – and I’m including it here.  Here’s a list of things that are built in:

  1. Has all the people who need to be on the report – already in the "CC” line for me.
  2. Has a current spreadsheet of the issue items (my more advanced version actually pulls the values from a Issue Tracker – which you can look into doing sometime but this has the drop downs and auto-formating for status.
  3. Drop downs (see Sheet2 when you double click on the table – you can edit the values there)

So all I have to do – is basically load it, click on the fields I want to update and hit send.  Major time saver and everyone thinks you’re like… the coolest most on top of things guy ever.

Let’s cover how this magic happens – first you need to know how to make a template from Outlook.  Which… is surprisingly really easy.

image

All you do – is literally create an email just the way you want it In this case, I’ve put in all the elements that I want in the email I want to send out.  I’ve done a couple other things as well so that it will make it easier to customize things later – like special headings. 

When I need to swap my status from Green to Yellow and so on all I need to do is select the text and click on the “Format Text” tab and select the style I want.

image

I also want to have my CC and To fields preset with the names of everyone who will need to receive my status report.  The thing to keep in mind is that this is not a “one time” message.  It’s going to have certain things in it that I’ll need to do over and over.   So I can create all my headings, any graphics that I’ll want to reuse, and any tables that will need to be updated.  Now – if I’m going to just update some fields then I’ll probably use the Table feature of imageOutlook and embed a table.

If the table is going to have a lot of data that I’ll be typing in often (like names or email) then I’ll use the table feature to embed an excel spreadsheet, and on the Sheet2 page I’ll create a series of terms and names.  Here I’ve put in terms for my Status types, I’ve created a range of values for percentages of completion, email addresses of those who I’ll use in my report.  These ranges – I’ll use by going back to the Main Sheet – the one I want to display and use them as Drop Down Lists.   The drop down list is a little used feature, but very handy for tricks like this one. 

imageYou create it by first creating a range of values somewhere either in the workbook or on the same sheet.  You then select imagewhere you want to create the drop down box, and then on the Data tab (which you’ll note that you now have one in Outlook once you are in the Spreadsheet, just like you do in Excel).  imageClicking on this will open the Data Validation Dialog Box.  Once you have this you’ll want to select “List” from the drop down list.  This will bring up the options for drop down lists from the dialog box.  

 

In the Source section – you’ll want to put in the range you created over on Sheet2.  You can do this either by having named the range, or by putting in the actual range “=Sheet2!$B$3:$B$7” in the imageSource.  Either will work, although using a named range is somewhat easier, especially if you have a lot of ranges to deal with.    The end result will create a cell that has a drop down list on it.  You can copy this cell as you would any other and that makes automation a bit easer.

Another thing you can do with this cell is… use Conditional Formatting Options so that if the values are within a range or if the cell contains certain text – we want it to appear a certain way (background color red – text white) or even contain specific icons or color bars.  Really it’s pretty amazing how in-depth you can get with reporting features doing this.  And with all of it – you just click on a value, and spreadsheet updates it on the fly.  Which leaves you more time for whatever details or other information you need to add and still look like a rock star. image

Now – when you’ve finished creating your email artwork of status reporting – or whatever it is you need to template out… you just… click Save As.   The Save As dialog box will appear and you save it as an Outlook Template by selecting that option off the Save As Type drop down.

Now, it will save this by default in your profile.  So if you want to save it for sending it for someone else to use, use Save As and select another location that’s easier to find.

If you’ve done all of this properly – you’ll now have a spiffy template all ready to use over and over again, and not have to fill in all those fields and do all that work all over.   All you’ll need to do is load the template and use it.

 

Step Step Two – Load the Template….

To load the template – just click on “New” in Outlook and scroll down to “Choose Form…” which, imageironically enough will allow you to load a form.  Now there are all kinds of forms that you can pick from – and if you’ve never played imagewith this do so – you can get really creative with forms. 

But for today, we just want the form we’ve created – which is in the “User Templates in File System”.  And you locat that by clicking on the drop down box at the top of the dialog, and then picking the “User Templates in File System” category, which if you’ve done imagethis right… will bring up all the files you have saved that are templates.  If you do it wrong…. it will cause an error and ninja assassins will be dispatched to your home from their secret lair beneath the Google headquarters.  (Okay – I made that up… their lair is actually just south of Portland near a winery that they use as a cover.)

 

Anyway… you want to pick out the form you’ve created.  If you’re using the one I have up as a sample imagehere the name will be “Project Status and Summary”.  So – if that’s what you’re using – click on it so it can load and you can begin being a genius. 

Now when the template loads – you’ll want to fill in all the categories and in one of the screen shots above I’ve given you some clues – but you should modify this to your own liking and add the kinds of things YOU need.

  The one I’m providing is just a starting point for you – in the words of the beloved Ms. Frizzle, “Get Messy!  Make Mistakes!  Learn!”.  And one of the cool things you can learn how to do – is use embedded excel spreadsheets.

 

The table on the form – looks like a table until you click on it … so click on it.  Because it’s really an excel spreadsheet with fun stuff you can update on the fly.  So click away.   But you should know that when when you click on it – it’s going to say something like this:image

so ignore that and click “Yes” because what’s the point of doing all this… if we just click “No” and end it all now?  We know the item that we’re loading and we also know it’s got an excel spreadsheet built into it so we know why they gave us that warning.  We WANT to be able to do cool things with it, so there’s no security issue.    Which should, give you some idea of the real power of a good template – since you can actually do stuff with them that requires an occasional security warning.  image

Now – if you play with this you’re going to note that there are drop down boxes – and there is conditional formatting on those drop down boxes.  So when you enter a task name – and click on the boxes to the right of it…. you can change the values without having to type them in every time.  Just grab one and click it, move on to the next… wash, rinse, repeat until done. 

Here are some examples… of the stuff in them… the first set of drop downs allow you to select from various project status types – imageCompleted, In-Progress and so on … and IF you pick one of them – it will automatically reformat it to the color scheme that corresponds to that type of status.  The next is the degree of completion – which goes from 0%-100% and you get these very cool traffic light colors when you pick those. 

imageBasically, this allows you to focus on filling in the information instead of filling in all kinds of cool formatting, setting up things every time.  As time savers go – this one is definitely a keeper for anyone who has to do reports, news letters or any process that requires you fill in a lot of repeated information, terms, titles and so on.

There’s tons more you can do – this is just the tip of the iceberg, like most of the stuff I do here it’s a starting point for you.  You can find out more about – and lay your hands on literally hundreds of great templates you can customize and make your own at Microsoft Office’s Template Library.  Free templates for almost every Office Product are available here.

You can … of course also snag the template I used as an example from my Skydrive here:


Direct Link:
http://cid-e46e5f5a0e3b5854.skydrive.live.com/self.aspx/Public/Office%20Templates/Project%20Status%20and%20Summary.zip

Until later… have fun… be productive… and someone find out when the next new Venture Brothers Episode is for me? 

Thursday, January 15, 2009

me zero…big bad world one…

Jonathan Coulton … Big Bad World One… seems to be my theme for the week. 

iquit Posted a bit for people that need to make Word (and any other Office document) do cool stuff … provided it’s in XP.  Forgot to mention that if you’re running Vista the UAC will keep it from doing a lot. (Here’s a couple fixes for that… I’ll show VBA code when I have time, in the mean time you can check out the use of the impersonateLoggedOnUser API calls here, here, or here – which I’m looking at since it uses psi and the runas for another project). 

Kids are – well the kids… meaning teenagers and filled with a lot of angst at a world that doesn’t seem to play fair.  Always sucks to be a teen, goes with the territory – think it may even be in the manual.  Which it’d be cool if they gave you a manual when you became a teen, or an adult, or for that matter at any time.  Unfortunately – the fact is there is no instruction manual for life, and if there was it’d probably be written by the same people who do the instruction manuals for IKea and O’Sullivan.

Some days, the best you can hope for is just to know who’s got your back, probably the best bit of advice I ever got from a co-worker Microsoft.  “Always know who’s got your back.”, which applies in warfare, program management, and when you’re 17 and the world seems like a very very unfair place.  If you know someone has your back – it doesn’t change the fact that the world is going to suck some days. 

But when the chips are down… some days the only way to get through is to remember you’re not alone. 

On the work front… well… I’m doing documentation.  I love documentation the way Socarates loved going out for a drink with his coworkers.   With any luck they’ll leave the first aid kit unlocked and I can find something to OD on.  Documentation my arch nemesis is for some bizare reason something people keep having me do for them – and I really do despise it.   I would rather be gutted and left as a meal for hyenas than do documentation. 

It’s not that I’m bad it – I’m actually really good at it – which is why I keep having people ask for it.  These docs are for a process that – isn’t well defined and I’m not allowed to define it, which gives me hives.    Don’t ask me to put my name on your broken process.  Grrrrrr… but… I’ve never walked on a contract… and I won’t on this one either but it is sooo tempting some days.  But I may see to it the author of all my documents is listed as Nathan E. Douglas or Roderick Jaynes

Once again… I’m trapped in a world not of my own making.  Like a pair of pants from Abercrombie and Fitch life just isn’t working for me I’ve lost the receipt.  Which means of course there’s no way to return it and exchange it for another.

Pretty much the best part of the week was seeing Andrew Kramer had an update to his blog – and some very cool presets for AE I’m dying to look at. 

Second update was seein Tommy Z’s newborn pics… you don’t get a heck of a lot cooler than being the son of a DJ with the Initials Z.Z. (Dude… your son’s got two career choices with initials like that – Rock Star or DJ… it’s like a law or something.)

And that’s all my updates for now…

Hang in there people.  The world may have us down but we’re not out… the world may seem big but we’ve got it out numbered one to five billion.   Personally - I can live with those odds.  

Hey - You’re only out numbered if you stop counting. 


And kiddo… You know I will always have your back… .  ;-)

 

I quit, I'm done
Cause I don't think it's gonna turn out okay
It's no fair, it's no fun
If every time it's gonna end the same way:
Me: zero, Big bad world: one

--Jonathan Coulton, Big Bad World One

Monday, January 12, 2009

Word document programming… simplified…

Fixing things for people around the office is often time consuming and frankly problematic.  Sometimes you don’t have administrative privileges on everyone's machine and you also don’t have time to personally go around and fix things. You write a script … but unfortunately the company email system has an apoplectic fit and refuses to send around your script. 

So… you put the script on a share – or your rename it to a zip or some other file name and force everyone to rename it and then run it. 

 

Open your Microsoft Word (I’m using 2007 for this) and let’s get to your Developer tab.  Don’t have a Developer tab??  Here’s how you get one… first  Open Word and click on the Office Button and select imageimageWord Options. Which will open up the Options menu screen – and off the Popular menu you can click on the check box for “Show Developer”  like it shows here.  

Now the cool thing is that if my directions are not that good  - you can find them off the Microsoft web site here… http://office.microsoft.com/en-us/excel/HA101730521033.aspx – so feel free to use them.  But the goal is to get a developers tab – so you can … well … develop.  Now this is a quickie tip so we won’t get too involved but using the Developer tab you’re able to put into a document any VBA command you can think of so you’re not limited.  There is very little you can’t do from programmatically changing things on the document to changing the registry settings. 

Let’s start by typing a short description of what it is the document does, and letting the user know that it is not a standard word document – and even telling the user that they’re going to need to turn on the scripts and macros for the document to make it run. 

It’s important that if you do any scripting on a word, excel or other document you inform the user they are using a document that has macros or scripted capabilities in it.  Sure – you could just have it trigger an event and not warn the user but to do so is very unprofessional and it imposes a level of credibility imagewith the user’s sense of safety and privacy.    So type a short paragraph and tell them what you’re about to do before you do it. 

Buttons or other mechanisms that the user can click on – that provide a kind of tactile feel let the user know this is not a standard document and that by clicking on the button something will happen.

So select a button from the legacy tool tools list – my prefered one is the standard ActiveX control Command Button that we see all the time.  You can find it off the Legacy tools menu imageshown under the ActiveX commands.  Once you’ve set your commandbutton up right – double click on it to reveal the vba code blocks.

I know… I know… this is VBA and VBA supposedly has a reduced instructions and it’s not as good as real code… and blah-blah-blah. 

Yes, a lot of that is very true.  VBA is not as robust as VB.net (although it’s pretty close) and it’s certainly not up to C# and nothing like the degree of power you get from unmanaged code.  But the point of VBA is that the average person can – with a bit of trial and error create pretty much anything they need and for the most part there is very little that you would want to try with a document that you need the power of unmanaged code or even the power of full blown Visual Basic or C#.  But if you wanted to – you very definitely can.  It really all depends on what you need to do, but for this quickie we’re just going to show something simple.

imageSo here’s a button … we’ve double clicked on it to reveal the visual basic editor – which looks like this… and I’ve dropped a little code in there which will open (silently) two command windows run the command “ipconfig /release” and “ipconfig /renew”. 

Now – I’ll do one more thing here, which is to disable the button the user clicks to make sure they only click it once.  Ordinarily I’d drop in some error code to check to see if the code completely properly and so on – you get the idea. 

The code to turn off the button looks like this:

ThisDocument.CommandButton1.Enabled = False

And you want to do that because if you don’t disable the button – then people will keep clicking it because your code may not display any visual indicator that the code was actually executed.  There are literally dozens of ways to provide feed back to the user to give them status and I really recommend you do.  The number of things you can do with a document are amazing.

You can add in there code, functions, anything you really need and now it’s all self contained in a document file that should allow you to send it to people and the only thing they have to do – is enable macros for the document and click on the button. 

 

To enable macros – if someone hasn’t gotten the standard warning asking them to enable them it imagelooks like the one shown here – so you may want to warn people they’re going to see this and to turn it on in any emails you include the document with.  Once again it’s all about trust – and if people start mistrusting your emails then you’ve got a problem.  Make people know that if you do send them something with a macro or code in it … it’s okay by telling them why they got the message. 

You can… of course download the code for this … here… it is of course a “docm” format – meaning that it’s clearly a word document with scripted or programmed (macros even) capabilities.  But I can save this in my groups SharePoint – and even most email programs will allow it to pass to someone since it’’s very openly a macro or scripted object.   Hopefully your company is one of those whose email systems do allow this since it requires the user to manually turn on the document’s macro capabilities.  If yours is one this is a great time saver you can send out to a group to fix issues.

Just my 2 cents and a quickie for the week….

http://cid-e46e5f5a0e3b5854.skydrive.live.com/self.aspx/Public/VBA%20Word%20Document%20Demo/NOTE.docm

 

HEY… Special note… congrats to Tommy Z out there on the birth of his son Zachary Z – many many blessings to you and mom.  He’s a cutie. 

Thursday, January 1, 2009

4D UI = The next big thing in tech for 2009

To everyone out there… Happy New Year and I hope your celebrations were great.  But 2009 is now here and everyone out there wants to know… what’s the next big thing?

One question someone asked me this morning was if I thought this would be the year that 3D interfaces finally took off – what with the Microsoft Surface and the iPhone and a lot of things going tactile. 

Let me say this … as much as I am excited about this technology, and I am.  I really, really am (even though I refuse to buy an iPhone on principals – ask me about it sometime).  Even though I think tactile interface technology is needed, necessary and a great direction… it is not the next big thing to be banking on.

The next big thing (drum roll please) … is going to be 4D technology – not 3D.  3D technology – the iPhone the Surface and so on – right down to holograms and Second Life… is not the deal breaker for 90% of the users out there if they had to pick a feature for any product.  Be it a phone or computer or a software application.  3D tech will not make it on the list except for those people that the only reason they are buying that tech … is that feature.  Those – are not consumers.  Those are sheep.  If you paint a rock and tell them it’s the hottest new thing… they’ll buy it.

The next Big Must Have I’ll Die Without It technology… is in the 4D space.  The temporal user interface space.  It’s okay – you’re allowed to go “Wha??” and look at me as if I lost my mind. 

Let me explain so it makes a bit more sense.  Temporal UI space is about improving the speed and space needs of the user.  It’s about connecting the users needs so it’s there before they have to click and wait – it’s about improving speed, efficiency and making it so they don’t have to expend any of their temporal real estate more than absolutely necessary.

3D is about the physical – 4D goes way beyond that.  4D is about anticipating the users needs before they need them.  4D is about knowing what device the users on – and routing their needs accordingly.  Why do I have to log on to 3 different web sites for the same data?  Why isn’t my computer more of a perfect major domo than a high school drop out receptionist with major insecurity issues and a fear of the phone system?

4D is about collaboration – where the files I work on are accessible to me without having to go through hoops and multiple web sites that I may – or may not – have access to if I’m mobile.  www.mesh.com – is a great example of this, and to a lesser extent google’s office clones and a better extent office.live.com.  (Yes I know sounds like I’m prejudiced – but the fact is anyone who’s used office and office live with the connector will not use google’s toys again.  It is that big of a difference.)

4D is about making all of my work, my life, my files, my play – all available 24x7 when I need them, how I need them.  That’s what improves your temporal real estate.  That’s what makes you more efficient.  That’s what gets you promotions and more time to play.  That’s what people will pay for – thats what major corporations will pay for – and that’s why it’ll be the next big thing.

4D is the next space that not only needs to be conquered – it is the space that the greatest number of users want to have conquered.  All the buzzing vibrating slide your finger tech in the world will not sell like an application that people actually have a need for – that actually saves them time or effort or energy.  Cool gets you in the door.  But what in the year that’s coming if you can’t eat it, sleep in it, or use it to get you where you want to go in life … it’s a niche market. 

Trust me… 4D… it’s gonna be huge! 

Happy New Year.

Drag and Drop richtextbox update…

I almost forgot to mention a little couple details for the previous post…

First off – got an email from Jason who asked about why the code doesn’t work for him.  I took a look at his code implementation and what he’s missing is something I drop in my form load area.  By setting RichTextBox1.AllowDrop to TRUE (in the form load) when the form is loaded and the richtext box control is created, it allows drag and drop operations.  Now I know – I know – by default the richtextbox control is supposed to have the drag and drop automatically set to allow it. 

Now, oddly enough – in my research I’ve found that not all properties dialogs out there (VS2005) for the richtextbox control have the property to set for this in the properties dialog.  I have confirmed – that you can set this in the code as showen below in 2005.  I’m still trying to find out if this is with all richtextbox controls – or if a 3rd party addon or control is what is causing the issue. 

In any case – you can set it programmatically which is what I’ve always done which is why I’m at a bit of a loss as to what the cause of this problem is.  Jason’s confirmed that setting this programmatically worked for him.

Public Class Form1
    Private Sub Form1_Load(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load
        'This call is required by the Windows Form Designer.
      
RichTextBox1.AllowDrop =True
    End Sub

In my rush to send that out this morning I probably should have discussed – or commented the code a bit better.  By default