Technical opinions, advise, tips and projects I’m working on.

I was about to buy a 3rd different USB wireless adapter and even considering a PCIe model with external antenna since I kept getting horrible performance with the nano adapters. I liked that they could just be plugged into the back of the system to add wireless support and they worked great on the Raspberry Pi, but on a desktop the performance was not much better than a dial-up connection.  Before ordering anther product someone mentioned interference and I then did a bit more digging and found Intel actually published a whitepaper on this subject (Linked at bottom).

After testing I was able to clearly see the effects of 2.4Ghz interference and would recommend to anyone having performance problems with wireless adapters to get a USB extension cable.  Using the same Plugable nano-N wireless adapter I ran a speed test from 3 locations:

Connected directly to back USB port

Connected directly to front USB Port

Connected to USB port via extension cable 3′ away

Intel’s Article:

I was planning to setup a Raspberry Pi to use my hosts file to filter out and block ads, but while digging around on the web found a project that had already done that along with added a web admin panel and statistics too.  Pi-hole is a quick and easy to install ab-blocking solution for the whole network.

Their site has a well laid out guide and their support is fast should you run into any issues. For the most part though it’s 1) get a Pi with Raspbian Lite 2) run curl -L | bash on the Pi then 3) make a couple changes on router DNS server and restart systems to receive updated settings. Once up and running all devices connecting to your network will enjoy ad-blocking even if ad-block software is not or can’t be installed on them.

Mine has been running for number of months now without any issues and receives regular updates of ad sites to block. A quick look at the admin panel shows the current day’s statistics.

paintbrush-150pxWhen working in modern word processors with multiple documents or sources it’s easy to end up with all sorts of different formats mixed together. The task of trying to manually format all the text in a document can be tedious and allows room for error. A simple solution is the Format Painter, which will copy the format of selected text to other areas of the document. Both LibreOffice and MS Office have this feature represented by a paintbrush icon in the tool bar.

To use the format painter highlight text with the format you want to paint other text with, then if only painting one selection of text click the format painter button or double click the format painter if painting multiple selections. The button will remain pressed and you can then highlight the text to be painted which will then have same format as the original selection.

Over time of downloading images from various sites I ended up with a bunch that had the wrong extensions. Either jpg that were really png and vice versa along with some ending in jpg-large.  This became more of a problem in that some viewers did not know how to open the images with incorrect file extensions.  After a few friends mentioned having similar issues I wrote a script to correct the extensions.  This script is written for BASH 4 or above and runs recursively on directories scanning all files to correct jpg and png extensions.


Download: pic-jpgpng-fix_v09

Checksums for
MD5: 831afb9213ff9627683fd76c6c043b78
SHA256: e6f30bbbf93861632e56f2418278b141e80149db98c3c8eb023bb8df6f59aed9
Signed by my certificate with fingerprint: FBD2 A63D 0835 965D 0D94 1098 D54F 078F A777 5B9D

My last post discussed updating the host file on Andriod. After doing a bit more tweaking I wrote a script which can be downloaded at the end of the article or created from the code below. The script will automatically download the latest hosts file from and install it. It requires to be run as root and under the assumption that /sdcard exists as a storage location. Remember also to set the script permission to 700. The script can also be added to the crontab so you don’t have to worry about it again. (Next article will go over setting up crond and crontab on Android)

The Script:


#Remount /system RW
mount -o remount,rw /system

#Make copy of current hosts file if backup does not exist
#Comment out this block if you have installed hosts file before making backup
if [ ! -f /etc/.etchosts ]; then
cp /etc/hosts /etc/.etchosts

#Check and create tmp dir if required
if [ ! -d /sdcard/tmp ]; then
mkdir /sdcard/tmp

cd /sdcard/tmp
cat hosts.txt > /etc/hosts
rm hosts.txt

#If you need to add lines to host file
#make changes to /etc/.etchosts
#and uncomment next line to enable appending to hosts
#cat /etc/.etchosts >> /etc/hosts

#Remount /system RO
mount -o remount,ro /system

sha256sum 95256b28deee2cbcd418f51ed6e358d42b7651bdbcc955521457dc370e5c537a

