Sunday, January 3, 2010

Convert numbers to barcode for FREE

The situation I faced was a user who was manually entering a bunch (over 1,000) of inventory numbers from a spreadsheet into our ERP system. They wanted a way to help avoid errors, while also making it quicker to enter the numbers. Converting the cell values into barcodes would allow the user to scan the barcodes with a barcode scanner, essentially allowing them to cruise through the entry of the numbers with very no chance of typos. Surprisingly, this is very easy to do with the help of a freely available barcode font called Free3of9, which creates a Code 39 bar code for you.

First, download the Free3of9 font from http://www.barcodesinc.com/free-barcode-font/. Then unzip the contents and install the fonts on your computer. If you need help, check out my previous post about installing fonts. Once you have Free3of9 installed on your computer, converting numbers to bar codes is as easy as changing the font you're using to Free3of9. However, you must make sure you surround your value with asterisks. This is because the barcode reader needs to know where to start and stop reading, and this particular font uses the asterisk * to send that signal.

A quick way to do this in Excel or OpenOffice.org Calc is to use the concatenation function. Let's say cell A1 equals 123, and you want to turn that into a barcode. In cell B1, you would enter { ="*"&A1&"*" } (everything inside the brackets {}, but not including them). This would add an asterisk before and after the contents of A1 to create a value of *123* in cell B1. Then change the font used in B1 to be Free3of9 and you'll have a fully readable bar code that will produce the value 123 when read by a barcode reader device.

Good luck, and hopefully this helps save you or someone you know from a lot of manual number entry. You can try this with text, but I haven't tried that so I can't guarantee it will work. I believe you have to use the Free3of9 Extended font, which is included in the download, in order to encode non-number text. The same asterisk rules would apply.

UPDATE 5/3/13

Wow, it's been over 3 years since I originally published this and I've come back to it many times. I have something to add that I ran into today though. If you're using this font in Microsoft Word , be careful. The reason is Word adds a carriage return character at the end of a line of text, and normally you wouldn't see it but this font actually has a value for carriage return so it will encode that into the barcode. If this happens the barcode will not work. I did a mail merge and to get around this problem, after inserting my merge field that was the UPC value, I added a space after it before the end of the line of text and then changed my font to Free 3 of 9. What this does is prevents the system from auto-selecting that carriage return and changing the font on it to Free 3 of 9. You'll know if that happened by looking to the right of the merged field. If you have <> and immediately to the right there shouldn't be any text but you see a barcode, that's because the carriage return font was changed. To fix, either add the space before, or change the font for that little section back to what it originally was. Once I did that the barcodes worked just fine out of Word

Tuesday, December 29, 2009

Using "Run As" from the command line

I needed to make some changes in Registry Editor on a machine, but didn't want to log out of the users account to get in as the admin. It's good that you can open a program such as Registry Editor via the Run box using the command "runas". Doing so allows you to start an application while providing administrative credentials, without the need to log out of the currently logged in user. In most cases you can right-click an application icon and choose "Run As...", but for something like Registry Editor you would either have to save a custom MMC or use this runas method.

The syntax is:

runas /user:localhost\administrator regedit


This will then prompt you for the administrator password, and assuming you know it, will give you access to the Registry Editor as an administrative user. You could also write this into a batch file and use that as a shortcut if you didn't want to type this into the Start->Run box each time you needed it.

To see the original article I found outlining this, along with more information about the batch file, check out this  www.tech-recipes.com article.

Wednesday, December 23, 2009

View message size in Outlook Web Access

I had a user with access only to Outlook Web Access who was trying to sort the message by size, but there didn't seem to be a column for that within the OWA interface. I did some quick searching and saw a lot of people saying that it's not possible. However, I was surprised at how simple it is to do after reading how many people said it couldn't be done. This post pertains to OWA running on an Exchange 2003 server, and you also have to be using the premium client which only runs within Internet Explorer. Other browser will use the basic client and that doesn't allow you the same flexibility as the premium client.

1. Login to your mailbox via the Outlook Web Access webpage
2. At the top of the page to the right of where it says Inbox, click and change the view to Messages












