Spantech LLC’s tech guru, Eric Denny. Sharing knowledge.

Featured

Welcome to Spantech LLC’s blog and future web store. Created and maintained by computer/electronics technician & engineer, Eric Denny.

Our new web store is almost finished and will soon be live right here at http://www.SpantechOnlne.com. Meanwhile, I have made this private blog public so others may benefit from some of the articles I have posted. Originally, these were posted only for my personal reference. So the writing may be somewhat crude and incomplete.

About me:

I’m a technology guru living in northwest Louisiana. My father is a lifelong medical technology computer programmer. He brought home a new Apple IIe with 64kb of RAM when I was about 8 years old and I have been hooked to technology ever since! I’ve dabbled in pretty much everything technology related. I make my living 100% with computers and technology. It’s a very modest living, but gives me freedom to spend more time with my children and provides enough income, usually, to provide for their future.

About Spantech LLC:

It’s our small, family company. Me, Mom and Dad are the only employees. Mostly we do computer repairs and sales. We sell a lot on eBay (user: span-tech & ComputerSoftware), Amazon, and from our website (currently under reconstruction). I have learned techniques on using the web to track down insane manufacturer deals on laptops, PCs and related gear. We stock up only when we see a great price. We must resell it for cheaper than everybody to compete on eBay. And I guarantee, if we stock it, we can beat any stores price! I am a sucker for cutting edge performance so you will find crazy deals on top-end systems as well. If you need a customized system, I can build one to you’re exact needs. I have built many amazing machines! But, the cost of a custom is more comparable to Best Buy and other large retail stores. Best Buy can’t have your logo etched into a solid stainless steel case though ;)

I started this blog mainly as a place to record my day to day learning and plan to fill it with my past projects to spread some of the knowledge I have gained over the years. Hopefully I will have the time to keep it updated.

Enhance your Google Docs Spreadsheets with Images

You can now add images and icons to individual cells of a Google Docs spreadsheet using the IMAGE formula.

images in spreadsheet cells

While it has always been possible to add images to the canvas of your Google Docs spreadsheets, you can now insert images inside individual cells as well.

To add an image to a cell, highlight the cell, click F2 to enter the formula mode and then type =image(“URL”) where URL is the public web address of that image.

Google Docs, by default, will scale the image to fit inside the area of the selected cell but you may change the default settings by adding another parameter to the image function.

google docs cells

For instance, a formula like =image(“URL”, 2) will stretch the image to fit inside the selected cell while =image(“URL”, 3) will insert the image into the cell at its original size.

Refer to the documentation for more details.

 

Thanks to this site for the info!

Windows 7 Bing Dynamic Themes: Problems & Solutions

IMO the best thing about Bing is the AMAZING photography they provide! They seem to have a photo collection that even competes with the long standing leader in fantastic photography, National Geographic!

The best way to enjoy these photos is an automated slideshow with your desktop wallpaper using Bing Dynamic Themes.
Note: Windows 7 themes can only be used in Windows 7 Home Premium, Professional, Enterprise, or Ultimate editions.

Problems:

So you’ve got it set up and works great 90% of the time. But occasionally you might notice the background picture hassn’t changed in a while… Usually a quick right click to personalize will reveal that somehow your theme has been switched to an “unsaved theme” that uses just that one photo… Weird, but easy to fix: just click back on Bing Dynamic and your back in business.

However, this time something went very wrong. On reboot, my background is gone. The above solution does nothing and I get a warning saying the picture folder is gone (in my case: c:\users\[your username]\appdata\local\microsoft\windows\temporary internet files\enclosure\{273C3A92-4365-40EA-ABD5-752712284071}). I delete and reinstall the theme, same problem. So it’s off to find the solution…

In my case, the problem is a system cleaning software called CCleaner. Apparently it is incompatible with Bing Dynamic themes and will delete the picture folder if run with the default settings. Here is how to fix the issue permanently, until CCleaner fixes their software.

  1. In Personalization, uninstall all dynamic themes. You must select a different theme before you can remove it.
  2. Go to the folder “C:\Users\[your username]\AppData\Local\Microsoft\Feeds” and delete all files with names like this “http~c~f~fthemeserver~dmicrosoft~dcom~fdefault~daspx~mp=Bing&c=Desktop&m=en-US~.feed-ms
  3. Reinstall the theme from: http://windows.microsoft.com/en-gb/windows/downloads/bing-dynamic-theme. Give it some time to show as it will have to download the pictures.
  4. Now you have your theme back and working. Lets fix CCleaner so it does not do this again
  5. Open CCleaner, go to Options / Exclude / Add / Drive or Folder / Browse. Navigate to “c:\users“, or any random folder, and hit OK.
  6. Right click on the folder you just added in the exclusion list and hit “Manual Edit
  7. Change it to: “C:\Users\[your username]\AppData\Local\Microsoft\Windows\Temporary Internet Files\Enclosure\*.*
  8. Click OK.
  9. Problem is now resolved. CCleaner will never mess with your Bing Dynamic Themes ever again!

