<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <id>http://urbanfaubion.com//</id>
  <title>urbanfaubion.com Syndication</title>
  <updated>2011-03-17T07:00:00Z</updated>
  <link rel="alternate" href="http://urbanfaubion.com//"/>
  <link rel="self" href="http://urbanfaubion.com//atom.xml"/>
  <author>
    <name>Urban Faubion</name>
    <uri>http://urbanfaubion.com/</uri>
  </author>
  <entry>
    <id>tag:urbanfaubion.com,2011-03-17://articles/2011/03/17/Basic_Unix.html</id>
    <title type="html">Unix and Basic Shell Scripting</title>
    <published>2011-03-17T07:00:00Z</published>
    <updated>2011-03-17T07:00:00Z</updated>
    <link rel="alternate" href="http://urbanfaubion.com//articles/2011/03/17/Basic_Unix.html"/>
    <content type="html">&lt;p&gt;UNIX is a collection of software known as a computer &lt;strong&gt;operating system (OS)&lt;/strong&gt; that is used to communicate with a computer&amp;#8217;s &lt;strong&gt;central processing unit (CPU)&lt;/strong&gt; and &lt;strong&gt;memory&lt;/strong&gt;. The OS software is also responsible for communications between the CPU/memory and the computer&amp;#8217;s other &lt;strong&gt;peripherals&lt;/strong&gt; (disks, printers, networks and etc.). Unix however does not refer to a single well-defined collection of software. Instead Unix is a generic term for a number of similar collections of software that differ depending on the supplier of the OS software. &lt;/p&gt;

&lt;p&gt;The Unix OS is made up of the &lt;strong&gt;kernel&lt;/strong&gt; and &lt;strong&gt;shell&lt;/strong&gt;. The kernel is the main control program that is responsible for machine level operations of the system and the connection to hardware. The shell is a command interpreter that can communicate with any part of the system except the hardware. The shell parses, checks, translates and etc., inputs that are then passed to the kernel for execution. An analogy for the OS is a walnut - the important part is the kernel inside; the shell is what the nut presents the the outside world.&lt;/p&gt;

&lt;p&gt;Technically, &lt;strong&gt;utilities&lt;/strong&gt; are not part of the OS. They
are a collection of basic software tools that are often distributed
with the Unix OS. They make the operating system more immediately
useful to the user by simplifying the tasks of communications,
programming, editing text and more.&lt;/p&gt;

&lt;h2&gt;History&lt;/h2&gt;

&lt;p&gt;Unix was originally developed in 1969 by a group of employees at AT&amp;amp;T Bell Laboratories. In 1973, Unix was rewritten in C, a computer programming language also developed at Bell Labs. This allowed Unix to be installed and run on different computers which had a C compiler. Since then there has been a large adoptions of Unix and Unix-like operating system such as Berkley Standard Distribution (BSD), Sun Microsystems, Mac OS X and Linux. These &amp;#8220;flavors&amp;#8221; of Unix are all very similar but all use a slightly different dialect, like slang speech for the same common tongue.&lt;/p&gt;

&lt;h2&gt;The Shell&lt;/h2&gt;

&lt;p&gt;In Unix, to get things done you need to type commands that a shell can interpret. A shell can read command lines from a terminal or from a file (called a shell script or program). Because the shell is a program, scripting is possible without using a programming language. Any command that can be typed after a &lt;strong&gt;prompt&lt;/strong&gt; can be used in a shell.&lt;/p&gt;

&lt;h2&gt;Basic Commands&lt;/h2&gt;

&lt;p&gt;Unix is a command-driven OS. Below is a list of basic commands that can get you started using Linux and other UNIX variation. All these commands will work on the Mac OS X, BSD, Linux and on windows using Cygwin. If you are using Mac OS X, you can open the Terminal located at /Applications/Utilities/Terminal and execute the commands after the &lt;strong&gt;Bash&lt;/strong&gt; shell prompt ($).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Info about paths and root&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Unix separates file and directory paths with the forward slash &amp;#8220;/&amp;#8221;. Also, a path that starts with the forward slash, means it is an absolute path from the &amp;#8220;root&amp;#8221; directory. If a path does not lead with the forward slash, then it is a relative path from the current directory.&lt;/p&gt;

&lt;h2&gt;Examples:&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;/         # "root" directory
/usr      # directory usr (sub-directory of / "root" directory)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;Moving through the file system&lt;/strong&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;pwd                 # shows the path of the current directory
cd                  # change the current directory to you HOME directory
cd /applications    # change to the "applications" sub-directory of "root"
cd ..               # changes the current directory to it's parent
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;List directory contents&lt;/strong&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;ls         # list the current directories contents
ls -l      # list in long (detailed) format
ls -a      # list and including hidden files
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;Copying, renaming and moving files&lt;/strong&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;cp file1 file2            # copy "file1" and name the copy "file2"
mv file1 /applications    # move "file1" to the applications directory
mv file1 newname          # rename "file1" to "newname"
mkdir dir1                # make a new directory named "dir1"
rm file1                  # remove "file1"
rmdir dir1                # remove the empty directory "dir1"
rm -r dir1                # recursively remove "dir1" and it's content
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;Changing file permissions and attributes&lt;/strong&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;chmod 775 file             # change permissions of file to be read(r),
                           # write(w) and execute(x) (rwx) for the owner,
                           # and rx for everyone else.
chgrp user file            # make the file belong to the group user
chown username file        # make username the owner of file
chown -R username dir      # make username the owner of dir
                           # and everything in its directory tree
