Category Archives: How To

Install ROS Kinetic on Ubuntu

If you haven’t heard of ROS before it is an acronym for Robot Operating System by the Open Source Robotics Foundation.

ROS provides libraries and tools to help software developers create robot applications. It provides hardware abstraction, device drivers, libraries, visualizers, message-passing, package management, and more. ROS is licensed under an open source, BSD license.

Kinetic is the tenth ROS distribution release and is short for “Kinetic Kane”.  It was released May 23rd, 2016.


Ubuntu install of ROS Kinetic

Debian packages are available for several Ubuntu platforms, listed below. These packages are more efficient than source-based builds and are our preferred installation method for Ubuntu. Note that there are also packages available from Ubuntu upstream. Please see UpstreamPackages to understand the difference.

Ubuntu packages are built for the following distros and architectures.

Distro amd64 i386 armhf
Ubuntu 15.10 (Wily Werewolf) X X
Ubuntu 16.04 LTS (Xenial Xerus) X X X

If you need to install from source (not recommended), please see source (download-and-compile) installation instructions.



Configure your Ubuntu repositories


Configure your Ubuntu repositories to allow “restricted,” “universe,” and “multiverse.” You can follow the Ubuntu guidefor instructions on doing this.

Setup your sources.list


Setup your computer to accept software from ROS Kinetic ONLY supports Wily (Ubuntu 15.10), Xenial (Ubuntu 16.04) and Jessie (Debian 8) for debian packages.


Source Debs are also available


Set up your keys





First, make sure your Debian package index is up-to-date:


There are many different libraries and tools in ROS. We provided four default configurations to get you started. You can also install ROS packages individually.

In case of problems with the next step, you can use following repositories instead of the ones mentioned above ros-shadow-fixed

  • Desktop-Full Install: (Recommended) : ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception

    • or click here

    Desktop Install: ROS, rqt, rviz, and robot-generic libraries

    • or click here

    ROS-Base: (Bare Bones) ROS package, build, and communication libraries. No GUI tools.

    • or click here

    Individual Package: You can also install a specific ROS package (replace underscores with dashes of the package name):

    • e.g.


To find available packages, use:

Initialize rosdep

Before you can use ROS, you will need to initialize rosdep. rosdep enables you to easily install system dependencies for source you want to compile and is required to run some core components in ROS.


Environment setup


It’s convenient if the ROS environment variables are automatically added to your bash session every time a new shell is launched:


If you have more than one ROS distribution installed, ~/.bashrc must only source the setup.bash for the version you are currently using.

If you just want to change the environment of your current shell, instead of the above you can type:


Getting rosinstall

rosinstall is a frequently used command-line tool in ROS that is distributed separately. It enables you to easily download many source trees for ROS packages with one command.

To install this tool on Ubuntu, run:

Build farm status

The packages that you installed were built by the ROS build farm. You can check the status of individual packages here.


Installation how to modified from ROS wiki.  Content licensed under Creative Commons Attribution 3.0

Machine Learning by Doing

Machine learning by doing is a series following the best machine learning tutorials and examples posted around the internet and ensuring they are 100% repeatable.  Clearly defined version numbers for programming languages and packages, links to data sets and explanations of some of the lesser known functions we will encounter.

These examples are some of the best found on the web, but it is incredibly frustrating to find you are missing one small piece to re-create their results.

For the first post we follow along with Adam Geitgey in Part 3 of his “Machine Learning is Fun!” series.

How to Extract links from a Webpage

Turn this…


into a neat file with clean links…


Things you need:

  1. A web browser
  2. A webpage from which to extract links
  3. An online tool to automatically extract the links
  4. A program to open .csv files (Excel/Google Sheets/free alternative, etc.)

Hint: If you only need links from a portion of the page use Firefox.  It allows you select a portion of the page and view only the “selection source” instead of the entire page.


  • Navigate to the desired webpage in your favorite browser
  • View and copy the page source
    • Chrome: “View page source”
    • Firefox: “View Page Source” or “View Selection Source”
  • Paste the copied html into an online tool and click the button to generate a CSV file with the resulting links
  • Download, open, & enjoy!

Once the file is open you can do more other things in Excel like sorting by Domain or removing duplicate links.

Online Tool for Extracting Links from webpages:

How To Check If Your Site is Blacklisted by Google

Occasionally, you should verify that your site is still appearing as it should in search engine results (especially if you don’t use managed hosting or another site scanning service).

Getting de-listed from Google or any other search engine could be devastating.

In the search bar type in where you replace with your domain name.  Example:

Your main domain should be in the top search results along with other popular or top-level pages.

Going directly to your website ie might still appear normally as some malware redirects only affect search engine referral traffic.

Signs that your sight might be hacked, serving SPAM, or de-indexed

What to watch for:

  1. Significant drops in traffic per analytics reports
  2. A warning in search engine results stating that “This site might be hacked”
  3. Long connection times in FTP access
  4. Large backups or backups that fail to complete
  5. Security alerts from Google Search Console (formerly Webmaster Tools)

Other blacklist sites to check:


