Welcome to Foxite.COM Community Weblog Sign in | Join | Help



It looks like I've been Tagged as well

Looks like Eric has tagged me, as I have not written any blogs for a while, I have been too busy writing .NET Applications, plus existing FoxPro Apps.

Well I've got to list 5 things about me, well lets start

1. My original goal was to join the Merchant Navy, but at 15 I had to go into Hospital to have both my hips pinned, this then stopped this idea, so I took up IT, and have been with it since.

2. I have driven from Halifax to Hungary five times now, once in a Van (never again.)

3. My First IT job was in ICL Mainframe work, ICL SYS29 and SYS39 (TME and VME environments) this was writing COBOL and FTL6 programs, this was based in Hull.

4. I currently own 3 guitars - 2 Bass (a 4 string and 5 string), 1 Electric Guitar (1969 Explorer Copy - Hand built - not by me)

5. I have been writing in FoxPro now for 21 years, I started in dBase I, and FoxBase, and have used every version of FoxPro on the PC.

Thanks,
Simon.

PS.
I am working on some more Outlook Automation blogs.

posted by srarnold | 0 Comments

Has Outlook 2007 Redeemed itself

Outlook 2007 is now great again for Automation, this is now due to the fact it now uses the Security Centre to check for its settings.

Taken from the Outlook 2007 Beta 2 TR help:-

Prevent this Security Warning from appearing again

Under certain circumstances installing an anti-virus program and keeping it updated regularly might prevent this security warning appearing again the conditions are:

Your anti-virus must be compatible with XP2 Service Pack 2
Your anti-virus software must be updated regularly
Your anti-virus software is configured to share its update status with other applications.

Office Outlook 2007 relies on the Windows Security Centre to check for the presence of the anti-virus software and update its state.

But from the look of all this you still might be able to turn off the security issue using the Trust Center from the Tools Menu in Outlook 2007.

 

 

On inspection of this tab, if you have anti-virus software installed like Norton Antivirus 2007, you will notice you cannot change any settings, I need to try the following, but I believe if no Av software is installed or it is out of date, you should be able to change these settings, and thank you Microsoft for giving us back Outlook Automation without the Security dialog issues.  At the moment, this works nicely in this version, but as we know this is still Beta, but I do hope it will stay when this is released.

posted by srarnold | 0 Comments
Filed Under:

Outlook Automation Part 4 - MailItem Method - finally arrives.

Part 4 – Looking at the MailItem Methods and Events

 

In this part we will investigate the Methods and Events of the mail item object.

 

So let’s dive straight in and look at what Methods we have available to us:

 

Method

Description

ClearConversationIndex

Clears the index of the conversation thread for the mail message or post.

Close (*)

Close the MailItem, also note that there is an Event for this method.

Copy

Allows you to copy the Mail item from one folder to another

Delete

Delete the MailItem

Display

Calling this method will show the Outlook Mail Item dialog

Forward (*)

Executes the Forward Action for a Mail Item

Move

Allows you to move the mail item from one folder to another

PrintOut

The PrintOut method is the only Outlook method that can be used for printing.

Reply

Creates a reply, pre-addressed to the original sender, from the original message. Returns the reply as a MailItem object

ReplyAll

Creates a reply to all original recipients from the original message. Returns the reply as a MailItem object.

Save

Saves the Microsoft Outlook item to the current folder or, if this is a new item, to the Outlook default folder for the item type.

SaveAs

Saves the Microsoft Outlook item to the specified path and in the format of the specified file type. If the file type is not specified, the MSG format (.msg) is used.

Send (*)

Send the mail item

ShowCategoriesDialog

Displays the Show Categories dialog box, which allows you to select categories that correspond to the subject of the item

 

Method: ClearConversationIndex

Not too sure what exactly this does so if anybody could shed some light on this, this would be helpful, thanks.

 

Example:

loMailItem.ClearConversationIndex()

 

Method: Close

Close the current item; pass the appropriate parameter to either ask for save, or just discard without prompting, also you can save without prompting as well.

 

Call: Close(SaveMode)

Where SaveMode =            0 – olSave = ‘Save without prompting’

                                                1 – olDiscard = ‘Discard all changes without prompting’

                                                2 – olPromptForSave = ‘Prompt to Save or discard changes’

 

Example:

LOCAL loOut  AS Outlook.Application

LOCAL loNS   AS Outlook.NameSpace

LOCAL loFold AS Outlook.Folders

