Category Archives: Tutorial

How to’s, guided tour on how to perform some action(s).

How to configure Cisco Linksys WRT54G v.2 to run Pixelserv on DD-WRT

Cisco Linksys WRT54G v.2
Cisco Linksys WRT54G v.2

This is how I was able to implement the solution given by Aviad Raviv found here How to Remove Advertisements with Pixelserv on DD-WRT


I am not going to go through his tutorial or how to get DD-WRT onto your Cisco Linksys WRT54G v.2. Aviad did a wonderful job, for the most part, and there are plenty of DD-WRT tutorials out there. I followed every step that Aviad wrote up, downloaded what he said to download, made every configuration as it was laid out but I could not get the script to run. I kept getting errors like these

In the WRT54G commands GUI:

sh: eval: line 1: /jffs/dns/ not found


And this in the SSH CLI

root@Deadend:~# sh /jffs/dns/
: not line 10: {
: not line 12: }
: not line 13:
: not line 15: {
/jffs/dns/ line 189: syntax error: end of file unexpected (expecting "then")

I spent a few hours trying this and that, permissions, and manually editing the file with Notepad++ and / or vi. Nothing worked. I knew about the big Indian / little Indian situation when working with files to be run on a Unix / Linux system with a Windows system. I have never run into that issue while using Notepad++ though. This was making me crazy, plus I could not remember ever even opening that file before I uploaded it to my WRT54G so what was the deal. Well as a last ditch effort I tried to run dos2unix on the file on the WRT54G … well that program is not on the WRT54G, to save space I am sure. So I uploaded the file to my CentOS 6 box and tried to run dos2unix … well it wasn’t there, I did a minimal install when I setup that box so I got:

-bash: dos2linux: command not found

Thankfully that machine is connected to the Internet and a quick

sudo yum install dos2unix -y

got it installed. I then dos2unix’ed the file and migrated it back to the WRT54G; BTW the file size changed from 10KB to 9KB so something was changed for sure. After putting this new version of the sh script on the WRT54G I rebooted it. When it came back up I checked WinSCP and the files that were to be created on first run of the script were there just as Aviad said they would be.


To recap if you are not getting success with running the script after going through Aviad’s tutorial then you need to run it through dos2unix and re-upload to your router. I assume this could be a problem on other routers not just the Cisco Linksys WRT54G v.2.


I would have made this post as a comment on Aviad’s tutorial but it was not open for comments. Hope others will find this and it help them .



I spent quite some time making up this file. It is a personal-ads-list.conf with 3,595 blocked sites, mostly adult sites. I grabbed the initial list from jacop_’s post, then I formatted it to work with Pixelsrv. When you upload and reboot the router it will take some time, maybe 10 minutes or more for Pixelsrv to parse through the list.

Chromecast hotel wifi – tutorial


I was on travel just as season six of Game of Thrones was going to air and I didn’t want to wait till I got home 10 days latter. To fix this situation I ran down the street to the Wal-Mart Super store and picked up a 2nd gen Google Chromecast. I had been toying with the idea of getting one for a few years now and I finally had the excuse. Initially happy with my purchase I headed back to my room to set it up.


Initial setup was no problem, grab Google Cast from the play store, plug the Google Chromecast into a free HDMI port on the TV, switch the TV input to that HDMI port, plug the Google Chromecast into wall power or a free USB port on the TV.

I then fired up the Google Cast App and it found my virgin Cromecast waiting for instructions. I named it, Rumble, and setup the backdrop settings, and told it to use the Hotel’s Wi-Fi.


I was then presented with the “What’s On” page of the Cast App and tapped the trailer for the new Bourne movie. YouTube launched and I hit the Cast button, but I didn’t see Rumble. The TV was telling me that Rumble was connected to the Hotel’s WiFi but had no Internet connection. I tried resetting Rumble and that didn’t do anything, I even did a factory reset to no avail. The cause is that the hotel required that I accept their use agreement and log in with the password given to me by the front desk. I figured this was going to be part of setting up the Google Chromecast and a possible problem, but thought that Google would have thought about this and had put in a mechanism to work it – wrong. Fail Google, big epic fail! So I broke out Goolge and searched for “chromecast hotel wifi” to see what my fellow travelers had worked out; I found the following solutions that are well and good but did not prove to be solutions for me for one reason or another.

This one shows how to use Connectify to turn a laptop into a Wi-Fi router to connect the Chromecast to and use the Ethernet cable in the room. Looked to be viable; if I had a laptop.

This one shows how to use a “travel router” to do the same thing as the How-To Geek site but without having a laptop. Again though, I would need another piece of equipment that I didn’t have.

This one sounded like it would really be the hack I needed. Basically when you authenticate with another device that has a web browser you stay on the “thank you” page and look for a part of the URL that looks like a MAC address, then just replace that with the MAC of the Chromecast, click go, and boom the Chromecast would be authorized to access the Internet through the Hotel’s Wi-Fi. This didn’t work for me because the Hotel’s authentication didn’t present this opportunity.!topic/chromecast/TkvnWZ1WPLs&ved=0ahUKEwjbrsW33KDMAhUKKB4KHXR5BV4QFghBMAc&usg=AFQjCNFucVHZfsTY6je_Pw_qvjqyU6t6Kw&sig2=po4L4shHdO5DNYP830tsmg

This one goes over the travel router solution and the using another device as a Wi-Fi router, namely a smartphone as a Wi-Fi hotspot. Again didn’t have the router and using my phone as a hotspot wouldn’t work because to serve out Wi-Fi it wouldn’t be able to be connected to the Hotel’s.

This one just lists out the issues that I had been experiencing and listed a few features requests that the community should raise to Google. This did nothing but make me feel like I had company and stole five minutes of troubleshooting time.

This one is probably the best of them as it has a lot of good tutorials for different situations, combinations of the travel router and sharing other device network connections. But I would need another device.

After looking at these I came to the conclusion that the best option for me would be to go find a travel router, as getting a new laptop just to stream some Netflix and HBO would not be acceptable to the wife … that’s not fair it wasn’t acceptable to me too. A few shops popped up on Google Maps when I searched for “electronics” so I headed out on a second shopping trip. At my third and final stop I settled on an Apple Airport Express. I was rather sceptical about getting it; first off it was $100 bucks and second it’s an Apple product and despite the general consensus of Apple’s “It just works” mentality I didn’t think it would play nice with my HTC One M8 Android phone. Aaannd it didn’t! I wound up taking it back the next day.

Solution 1 – Tell the truth:

I called the support desk of the Internet Service Provider (ISP) and explained that I was trying to get my Chromecast to have Internet access but it didn’t have a web interface to let me authenticate. The tech asked what property I was at and room I was in. I then gave them the MAC and boom Rumble could see the Internet.


Solution 2 – Social engineering via sympathy:

I was mid way through my trip and I had to switch hotels. I tried to call the ISP support for the new hotel with great hopes that things would go as smooth as the last hotel, I was wrong. I was told by the tech that they did not allow devices like Chromecasts on their network for security reasons, to paraphrase, the interconnection the these devices are capable of can cause privacy concerns. That is a lame excuse in my opinion giving any network connection to individuals poses the same level of risk in a public setting no matter what device is connected. If I were to be malicious then I would have tools onboard that would get me around a login website. I don’t even know of any hacking that can be done via Chromecast or Roku, etc. but now my interest is peaked so I will do some searching. Anyway it was late so I just watched the Game of Thrones season 6 premier on my time phone display while cursing the lame excuse given by the ISP. The next morning I started thinking about what other type of devices require or at least have a Wi-Fi connection that they wouldn’t give me a lame excuse for. Thanks to #TheInternetOfThings there are lots of devices that should work for me. Also thanks to a recent purchse made by my parents which lead to their calling me for help and giving me the product that I would use. A Continuous Positive Air Pressure (CPAP) machine. See they have Wi-Fi now so it can send info that it collects about your sleeping trends, then a Doctor can adjust the machine to get an optimum setting without the patient going in for further sleep studies. So back from that tangent. I called up the ISP again and gave pretty much the same story about the device I had not having a web interface but needing an Internet connection, only this time the device is my CPAP that helps me breath at night and get a good night’s sleep. I figured hotels are supposed to help you get a good night sleep so it would be shared for them to refuse. I also figured that they wouldn’t have a MAC lookup table to see the manufacturer of the device. I was right and the tech hooked up the MAC of my Chromecast. The lesson learned is when you don’t get your way by telling the truth, slightly change the truth and you will probably make it through.

Making the decision to give up and call tech support is one of the hardest things to do, especially for us techies. I lucked out and the techs I got at both helpdesks were in the US, I assume this because they all spoke English like it was the only language they knew. They also didn’t waste my time by having me “Turn it off and on again”, or tell me it couldn’t be done – at least after I found the soft spot for the type of devices they would allow on the network. So if you can bring yourself to do it give tech support a call first and let them have 5 minutes, that is unless you can plan your trip to include the hardware you need.

In the future I plan on getting that TP-Link router mentioned in the Work Smart and Travel article which should be a good solution that will let me avoid the randomness of calling tech support. I do agree with John Falcone in the CNet article that Google needs to add the capability to supply authentication credentials for the Chromecast to use. How about embedding Chrome Browser into the Chromecast.


Everyday practical tutorial – Can’t find me, HA!

In this everyday practical tutorial I’ll show you how to get some privacy away from big brother, Google, and whom ever is sitting behind a remote keyboard that is trying to find you secret lair.

So you know how Google can find your Android phone using Android Device Manager. If not, check out this artical from Google that shows you how:

Google Find Phone

Well sometimes I don’t want my phone, and by association – me, to be found. I thought you might not want that to happen either. You might think that turning off your GPS radio would do the trick, that’s the logical thing a practical person would think anyway, but nope; Android Device Manager will turn it back on and track you down like you owe it money. If you want to ensure some privacy you need to turn on the Power Saver option you can find it under Settings > Battery Manager

Every day practical tutorial - power saver shot

The section in the screen shot is where you can toggle the setting On and Off with the slider. If you tap the Power saver heading it will let you select what settings Power Saver will manage. Note that GPS is not in there, not sure why. Now with Power saver on GPS will be locked out in an effort to conserve battery power; not even Android Device Manager is allowed to turn on the radio to transmit your GPS position. As an added benefit you battery should last longer. With Power saver on with its default settings you might experiance a little lag as it conserves CPU, but you want to be incognito so a little CPU hit is worth it. I didn’t notice a dramatic change anyway. I assume that the GPS can still be activated for emergency reasons by the authorities, I didn’t want to test that out so I cannot guarantee it … it just feels like something that couldn’t be permanently disabled.

Note: this was tested on a HTC One M8 with the following Everyday practical tutorial - system state


If you like this every day practical tutorial leave a comment and please please share with your friends.

Basic Windows 10 Install

So Windows 10 was just released so I thought I would make this video of installing it and poking around a bit. I used the ISO I downloaded from Microsoft using their download tool. I had it download the 32bit and 64bit versions in one ISO, kind of nice. I then set my VM to use that ISO as its boot media, the rest is in the video. Enjoy!

Special thanks to for the music in the video.

How To Install Microsoft Compliance Manager v1 On Windows 7 / Server 2008 / 2008 R2 With Microsoft SQL Server 2008 R2 Express

Make sure you have administrator rights along with user rights assignment to debug programs and manage auditing and security log, found in secpol.msc > local policies > user rights assignment.

Install Microsoft SQL Server 2008 R2 express. Go with the defaults mostly, make changes to your preference or environment, but you must make the SQL instance “MICROSOFTSCM” and have the SQL server database engine use NT authority\system for the account name, do not enter a password your system will take care of that. I would also add your domain or local administrators group to have permissions on the SQL server.

Install Microsoft Security Compliance Manager accepting the defaults or making environment specific changes.


Windows 7 or Domain Controller forgot password

So some how, and I won’t judge, you don’t have the user name and or password of an Active Directory domain administrator account and you need into that system. Your typical Windows password resetting utilities won’t work. This is because tbhe domain user accounts and passwords are not in the systems registry like they are in Windows 7, for example, but are in Active Directory.

Ok so if your like me you don’t need the talk; your server is down because you don’t have a password and you have users or management breathing down your neck asking every five minutes if you got the server back up.

Go grab your OS install disk and follow the steps below.

1. Boot to the install disk.
2. Select your language.
3. Click the link to take you to the repair tools/console, Repair you computer.
4. Select your installation you want to repair.
5. Launch the command prompt.
6. Change to the System32 directory in the Windows install directory, e.g., D:\Windows\System32.
7. Run this command: copy utilman.exe utilman.bak to make a backup of utilman.exe.
8. Run this command: copy cmd.exe utilman.exe to replace utilman.exe with cmd.exe.
9. Pop the install cd out of the system.
10. Run this command: shutdown -r -t 0 to reboot the system.
11. Once your system is done booting and your at the logon screen.
12. Click the icon in the bottom left that looks like a clock or press the Windows key + U to launch the Ease of Access wizard. But wait … what’s this. It’s not the Ease of Access wizard but a command prompt running as the SYSTEM account.
13. After you settle the evil scientist laugh that’s going on in your head run this command: net user to get a list of users, handy if you don’t know the user name of a domain admin account.
14. Run this command: net user <username> to reset the password of that account to something you know. Now you will still have to meet the password complexity requirements, if there are any, a good one to use night be $top4G3t!ngP@$$w0rd$.
15. Close the command window and logon with your reset account and password.
16. Be a good little boy / girl and undo the hack you just did. Delete the cmd version of utilman, set the password to something you will remember, only one person knows, and strong.
17. Write down the password and secure it in a safe or something.


You can use this same method when your Windows 7 users forgot the password as well. Bellow you will find a video I made of a practical demonstration of this technique.


How to make an Android development machine on Ubuntu 10.04.3 Long Term Support (LTS) Desktop 32 bit version

To start I must give credit to ‘uzzal’ and his blog “Setup Android Environment on Ubuntu 10.10,” found here, following the directions there I was able to make my first Android development environment. I made this document in order to fit my needs and update the process with the latest software at the time, other than the OS version; I picked 10.04.3 because of its LTS status.
This document assumes you have or know how to install Ubuntu 10.04.3. So please do this first by any means you know how or can find on the internet. You can download the ISO here by using the drop down in step one. Remember in creating this document I use the “Ubuntu 10.04 LTS – Long-term support” “32-bit (recommended) version of Ubuntu. I also followed this nice step-by-step on how install Ubuntu, . If you want to get the same results I show here then start with this version of Ubuntu and follow the install steps found at softpedia. I made a change to the softpedia steps by setting a 2048MB swap partition at the beginning of my disk 10240MB as the first primary partition mounted at ‘/’ and the remaining free space of 52135MB as the next primary partition mounted at ‘/home’.
*Note that this is given as is with no warranty and no guarantee. It is not the intent for these steps to cause issues with your system. With that said, making any modifications to a computer system and or its operating system does have the potential to cause issues. If you break your system while performing these actions it’s at your risk, test on a non-production system first.


We are going to download all your needed components first then install them in the order you need.
1. Download Oracle’s Java SE Development Kit (JDK) 7u2 from here if this link no longer works by the time you read this document then do a search for “JDK” and find the latest most “official” looking download location, sorry if Oracle changes things.
2. Download Eclipse IDE for Java Developers, Linux 32 Bit version, from here . At the time of this writing the version is “Eclipse Indigo 3.7.1”, again sorry if things have changed by the time you read this … use Google to find the latest stuff.

Install time:

The Oracle JDK

  1.  You can find a good tutorial on how to install JDK 7u2 here I have given you the steps I used below.
  2.  Open a terminal and “cd” to the directory where you downloaded “jdk-7u<version>-linux-i586.tar.gz” to.
  3.  Type ‘sudo tar zxvf jdk-7u<version>-linux-i586.tar.gz, note use the “TAB” button when typing out long names … it really helps, and make it a habit. This will unpack “install” the JDK to a new sub directory called “jdk1.7.0_<version>” in the current directory.
  4.  Make “jvm” directory under “/usr/lib” by typing ‘sudo mkdir /usr/lib/jvm’.
  5.  Move the” jdk1.7.0_<version>” directory to “/usr/lib/jvm/jdk1.7.0_<version>” by typing ‘sudo mv ./jdk1.7.0_<version> /usr/lib/jvm’.
  6.  Now run:
    1. sudo update-alternatives –install “/usr/bin/java” “java” “/usr/lib/jvm/jdk1.7.0_<version>/bin/java” 1
    2. sudo update-alternatives –install “/usr/bin/javac” “javac” “/usr/lib/jvm/jdk1.7.0_<version>/bin/javac” 1
    3. sudo update-alternatives –install “/usr/bin/javaws” “javaws” “/usr/lib/jvm/jdk1.7.0_<version>/ 1

The Eclipse development environment:

  1. Open a terminal and “cd” to the directory where you downloaded “eclipse-java-<version>-linux-gtk.tar.gz” chances are it is in the same directory as the JDK .tar file so stay where you are.
  2. Type ‘sudo tar zxvf eclipse-java-<version>-linux-gtk.tar.gz’, note use the “TAB” button when typing out long names … it really helps, and make it a habit.
  3. Move the “eclipse” directory to “/opt/” by typing ‘sudo mv eclipse /opt/’.
  4. Modify the permissions, ACL, for the eclipse folder with
    1.  ‘sudo chmod -R a+r /opt/eclipse’ – This recursively (-R) gives ‘all’ (a) read (+r) permissions on the “eclipse” folder.
    2. ‘sudo chmod a+x /opt/eclipse/eclipse’ – This  makes “eclipse” executable (+x) to all (a).
  5. Now to make an executable in your path
    1. ‘sudo touch /usr/bin/eclipse’ – Makes an empty file in “/usr/bin” called “eclipse”.
    2. ‘sudo chmod  777 /usr/bin/eclipse – Changes the permissions, ACL, to allow everyone full access to the file.
    3. ‘sudo gedit /usr/bin/eclipse’ – Opens the “eclipse” file in “gedit” so you can add some content to it. Here is the content, copy and paste it into “gedit” then save and close it.:#!/bin/sh #export MOZILLA_FIVE_HOME=”/usr/lib/mozilla/” export ECLIPSE_HOME=”/opt/eclipse” $ECLIPSE_HOME/eclipse $*
      Copy and paste it into “gedit” then save and close it.
  6. You will want to run Eclipse no matter where you are so make a symlink to it by typing ‘sudo ln –s /usr/bin/eclipse /bin/eclipse’.
  7. Launching Eclipse from a terminal is fine and all but what if you want to launch it from the “Applications” menu. Well you do this.
    1.  ‘sudo gedit /usr/share/applications/eclipse.desktop’
    2. Copy and paste this: [Desktop Entry] Encoding=UTF-8 Name=Eclipse Comment=Eclipse IDE Exec=eclipse Icon=/opt/eclipse/icon.xpm Terminal=false Type=Application Categories=GNOME;Application;Development; StartupNotify=true
    3. Then you will have to “save as” under “file” and browse to “/usr/share/applications” and name the file “eclipse.desktop”.
    4. Close “gedit”.
    5. Click “Applications” you should now have a section called “Programming” and under that “Eclipse”.
  8. Run Eclipse for the first time by typing in ‘eclipse –clean’
  9. Type or “Browse…” to the directory you wish Eclipse to use as your workspace, or just keep the default and click “OK”.

Install the Android ADT Plugin for Eclipse:

  1. I followed this guide starting at “Downloading the ADT Plugin.” For your convenience I have the steps below.
    1. Start Eclipse, then select Help > Install New Software….
    2. Click Add, in the top-right corner.
    3. In the Add Repository dialog that appears, enter “ADT Plugin” for the Name and the following URL for the Location:
    4. Click OK Note: If you have trouble acquiring the plugin, try using “http” in the Location URL, instead of “https” (https is preferred for security reasons).
    5. In the Available Software dialog, select the checkbox next to Developer Tools and clickNext.
    6. In the next window, you’ll see a list of the tools to be downloaded. ClickNext.
    7. Read and accept the license agreements, then click Finish.
      Note: If you get a security warning saying that the authenticity or validity of the software can’t be established, click OK.
    8. When the installation completes, restart Eclipse.

Install the Android SDK:

  1. Once Eclipse restarts it asks for your workspace again so type or “Browse…” to the directory you wish Eclipse to use as your workspace, or just keep the default and click “OK”.
  2. Next is a very cool new thing that Google has done for us it automatically assumes that you would want to install the Android SDK seeing as you just installed the ADT Plugin. So yes we would like to do that, keep everything as it sits and click “Next>”.
  3. Are you the sharing type? Make up your mind if you want to share usage statistics with Google and then click “Finish”.
  4. Read and accept all the license agreements, then click “Install”.
There you go your all done, now go program that next killer app!!!

Shadow Groups

Have you ever just wanted to assign permissions on a file or folder to an Active Directory (AD) Organizational Unit (OU)? Well that still isn’t possible but you can achieve the same effect with Shadow Groups (SG) and Restricted Groups (RG).

So here we go, FYI I am assuming you have an AD setup, an OU with users in it, and know how to get around in Active Directory Users and Computers (ADUC) and the Group Policy Management Console (GPMC).

Lets say you have an OU called StormTroopers and it has some user accounts in it. To make a shadow group for this OU is to open the OU and right click in some white space in the right hand pane of ADUC and create a new Security Group, Local/ Global/Universal, you pick one that is best for you.
I might have a post on the differences of each group type in the future so stay tuned.

Anyway back to my story. Name this new group the exact name of the OU, in our case StormTroopers, and now you have a Shadow Group … what a mysterious name for something that isn’t that hard.

Now all you need to do is adjust the Access Control List (ACL) of a file or folder to add the SG you just made.

Well that was fun and quite useful but what if you want to make sure the members of that SG stay the same even off someone adds to that SG on accident, ya we’ll say it was an accident.

In GPMC create a new GPO, name it what you will, and edit it. Drill down through Computer Configuration > Policies > Windows Settings > Security Settings to Restricted Groups. Right click in the white space in the right hand pane and select Add Group… Type in the SG or click Browse… to find it in AD. Under Members of this group: click Add… Type in the user names or click Browse… to find them in AD. Click OK or Apply all the way out of the group properties and close the GPO.

In GPMC right click on the OU that contains your Domain Controllers and click Link an Existing GPO…, find your newly created RG GPO and click OK. To implement this new GPO right away open cmd.exe and run gpupdate /force. Or you can just wait for GP to refresh on its own, default is 15 minutes. All you have to do now is assign your new SG some ACLs on a file or folder.


Fixed our Discovery Kids digital mp3 boombox

This post is about how I fixed my kids Discovery Kids digital mp3 boombox that stopped working. It just wouldn’t turn on any more.



I did some searching on the problem and found that other had this same problem. Some found a solution by connecting it to a computer and formating the device. Like others the unit would work fine when connected to USB. The drive looked to be ok, I could access it from the computer without issie, but I copied off the music and formatted the drive just to make sure and then put the music back on. This didn’t help me but I void warranties very well so I opened it up. I also noticed that something was rattling around in there when I shook it so I figured I would at least see what that was.

The tricky part about getting into this toy is the rubber plugs in the screw holes. I had a dental tool that was curved and rather sharp, almost like a sewing needle. I was able to hook it around he back of the plugs and pull them out then use a very small Phillips screw driver to get the screws out.

I found that our kids had played with it a little too rough and the cable that supplies power to the main board from the batteries was broken off. The wires had moved back and forth enough to cause stress fractures and snap off. This flat gray cable has four wires in it and comes off of the circut board that the “ON HOLD OFF” switch controls, which is a pass through for the battery power.

I had to take all of the internal circut boards out and the speakers. Go easy so you don’t break off any other wires. I then stripped back the insulation on the power cable, I just cut between each wire with a hobby knife and used my thumb nail to strip it so I wouldn’t cut the thin wire any more then it was. Next I tinned each wire. Next I tested to see which wire was the ground wire as the ground terminal was labled on the main board and I could use that to make sure I put the wires back in the right place. I just used my multimeter to test continuity to find it. While I was doing all of this my soldering iron was heating up and was now ready for me to re-attach the wires, so that’s what I did. It was a little tricky because my iron tip is was a bit big for this kind of work so I got the terminals crossed once and had to clean it up.

Once the cable was back on I tested it out and it worked just fine. Before I closed it all back up I shot in a good amount of hot glue around the power cable and a few others that looked weak. I put every thing back in and all the screws and even the rubber plugs. The kids were back dancing to “Bit By Bit” and supper happy.

This took me about an hour to do but half of it was with my son in my lap “helping” me out.

Hope this helps someone.