That's it. Now you should see a column labeled Size that you can use to sort the messages. If you're looking for other options, try one of the other predefined views available from the list.

Tuesday, December 22, 2009

Remove or upgrade a Macbook Pro hard drive

I had a user with a Macbook Pro who had a hard drive that was about to fail. The hard drive was almost full too, so I wanted to make sure to upgrade it in the process. I was surprised at how easy it was to do, and found a very helpful guide with pictures for disassembling the Macbook. Normally I'd repost the disassembly instructions here, but the guide at www.extremetech.com was done so well I'll redirect you there instead.

I removed the existing hard drive using the guide, then cloned it to the new hard drive using Disk Utility from a Mac desktop. I put one of the drives right inside the case, and used a SATA to USB converter  (~$20 for a combo IDE 2.5", IDE 3.5", and SATA to USB, and well worth it) to plug the other drive in. From there I was able to restore the existing drive on to the new drive. It looks like even though the new drive had a much larger partition (80GB existing to a 250GB new drive), Disk Utility took care of that as well and I have a full 250GB of usable space on the new drive after the restore. After I put it all back together and booted up the laptop, everything seems to be working ok and now the user has an extra 160GB to fill up and the clicking is gone.

Thursday, December 17, 2009

Slipstream Office 2007 service packs into install package

You can integrate updates into your Microsoft Office 2007 installation the same way you can slipstream updates into your XP install disk. This is very helpful if you manage an environment of computers that would otherwise need to individually download and install the update files. It's also really easy to do. For this example, I'll use Office 2007 service pack 2, which is the most recent available right now. 

1. First, download and save Office 2007 SP2 from Microsoft.com. You will need this file in order to get the updates it contains. For example's sake, let's say you named the saved file Office2007Updates.exe and saved it to the root of your C drive.
2. Create a folder on your C drive named Extract, and another named Updates. This is where you will put the updates from the SP file. Also, move the Office2007Updates.exe file into the newly created Extract folder.
3. Open a command prompt (Start->Run->cmd) and enter the following commands, each followed by pressing Enter:

cd C:\Extract
Office2007Updates.exe /extract:C:\Updates

This will extract the updates from the service pack file into the C:\Updates folder. You can now delete the Extract folder
4. Now you need to move the contents of your Updates folder into the Updates folder found in your Office 2007 installation media. This is easy if you're using a network location for pushing out the software. However, if you are only using the CD you will have to download the files from it to your computer to complete this step.
5. Once you have the Office installation files saved in a location, move the contents from the C:\Updates folder to the Updates folder within the Office install files.
6. You can now use the install files as they are, or you can burn the newly created install to a CD so you have a portable copy. During the install it will automatically check the Updates folder and apply any updates it finds within.

The original post that I found detailing this process can be found at winsupersite.com

Friday, November 20, 2009

Installing Windows XP in a VMWare ESXi environment, no hard disks found error

If you attempt to install Windows XP in an VMWare ESXi environment (at least v3.0-3.5), don't be surprised if you get an error about no hard disks available. This is because you need to manually install SCSI drivers for the VMWare disks. Luckily VMWare provides a floppy image for this purpose and it's free to download. Simply mount the image as a virtual floppy, then press F6 when the Windows install screen tells you to "Press F6 if you need to install third-party SCSI drivers" at the beginning of the install. Press S when prompted to specify the drivers and you should see VMWare SCSI driver as the only option. Press Enter and then proceed with the install.

Here's a link to the VMWare knowledge base document addressing this issue: http://kb.vmware.com/kb/1006956

You can download the floppy image of the drivers from the link in the KB article linked above, or from this VMWare support page:  http://downloads.vmware.com/d/details/scsi_dt_server_wkst_ace/dCpiQGh3YmRAZQ==

Monday, November 16, 2009

Scripting a file transfer to an FTP server using a non-standard port (not 21)