LOCAL loMail AS Outlook.MailItem

 

#DEFINE olDiscard          1

#DEFINE olPromptForSave    2

#DEFINE olSave                    0

 

loOut  = CREATEOBJECT('Outlook.Application')

loNS   = loOut.GetNamespace("MAPI")

loMail = loOut.CreateItem(0)      && MailItem

 

loMail.Subject = "Test For Close Method"

loMail.Display()

loMail.Close(olPromptForSave)


 

Method: Copy

Copy the current item to a new object.

 

The example code shows a few of the methods in action, it shows how to use the copy method and the move method; also we call the save to make sure this is saved into the new folder.

 

This example also shows you how to create a new mail folder in outlook using the Folders Collection.

 

Example:

LOCAL loOut  AS Outlook.Application

LOCAL loNS   AS Outlook.NameSpace

LOCAL loFold AS Outlook.MAPIFolder

LOCAL loNew  AS Outlook.MAPIFolder

LOCAL loItem AS Outlook.MailItem

LOCAL loCopy AS Outlook.MailItem

 

 

loOut  = CREATEOBJECT('Outlook.Application')

loNS   = loOut.GetNamespace("MAPI")

loFold = loNS.GetDefaultFolder(6) && Inbox

loNew  = loFold.Folders.Add("Saved Mail",16)    && olFolderDrafts

loItem = loOut.CreateItem(0)      && New Mail Item

loItem.Subject = "Test for Copy into new folder."

loCopy = loItem.Copy()

loCopy.Move(loNew)   && Copy this into the New Folder we created.

loCopy.Save

 

 

Method: Delete

Deletes the current selected object, this could be a mailitem, folder etc.

 

This example assumes you ran the Copy example first and did not manually remove these items from outlook.

 

Example:

LOCAL loOut  AS Outlook.Application

LOCAL loNS   AS Outlook.NameSpace

LOCAL loFold AS Outlook.MAPIFolder

LOCAL loNew  AS Outlook.MAPIFolder

LOCAL loItem AS Outlook.MailItem

 

       loFold = loNS.GetDefaultFolder(6) && New Folder is under Inbox.

loNew  = loFold.Folders("Saved Mail")    && Got Reference to New Folder.

loItem = loNew.Items(1)           && Got the single Mail Item.

lcMsg  = "Delete Message with subject: " + loItem.Subject

IF MESSAGEBOX(lcMsg,36+256,"Delete Mail Message") = 6

              *-- In Outlook 2003, need to have a '=' sign otherwise

              *-- you will get an error saying parameter is not optional.

              =loItem.Delete

              *-- Notice the same method used to remove the folder as well.

              *-- Clean Up - Remove the New Folder.

              =loNew.Delete

ENDIF

 

 


 

Method:                Display

Parameters:            Optional – make window modal

This method allows you display a selected object; this can be a mailitem, contactitem, etc.

Example: Show a Mail Item

                LOCAL loOut  AS Outlook.Application

LOCAL loNS   AS Outlook.NameSpace

LOCAL loFold AS Outlook.MAPIFolder

LOCAL loItem AS Outlook.MailItem

 

loOut  = CREATEOBJECT('Outlook.Application')

loNS   = loOut.GetNamespace("MAPI")

loFold = loNS.GetDefaultFolder(6) && Inbox

loItem = loFold.Items(1)          && Get the first Item

=loItem.Display(.T.)              && Display as Modal Dialog

 

Example: Show the Deleted Items folder

LOCAL loOut  AS Outlook.Application

LOCAL loNS   AS Outlook.NameSpace

LOCAL loFold AS Outlook.MAPIFolder

 

loOut  = CREATEOBJECT('Outlook.Application')

loNS   = loOut.GetNamespace("MAPI")

loFold = loNS.GetDefaultFolder(3) && Deleted Items

loFold.Display                    && Display Outlook with this folder selected.

 

Method: Forward

This method executes a Forward action for the item.

 

Example:

LOCAL loOut  AS Outlook.Application

LOCAL loNS   AS Outlook.NameSpace

LOCAL loFold AS Outlook.MAPIFolder

LOCAL loItem AS OUTLOOK.MailItem

LOCAL loForw AS OUTLOOK.MailItem

 

loOut  = CREATEOBJECT('Outlook.Application')

loNS   = loOut.GetNamespace("MAPI")

loFold = loNS.GetDefaultFolder(6) && InBox

loItem = loFold.Items(1)          && Pick First Item

