Tuesday, May 25, 2010

Outlook: clear task due dates

I really like Outlooks 2007's task list features. However, I have some resistance to being told to do things "TODAY, like RIGHT NOW!!! SEE??? I put the task in RED in your task list!! Now you MUST do it!!"

Yeah, that? Not my favorite part.

So, I wrote a macro to adjust the dates in Outlook, so they don't turn red automatically.




Sub BlankDueDates()
On Error Resume Next
Dim ns As NameSpace
Dim fld As Folder
Dim task As TaskItem
Dim items As Outlook.items
Dim rest As Outlook.items
Dim filterSQL As String
Dim i As Integer
i = 0
Set ns = Application.GetNamespace("MAPI")
Set fld = ns.GetDefaultFolder(olFolderTasks)
Set items = fld.items
Set rest = items.Restrict("[Status] <> 'Completed'")
For Each task In rest
If task.DueDate <> "1/1/4501" Then
task.DueDate = "1/1/4501"
task.Save
End If
i = i + 1
Next

For Each task In rest
If task.Importance <> olImportanceNormal Then
task.Importance = olImportanceNormal
task.Save
End If
Next
MsgBox ("Done")

Set ns = Nothing
Set fld = Nothing
Set task = Nothing
Set items = Nothing
Set rest = Nothing

End Sub

Tuesday, May 18, 2010

Outlook: Cleaning up contacts

I love my BlackBerry.

I hate manually cleaning up after the fact when it snargleblatts itself inside Outlook.

Here's a quick-and-dirty macro I wrote to clean up after it snargleblatted my contact list by adding the string "(Home)" and "(Work)" to the names of some of my contacts without asking.




Sub AdjustContactName()
On Error Resume Next
Dim ns As NameSpace
Dim fld As Folder
Dim contact As ContactItem
Dim items As Outlook.items
Dim i As Integer
i = 0
Dim changeflag As Boolean
changeflag = False

Set ns = Application.GetNamespace("MAPI")
Set fld = ns.GetDefaultFolder(olFolderContacts)
Set items = fld.items
For Each contact In items
If InStr(1, contact.FullName, "(Home)") Then
contact.FullName = Replace(contact.FullName, "(Home)", "")
changeflag = True
i = i + 1
End If

If InStr(1, contact.FullName, "(Work)") Then
contact.FullName = Replace(contact.FullName, "(Work)", "")
changeflag = True
i = i + 1
End If

If InStr(1, contact.FileAs, "(Home),") Then
contact.FileAs = Replace(contact.FileAs, "(Home),", "")
changeflag = True
i = i + 1
End If

If InStr(1, contact.FileAs, "(Work),") Then
contact.FileAs = Replace(contact.FileAs, "(Work),", "")
changeflag = True
i = i + 1
End If

If changeflag Then
contact.Save
changeflag = False
End If
Next

MsgBox ("Done." + vbCrLf + "Counted: " + CStr(i))

Set ns = Nothing
Set fld = Nothing
Set contact = Nothing
Set items = Nothing

End Sub

Tuesday, May 11, 2010

Event Horizons

I believe in communicating graphically and out loud whenever possible. This is not always immediately grasped by those who understand communication as "words". It isn't. One very common example of this are event horizons.

An event horizon is defined by the dictionary as:

event horizon. (n.d.). The American Heritage® Dictionary of the English Language, Fourth Edition. Retrieved from Dictionary.com website: http://dictionary.reference.com/browse/event horizon


When I describe it to people, I tell them it's:
An event that, although the timing is potentially unknown or uncontrollable, will change everything around it.


I use this all the time to share with people how key events are going to impact them, and so I want to share it with you.

In its graphical form, they look like the dotted line here:



It's worth noting that event horizons are vastly different from critical paths. In critical paths, what you're communicating is the sequence of events, their importance to the overall plan, their cost, both relative and absolute, and several other things (can you tell I like that method? )

With an event horizon, what you're doing is communicating grahpically to someone the decisions that will be impacted by something outside of their flow. This isn't very well handled by the traditional critical path, which is a series of linked events. Instead, you have to start thinking graphically. For example, if you add color to your critical path, during the planning phase, that is, before color is used to communicate status, then you can begin to get an idea of how you might approximate this.

For me, the big difference is that the event horizon in and of itself, can be an event generator.

For example:



Since you can't control or sometimes even plan for the things/people/places/events/articles/mishaps/synchronicities that spawn event horizons, you can't fit that event *neatly* into a project plan.

Yes, I know you can fit them in, but I'm saying *neatly*, not "at all". There's a big difference. Event Horizons, as I'm using the term today, are the 1% chance game changers - the 100 year floods, so to speak.

My graphical model is designed to quickly communicate to people how significantly changed the world on the other side of that event looks.

Tuesday, May 4, 2010

Patching a VPC: Revisited

So after installing my VPC, and starting it up to update it, I realized it wasn't getting SQL Server updates.

Here's what I did to fix that:

  1. Click Start >> All Programs
  2. Click Windows Update
  3. In the Windows Update window, there's a link that says "Learn More" or "More Info"... click it
  4. This takes you to a Microsoft Page where you get to make a choice. While the verbage is designed to steer you towards picking their reccommended setting, as I understand it, either choice will upgrade your Windows Update to now include SQL Server.
  5. Click Install, and you should be brought back to the Windows Update window, where it should already have begun a scan of your local drive.
You'll know your update type changed if the section of the window "Most recent check for updates" now says "Never" instead of the date/time it held before.