&lt;/code&gt;&lt;/pre&gt;</content>
    <summary type="html">Basic introduction to Unix and the command line</summary>
  </entry>
  <entry>
    <id>tag:urbanfaubion.com,2011-03-01://articles/2011/03/01/Community_Core_Vision.html</id>
    <title type="html">DIY Multi-Touch with CCV</title>
    <published>2011-03-01T08:00:00Z</published>
    <updated>2011-03-01T08:00:00Z</updated>
    <link rel="alternate" href="http://urbanfaubion.com//articles/2011/03/01/Community_Core_Vision.html"/>
    <content type="html">&lt;p&gt;If you've every wanted to get into multi-touch programming, &lt;a href="http://ccv.nuigroup.com/"&gt;Community Core Vision&lt;/a&gt; (CCV) by the &lt;a href="http://nuicode.com/"&gt;NUI Group&lt;/a&gt; is a great way to get started. It's an open source, cross-platform solution for computer vision that supports several multi-touch lighting techniques (&lt;a href="http://wiki.nuigroup.com/FTIR"&gt;FTIR&lt;/a&gt;, &lt;a href="http://wiki.nuigroup.com/Diffused_Illumination"&gt;DI&lt;/a&gt;, &lt;a href="http://wiki.nuigroup.com/Diffused_Surface_Illumination"&gt;DSI&lt;/a&gt;, and &lt;a href="http://wiki.nuigroup.com/Laser_Light_Plane_Illumination"&gt;LLP&lt;/a&gt;). &lt;/p&gt;

&lt;img src="/assets/images/uploads/2011-02-28-CCV_GUI.png" alt="CCV GUI" width="610" height="386" /&gt;

&lt;p&gt;It's very easy to get started using CCV and build a simple Front DI multi-touch device for prototyping. All you need is a cardboard box, picture frame and PS3 Eye Camera. Below is the video tutorial I used that explains how to build your own.&lt;/p&gt;

&lt;iframe title="YouTube video player" width="609" height="486" src="http://www.youtube.com/embed/pQpr3W-YmcQ" frameborder="0" &gt;&lt;/iframe&gt;

&lt;p&gt;Once you have your hardware set up you can &lt;a href="http://ccv.nuigroup.com/#downloads"&gt;download CCV&lt;/a&gt; and start playing with the different Flash Example Clients available.&lt;/p&gt;</content>
    <summary type="html">If you've every wanted to get into multi-touch programming, Community Core Vision (CCV) by the NUI Group is a great way to get started.</summary>
  </entry>
  <entry>
    <id>tag:urbanfaubion.com,2011-02-15://articles/2011/02/15/drunk_history.html</id>
    <title type="html">Drunk History</title>
    <published>2011-02-15T08:00:00Z</published>
    <updated>2011-02-15T08:00:00Z</updated>
    <link rel="alternate" href="http://urbanfaubion.com//articles/2011/02/15/drunk_history.html"/>
    <content type="html">&lt;p&gt;&lt;a href="http://www.funnyordie.com/drunkhistory"&gt;Drunk History&lt;/a&gt; is a series of online videos featuring drunk people trying to narrate specific historical events as they remember them. Each story is a mix of the inebriated historian and a re-enactment by a changing cast of comedians such as Will Ferrell, John C. Reilly and more.&lt;/p&gt;

&lt;p&gt;My favorite episode below, &lt;a href="http://www.youtube.com/watch?v=AwI1Xpwhyi8"&gt;Drunk History Vol. 6 - Tesla&lt;/a&gt;, better known as, &amp;ldquo;the electric Jesus&amp;rdquo;.&lt;/p&gt;

&lt;iframe title="YouTube video player" width="609" height="373" src="http://www.youtube.com/embed/AwI1Xpwhyi8" frameborder="0"&gt; &lt;/iframe&gt;</content>
    <summary type="html">Drunk History is a series of online videos featuring drunk people trying to narrate specific historical events as they remember them</summary>
  </entry>
  <entry>
    <id>tag:urbanfaubion.com,2011-01-02://articles/2011/01/02/new_year_resolutions_2011.html</id>
    <title type="html">2011 New Year Resolutions</title>
    <published>2011-01-02T08:00:00Z</published>
    <updated>2011-01-02T08:00:00Z</updated>
    <link rel="alternate" href="http://urbanfaubion.com//articles/2011/01/02/new_year_resolutions_2011.html"/>
    <content type="html">&lt;p&gt;With the New Year it's time to look forward and plan for the coming year. The following are my top 10 resolutions.&lt;/p&gt;

&lt;ol&gt;
    &lt;li&gt;Take a Mountaineering class&lt;/li&gt;
    &lt;li&gt;Learn rock climbing&lt;/li&gt;
    &lt;li&gt;Drink more water, less coffee&lt;/li&gt;
    &lt;li&gt;Document my life by take more pictures&lt;/li&gt;
    &lt;li&gt;Start a website and blog&lt;/li&gt;
    &lt;li&gt;Take a cooking class&lt;/li&gt;
    &lt;li&gt;Create sculpture and art&lt;/li&gt;
    &lt;li&gt;Travel to Europe&lt;/li&gt;
    &lt;li&gt;Scuba-dive in the Puget Sound&lt;/li&gt;
    &lt;li&gt;Create an Interactive Game&lt;/li&gt;
&lt;/ol&gt;</content>
    <summary type="html">2011 New Year Resolutions</summary>
  </entry>
</feed>