By now anyone using the internet is bombarded by ads everywhere online unless measures are taken to minimize them. There are plenty of ad blocking programs out there but another method that is easy is implement is the use of the hosts file. Originally this file was used to map hosts names to IP address before Domain Name Servers (DNS) was implemented in 1984 allowed for the process to be automated. For most end users today this file is unused but could provide beneficial experiences if configured. When an IP address is specified in the hosts file for a domain the system will use that address, allowing blocking of sites by directing them to or This can be used to stop ads from loading and potentially increase page load times. Now it might seem like a tedious task to add all the add sites to block but there are providers of hosts files that are already completed and updated regularly; I use to provide my hosts files.

Note that while the hosts file when configured can block ads and some malware redirects, it is only an additional layer of protection. Systems should still run other forms of protection such as anti-virus and anti-malware with the hosts file. Below are instructions to load the file from to the most common operating systems.


The hosts file in modern distributions is located at %SystemRoot%\system32\drivers\etc\hosts and can be edited with notepad or other text editors. Just be sure not not add any extension like .txt which the built in notepad is known for doing. Note that the file is in the windows directory so any app trying to edit it will require being run as administrator.

Thankfully however, has an app to update the host file easily. Just download the zip file from and unzip to a folder. Then right-click the mvps batch file and choose Run as administrator. This will load the downloaded data into the host file. More detailed instructions and the date of last updated host file is available on their site.


While I was manually updating host files before, came across a post to make a script for Linux which when added to the chrontab allows for easily maintaining the most up to date hosts file. Visit for details and description of the script. I made a few small changes.

To complete these steps you will need to be running as root or using sudo su to get root permission. Your prompt should end with #

First, backup your current host file:
cp /etc/hosts /etc/.etchosts

Next use vi or nano to create the script /root/ and add the following code to it:
cd /tmp
rm /etc/hosts
mv hosts.txt /etc/hosts
cat /etc/.etchosts >> /etc/hosts

Make the file executable by running:
chmod +x /root/

Schedule to run automatically:
run crontab -e then add the line below to make it update nightly at 23:59
59 23 * * * /root/ > /dev/null 2>&1
The time can be changed by adjusting the numbers. the > /dev/null 2>&1 is sending all output from the scheduled job to the bit bucket so that crontab does not email the results each night.


Instructions for updating the Mac OS host file can be found here:


If you have root on your Android device the hosts file is stored at /system/etc/hosts and can be changed with a terminal app, however you will need to mount the path as R/W before changes can be made. Something like Beansoft – Mount /system (rw / ro) will do the job. Because on Android the hosts file is symbolic linked to /etc/hosts as well it seems to not want to allow overwriting the file but the contents can be changed with the cat command and achieve the same desired result.

Remember to run su as commands require root access.

First time  backup your current hosts file:
cp /system/etc/hosts /system/etc/.etchosts

Then run the following to update:
cd /sdcard/tmp
If you do not have a /sdcard/tmp directory run mkdir /sdcard/tmp and rerun the cd command above
cat hosts.txt > /system/etc/hosts
cat /system/etc/.etchosts >> /system/etc/hosts
rm hosts.txt

At this point you can exit terminal and then remount System as R/O.

So it may have been noticed that I haven’t posted in a while, a little more than a month to be exact. Part of that was due to being extremely busy with stuff I need to blog about, but also the fact that I had articles written that needed media uploaded and was being plagued with upload errors. To make it worse, the errors were so generic I had no idea where to start troubleshooting.

1-5-2015 12-21-21 AM
With the errors appearing after the 4.1 upgrade to WordPress I thought that maybe the issue but with no one else reporting issues then it would be unlikely. My next thought was folder permissions. My permissions had been set to 705, but that had been working in the past just fine. I adjusted the permissions to 755 and also an attempt with 777 just to check, but still got the same error. During this time I also noticed that it was uploading the main file to the server but not creating thumbnails so that helped in ruling out permissions and thus I went back to the 705.

1-5-2015 12-22-49 AMWhen checking in WordPress again, I found that it recognized the main image when full size, but with no thumbnails and just a default file icon when displayed otherwise. This made me wonder a bit more, but still without an error to go on would have to do digging. I already knew from past that contacting the host really would not get any results unless I knew exactly what was wrong and requested specifically what I needed to have fixed.

