BPSoftware.com
Home   Utilities   Purchase   FAQ   Support   Contact        
Shareware Utilities
 APrintDirect
 AIconExtract
 AFile Attribute Manager
Freeware Utilities
 AddrMon
 AFileSync
 ASysIcon
 B&P Table Utilities
 BPACLer
 BPSNMPMon
 BPSNMPUtil
 CharCount
 Delphi® Components
 MacAddr
Miscellaneous
 BPSoftware Blog
 Purchase Shareware
 Support

 


Tuesday, November 18, 2008
Show Desktop in my QuickLaunch Toolbar?

It was there before; now it's not.

Where is it?

How do I get it back?

Where is the Show Desktop shortcut on my Quick Launch toolbar?

The Quick Launch toolbar is a great place to place shortcuts to frequently used applications. One of my must have shortcuts, is the Show Desktop shortcut. This shortcut quickly minimizes all open applications leaving a clear view of the desktop. The Show Desktop shortcut is generally available by default in the Quick Launch toolbar, however, what if it gets removed or it is no longer there?

Adding the Show Desktop shortcut back is easier than you think.

1. Open Notepad and enter the following text:
[Shell]
Command=2
IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop

2. Save the file in the Microsoft\Internet Explorer\Quick Launch folder that is found in your profile's Application Data directory.



3. Save the file as: Show Desktop.scf




Now it is back again!!

Labels: ,

posted by Brad Prendergast at 8:41:00 PM (5 comments)
Links to this post
Permalink
Sunday, November 16, 2008
Command Line: Visual Source Safe

I have long used Microsoft® Visual SourceSafe® (VSS) for source code management and control. There are many ways to manage and control code through VSS. Visual SourceSafe® integrates nicely with Visual Studio, allowing for source control from directly within the integrated development environment (IDE). VSS also has its own front end application, which can be used as a stand alone application. There is also a command line application (ss.exe) that can be used to manage a SourceSafe database. If neither of the fore mentioned options are suitable, there is also an API that a developer can access to write their own source control front end to VSS.

The frontend application and Visual Studio integration I have generally found to be sufficient to manage a SourceSafe database, however there are a few tasks that I have found work best managed through the command line.

In order to used ss.exe you first must set the source safe directory (the SSDIR environment variable). When setting the SSDIR you must specify the path to the SourceSafe database in 8.3 format. For example:
Set the SourceSafe directory
set SSDIR=C:\DOCUME~1\BRAD\MYDOCU~1\VISUAL~2\BDS
set SSDIR=C:\PROGRA~1\MI53B4~1\SOURCE~1

Once you have the SSDIR set, you may need to work within a specific project.
Get a list of projects
"C:\Program Files\Microsoft Visual SourceSafe\ss.exe" dir
Set the current project
"C:\Program Files\Microsoft Visual SourceSafe\ss.exe" CP $/

Some useful tasks that are not easily acieved without the use od ss.exe:
Get a list of files to be purged
"C:\Program Files\Microsoft Visual SourceSafe\ss.exe" dir -d -r
Purge all files recursively
"C:\Program Files\Microsoft Visual SourceSafe\ss.exe" purge * -r
Move a project from one location to another
"C:\Program Files\Microsoft Visual SourceSafe\ss.exe" move $QualitySales $TZI
"C:\Program Files\Microsoft Visual SourceSafe\ss.exe" move $/VB.NET/TZI/qualitysales VB.NET/QualitySales

Labels: ,

posted by Brad Prendergast at 4:22:00 PM (0 comments)
Links to this post
Permalink
Monday, July 28, 2008
My Shared RSS Items

I have long been a fan and user of RSS feeds. I have been using Google™ Reader for quite some time. Besides allowing web and mobile access to your feeds, Google™ Reader also allows you to share feed items that you find interesting. Here is a live list of the RSS feed items that I have marked as ‘Shared’:


Labels: , ,

posted by Brad Prendergast at 8:41:00 PM (0 comments)
Links to this post
Permalink
Sunday, July 27, 2008
Edit those XML files

Wow! It has been a while since my last post. It doesn’t feel like it has been that long. Things have been both hectic and busy (to say the least). I am going to try and make it a point to post more often (again).


Over the past few months I have had the need to maintain a number of different XML files. Along with storing application settings and configurations, XML files are also great for database data transfer. XML files are simple and easy to use and they are even easier if you have the right tools. One such tool, that I use frequently is XML Notepad 2007. XML Notepad 2007 is a simple application that allows for the editing of XML documents. It has a drag and drop interface that is fairly intuitive. If you find yourself managing XML files add this free application to your tool library.

