Browsed by
Tag: blog

Building 8-Bit Computer Parts List

Building 8-Bit Computer Parts List

I was recently at the San Diego Maker Faire and I came across a interesting booth.

John Wolf was sitting in front of his 8-bit computer that he made out of logic gates.  I was very excited to see this and quickly began asking him questions about how he built this.  He has a great set of slides that I’ll link to here that explain everything about what he did.

His work was based off of Ben Eater’s tutorial about building the 8-bit computer.  Ben goes into great detail in his YouTube videos about how each part works.

I decided I wanted to try and build a 8-bit computer for my self, however the first challenge is finding all the parts.  There is a parts list on Ben’s site but some of the links are outdated or I have found better deals on other sites.  Below is my parts list for the 8-bit computer.

Read More Read More

Android | Ad blocking on Wi-Fi and Data connections!

Android | Ad blocking on Wi-Fi and Data connections!

When using apps or browsing the web on your phone, ads will pop up everywhere and can become annoying fast!  Fortunately  there is a easy way to block ads on Wi-Fi and data connections.  This post is specific to Android phones.

You will see a noticeable speed difference when you start turning on ad blocking. This is because a lot of time is spent downloading ads onto your phone.  You will also get the added benefit of saving your data!

To get started, on your mobile Android phone go to the Adblock Plus Android download page and download the APK or download it  directly from their site using this link.

Next follow the instructions on their configuration page.  Their documentation is pretty good so I’m not going to bother to reproduce it.  This will set up ad blocking on your Wi-Fi connection.

In order to get ad blocking on your data connection you will need to set up a new APN with a proxy pointing to localhost:2020.  Its not as hard as you think!

First, find your settings and go into Cellular Networks.


Click on Access Point Names.


Find and click on your APN, its the one that has the blue dot next to the name, mine was ATT Phone.


Once you click into your APN, you will see a bunch of different settings.  Write down all these settings because the next step is to create a new APN with the same exact information as your current one.


Once you have all the info written down some where, go back and click on the plus symbol highlighted in blue in the blow image.  This will create a new APN.


Fill in all the information just as before but this time for the Proxy setting put localhost and for the Port put 2020.  Also change the Name to something else, I changed mine to ATT Phone ABP.



Once this is done, save your changes and go back to the list of APNs and select your new APN!

You should see that ads will be blocked right away.

NOTE: I noticed that if you reboot your phone and the Adblock Plus app is not running then your Wi-Fi and data connection will not work because the proxy is not running.  In order to fix this, just run the Adblock Plus app or set it up to run when the phone first boots up.

Windows 8 | Recovering lost off screen windows

Windows 8 | Recovering lost off screen windows

At work I am running windows 8 on a laptop that has multiple monitors attached.  When I unplug the monitors and use the laptop remotely, sometimes application windows will appear off screen and I’m unable to use that application.  Even restarting the program doesn’t work sometime.  Here is the solution to bring the window back to your main screen:

  1. Look for your program icon in the task bar
  2. Hold down shift and control, then right click on the icon
  3. Click on Move
  4. Press the left arrow key
  5. Move your mouse and you should see the window
  6. Click where you want the window to be placedmove
Embedded Devices | Controlling adjustable desk with my phone

Embedded Devices | Controlling adjustable desk with my phone

At work we have very nice electric adjustable standing desks made by Workrite.  There is a button on the side the of the desk that allows you to control the high of the desk.  You can use it to go from a sitting desk to a standing desk in only seconds!  One day I accidentally ripped out the cables that were connected to the up and down switch show below.  This happened when the arm of my chair got wedged underneath the wires and when I lifted the desk up they were ripped off.   Time to fix it …

Read More Read More

Amazon S3 | Batch processing of image files

Amazon S3 | Batch processing of image files

At work, we store all of our images on Amazon S3.  This allows us to have a reliable storage point where we can host millions of photos.

We store a couple different sizes of images, so the Amazon S3 buckets (folders) are named by the different image sizes we keep.  As a new feature, we started saving a larger image size whenever anyone uploaded a new photo through our site so that new bucket (1680px wide) needed to be back filled with the largest image size we stored for all previous images (1200px wide).

As I looked into this, there is no batch process on Amazon that allows you to send them a large list of keys and a command to run on those keys.  A program must be written to do this instead.

Read More Read More

Android App | Circle Game

Android App | Circle Game

I have created a small Android App game that can be installed by downloading the APK file below on your phone (It’s not on the Google Play Store).


The objective of this game is to memorize the locations of circles as more and more of them show on the screen.  Click the newest circle that is drawn on the screen to increase your score.  It seems simple enough, although as more and more circles are drawn on the screen figuring out where the new one is becomes a harder challenge! 🙂

To install the game, make sure you have a Android phone and click here to download the APK game file.

After it is downloaded please follow the steps listed here to install the game.

OpenSSH | Password-less remote login with private/public keys

OpenSSH | Password-less remote login with private/public keys

When accessing remote servers, you often do not want to type out your password ever time.  In order to avoid this you need to set up public and private keys.  These keys will authenticate you and will allow you to login to remote server with out the need to type in your password.

To get started, on your local machine run ssh-keygen command.  This command will generate your public and private key files.  It will first ask you for the location of where you want to save the key.  It will give you a default file name of ~/.ssh/id_rsa and this is the default file name that the ssh program will look at for a private key if none are specified as a command line argument.  Unless you only have one server to connect to, change this name to something else but keep the file inside of your ~/.ssh directory.  I usually choose the file name to be the name of the remote server.  So, for example if I am going to be creating keys for, I would start off by doing the following:

It will then ask you for a passphrase, just press enter and and then when it asks for the same passphrase again just press enter again.

It will then display some information on the screen and return you to your command prompt.

Now, if you look inside your ~/.ssh file you will see your public and private key, your public key ends in .pub.

Notice how the permissions on the files are set.  The private key foo is only readable and writable by you, however everyone can read your public key.

The next step is to transfer your public key to the remote sever, so for this example we want to transfer ~/.ssh/ to the remote server.

I simply use the scp command giving it the location of my local file and then the user@hostname:path.

In order for the remote server to know which keys are allowed, the public keys need to be placed in the file ~/.ssh/authorized_keys2, to do this we can run ssh and then give it a remote command to run.

The above command tells the ssh command to first login to the remote server and then cat out our public key and append it to the authorized_keys2 file.

After this, we should be all set. If you run into any issues with the authorized_keys2 file, check its permissions and  make sure that its only readable and writable by you and no one else.

Finally, to login to the server we run the same ssh command as before but we pass it out private key as a command line argument.

This can be made even simpler by creating a ~/.ssh/config file and specifying a server alias with a associated identity file (private key).  Take a look at my previous post to read about how to do that.

OpenSSH | custom configuration

OpenSSH | custom configuration

Every time you log into a server, you must specify your username and password.  If the server has a long hostname, this can be frustrating to type multiple times if you are logging into a server on multiple different windows.  In order to speed up this process, OpenSSH allows you to have a configuration script that you can set up to apply aliases to your login information.

For example, this is how the user foo could login to the server on the command line using ssh by typing everything out.

Instead of typing this out every time you can create a config file inside your .ssh directory in your home directory that will hold all of this information and give you a alias to use instead.

Read More Read More

VIM Text Editor | Custom configuration

VIM Text Editor | Custom configuration

There is a steep learning curve for editing text files with VIM or VI, but once you use it for a while it becomes second nature. In this article I will go over customizing VIM with a vimrc configuration file.

In order to customize VIM, you need to put your configuration details in a file called .vimrc under your home directory.

Read More Read More