<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>thekeesh.com</title>
	<atom:link href="http://thekeesh.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://thekeesh.com</link>
	<description>Not just another WordPress site</description>
	<lastBuildDate>Tue, 03 Apr 2012 05:30:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>How the Internet Works 9: HTML</title>
		<link>http://thekeesh.com/2012/03/how-the-internet-works-9-html/</link>
		<comments>http://thekeesh.com/2012/03/how-the-internet-works-9-html/#comments</comments>
		<pubDate>Tue, 13 Mar 2012 01:10:40 +0000</pubDate>
		<dc:creator>Jeremy Keeshin</dc:creator>
				<category><![CDATA[How the Internet Works]]></category>

		<guid isPermaLink="false">http://thekeesh.com/?p=442</guid>
		<description><![CDATA[In today&#8217;s post I want to demystify the term HTML. HTML stands for HyperText Markup Language, and it is the way that you write web pages. A markup language, according to Wikipedia, is a way to &#8220;annotate the text&#8221; to &#8230; <a href="http://thekeesh.com/2012/03/how-the-internet-works-9-html/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In today&#8217;s post I want to demystify the term <a href="http://en.wikipedia.org/wiki/HTML">HTML</a>. HTML stands for HyperText Markup Language, and it is the way that you write web pages. A markup language, according to Wikipedia, is a way to &#8220;annotate the text&#8221; to provide some additional information.</p>
<p>Every webpage has HTML, which includes a set of &#8220;tags&#8221; to describe different parts of the page. A tag can be something like <span style="font-family: Monaco, Consolas, 'Andale Mono', 'DejaVu Sans Mono', monospace; font-size: x-small;"><span style="line-height: normal;">&lt;a&gt;, &lt;img&gt;, &lt;html&gt;, &lt;p&gt; </span></span>and many more.</p>
<p>Here is a simple HTML page:</p>
<pre>&lt;HTML&gt;
  &lt;HEAD&gt;
    &lt;TITLE&gt;My Page&lt;/TITLE&gt;
  &lt;/HEAD&gt;
  &lt;BODY&gt;
       &lt;H1&gt;Welcome to my page!&lt;/H1&gt;
  &lt;/BODY&gt;
&lt;/HTML&gt;</pre>
<p>There are a few things you can notice here. Tags start like this &lt;NAME&gt;: and end like this &lt;/NAME&gt;. Tags can go underneath other tags. The outermost tag is the &lt;HTML&gt; tag, which says this is a html page. There is a &lt;TITLE&gt; tag, which says the title of this page is &#8220;My html page&#8221;. There is a tag &lt;H1&gt; which says that there is a big header on the page that says &#8220;Welcome to my page!&#8221;</p>
<p>The indenting shows how tags are related to each other. A tag that is more indented is said to be a &#8220;child&#8221; of the tag before it. The structure of a HTML page is said to create a &#8220;tree.&#8221;</p>
<p>If I want to expand my current example to include an image to a file named &#8220;dog.jpg&#8221;, I would write</p>
<pre>&lt;img src="dog.jpg" /&gt;</pre>
<p>This image tag has a source attribute which tells us the filename is &#8220;dog.jpg.&#8221; Different attributes tell us whether the content should be a list, a header, a paragraph, or some different section of text. These tags can be annotated with other attributes that determine how they are styled (CSS) or what to do when certain events happen (JavaScript), but these are topics for a later date.</p>
<p>The main point is that webpages are just made up of html which is a series of tags that add additional information to plain text. If you want to write html, just open a text editor, copy and paste that first example and save it as a file called &#8220;index.html&#8221;&#8211; and you can open that up in a web browser.</p>
]]></content:encoded>
			<wfw:commentRss>http://thekeesh.com/2012/03/how-the-internet-works-9-html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook Friends Ranking Bookmarklet Works Again</title>
		<link>http://thekeesh.com/2012/02/facebook-friends-ranking-bookmarklet-works-again/</link>
		<comments>http://thekeesh.com/2012/02/facebook-friends-ranking-bookmarklet-works-again/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 18:41:43 +0000</pubDate>
		<dc:creator>Jeremy Keeshin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://thekeesh.com/?p=440</guid>
		<description><![CDATA[There were a ton of comments here telling me that the Facebook bookmarklet that I made broke, and this happened because Facebook changed the name of the file they were using. I&#8217;ve updated the post, so the bookmarklet there should &#8230; <a href="http://thekeesh.com/2012/02/facebook-friends-ranking-bookmarklet-works-again/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>There were a ton of comments here telling me that the Facebook bookmarklet that I made broke, and this happened because Facebook changed the name of the file they were using. I&#8217;ve <a href="http://thekeesh.com/2011/08/who-does-facebook-think-you-are-searching-for/">updated the post</a>, so the bookmarklet there should work now. </p>
]]></content:encoded>
			<wfw:commentRss>http://thekeesh.com/2012/02/facebook-friends-ranking-bookmarklet-works-again/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>How the Internet Works 8: Bytes, Megabytes, and More</title>
		<link>http://thekeesh.com/2012/02/how-the-internet-works-bytes-megabytes-and-more/</link>
		<comments>http://thekeesh.com/2012/02/how-the-internet-works-bytes-megabytes-and-more/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 18:01:33 +0000</pubDate>
		<dc:creator>Jeremy Keeshin</dc:creator>
				<category><![CDATA[How the Internet Works]]></category>

		<guid isPermaLink="false">http://thekeesh.com/?p=435</guid>
		<description><![CDATA[I wrote recently about how everything in computers is stored as 0s and 1s, and the language of computers is binary. You can read about that here. However, one bit or a few bits doesn&#8217;t really contain that much information. &#8230; <a href="http://thekeesh.com/2012/02/how-the-internet-works-bytes-megabytes-and-more/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I wrote recently about how everything in computers is stored as 0s and 1s, and the language of computers is binary. You can read about that <a href="http://thekeesh.com/2011/10/how-the-internet-works-5-bits-and-binary/">here</a>. However, one bit or a few bits doesn&#8217;t really contain that much information. In general you will be dealing with thousands, or millions, or billions, or even more binary digits!</p>
<p>There are a set of prefixes that are associated with binary data, and  here is what they all mean.</p>
<p>First a <strong>bit</strong> is just a single 1 or 0.</p>
<p>If you take 8 bits and put them together we call that a <strong>byte</strong>.</p>
<p>One thousand bytes is called a <strong>kilobyte</strong> (shorthand kB). The prefix kilo means 1,000, like kilogram. One minor thing is that computers always represent things in powers of 2, so although the prefix kilo means 1,000 on a computer it is more likely that a kilobyte is 1,024 bytes, because 1,024 = 2^10&#8211; the closest power of two to 1,000. A small text file on your computer is probably a few kilobytes up to a hundred kilobytes.</p>
<p>One million bytes is called a <strong>megabyte</strong> (shorthand MB). The prefix mega means 1,000,000. For a computer the exact number is the closest power of 2 which is 2^20. A standard mp3 file on your computer is probably somewhere from 3 to 10 megabytes (that is 3 to 10 MILLION bytes, or 24 to 80 MILLION 1s and 0s!).</p>
<p>One billion bytes is called a <strong>gigabyte</strong> (shorthand GB). The prefix giga means 1,000,000,000. For a computer the closest power of 2 is 2^30. A full-length video of medium quality is probably around a gigabyte in size. </p>
<p>Just for some more reference, the Google homepage just sent 32.1 kB of data. Just loading the home page of thekeesh.com was 440.98 kB, but doing it a second time was only 12.36kB of data. An image file in general is from tens of kilobytes to a few megabytes. </p>
<p>There are more prefixes bigger than giga&#8211;</p>
<p><strong>terabyte</strong> is one thousand gigabytes<br />
<strong>petabyte</strong> is one thousand terabytes<br />
<strong>exabyte</strong> is one thousand petabytes<br />
<strong>zettabyte</strong> is one thousand exabyte<br />
<strong>yottabyte</strong> is one thousand zettabyte.</p>
<p>You can buy a terabyte hard drive these days for about $100 or less on a quick Google search, which is pretty crazy. </p>
<p>From the wikipedia page on zettabyte:</p>
<blockquote><p>As of February 2012, no storage system has achieved one zettabyte of information. The combined space of all computer hard drives in the world was estimated at approximately 160 exabytes in 2006&#8230; As of 2009, the entire Internet was estimated to contain close to 500 exabytes. This is a half zettabyte.
</p></blockquote>
<p>So that is a basic introduction to some of the metric prefixes as applied to bytes.</p>
]]></content:encoded>
			<wfw:commentRss>http://thekeesh.com/2012/02/how-the-internet-works-bytes-megabytes-and-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lightweight Deployment With Git</title>
		<link>http://thekeesh.com/2012/01/lightweight-deployment-with-git/</link>
		<comments>http://thekeesh.com/2012/01/lightweight-deployment-with-git/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 00:39:54 +0000</pubDate>
		<dc:creator>Jeremy Keeshin</dc:creator>
				<category><![CDATA[Computer Science]]></category>

		<guid isPermaLink="false">http://thekeesh.com/?p=427</guid>
		<description><![CDATA[I&#8217;ve used this setup so many times now that I wanted to write up a list post explaining how I do it. This method is something I found on this site, but I just wanted to add my own commentary. &#8230; <a href="http://thekeesh.com/2012/01/lightweight-deployment-with-git/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve used this setup so many times now that I wanted to write up a list post explaining how I do it. This method is something I found on <a href="http://toroid.org/ams/git-website-howto">this site</a>, but I just wanted to add my own commentary.</p>
<p>The idea is that you are developing a website locally using git, and you want to be able to easily push to your live site with git. We will set up a remote repository on your server, and push to it.</p>
<p>Let&#8217;s say you have your local repository already set up. Log on to your remote machine. Navigate to a directory where you want to keep your repository. This does not necessarily need to be the same location as your code, and you actually probably want it to be a different place.</p>
<pre>
### On the remote machine
corn03:/afs/ir/group/paperless2> mkdir repo.git &#038;&#038; cd repo.git
corn03:/afs/ir/group/paperless2/repo.git> git init --bare
Initialized empty Git repository in /afs/ir.stanford.edu/group/paperless2/repo.git/
</pre>
<p>The way this is going to work, is that we are going to create a <a href="http://book.git-scm.com/5_git_hooks.html">post-receive hook</a>. A post-receive hook means you can run some script after this repo has received a push. What we are doing here is checking out the current code to some directory, which we define as the GIT_WORK_TREE. You can make the GIT_WORK_TREE wherever you want. Then we make the script executable.</p>
<pre>
corn03:/afs/ir/group/paperless2/repo.git> cat > hooks/post-receive
#!/bin/sh
GIT_WORK_TREE=/afs/ir/group/paperless2/cgi-bin git checkout -f
corn03:/afs/ir/group/paperless2/repo.git> chmod +x hooks/post-receive
</pre>
<p>Now, on your local machine, add the remote you want to push to. On this first one, make sure you include the branch you are including, like master.</p>
<pre>
## Locally
> git remote add web ssh://jkeeshin@corn23.stanford.edu/afs/ir/group/paperless2/repo.git
> git push web master
</pre>
<p>For any future updates</p>
<pre>
> git push web
</pre>
<p>It&#8217;s pretty basic, easy to use, and works for lightweight deployment for a site by yourself or with a few other people.</p>
<p>The only issue I had was one time, my internet connection went down in the middle of deployment and the git process crashed. Then the next time I tried to push, nothing happened. After a little bit of searching, the fix was that there was a file &#8220;index.lock&#8221; that was created, and once we removed that file, it worked again.</p>
]]></content:encoded>
			<wfw:commentRss>http://thekeesh.com/2012/01/lightweight-deployment-with-git/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Terms and Conditions: A Hobson&#8217;s Choice</title>
		<link>http://thekeesh.com/2012/01/terms-and-conditions-a-hobsons-choice/</link>
		<comments>http://thekeesh.com/2012/01/terms-and-conditions-a-hobsons-choice/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 00:24:01 +0000</pubDate>
		<dc:creator>Jeremy Keeshin</dc:creator>
				<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://thekeesh.com/?p=425</guid>
		<description><![CDATA[Hobson&#8217;s choice: the choice of taking either that which is offered or nothing; the absence of a real alternative. Origin: 1640–50; after Thomas Hobson (1544–1631), of Cambridge, England, who rented horses and gave his customer only one choice, that of &#8230; <a href="http://thekeesh.com/2012/01/terms-and-conditions-a-hobsons-choice/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<blockquote><p>Hobson&#8217;s choice: the choice of taking either that which is offered or nothing; the absence of a real alternative.<br />
Origin: 1640–50;  after Thomas Hobson  (1544–1631), of Cambridge, England, who rented horses and gave his customer only one choice, that of the horse nearest the stable door, from dictionary.com.</p></blockquote>
<p>I just joined another site yesterday. Or it was an app, I don&#8217;t really remember. It doesn&#8217;t really matter what it was. But this site had terms and conditions that you had to accept before using it. If you are just a general internet user, there is really nothing you can do about terms and conditions. If you want to use this site or app, you have to accept them. And if you don&#8217;t agree with them (and my guess would be in most cases, you would always be able to find something you don&#8217;t agree with), you simply can&#8217;t use the site.</p>
<p>This is the classic case of a Hobson&#8217;s choice, where there appears to be a real choice between two alternatives, but one of the options isn&#8217;t really an option.</p>
<p>Consider a case where you are at work and the boss wants you do to something, and he says to you: &#8220;Either you can do this, or you are fired!&#8221; In this case, you have &#8220;a choice&#8221;&#8211; you can either do this task or not. But assuming you want to keep your job, you are left with no real alternative, and similarly very little bargaining power. </p>
<p>The end users on the internet face this on basically every site you join. There are way too many terms and conditions for it to be at all feasible and reasonable for you to read them. Almost all sites present terms and conditions in a way where they *expect* you not to read them, but you *have* to agree to them to use the site. The sad state of affairs is that users *have* to a agree to a term sheet that they *almost certainly* never read. Many sites have terms and conditions hidden at the footer of their site that you implicitly agree to just by being there. </p>
<p>If I had to guess I would say that way less than 1% of Apple users read their terms and conditions sheets. I would be very curious to know that number. </p>
<p>So that&#8217;s about it. If you want to use the internet at all, just accept the fact that you had to agree to all these really stupid contracts that you have never read.</p>
]]></content:encoded>
			<wfw:commentRss>http://thekeesh.com/2012/01/terms-and-conditions-a-hobsons-choice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Down With Gravity: Juggling Revolution</title>
		<link>http://thekeesh.com/2012/01/down-with-gravity-juggling-revolution/</link>
		<comments>http://thekeesh.com/2012/01/down-with-gravity-juggling-revolution/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 09:50:14 +0000</pubDate>
		<dc:creator>Jeremy Keeshin</dc:creator>
				<category><![CDATA[Juggling]]></category>

		<guid isPermaLink="false">http://thekeesh.com/?p=422</guid>
		<description><![CDATA[We made a juggling video this past month. Lots of cool angles, fun patterns, and really nice video editing by Charlie Dunn. Check it out!]]></description>
			<content:encoded><![CDATA[<p>We made a juggling video this past month. Lots of cool angles, fun patterns, and really nice video editing by Charlie Dunn. Check it out!</p>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/TTjK0r7V950" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://thekeesh.com/2012/01/down-with-gravity-juggling-revolution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How the Internet Works 7 &#8211; Clients and Servers</title>
		<link>http://thekeesh.com/2011/12/how-the-internet-works-7-clients-and-servers/</link>
		<comments>http://thekeesh.com/2011/12/how-the-internet-works-7-clients-and-servers/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 09:30:37 +0000</pubDate>
		<dc:creator>Jeremy Keeshin</dc:creator>
				<category><![CDATA[How the Internet Works]]></category>

		<guid isPermaLink="false">http://thekeesh.com/?p=414</guid>
		<description><![CDATA[Part of my goal with this series of posts it to demystify a lot of the jargon that you find when people talk about the internet. Each of these topics has a whole literature and special part of the internet &#8230; <a href="http://thekeesh.com/2011/12/how-the-internet-works-7-clients-and-servers/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Part of my goal with this series of posts it to demystify a lot of the jargon that you find when people talk about the internet. Each of these topics has a whole literature and special part of the internet dedicated to it, but just knowing what the general idea is a step in the right direction.</p>
<p>Today, I want to write about &#8220;clients&#8221; and &#8220;servers.&#8221; These are words that are used a lot in describing basic parts of the internet, so here is the answer:</p>
<p>The definitions go hand in hand, and so that is why I will introduce them together.</p>
<p>The client is someone that requests information server. The server is the one who responds to the requests. </p>
<p>If you think about it like a restaurant&#8211;when you go, you sit down at your table. You are the &#8220;client,&#8221; you can order whatever food you like. The waiter or waitress is your &#8220;server,&#8221; they respond to your requests. </p>
<p>In terms of the internet, <b>you</b> are the client. When you want to visit a webpage, say google.com, you make a request to get their webpage, and one of Google&#8217;s servers responds with the webpage. </p>
<p><img src="http://thekeesh.com/wp-content/uploads/2011/12/client_server.png" width="500px" /></p>
<p>When people talk about servers they can mean a million different things, but usually they are referring to some computer, (or part of a computer), that is responsible for &#8220;serving&#8221; up their website, or responding to the different clients who are requesting it.</p>
<p>&#8220;Client&#8221; and &#8220;server&#8221; go hand in hand with another pair of words: &#8220;front-end&#8221; and &#8220;back-end.&#8221; Front-end is the client-side, or the place where you, the end-user, is. Back-end is the server-side, where the website&#8217;s big computers and data-centers are. Now if I told you that &#8220;php is a server-side programming language&#8221;&#8211;you can start to decode that phrase. </p>
]]></content:encoded>
			<wfw:commentRss>http://thekeesh.com/2011/12/how-the-internet-works-7-clients-and-servers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How the Internet Works 6 &#8211; Programming Languages</title>
		<link>http://thekeesh.com/2011/11/how-the-internet-works-6-programming-languages/</link>
		<comments>http://thekeesh.com/2011/11/how-the-internet-works-6-programming-languages/#comments</comments>
		<pubDate>Tue, 29 Nov 2011 06:29:33 +0000</pubDate>
		<dc:creator>Jeremy Keeshin</dc:creator>
				<category><![CDATA[How the Internet Works]]></category>

		<guid isPermaLink="false">http://thekeesh.com/?p=410</guid>
		<description><![CDATA[This is going to be an extremely brief and high level overview of what a programming language is. My goal here is that if you don&#8217;t know what a programming language is before reading this, you have an idea of &#8230; <a href="http://thekeesh.com/2011/11/how-the-internet-works-6-programming-languages/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This is going to be an <i>extremely</i> brief and high level overview of what a programming language is. My goal here is that if you don&#8217;t know what a programming language is before reading this, you have an idea of what it is after.</p>
<p>A programming language is just the way that you tell a computer what you want it to do. You run programs on your computer, like a web browser, or maybe iTunes. These are programs. Someone or a group of people built these programs, and the way they did it was by using a programming language.</p>
<p>There is a famous first program that people write, called &#8220;Hello World&#8221; where you just try and get the program to print out &#8220;Hello World.&#8221; Here is an example in a programming language called C:</p>
<pre>
#include &lt;stdio.h&gt;

int main(){
    printf("Hello World");
}
</pre>
<p>Theres a lot of random stuff here, a lot of random syntax to get the program to run, but the basic idea is that this will output &#8220;Hello World&#8221; when you run it.</p>
<p>In another programming language called python, if you want to print hello world you just write:</p>
<pre>
print "Hello World"
</pre>
<p>Different programming languages have different ways of telling the computer to do things. Many math operations also carry over, so for example you could add two numbers in python with:</p>
<pre>
print 5 + 10
</pre>
<p>There is wayyyyyyyyyyy more to programming languages. There is a specific legal way to write things in programming languages, and that is called the syntax. There are lots of other ways to classify and talk about programming languages, but that is for another time.</p>
]]></content:encoded>
			<wfw:commentRss>http://thekeesh.com/2011/11/how-the-internet-works-6-programming-languages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How the Internet Works 5: Bits and Binary</title>
		<link>http://thekeesh.com/2011/10/how-the-internet-works-5-bits-and-binary/</link>
		<comments>http://thekeesh.com/2011/10/how-the-internet-works-5-bits-and-binary/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 08:08:33 +0000</pubDate>
		<dc:creator>Jeremy Keeshin</dc:creator>
				<category><![CDATA[How the Internet Works]]></category>

		<guid isPermaLink="false">http://thekeesh.com/?p=404</guid>
		<description><![CDATA[Theres a lot more to how the internet works, but for a few posts I want to talk about a few side topics which sort of underly everything about computers and the internet. The topic for this post is binary &#8230; <a href="http://thekeesh.com/2011/10/how-the-internet-works-5-bits-and-binary/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Theres a lot more to how the internet works, but for a few posts I want to talk about a few side topics which sort of underly everything about computers and the internet. The topic for this post is binary and bits. </p>
<p>So the first question is, what is binary? Binary is a <strong>base 2</strong> number system. That might sound confusing at first, so I&#8217;ll try and compare it to a few examples you may be familiar with.</p>
<p><img src="http://thekeesh.com/wp-content/uploads/2011/10/base10.png" /></p>
<p>Take the number 2537. Two-thousand, five hundred, and thirty-seven. What that really means is two &#8220;thousands,&#8221; five &#8220;hundreds,&#8221; three &#8220;tens,&#8221; and seven &#8220;ones.&#8221; Our normal number system is in base-10, or decimal. What that really means is that each place stands for a power of ten. So &#8220;ones&#8221; is 10^0, &#8220;tens&#8221; is 10^1, etc.</p>
<p>When we talk about base-2, instead of our places standing for powers of 10, they stand for powers of two. So instead of &#8220;ones,&#8221; &#8220;tens,&#8221; and &#8220;hundreds,&#8221; we have &#8220;ones,&#8221; &#8220;twos,&#8221; and &#8220;fours.&#8221; &#8220;ones&#8221; is 2^0, &#8220;twos&#8221; is 2^1, &#8220;fours&#8221; is 2^2. (The notation X^Y means X to the power Y, so 2^3 is 2*2*2.)</p>
<p><img src="http://thekeesh.com/wp-content/uploads/2011/10/base2.png" /></p>
<p>If you look at the base-2 number 1011, what we have is a 1 in the &#8220;eights&#8221; place, a one in the &#8220;twos&#8221; place and a one in the &#8220;ones&#8221; place. Adding that up we get 8+2+1 = 11. The thing about binary is you only have ones or zeros, which is very easy for a computer to represent&#8211;it&#8217;s kind of like on and off.</p>
<p>One binary digit, a &#8220;one&#8221; or a &#8220;zero&#8221; is called a bit. Basically computers store everything in bits. All information is somehow represented in bits. It&#8217;s kinda crazy, but that&#8217;s what it is. So now you know.</p>
]]></content:encoded>
			<wfw:commentRss>http://thekeesh.com/2011/10/how-the-internet-works-5-bits-and-binary/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>How the Internet Works 4: IP Addresses</title>
		<link>http://thekeesh.com/2011/10/how-the-internet-works-4-ip-addresses/</link>
		<comments>http://thekeesh.com/2011/10/how-the-internet-works-4-ip-addresses/#comments</comments>
		<pubDate>Mon, 10 Oct 2011 05:34:48 +0000</pubDate>
		<dc:creator>Jeremy Keeshin</dc:creator>
				<category><![CDATA[How the Internet Works]]></category>

		<guid isPermaLink="false">http://thekeesh.com/?p=396</guid>
		<description><![CDATA[My last few posts have been about names on the internet. I talked about domain names and urls, and today I&#8217;m going to talk about IP addresses.. IP Addresses continue the very interesting series of names that we find on &#8230; <a href="http://thekeesh.com/2011/10/how-the-internet-works-4-ip-addresses/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>My last few posts have been about names on the internet. I talked about <a href="http://thekeesh.com/2011/09/how-the-internet-works-2-domain-names/">domain names</a> and <a href="http://thekeesh.com/2011/09/how-the-internet-works-3-urls/">urls</a>, and today I&#8217;m going to talk about <a href="http://en.wikipedia.org/wiki/IP_address">IP addresses.</a>.</p>
<p>IP Addresses continue the very interesting series of names that we find on the internet. For us, they are sort of the end of the line when it comes to the internet and names. Our friend sends us a link, a URL of another webpage. That URL is the full human readable location of that thing on the internet. Part of that url is the domain name, which refers to a computer or a bunch of computers somewhere. But unfortunately, computers don&#8217;t really read English, and when you say &#8220;Go to thekeesh.com,&#8221; it really doesn&#8217;t know where to go. </p>
<p>There are a few steps in between that we will talk about later, but basically what happens is that you say &#8220;thekeesh.com&#8221; and it says: &#8220;173.230.152.171&#8243;</p>
<p>So that&#8217;s my real address on the internet. It&#8217;s an IP address, or an Internet Protocol Address. </p>
<p>I was going to make my own image like I&#8217;ve been doing in the past, but just found Wikipedia&#8217;s and it is pretty good.</p>
<p><img src="http://upload.wikimedia.org/wikipedia/commons/7/74/Ipv4_address.svg" /></p>
<p>So here&#8217;s an IP address broken down. It&#8217;s four numbers between 0 and 255 (8 bits, but we&#8217;ll get to that later). To be honest, it doesn&#8217;t really matter here what the numbers mean. Basically you can think of the IP Address as being the address of a domain name on the internet that computers understand.</p>
<h2>The Big Issue</h2>
<p>Basically, the internet has gotten really big recently, and we are running out of these numbers. <a href="http://en.wikipedia.org/wiki/IPv4_address_exhaustion">Read more about it here</a>. So people redesigned IP adresses to give us way more addresses. They are 128 bit (we will talk about that more later), but that means that there are &#8220;2^128 (approximately 340 undecillion or 3.4×1038) addresses,&#8221; according to Wikipedia. That is a huge number. We are much less worried about running out with IPv6.</p>
<p>So the moral of the story: An IP Address is the number assigned to a computer that is connected to the internet. Everything connected to the internet gets one, phones and printers too!</p>
]]></content:encoded>
			<wfw:commentRss>http://thekeesh.com/2011/10/how-the-internet-works-4-ip-addresses/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