loForw = loItem.Forward           && Create a new Mailitem from selected.

WITH loForw

       .Recipients.Add("Fred Bloggs") && Will Cause Outlook Security Prompt.

       .Display

ENDWITH

 


 

Method: Move

This method allows you to move items to new folders.

This example will use the Find and FindNext methods to find all message sent by ‘Dan Wilson’ and uses the Move method to move all e-mail messages that where sent by ‘Dan’ to a new folder.

 

Example:

LOCAL loOut   AS Outlook.Application

LOCAL loNS    AS Outlook.NameSpace

LOCAL loFold  AS Outlook.MAPIFolder

LOCAL loItems AS Outlook.Items

LOCAL loItem  AS Outlook.MailItem

LOCAL loNew   AS Outlook.MAPIFolder

 

loOut  = CREATEOBJECT('Outlook.Application')

loNS   = loOut.GetNamespace("MAPI")

loFold = loNS.GetDefaultFolder(6) && InBox

*-- Create a new folder for this example

loNew  = loFold.Folders.Add("Dan Wilson Mail",6)       && Inbox type.

*-- if folder already existed we would use the following code

*-- loNew = loFold.Folders("Dan Wilson Mail")

loItems = loFold.Items

loItem  = loItems.Find("[SenderName] = 'Dan Wilson'")

DO WHILE VARTYPE(loItem) = 'O' AND !ISNULL(loItem)

       =loItem.Move(loNew)

       loItem = loItems.FindNext

ENDDO

 

Method: PrintOut

This method prints the outlook item using the default settings.

 

Example:

LOCAL loOut   AS Outlook.Application

LOCAL loNS    AS Outlook.NameSpace

LOCAL loFold  AS Outlook.MAPIFolder

LOCAL loItem  AS Outlook.MailItem

 

loOut  = CREATEOBJECT('Outlook.Application')

loNS   = loOut.GetNamespace("MAPI")

loFold = loNS.GetDefaultFolder(6) && InBox

loItem = loFold.Items(1)                 && Get First Mail Item

=loItem.PrintOut

 

Method: Reply

This method creates a reply, pre-address to the original sender, from the original message, the object returned is a MailItem object.

 

Example:

LOCAL loOut   AS Outlook.Application

LOCAL loNS    AS Outlook.NameSpace

LOCAL loFold  AS Outlook.MAPIFolder

LOCAL loItem  AS Outlook.MailItem

LOCAL loRepl  AS Outlook.MailItem

 

loOut  = CREATEOBJECT('Outlook.Application')

loNS   = loOut.GetNamespace("MAPI")

loFold = loNS.GetDefaultFolder(6) && InBox

loItem = loFold.Items(1)          && Get First Mail Item

loRepl = loItem.Reply                    && Security Dialog Appears.

 

loRepl.Body = "Replying to this " + CHR(13)+CHR(10) + loRepl.Body

loRepl.Display

 


 

Method: ReplyAll

This method creates a reply to all original recipients from the original message, returns the reply as a MailItem object.

 

Example:

LOCAL loOut   AS Outlook.Application

LOCAL loNS    AS Outlook.NameSpace

LOCAL loFold  AS Outlook.MAPIFolder

LOCAL loItem  AS Outlook.MailItem

LOCAL loRepl  AS Outlook.MailItem

 

loOut  = CREATEOBJECT('Outlook.Application')

loNS   = loOut.GetNamespace("MAPI")

loFold = loNS.GetDefaultFolder(6) && InBox

loItem = loFold.Items(1)          && Get First Mail Item

loRepl = loItem.ReplyAll          && Security Dialog Appears.

 

loRepl.Body = "Replying to this " + CHR(13)+CHR(10) + loRepl.Body

loRepl.Display

 

 

Method: Save

This method saves the Outlook item to the current folder or, if this is a new item, to the Outlook default folder for the item type.

 

Example:

LOCAL loOut   AS Outlook.Application

LOCAL loNS    AS Outlook.NameSpace

LOCAL loItem  AS Outlook.MailItem

 

 

loOut  = CREATEOBJECT('Outlook.Application')

loNS   = loOut.GetNamespace("MAPI")

loItem = loOut.CreateItem(0)      && New Mail Item

 

WITH loItem AS Outlook.MailItem

       .Subject = "Test for Save - should go to drafts folder"

       .Recipients.Add("Fred Bloggs")    && Security Dialog.

       .Save