This will keep CCleaner from cleaning the …\Enclosure folder. However, as far as I can tell, that folder is only used for storing Bing Dynamic Theme images so we don’t want it cleaning that folder do we? But watch out, those amazing photo’s are big and can consume some space. Even after uninstalling a theme, Windows will not delete the photos so the folder can grow pretty big! Mine was 500MB so I deleted all the pictures after uninstalling the theme. They will download again once the theme is re-installed. But, I make no guarantees you will get ALL the same ones since the photo list is dynamic and ever changing.

Show hidden/masked passwords behind asterisks

Note : This post is strictly for educational purpose only !

The following tricks have been tested in FireFox & Chrome web browsers.

  • When you enter your password in a web browser you may find that it gets replaced by asterisks or dots.
  • This is a good security measure to prevent others from stealing your login info.
  • In some cases, the asterisks will be different when compared to the number of characters of your password.
  • This adds additional security to prevent people from guessing your passwords.

But now the real scenario comes into play.

You have used “Remember my password” option in your web browser to store your password.Most modern browsers saves your password on behalf of these websites.

So if you want to change that password to a new one you are required to provide the old password to the website.Since you have used the remember option you might require to reveal the hidden password.In such cases the following tips comes handy. (Note: You may also try forgot my password option in that website if it is available. But this trick is very easy and consumes little or no time)

Trick 1:

javascript:var els = document.getElementsByTagName('input');for(var x = 0; x < els.length; x++) {if(els[x].type.toLowerCase() == 'password' ) {var test = els[x].type = 'text';}}

Enter the above javascript in the address bar of firefox browser. Now the asterisks will be replaced by real password.

Unmask

(drag this link to your bookmarks toolbar for easier access)

Trick 2:

javascript:void((function(){var%20a,b;b="<"+"html>%5Cn<body>Passwords%20in%20this%20page:<p>%5Cn";(function(c){var%20d,e,f,g,h;for(d=0;d<c.length;d++){try{arguments.callee(c.frames[d]);}catch(i){}}e=c.document.forms;for(f=0;f<e.length;f++){g=e[f];for(h=0;h<g.length;h++){if(g[h].type.toLowerCase()=="password")b+=g[h].value+"<br>%5Cn";}}})(top);b+="</body>%5Cn</html>%5Cn";a=window.open("","","width=200,height=300").document;a.open();a.write(b);a.close();})())

(Note: disable popup blocker. This script can detect iframe passwords.)

Unmask 2

(bookmark for trick2)

Trick 3: (not recommended)

Use password revealer applications such as asterisk key .

To safeguard your password:

These tricks mostly work in web browsers but to safeguard you should have physical security control since no security suite will alert for the first two tricks and these cannot be applied for windows password and the like.

Info obtained from:

http://www.blog.jbi.in/security/show-hiddenmasked-passwords-behind-asterisks-in-firefox/

Copy special Windows folders with junctions/symlinks. (\Windows.old, \user, \Program Files)

I found this problem while trying to copy my “c:\Windows.old” folder to another source. First I tried sending it to my FreeNAS server via SMB. Then I tried using rsync/DeltaCopy to clone it to FreeNAS. Then I tried just hooking an external USB NTFS drive to my Windows 8 computer directly and tried to copy using drag/drop, command line, robocopy, richcopy and SuperCopier… All failed due to long pathnames?!

The problem was, the folder “Application Data” contains a junction/link folder that points to itself. Copy functions will follow that link and copy the contents instead of copying the junction itself. That creates an endless loop of “Application Data” folders until the copy eventually bugs out because the path name has become too long.

