My son had an Amazon gift card that was damaged and part of the claim code couldn't be read. I wasn't sure if anything could be done, but figured it was worth a shot to contact Amazon. Finding contact information for Amazon is not the easiest.
To locate Amazon's contact information, load the Amazon home page, scroll to the bottom and click on Amazon Assistant.
Scroll down to the Need Help section and click contact us.
A contact page will open with options to open a chat window or have Amazon call you.
I used the chat feature and it worked out great. You actually chat with a real person. I had to give the person I talked to the card number and the pieces of the claim code that I could read. He somehow looked it up and was able to add the gift card directly to my account. The whole process took about 15 minutes.
I was originally going to email Amazon, but articles said it's a slower process. The chat option worked just fine and was quick.
These are the Amazon email addresses I found. I don't know if they actually work.
Account issues: cis@amazon.com
Other issues: primary@amazon.com
(paid links)
Computers and Accessories
Wednesday, February 12, 2020
Wednesday, February 5, 2020
How To Fix Windows 10 Wifi Card Not Working
My son's computer suddenly had problems showing the available wifi networks. The computer is new and running Windows 10. Doing the following is what fixed the issue:
Press the Windows key + X
Select Device Manager
Click Network Adapters and expand the list
Find your wifi card in the list - it will probably contain the word Wireless
Once the wifi card is found in the Network Adapters list, select it and then right click it
Click Properties
Select the Driver tab
Click the Disable Device button
Click OK
Click the Enable Device button
Click OK
If all goes well, the wifi networks should now show up.
(paid links)
Computers and Accessories
Press the Windows key + X
Select Device Manager
Click Network Adapters and expand the list
Find your wifi card in the list - it will probably contain the word Wireless
Once the wifi card is found in the Network Adapters list, select it and then right click it
Click Properties
Select the Driver tab
Click the Disable Device button
Click OK
Click the Enable Device button
Click OK
If all goes well, the wifi networks should now show up.
(paid links)
Computers and Accessories
Wednesday, January 29, 2020
How To Redirect HTTP to HTTPS With Hostgator
For security purposes, all websites should use https rather than http. Normally, this can be done by editing the .htaccess file, which is located in the root directory of your website.
The following should be added to the .htaccess file to redirect to https:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
Just replace www.example.com with your website domain.
Unfortunately, this wasn't working with HostGator. What did work, was making redirect changes within the HostGator account control panel.
This can be done by:
1. Log into your HostGator account control panel
2. Click on Domains in the left hand column
3. Click on Redirects in the Domains section
4. a. Under Add Redirect, Type, select Permanent (301)
b. Select the domain name from the list that you would like to redirect to https://. Optionally, also enter a subdirectory path
c. Under Redirects To, enter the https://domainnametodirectto.com
d. Select Redirect with or without www.
5. Click the Add button
Try it out by going to the https:// version of your domain name.
(paid links)
Computer & Technology Books
The following should be added to the .htaccess file to redirect to https:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
Just replace www.example.com with your website domain.
Unfortunately, this wasn't working with HostGator. What did work, was making redirect changes within the HostGator account control panel.
This can be done by:
1. Log into your HostGator account control panel
2. Click on Domains in the left hand column
3. Click on Redirects in the Domains section
4. a. Under Add Redirect, Type, select Permanent (301)
b. Select the domain name from the list that you would like to redirect to https://. Optionally, also enter a subdirectory path
c. Under Redirects To, enter the https://domainnametodirectto.com
d. Select Redirect with or without www.
5. Click the Add button
Try it out by going to the https:// version of your domain name.
(paid links)
Computer & Technology Books
Wednesday, November 27, 2019
How To Add the Google Play Store to Kindle Fire 7 5th generation
I just added the Google Play store to my old Kindle Fire 7 5th generation. It was super easy and it actually worked!
Here's how I did it:
Make sure you have a Kindle Fire 7 5th generation by going to Settings, Device Options, Device Model
If Device Model says Fire(5th Generation), then do the following:
Go to Settings, Security & Privacy, click Apps from Unknown Sources to allow the installation of non Amazon appstore apps
Open the Silk browser
Click on this link to download and install the Google Account Manager APK
When that is finished,
Click on this link to download and install the Google Services Framework APK
When that is finished,
Click on this link to download and install the Google Play Services APK
When that is finished,
Click on this link to download and install the Google Play Store APK
For each of the above links, click the Download button on each page. The apk will download. Click the Open button. Click Next until you get to Install. Click Install. The APK will then install. Proceed to the next link and do the same thing.
When all 4 APK's have been downloaded and installed, there should be a Google Play Store app on your Kindle.
You will have to log in to your Google account. After that you can download apps like you would on an Android device. This works because the Kindle's Fire operating system is based on Android.
So far I have installed Ebay and Etsy on my Kindle Fire 7. They both work great!
(paid links)
More Kindle Fire
Here's how I did it:
Make sure you have a Kindle Fire 7 5th generation by going to Settings, Device Options, Device Model
If Device Model says Fire(5th Generation), then do the following:
Go to Settings, Security & Privacy, click Apps from Unknown Sources to allow the installation of non Amazon appstore apps
Open the Silk browser
Click on this link to download and install the Google Account Manager APK
When that is finished,
Click on this link to download and install the Google Services Framework APK
When that is finished,
Click on this link to download and install the Google Play Services APK
When that is finished,
Click on this link to download and install the Google Play Store APK
For each of the above links, click the Download button on each page. The apk will download. Click the Open button. Click Next until you get to Install. Click Install. The APK will then install. Proceed to the next link and do the same thing.
When all 4 APK's have been downloaded and installed, there should be a Google Play Store app on your Kindle.
You will have to log in to your Google account. After that you can download apps like you would on an Android device. This works because the Kindle's Fire operating system is based on Android.
So far I have installed Ebay and Etsy on my Kindle Fire 7. They both work great!
(paid links)
More Kindle Fire
Wednesday, November 20, 2019
How to Fix Jar Not Recognized Error On Windows
The other day I was trying to view the contents of a jar file by entering this on the command line:
jar tf jarfilename.jar
I got the following error:
'jar' is not recognized as an internal or external command, operable program or batch file
To fix this error:
Make sure a JAVA_HOME environment variable is set to the location of your Java installation, such as C:\Program Files(x86)\Java\jdk1.8.0_25
Then add the following to the PATH environment variable to include the Java installation's bin directory: %JAVA_HOME%\bin
#paidlinks
More Java
jar tf jarfilename.jar
I got the following error:
'jar' is not recognized as an internal or external command, operable program or batch file
To fix this error:
Make sure a JAVA_HOME environment variable is set to the location of your Java installation, such as C:\Program Files(x86)\Java\jdk1.8.0_25
Then add the following to the PATH environment variable to include the Java installation's bin directory: %JAVA_HOME%\bin
#paidlinks
More Java
Wednesday, July 17, 2019
How To Send a Fax for Free
Every once in a while I have to send a fax, so I've always bought printers with fax capability. The last printer I bought doesn't have a fax capapbility, but it does scan. There are a bunch of websites out there that will fax a document for you. Most of them have a cost involved though. There is a website called gotfreefax.com that is completely free. I've used it a bunch of times and it works great. You fill out a form with your information, the receiver's information and fax number, upload the file or enter text data and hit send. There is an option of adding an ad free cover page. You can send a max of 3 pages and 2 faxes per day. There are options to send more pages for a price. The largest plan is 30 pages for $2.98, so it's pretty reasonably priced, if the free plan isn't enough.
Fax Machines
Fax Machines
Monday, April 8, 2019
How to Fix Verizon Jetpack MiFi 8800L Dropping Connections
I recently upgraded my Verizon 7730L jetpack to the Verizon mifi 8800L jetpack. I've been a little reluctant to do so because it has such bad reviews on the Verizon website. A few months ago the reviews were great. Recent reviews are terrible though. They all talk about how the device randomly drops connections. Well, my 7730 was doing that too. Pretty annoying, but it sounded like the 8800 was even worse. I did some research and came across this youtube video: https://www.youtube.com/watch?v=oCRjj6lT1cA. It talks about how there is a setting called Sleep Mode. The default value is 5 minutes. I took a look at my 7730 and sure enough it also has a sleep setting and it was set to 5 minutes. What this setting does is put the device in sleep mode if there is no internet activity after whatever the sleep mode is set to. If the setting is set to 5 minutes and you walk away to go get a snack and are gone for at least 5 minutes, when you come back, the connection will be dropped. I keep my jetpack plugged in all the time, so I think this setting is relevant when running only on battery in order to conserve battery power.
I changed the sleep setting to never on my 7730 and have not had any issues since. With this great result, I took a chance and upgraded to the 8800. Sure enough, the sleep setting was set to the default of 5 minutes. I immediately changed it to never and it has worked great. The 8800 is actually a pretty big improvement over the 7730. My son's Fortnite ping has dropped from 60 - 70 to 30, which is good. The lower the ping, the less lagging.
I changed the sleep setting to never on my 7730 and have not had any issues since. With this great result, I took a chance and upgraded to the 8800. Sure enough, the sleep setting was set to the default of 5 minutes. I immediately changed it to never and it has worked great. The 8800 is actually a pretty big improvement over the 7730. My son's Fortnite ping has dropped from 60 - 70 to 30, which is good. The lower the ping, the less lagging.
Thursday, December 6, 2018
Python Tutorial Series - Set Up
I'm working on learning Python as part of learning about Data Science, so in the process of doing that, I thought I'd put together a series of Python tutorial blog posts. Python is supposed to be easy to learn, so we'll see.
In order to use Python on your local machine, it needs to be downloaded from here. There are 2 major versions available. The latest is 3.7.1. There is also a version 2.7.15. I'm going to focus on version 3, which is the result of cleaning up version 2 without regards to backwards compatibility. Version 2 will not have any new major releases, but it's still in use by a lot of people. In fact, an online course I tried taking still used version 2. It is possible to install version 2 and version 3 on the same computer though. The trick to getting them both to work from the command line is to rename the executable of one version a different name than the other version. For example, I renamed python.exe for version 2 python2.exe. In a Windows command prompt, I can run version 3 by typing python. I can also run version 2 by typing python2 in the command prompt. Both versions need to have their directories added to the environment variable PATH setting.
For version 3, add the following to the environment variable PATH setting:
C:\your path to python3\Scripts\
C:\your path to python3\
For version 2, add the following to the environment variable PATH setting:
C:\your path to python2
To code in python, Anaconda is a popular data science tool which comes packaged with Python. There are also online Python editors, such as https://www.onlinegdb.com or https://repl.it/repls/SoftRashSearchengine.
More Python
In order to use Python on your local machine, it needs to be downloaded from here. There are 2 major versions available. The latest is 3.7.1. There is also a version 2.7.15. I'm going to focus on version 3, which is the result of cleaning up version 2 without regards to backwards compatibility. Version 2 will not have any new major releases, but it's still in use by a lot of people. In fact, an online course I tried taking still used version 2. It is possible to install version 2 and version 3 on the same computer though. The trick to getting them both to work from the command line is to rename the executable of one version a different name than the other version. For example, I renamed python.exe for version 2 python2.exe. In a Windows command prompt, I can run version 3 by typing python. I can also run version 2 by typing python2 in the command prompt. Both versions need to have their directories added to the environment variable PATH setting.
For version 3, add the following to the environment variable PATH setting:
C:\your path to python3\Scripts\
C:\your path to python3\
For version 2, add the following to the environment variable PATH setting:
C:\your path to python2
To code in python, Anaconda is a popular data science tool which comes packaged with Python. There are also online Python editors, such as https://www.onlinegdb.com or https://repl.it/repls/SoftRashSearchengine.
More Python
Thursday, November 27, 2014
Columnar Database
I recently read about an interesting database concept that uses a columnar database, which is where data is stored in columns instead of rows.
Apparently this approach has several advantages over a row based database. A columnar database has better performance when a large number of queries are run at the same time. Joins and aggregation are faster as aggregate function results are incrementally calculated. Columnar databases can be compressed which eliminates the storage of multiple indexes, views and aggregation. Columnar databases also load data quickly. Each column is built in one pass and stored separately, so multiple threads can load different columns at the same time. Also, since columns are stored separately, data can be added and removed without updating the system after each change.
There are disadvantages to a columnar database though. It doesn't work for every case. Converting a row based database into a columnar database can be slow for large datasets. Incremental loads can be slow. Uncompressing data for reading can be slow. There are structural limitations, such as some columnar databases require the same primary key on all tables. These imitations may make it difficult to expand the system in the future. Columnar databases are also meant for large datasets and may not be suitable for small datasets.
This post was brought to you by your friends at MemSQL.
Apparently this approach has several advantages over a row based database. A columnar database has better performance when a large number of queries are run at the same time. Joins and aggregation are faster as aggregate function results are incrementally calculated. Columnar databases can be compressed which eliminates the storage of multiple indexes, views and aggregation. Columnar databases also load data quickly. Each column is built in one pass and stored separately, so multiple threads can load different columns at the same time. Also, since columns are stored separately, data can be added and removed without updating the system after each change.
There are disadvantages to a columnar database though. It doesn't work for every case. Converting a row based database into a columnar database can be slow for large datasets. Incremental loads can be slow. Uncompressing data for reading can be slow. There are structural limitations, such as some columnar databases require the same primary key on all tables. These imitations may make it difficult to expand the system in the future. Columnar databases are also meant for large datasets and may not be suitable for small datasets.
This post was brought to you by your friends at MemSQL.
Thursday, May 23, 2013
How I Learned PHP
Learning PHP was on my list of things to learn for a while. Two years ago, I finally started.
I learned PHP by taking two online courses at ed2go.com. They were called: Introduction to PHP and MySQL and Intermediate PHP and MySQL. They were fairly good at getting you started. The first course guides you through the creation of a recipe website with it's own content management system (CMS). The second course guides you through the creation of an online store.
I also purchased a few books:
PHP Solutions: Dynamic Web Design Made Easy
PHP and MySQL Web Development (4th Edition)
Programming PHP
Codeacademy.com offers free online courses, including PHP. They are actually pretty good.
Php.net is the official PHP documentation site.
If you have the foundation of knowing another programming language, PHP is pretty easy to learn. For me, the hardest part is remembering to include the $ sign.
More PHP Resources
I learned PHP by taking two online courses at ed2go.com. They were called: Introduction to PHP and MySQL and Intermediate PHP and MySQL. They were fairly good at getting you started. The first course guides you through the creation of a recipe website with it's own content management system (CMS). The second course guides you through the creation of an online store.
I also purchased a few books:
PHP Solutions: Dynamic Web Design Made Easy
PHP and MySQL Web Development (4th Edition)
Programming PHP
Codeacademy.com offers free online courses, including PHP. They are actually pretty good.
Php.net is the official PHP documentation site.
If you have the foundation of knowing another programming language, PHP is pretty easy to learn. For me, the hardest part is remembering to include the $ sign.
More PHP Resources
Friday, May 3, 2013
Can't Create New Folder Windows 7 Fix
A month or so ago, I noticed the strangest thing on my laptop. I couldn't create a new folder from within Windows Explorer. However, I could create a new folder using the mkdir command from within a command prompt window. I have no idea what happened to cause this. I'm guessing it was caused by an installation or a windows update.
Today I finally took the time to see if I could fix it. Luckily, I did. After some Google searching, I decided to give this suggestion a try: http://social.technet.microsoft.com/Forums/en-US/w7itprogeneral/thread/97de8a2a-12f2-4381-a409-a78f4ae551cf
which states:
First, please use System File Checker tool to troubleshoot this issue.
If the issue persists, import the following registry key and see if the issue can be resolved.
First, please refer to this knowledge base (KB) article to back up the registry key. After backing up the registry, please follow the steps below to import the registry:
1. Click Start, type Notepad in the Search bar and pres ENTER.
2. Copy the following commands and then paste them into the open Notepad window.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{11dbb47c-a525-400b-9e80-a54615a090c0}]
@="CLSID_ExecuteFolder"
[HKEY_CLASSES_ROOT\CLSID\{11dbb47c-a525-400b-9e80-a54615a090c0}\InProcServer32]
@="ExplorerFrame.dll"
"ThreadingModel"="Apartment"
[HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers\New]
@="{D969A300-E7FF-11d0-A93B-00A0C90F2719}"
[HKEY_CLASSES_ROOT\Folder]
@="Folder"
"EditFlags"=hex:d2,03,00,00
"FullDetails"="prop:System.PropGroup.Description;System.ItemNameDisplay;System.ItemType;System.Size"
"ThumbnailCutoff"=dword:00000000
"TileInfo"="prop:System.Title;System.PropGroup.Description;System.ItemType"
[HKEY_CLASSES_ROOT\Folder\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,68,00,\
65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,33,00,00,00
[HKEY_CLASSES_ROOT\Folder\shell]
[HKEY_CLASSES_ROOT\Folder\shell\explore]
"MultiSelectModel"="Document"
"BrowserFlags"=dword:00000022
"ExplorerFlags"=dword:00000021
[HKEY_CLASSES_ROOT\Folder\shell\explore\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,45,00,78,00,70,00,6c,00,6f,00,72,00,65,00,72,00,2e,00,65,00,78,00,\
65,00,20,00,2f,00,73,00,65,00,70,00,61,00,72,00,61,00,74,00,65,00,2c,00,2f,\
00,65,00,2c,00,2f,00,69,00,64,00,6c,00,69,00,73,00,74,00,2c,00,25,00,49,00,\
2c,00,25,00,4c,00,00,00
"DelegateExecute"="{11dbb47c-a525-400b-9e80-a54615a090c0}"
[HKEY_CLASSES_ROOT\Folder\shell\open]
"MultiSelectModel"="Document"
"BrowserFlags"=dword:00000010
"ExplorerFlags"=dword:00000012
[HKEY_CLASSES_ROOT\Folder\shell\open\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,45,00,78,00,70,00,6c,00,6f,00,72,00,65,00,72,00,2e,00,65,00,78,00,\
65,00,20,00,2f,00,73,00,65,00,70,00,61,00,72,00,61,00,74,00,65,00,2c,00,2f,\
00,69,00,64,00,6c,00,69,00,73,00,74,00,2c,00,25,00,49,00,2c,00,25,00,4c,00,\
00,00
"DelegateExecute"="{11dbb47c-a525-400b-9e80-a54615a090c0}"
[HKEY_CLASSES_ROOT\Folder\shellex]
[HKEY_CLASSES_ROOT\Folder\shellex\ColumnHandlers]
[HKEY_CLASSES_ROOT\Folder\shellex\ColumnHandlers\{F9DB5320-233E-11D1-9F84-707F02C10627}]
@="PDF Column Info"
[HKEY_CLASSES_ROOT\Folder\shellex\ContextMenuHandlers]
[HKEY_CLASSES_ROOT\Folder\shellex\ContextMenuHandlers\BriefcaseMenu]
@="{85BBD920-42A0-1069-A2E4-08002B30309D}"
[HKEY_CLASSES_ROOT\Folder\shellex\ContextMenuHandlers\Offline Files]
@="{474C98EE-CF3D-41f5-80E3-4AAB0AB04301}"
[HKEY_CLASSES_ROOT\Folder\shellex\ContextMenuHandlers\{a2a9545d-a0c2-42b4-9708-a0b2badd77c8}]
[HKEY_CLASSES_ROOT\Folder\shellex\DragDropHandlers]
[HKEY_CLASSES_ROOT\Folder\shellex\DragDropHandlers\{BD472F60-27FA-11cf-B8B4-444553540000}]
@=""
[HKEY_CLASSES_ROOT\Folder\shellex\PropertySheetHandlers]
[HKEY_CLASSES_ROOT\Folder\shellex\PropertySheetHandlers\BriefcasePage]
@="{85BBD920-42A0-1069-A2E4-08002B30309D}"
[HKEY_CLASSES_ROOT\Folder\shellex\PropertySheetHandlers\Offline Files]
@="{7EFA68C6-086B-43e1-A2D2-55A113531240}"
[HKEY_CLASSES_ROOT\Folder\ShellNew]
"Directory"=""
"IconPath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,\
00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,33,00,\
00,00
"ItemName"="@shell32.dll,-30396"
"MenuText"="@shell32.dll,-30317"
"NonLFNFileSpec"="@shell32.dll,-30319"
[HKEY_CLASSES_ROOT\Folder\ShellNew\Config]
"AllDrives"=""
"IsFolder"=""
"NoExtension"=""
3. After pasting the above commands, please click File on the menu and click Save.
4. Type in NewFolder.reg as the file name, select to save the file on the Desktop. Click Save.
5. Go to the Desktop, and double click NewFolder.reg. A dialog box will pop-up saying "Are you sure you want to add the information in fix.reg to the registry?". Click Yes to confirm.
Note: Administrative privileges are required to perform the above steps. Please click "Continue" when the User Account Control dialog-box appears.
I did everything as stated above:
1. Open up a command prompt window by right clicking Run As Administrator and type in: sfc /scannow - No problems were found for me.
2. I backed up the registry by going to Start and typing in regedit. Click on Computer in the left panel. Go to File, Export, type in a file name and save.
3. Open up Notepad and copy all of the above from Step 2 in the article suggestion. Follow Steps 3, 4, and 5 from the article suggestion. I did get a pop up box similar to Step 5, but it was worded differently. I then got another pop up box with an error message that other processes were in use and the key couldn't be written.
I then tried creating a New Folder in Windows Explorer by right clicking. The New Folder option still wasn't there, so I clicked on the New Folder menu item. Guess what? A new folder was created! I then tried the right click and New Folder is now showing as an option.
No idea what caused the problem of not being able to create a New Folder from within Windows Explorer, but that was the fix that worked for me.
BTW, my laptop is running Windows 7.
More Windows 7 Resources
Thursday, February 21, 2013
What To Do Frozen Windows Update
During the day, I refuse to reboot my laptop unless it's absolutely necessary because I never know when Windows will try to install an update. Installations normally finish pretty quick and I can continue, but a few months ago I rebooted and the installation just sat there forever. The screen said it was installing x out of y updates with blinking periods. I wasn't sure if it was doing something or not, so I left it. After a few hours I was really starting to wonder. I finally ended up researching what to do on the internet using my other laptop.
The same thing happened to me yesterday. I let the install go for 5 hours before interrupting it.
What I did was hold the power key down for about 10 seconds. The laptop turned off. I pushed the power button again to turn it back on and chose startup in Safe Mode. Safe Mode took care of whatever the issue was and booted into Windows. I then restarted into normal windows mode. Things seem ok except whenever an app called 4shared Desktop tries to start, it gives an error message. No big deal since I don't use it anyways.
5 hours is a good length of time to wait, 2 - 3 hours minimum, before killing a Windows update. One site I read even said to wait 30 minutes. I'd rather wait a little longer just to be sure. Killing a Windows update when it's actually doing something might cause more harm than good.
BTW, my laptop is an HP Pavilion dv5 running Windows 7.
The same thing happened to me yesterday. I let the install go for 5 hours before interrupting it.
What I did was hold the power key down for about 10 seconds. The laptop turned off. I pushed the power button again to turn it back on and chose startup in Safe Mode. Safe Mode took care of whatever the issue was and booted into Windows. I then restarted into normal windows mode. Things seem ok except whenever an app called 4shared Desktop tries to start, it gives an error message. No big deal since I don't use it anyways.
5 hours is a good length of time to wait, 2 - 3 hours minimum, before killing a Windows update. One site I read even said to wait 30 minutes. I'd rather wait a little longer just to be sure. Killing a Windows update when it's actually doing something might cause more harm than good.
BTW, my laptop is an HP Pavilion dv5 running Windows 7.
Wednesday, February 20, 2013
Facet Search Implementation Tips
I recently added a facet search capability to a website. It's really cool! Facet search allows the user to apply filters to a collection of data in order to narrow down the results. Implementation is more complicated than it initially sounds.
Assuming the data is stored in a database, one way to implement facet searching is to repeatedly call the database with a new query whenever a filter is added or removed. This way can get complicated, but it's possible. It seems like it may be a little slow too. Here are a few links with details on how to implement it: http://stackoverflow.com/questions/8300675/php-navigation-with-filters http://ivaldi.nl/2012/05/seo-friendly-faceted-search-1/
The other way to implement facet searching is to load all of the data once when the page loads. When a filter is activated or deactivated, the filter is applied to the stored data and the results updated. Loading all of the data at once may be a little slow, but once the data is all loaded the filtering goes pretty quick. You can hook in ajax, so that when the filter is activated or deactivated, the results immediately update without a page reload. The site I was adding this to is pretty complex and to reload the page each time wouldn't be the greatest user experience. There were a couple of examples I followed for the implementation. The main one being: http://eikes.github.com/facetedsearch/
Other helpful examples were:
http://proj.2ality.com/facetator/
The facet menu had 3 facets. One was a list of checkboxes. The other two were a series of links where only one link in each facet could be active at a time.
I made a template file for the general outline of the facet menu, a script file to control features of the facet menu itself, such as hide a facet when only one choice is allowed and updating a current selections div. It sat on top of the facetedsearch example script. That file needed a few changes in order to accomodate the data being filtered and to blend the results into the way the page was displaying the results.
I also changed the way the counts were displayed. I took out the + and found the counts for each option based on the filtered data. That was a little tricky, but worked out good.
Another key piece in making the facet search run smoothly is to add a hash tag at the end of your url with parameters for the currently set filters. ex: www.abc.com/#x=1&y=2
Doing this ensures the back/forward buttons navigate smoothly. Some helpful links about that are:
http://blog.mgm-tp.com/2011/10/must-know-url-hashtechniques-for-ajax-applications/
I ended up using this plugin for Internet Explorer 7 to work properly: http://benalman.com/projects/jquery-hashchange-plugin/
For browsers supporting history.pushback, you can just do:
window.history.pushState({path : pageurl}, '', pageurl); to add the hash tag.
For browsers not supporting history.pushback, you do:
window.location.hash = filter_str;
To make it work, you do:
var originalHash = window.location.hash;
if (window.history && window.history.pushState) {
window.addEventListener("popstate", function(e) {
var newHash = window.location.hash;
if(newHash != originalHash) {
//get the filters from the url, apply them & update the results
}
originalHash = newHash;
});
}
For Internet Explorer 7:
$(function(){
$(window).hashchange( function(){
var newHash = location.hash;
if(newHash != originalHash) {
originalHash = newHash;
//get the filters from the url, will need to compare them against current filter,
apply them if different, update the results
}
})
// Since the event is only triggered when the hash changes, we need to trigger
// the event now, to handle the hash the page may have loaded with.
$(window).hashchange();
});
For Internet Explorer 8+:
$(window).bind('hashchange', function() {
var newHash = window.location.hash;
if (newHash != originalHash) {
//get the filters from the url, will need to compare them against current filter,
// apply them if different, update the results
}
originalHash = newHash;
});
Facet search menus are generally located on the left, sometimes at the top, not usually on the right. Example sites that implement facet search menus include: Old Navy, Walmart, Amazon, Toysrus, Best Buy, Ebay and Kmart.
More JavaScript
Assuming the data is stored in a database, one way to implement facet searching is to repeatedly call the database with a new query whenever a filter is added or removed. This way can get complicated, but it's possible. It seems like it may be a little slow too. Here are a few links with details on how to implement it: http://stackoverflow.com/questions/8300675/php-navigation-with-filters http://ivaldi.nl/2012/05/seo-friendly-faceted-search-1/
The other way to implement facet searching is to load all of the data once when the page loads. When a filter is activated or deactivated, the filter is applied to the stored data and the results updated. Loading all of the data at once may be a little slow, but once the data is all loaded the filtering goes pretty quick. You can hook in ajax, so that when the filter is activated or deactivated, the results immediately update without a page reload. The site I was adding this to is pretty complex and to reload the page each time wouldn't be the greatest user experience. There were a couple of examples I followed for the implementation. The main one being: http://eikes.github.com/facetedsearch/
Other helpful examples were:
http://proj.2ality.com/facetator/
The facet menu had 3 facets. One was a list of checkboxes. The other two were a series of links where only one link in each facet could be active at a time.
I made a template file for the general outline of the facet menu, a script file to control features of the facet menu itself, such as hide a facet when only one choice is allowed and updating a current selections div. It sat on top of the facetedsearch example script. That file needed a few changes in order to accomodate the data being filtered and to blend the results into the way the page was displaying the results.
I also changed the way the counts were displayed. I took out the + and found the counts for each option based on the filtered data. That was a little tricky, but worked out good.
Another key piece in making the facet search run smoothly is to add a hash tag at the end of your url with parameters for the currently set filters. ex: www.abc.com/#x=1&y=2
Doing this ensures the back/forward buttons navigate smoothly. Some helpful links about that are:
http://blog.mgm-tp.com/2011/10/must-know-url-hashtechniques-for-ajax-applications/
I ended up using this plugin for Internet Explorer 7 to work properly: http://benalman.com/projects/jquery-hashchange-plugin/
For browsers supporting history.pushback, you can just do:
window.history.pushState({path : pageurl}, '', pageurl); to add the hash tag.
For browsers not supporting history.pushback, you do:
window.location.hash = filter_str;
To make it work, you do:
var originalHash = window.location.hash;
if (window.history && window.history.pushState) {
window.addEventListener("popstate", function(e) {
var newHash = window.location.hash;
if(newHash != originalHash) {
//get the filters from the url, apply them & update the results
}
originalHash = newHash;
});
}
For Internet Explorer 7:
$(function(){
$(window).hashchange( function(){
var newHash = location.hash;
if(newHash != originalHash) {
originalHash = newHash;
//get the filters from the url, will need to compare them against current filter,
apply them if different, update the results
}
})
// Since the event is only triggered when the hash changes, we need to trigger
// the event now, to handle the hash the page may have loaded with.
$(window).hashchange();
});
For Internet Explorer 8+:
$(window).bind('hashchange', function() {
var newHash = window.location.hash;
if (newHash != originalHash) {
//get the filters from the url, will need to compare them against current filter,
// apply them if different, update the results
}
originalHash = newHash;
});
Facet search menus are generally located on the left, sometimes at the top, not usually on the right. Example sites that implement facet search menus include: Old Navy, Walmart, Amazon, Toysrus, Best Buy, Ebay and Kmart.
More JavaScript
Wednesday, December 19, 2012
Data Storage Backup Plan
I've been doing some final Christmas shopping the past few days. I hate shopping. It takes me forever to figure out what to buy, and then I spend lots of time comparing brands and prices. I'll be so glad when Christmas is over, and I can get back to normal.
My brother just wants money and gift cards, so at least he was easy. He wants to buy a laptop since his desktop died. To go along with the cash, I purchased a Kingston Digital 16 GB USB 2.0 Hi-speed Datatraveler Flash Drive DT101G2/16GBZ. It's $9.99 at Amazon.com. Pretty good price for 16gb of data storage. I got one for myself too. I really need to come up with a better backup system for my laptop. If anyone can recommend free backup software, please leave me a comment.
I'm paranoid about making backups of individual files when writing code, but when it comes to making backups of my hard disk, I need improvement. I just don't take the time to do it, so I need something automated. A 16gb flash drive should be a good size for storing what I need to backup.
There are companies out there that specialize in backup systems. One company is called Nexsan. They are one of the leaders in data storage production. Their storage systems have built in features to backup and restore. They have an E-series storage system that is ideal for mid-sized companies.
Backing up your data is crucial. The hard drive on my old work laptop suddenly went one day and nothing could be recovered. That really sucked, but I didn't really lose anything because I had backups. Good thing.
Monday, August 27, 2012
AppZapp App Bargain Guide iPhone iPad
The number of apps out there is a bit overwhelming. There is an app for just about everything. There are even different apps for different platforms. There are apps specific to browsers like Firefox and Google Chrome. There are apps specific to the Android operating system. There are apps specific to the Kindle Fire. There are apps specific to the iPad and iPhone. It's endless.
Trying to pick through all of the apps for just one specific device or browser is a daunting task. I always tend to look through the top rated apps, but I'm sure there are some pretty good apps out there at the bottom that just don't get noticed.
A small startup company from Switzerland has created an app called AppZapp. It is for the iPhone and iPad. I don't have either one of those, so I'm out of luck, but for those of you that do have one of those, the AppZapp sounds like it might come in handy.
The AppZapp is an app which allows you to share your apps with friends. They can see what apps you like and you can see what apps they like. The AppZapp also lets you see all app sales, news apps, price and seller alerts. It will instantly alert you of price drops, so that you can get a good deal. AppZapp the App Bargain Guide for the Apple App Store for iPhone & iPad is available in all 123 Apple app stores. An iPhone Free version is available on iTunes. AppZapp is also available in 11 languages.
Saturday, August 4, 2012
Digitizing Photos To CD
I finally gave in and replaced my 8 year old HP Photosmart 2510 all in one printer. It was having issues printing in color. It would give an error that something was wrong with the color ink. After I replaced the color ink cartridge, it would work ok for a while, but then the error would pop up again. The new ink cartridge wouldn't even be empty yet.
I went with the HP Photosmart 7510 all in one printer. It just arrived today. It's installing some required software now and so far so good. I also really needed a new printer, since I lost the installation cd to my old printer and was unable to print from my new laptop. The HP Photosmart 7510 prints wirelessly, so that should come in handy.
I had to use my old desktop computer in order to scan in a few photos. I have tons of photos that should be scanned. Maybe my new printer will give me an incentive to start scanning them in. It's one of those time consuming tasks I just don't get to. Maybe when the boys are grown I'll magically have more time in the day.
I should just package up all the photos that need scanning and send them to one of the photo scanning services. Paying someone else to convert photos to cd would be a big help.
A company called ScanDigital offer a photo scanning service. In order to digitize your photos, you place your order, package your photos and send them via UPS to ScanDigital. After your photos are received, they are put in a queue for processing. They are scanned and undergo a first round of quality checks. The scans are then edited and optimized before undergoing a second quality check. A final quality assurance review is done before the photos are stored to disc. The order is then finalized and billed before being shipped to you via UPS. The order is also uploaded to an online gallery. It is a pretty lengthy process in order to ensure you get the best possible digitized photos. It is certainly worth checking out, if you don't have the time or equipment to digitize your photos yourself.
Monday, June 25, 2012
Tuesday, June 12, 2012
Wind Forecast Tool PredictWind
A big windmill project was installed near my parent's farm a few years ago. It's purpose is to use wind to produce energy for residents in New York City. I don't know how many windmills were installed, but they are scattered all around for miles and miles. There is also a big substation that was installed just down the road from my parent's home. The only thing I like about the substation is it looks really pretty at night as it has a ton of lights. I do wonder if the substation has any negative effects on the health of people who live in the area. The substation is right on top of several houses. I definitely would not want to live near it.
Many people who live near a windmill have complained about the noise. I can't say I blame them. I wouldn't want to live in an area that was once quiet and now has a constant background noise. On Sunday we drove by a windmill that was fairly close to the road. They are very scary looking. Each windmill is very tall and has three super long, sharp blades that turn. I think they are evil looking.
On a positive note, windmills are a green energy alternative as they turn free wind into energy to use by people.
There must be a lot of technology involved in converting wind into energy. Windmills definitely need to be built in an area that receives a large amount of wind.
There is actually software called PredictWind at http://www.predictwind.com that gives wind forecasts. It provides wind weather updates every hour with a wind speed and direction map for your area. It is pretty accurate as it uses two data sources that produce two forecasts for comparison. You can also get access to 15,000 live wind observation stations located all over the world. PredictWind is a great tool for boaters, yachters and anyone else traveling by water. It uses different physics, parameters, and complex equations to calculate weather data such as wind speed, direction, temperature, pressure, rain and cloud. The model that PredictWind uses has been developed by a team of research scientists for over 25 years. It sounds like a very interesting piece of software.
Many people who live near a windmill have complained about the noise. I can't say I blame them. I wouldn't want to live in an area that was once quiet and now has a constant background noise. On Sunday we drove by a windmill that was fairly close to the road. They are very scary looking. Each windmill is very tall and has three super long, sharp blades that turn. I think they are evil looking.
On a positive note, windmills are a green energy alternative as they turn free wind into energy to use by people.
There must be a lot of technology involved in converting wind into energy. Windmills definitely need to be built in an area that receives a large amount of wind.
There is actually software called PredictWind at http://www.predictwind.com that gives wind forecasts. It provides wind weather updates every hour with a wind speed and direction map for your area. It is pretty accurate as it uses two data sources that produce two forecasts for comparison. You can also get access to 15,000 live wind observation stations located all over the world. PredictWind is a great tool for boaters, yachters and anyone else traveling by water. It uses different physics, parameters, and complex equations to calculate weather data such as wind speed, direction, temperature, pressure, rain and cloud. The model that PredictWind uses has been developed by a team of research scientists for over 25 years. It sounds like a very interesting piece of software.
Tuesday, May 29, 2012
Prepaid Cell Phones
I got my first cell phone when I was in college. Having a cell phone was a good idea considering I had an hour drive each way and a slightly unreliable car. My first cell phone was a big, clunky Motorola flip phone with service through Frontier Cellular. It was also analog instead of digital like today's cell phones. Frontier Cellular was bought out a few times and eventually became Verizon Wireless. Over the years, I've upgraded my cell phone a few times. My current phone, Samsung Stratosphere, is my first smartphone. I really don't use it for much other than checking email and occasional Google searching. I only use about 1GB of my 4GB monthly data plan, so I should probably try to use it more often. I just prefer a larger screen, so I use my laptop for web activities.
These days, there are a ton of options to consider when you are signing up for cell phone service. There are a lot of different carriers with varying plans, including prepaid plans. Each carrier has it's own line of cell phones too. Even prepaid plans offer only certain phones. T-Mobile prepaid cell phones can be an entirely different selection than the prepaid phones offered by Tracfone.
Prepaid phones are actually a pretty good idea if you don't use your cell phone much. Prepaid phones are even available as smartphones. Data usage just comes out of your minutes.
. Prepaid plans also let you carry unused minutes over from month to month. My mother has a Tracfone that she uses to carry in the car with her. About four times a year she buys a 60 minute, 90 day card for $20.00 and adds it to her phone, so that it remains active. She has a ton of minutes from being lightly used and carried over from month to month for years. Her total cell phone bill for one year is about $80.00. Most people have a monthly cell phone bill that costs way more than that, whether they use it or not.
If you have a cell phone that isn't used much every month, a prepaid cell phone plan might be worth looking into.
These days, there are a ton of options to consider when you are signing up for cell phone service. There are a lot of different carriers with varying plans, including prepaid plans. Each carrier has it's own line of cell phones too. Even prepaid plans offer only certain phones. T-Mobile prepaid cell phones can be an entirely different selection than the prepaid phones offered by Tracfone.
Prepaid phones are actually a pretty good idea if you don't use your cell phone much. Prepaid phones are even available as smartphones. Data usage just comes out of your minutes.
. Prepaid plans also let you carry unused minutes over from month to month. My mother has a Tracfone that she uses to carry in the car with her. About four times a year she buys a 60 minute, 90 day card for $20.00 and adds it to her phone, so that it remains active. She has a ton of minutes from being lightly used and carried over from month to month for years. Her total cell phone bill for one year is about $80.00. Most people have a monthly cell phone bill that costs way more than that, whether they use it or not.
If you have a cell phone that isn't used much every month, a prepaid cell phone plan might be worth looking into.
Saturday, May 26, 2012
Tote Mixer Dynamix
In the chemical manufacturing industry, good quality chemical mixers and totes are important. There is a company called Dynamix that specializes in tote mixers. They design tote mixers especially for tote mixing. They view tote mixing as a key part of quality control, so that a good tote mixer can be part of a strategic quality control plan.
Dynamix has an integrated line of tote mixers in addition to bridge tote mixers, which are designed for stainless steel or plastic mixers.
Plastic tote mixers are a fairly new line of mixers that use an impeller technology. Plastic totes are a result of the evolution from stainless steel to plastic. There are several different types of plastic totes, including rotationally molded and bow molded plastic totes.
The stainless steel tote tank mixer was originally designed for the automotive industry. It continues to be used in new industries to increase quality control. The stainless steel tote tank mixer allows for processing of batches which are too small for processing in a large steel tank.
Dynamix has a large knowledge base for dealing with mixing challenges specific to steel tank or steel totes.
Dynamix steel tote mixers can be used with steel totes of all sizes and shapes.
Dynamix has an integrated line of tote mixers in addition to bridge tote mixers, which are designed for stainless steel or plastic mixers.
Plastic tote mixers are a fairly new line of mixers that use an impeller technology. Plastic totes are a result of the evolution from stainless steel to plastic. There are several different types of plastic totes, including rotationally molded and bow molded plastic totes.
The stainless steel tote tank mixer was originally designed for the automotive industry. It continues to be used in new industries to increase quality control. The stainless steel tote tank mixer allows for processing of batches which are too small for processing in a large steel tank.
Dynamix has a large knowledge base for dealing with mixing challenges specific to steel tank or steel totes.
Dynamix steel tote mixers can be used with steel totes of all sizes and shapes.
Subscribe to:
Posts (Atom)