Next logical check, my file system quota. While my host offers a large amount of space, it is by default not assigned to the quota and occasionally a increase might need to be requested. I’ve needed increase in the past for running over the file limit, so ran ‘quota -v’ only to find that I still had plenty of storage space and files remaining to create.

1-5-2015 12-49-26 AM

Now, I was really at a loss. I started looking more closely at what I had uploaded in the past.  Everything seemed to have been smaller files in general. While the file I wanted to upload was well below the php.ini settings of 8MB at only 2MB and I thought that should be fine. I attempted with another small file and found, however, and it worked. The only thing I can think of is perhaps I am hitting a host memory usage threshold but don’t have a way to easily check that I’m aware of. It would appear however as long as I do not exceed 1500px on image width or height it should work so I can now resume posting.

Glad it works now but I really wish developers would put in more meaningful errors.

A common issue I’ve run into on public access Wi-Fi is web content filtering. While it is great places offer guest Wi-Fi, I don’t care for being restricted to what I can or cannot look at while connected. So in that case an easy solution is to change the DNS server your device is resolving to and bypass any DNS filters and blocks the guest Wi-Fi service may have.  Other options include remote access of another computer else where (like your home computer if doing sensitive transactions), or a VPN connection.

As DNS settings are generally easy to edit and Google has an easy to remember DNS servers I use them regularly. These can be set on your devices or even in your router. For the purpose of this article I have included steps for Android and Windows 7.

Google Public DNS IP addresses (IPv4):

Google Public DNS IP addresses (IPv6):

Setting the DNS on an Android device is fairly straight forward; just go to Wi-Fi settings, tap and hold on the network after connecting then select Modify Network. On the screen that appears check the box to display advanced settings and change IP settings to Static. Once on the IP settings screen just replace the DNS servers with the Google ones (Conveniently on Android when you erase the DNS servers, Google’s pre-populate).
Android Network Settings

On Windows it is a few more clicks but still easily set. Just go to the Control Panel and select Network Sharing Center. Then click the option Change Adapter Settings. Right-Click adapter to change (wireless) and select the properties option. Double click on the IPv4 then enter Google’s DNS server settings.
Win7 Network Settings

Suction CupI’ve had issues with air bubbles before in my tablet screen and usually they’d go away on their own if the screen was left flat or at a slight angle. However, this last one seemed to be stuck right in the middle of the screen and after a few days was rather annoying with the screen color distortion and causing interference with the digitizer.

Warning: I’m not responsible if you break your screen attempting this!

While searching around for possible solutions I came across a suction cup with a flip tab to add or release the suction. Applying this suction cup over the air bubble and giving a wiggle then releasing the suction seems to have resolved the issue and there is no longer any issue with my screen. I’ll be keeping the suction cup handy in case another bubble should form again, but at least for now I don’t need to consider a tablet replacement.

As previously discussed in Part 1, a password manager can assist in maintaining secure and unique passwords for every site you access while only having to remember one master password. However, which is there right one to use? LifeHacker reviewed six in their article which I used as a starting point in my decisions. If you’re really paranoid you may also want to look at Clipperz which was not reviewed by LifeHacker. It appears very secure, however, only accepts Bitcoin as payment so that made me look at more easily available solutions for the current time.

Before picking a password manager a few things need to be looked at:

  • Is it for local computer only or will it need to sync to other computers?
  • What about use on mobile devices?
  • The level of security offered and required to meet your needs?
  • Costs of software?

For the past 10 years I had been using RoboForm as a local only password manager. If I was to continue or start using a new local only password manager I’d look at KeePass instead for being free and open source. However, with more things online and spending more time away from my computer and on mobile devices, it was time to find a new product with better mutli-device, mobile support and cloud synchronization.

While looking at cloud options I found that RoboForm does offer cloud sync for about $20/year ($10 for the first year), but after having already spent close to $100 over 10 years to maintain desktop and portable licenses I was hesitant to throw more money at it without doing more research of the other options and verification of security.

In that regard I chose to switch to LastPass for being cross platform with could synchronization but also looked at a number of other factors. Continue Reading