Other search engines to check:

  1. Bing/MSN:
  2. DuckDuckGo:
  3. Yahoo:
  4. AOL:

Inspired by:

How to figure out the location where a form posts

If you are trying to figure out where a form posts (for instance to see whether or not it submits information securely) and the post location isn’t readily view-able in the page source, here is how to do it:

Using Firefox, (download if necessary) open Firebug.

Download Firefox

Download Firebug

Hit Ctrl+Shift+C to open the console.

Switch to the Net tab and submit the form.  (The console window needs to be open before you hit submit.)

In the list window you should see a POST request with the endpoint and the complete information about the request including Headers, Post, Response, JSON, Cache, and Cookies.

You can copy the endpoint location by right clicking and selecting Copy Location.

How to convert a directory to a list of files

In Windows Explorer, open the directory you want to turn into a list of files.

Holding Shift, right click on white-space in the directory and select “Open command window here”

This will open a command prompt with the current directory already filled in.  Type the following and hit Enter

Now in that directory will be a text file containing a list of the files and other associated data about the directory.  You can use as is or further manipulate.


If you want to use it in Excel for say a checklist or any other reason, follow these next steps.  Open Excel and open the list.txt text file that was just created.

Select the relevant portion just listing the file details and copy it.

Paste it into Excel.  Each line will be it’s own row, but all the details will be in the first column.  We can fix that too.

Select the first column and go to Data > Text to Columns

Choose Delimited and hit Next >

Then check the Space delimiter, leave the rest unchecked and hit Finished.

Now Column E will contain just the file names and you can do whatever you wish with the rest of the columns.

Using Core FTP with WP Engine SFTP

Core FTP Site Manager

Open Core FTP and open the Site Manager.  Add a new site and give it a name.  Enter your IP address or domain name into the Host / IP / URL field.

Next open the Advanced properties



Navigate to the SSH section and check the box next to Use Putty compatible SFTP.  (This is the most important step.  Otherwise you will get an Aplication Error SFTP connection error)



Set the Port to 2222 and make sure the connection type is SSH/SFTP.  Hit connect.



Don’t use Core FTP?  See our guide for other popular FTP clients that support SFTP:

Using FileZilla with WP Engine SFTP


Open FileZilla and enter your IP address or domain name into the Host field. Add sftp:// before your IP address or domain name.

It should look like this:
s -or-

Copy your username and password from the WP Engine dashboard into their fields.  Set the port to 2222 and connect.



Site Manager

Under the General tab, enter your IP address or domain name into the Host field.  Add sftp:// before your IP address or domain name.

It should look like this:
s -or-

Change the port to 2222. Make sure the SFTP – SSH File Transfer Protocol is selected.

Logon Type: Normal

Enter your username and password and hit Connect



If you are getting the following errors:

  • Error: Cannot establish FTP connection to an SFTP server. Please select proper protocol.
  • Error: Critical error: Could not connect to server

Double check to make sure you added sftp:// before your IP address or domain name


Don’t use FileZilla?  See our guide for other popular FTP clients that support SFTP:

How to: Secure Chrome against Logjam

Update: Chrome 45 was released on 9/1/15 with a fix for the “logjam” vulnerability.  Use Chrome 45 or newer

Disable the following cipher suites

  • (0xcc15) TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256
  • (0xcc9e) TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  • (0x0039) TLS_DHE_RSA_WITH_AES_256_CBC_SHA
  • (0x0033) TLS_DHE_RSA_WITH_AES_128_CBC_SHA

Until the Chrome 45 update, the easiest by far is to

Step 1:
Modify an existing (or create) a shortcut to Chrome.  Right click on the shortcut and select Properties

Step 2:
Add the following to the application Target:

It should look like this:
(Note: Target field is long and is split into two screenshots)



Step 3:
Click Apply or OK to save

Step 4:
Close all Chrome browser windows

Step 5:
Use the shortcut you just modified to re-open Chrome and verify these cipher suites have been disabled



(h/t) @eckes on twitter:



The fix is “on track to be included in Chrome 45”



I zipped the Logjam safe shortcut from this tutorial.

If you used the standard installer your application path is %UserProfile%\AppData\Local\Google\Chrome\Application\chrome.exe

Download “Windows Default 32-bit Chrome (Logjam Safe) Shortcut” – Downloaded 135 times – 1 KB

Google Chrome (Logjam Safe).lnk

  • MD5: 32D2342D138B66A3F458D66842038CA5
  • SHA1: CAB26DCFEF880D5D7422633A2732770CB6B0BB17

If you used the “offline installer” Chrome installs to “C:\Program Files (x86)\Google\Chrome\Application\chrome.exe”

Download “"Program Files (x86)" 32-bit Chrome (Logjam Safe) Shortcut” Chrome (Logjam Safe) – Downloaded 123 times – 1 KB

Chrome (Logjam Safe).lnk

  • MD5: C689CABE8887CD8187CAAFA395DBCF2B
  • SHA1: EE2E1D54BA3DF586406BB13CA3E35E41A130745B

Original content and screenshots on this page are licensed under a Creative Commons Attribution 3.0 License (