To fix the problem, first I had to delete the corrupted copy folder with the endless loop. This was NOT easy because of the long links. Neither Windows or third party apps could access the long paths to delete them. The fix:

  • Manually (I know… stupid) rename all the “Application Data” folders to “a” in order to shorten the path tree.
  • Eventually, after you rename enough of them (I had to rename about 60!!!), delete the root folder.

Now the ONLY method I know of to copy these folders:

  • Open an elivated command prompt “Run as Administrator” -OR- Reboot to recovery console and use the command prompt there. (I had to do the latter)
  • Use Robocopy to copy C:\Users to D:\Users: robocopy c:\Users d:\Users /mir /xj /copyall
  • /mir tells robocopy to mirror the directories, this will copy all files and permissions
  • /xj is very important, this tells robocopy not to follow junction points. If you forget this, you will have a lot of trouble.
  • /copyall will copy all the attributes includings ACL and Owner info
  • Verify that the files successfully copied
  • Delete c:\Users
  • Create junction that points to d:\Users: mklink c:\Users d:\Users /j
It’s a shame that even Windows 8 (consumer preview) can’t handle this itself… But there you go. Here is some further reading on the subject, including some scripts and maybe better ways of doing this for different situations:

Show, Remove & Uninstall hidden drivers in Windows 7

One of the most annoying issues with Windows is when your hardware manufacturer fails to provide a proper driver for the operating system. Even when you do find the proper driver, sometimes the manufacturer releases an updated version which you then need to install on top of the older version. As if that’s not enough, every version of Windows from the past 10 years or so, including server versions will retain the older driver binaries even if you upgrade or change hardware.

There is a logic behind this behavior. If, for example, you’re using a removable USB disk drive, which has once been plugged in, Windows will install the appropriate driver for it. When you eject that drive, Windows retains the drivers so that they will be ready the next time you connect the drive.

But what about replacing a video adapter? A network interface card? A printer that has been thrown away? What about working with a laptop that you once used to connect to an external device, and has not used that device since? What happens to that driver if you never connect that device to your computer again?

With time, your computer will gather an increasing number of unused drivers that not only take space on your hard disk, having been still installed, they might cause problems if they are somehow enabled. In some cases they can also cause hardware conflicts. And to make things worse, when you do want to use the same device after a long period of inactivity, even if you re-install an updated version of the driver, Windows might still use the older version of it.

So how do you remove these old and un-used drivers? Let me show you.

By default, Device Manager will only show you the devices it’s currently using.

phantom-drivers-win7-1

What you need to do is to configure Device Manager to show all those non-present device drivers, sometimes known as “phantom devices”.

Warning!

This document contains instructions for editing the registry. If you make any error while editing the registry, you can potentially cause Windows to fail or be unable to boot, requiring you to reinstall Windows. Edit the registry at your own risk. Always back up the registry before making any changes. If you do not feel comfortable editing the registry, do not attempt these instructions. Instead, seek the help of a trained computer specialist.

Method #1:

1. Go to Control Panel and double click on System. You can also right-click “Computer” on the Start menu (or on the desktop if it’s shown there) and choose Properties.

Note: A faster way for opening up the System applet is to press the Windows logo key on your keyboard and then press Pause/Break at the same time.

2. Click on “Advance System Settings” link, and then click on the “Environment Variables” button.

phantom-drivers-win7-2

phantom-drivers-win7-3

3. In the System Variables section click on the “New” button.

4. In the New System Variable dialog box, under the Variable Name value enterdevmgr_show_nonpresent_devices (just copy the value from here and paste it there) and give it a variable value of 1.

Click Ok.

phantom-drivers-win7-4

5. In the Environment Variables window notice how the new variable appeared in the System Variables section. Click Ok.

6. In the System Properties window click Ok.

7. Log off and log on.

8. Open Device Manager (Control Panel > System > Hardware > Device Manager).

9. From the View menu click Show Hidden Devices and notice the change.

phantom-drivers-win7-5

 

 

Method #2:

You can perform the same task by using the registry (or even create a logon script that will add the following key to the registry):

1. Open Registry Editor.

2. In Registry Editor, navigate to the following registry key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

3. Create the following value (DWORD):

devmgr_show_nonpresent_devices

and give it a value of 1.

4. Close Registry Editor and reboot.

Important Note: Before removing the old drivers for devices you still use, it’s a good idea to find and download the driver updates to a folder on your drive - especially if they’re for your networking devices. If you know specifically which drivers need updating you can search for new drivers manually, but if you don’t, a driver updater tool can perform an automated search and help you locate the correct downloads.

