• Make Your Own Private Cloud

    [highlight] THIS PAGE HAS MOVED TO: www.tinkernut.com/portfolio/make-your-own-private-cloud [/highlight]

  • Make Your Own Cluster Computer (Part 2)

    [vc_row][vc_column width=”2/3″][vc_separator][venera_framed_image content_type=”video” css_animation=”appear” frame_type=”browser” slider_engine=”flexslider” video_link=”https://www.youtube.com/watch?v=lHmFRlETTcQ” browser_url=”https://www.youtube.com/watch?v=lHmFRlETTcQ”][vc_separator][/vc_column][vc_column width=”1/3″][/vc_column][/vc_row][vc_row][vc_column width=”2/3″][vc_tabs][vc_tab title=”About This Project” tab_id=”1402713028-1-39e9a4-2f88″][vc_column_text]

    65_cluster_comp2_thThis is part two of the series that shows you how to make a cluster computer using Raspberry Pi’s!

    You can watch Part 1 here.

    [/vc_column_text][/vc_tab][vc_tab title=”Parts and Downloads” tab_id=”1402713028-2-39e9a4-2f88″][vc_column_text]

    Acquiring the Parts
    Here’s what you will need:

    1. 2 or more Raspberry Pi’s
    2. SD cards for each Pi
    3. Power Cables for each Pi
    4. Powered USB Hub (optional)
    5. Networking Cables
    6. A Hub or a Router

    TOTAL COST: ~$100.00

    [/vc_column_text][/vc_tab][vc_tab title=”Code” tab_id=”1402753910272-3-8″][vc_column_text]

    Installing and Configuring Raspbian

    • Follow the software configuration steps shown in this video and burn the image file to an SD card for each computer in your cluster.
    • For each Raspberry Pi in your cluster, insert an imaged SD card, connect them all to the same router or switch, and then connect a power source to each one.

    [tabby title=”Terminal Commands”]

      • Install nmap
        • Sudo apt-get update
        • Sudo apt-get install nmap
      • Get current IP
        • Ifconfig
      • Scan subnet for Pi’s
        • Sudo nmap -sn 192.168.1.*
      • Run test file
        • Mpiexec -n 1 hostname
      • Make test folder and file
        • Mkdir mpi_test
        • Cd mpi_test
        • Nano machinefile
        • Mpiexec -f machinefile -n 4 hostname
      • Add keys to all pi’s
        • PI01
          • Ssh-keygen
          • Cd ~
          • Cd .ssh
          • Cp id_rsa.pub pi01
          • Ssh pi@
        • PI02
          • Ssh-keygen
          • Cd .ssh
          • Cp id_rsa.pub pi02
          • Scp .
          • Cat pi01 >> authorized_keys
          • Exit
        • PI03 (ssh pi@
          • Ssh-keygen
          • Cd .ssh
          • Cp id_rsa.pub pi03
          • Scp .
          • Cat pi01 >> authorized_keys
          • Exit
        • PI04
          • Ssh-keygen
          • Cd .ssh
          • Cp id_rsa.pub pi04
          • Scp .
          • Cat pi01 >> authorized_keys
          • Exit
        • PI01
          • Scp
          • Cat pi02 >> authorized_keys
      • Run new machinefile
        • Cd ~
        • Nano machinefile
        • Mpiexec -f machinefile -n 4 hostname
      • Run Python file
        • mpiexec -n 5 python demo/helloworld.py
        • Mpiexec -f machinefile -n 5 python /home/pi/build/mpi4py/demo/md5_dict_attack.py
      • Download and unzip file
      • Copy to all computers
        • Scp -r python_test
        • Mpiexec -f machinefile -n 5 python python_test/md5_attack.py

    [/vc_column_text][/vc_tab][vc_tab title=”Important Links” tab_id=”1402753981900-3-10″][vc_column_text]

    Help support my channel:


    Follow Tinkernut!

    Google +



    [/vc_column_text][/vc_tab][/vc_tabs][/vc_column][vc_column width=”1/3″][/vc_column][/vc_row]

  • How To Revive An Old iPod

    [tabby title=”Overview”]
    This tutorial is for those of you that love to tear apart old technology to make it useful again. Someone gave me a broken 5th Generation iPod classic, and in this video I show you how to fix it and upgrade it to something awesome!

    [tabby title=”Links”]
    Where to buy the parts: http://www.tarkan.info/store
    Rockbox Download: http://www.rockbox.org

    Follow Tinkernut!
    Google +


  • 4 Clever Ethernet Cable Hacks

    Even though wireless technology is making ethernet cables obsolete, let’s take a look at some ways to breathe new life into these technological wonders.

  • Hacking Minecraft Pi Edition

    Minecraft is now available for the Raspberry Pi. Not only that, but it’s a hackable version that allows you to write scripts for the game using python.


    Martin O’Hanlin’s blog – http://www.stuffaboutcode.com

    Minecraft Python Block List – http://goo.gl/raZkd


    Raspberry pi beginners guide – http://goo.gl/PVZWa

    Raspberry Pi Playlist  – http://goo.gl/OkNQU

  • Make A Media Center For Less Than $40

    Learn how to make a Media Server using a $35 raspberry pi device and XBMC.




  • Clone Your Computer To VirtualBox


    Why keep old hard drives and computers? This video will show you how to clone your physical hard drives to virtual drives and boot to them using Virtualbox
    USB adapter – http://goo.gl/m8Ska
    Disk2VHD –  http://goo.gl/omFyY
  • Arduino Basics: Servos & Potentiometers

    Learn how to control a servo using an Arduino and learn the basics of variable resistors. For more Arduino tutorials, visit my Arduino tutorial playlist.
  • Arduino Basics: Input Control

    Learn how to use an arduino to control objects using physical input, such as a button. Below are links to more Arduino beginner tutorials:

    Arduino Playlist –

    Arduino Beginners Guide – http://www.youtube.com/watch?v=PWKYYJu4yVw

  • How To Make A Raspberry Pi Web Server

    [vc_row][vc_column width=”2/3″][vc_separator][venera_framed_image content_type=”video” css_animation=”appear” frame_type=”browser” slider_engine=”flexslider” video_link=”https://www.youtube.com/watch?v=WgcNBjIJNYs” browser_url=”https://www.youtube.com/watch?v=WgcNBjIJNYs”][vc_separator][/vc_column][vc_column width=”1/3″][/vc_column][/vc_row][vc_row][vc_column width=”2/3″][vc_tabs][vc_tab title=”About This Project” tab_id=”1402713028-1-39e9a4-2f88123b-77946048-9294ef23-7cf7″][vc_column_text]

    The Raspberry Pi is an amazing $35 mini-computer. And in this video, I’ll show you how to set it up as a fully functioning web server.

    [/vc_column_text][/vc_tab][vc_tab title=”Code” tab_id=”1402753910272-3-8123b-77946048-9294ef23-7cf7″][vc_column_text]

    What is a Raspberry Pi

    The Raspberry Pi is a revolutionary mini-computing system that is super cheap. It’s based on the ARM processor, and can be powered through USB (5v) and has all of the standard functionality of regular computers.

    Raspberry Pi

    There are two types of Raspberry Pi Models: Model A ($25) and Model B ($35). Both models have 256mb of RAM, HDMI and Composite video connections, audio connections, USB power input, USB port output, and SD card input. Model B adds an ethernet port (for network connections) and an extra USB port, which is what makes it more expensive.

    Since the Raspberry Pi is in such high demand, attaining one is kind of difficult. At the time of writing this wiki, you can only sign up to be notified when more Raspberry Pi devices are available. You can sign up at Alliedelec (North America only), RS-Online (everyone), or Element14 (everyone).


    How To Set Up A Raspberry Pi

    Raspberry Pi Box

    When you first receive a Raspberry Pi, it’s basically just a circuit board in a box. Obviously to run it as a computer, you need some necessary hardware peripherals first. Here’s the list of parts you will need to run it for the first time:

    1. A USB keyboard
    2. An HDMI or Composite cable
    3. A TV or Monitor that is HDMI or Composite capable
    4. A micro-usb power cable
    5. A 2gb or larger SD card (by default, the operating system can only access 2GB)
    6. A network cable (if you want to connect to the network)

    Installing the Operating System

    Before you can use the Raspberry pi, you have to install the Raspberry Pi Operating System on to the SD card. Don’t worry, it’s not as difficult as it sounds. If you have Windows (you can find Linux and Mac instructions here, there are only 2 things you need to download


    1. The Raspberry Pi Operating System (I chose the “Debian Squeeze” version)
    2. Win32DiskImager (The binary version)

    Unzip the Debian Squeeze file that you downloaded. It should produce an ISO file. Now insert your SD card into the computer that you downloaded the files to. Open up Win32DiskImager and for the Device, choose the drive letter of you your SD card. Then click on the folder icon to browser to the Debian Squeeze ISO file that you downloaded. Lastly, click “Write” to write the image file to your SD card. It can take a few minutes to write the files.

    Running For the First Time

    Once the SD card has been prepped, stick it into your Raspberry Pi. Now you can start plugging in all of your other hardware peripherals, making sure to plug in the micro-usb cable last, since it provides the power.

    Raspberry Pi Connections

    Once power has been provided, you should start seeing the loading screen for the Raspberry Pi OS on your monitor. The first time, it will take a few minutes to completely load. All other times, it should load pretty fast. You’ll know when it’s through loading because you will see a line that says “raspberry pi login:”. The defaul login name is pi. And the default password is raspberry.

    You should now be at a line that says pi@raspberrypi:~$. This means you can start entering in commands. For those of you that are used to a desktop environment, I know this isn’t what you had in mind. So if you prefer a desktop environment, you can type


    This will load the desktop environment. From here you can plug in a mouse and use it like you would a normal computer GUI.


    Initial Software Setup

    It’s good practice to update the software and software repositories when you first set up your Raspberry Pi. It’s also important to update the system clock via the internet, since the Raspberry Pi does not have real-time clock. So here’s a list of initial commands to get your system updated:

    Configure Time

    sudo dpkg-reconfigure tzdata

    Update software packages

    sudo apt-get update

    Update Debian

    sudo apt-get upgrade

    Updating Firmware

    NOTE: If you are running the latest Raspbian hard float release, this update tool will prevent your pi from booting. Only use this if you have Debian squeeze
    To keep the Raspberry Pi firmware up-to-date, you have to install a program called Hexxeh’s RPI update tool through Git-hub. Here’s the process

    Install certificate authority certificates

    sudo apt-get install ca-certificates

    Install Git (required to run Hexxeh)

    sudo apt-get install git-core

    Download Hexxeh’s RPI update tool

    sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && chmod +x /usr/bin/rpi-update

    Update the firmware

    sudo rpi-update


    sudo shutdown -r now


    Setting Up SSH and Remote Connections

    You will not have to do this step if you have downloaded Raspbian or Debian Wheezy – SSH should be enabled by default. If it is not enabled, follow these instructions:

    To start out, type this then hit enter:

    sudo raspi-config

    You will now see a screen with a few options. Use the arrows keys to navigate to the SSH option. This will take you to another screen that asks you “Would you like the SSH server enabled or disabled?” Choose the <Enable> option with your arrow keys and hit enter. Select okay, and hit enter. Now, back at the raspi-config screen, navigate to <Finish> and hit enter. You should now be able to use SSH with your Pi!

    An ideal setup of Raspberry Pi would be to control it remotely. This can be done through an SSH connection, but by default SSH connections are disabled. Before we enable it, the screen should have the IP address of the Raspberry Pi listed (ex. Write down that IP address as we will need it for the SSH connection. Ok, To enable SSH, simply run this command:

    sudo mv /boot/boot_enable_ssh.rc /boot/boot.rc
    sudo shutdown -r now

    Once the Raspberry Pi reboots, you can now unplug the keyboard and the monitor connections from the Raspberry Pi, as we will no longer need them for the rest of this tutorial.

    Putty Window

    On a remote Windows machine, in order to connect to the Raspberry Pi, you will need to download Putty, a Windows SSH client. Once it’s downloaded, start it up and type in the Raspberry Pi’s IP address that you wrote down earlier in the Host Name (or IP address) field. Then just click “open”. If it’s your first time connecting, Putty will ask you to store a key authentication, so click “Yes”. Now you should see a login screen where you can log in using your Raspberry Pi login credentials.

    Changing the Password

    For obvious security reasons, it’s recommended to change the default password to a secure password of your own. After you have logged into your pi account, to change the password, type:

    sudo passwd pi

    Now you should be prompted to enter in a new password. Once you’ve typed in your password and hit enter, you’ll then be prompted to repeat your password. After typing it in again and hitting enter, you will have successfully changed your password.

    Installing the Server

    In order to use the Raspberry Pi as a web server, you have to install all the necessary server software components. If you just want a simple HTML server, you can just install that server software (Apache or Cherokee). If you want MySQL and PHP support on your server, you have to install those components separately as well.

    Apache Server

    Apache server software is the most widely used server software. However, it is a little bit more bloated than the Cherokee server software. If you want a more traditional experience, you can install Apache. Otherwise, you can skip to the Cherokee Server section and install Cherokee. Here’s how to install Apache:

    Install Apache with PHP

    sudo apt-get install apache2 php5 libapache2-mod-php5

    When it asks if you want to continue, press y

    Resolve installation error

    sudo groupadd www-data
    sudo usermod -g www-data www-data

    Restart Apache

    sudo service apache2 restart

    Now if you open up a web browser and type in your Raspberry Pi’s IP address, you should be pull up a the test page for your server!

    Cherokee Server

    If you want a lighter web server, then Cherokee is better than Apache. And considering the limited resources of the Raspberry Pi, lighter is better. Here’s how to install it:

    Prevent install errors

    sudo addgroup www-data

    Install Cherokee

    sudo apt-get install cherokee

    Install PHP

    sudo apt-get install php5-cgi

    Edit the PHP config file

    sudo nano /etc/php5/cgi/php.ini

    Hit ctrl+W and search for cgi.fix_pathinfo=1, remove the ; form the front of the line
    Hit ctrl+X to exit, y to save and enter to confirm

    Restart Cherokee

    /etc/init.d/cherokee restart

    Now if you open up a web browser and type in your Raspberry Pi’s IP address, you should be pull up a the test page for your server!

    Installing MySQL

    Installing MySQL is pretty simple. You basically just install these packages:

    sudo apt-get install mysql-server mysql-client php5-mysql

    When it asks if you want to continue, press y

    It will eventually prompt you for a new root user password, so create a strong password and continue until the installation is through.

    Installing FTP

    FTP is not only a great way to remotely add/change files on your website, but it’s also a great way to transfer files to your Raspberry Pi. This is important for installing PHP MyAdmin in the next step. These instructions are for the Apache server install.

    Take ownership of the WWW Apache folder

    sudo chown -R pi /var/www

    Install VSFTP

    sudo apt-get install vsftpd

    Edit the FTP configuration file

    sudo nano /etc/vsftpd.conf

    Hit ctrl+W and search for anonymous_enable=YES, and change it to anonymous_enable=NO
    Remove the # from in front of local_enable=YES
    Remove the # from in front of write_enable=YES
    Skip to the bottom of the file and add force_dot_files=YES
    Hit ctrl+X to exit, y to save and enter to confirm

    Restart VSFTP

    sudo service vsftpd restart

    Change the root users password

    sudo passwd root

    Create a new password and then exit out of Putty


    Restart Putty and log in as root with the new password
    Edit the password configuration file

    sudo nano /etc/passwd

    Find the line pi:x;1000:1000:Raspberry Pi User,,,:home/pi:/bin/bash and add a # sign to the beginning of it.
    Hit ctrl+X to exit, y to save and enter to confirm
    Add the pi user as a mod and exit out of the Putty

    sudo usermod -d /var/www pi

    Restart Putty and log in as pi
    Give mod rights to root and exit

    sudo usermod -L root

    Now your FTP server should be up and running. You can test it out by logging into it with any FTP client such as FileZilla or WinSCP. Use the IP address from your Raspberry Pi that you wrote down earlier, port 22, your Raspberry Pi username (pi), and your password.

    Installing PHP MyAdmin

    To better manage MySQL databases, it’s often preferred to use the PHP MyAdmin program. So here’s how you can install it:

    1. Download PHP MyAdmin
    2. Extract the zip file to a folder
    3. Using your FTP client upload the extracted PHP MyAdmin files to your web server.

    To access PHP MyAdmin, in a web browser type in your Raspberry Pi’s IP address and then add /admin to the end of it (ex. Then you can log in using the root username and password that you created for your MySQL installation.


    [/vc_column_text][/vc_tab][vc_tab title=”Important Links” tab_id=”1402753981900-3-10123b-77946048-9294ef23-7cf7″][vc_column_text]

    Raspberry Pi – http://www.raspberrypi.org
    Raspberry Pi Disk Image – http://www.raspberrypi.org/downloads
    Win32DiskImager – https://launchpad.net/win32-image-writer
    Putty – http://www.chiark.greenend.org.uk/~sgtatham/putty/

    Website Tutorials – http://www.youtube.com/playlist?list=PL6291918FE7103470
    Port Forwarding Tutorial – http://www.youtube.com/watch?v=1DSDbvtVIaA

    Help support my channel: http://www.patreon.com/tinkernut Follow Tinkernut! Google + Facebook Twitter

    [/vc_column_text][/vc_tab][/vc_tabs][/vc_column][vc_column width=”1/3″][/vc_column][/vc_row]