I ran into an issue last week while trying to automated a file upload to an FTP site using a port other than the default of 21. For some reason I couldn't get it to work. It would continually get stuck at "150 Opening ASCII mode data connection". Checking the logs I was finding a 425 10060 error, which meant that the connection was being dropped. There were ghost files of 0KB being created on the FTP with the name of the file I was trying to upload, but the transfer would never happen. The good news is that I figured out the issue and am now sharing it with you.

It turned out I needed to use passive mode (PASV) for the FTP transfer and that isn't supported in the Windows ftp.exe command line application. In order to accomplish my upload I had to download and install NcFTP, which is a free, command-line client that DOES support PASV mode transfers. Once I did that I had no issue. If you're looking for the command to use with NcFTP to upload a file to an FTP server with a non-standard port, here's an example.

I have a file named test.txt located in C:\myFolder on the machine. I also have NcFTP installed to the default location. My goal is to upload test.txt to an FTP site called ftp.test.com that is using port 35987. I also have to login to the site using username "test" and password "T3ster!". Here's what that would look like using ncftpput.exe to script the upload:

"C:\Program Files\NcFTP\ncftpput.exe" -u test -p T3ster! -P 35987 ftp.test.com / "C:\myFolder\test.txt"

This calls ncftpput.exe, sets the username (-u) to test, the password (-p) to T3ster!, the port (-P) to 35987, specifies the FTP server, specifies the directory on the FTP server to put the file to (I used the root FTP directory, signified with the / symbol), then specifies the path on the local machine to the file I want to upload.

That is just a quick example. There are variations, and you can also do other things with it as well. To see more information, including a link to the complete list of available command line switches for ncftpput.exe and ncftpget.exe, check out the my previous post

Windows command line FTP client that support PASV (passive mode)

If you're trying to write an FTP transfer into a script and require a command line client that support passive mode transfers, you'll need a third-party solution. This is because ftp.exe that is built into Windows does not support passive mode. Luckily, there is a free third-party solution that works pretty well and I'm now using it for some of my scripts. It is NcFTP, and is a Windows adaptation of a Linux application. It has versions for multiple OS's, one of which is Windows. You can download it free from http://ncftp.com/download/, then scroll down to the Download NcFTP Client section and find the Windows download link. If you're wondering, NcFTP also provides an FTP server application at the same download location.

There is an installer involved, which will install ncftp.exe, ncftpput.exe, and ncftpget.exe. Using some switches, you can then use ncftpput.exe and ncftpget.exe to script transfers to and from FTP servers, including those that only support passive mode.

For command line switches and additional documentation, it can be found at http://www.ncftp.com/ncftp/doc/faq.html.

Friday, November 6, 2009

Restart Windows XP Print Spooler service

Sometimes you may find it helpful or necessary to restart the print spooler on your Windows XP computer. This can happen if you're having issues with a printer, or if a job gets stuck in the queue and you can't delete it. To restart the print spooler:

1. Right-click the My Computer icon and select to Manage
2. Go to Services and Applications->Services
3. Within Services, scroll down until you get to Print Spooler
4. Right-click on Print Spooler and choose to stop or restart

Be aware that if you stop the service without starting it afterward, your computer will not be able to print until you either start the print spooler or restart your computer.

Networked HP 1022n printer not printing

I have a user with an older HP 1022n laserjet printer at her desk, and all of a sudden today it stopped working. I found the jobs stuck in the printer queue on our Windows Server 2003 print server, but couldn't get rid of them. Restarting the spooler didn't seem to help either. However, I found an article on experts-exchange.com (membership required) with a solution, and it apparently works for some other HP Laserjet printers that experience the same type of problem. On the printer server, you have to modify two settings for the printer:

1. Log on to your print server, open your Printers, then right-click your HP printer and choose Properties
2. Go to the Ports tab and uncheck the box labeled "Bidirectional Support"
3. Go to the Advanced tab and change the setting for spooling to "Start printing after last page is spooled"
4. Click Apply and OK

I spent quite a while trying to diagnose the issue and come up with a solution because I thought it was related to a recent driver update on the print server. While it likely was related to that update, I would've never thought it to be a problem with the default driver settings. Hopefully this saves you some time if you come across the same type of situation.