Document source: http://www.petri.co.il/removing-old-drivers-from-vista-and-windows7.htm

Advanced SSH usage on Godaddy Shared Hosting (mysql, mysqldump)

I have read in many places that using mysql command line tools over SSH with Godaddy shared hosting is impossible. As of December, 2011, that is incorrect. Below are a few examples of VERY helpful functions that can be done on a Godaddy shared hosting account with SSH access (I use Putty & WinSCP for Windows).

To access the mysql command line tool:

mysql -h DatabaseHost –user=DBName –password=DBPassword

example:
mysql -h mydatabase.db.4738635.hostedresource.com –user=mydatabase –password=yourpassword

Once connected, you will have a new prompt “>”
Type “show databases;” to show all databases. Which there should only be two.
Type “use mydatabase;” to select the database to use.
Type “show tables;” to show all the tables in the selected database

From here, the posibilities are endless. Just read up on how to use the mysql command line tool.

Continue reading

Subversion on GoDaddy shared hosting

Source

Verified working on 11/26/11.

For better or worse, I’ve been using GoDaddy shared hosting for my personal hosting needs for nearly a year.  It’s cheap and cheerful, with plenty of disk space, bandwidth, SSH access, and easy access to a number of popular open-source apps you can test out with GoDaddy’s hosting connection.  Of course, it does have its drawbacks, and one of the major ones for me has been the nonexistence of a subversion client in the shell environment.

GoDaddy also doesn’t provide a compiler, so building from the source isn’t a possibility.  I read a post suggesting it might be possible to use a binary and decided to give it a shot.

Poking around, I noticed my server was an X86 running CentOS 5.2 (which is essentially RHEL), so downloaded the CollbNet RedHat binary.  The binary was packaged as a RPM file, so I used another machine to unpack it:

rpm2cpio CollabNetSubversion-client-1.5.6-1.i386.rpm | cpio -id

The package I used only included the subversion client.  It also came with some PDFs, man pages, install scripts, and other unnecessary bits which I was able to pare down.  I transferred the leftovers to my GoDaddy home directory, changed some environment variables, and voila – it worked!

If you’re in the same boat, you can download a TAR with everything you needhere.

Here’s a step-by-step to get it working from the command line:

  1. Download the TAR to your home directory:
    wget http://www.erikfantasia.com/download/godaddy-svn-1.5.6.tar.gz
  2. Unzip and unpack the archive:
    tar zxvf godaddy-svn-1.5.6.tar.gz
  3. If you haven’t adjusted your default .bashrc file, you can move the included bashrc.svn to overwrite your existing file:
    mv bashrc.svn .bashrc

    Or append the following to your existing .bashrc:

    export PATH=$PATH:$HOME/svn/bin
    export LD_LIBRARY_PATH=$HOME/svn/lib


Manually Create Bootable Windows 7 Installation USB Flash Drive

Manually Create Bootable Windows 7 Installation USB Flash Drive
warning   Warning
Using this method:

  • You can only create a 64-bit Windows 7 bootable USB flash drive if your current Windows 7 installation is also 64-bit.
  • You can create a 32-bit Windows 7 bootable USB flash drive if your current Windows 7 installation is 32-bit or 64-bit.

1. Plug the USB key in.

2. If AutoPlay opens a pop-up for the USB key, then just close it.
NOTE: Make note of what the drive size is for the USB key for use in step 6 below. You can also open Computer (step 19) to see what the drive size is to. For example, mine is 3920 MB. (See screenshot below)

USB Windows 7 Installation Key Drive - Create-computer.jpg

3. Open a elevated command prompt.

4. In the elevated command prompt, type diskpart and press Enter. (See screenshot below)

USB Windows 7 Installation Key Drive - Create-step1.jpg

5. In the elevated command prompt, type list disk and press Enter. (See screenshot below)
NOTE: Make note of what disk # your USB key is listed as to use in step 6 below. You can also look for the drive size (step 2) of the USB key to help ID the disk number. For example, mine is listed as Disk 1 here for the 3920 MB disk.

USB Windows 7 Installation Key Drive - Create-step2.jpg

6. In the elevated command prompt, type select disk # (your USB disk #) and pressEnter. (See screenshot below)
NOTE: For example, my USB key is listed as Disk 1, so I would type select disk 1and press Enter.

