<?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>Eli White</title>
	<atom:link href="http://eli-white.com/feed" rel="self" type="application/rss+xml" />
	<link>http://eli-white.com</link>
	<description>Portfolio and Blog</description>
	<lastBuildDate>Wed, 14 Mar 2012 05:18:51 +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>Why is Mayhem so basic? Why can’t we make it more complicated?</title>
		<link>http://eli-white.com/archives/74</link>
		<comments>http://eli-white.com/archives/74#comments</comments>
		<pubDate>Wed, 14 Mar 2012 04:43:11 +0000</pubDate>
		<dc:creator>Eli</dc:creator>
				<category><![CDATA[Mayhem]]></category>

		<guid isPermaLink="false">http://eli-white.com/?p=74</guid>
		<description><![CDATA[Simple: Mayhem is designed to be easy. We have been receiving a lot of feedback, especially from developers, asking questions like, “How do you do while loops?” or “Can you make one event trigger multiple reactions?” Another common question has been, “Why can’t we pass data from an event to a reaction?” The short answer [...]]]></description>
			<content:encoded><![CDATA[<p>Simple: Mayhem is designed to be easy.</p>
<p>We have been receiving a lot of feedback, especially from developers, asking questions like, “How do you do while loops?” or “Can you make one event trigger multiple reactions?” Another common question has been, “Why can’t we pass data from an event to a reaction?”</p>
<p>The short answer is that Mayhem is meant to be easy for everyone. This means you, me, developers, non-programmers, and even my grandmother should be able to navigate Mayhem with ease.</p>
<p>But you didn’t come to this blog for the short answer.</p>
<p>The longer answer is split into two parts.  First, adding these things (loops, multiple reactions, data passing, etc) will make it more difficult for end users to use the program. Second, adding these things will make it more difficult for developers to write modules.  Both would defeat the purpose and vision of Mayhem.</p>
<p>Mayhem approaches simplicity in a whole new way.</p>
<p>For a  long time people have tried to simplify  programming for non-programmers by creating visual programming languages. However, none of these languages have seen widespread adoption by non-programmers.  Why? Even with graphical programming systems, you still fundamentally have to know how to program, or at least to think in terms of loops, functions, etc. How is my grandma going to be able to do that?</p>
<p>With Mayhem we took a radically different approach in which we only support one simple, very generic construct. When something happens…do something else. That’s it. That’s Mayhem. A lot of programmers have gotten frustrated with us because of this, throwing around comments like “Mayhem isn’t Turing complete” and “It’s hopelessly limiting.” However, Mayhem isn’t designed to be a programming language; it wasn’t developed to replace C# or any other “real” programming language.  Mayhem was designed to be the single link between Events and Reactions, with no programming required by the end user.</p>
<p>While Mayhem can’t do everything, what it can do is done trivially. Our model is one that everyone can understand quickly. We wanted to minimize the learning curve as much as possible;  adding  multiple constructs and parameter passing would make us no different than other visual programming languages. In other words, instead of enabling the language, we focus on enabling people.</p>
<p>Okay, that explains why our super straightforward Event and Reaction model makes sense for end users, but why does removing all that functionality make it easier for developers? That’s actually a pretty easy question. With Mayhem, we made every Event work with every other Reaction.</p>
<p>Now imagine that we allowed the Event to pass data to the Reaction. Let’s  pause for a second to talk about contracts in Windows 8. Contracts are my absolute favorite thing about Windows 8. (For more information on contracts, there’s a great article <em><a href="http://www.zdnet.com/blog/microsoft/microsofts-new-windows-8-contracts-the-debut-of-the-developer-clipboard/10750">here</a>.</em></p>
<div>
<div>
<div>
<p> As an example, let’s say you wanted to take a picture from your hard drive and put it into a Word document… but the picture is only on Facebook!  By downloading the Facebook app and implementing the Win8 photo contract, any photos stored on Facebook would become available to you through the default Windows photo picker.  There’s even a generic sharing contract, so you can “share” what  your current application has saved with any other application (as long as both have implemented the sharing contract.) In order to program those applications you have to write custom code for each of those contracts, the program needs to know how to search, share and many more…generically.</p>
<p>Let’s jump back into Mayhem land. Mayhem’s Event and Reaction model is a contract at its simplest. Imagine we have the Reaction <em>DoThingsWithStuff</em>. If the Event was able to pass a parameter, <em>DoThingsWithStuff</em> would need to know how to interpret that parameter. It might be an image, it might be a website URL, and it might be a custom object. <em>DoThingsWithStuff</em> would only ever be able to work with the things it was programmed for, failing for everything else.</p>
<p>There are also obvious consistency problems for the end user in the case that <em>DoThingsWithStuff</em> knows how to interpret multiple data types. The end user would have to know how <em>DoThingsWithStuff</em> acts based on which event they paired it with. Something that might seem extremely obvious to developers would make my non-computer savvy friend frustrated because his connection didn’t work as he expected.</p>
<p>Now let’s take Mayhem as it is; we don’t pass any data, and Events and Reactions are self-contained. Any Reaction will know how to work with every Event made previously and any produced in the future, regardless of what the Reaction does. The Reaction always works the same way, and therefore you can be a master of that Reaction as soon as you use it.</p>
<p>Not only are Mayhem Events and Reactions simple to code, they are universal concepts. Almost anything can be plugged into this model. From the real to the virtual, the most disparate devices and services can all tie together in Mayhem. What’s more, you don’t have to be a Boy Scout (or a master developer) to do the tying.</p>
<p>&nbsp;</p>
<p><em>For more information about Mayhem including the Make Your Own Mayhem contest with $7,500 worth in prizes, visit <a href="http://MakeMayhem.com">http://MakeMayhem.com</a>. </em></p>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://eli-white.com/archives/74/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blogging, I&#8217;ve missed you so.</title>
		<link>http://eli-white.com/archives/67</link>
		<comments>http://eli-white.com/archives/67#comments</comments>
		<pubDate>Wed, 26 Oct 2011 22:45:49 +0000</pubDate>
		<dc:creator>Eli</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://eli-white.com/?p=67</guid>
		<description><![CDATA[It&#8217;s been a long time since I&#8217;ve updated this site. I have done so much in the last year that I have told myself that I need to just sit down and crank out information about it. That&#8217;s great in theory, but the amount of time I would need to have spent writing about things [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a long time since I&#8217;ve updated this site. I have done so much in the last year that I have told myself that I need to just sit down and crank out information about it. That&#8217;s great in theory, but the amount of time I would need to have spent writing about things that have already happened keep me from making progress on my current projects.</p>
<p>Therefore, this will not be the all inclusive post with tons of details, pictures, and step by step instructions on how to recreate my projects that I wanted it to be. Instead it will be a short recap with some minimal information. If you really want to know more about a project, let me know what you are looking for and I can probably oblige specific requests.</p>
<p>Anyways, I get calls fairly often from potential employers who ask me if I&#8217;m free for work since my latest blog post is from my last day as an intern during the summer of 2010. I guess I was unaware how often my blog was read for information about my current status in life. To all of you who may be possible employers&#8230; *wave*. </p>
<p>Since my internship was over, I have revisted a lot of old interests and projects, and played with new things I couldn&#8217;t have imagined getting the opportunity to play with.</p>
<p>Firstly, I was a TA at the University of Washington for the web programming class. Pretty straight forward, we taught the whole stack from mysql backend, php, css, and javascript frontend. I led quiz sections, graded homework, office hours, etc. The regular shindig. I love web programming so much, so passing this knowledge on was an awesome experience.</p>
<p>I&#8217;ve also been revisiting my <a href='http://www.youtube.com/watch?v=rnahGrcwZ9Q'>computer controlled light tubes project</a>. The first version is quite large and clunky, the wires are massive and inflexible and it&#8217;s time for it to be expanded. I learned a lot from making the initial version, I had never really worked with hardware before and did everything from the soldering to the firmware and highlevel c# controller. My new version will be 1 printed circuit board, slightly larger than a credit card&#8217;s dimensions (excluding the height obviously) instead of 4 hand soldered boards. I&#8217;m designing the schematic and am planning to send those out for manufacturing. It&#8217;s a big undertaking and is something I&#8217;ve never done before.</p>
<p>I&#8217;ve also been working on building new letters for the outside of my Fraternity&#8217;s chapter at the University of Washington. Our current letters are brass and blend in with the side of our building and are almost invisible at night. Some houses have purchased back lit letters for their house. These turn on at night and turn off in the morning and are backlit in white. I decided to take the whole concept one step farther and to do something I have never seen someone do before. I made new letters for our house (didn&#8217;t buy them or hire someone to cut them), and attached an rgb led strip to the back. I made a custom controller that turns on and off the led strip to a solid color at night and in the morning just like all the others. However, you can plug a computer into it and run animations to your heart&#8217;s content. If you unplug the computer, the solid color that turns on at night will be the last color the computer set them to.</p>
<p><a href="http://eli-white.com/archives/67/wp_000056-2-2" rel="attachment wp-att-69"><img src="http://eli-white.com/http://eli-white.com/wp-content/uploads/2011/10/WP_000056-21-300x225.jpg" alt="" title="Theta Xi Letters" width="300" height="225" class="alignleft size-medium wp-image-69" /></a>I laser cut the letters from acrylic, painted them with silver automobile paint and a clear coat, drilled and tapped holes to attach studs, wired up the led strips, and made the circuit controller. To give you a sense of size, the outside oval of the Theta is 18 inches across and the studs holding up the letters are 4 inches long.</p>
<p>And during all this, I have also been working at Microsoft full time since January. I&#8217;m working on an amazing project called Mayhem that has the potential to revolutionize what normal people (non developers) can use their computer for. I have so much more to say about that, and I&#8217;m able to as well! The entire project is public and open source, so stand by for more information. <img src='http://eli-white.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>As I said, I don&#8217;t have time to go as depth in all these projects as I would like to, but I have taken this opportunity to at least provide some summary of what I&#8217;m working on. Hopefully I&#8217;ll approach writing articles in more managable chunks and can actually keep this up. I feel like I always say that. Hmm.</p>
]]></content:encoded>
			<wfw:commentRss>http://eli-white.com/archives/67/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Last day as a Microsoft intern</title>
		<link>http://eli-white.com/archives/38</link>
		<comments>http://eli-white.com/archives/38#comments</comments>
		<pubDate>Sat, 11 Sep 2010 00:45:55 +0000</pubDate>
		<dc:creator>Eli</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[intern]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://eli-white.com/?p=38</guid>
		<description><![CDATA[Today is my last day as an intern on Microsoft’s ASP.NET dev team. I would like to share my experiences and talk a little about what I spent my summer working on. First and foremost, Microsoft’s internship program is amazing; they really know how to give college students a fun summer while working hard at [...]]]></description>
			<content:encoded><![CDATA[<p>Today is my last day as an intern on Microsoft’s ASP.NET dev team. I would like to share my experiences and talk a little about what I spent my summer working on. First and foremost, Microsoft’s internship program is amazing; they really know how to give college students a fun summer while working hard at the same time. Microsoft organized big and small internship events, from a free showing of <a title="Kooza" href="http://www.cirquedusoleil.com/en/shows/kooza/default.aspx">Kooza</a> with all of the interns where we received Zune HDs, to <a title="Puzzle Day" href="http://everything2.com/title/Microsoft+Puzzle+Day">Puzzle Day</a> to seeing <a href="http://www.imdb.com/title/tt0446029/">Scott Pilgrim vs. The World</a> with my small social group. There were so many events put on for us that were so epic I could spend multiple posts talking about (and I should have throughout my internship).</p>
<p>The internship wasn’t just fun and games though, Microsoft interns are recruited for their technical knowledge and their ability to problem solve. We were given real projects on real product teams and given the opportunity to work on a feature (or features) over the course of our internship. I was a developer on the <a href="http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx">ASP.NET Razor Syntax</a> team.</p>
<p>I didn’t go through the normal college hiring process to get on this team. I had been a regular to the <a href="http://www.meetup.com/php-49/">Seattle PHP Meetup</a><a href="http://www.meetup.com/php-49/"></a>, and the group was invited to come to Microsoft for a software design review hosted by the ASP.NET team. I came for the SDR and after some signing of NDAs we were told what they were working on. The team was developing a way to get new web developers to adopt the Microsoft web stack. This has always been an issue for Microsoft, and part of why PHP has such a large following.</p>
<p>Using PHP, you can simply create a file, upload it to your host, and navigate to the file. Using ASP.NET, you had to create a new project in visual studio, add that file, set up your publishing settings and publish to get the same results. Microsoft is making a push to make it easier to ramp up developers using the web stack. To do this they have introduced a new set of technologies that make it just as easy (if not easier) to have the same kind of “hacker” mindset PHP allows, but using ASP.NET.</p>
<p>This all starts with a new slim, fast, and easy to use IDE called <a href="http://weblogs.asp.net/scottgu/archive/2010/07/06/introducing-webmatrix.aspx">WebMatrix</a>. WebMatrix lets you easily create web sites, write code, manage databases, and upload to web hosts. WebMatrix has a web server built in, the new <a href="http://weblogs.asp.net/scottgu/archive/2010/06/28/introducing-iis-express.aspx">IIS Express</a>. This allows you to be developing a site and click run in WebMatrix. It will start up IIS and run the page you have selected in WebMatrix. As a PHP developer, that is pretty awesome already. Normally I would have to install WAMP (I use <a href="http://www.zend.com/en/products/server-ce/">Zend Server CE</a>) and make sure everything is set up correctly. Also, WAMP normally stays running through the life cycle of your computer, IIS Express only starts up when you run your site, and shuts down when you are done. Pretty handy.</p>
<p>All this is good and dandy, but none of it gets me as excited as the Razor View Engine that was introduced as well. This is what got me the most interested at the SDR, and ended up being the team I have been working with this summer.</p>
<p>At its core, the Razor View Engine is designed to make it easier to build feature rich websites with less code. This is partly done through the awesome parser that <a href="http://blog.andrewnurse.net/">Andrew Nurse</a>, one of the developers on the team wrote. One of the easiest changes to accept is the way that you specify code inside of html. Take the following example as it is shown in 3 different ways:</p>
<p>PHP (excuse the short tags):</p>
<pre name="code" class="php">&lt;ul id="products"&gt;
    &lt;?php foreach($products as $p) { ?&gt;
        &lt;li&gt;&lt;?= $p-&gt;Name?&gt; ($&lt;?= $p-&gt;Price)&lt;/li&gt;
    &lt;?php } ?&gt;
&lt;/ul&gt;</pre>
<p>ASPX:</p>
<pre name="code" class="c#">&lt;ul id="products"&gt;
    &lt;% foreach(var p in products) { %&gt;
        &lt;li&gt;&lt;%=p.Name%&gt; ($&lt;%=p.Price%&gt;)&lt;/li&gt;
    &lt;% } %&gt;
&lt;/ul&gt;</pre>
<p>Razor:</p>
<pre name="code" class="c#">&lt;ul id="products"&gt;
    @foreach(var p in products) {
        &lt;li&gt;@p.Name ($@p.Price)&lt;/li&gt;
    }
&lt;/ul&gt;</pre>
<p>As I tell people who look at me funny after seeing this example is that &#8220;it just works&#8221;. Embrace it. This change makes it so much easier to write simple pages with embedded statements. This is only one type of thing that Razor enables, it also provides a version of the <a href="http://martinfowler.com/eaaCatalog/twoStepView.html">two step view</a> pattern. Razor has support for some awesome initialization pages and easy to use helpers. My favorite helper is the <a href="http://www.asp.net/webmatrix/tutorials/13-adding-security-and-membership">membership helper</a>. There is so much juicy functionality in Razor that I can only point you to the ASP.NET <a href="http://www.asp.net/webmatrix/tutorials/2-introduction-to-asp-net-web-programming-using-the-razor-syntax">Razor Syntax tutorial</a>. Read it and be amazed.</p>
<p>Anyways, this summer I worked on a bunch of projects inside of Razor that gave me a pretty well rounded experience. I can’t provide detail into what I have been working on, although when the next public release of the web stack comes out, I will have a lot to share.</p>
<p>What I can say is that I wrote a sample application that will ship with WebMatrix that shows off some of the sweet functionality of the Razor syntax. I also worked on some new helpers that came from complicated yet common scenarios in the PHP world and was able to make it really easy for Razor developers to use.</p>
<p>I also spent a lot of time working with the Membership helper. This is the coolest thing I worked on while at Microsoft, but I can’t talk about it at all because the part that I worked on is entirely new to ASP.NET and has not been released yet. I’m most excited to be able to have a write up of that once the next Razor release comes out. Stay tuned!</p>
<p>I worked hard this summer on my projects (had a lot of fun doing them too) and was rewarded with some pretty sweet swag at the same time. From what I understand, HR has a budget for intern gifts each year. Each division also can give gifts to their interns. I was a member of the <a href="https://careers.microsoft.com/careers/en/gbl/servertools.aspx">server and tools division</a> , apparently that was the place to be this summer. It seemed like there were not very many interns over in STB (in comparison with places like Xbox and Windo<a rel="attachment wp-att-45" href="http://eli-white.com/2010/09/38/back-camera/"><img class="size-medium wp-image-45 alignleft" title="Netbook" src="../http://eli-white.com/wp-content/uploads/2010/09/photo-300x224.jpg" alt="DevDiv Netbook" width="300" height="224" /></a>ws Phone 7) which meant they had a much higher budget per intern.</p>
<p>Leaving Microsoft this summer I am weighed down with some awesome swag. Things that all Microsoft interns received this summer: <a href="http://www.zune.net/en-US/products/zunehd/default.htm">Zune HD</a> , <a href="http://gizmodo.com/5598897/ballmer-yes-interns-you-get-free-windows-phone-7-phones-too">Windows Phone 7s</a> , a 2010 intern t-shirt (of course), and a messenger bag. Server and tools / dev div gave us crazy amounts of stuff as well. We got a pretty cool (pun intended) mini fridge that can plug into the wall or the car and is able to heat or cool. We also got a free 3 month Zune pass to go along with our Zune, a netbook, and an even nicer messenger bag. I got a bunch of t-shirts, and I’m sure there are other things that I am forgetting.</p>
<p>All in all, this has been an amazing summer and a fantastic internship. I would highly recommend applying to Microsoft for an internship, it might be the best decision you could make.</p>
]]></content:encoded>
			<wfw:commentRss>http://eli-white.com/archives/38/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moving to WordPress</title>
		<link>http://eli-white.com/archives/16</link>
		<comments>http://eli-white.com/archives/16#comments</comments>
		<pubDate>Thu, 02 Sep 2010 07:05:27 +0000</pubDate>
		<dc:creator>Eli</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://eli-white.com/?p=16</guid>
		<description><![CDATA[I&#8217;ve decided to move from my own custom portfolio and blog backend, to the common word press software. I am hoping that now that it is easier to manage content / comments I may in fact post up some more information about my personal projects and experiences that I have had. I have tried copying [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve decided to move from my own custom portfolio and blog backend, to the common word press software. I am hoping that now that it is easier to manage content / comments I may in fact post up some more information about my personal projects and experiences that I have had.</p>
<p>I have tried copying over the posts from my old system, but ended up entering them in the opposite order. I haven&#8217;t decided whether to go and fiddle with the database to get them the way I want them, but I may.</p>
<p><strong>*Edit*</strong>, It looks like wordpress allows me to modify the published timestamps without modifying the databases. I have now set the posts to have the original date stamps so they are in the right order.</p>
<p>Very cool, WordPress. I may have underestimated you yet.</p>
]]></content:encoded>
			<wfw:commentRss>http://eli-white.com/archives/16/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Downfall of a Catchall Email</title>
		<link>http://eli-white.com/archives/6</link>
		<comments>http://eli-white.com/archives/6#comments</comments>
		<pubDate>Fri, 22 Jan 2010 13:11:10 +0000</pubDate>
		<dc:creator>Eli</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[catchall]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[webmail]]></category>

		<guid isPermaLink="false">http://eli-white.com/?p=6</guid>
		<description><![CDATA[I&#8217;ve been using a catchall email address for a while now. This is an email that you attach to a domain name so that you can receive any email sent to the domain. For example, say I set up a catchall email address on the domain www.email.com. That would mean that emails sent to eli@email.com, [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using a catchall email address for a while now. This is an email that you attach to a domain name so that you can receive any email sent to the domain. For example, say I set up a catchall email address on the domain www.email.com. That would mean that emails sent to eli@email.com, php@email.com, dudeprogramminglolz@email.com would all go to the same inbox. I have found this to be very handy because I can give different emails to everyone without additional work on my part, and know who they are just from the email they sent the message to.</p>
<p>Why is this important you ask? Why can&#8217;t I just read the message and figure it out? Lets say you register on Site A with Email A. You then receive a message from Site B from Email A. What you can then infer is that Site B received or gained your email address from Site A. If spam continues from that email address, instead of just having to make a new email altogether, you can simply block incoming messages on that email address. I have found this to be much more helpful than I originally thought.</p>
<p>The problem I have stumbled upon however is that once I receive all of my emails from my catchall email address in my Thunderbird inbox, if I try to reply to an email, it then sends a response email from a different email address than the one I received it on. That means that if I reply to an email I received from haxorz@bbq.com, it might be sent on ihrtspiders@hotmail.com instead of haxorz@bbq.com. After being unable to find a solution to this problem I have decided to make a simple web mail client. The required change for this problem is to simply modify a mail header when you send an email.</p>
]]></content:encoded>
			<wfw:commentRss>http://eli-white.com/archives/6/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beginnings of College and the Start of New Projects</title>
		<link>http://eli-white.com/archives/9</link>
		<comments>http://eli-white.com/archives/9#comments</comments>
		<pubDate>Thu, 12 Feb 2009 14:07:47 +0000</pubDate>
		<dc:creator>Eli</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[college]]></category>
		<category><![CDATA[fubar]]></category>
		<category><![CDATA[peoplebot]]></category>
		<category><![CDATA[robot]]></category>

		<guid isPermaLink="false">http://eli-white.com/?p=9</guid>
		<description><![CDATA[As my first blog message, I decided to talk a little bit about me and some of the things I&#8217;ve been doing so far in college. I go to University of Washington in Seattle, I&#8217;m currently a freshman. I attended a freshman pre-college&#8230;college experience. It was 5 weeks before school started and you take one [...]]]></description>
			<content:encoded><![CDATA[<p>As my first blog message, I decided to talk a little bit about me and some of the things I&#8217;ve been doing so far in college. I go to University of Washington in Seattle, I&#8217;m currently a freshman. I attended a freshman pre-college&#8230;college experience. It was 5 weeks before school started and you take one class. It is just a time for freshman to get situated and used to going to a class, living in the dorms, and giving us an opportunity to make friends and browse the city.</p>
<p>The first week there I found a guy who lived in my hall who had direct-admissions into computer engineering, we became decent friends and started talking about what we have done previously in regards to computer programs and things we have built. He had a good amount of previous hardware experience, and with my experience from Pather with navigational systems and some simple artificial intelligence led us to the conclusion that we should try building a robot. I already had a small robotic kit from Oregon State University, one of their Tek-bots.<br />
Our robot quickly came together, much faster than either of us expected. We had to put together all the circuit boards, wiring together all the hardware, making the battery chargers, motor controls, etc. We got everything put together in about two days and began looking for what we could start doing with it. Our first goal was to get the motors controlled by a little PIC micro controller that we had over a serial connection to a laptop we had. Our simple kit robot started with just a single micro controller, and quickly expanded to a tiny linux motherboard that we took out of a small laptop, giving us ram, much greater processing power, even an integrated graphics card (not like we had a screen), but who cares, like going overboard has ever stopped some ambitious college freshman with too much time on their hands.</p>
<p>Once the robot had the Linux board successfully integrated into its controls, th<a rel="attachment wp-att-10" href="http://eli-white.com/2009/02/beginnings-of-college-and-the-start-of-new-projects/fubarw/"><img class="alignleft size-full wp-image-10" title="fubarw" src="http://eli-white.com/http://eli-white.com/wp-content/uploads/2010/09/fubarw.jpg" alt="" width="176" height="200" /></a>e long serial cord tether connection the robot to the laptop became a bit annoying. So that led us to connect a laptop wi-fi card to the robot so that we could connect to it directly. After the robot was wireless, of course the next step was to make the robot move from keyboard control on the laptop. The Q and W keys made the left and right motors respectively move forward. The A and S keys made the motors stop, and the Z and X keys made the motors reverse. We became fairly adept at making the robot move around the room, and eventually roll down the halls into other people&#8217;s rooms, always a surprise to see.</p>
<p>My professor for my pre-college experience class was friends with a professor in the Computer Science and Engineering department and he set us up a meeting for us to show him what we built. When we met with him, he showed us a project he was working on that I found very interesting. A swarm of 5 or 6 robots designed to create digital navigation maps of large areas. Each robot would be placed in a separate location and would begin mapping out their area. If the robots thought they had overlapping data, they would arrange a meeting location and if they were in-fact in the same location, they would mesh their data into a larger map and then go back out to continue discovering more area.</p>
<p>I thought I would be very happy working on that project with him, however he was not looking for any more researchers at that time. He got my friend and I in touch with another professor in the department of technical communications who was doing research on human-robot interactions and was receiving a fully equipped robot to work with. We took this opportunity and began officially doing undergraduate research very early in our freshman year of college. Her robot was a <a href="http://www.activrobots.com/ROBOTS/peoplebot.html">Peoplebot</a>, a human sized robot designed for interaction and autonomous mobility.</p>
<p>So far we have set up the robot, installed the software and began poking around inside at the inner workings of its laser rangefinder, and arrays of sonar rangefinders. There is very interesting stuff for us to work with, I look forward to being able to work with it more.</p>
]]></content:encoded>
			<wfw:commentRss>http://eli-white.com/archives/9/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

