<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-27547154</id><updated>2011-11-27T19:38:29.826-05:00</updated><title type='text'>Derek Pinkerton's blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dpinkerton.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dpinkerton.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Derek Pinkerton</name><uri>http://www.blogger.com/profile/14217515647091471118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='30' src='http://photos1.blogger.com/blogger/6314/1357/1600/me.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-27547154.post-4926128459172513493</id><published>2009-06-25T23:17:00.002-04:00</published><updated>2009-06-25T23:35:17.614-04:00</updated><title type='text'>Absenteeism</title><content type='html'>Well I know there aren't many people who have even looked at my blog, but for those of you whom have sorry I dropped off the radar for 2 1/2 years. Wow I can't believe it's been that long, and for that matter that blogger never deleted my account! :) On that note, I have decided to delete this account soon, but no worries I have started a new blog that will be hosted on my very own spank'in new website &lt;a href="http://www.derekpinkerton.com"&gt;http://www.derekpinkerton.com&lt;/a&gt;. (Insert lack of creativity joke here.) I'm hoping to start posting a bit more often, than once every 2 1/2 years. A modest goal I know but hopefully one that I can acheive. :) I have copied all posts up to but excluding this one to my new site already.&lt;br /&gt;&lt;br /&gt;For my new website I am planning on more than just a blog, although I'm not quite sure exactly what that means yet. For starters the new site is running an ASP.Net blog engine called BlogEngine.Net (&lt;a href="http://dotnetblogengine.net"&gt;available here&lt;/a&gt;) I have created a customized theme for the site, but haven't had much time to do anything else just yet.&lt;br /&gt;&lt;br /&gt;So again I bid you adieu from this blogger site and hope to see you on the other side.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27547154-4926128459172513493?l=dpinkerton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dpinkerton.blogspot.com/feeds/4926128459172513493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27547154&amp;postID=4926128459172513493' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/4926128459172513493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/4926128459172513493'/><link rel='alternate' type='text/html' href='http://dpinkerton.blogspot.com/2009/06/absenteeism.html' title='Absenteeism'/><author><name>Derek Pinkerton</name><uri>http://www.blogger.com/profile/14217515647091471118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='30' src='http://photos1.blogger.com/blogger/6314/1357/1600/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27547154.post-116500133096514311</id><published>2006-12-01T13:53:00.000-05:00</published><updated>2007-01-17T20:57:09.742-05:00</updated><title type='text'>Excel: my new favorite program :)</title><content type='html'>&lt;p&gt;I have an excel spreadsheet with a custom vba function that will simply return the document property with the name given in the parameter. This function works wonderfully. I can enter it as the formula for a particular cell in the worksheet (such as =DocProperty("MyVariable")) and that cell will now display the value of that document property.&lt;/p&gt;&lt;p&gt;Although this does work as expected the first time the cell's value is calculated it does not automatically update if the document property changes. Excel seems to cache the value of each cell. This makes sense for performance issues however I am using &lt;a href="http://support.microsoft.com/kb/224351/"&gt;DSOFile.dll&lt;/a&gt; to update these document properties from another application (namely &lt;a href="http://www.qualtrax.com/"&gt;Qualtrax&lt;/a&gt;.) With this setup the values are changed when the document is closed and I would like the new values of these variables to be displayed each time the document is opened.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;I have seen similar behavior with "Fields" in Word documents where the displayed value does not correspond to the actual value stored. The solution in Word documents was to add a VBA macro that runs automatically when the document is opened, so I figured I would create a similar macro that would update my Excel documents. I figured something like the following would work: &lt;/p&gt;&lt;br /&gt;&lt;div class="Code"&gt;&lt;pre&gt;&lt;br /&gt;Public Sub Auto_Open()&lt;br /&gt;    Dim ws As Worksheet&lt;br /&gt;   &lt;br /&gt;    For Each ws In ThisWorkbook.Worksheets&lt;br /&gt;        ws.Calculate&lt;br /&gt;    Next ws&lt;br /&gt;End Sub&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;However I wanted to be sure that in the event of a worksheet with a large number of calculated cells I only update the ones that need to be udpated. So I came up with the following code:&lt;/p&gt;&lt;br /&gt;&lt;div class="Code"&gt;&lt;pre&gt;&lt;br /&gt;Public Sub Auto_Open()&lt;br /&gt;' - This macro will refresh any cells where the formula&lt;br /&gt;' - is a call to the DocProperty function&lt;br /&gt;'&lt;br /&gt;    Dim ws As Worksheet&lt;br /&gt;    Dim cell As Range&lt;br /&gt;   &lt;br /&gt;    For Each ws In ThisWorkbook.Worksheets&lt;br /&gt;        For Each cell In ws.UsedRange.Cells&lt;br /&gt;            If InStr(cell.Formula, "DocProperty") &gt; 0 Then&lt;br /&gt;                cell.Calculate&lt;br /&gt;            End If&lt;br /&gt;        Next cell&lt;br /&gt;    Next ws&lt;br /&gt;End Sub&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;Much to my surprise this function did not work. I stepped thorough and discovered that the cell.Calculate call was being made for each cell whose formula was a call to my DocProperty function (shown below), however for some reason Excel is not actually recalculating the value! After a couple hours of torment I found that resetting the formula on the cell will force a recalculate so simply changing cell.Calculate to cell.Formula = cell.Formula fixes the problem and actually makes Excel recalculate the value of that cell. WHY OH WHY does the Range.Caclulate function not actually force a recalculate of a cell whose formula calls a vba function?!?!?&lt;br /&gt;&lt;br /&gt;Complete working code.&lt;/p&gt;&lt;br /&gt;&lt;div class="Code"&gt;&lt;pre&gt;&lt;br /&gt;Public Function DocProperty(property As String) As String&lt;br /&gt;    Dim WB As Workbook&lt;br /&gt;    On Error Resume Next&lt;br /&gt;    If TypeOf Application.Caller Is Range Then&lt;br /&gt;        Set WB = Application.Caller.Parent.Parent&lt;br /&gt;    Else&lt;br /&gt;        Set WB = ActiveWorkbook&lt;br /&gt;    End If&lt;br /&gt;    DocProperty = WB.CustomDocumentProperties(property)&lt;br /&gt;    WB.Saved = True&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;Public Sub Auto_Open()&lt;br /&gt;' - This macro will refresh any cells where the formula&lt;br /&gt;' - is a call to the DocProperty function&lt;br /&gt;'&lt;br /&gt;    Dim ws As Worksheet&lt;br /&gt;    Dim cell As Range&lt;br /&gt;   &lt;br /&gt;    For Each ws In ThisWorkbook.Worksheets&lt;br /&gt;        For Each cell In ws.UsedRange.Cells&lt;br /&gt;            If InStr(cell.Formula, "DocProperty") &gt; 0 Then&lt;br /&gt;                cell.Formula = cell.Formula&lt;br /&gt;            End If&lt;br /&gt;        Next cell&lt;br /&gt;    Next ws&lt;br /&gt;End Sub&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27547154-116500133096514311?l=dpinkerton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dpinkerton.blogspot.com/feeds/116500133096514311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27547154&amp;postID=116500133096514311' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/116500133096514311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/116500133096514311'/><link rel='alternate' type='text/html' href='http://dpinkerton.blogspot.com/2006/12/excel-my-new-favorite-program.html' title='Excel: my new favorite program :)'/><author><name>Derek Pinkerton</name><uri>http://www.blogger.com/profile/14217515647091471118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='30' src='http://photos1.blogger.com/blogger/6314/1357/1600/me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27547154.post-115885137490674778</id><published>2006-09-21T11:00:00.000-04:00</published><updated>2006-09-21T11:09:34.970-04:00</updated><title type='text'>The Wild</title><content type='html'>Disney recently released it's latest animated film "The Wild" on video and DVD. My wife and I decided to rent it last night and watch it with our one and a half year old daughter. Did Disney fire all of their talented writers? This was the worst Disney movie I have ever seen. It was so incredibly boring that I kept thinking to myself "It has to get better." My wife was ready to just turn it off less than half way through. The plot to this awful movie is somewhat similar to the recent movie Madagascar, animals escape from the New York city zoo and go to the wild. The major difference between the two is that Madagascar was actually entertaining. Take it from me, don't waste your time or money on watching this pile of crap.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27547154-115885137490674778?l=dpinkerton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dpinkerton.blogspot.com/feeds/115885137490674778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27547154&amp;postID=115885137490674778' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/115885137490674778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/115885137490674778'/><link rel='alternate' type='text/html' href='http://dpinkerton.blogspot.com/2006/09/wild.html' title='The Wild'/><author><name>Derek Pinkerton</name><uri>http://www.blogger.com/profile/14217515647091471118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='30' src='http://photos1.blogger.com/blogger/6314/1357/1600/me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27547154.post-115557038057066963</id><published>2006-08-14T11:36:00.000-04:00</published><updated>2006-08-14T13:36:09.746-04:00</updated><title type='text'>Pay it Forward</title><content type='html'>Over the weekend my wife, daughter and I went to the annual &lt;a href="http://www.ccs-inc.com"&gt;CCS&lt;/a&gt; company picnic. On our way home we decided to stop by &lt;a href="http://www.brusters.com"&gt;Brusters&lt;/a&gt; for some ice cream. We had never been to a Brusters before (and only knew about it by having driven by the week before) so we had no idea what to expect. I ordered a single scoop of Chocolate Raspberry Truffle and my wife a Peanut Butter Cup Sunday. It was only after the ice cream had been scooped that I realized that there weren't any Visa or Mastercard logos to be seen. Me being someone that does not often carry cash and relies heavily on my debit card I had not even thought to ask if they accepted debit or credit cards. Well just as we were about to have to leave to get some cash one of the other patrons, a nice couple that looked to be in their 30's, offered to pay for us. I was completely amazed, and with a bit of reluctance accepted. They only asked that we "Pay it Forward" when we come across someone else in need. If you are reading this, thanks again, your generosity will not be soon forgotten!&lt;br /&gt;&lt;br /&gt;Oh and in case anyone was wondering the ice cream was delicious! If you are ever in the Southwest Roanoke area I highly recommend stopping by Brusters for a waffle cone!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27547154-115557038057066963?l=dpinkerton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dpinkerton.blogspot.com/feeds/115557038057066963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27547154&amp;postID=115557038057066963' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/115557038057066963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/115557038057066963'/><link rel='alternate' type='text/html' href='http://dpinkerton.blogspot.com/2006/08/pay-it-forward.html' title='Pay it Forward'/><author><name>Derek Pinkerton</name><uri>http://www.blogger.com/profile/14217515647091471118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='30' src='http://photos1.blogger.com/blogger/6314/1357/1600/me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27547154.post-115556739400548501</id><published>2006-08-14T10:53:00.000-04:00</published><updated>2006-08-14T10:56:34.016-04:00</updated><title type='text'>Fundraisers for Ian Herbst</title><content type='html'>The following restaurants have agreed to donate a portion of their sales for a certain night to Ian's campaign--so if you are in the area, let's get the crowds out! Hey--people have to eat anyway, right, so they may as well eat and contribute? Mark your calendars and foward to all your friends!&lt;br /&gt;&lt;br /&gt;Sept 11th Arby's in Radford Charity night&lt;br /&gt;&lt;br /&gt;Sept 21st Chic-fil-a in Christiansburg Charity night&lt;br /&gt;&lt;br /&gt;Oct 24th Texas Roadhouse charity night&lt;br /&gt;&lt;br /&gt;If you would like more information about Ian Herbst please check out &lt;a href="http://www.ianfund.com"&gt;www.ianfund.com&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27547154-115556739400548501?l=dpinkerton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dpinkerton.blogspot.com/feeds/115556739400548501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27547154&amp;postID=115556739400548501' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/115556739400548501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/115556739400548501'/><link rel='alternate' type='text/html' href='http://dpinkerton.blogspot.com/2006/08/fundraisers-for-ian-herbst.html' title='Fundraisers for Ian Herbst'/><author><name>Derek Pinkerton</name><uri>http://www.blogger.com/profile/14217515647091471118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='30' src='http://photos1.blogger.com/blogger/6314/1357/1600/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27547154.post-115409379817016607</id><published>2006-07-28T08:35:00.000-04:00</published><updated>2006-07-28T10:19:53.223-04:00</updated><title type='text'>Formatting QualTrax dates in Word headers and footers</title><content type='html'>When QualTrax inserts dates fields into Word documents the entire date and time is displayed, such as "Monday, July 17, 2006 2:59:44 PM". In some cases you may want to show the short date format instead, such as "7/17/06". Here are some simple instructions on how to format your QualTrax dates in Word documents.&lt;br /&gt;&lt;br /&gt;1) First go to Insert-&amp;gt;Field like you normally would to add a QualTrax field to the document.&lt;br /&gt;2) Select DocProperty and then select the field name that you would like to add such as ##DATE_PUBLISHED##.&lt;br /&gt;3) Now before clicking OK to close this window, click the "Field Codes" button in the lower left corner of the window.&lt;br /&gt;4) You should now see a box titled "Field codes:" that should look like "DOCPROPERTY ##DATE_PUBLISHED##" we will need to add the formatting code to the end of this field. First add " \@ " (without the quotes) which tells word that the rest of the text we add is formatting text. If your formatting text will include any spaces you will need to enclose it with double quotes.&lt;br /&gt;5) Next add one of the following formatting codes to get the desired date format.&lt;br /&gt;&lt;br /&gt;MM/DD/YYYY&amp;nbsp;=&amp;gt; 02/06/1981&lt;br /&gt;M/D/YYYY =&amp;gt; 2/6/1981 &lt;br /&gt;"DDD M/D/YYYY"&amp;nbsp; =&amp;gt; Fri 2/6/1981&lt;br /&gt;"DDDD MMMM D, YYYY" =&amp;gt; Friday February 6, 1981&lt;br /&gt;&lt;br /&gt;Here's some more information on each of the formatting characters and what they mean.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Year&lt;/strong&gt;&lt;br /&gt;Displays a year as two or four digits, depending on how many letters 'y’ you use. The letter ‘y’ can be either uppercase or lowercase.&lt;br /&gt;&lt;br /&gt;&lt;table cellSpacing=0 cellPadding=3 border=1&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align=center vAlign=top width=86&gt;&lt;span&gt;&lt;strong&gt;Parameter&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=397&gt;&lt;strong&gt;Displays&lt;/strong&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=76&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=center vAlign=top width=86&gt;&lt;span&gt;&lt;br&gt;y or yy&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=397 &gt;&lt;div&gt;&lt;br&gt;&lt;span&gt;The year in two digit form, with a leading 0 for years 00 to 09&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=76 &gt;&lt;br&gt;&lt;span&gt;06 or 06&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=center vAlign=top width=86&gt;&lt;br&gt;&lt;span&gt;yyyy&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=397 &gt;&lt;div&gt;&amp;nbsp;&lt;br&gt;&lt;span&gt;the year in four digit form&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;/div&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=76&gt;&lt;br&gt;&lt;span&gt;2006&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Month&lt;/strong&gt;&lt;br /&gt;Displays a month as one or two digits, as a three-letter abbreviation or in full, depending on how many uppercase letters ‘M’ you use (lowercase letters ‘m’ represent minutes).&lt;br /&gt;&lt;br /&gt;&lt;table cellSpacing=0 cellPadding=3 border=1&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align=center vAlign=top width=86&gt;&lt;span&gt;&lt;strong&gt;Parameter&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=397&gt;&lt;strong&gt;Displays&lt;/strong&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=76&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=center vAlign=top width=83&gt;&lt;br&gt;&lt;span&gt;M&lt;/span&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=397&gt;&lt;br&gt;&lt;span&gt;The number of the month as a number without a leading 0 for single-digit months&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=76 &gt;&lt;br&gt;&lt;span&gt;7&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=center vAlign=top width=83&gt;&lt;br&gt;&lt;span&gt;MM&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=397 &gt;&lt;br&gt;&lt;span&gt;the month as a two-digit number with a leading 0 for single-digit months&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=76&gt;&lt;br&gt;&lt;span&gt;07&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=center vAlign=top width=83&gt;&lt;br&gt;&lt;span&gt;MMM&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=397&gt;&lt;br&gt;&lt;span&gt;the month as a three-letter abbreviation&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=76&gt;&lt;br&gt;&lt;span&gt;Jul&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=center vAlign=top width=83&gt;&lt;br&gt;&lt;span&gt;MMMM&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=397&gt;&lt;br&gt;&lt;span&gt;the full name of the month&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=76 &gt;&lt;br&gt;&lt;span&gt;July&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Day&lt;/strong&gt;&lt;br /&gt;Displays a day of the month or the day of the week, depending on how many letters ‘d’ you use. The letter ‘d’ can be either uppercase or lowercase.&lt;br /&gt;&lt;br /&gt;&lt;table cellSpacing=0 cellPadding=3 border=1&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align=center vAlign=top width=86&gt;&lt;span&gt;&lt;strong&gt;Parameter&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=397&gt;&lt;strong&gt;Displays&lt;/strong&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=76&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=center vAlign=top width=83&gt;&lt;br&gt;&lt;span&gt;d&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=397 &gt;&lt;br&gt;&lt;span&gt;The date of the month as a number without a leading 0 for single-digit days&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=76 &gt;&lt;br&gt;&lt;span&gt;27&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=center vAlign=top width=83&gt;&lt;br&gt;&lt;span&gt;dd&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=397 &gt;&lt;br&gt;&lt;span&gt;the date of the month as a number with a leading 0 for single-digit days&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=76 &gt;&lt;br&gt;&lt;span&gt;27&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=center vAlign=top width=83&gt;&lt;br&gt;&lt;span&gt;ddd&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=397 &gt;&lt;br&gt;&lt;span&gt;the day of the week as a three-letter abbreviation&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=76 &gt;&lt;br&gt;&lt;span&gt;Thu&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=center vAlign=top width=83&gt;&lt;br&gt;&lt;span&gt;dddd&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=397 &gt;&lt;br&gt;&lt;span&gt;the full name of the day of the week&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=76 &gt;&lt;br&gt;&lt;span&gt;Thursday&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Hour&lt;/strong&gt;&lt;br /&gt;Displays an hour of the day as one or two digits based on either a 12-hour clock or a 24-hour (military) clock, depending on whether you use an uppercase or lowercase ‘h’. A lowercase ‘h’ bases time on the 12-hour clock. An uppercase ‘H’ bases time on the 24-hour (military) clock. You can also include ‘AM/PM’ in uppercase or lowercase.&lt;br /&gt;&lt;br /&gt;&lt;table cellSpacing=0 cellPadding=3 border=1&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align=center vAlign=top width=86&gt;&lt;span&gt;&lt;strong&gt;Parameter&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=397&gt;&lt;strong&gt;Displays&lt;/strong&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=76&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=center vAlign=top width=86&gt;&lt;br&gt;&lt;span&gt;h or H&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=397 &gt;&lt;br&gt;&lt;span&gt;The hour as a number without a leading 0 for single-digit hours&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=76 &gt;&lt;br&gt;&gt;&lt;span&gt;8 or 8&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=center vAlign=top width=86&gt;&lt;br&gt;&lt;span&gt;hh or HH&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=397 &gt;&lt;br&gt;&lt;span&gt;the hour as a number with a leading 0 for single-digit hours&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=76 &gt;&lt;br&gt;&lt;span&gt;08 or 08&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=center vAlign=top width=86&gt;&lt;br&gt;&lt;span&gt;am/pm&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=397 &gt;&lt;br&gt;&lt;span&gt;‘AM’ or ‘PM’&lt;/span&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=76 &gt;&lt;br&gt;&lt;span&gt;AM&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Note:&lt;/strong&gt; You can change the AM and PM symbols that Word uses by changing the Time settings in the Regional Settings dialog box in the Windows Control Panel. For example, you could use this to force the ‘am/pm’ parameter to display as ‘a.m./p.m.’.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Minute&lt;/strong&gt;&lt;br /&gt;Displays the minute as one or two digits, depending on how many letters ‘m’ you use (uppercase letters ‘M’ represent months).&lt;br /&gt;&lt;br /&gt;&lt;table cellSpacing=0 cellPadding=3 border=1&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align=center vAlign=top width=86&gt;&lt;span&gt;&lt;strong&gt;Parameter&lt;/strong&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=397&gt;&lt;strong&gt;Displays&lt;/strong&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=76&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=center vAlign=top width=86&gt;&lt;br&gt;&lt;span&gt;m&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=397&gt;&lt;span&gt;&lt;br&gt;The minute as a number without a leading 0 for single-digit minutes&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=76 &gt;&lt;br&gt;&lt;span&gt;43&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=center vAlign=top width=86&gt;&lt;br&gt;&lt;span&gt;mm&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=397 &gt;&lt;br&gt;&lt;span&gt;the minute as a number with a leading 0 for single-digit minutes&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=76 &gt;&lt;br&gt;&lt;span&gt;43&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Second&lt;/strong&gt;&lt;br /&gt;Displays the second as one or two digits, depending on how many letters ‘s’ you use. The letter ‘s’ can be either uppercase or lowercase.&lt;br /&gt;&lt;br /&gt;&lt;table cellSpacing=0 cellPadding=3 border=1&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align=center vAlign=top width=86&gt;&lt;span&gt;&lt;strong&gt;Parameter&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=397&gt;&lt;strong&gt;Displays&lt;/strong&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=76&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=center vAlign=top width=86&gt;&lt;br&gt;&lt;span&gt;s&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=397&gt;&lt;br&gt;&lt;span&gt;The second as a number without a leading 0 for single-digit seconds&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=76 &gt;&lt;br&gt;&lt;span&gt;10&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=center vAlign=top width=86&gt;&lt;br&gt;&lt;span&gt;ss&lt;/span&gt;&lt;br&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=397 &gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;span&gt;the second as a number with a leading 0 for single-digit seconds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td align=center vAlign=top width=76 &gt;&lt;br&gt;&lt;span&gt;10&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27547154-115409379817016607?l=dpinkerton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dpinkerton.blogspot.com/feeds/115409379817016607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27547154&amp;postID=115409379817016607' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/115409379817016607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/115409379817016607'/><link rel='alternate' type='text/html' href='http://dpinkerton.blogspot.com/2006/07/formatting-qualtrax-dates-in-word.html' title='Formatting QualTrax dates in Word headers and footers'/><author><name>Derek Pinkerton</name><uri>http://www.blogger.com/profile/14217515647091471118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='30' src='http://photos1.blogger.com/blogger/6314/1357/1600/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27547154.post-115143948146252439</id><published>2006-06-27T16:08:00.000-04:00</published><updated>2006-06-27T16:18:01.496-04:00</updated><title type='text'>QualTrax Training</title><content type='html'>Yesterday we had a customer coming out for a one day training session on QualTrax, this is generally a two day course and is usually given by our Training Coordinator Patsy Clark. Patsy is currently out on vacation so it was up to me to train this person. Although I know the product inside and out I have never given a training session before. Well on my way in to work I got caught up in a mess of traffic on the 460 (Orange Ave.) in Roanoke that was all caused by a small mudslide. VDOT closed one lane which forced traffic to back up for miles. I ended up showing up 45 minutes later than I had planned on, which was only a few minutes later than the customers arrival. Luckily Vicky came to the rescue and started the training session on time in my absence. Thanks Vicky! :) To make matters worse as soon as Vicky left the room and I took over the training, the wireless router we use to connect each of the training computers suddenly stopped working and I had to get our IT Guru Kevin to come fix it. It turned out the power cord broke, but we did have a spare that we were able to use instead. After all this we finally got back into the training and the session seemed to go very well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27547154-115143948146252439?l=dpinkerton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dpinkerton.blogspot.com/feeds/115143948146252439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27547154&amp;postID=115143948146252439' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/115143948146252439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/115143948146252439'/><link rel='alternate' type='text/html' href='http://dpinkerton.blogspot.com/2006/06/qualtrax-training.html' title='QualTrax Training'/><author><name>Derek Pinkerton</name><uri>http://www.blogger.com/profile/14217515647091471118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='30' src='http://photos1.blogger.com/blogger/6314/1357/1600/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27547154.post-114960179677076122</id><published>2006-06-06T09:07:00.000-04:00</published><updated>2006-06-30T14:07:35.893-04:00</updated><title type='text'>Gotta Love Word!</title><content type='html'>Last week I had a customer that wanted to add a calculated field "Effective Date" to his Word documents that would automatically be updated with each revision of the document. This field would be calculated as the published date of the document plus 2 weeks. QualTrax itself will only enter the actual date of an event (such as published) so in order to get a date calculated based upon the published date I had to turn to Word. In researching this I found that there were two ways to do to this. The first method is pretty straight-forward; you simply write a vb macro to get the date published (inserted automatically by QualTrax as a Document Property) add two weeks and store this date into a new Document Property, which can then be accessed in fields in the same way as all other QualTrax variables.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Method 1 (Macro):&lt;/strong&gt; With this method you would add a macro to each document that would calculate the "Effective Date" based upon the Published Date and store it into a new document variable called ##EFFECTIVE_DATE##. This macro would be setup to run automatically each time the document is opened so that you are always viewing up to date information. the problem with this is that if the person to open this document has their Word security setting set to anything higher than low, they will get a warning message asking them to enable/disable the macros. If they decide to disable the macros within the document, the information will not get updated and they may be looking at an old copy of the data. If you have the document converted to PDF using the PDF Module you will not have this problem.&lt;br /&gt;&lt;br /&gt;The steps to implement method 1 are as follows:&lt;br /&gt;1) Open the document in question and go do "File-&gt;Properties" and click on the "Custom" tab.&lt;br /&gt;2) In the "Name" field enter "##EFFECTIVE_DATE##" without the quotes.&lt;br /&gt;3) Select "Date" in the "Type" drop-down list.&lt;br /&gt;4) Enter any date in the "Value" field. It doesn't matter what date you enter as this will automatically be overwritten when the macro runs.&lt;br /&gt;5) Click the "Add" button then click "Ok"&lt;br /&gt;6) Insert the field into the appropriate place in the document using the "Insert-&gt;Field" command like you normally do.&lt;br /&gt;7) Go to "Tools-&gt;Macro-&gt;Macros" if you have already entered the "AutoOpen" macro select it and click Edit, if not type "AutoOpen" into the Macro Name field and click the Create button.&lt;br /&gt;8) Overwrite the auto-generated code with the following:&lt;br /&gt;&lt;br /&gt;&lt;div class="Code" style="HEIGHT: 200px"&gt;&lt;br /&gt;Sub AutoOpen()&lt;br /&gt;Set tmpProps = ActiveDocument.CustomDocumentProperties&lt;br /&gt;dPublishedDate = tmpProps.Item("##DATE_PUBLISHED##").Value&lt;br /&gt;dEffectiveDate = DateAdd("d", 14, dPublishedDate)&lt;br /&gt;tmpProps.Item("##EFFECTIVE_DATE##").Value = dEffectiveDate&lt;br /&gt;&lt;br /&gt;Dim aStory As Range&lt;br /&gt;Dim aField As Field&lt;br /&gt;For Each aStory In ActiveDocument.StoryRanges&lt;br /&gt;For Each aField In aStory.Fields&lt;br /&gt;aField.Update&lt;br /&gt;Next aField&lt;br /&gt;Next aStory&lt;br /&gt;&lt;br /&gt;ActiveDocument.Saved = True&lt;br /&gt;End Sub&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Method 2 (Field Code):&lt;/strong&gt; With this method you would add in a field using the "Insert-&gt;Field" command and put in some custom field codes that will calculate the effective date. This is much more difficult than using the macro because you cannot simply copy and paste the field code into the Word document. Most of it can be copied and pasted however each pair of curly braces {} would have to be entered by pressing ALT+F9 which turns out to be a bit of a pain especially with how long the field codes are.&lt;br /&gt;&lt;br /&gt;&lt;div class="Code" style="height:200px;"&gt;&lt;br /&gt;        &lt;font face="Courier New" size="2"&gt;&lt;strong&gt;{&lt;/strong&gt;QUOTE        &lt;br /&gt;        &lt;strong&gt;{&lt;/strong&gt;SET Delay 14&lt;strong&gt;}&lt;/strong&gt;        &lt;br /&gt;        &lt;strong&gt;{&lt;/strong&gt;SET a&lt;strong&gt;{&lt;/strong&gt;=INT((14-&lt;strong&gt;{&lt;/strong&gt;DOCPROPERTY ##DATE_PUBLISHED## \@ M&lt;strong&gt;}&lt;/strong&gt;)/12)&lt;strong&gt;}}&lt;/strong&gt;       &lt;br /&gt;        &lt;strong&gt;{&lt;/strong&gt;SET b&lt;strong&gt;{&lt;/strong&gt;=&lt;strong&gt;{&lt;/strong&gt;DOCPROPERTY ##DATE_PUBLISHED## \@ yyyy&lt;strong&gt;}&lt;/strong&gt;+4800-a&lt;strong&gt;}}&lt;/strong&gt;       &lt;br /&gt;        &lt;strong&gt;{&lt;/strong&gt;SET c&lt;strong&gt;{&lt;/strong&gt;=&lt;strong&gt;{&lt;/strong&gt;DOCPROPERTY ##DATE_PUBLISHED## \@ M&lt;strong&gt;}&lt;/strong&gt;+12*a-3&lt;strong&gt;}}&lt;/strong&gt;        &lt;br /&gt;        &lt;strong&gt;{&lt;/strong&gt;SET d&lt;strong&gt;{&lt;/strong&gt;DOCPROPERTY ##DATE_PUBLISHED## \@ d&lt;strong&gt;}}&lt;/strong&gt;        &lt;br /&gt;        &lt;strong&gt;{&lt;/strong&gt;SET jd&lt;strong&gt;{&lt;/strong&gt;=d+INT((153*c+2)/5)+365*b+INT(b/4)-INT(b/100)+INT(b/400)-32045+Delay}&lt;strong&gt;}&lt;/strong&gt;        &lt;br /&gt;        &lt;strong&gt;{&lt;/strong&gt;SET e&lt;strong&gt;{&lt;/strong&gt;=INT((4*(jd+32044)+3)/146097)&lt;strong&gt;}}&lt;/strong&gt;       &lt;br /&gt;        &lt;strong&gt;{&lt;/strong&gt;SET f&lt;strong&gt;{&lt;/strong&gt;=jd+32044-INT(146097*e/4)&lt;strong&gt;}}&lt;/strong&gt;        &lt;br /&gt;        &lt;strong&gt;{&lt;/strong&gt;SET g&lt;strong&gt;{&lt;/strong&gt;=INT((4*f+3)/1461)&lt;strong&gt;}}&lt;/strong&gt;        &lt;br /&gt;        &lt;strong&gt;{&lt;/strong&gt;SET h&lt;strong&gt;{&lt;/strong&gt;=f-INT(1461*g/4)&lt;strong&gt;}}&lt;/strong&gt;        &lt;br /&gt;        &lt;strong&gt;{&lt;/strong&gt;SET i&lt;strong&gt;{&lt;/strong&gt;=INT((5*h+2)/153)&lt;strong&gt;}}&lt;/strong&gt;        &lt;br /&gt;        &lt;strong&gt;{&lt;/strong&gt;SET dd&lt;strong&gt;{&lt;/strong&gt;=h-INT((153*i+2)/5)+1&lt;strong&gt;}}&lt;/strong&gt;        &lt;br /&gt;        &lt;strong&gt;{&lt;/strong&gt;SET mm&lt;strong&gt;{&lt;/strong&gt;=i+3-12*INT(i/10)&lt;strong&gt;}}&lt;/strong&gt;        &lt;br /&gt;        &lt;strong&gt;{&lt;/strong&gt;SET yy&lt;strong&gt;{&lt;/strong&gt;=100*e+g-4800+INT(i/10)&lt;strong&gt;}}&lt;/strong&gt;&lt;br /&gt;        &lt;strong&gt;{&lt;/strong&gt;=dd*10^6+mm*10^4+yy \# "00'-'00'-'0000"&lt;strong&gt;}&lt;/strong&gt; \@ "dddd, d MMMM yyyy"&lt;strong&gt;}&lt;/strong&gt;&lt;/font&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;I made each of the curly braces in the above code bold so you can tell them apart easier. Again each of these pairs of curly braces must be entered in Word by pressing ALT+F9 rather than typing them in.&lt;br /&gt;&lt;br /&gt;You would also need to keep in mind that Word 2003 does not automatically update these fields so in order to force an update in this version of Word you would need to add in a macro that would do this.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Although you do have the security warning to worry about, method #1 would be my recommendation. It would be easier to implement and can easily be copied from one document to another.&lt;br /&gt;&lt;br /&gt;*Credit for the Word field codes above goes to Woody's Lounge. See &lt;a href="http://www.wopr.com/cgi-bin/w3t/showthreaded.pl?Cat=&amp;Board=wrd&amp;Number=249902&amp;page=&amp;view=&amp;sb=&amp;o=&amp;vc=1#Post249902"&gt;this forum post&lt;/a&gt; for more information.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27547154-114960179677076122?l=dpinkerton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dpinkerton.blogspot.com/feeds/114960179677076122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27547154&amp;postID=114960179677076122' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/114960179677076122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/114960179677076122'/><link rel='alternate' type='text/html' href='http://dpinkerton.blogspot.com/2006/06/gotta-love-word.html' title='Gotta Love Word!'/><author><name>Derek Pinkerton</name><uri>http://www.blogger.com/profile/14217515647091471118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='30' src='http://photos1.blogger.com/blogger/6314/1357/1600/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27547154.post-114959910723108410</id><published>2006-06-06T08:50:00.000-04:00</published><updated>2006-06-06T09:07:03.906-04:00</updated><title type='text'>Clear Type: Better readability for all!</title><content type='html'>A while back I came across some information about the Clear Type technology that is included in Windows XP, but disabled by default. Clear Type adds lines of resolution to font rendering by working with sub-pixel coloring which makes fonts appear smoother and more readable. According to Microsoft this technology has the biggest impact on LCD displays but can marginally improve some CRT displays as well. I have not turned on clear type font rendering on a computer with an LCD display yet so I have not bed of comparison, but I really love the improvement it has made on my CRT!&lt;br /&gt;&lt;br /&gt;Microsoft has an online tool for turning on and tuning your clear type fonts available at &lt;a href="http://www.microsoft.com/typography/ClearType/tuner/Step1.aspx"&gt;http://www.microsoft.com/typography/ClearType/tuner/Step1.aspx&lt;/a&gt;. They also have a power toy available at &lt;a href="http://www.microsoft.com/typography/ClearTypePowerToy.mspx"&gt;http://www.microsoft.com/typography/ClearTypePowerToy.mspx&lt;/a&gt; which will install itself as a control panel applet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27547154-114959910723108410?l=dpinkerton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dpinkerton.blogspot.com/feeds/114959910723108410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27547154&amp;postID=114959910723108410' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/114959910723108410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/114959910723108410'/><link rel='alternate' type='text/html' href='http://dpinkerton.blogspot.com/2006/06/clear-type-better-readability-for-all.html' title='Clear Type: Better readability for all!'/><author><name>Derek Pinkerton</name><uri>http://www.blogger.com/profile/14217515647091471118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='30' src='http://photos1.blogger.com/blogger/6314/1357/1600/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27547154.post-114901984654252965</id><published>2006-05-30T15:50:00.000-04:00</published><updated>2006-06-01T22:10:51.876-04:00</updated><title type='text'>Floating over an IFRAME</title><content type='html'>In some recent work on the new QualTrax user interface I had to load a document into the main interface using an IFRAME. This worked great using the Response.BinaryWrite that I mentioned in my previous post to dynamically load the correct document to the user's browser. While I was testing this I noticed that a "pop-up" menu I had, which was actually a div whose visibility was set to hidden, and then reset to visible when the user clicks on a certain menu item, was appearing below the document that I loaded into my IFRAME.&lt;br /&gt;&lt;br /&gt;Of course a pop-up loading behind something else isn't very useful so I found the following workaround that allows you to "float" div tags over an iframe.&lt;br /&gt;&lt;br /&gt;Let's say my original source looked something like the following:&lt;br /&gt;&lt;br /&gt;&lt;div class="Code" style="HEIGHT: 100px;"&gt;&amp;lt;div style="position:absolute; left:100px;top 100px; height:400px;"&amp;gt;&lt;br /&gt;   Floating Menu content Here&lt;br /&gt;   &amp;lt;a href="someOtherDoc.htm" target="document"&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;iframe name="document" src="someDocument.htm" Frameborder="0"&amp;gt;&amp;lt;/iframe&amp;gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;If the IFRAME in the above source happened to lie in the same space that the absolute positioned DIV, it would get precedence over the div and display above it. From what I have read on the subject this is because the iframe is a windowed control, which means that the same thing will happen with any other windowed controls like the drop down list. I found a few suggestions online that did not work for me so here is what I came up with that does work (at least it has for me :) )!&lt;br /&gt;&lt;br /&gt;&lt;div class="Code" style="HEIGHT: 150px"&gt;&amp;lt;div style=" position: absolute; left:175px;width:300px; top:105px; height:400px;visibility:hidden; z-index: 10; background-color:White;border:solid 1px Gray;"&amp;gt;&lt;br /&gt;   Floating Menu content Here&lt;br /&gt;   &amp;lt;a href="someOtherDoc.htm" target="document"&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;iframe id="treeHolder" frameborder="0" style="position:absolute;z-index:9;left:174px;width:303px;top:105px;height:402px;filter:alpha(opacity=0);"&amp;gt;&amp;lt;/iframe&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;iframe name="document" src="someDocument.htm" Frameborder="0"  style="z-index:1;"&amp;gt;&amp;lt;/iframe&amp;gt; &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;In the above code I am using another IFRAME that will sit just underneath the "pop-up", and both of these will appear on top of the IFRAME that my actual content is loading into. (Notice the Z-Index of both the div and both iframes.) The "filter:alpha(opacity=0);" style that is applied to the new IFRAME makes it fully transparent so it does not cover the pop-up. We have to do this because if you set it's visibility to hidden, or it's display to none it will not be rendered and therefore the pop-up will still pop under.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27547154-114901984654252965?l=dpinkerton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dpinkerton.blogspot.com/feeds/114901984654252965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27547154&amp;postID=114901984654252965' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/114901984654252965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/114901984654252965'/><link rel='alternate' type='text/html' href='http://dpinkerton.blogspot.com/2006/05/floating-over-iframe.html' title='Floating over an IFRAME'/><author><name>Derek Pinkerton</name><uri>http://www.blogger.com/profile/14217515647091471118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='30' src='http://photos1.blogger.com/blogger/6314/1357/1600/me.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27547154.post-114866855949375891</id><published>2006-05-26T14:17:00.000-04:00</published><updated>2006-05-30T14:15:56.250-04:00</updated><title type='text'>ASP.Net 2.0 Response.BinaryWrite</title><content type='html'>&lt;p&gt;I couple of weeks ago I started getting involved with the User Inteface team on the new version of &lt;a href="http://www.QualTrax.com"&gt;QualTrax&lt;/a&gt;, which is due out later this year. &lt;/p&gt;&lt;p&gt;In order to ensure any documents stored in QualTrax are as secure as possible they will all be stored outside of the web-root. This means that they will not be accessible outside of QualTrax. There will not be a direct URL to go to any document. The documents can be stored anywhere on the server, or on an entirely different server. This also means that we have to come up with some alternative means of sending the file to the user. A common method of doing this in the past would be to copy the document into the web directories, and then remove it after a predetermined amount of time had passed. While this does work, it is not the most secure method available, and it requires you have a service running in the background to clean up these files periodically.&lt;/p&gt;&lt;p&gt;A good alternative for this is to use the ASP.Net Response.WriteBinary method to send your file to the browser. Here is an example of this:&lt;/p&gt;&lt;div style="BORDER-RIGHT: black thin solid; PADDING-RIGHT: 3px; BORDER-TOP: black thin solid; PADDING-LEFT: 3px; FONT-WEIGHT: bolder; FONT-SIZE: 10pt; LEFT: 20px; PADDING-BOTTOM: 3px; MARGIN: 0px; BORDER-LEFT: black thin solid; WIDTH: 400px; COLOR: #ffffff; PADDING-TOP: 3px; BORDER-BOTTOM: black thin solid; FONT-FAMILY: Arial; HEIGHT: 15px; BACKGROUND-COLOR: maroon"&gt;C#&lt;/div&gt;&lt;div style="BORDER-RIGHT: black thin solid; PADDING-RIGHT: 3px; BORDER-TOP: medium none; PADDING-LEFT: 3px; FONT-SIZE: 10pt; LEFT: 20px; PADDING-BOTTOM: 3px; MARGIN: 0px; OVERFLOW: auto; BORDER-LEFT: black thin solid; WIDTH: 400px; DIRECTION: ltr; PADDING-TOP: 3px; BORDER-BOTTOM: black thin solid; FONT-FAMILY: Arial; WHITE-SPACE: nowrap; HEIGHT: 188px; BACKGROUND-COLOR: azure"&gt;Response.Clear();&lt;br /&gt;Response.Buffer = true;&lt;br /&gt;Response.ContentType = @"application/pdf";&lt;br /&gt;System.IO.FileStream myFileStream = new System.IO.FileStream("Filename.PDF", System.IO.FileMode.Open);&lt;br /&gt;long FileSize = myFileStream.Length;&lt;br /&gt;byte[] Buffer = new byte[(int)FileSize];&lt;br /&gt;myFileStream.Read(Buffer, 0, (int)FileSize);&lt;br /&gt;myFileStream.Close();&lt;br /&gt;Response.BinaryWrite(Buffer);&lt;br /&gt;Response.Flush();&lt;br /&gt;Response.End();&lt;/div&gt;&lt;p&gt;This code is in an aspx page that I send in my document ID as the only parameter. So to bring up the document my url would look something like "showdocument.aspx?ID=XXX"&lt;/p&gt;&lt;p&gt;In a perfect world this would work as expected on all browsers, however we all know that this isn't a perfect world so as you might guess I had some problems with it. In particular Internet Explorer (who would have thought) has a problem with this. In researching this problem a co-worker (Vicky Herrala) came across this &lt;a href="http://support.microsoft.com/?kbid=305153"&gt;microsoft knowledgebase article&lt;/a&gt;, which points the blame at a script not returning a "content-length" header. We found that you can add this header by adding the following line to the code above.&lt;/p&gt;&lt;div style="BORDER-RIGHT: black thin solid; PADDING-RIGHT: 3px; BORDER-TOP: black thin solid; PADDING-LEFT: 3px; FONT-SIZE: 10pt; LEFT: 20px; PADDING-BOTTOM: 3px; MARGIN: 0px; OVERFLOW: auto; BORDER-LEFT: black thin solid; WIDTH: 400px; DIRECTION: ltr; PADDING-TOP: 3px; BORDER-BOTTOM: black thin solid; FONT-FAMILY: Arial; HEIGHT: 25px; BACKGROUND-COLOR: azure"&gt;Response.AddHeader("Content-Length", FileSize.ToString());&lt;/div&gt;&lt;p&gt;After adding this line, I tested again only to find that IE still had problems with this. Firefox renders it perfectly. ;) Looking into this further we found an &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/workshop/networking/moniker/overview/appendix_a.asp"&gt;msdn article&lt;/a&gt; that explains how IE decides how it should open the file. According to this article IE should be looking at "The server-supplied MIME type, if available." As you can see in the above snippet, we have specified the content type and yet IE still cannot render this document correctly. The msdn article also mentions that IE will examine the URL in an attempt to determine the content type. In order to fool Internet Explorer into realizing that this is in fact a PDF document I added a dummy parameter to my url that puts in a fake document name with the appropriate extension. My url now looks like "showdocument.aspx?ID=XXX&amp;amp;doc=test.pdf" I fired this up and was presented with my PDF! &lt;/p&gt;&lt;p&gt;I know there has to be a better way to do this so if anyone out there finds a suitable replacement please let me know, but as for now this is working.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27547154-114866855949375891?l=dpinkerton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dpinkerton.blogspot.com/feeds/114866855949375891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27547154&amp;postID=114866855949375891' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/114866855949375891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/114866855949375891'/><link rel='alternate' type='text/html' href='http://dpinkerton.blogspot.com/2006/05/aspnet-20-responsebinarywrite_26.html' title='ASP.Net 2.0 Response.BinaryWrite'/><author><name>Derek Pinkerton</name><uri>http://www.blogger.com/profile/14217515647091471118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='30' src='http://photos1.blogger.com/blogger/6314/1357/1600/me.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27547154.post-114781303449144349</id><published>2006-05-16T16:14:00.000-04:00</published><updated>2006-05-16T20:54:01.973-04:00</updated><title type='text'>Happy Mothers Day</title><content type='html'>This mothers day my wife and I decided to go out to lunch. We got up mid morning and I was getting ready to take a shower. I turned on the water and much to my surprise water started spraying from the wall! That's right straight from the wall not the showerhead! I shut off the water and decided to try tightening the pipe that comes out of the wall that the showerhead is attached to and it broke off in my hand! &lt;br /&gt;&lt;br /&gt;My wife and I got ready using a different shower and went ahead with our lunch plans. After I went to Lowes to buy the new parts and ripped a hole in the wall to repair the pipes. Being the master plumber that I am I asked my brother-in-law, who just recently built a shower, to help me out with welding the new piece in place. He used the torch to remove the old fitting and as he went to put the new fitting on the pipe he dropped it in the wall! Rather than knocking another hole in the wall to get the part out he decided to go pick up a new one. By this time it was 8:30 at night on Sunday and Lowes closes at 7:00, which my brother-in-law found out only after he drove a half hour to get there.&lt;br /&gt;&lt;br /&gt;Monday night I went ahead and repaired the pipe myself and it works great! It took all of about 5 minutes to weld in place. Now all I have to do is patch the hole in the wall.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/6314/1357/1600/100_0955.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/6314/1357/320/100_0955.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27547154-114781303449144349?l=dpinkerton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dpinkerton.blogspot.com/feeds/114781303449144349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27547154&amp;postID=114781303449144349' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/114781303449144349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/114781303449144349'/><link rel='alternate' type='text/html' href='http://dpinkerton.blogspot.com/2006/05/happy-mothers-day.html' title='Happy Mothers Day'/><author><name>Derek Pinkerton</name><uri>http://www.blogger.com/profile/14217515647091471118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='30' src='http://photos1.blogger.com/blogger/6314/1357/1600/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27547154.post-114735297920373511</id><published>2006-05-11T09:06:00.000-04:00</published><updated>2006-05-11T16:19:41.866-04:00</updated><title type='text'>Q-Tip #2</title><content type='html'>&lt;strong&gt;Can I add a link to my toolbar that will open a specific instance of a workflow by entering the workflow ID number?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Yes! To add a "Goto Workflow" link to the left hand toolbar go to Administration-&gt;System-&gt;Toolbars select "Button" from the drop down menu and click the "Add Toolbar Field" button. In the next screen type "Goto Workflow" (or whatever you would like it to say) in the "Caption" box. For the URL copy and paste the following javascript code.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: black thin solid; PADDING-RIGHT: 3px; BORDER-TOP: black thin solid; PADDING-LEFT: 3px; FONT-SIZE: 10pt; LEFT: 20px; PADDING-BOTTOM: 3px; BORDER-LEFT: black thin solid; WIDTH: 400px; DIRECTION: ltr; PADDING-TOP: 3px; BORDER-BOTTOM: black thin solid; FONT-FAMILY: Arial; HEIGHT: 55px; BACKGROUND-COLOR: azure; overflow: auto;"&gt;javascript:void window.open('Default.asp?PageID=30005D00&amp;WorkflowID=' + prompt('Please enter a Workflow ID', '0'), 'Bottom');&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27547154-114735297920373511?l=dpinkerton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dpinkerton.blogspot.com/feeds/114735297920373511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27547154&amp;postID=114735297920373511' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/114735297920373511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/114735297920373511'/><link rel='alternate' type='text/html' href='http://dpinkerton.blogspot.com/2006/05/q-tip-2.html' title='Q-Tip #2'/><author><name>Derek Pinkerton</name><uri>http://www.blogger.com/profile/14217515647091471118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='30' src='http://photos1.blogger.com/blogger/6314/1357/1600/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27547154.post-114685995641583982</id><published>2006-05-05T16:09:00.000-04:00</published><updated>2006-05-05T16:40:22.300-04:00</updated><title type='text'>Q-Tip #1</title><content type='html'>Q-Tip, a term I have my co-worker Vicky Herrala to thank for, stands for QualTrax Tip. This tip was recently featured on a newsletter sent to our customers but I figured I would repost it here for anyone that missed it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;When my users click on a link in an email, QualTrax prompts them to login even if they are already logged in. How do I get QualTrax to recognize that the user is already logged in? &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;When users click on a link from within an email, the link needs to tell QualTrax who to expect to be logged in. If the link does not do this, QualTrax will simply prompt the user to login to continue. The solution for this problem lies in your email actions (Administration-&gt;Email-&gt;Actions.) Any link within an email action that links to something in QualTrax that requires the user to be logged in should have a section that looks like "&amp;PersonnelID=##RECIPIENT_ID##" If the link in your email action does not contain this part, you can simply add it to the end! For example the following link for document approval will prompt for the user to login, whether he or she is logged in or not.&lt;br /&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: black thin solid; PADDING-RIGHT: 3px; BORDER-TOP: black thin solid; PADDING-LEFT: 3px; FONT-SIZE: 10pt; LEFT: 20px; PADDING-BOTTOM: 3px; BORDER-LEFT: black thin solid; WIDTH: 400px; DIRECTION: ltr; PADDING-TOP: 3px; BORDER-BOTTOM: black thin solid; FONT-FAMILY: Arial; HEIGHT: 55px; BACKGROUND-COLOR: azure; overflow: auto;"&gt;##HTTP_PROTOCOL####SERVER##:##HTTP_PORT##/HTTP_QUALITY_REF##/ASP/SYSTEM/EmailAction_DocumentEntry.asp?DocID=##ID##&amp;Action=APPROVE&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;To make the above link recognize that the intended recipient is logged in already, you would change it to:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: black thin solid; PADDING-RIGHT: 3px; BORDER-TOP: black thin solid; PADDING-LEFT: 3px; FONT-SIZE: 10pt; LEFT: 20px; PADDING-BOTTOM: 3px; BORDER-LEFT: black thin solid; WIDTH: 400px; DIRECTION: ltr; PADDING-TOP: 3px; BORDER-BOTTOM: black thin solid; FONT-FAMILY: Arial; HEIGHT: 85px; BACKGROUND-COLOR: azure; overflow: auto;"&gt;##HTTP_PROTOCOL####SERVER##:##HTTP_PORT##/HTTP_QUALITY_REF##/ASP/SYSTEM/EmailAction_DocumentEntry.asp?DocID=##ID##&amp;Action=APPROVE&amp;amp;PersonnelID=##RECIPIENT_ID##&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Make sure you do not add "PersonnelID=##RECIPIENT_ID##" to a link that already has this.NOTE: If you copy and paste the code from the examples above, please be sure to remove any spaces.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27547154-114685995641583982?l=dpinkerton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dpinkerton.blogspot.com/feeds/114685995641583982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27547154&amp;postID=114685995641583982' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/114685995641583982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/114685995641583982'/><link rel='alternate' type='text/html' href='http://dpinkerton.blogspot.com/2006/05/q-tip-1.html' title='Q-Tip #1'/><author><name>Derek Pinkerton</name><uri>http://www.blogger.com/profile/14217515647091471118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='30' src='http://photos1.blogger.com/blogger/6314/1357/1600/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27547154.post-114685955551730201</id><published>2006-05-05T15:41:00.000-04:00</published><updated>2006-05-05T16:05:55.526-04:00</updated><title type='text'>QualTrax Inc.</title><content type='html'>I work at &lt;a href="http://www.qualtrax.com"&gt;QualTrax Inc&lt;/a&gt;, a wholely owned subsidiary of &lt;a href="http://www.ccs-inc.com"&gt;CCS-Inc&lt;/a&gt; (Comprehensive Computer Solutions.) I am a support technician for our flagship product QualTrax. QualTrax is a document and process management software. This product allows you to keep all of your corporate documentation in a secure central location. This software runs as a website, which ensures that your staff will always have access to the current version of any documents that they might need, such as forms and SOP's, as long as they have access to any computer in your organization. There is no special software to install on each client machine!&lt;br /&gt;&lt;br /&gt;From time to time post tips about the use of QualTrax and experiences I have had while supporting QualTrax.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27547154-114685955551730201?l=dpinkerton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dpinkerton.blogspot.com/feeds/114685955551730201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27547154&amp;postID=114685955551730201' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/114685955551730201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/114685955551730201'/><link rel='alternate' type='text/html' href='http://dpinkerton.blogspot.com/2006/05/qualtrax-inc.html' title='QualTrax Inc.'/><author><name>Derek Pinkerton</name><uri>http://www.blogger.com/profile/14217515647091471118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='30' src='http://photos1.blogger.com/blogger/6314/1357/1600/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27547154.post-114677483128724388</id><published>2006-05-04T16:28:00.000-04:00</published><updated>2006-05-04T16:33:51.293-04:00</updated><title type='text'>Pandora</title><content type='html'>&lt;span style="color: rgb(0, 0, 153);"&gt;Today I discovered &lt;/span&gt;&lt;a style="color: rgb(0, 0, 153);" href="http://www.pandora.com"&gt;www.pandora.com&lt;/a&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;. It's a neat website that plays internet radio. The difference between Pandora.com and other internet radio sites is that it attempts to play music that you will like.  It will ask you for a song/artist that you like, then based on the rhythm, beat, vocals and other aspects it starts playing music that it thinks you will like. You can then help it learn your taste by telling it whether you liked the song or not. I've been listening to it all afternoon and so far I love it!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27547154-114677483128724388?l=dpinkerton.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dpinkerton.blogspot.com/feeds/114677483128724388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27547154&amp;postID=114677483128724388' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/114677483128724388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27547154/posts/default/114677483128724388'/><link rel='alternate' type='text/html' href='http://dpinkerton.blogspot.com/2006/05/pandora.html' title='Pandora'/><author><name>Derek Pinkerton</name><uri>http://www.blogger.com/profile/14217515647091471118</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='30' src='http://photos1.blogger.com/blogger/6314/1357/1600/me.jpg'/></author><thr:total>1</thr:total></entry></feed>