Labels: , , ,

posted by Brad Prendergast at 4:14:00 PM (1 comments)
Links to this post
Permalink
Sunday, September 30, 2007
Compact that Virtual PC

I have long been a fan of Virtualization. Ever since the early days of Virtual PC, I have been spinning off virtual machines to test and install software applications and code. It has even gotten to the point where I do very little on my host machine. I even do most of my web browsing within a Virtual PC (you can't always be certain what sites will do to your host machine). The flexibility of being able to install, test and uninstall applications without affecting the host offers many benefits. There is also a bonus with the Undo Disk option within Virtual PC. With an Undo Disk you can start up a Virtual PC and do “your thing” and then have the option of committing or deleting the session changes upon shut down. Take the benefits of virtualization and the fact that Microsoft Virtual PC 2007 is free and it is no wonder why Virtualization is now mainstream.

One thing that I had noticed using Virtual PCs is the disk size of the virtual hard disks. The virtual hard disks can be of fixed or variable size. If you opt for a variable sized hard disk, the disk will grow as you use it. The installation of application, copying of files and general processing use will cause the amount of space the virtual disk uses on the host machine to grow. As files are removed, applications are uninstalled and processing decreases I noticed that the virtual hard disk size doesn't decrease. In the help file there is a section that explains how to "Compact a virtual hard disk". The steps are pretty straight forward as they explain how to use the Virtual Disk Compaction option through the Virtual Disk Wizard. I did this on a number of virtual hard disks and really wasn't impressed with the results. To be honest, I didn't notice any change in the size of the virtual hard disk after running this process.

After a little confusion I noticed one important note that is in the help file, "Before compacting the disk, we recommend that you use a disk utility to zero out blank space, which should result in a smaller compacted virtual hard disk". After I thought about it, it did make a lot of sense. Now, where do I get one of these little utilities?

In the Virtual Machine Additions folder (under the Microsoft Virtual PC program folder) there is a Virtual Disk Precompactor.iso file (I found the "Using Virtual Disk Precompactor" section of the help file afterwards). It didn’t take much for me to figure out that this utility probably should be used prior to compacting a Virtual Hard Disk. It was a simple enough test; after all I was only trying it within a virtual PC. If you capture this iso file from within the Virtual PC and autoplay it, this utility will "prepare the virtual hard disk for compacting". After you run this utility, close down the Virutal PC and follow the steps for compacting a virtual hard disk found in the help file (you'll need to commit the changes if you are using an Undo disk). Take a look at the size of your vhd's before and after, the difference will be shocking. I know I reclaimed many many gigabytes of space on my hard disk.

Another great feature that is worth looking into is a Differencing disk….

Labels: , ,

posted by Brad Prendergast at 8:53:00 AM (3 comments)
Links to this post
Permalink
Sunday, January 21, 2007
PPCTL.DLL is damaged and could not be repaired.

Well, it was that time again for my good old Anti-Virus & Anti-Spyware software subscription to expire. Having used the same product for a while, I wanted something that had a low impact and wasn't so invasive to my system. The more and more hardware machines come with, it seems the more and more resources these Anti- programs want to take use. Having decent experience with earlier versions CA's ETrust software I decided to grab the three pack of CA Internet Security Suite. To make a long story short, I ended up having problems installing and running the Anti-Spyware piece of the Suite (a while back CA purchased PestPatrol). Only one out of the three machines I installed the software on went in without any issues. For the two that did give me some grief, fortunately it was the same problem. On these machines I received a message indicating that 'ppctl.dll is damaged and could not be repaired'. This error was displayed during installation and attempted operation of the software. I searched the 'Net' to see if I could dig anything up on this error. No such luck. I then went off on my own little investigation. By default, the ppctl.dll is installed in two locations; the C:\Program Files\CA\CA Internet Security Suite\CA Anti-Spyware and C:\Program Files\Common Files\Scanner folders. My first step was to verify the permissions that were set on these folders; to ensure that the Administrators Group and SYSTEM Account had full control over these folders. After this was verified (ie changed) I was hoping to be out of the woods-- well I wasn't. After digging a bit further I noticed there is also registry key (HKLM\SOFTWARE\Classes\ppctl) that references the ppctl.dll. Just as I had the folders I verified the permissions on the registry key. In reviewing the permissions I noticed the Administrators Group and SYSTEM Account had Read-Only access to the key. Getting creative I decided to give both accounts Full-Control to the registry key. Once I granted full control to the Administrators Group and the SYSTEM account on the HKLM\SOFTWARE\Classes\ppctl registry key all my headaches went away.

Labels: ,

posted by Brad Prendergast at 6:17:00 PM (18 comments)
Links to this post
Permalink
Friday, January 19, 2007
Google Mobile SMS

Having recently picked up a new phone and turning on unlimited SMS, I have a new fascination with 'texting'. SMS has been around for a while, but I never really got into it. After using it for a while it is difficult to imagine being without IM while 'out and about'. If you need to get a quick 'ping' texting often is a bit easier and quicker than a phone conversation. Another cool SMS tool I came across is Google Mobile SMS. This is a neat little way to get weather, directions, phone numbers and other results while you are away from your computer.

Labels: , ,

posted by Brad Prendergast at 10:02:00 PM (0 comments)
Links to this post
Permalink
Monday, January 01, 2007
Running a .NET Framework application from a network location

If you're anything like me, when deploying certain applications in a corporate environment you like to run your applications from a network resource. This often allows for the easy application maintenance of updates and changes. When deploying a dotNET application it isn't always as easy as placing a shortcut on the workstation or running the application from a network drive. With the additional security found in the .NET Framework it is often necessary to configure your application to run from a network location. This MSDN article explains how. The Grant permission to the application section is the part of interest.

Labels: , ,

posted by Brad Prendergast at 11:47:00 AM (1 comments)
Links to this post
Permalink
Friday, September 01, 2006
Virtualization is cool

I have posted a few times on virtualization software. It is really a great way to perform application and configuration testing. Microsoft Virtual Server 2005 R2 is available for free (at this point) also.

Labels: , ,

posted by Brad Prendergast at 6:44:00 AM (3 comments)
Links to this post
Permalink
Monday, August 28, 2006
Live Writer Test

Well, I figured I'd give it a shot. After reading about it a bit I decided to see how Windows Live Writer worked for publishing this blog. This is my first (and only so far) post and the look and feel is pretty 'simple'. Let see how it does with pictures:

That seems pretty painless, how about some code:

procedure TForm1.acAboutExecute(Sender: TObject);
var
frmAbout: TAboutBox;
begin
frmAbout:= TAboutBox.Create(nil);
try
frmAbout.Image1.Picture.Graphic:= Application.Icon;
frmAbout.ProductName.Caption:= StrAppName;
frmAbout.Copyright.Caption:= Format (frmAbout.Copyright.Caption, [StrCopyright]);
frmAbout.Position:= poOwnerFormCenter;
frmAbout.ShowModal;
finally
FreeAndNil(frmAbout);
end;
end;

Now, we'll publish this and see how it looks.

Labels: , ,

posted by Brad Prendergast at 8:00:00 PM (1 comments)
Links to this post
Permalink
Monday, July 24, 2006
A bit, byte and word

Where the title came from, I have no idea. It is amazing what you find when you go through old text files.

33222222222211111111110000000000
10987654321098765432109876543210
--------------------------------

10000000000000000000000000000000 2147483648 $80000000
-1000000000000000000000000000000 1073741824 $40000000
--100000000000000000000000000000 -536870912 $20000000
---10000000000000000000000000000 -268435456 $10000000
----1000000000000000000000000000 -134217728 $08000000
-----100000000000000000000000000 --67108864 $04000000
------10000000000000000000000000 --33554432 $02000000
-------1000000000000000000000000 --16777216 $01000000
--------100000000000000000000000 ---8388608 $00800000
---------10000000000000000000000 ---4194304 $00400000
----------1000000000000000000000 ---2097152 $00200000
-----------100000000000000000000 ---1048576 $00100000
------------10000000000000000000 ----524288 $00080000
-------------1000000000000000000 ----262144 $00040000
--------------100000000000000000 ----131072 $00020000
---------------10000000000000000 -----65536 $00010000
----------------1000000000000000 -----32768 $00008000
-----------------100000000000000 -----16384 $00004000
------------------10000000000000 ------8192 $00002000
-------------------1000000000000 ------4096 $00001000
--------------------100000000000 ------2048 $00000800
---------------------10000000000 ------1024 $00000400
----------------------1000000000 -------512 $00000200
-----------------------100000000 -------256 $00000100
------------------------10000000 -------128 $00000080
-------------------------1000000 --------64 $00000040
--------------------------100000 --------32 $00000020
---------------------------10000 --------16 $00000010
----------------------------1000 ---------8 $00000008
-----------------------------100 ---------4 $00000004
------------------------------10 ---------2 $00000002
-------------------------------1 ---------1 $00000001

Labels: , ,

posted by Brad Prendergast at 7:38:00 AM (1 comments)
Links to this post
Permalink
Thursday, July 13, 2006
Virtual PC Is Now Free!

I have been touting Virtual PC for some time. Microsoft is now offering Virtual PC for free. VMWare Server is also available for free (along with some other products). Virtualization makes a lot of things so much easier and also eliminates the need for all those computers lying around.

Labels: , ,

posted by Brad Prendergast at 9:14:00 PM (1 comments)
Links to this post
Permalink
Saturday, May 27, 2006
Custom Word Fields

The use of Field information in Microsoft® Word allows for easier maintenance of your documents. Using fields, you can include references to document property information within your document. This avoids the need to update changing property information that is referenced within a document (title, author, etc...). Using fields with templates makes format standardization a bit more exciting. Besides the standard fields, you can also reference your custom document properties. Personally, I often reference custom document revision information.


To reference custom properties in your document you first need to set them up. In my case, I use MAJ_REV and MIN_REV, both of these are of type Number. In your Word document move the cursor to the location where you would like to insert your custom property and press CTRL+F9. This will insert a Word field denoted by brackets (note that you cannot type these in yourself, you must press CTRL+F9 to indicate it is a field). Between the brackets type DOCPROPERTY followed by the property name you would like to reference. While the cursor is still on the field, press F9 to update it and there you go….

Labels: , , ,

posted by Brad Prendergast at 8:09:00 AM (0 comments)
Links to this post
Permalink
Sunday, May 21, 2006
LINQ CTP (May 2006)

Microsoft® has an informative Language-Integrated Query (LINQ) Community Technology Preview available for download here.

Labels: ,

posted by Brad Prendergast at 5:21:00 AM (0 comments)
Links to this post
Permalink
Thursday, May 18, 2006
Event Log (Part 1)

A few months back I made a couple of posts (Part 1, Part 2) regarding Microsoft’s LogParser. Since that time I have been getting my fair share of use from it. Recently, I had the need to analyze the Event Logs on a number of machines. There is the EventLog Snap-In for MMC; however this really doesn’t allow you to do more than basic viewing or broad filtering of events. (One thing I will give it is that it allows for the connection to the event logs on remote machines. Admittedly, I do have a saved console with about 5 or so machines that I browse through the logs of often.) Once again this Free Gem came to my rescue. One of the input sources of LogParser is the EventLog (EVT) Input Format. With LogParser you can select EventLog data (using a SQL like syntax) from a local or remote EventLog and output it to one of LogParser’s output format.

The EVT fields available for selection are EventLog, RecordNumber, TimeGenerated, TimeWritten, EventID, EventType, EventTypeName, EventCategory, EventCategoryName, SourceName, Strings, ComputerName, SID, Message and Data.

With these fields a number of data extractions can be put together rather quickly. Here are a couple of basic ones (The charts are the actual charts created by LogParser):

logparser -o:DATAGRID "SELECT EventTypeName, EventCategoryName, TimeGenerated, SourceName, ComputerName FROM Application"

logparser -O:CHART -chartType:Column3D -chartTitle:"Count of Events" -values:ON -legend:OFF "SELECT TOP 20 SourceName, COUNT(SourceName) AS Count_Events INTO Events.gif FROM Application GROUP BY SourceName ORDER BY SourceName"

logparser -o:DATAGRID "SELECT EventTypeName, EventCategoryName, TimeGenerated, SourceName, ComputerName FROM \\COMPUTERNAME\Security"

logparser -o:DATAGRID "SELECT EventType, EventTypeName, EventCategoryName, Count(EventTypeName) AS Entries FROM Security GROUP BY EventType,EventTypeName,EventCategoryName"

logparser -o:CHART -chartType:Pie3D -chartTitle:"Event Categories" -values:ON -legend:ON "SELECT EventCategoryName, Count(EventTypeName) AS Entries INTO EVENT.GIF FROM Security GROUP BY EventCategoryName"


I have found the LogParser help file quite useful. There are plenty of examples, of which one explains how to do percentages.

I have also created an app using the EventLog Class that allows me to work with logs. This was my maiden voyage with this class and hopefully I’ll post on my experience shortly. I also hope to tighten it up for a more ‘universal use’ and post it for download.

Labels: , ,

posted by Brad Prendergast at 7:55:00 PM (0 comments)
Links to this post
Permalink
Wednesday, May 17, 2006
It is the Concept that Counts

The other day I had probably one of the better conversations I’ve had in a long time. The topic of the conversation was software development. This is one topic I could talk about non-stop and it also tends to bring out the conversationalist in me. The dialog was a friendly exchange was with a software developer that works primarily with development environments different from the ones I use (The opportunity to broaden horizons and discuss another viewpoint is one that I will rarely pass up).

In an effort to keep this short, the gist of the conversation focused on the concept that learning/understanding a development language (syntax) is similar to learning/understanding spoken language. This is a concept that I feel strongly about and fortunately, the other participant of the conversation felt as strongly as I do, leading to a very pleasant, yet intense conversation. Although it is possible, one does not typically memorize spoken language, rather they understand it, live it and feel it to a point where it becomes completely natural. Having an understanding of the concept of nouns, verbs and adjectives and the underlying knowledge of expression (a natural understanding of why and what to express) allows for the fluid ad hoc building of sentences and dialog. The ability to broaden one’s vocabulary also becomes easier. Memorizing what to say would result in a painfully drab and yet often out of place conversation.

Everyone has a ‘native tongue’, however the understanding and feeling of the basic concept of how to express oneself in certain situations allows for the cross-over of expression in other languages. Again, understanding (almost naturally) the concept of what to say allows one to figure how to translate that into another language for communication and expression of the concept. After all, most languages are similarly related and tend to result in the communication of expression. This same concept can be easily applied to software development environments/languages. Having a baseline conceptual (logical) understanding of what one is looking to achieve and how it all works is the foundation of developing an application; achieving a desired result, that can be built upon. With the understanding of the overall concept of what needs to be done (logically), a developer can generally search out the concept and find away to express that in another development language, whether it is Delphi®, Visual Basic, C, ASP, T/SQL, P/L SQL or whatever. After all, a development language is just that, isn’t it?

Well, enough of my rambling (I hope this makes enough sense to get some point across) for today I am off to play with some .NET EventLog stuff.

Labels: ,

posted by Brad Prendergast at 6:38:00 AM (0 comments)
Links to this post
Permalink
Friday, April 14, 2006
In time for Easter

I've always liked those corny 'Easter Eggs'. In fine fashion some posts just can't go unreferenced. Take bring them back home! for example.

Labels: , ,

posted by Brad Prendergast at 7:26:00 AM (0 comments)
Links to this post
Permalink
Tuesday, April 04, 2006
Managing my Newsgroups

I’ve been participating in newsgroups for many years. Newsgroups are a great way for members of a community to share and discuss information. Part of my daily ritual includes the reading/posting new messages on groups that I monitor. I used to use the Outlook Express newsreader to manage the newsgroups that I subscribe to.

One of the major issues that I had with monitoring newsgroups was that depending on where I am and what I am doing I could be checking these newsgroups from one of four separate computers. Using Outlook Express, any post that was created after the last time I had checked the newsgroups on a particular computer showed up as a new message, regardless if they were read by me on another computer. This nuisance created the need to find a newsreader that would allow me to check newsgroups from separate computers without causing read messages to show up as new if I had already read them regardless of which computer was used. After poking around I decided to give Colin Wilson’s XanaNews a shot (I currently use XanaNews and I am extremely pleased with it and I would recommend it as a newsreader). A number of things drew me to this program one of the major things is that it was written with Delphi®.

XanaNews doesn’t have any ‘written’ or ‘published’ instructions for using it on a removable storage device; however after some poking I did find all of the settings are stored in the HKEY_CURRENT_USER\Software\Woozle registry key. One of the options available in the registry and XanaNews configuration is the “Messagebase Directory”. The Messagebase Directory is where the XanaNews message files are stored. I had mentioned before that I use my 1 GB SanDisk to store all my portable files. After some experimentation I found that if I set up XanaNews with all of my preferred settings on a computer that I could export the HKEY_CURRENT_USER\Software\Woozle registry key and import it into another computer and have all the same settings. The only thing that needs to be adjusted is the location of the message base directory, depending on which drive the USB Flash Drive is assigned. This allows me to manage newsgroup messages (both on and offline) from many computers without duplicating efforts. In the XanaNews directory on my flash drive I have the message base directory program executable and my exported registry file (that I update as needed).

The only thing on my XanaNews wish-list is the option to allow for user settings to be stored to a disk file (ini) or the registry (I know it is open source). Other than that it is an excellent feature rich program and if you haven’t tried it, give it a shot.

Labels: , ,

posted by Brad Prendergast at 7:01:00 AM (4 comments)
Links to this post
Permalink
Saturday, March 18, 2006
ARP! ARP!

(Sound like a seal?)

The Address Resolution Protocol (ARP) is used by the Internet Protocol (IP), specifically to map IP network addresses to the hardware addresses. Each Network Interface Card (NIC)/adapter has a unique Media Access Control (MAC) address. The MAC address is one way a computer can be identified.

It is easy enough to get the MAC address for a local machine by entering the command ipconfig /all in a console window. This command shows detailed information for each adapter installed on a computer. The MAC address of an adapter is identified as the Physical Address. Easy enough, but how do you get this information for a remote machine?



Included with Windows® is a program by the name of arp.exe. Without getting too involved, keeping it simple, and assuming a basic understanding of networking, ARP.exe (console window) is used to display and modify the IP-to-Physical address translation tables. This command has a number of parameters, in particular the –a parameter displays the current resolution table entries. Basically, when you type arp –a each machine that an adapter ‘communicated’ with is listed in this table. Both the IP address and Physical Address are listed for each.




If there is an adapter that you are capable of connecting to and you do not see it the resolution table, initiate some ‘communication’ with it and check the resolution table again (arp – a). Generally, I PING (Packet INternet Groper) the machines/adapters I want to get the information of before I look at the table.

If you haven’t done so yet take a look at AddrMon.

Labels: , ,

posted by Brad Prendergast at 11:20:00 AM (0 comments)
Links to this post
Permalink
Wednesday, March 15, 2006
Rightly So

Writely was picked up by Google. I had taken a look at it before, and well, I think we’ll be seeing a lot more of this in the future. ‘Bill Webb’ hits it pretty well.

Labels: , ,

posted by Brad Prendergast at 7:47:00 PM (0 comments)
Links to this post
Permalink
Sunday, February 26, 2006
Around the network of silken thread

Blogs are becoming a more and more popular part of the ‘World Wide Web’. I think they are a great expression and communication medium. I browse through many blogs, and some grab my interest enough for me to visit daily. During this morning’s rounds I came across this blog posting. I think Jake discusses a number of key points in his posting.

Labels: , ,

posted by Brad Prendergast at 9:29:00 AM (0 comments)
Links to this post
Permalink
Monday, January 16, 2006
Remember SWAG?

I generally only like to post once a day; I was searching through the internet and came across a bit of nostalgia - http://gdsoft.com/swag/swag.html (formed from http://www.bsdg.org/SWAG/index.html) and couldn’t resist. Talk about a walk down memory lane (there are a few familiar names found in there). This brought me back to a time when newgroups consisted of FIDO feeds passed through BBS’ (I ran a two connection Synchronet BBS) that you connected to through a screamin’ dial-up modem. Back in the days of Turbo Pascal and the excitement of buying 4MB of RAM for $200+. I remember the night I upgraded from Windows® 3.1 to Windows® 95 like it was yesterday. It is amazing how times change and how fast things progress.

Labels: , ,

posted by Brad Prendergast at 8:52:00 PM (0 comments)
Links to this post
Permalink
Express

I've been meaning to post this for a while; back in November Microsoft® released Visual Studio® 2005. In an effort to increase usage among current and prospective software developers they’re running a near unbeatable promotion for the Visual Studio® 2005 Express Editions – FREE. According to the FAQ the Express editions will be available free for download for one year. If you register before the year lapses you will not have to pay for it and can continue using it after the download period. You are required to register the products.

Downloads are available:
Visual Web Developer 2005 Express Edition
SQL Server 2005 Express Edition
Visual Basic 2005 Express Edition
Visual C# 2005 Express Edition
Visual C++ 2005 Express Edition
Visual J# 2005 Express Edition

Labels: ,

posted by Brad Prendergast at 7:23:00 PM (0 comments)
Links to this post
Permalink
Friday, January 13, 2006
Syncing

A while back I posted about synchronizing files between folders and computers. It seems Microsoft® has another free synchronization tool available. SyncToy for Windows® XP is briefcase on steroids.

While I am on the topic of software applications, most people have a number of username and passwords for various accounts. KeePass is a great open source password manager.

Labels: , ,

posted by Brad Prendergast at 7:21:00 AM (0 comments)
Links to this post
Permalink
Saturday, January 07, 2006
Some Component Updates

The Delphi® development environment and language allow for the easy creation of custom components. This allows developers to expand upon existing or create new components in the search to facilitate the creation and maintenance of software applications. Over the years, like so many other users of Delphi®, I have created a number of components and posted them to share with the Delphi® community.

As I work towards converting existing applications, there was a need to recompile and install component packages. Some minor changes have been made to most of the components, with the exception of TSHFileOp. The TSHFileOp component was basically rewritten to serve my needs in an easier way. I have also created a sample application (used for testing) using the TSHFileOp, TFileEdit and TDirectoryEdit components.

The source code is available for these components allowing for further customization if they come close, but fall short of individual needs. Most of them have accommodations for .Net. There may be other versions of similar components available tangled in this vast place we call the Internet. There are a number of websites available for developers to share and/or browse through custom components and/or source code. Websites such as:

Torry's Delphi Pages
Project JEDI
Delphi Super Page
Code Central
Delphi City

These sites are not listed in any order and this list does not indicate preference over sites that are not listed. There are a lot of quality sites out there.

Please feel free to add to the list.

Labels: , , ,

posted by Brad Prendergast at 5:20:00 AM (0 comments)
Links to this post
Permalink
Thursday, January 05, 2006
Geeky Thought

The internet contains a vast number of interesting web sites. If you are like me you categorically bookmark your favorites. One site in particular that I visit often (and tend to get a chuckle out of their apparel) is ThinkGeek.com. They have quit a few gadgets and their t-shirts convey messages quite nicely. Although I can’t have them all (I do wish I had most of them) I did receive a Binary People and SQL query. Next on my wish list is WTF?, No, I will not fix your computer and Dead Hex People.

Any other favorites out there?

Labels: , , ,

posted by Brad Prendergast at 7:38:00 AM (1 comments)
Links to this post
Permalink
Tuesday, January 03, 2006
FTP Batch

File Transfer Protcol (FTP) is a quick way to transfer files between two computers. There are many FTP software programs, both the pay and free varieties, available. Windows® also includes a command line FTP program (ftp.exe).
In this GUI world many shutter at the thought of a command line application, however this one does have its advantages. For starters it is already included in the OS and doesn’t need to be installed. I attempt to not over complicate things and keep them clean and uncluttered. IMHO, the main advantage is the ability to process a text file that contains FTP commands. The parameter option to specify the text file to process is -s (to see the other parameter options at the command prompt type FTP -?).

This feature is advantageous because you can set up FTP batch files that perform various transfer actions without the need to click a number of buttons or type a number of commands. Login information can be included in the text file allowing access to those FTP locations that require user authentication. I have a number of batch files that I frequently use to transfer data. I have also set some up with the Windows® task scheduler for unattended processing.

A batch file could look something like this:
ftp -s:somefile.txt

In the somefile.txt file:
open 192.168.100.1
username
password

cd images
lcd images
send *.gif


The text file commands are passed a line at a time for processing. As displayed in the above example a username and password can also be passed, as those are typically the first two prompts after an FTP server connection is opened. The text file can contain any of the valid FTP commands (type ? at the ftp> prompt for a list of valid commands). I tend to be brief in my postings but hopefully you can see the value in the ability to do this. If you have any additional input I’d love to hear it.

Labels: , , , , ,

posted by Brad Prendergast at 6:32:00 PM (1 comments)
Links to this post
Permalink
Tuesday, December 27, 2005
Feed Me

Really Simple Syndication (RSS) was a nice advancement of technology. The ability to ‘subscribe’ to feeds and dynamically have access to content definitely simplifies keeping up to date with different sites. Sites that have a RSS feed available typically display or with a link to the site feed.

There are many different RSS clients available for the viewing or monitoring RSS feeds. I have been using Mozilla Firefox® for a web browser since its inception. There is a lot to be said about tabbed browsing, but the Live Bookmarks take it over the top and they are a great way monitor RSS feeds. The ability to monitor feeds from within a browser and without the need to install yet another application is wonderful.

Borland® has set up a number of feeds for their products and sites, the ones that I set up Live Bookmarks for are:
Borland® Delphi® BDN - http://news.borland.com/bdn_delphi.xml
Borland® Delphi® Code Central - http://news.borland.com/codecentral_delphi.xml
Borland® Delphi® Quality Central - http://news.borland.com/qualitycentral_delphi.xml
Delphi® Team Blogs - http://blogs.borland.com/MainFeed.aspx?Team=delphi

Some other feeds of note that I monitor (I won’t bore you with all of them):

Delphi related -
http://www.delphifeeds.com/blogs.rss
http://blog.marcocantu.com/blog_rss.xmldata
http://www.indyproject.org/Sockets/blogs/Kudzu/rss.xml

Non-Delphi-
http://www.infoworld.com/rss/news.xml
http://www.computerworld.com/news/xml/10/0,5009,,00.xml
http://feeds.lockergnome.com/rss/windows.xml
http://slashdot.org/index.rss
http://www.techweb.com/rss/all.jhtml
http://rss.news.yahoo.com/rss/tech

If you have any suggestions for additional feeds please let me know.

Labels: , ,

posted by Brad Prendergast at 6:47:00 PM (0 comments)
Links to this post
Permalink
Saturday, December 24, 2005
Santa Did Come

After ordering ‘early’ and being placed on the backorder list, I received a special delivery this week. I guess the elves worked overtime this year. I haven’t had much opportunity to play with the addition to the desktop, however what I have played with so far it is leaps and bounds above its predecessor. Why didn’t they change the icon?

Labels: , ,

posted by Brad Prendergast at 8:03:00 AM (0 comments)
Links to this post
Permalink
Friday, December 09, 2005
Where’s my briefcase? (Part 2)

In Part 1 I discussed how you can use a ‘Briefcase’ to synchronize files with a storage device. If you are running Windows® XP Professional you have another option for synchronizing your files. This feature is appropriately named ‘Offline Files’. Offline files are primarily geared towards network file synchronization with you local storage. This is ideal for laptop users who travel and need to work as if they were in the office.

I have used both Briefcase and Offline Files extensively and overall, I prefer the briefcase method. One huge benefit of offline files is that this can be set for automatic synchronization. Sort of ‘set it and forget it’ type thingamajig. One additional thing to note about offline files is that this can be managed via Group Policy so a network administrator may disallow their use or preset the options.

I had intended on writing the steps for enabling offline files but I found a nice link that perfectly describes the process; making it a whole lot easier for me. Click HERE for the steps.

Labels: , ,

posted by Brad Prendergast at 10:12:00 PM (0 comments)
Links to this post
Permalink
Tuesday, December 06, 2005
Where’s my briefcase? (Part I)

In this hectic world of ours one may find themselves frequently traveling from place to place. With computers an integral part of every day life, how do you work with your files while you’re away from your main workstation? Do you simply copy and replace them when you return? What if you need to do this often? What if there are many files edited, added and/or deleted?

Fortunately there are two quick ways to accomplish this sort of thing built right into Microsoft® Windows®. You have a choice of a Briefcase or using Offline files. Both of these options allow you to synchronize your files with copies on another storage device. You can edit either version and synchronize them bringing the contents in sync. This is also a nice method of a sort of quasi-backup of your beloved files. The USB flash drives are perfect for offline storage. They are compact and capable of holding large amounts of data. I personally use Briefcase with my 1GB SanDisk Cruzer mini.

The creation of a Briefcase is fairly simple. Open up Windows® Explorer and browse to the location where you would like to store you briefcase (this is where your synchronized copy will be kept, not the original location). After browsing to the desired location select File --> New --> Briefcase from the menu items. A new briefcase object will appear on your device. Rename the newly created briefcase to something meaningful or appropriate. .Next find the files/folders that you would like to keep synchronized. Select those objects and copy them. Browse to your newly create briefcase and copy these files/folders inside. Tada! This is pretty much all that is necessary to set up your files for synchronization.

Once you have a briefcase set up you can take your storage device with you and work on your files while you are away. When you return to your main workstation you simply need to synchronize your files. To synchronize your files open up your briefcase and select Briefcase --> Update All from the main menu. A dialog will appear showing you the changes that are about to take place. You can keep the results as is, or change the direction of synchronization or even skip synchronization changes.

At first glance, to some, this may seem complicated. However, once you start using briefcases (yes, you can have multiple on one device for different locations, I use many. I even have one to synchronize my bookmarks on all the different computers that I use.) you’ll quickly become comfortable with them. They’re a great way to ensure you can access your files while you are away from you main workstation. It is also a nice way to keep a backup of those must have files.

Labels: , ,

posted by Brad Prendergast at 8:21:00 AM (0 comments)
Links to this post
Permalink
Saturday, November 26, 2005
Ode to Backup

Backing up your files is probably one of the most important things you could do. There is nothing worse than the feeling of loosing everything once your computer is on the fritz (I have received dozens of frantic phone calls asking how to, or if I can restore files). There are many commercial, shareware and freeware backup programs that are capable of accomplishing appropriate backups.

XCOPY has been included in the Microsoft® OS family since the DOS days. This little command prompt program copies file and folder information based upon the selection of a number of parameter options. This utility is lightweight and consists of a simple executable file. This is actually what I use for incremental backups of my personal system.

Open a command prompt and type xcopy /?. This displays a list of the