ENDWITH

 


 

Method: SaveAs

This method saves the Outlook item to the specified path and in the format of the specified file type, if file type is not specified then the MSG format (.msg) is used.

Parameters for this method are: Path, Type

Where Type: is one of the olSaveAsType constants.

Constant

Value

Description

olTXT

0

Text Format

olRTF

1

Rich Text Format - Need Word as Mail Editor

olTemplate

2

Outlook Template

olMSG

3

MSG Format – Default

olDoc

4

Word Format - Need Word as Mail Editor

olHTML

5

HTML Format

olVCard

6

VCard format – Contact Items not MailItems

olVCal

7

VCal format – Calendar Items

olICal

8

ICal format – Calendar Items

olMSGUnicode

9

MSG UniCode format.

Taken from Outlook Help file

Remarks

When you use the SaveAs method to save items to the file system, you receive an “address book” warning message. This includes all types of items, whether or not the items have attachments or active content. This change has been made so that someone cannot programmatically save items to a file and then parse the file to retrieve e-mail address. Also note that even though ‘olDoc’ and ‘olRTF’ is a valid olSaveAsType constants, messages in HTML format cannot be saved in Document format, and the olDoc, olRTF constants work only if Microsoft Word is setup as the default email editor.

 

Example:

LOCAL loOut    AS Outlook.Application

LOCAL loNS     AS Outlook.NameSpace

LOCAL loFold   AS OUTLOOK.MAPIFolder

LOCAL loItem   AS Outlook.MailItem

LOCAL lcName   AS String

LOCAL lcPrompt AS String

 

#DEFINE olTXT 0

 

loOut  = CREATEOBJECT('Outlook.Application')

loNS   = loOut.GetNamespace("MAPI")

loFold = loNS.GetDefaultFolder(6) && Inbox

*-- Work Through the Inbox and save items