USB Windows 7 Installation Key Drive - Create-step3.jpg

7. In the elevated command prompt, type clean all and press Enter. (See screenshot below)
NOTE: Changed to “clean all” instead of “clean” to be more thorough.

USB Windows 7 Installation Key Drive - Create-step4.jpg

8. In the elevated command prompt, type create partition primary and pressEnter. (See screenshot below)

USB Windows 7 Installation Key Drive - Create-step5.jpg

9. In the elevated command prompt, type select partition 1 and press Enter. (See screenshot below)

USB Windows 7 Installation Key Drive - Create-step6.jpg

10. In the elevated command prompt, type active and press Enter. (See screenshot below)

USB Windows 7 Installation Key Drive - Create-step7.jpg

11. In the elevated command prompt, type in the command below to format the USB as NTFS or FAT32, and press Enter. (See screenshot below)
NOTE: This may take a few moments to finish formatting the USB key.

Note   Note
You can substitute Windows 7 within quotes in the commands below with whatever name (drive label) you would like to have displayed for the USB drive instead.FAT volume labels

  • Volume labels can contain as many as 11 characters and can include spaces but no tabs.
  • Volume labels cannot contain the following characters: ? / \ | . , ; : + = [ ] < > “
  • Volume labels are stored as uppercase regardless of whether they contain lowercase letters.

NTFS volume labels

  • Volume labels can contain as many as 32 characters.

format fs=ntfs label=”Windows 7” quick

OR

format fs=fat32 label=”Windows 7” quick

USB Windows 7 Installation Key Drive - Create-step8.jpg

12. If AutoPlay opens a pop-up for the USB key, then just close it. 

13. In the elevated command prompt, type assign and press Enter. (See screenshot below)
NOTE: This will assign a new drive letter to the USB key. Make note of the new USB drive letter to use in step 22 below. For example, mine is now H.

USB Windows 7 Installation Key Drive - Create-step9.jpg

14. If AutoPlay opens a pop-up for the USB key, then just close it.

15. In the elevated command prompt, type exit and press Enter. (See screenshot below)
NOTE: This will exit you from DiskPart from step 4.

USB Windows 7 Installation Key Drive - Create-step10.jpg

16. Close the elevated command prompt.

17. Insert your Windows 7 installation DVD into the DVD drive.

18. If AutoPlay opens a pop-up for the Windows 7 installation DVD, then just close it.

19. Open the Start Menu, right click on the Computer button, and click on Open.

20. Right click on the DVD drive (ex: E: ) that has the Windows 7 installation DVD in it, and click on Open. (See screenshot below)

USB Windows 7 Installation Key Drive - Create-open.jpg

21. Highlight all of the contents, right click on the highlighted contents, and click onCopy. (See screenshot below)
NOTE: You will need to copy all of the files and folders on the Windows 7 installation DVD to the USB key.

USB Windows 7 Installation Key Drive - Create-copy.jpg

22. Go back to Computer, right click on the USB key drive (ex: H ), and click onPaste. (See screenshot below)

USB Windows 7 Installation Key Drive - Create-paste.jpg

23. The contents of the Windows 7 installation DVD will now start copying over to the USB key. (See screenshot below)
NOTE: This may take a few moments to complete.

USB Windows 7 Installation Key Drive - Create-copying.jpg

24. When finished, you can close the Computer window and unplug the USB key.

25. You now have a Windows 7 Installation USB key. 

Some Seagate 2TB ST32000542AS drives won’t accept CC35 firmware

The reason that the updater rejects certain drives is that it compares the drive’s existing firmware modules against an update matrix in a configuration file.

Here is the decoded version of this file:
http://www.users.on.net/~fzabkar/HDD/HE-CC35.TXT

Notice that there are three entries for CC34 firmware, but each has different components. Apparently your CC34 components don’t match those called out in the update matrix.

Nevertheless, you can still forcibly update your drives to CC35 firmware.

If you are updating from a bootable CD, then allow the update to fail on the first pass. Wait for the following message:

“The system will power off after pressing any key…”

Abort the batch by typing Ctrl-C or Ctrl-Break. Then type the following line at the FreeDOS prompt:

FDL486A -m Hepburn -f HECC358H.LOD -i ST32000542AS -s -x -b -v -a 20

Power cycle the drive(s) when the update is complete. You may like to play it safe and disconnect those drives that are not associated with the update.