FOR EACH loItem IN loFold.Items

       && You may need to remove invalid filename characters

       && from the Subject before saving to file.

       lcName   = loItem.Subject

       lcPrompt = "Are you sure you want to save the item? " + ;

                  "If a file with the same name already exists, " + ;

                  "it will be overwritten with this copy of the file."     

       IF MESSAGEBOX(lcPrompt,36+256,lcName) = 6

              =loItem.SaveAs("C:\Temp\" + lcName + ".txt",olTXT)

       ENDIF

ENDFOR

 


 

Method: Send

This method sends the appointment, meeting item, e-mail message or task item.

 

Example:

LOCAL loOut    AS Outlook.Application

LOCAL loNS     AS Outlook.NameSpace

LOCAL loItem   AS Outlook.MailItem

 

loOut  = CREATEOBJECT('Outlook.Application')

loNS   = loOut.GetNamespace("MAPI")

loItem = loOut.CreateItem(0)      && Mail Item

loItem.Subject = "Test for Send"

loItem.Recipients.Add("Fred Bloggs")     && First Security Dialog

loItem.Recipients.ResolveAll

loItem.Body = "This is a Test Email"

loItem.Send          && Another Security Dialog - Need to Wait for timer.

 

 

Method: ShowCategoriesDialog

This method displays the Show Categories dialog box, which allows you to select categories that correspond to the subject of the item.

 

Exmaple:

LOCAL loOut    AS Outlook.Application

LOCAL loNS     AS Outlook.NameSpace

LOCAL loItem   AS Outlook.MailItem

 

loOut  = CREATEOBJECT('Outlook.Application')

loNS   = loOut.GetNamespace("MAPI")

loItem = loOut.CreateItem(0)      && Mail Item

loItem.Subject = "Test for Categories dialog."

loItem.Recipients.Add("Fred Bloggs")     && Security Dialog

loItem.Display

loItem.ShowCategoriesDialog

 

posted by srarnold | 0 Comments
Filed Under:
Attachment(s): Part2.zip

Longhorn is no more - it is now Vista.

Found this on the Microsoft Site - Longhorn is now going to be Microsoft Vista.

http://www.microsoft.com/windowsvista/default.mspx

 

posted by srarnold | 1 Comments

The Best method of destroying Hard Drives with Sensitive data.

Found this link how to totally destory sensitive material on any Hard Drive.

http://driveslag.eecue.com/articles/index.php?artid=1

Doing it this way, would make it very difficult to restore the data.

 

Simon.

posted by srarnold | 0 Comments

Tracking Undeclared Variables with FoxPro

Well let’s start by showing you how to track those undeclared variables in a FoxPro application, as we all know that we don’t have to declare a variable before use in this wonderful language, but it is good practice to do so.

So today I found the exact use of the ‘_VFP.LanguageOptions’ Property so let me share what I found. Well I new this existed since Version 7 but never investigated its use till today.

I have a small application that is been developed in my spare time, this program is what I will use to locate the undeclared variables on.

So let’s start:

All this is done in the VFP Command window

_VFP.LanguageOptions = 1
SET DEBUGOUT TO C:\Temp\UnDeclared.txt
DO Rebuild.exe
SET DEBUGOUT TO

To let you know, I went through all the options in my application, making sure I opened all the forms within the app, and then clicked the exit button to return back to the VFP command window.

So I opened the Undeclared.txt file and found the following:

LangOptionsErr,29/04/2005 11:18:03,122,CLSINITOOBJECT.GETDATA,PROCEDURE CLSINITOOBJECT.GETDATA INITOOBJ.FXP,LAINIFILE
LangOptionsErr,29/04/2005 11:18:03,168,CLSINITOOBJECT.GETDATA,PROCEDURE CLSINITOOBJECT.GETDATA INITOOBJ.FXP,LCREALNAME
LangOptionsErr,29/04/2005 11:18:03,83,CLSREBUILD.SETENVIRONMENT,PROCEDURE CLSREBUILD.SETENVIRONMENT E:\DEVELOPMENT\VFP\REINDEX\REBUILD.EXE,LADIRS
LangOptionsErr,29/04/2005 11:18:03,5,FRMREBUILD.ADDTOLIST,PROCEDURE FRMREBUILD.ADDTOLIST E:\DEVELOPMENT\VFP\REINDEX\SOURCE\FORMS\FRMREBUILD.SCT,LADIRS
LangOptionsErr,29/04/2005 11:18:07,8,FRMPROPS.BUILDDIRECTORYLIST,PROCEDURE FRMPROPS.BUILDDIRECTORYLIST E:\DEVELOPMENT\VFP\REINDEX\SOURCE\FORMS\FRMPROPS.SCT,LADIRS
LangOptionsErr,29/04/2005 11:18:07,11,FRMPROPS.BUILDDIRECTORYLIST,PROCEDURE FRMPROPS.BUILDDIRECTORYLIST E:\DEVELOPMENT\VFP\REINDEX\SOURCE\FORMS\FRMPROPS.SCT,LADBC
LangOptionsErr,29/04/2005 11:18:07,12,FRMPROPS.BUILDDIRECTORYLIST,PROCEDURE FRMPROPS.BUILDDIRECTORYLIST E:\DEVELOPMENT\VFP\REINDEX\SOURCE\FORMS\FRMPROPS.SCT,LADBF
LangOptionsErr,29/04/2005 11:18:19,5,FRMREBUILD.ADDTOLIST,PROCEDURE FRMREBUILD.ADDTOLIST E:\DEVELOPMENT\VFP\REINDEX\SOURCE\FORMS\FRMREBUILD.SCT,LADIRS

So what does this mean I hear you cry well lets break down the columns:

LangOptionsErr

Specifies the name of the output type for searches and filters

DateTime

Specifies the time stamp when run (= DATETIME( ))

cLineNo

Specifies the line number where error occurred (=LINENO( ))

cProcedure|cMethod

Specifies the name of the procedure or method in which the error occurred ( = PROGRAM( ))

cFileName

Specifies the name of the file in which the error occurred. (=SYS(16( ))

cVarName

Specifies the name of the undeclared variable

So using this information, you can see that in the INIToObj.Prg in the Class GetData Method I have two variables that are not declared with a LOCAL or PUBLIC. These are: laINIFile and lcRealName
Likewise you can see the other forms that have undeclared variables.
Main reason behind these arrays are the fact they are created with the ALINES function, this creates the variables as PRIVATE.

(Taken from VFP Help file)
Declaring variables PRIVATE does not create a variable (unlike declaring variables PUBLIC or LOCAL).
Commands that create variables on the fly, such as SCATTER ... NAME, REPORT ... NAME and others, will generate log entries, because these variables are created as PRIVATE.

 

posted by srarnold | 0 Comments
Filed Under:

How to Add Colour to the Appointment Items in Outlook 2002 and upwards.

This code will not work with previous versions of Outlook as the Label Colour was added in Outlook 2002.

 

LOCAL loOutlook   AS Outlook.Application

LOCAL loNameSpace AS Outlook.NameSpace

LOCAL loAppoint   AS Outlook.AppointmentItem

 

loOutlook   = CREATEOBJECT('Outlook.Application')

loNameSpace = loOutlook.GetNamespace("MAPI")

loNameSpace.Logon

loAppoint   = loOutlook.CreateItem( 1 )     && olAppointmentItem

 

WITH loAppoint AS Outlook.AppointmentItem

    .Subject = "Test for Change of Label Colour"

    .Start   = DATETIME() + (60 * 60)    && Add an Hour.

    .Save      && Need to Save for EntryID, this is then used to change the label.

    =SetAppointmentLabelColour( loAppoint, 6) && 0 = None, 1 to 10

ENDWITH

 

loAppoint   = .NULL.

loNameSpace = .NULL.

loOutlook   = .NULL.

 

 

PROCEDURE SetAppointmentLabelColour( toApp   AS Outlook.AppointmentItem, ;

                                     tnColor AS Integer )

    *-- Original VBA code by Sue Mosher, converted to VFP by S.Arnold.

    *-- Requires CDO 1.21

    LOCAL lcCDOPropSetID1 AS String, lcCDOAppt_Color AS String

    LOCAL loCDO    AS MAPI.Session

    LOCAL loMsg    AS MAPI.Message

    LOCAL loFields AS MAPI.Fields

    LOCAL loField  AS MAPI.Field

    LOCAL lcMsg    AS String

 

    lcCDOPropSetID1  = "0220060000000000C000000000000046"

    lcCDOAppt_Colors = "0x8214"

 

    loCDO = CREATEOBJECT('MAPI.Session')

    loCDO.Logon(,,.F.,.F.)

    IF !EMPTY(toApp.EntryID)

        loMsg    = loCDO.GetMessage(toApp.EntryID,toApp.Parent.StoreID)

        loFields = loMsg.Fields

        loField  = loFields.Item(lcCDOAppt_Colors,lcCDOPropSetID1)

        IF ISNULL(loField)

            && The 3 in the parameters represents vbLong type.

            loField = loFields.Add(lcCDOAppt_Colors,3,tnColor,lcCDOPropSetID1)

        ELSE

            loField.Value = tnColor

        ENDIF

        loMsg.Update(.T.,.T.)

    ELSE

        lcMsg = "You must save the appointment before you add a color label. " + ;

                "Do you want to save the appointment now?"

        IF MESSAGEBOX(lcMsg,36,"Set Appointment Color Label") = 6

            =SetAppColorLabel(toApp,tnColor)

        ENDIF

    ENDIF

    loMsg    = .NULL.

    loFields = .NULL.

    loField  = .NULL.

    loCDO.Logoff

    loCDO = .NULL.

ENDPROC

 

posted by srarnold | 0 Comments
Filed Under:

Perpendicular Recording

What is this I hear you cry, well it looks like the next generation of storing data on a hard drive, from the lovely flash animation and all information that's available, this looks good.

http://www.hitachigst.com/hdd/research/recording_head/pr/index.html

Just like to keep up with the Technology.

 

posted by srarnold | 0 Comments
Filed Under:

Outlook Automation Part 2

This is the Next Part of the Outlook Automation Article, hope you enjoy

Click here for Article

posted by srarnold | 0 Comments

Part 1 of the Outlook Automation Article.

My First Blog article, starting Automation with Microsoft Outlook, I intend to work through the entire Outlook Object Model, this will be long going, but it should be worth it by the end. I also intend to do this in stages, as all at once might be a little too much for me.

So I hope you enjoy.

Click here for the Article

Simon.

posted by srarnold | 2 Comments
Filed Under:

Music I listen to when Developing and Fixing Bugs is......

Well this is an interesting topic, lets see I usually create a Playlist with about a 100 hours of music, this is totally random, and as such selections as Metallic, Floatsam & Jetsam, Pantera, Judas Preist, AC/DC, Dio, Warlock, Helloween, System of a Down, Megadeth, Gamma Ray, Testament, Overkill.
Then we have some lighter tracks such as the music of Ennio Morricone, and the Soundtracks of the Lord of the Rings Trilogy.

Don't know why but these just help me keep going.

posted by srarnold | 4 Comments

Many Thanks goes to Eric

Yet again, as Boudewijn and Andy have said, and I would like to add many thanks to Eric for this facility.

 

posted by srarnold | 1 Comments