<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>MPD &#187; tech</title>
	<atom:link href="http://blog.mpdaugherty.com/category/tech/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mpdaugherty.com</link>
	<description>Mike&#039;s in China, doing tech stuff</description>
	<lastBuildDate>Thu, 11 Mar 2010 16:48:11 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='blog.mpdaugherty.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/75d78ca4874576a82c347ee3ad1b0d45?s=96&#038;d=http://s2.wp.com/i/buttonw-com.png</url>
		<title>MPD &#187; tech</title>
		<link>http://blog.mpdaugherty.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.mpdaugherty.com/osd.xml" title="MPD" />
	<atom:link rel='hub' href='http://blog.mpdaugherty.com/?pushpress=hub'/>
		<item>
		<title>Staying Connected Overseas with Google Voice and Skype</title>
		<link>http://blog.mpdaugherty.com/2010/03/11/staying-connected-overseas-google-voice-skype/</link>
		<comments>http://blog.mpdaugherty.com/2010/03/11/staying-connected-overseas-google-voice-skype/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 16:17:26 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[travel]]></category>
		<category><![CDATA[china]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[google voice]]></category>
		<category><![CDATA[overseas]]></category>
		<category><![CDATA[skype]]></category>

		<guid isPermaLink="false">http://blog.mpdaugherty.com/?p=211</guid>
		<description><![CDATA[When I first moved to China, I decided that I still wanted to stay connected to the US.  Part of that is keeping a US phone number that can both send and receive calls and text messages.  Luckily, thanks to products like Google Voice and Skype, doing so is now cheap and easy.

If you&#8217;ve used [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.mpdaugherty.com&blog=1126752&post=211&subd=mpdaugherty&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>When I first moved to China, I decided that I still wanted to stay connected to the US.  Part of that is keeping a US phone number that can both send and receive calls and text messages.  Luckily, thanks to products like Google Voice and Skype, doing so is now cheap and easy.<br />
<span id="more-211"></span><br />
If you&#8217;ve used Google Voice, you are already used to the idea of having a forwarding phone number &#8211; every time someone calls your Google Voice number, the call is forwarded to your regular phone.  My phone is in China, though, so it doesn&#8217;t work quite so easily; Google Voice does not support adding overseas phone numbers to an account yet.</p>
<p>When I first set up my Google Voice account, I was living in the US and used my US cell phone.  However, I cancelled my contract with AT&amp;T, so I didn&#8217;t even have that anymore.  If you&#8217;re in a similar situation and would like to continue to have a US-based phone while you&#8217;re abroad, feel free to follow along with my setup below.</p>
<p>My first step was to turn off SMS forwarding and enable &#8216;Do Not Disturb&#8217; mode so that while I had no physical phone, my calls and text messages would not be forwarded to some stranger who ended up with my old number.</p>
<p>To do that, you need to do two things in Google Voice.  First, make sure your messages are sent to your email.  Go to Settings-&gt;Voicemail &amp; SMS.  Within that tab, turn on Voicemail Notifications and SMS Forwarding.  Don&#8217;t forget to save your changes.</p>
<div class="wp-caption alignnone" style="width: 400px"><img title="Forwarding Google Voice to Email" src="http://img.skitch.com/20100311-qm7ehy9qxyy8aef38j1ja897a5.jpg" alt="Forwarding Google Voice to Email" width="390" height="301" /><p class="wp-caption-text">Forwarding Google Voice to Email</p></div>
<p>Next, turn on Do Not Disturb mode to prevent calls from being forwarded to your old phone number.  This is under Settings-&gt;Calls.</p>
<div class="wp-caption alignnone" style="width: 400px"><img title="Do Not Disturb" src="http://img.skitch.com/20100311-ehwfjpe5n5ydq89arcy8hay9wd.jpg" alt="Enabling Do Not Disturb in Google Voice" width="390" height="300" /><p class="wp-caption-text">Do Not Disturb</p></div>
<p>Now, you can send and receive text messages, and you can receive incoming calls.  All the calls go to voicemail, but at least you can get messages.</p>
<p>To start making and receiving calls again for real, you need to set up a Skype account with the ability to receive calls.  A basic skype account is free, but to receive calls in the US, it will cost you $18 for 3 months.</p>
<p>Once you have a basic Skype account set up, to add support for incoming calls, go to Account-&gt;View Account from the menu bar.</p>
<div class="wp-caption alignnone" style="width: 400px"><img title="Skype - View Account" src="http://img.skitch.com/20100311-dmq3rysk8tsd96aewsm3ey39j.jpg" alt="Skype - View Account" width="390" height="335" /><p class="wp-caption-text">Skype - View Account</p></div>
<p>Now that you have your Skype account page open, you want to buy an &#8216;Online Number&#8217;.  Go to that tab and set up a number in the US.</p>
<div class="wp-caption alignnone" style="width: 400px"><img title="Skype - Online Number" src="http://img.skitch.com/20100311-efrhiqm1dfqfhfw5j8tq3sj196.jpg" alt="Skype - Online Number" width="390" height="172" /><p class="wp-caption-text">Skype - Online Number</p></div>
<p>Once you have your new Skype number, go back to Google Voice and add it as a telephone &#8211; Settings-&gt;Phones-&gt;Add a new phone.  I call mine &#8216;Skype&#8217;.  You don&#8217;t want to receive SMS messages on this phone, because you&#8217;re already receiving them in your email, so choose &#8216;Home&#8217; as your phone type.  Make sure you&#8217;re signed into Skype right now.</p>
<div class="wp-caption alignnone" style="width: 400px"><img title="Adding Skype Number to Google Voice" src="http://img.skitch.com/20100311-dysecjqi1te7gsew4q4up53u9j.jpg" alt="Adding Skype Number to Google Voice" width="390" height="194" /><p class="wp-caption-text">Adding Skype Number to Google Voice</p></div>
<p>You&#8217;ll receive a call on Skype asking you to input a two digit number.  You&#8217;ll have to open the digital keypad to input the number.</p>
<div class="wp-caption alignnone" style="width: 350px"><img title="Skype - Keypad Button" src="http://img.skitch.com/20100311-jghbrje9nk9sx5eb83np4smmhs.jpg" alt="Skype - Keypad Button" width="340" height="392" /><p class="wp-caption-text">Skype - Keypad Button</p></div>
<p>At this point, you should delete your old number in Google Voice and turn off &#8216;Do Not Disturb&#8217;, so that Google Voice begins forwarding your calls again.  If someone calls your Google Voice number, you will receive the call on Skype, as long as you are signed in.</p>
<p>What if you are not signed in, though?  Supposing you have a phone number in your current country, you can set up Skype to forward the call to your phone number.  To do this, you need to add some Skype credit and set up a forwarding number in the View Account page.</p>
<div class="wp-caption alignnone" style="width: 400px"><img title="Skype - Adding Credit and a Forwarding Number" src="http://img.skitch.com/20100311-m1i3g2eub2as9se2p43gh5qycw.jpg" alt="Skype - Adding Credit and a Forwarding Number" width="390" height="166" /><p class="wp-caption-text">Skype - Adding Credit and a Forwarding Number</p></div>
<p>Now, if you are not signed into Skype, and someone calls your Google Voice number, the call will be forwarded to Skype, which will then forward it to your new phone number at regular Skype rates (for me, US-&gt;China is 2.1 cents/minute).</p>
<p>This is pretty good, but there&#8217;s one last optimization I made.  If you are worried about people calling who don&#8217;t know you&#8217;re out of the country and waking you up in the middle of the night, you can set up Google Voice to only ring your phone during the daytime in your timezone; otherwise, calls go straight to voicemail.  This has already saved me twice when my bank called to ask me some survey questions.</p>
<p>First, make sure your Google account is set up for the right time zone.  Go to Settings-&gt;Account and select your time zone from the drop down menu.</p>
<div class="wp-caption alignnone" style="width: 401px"><img title="Setting the Google Account Timezone" src="http://img.skitch.com/20100311-q825jxhrpabtwuu73tg98ifacs.jpg" alt="Setting the Google Account Timezone" width="391" height="155" /><p class="wp-caption-text">Setting the Google Account Timezone</p></div>
<p>Then, to set up a custom ring schedule for your phone, go to Settings-&gt;Phones-&gt;Skype and click the &#8216;Edit&#8217; button.</p>
<div class="wp-caption alignnone" style="width: 401px"><img title="Google Voice - Editing the Skype Phone" src="http://img.skitch.com/20100311-be62bcs34gu6gqh1yywp4uae7b.jpg" alt="Google Voice - Editing the Skype Phone" width="391" height="166" /><p class="wp-caption-text">Google Voice - Editing the Skype Phone</p></div>
<p>Finally, click &#8216;Show Advanced Settings&#8217; and go down to the Ring Schedule settings.  Here, you can get as fancy as you want.  I have mine set up to not ring from midnight until 6am on weekdays and from 1am to 7am on weekends.</p>
<div class="wp-caption alignnone" style="width: 400px"><img title="Google Voice - Custom Ring Schedules" src="http://img.skitch.com/20100311-qq7mtiwkb94m9jdq2cq44qe56f.jpg" alt="Google Voice - Custom Ring Schedules" width="390" height="292" /><p class="wp-caption-text">Google Voice - Custom Ring Schedules</p></div>
<p>That&#8217;s it!  You now have a US phone number that you can use anywhere in the world for about 2-3 cents per minute for voice and includes free, unlimited text messages.  To make a call, just use Google Voice as usual by calling your contact and selecting &#8216;Skype&#8217; as the phone to ring.  If you&#8217;re on you&#8217;re computer and are signed into Skype, you will get the call on Skype and won&#8217;t have to pay for it at all.  If you&#8217;re not near your computer, your cell phone will ring and you&#8217;ll pay Skype&#8217;s international rate.  Incoming calls work the same way.</p>
<p>Hope this helps someone!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mpdaugherty.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mpdaugherty.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mpdaugherty.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mpdaugherty.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mpdaugherty.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mpdaugherty.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mpdaugherty.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mpdaugherty.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mpdaugherty.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mpdaugherty.wordpress.com/211/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.mpdaugherty.com&blog=1126752&post=211&subd=mpdaugherty&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.mpdaugherty.com/2010/03/11/staying-connected-overseas-google-voice-skype/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1789bf112f20b2b53047372a84803581?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">Mike</media:title>
		</media:content>

		<media:content url="http://img.skitch.com/20100311-qm7ehy9qxyy8aef38j1ja897a5.jpg" medium="image">
			<media:title type="html">Forwarding Google Voice to Email</media:title>
		</media:content>

		<media:content url="http://img.skitch.com/20100311-ehwfjpe5n5ydq89arcy8hay9wd.jpg" medium="image">
			<media:title type="html">Do Not Disturb</media:title>
		</media:content>

		<media:content url="http://img.skitch.com/20100311-dmq3rysk8tsd96aewsm3ey39j.jpg" medium="image">
			<media:title type="html">Skype - View Account</media:title>
		</media:content>

		<media:content url="http://img.skitch.com/20100311-efrhiqm1dfqfhfw5j8tq3sj196.jpg" medium="image">
			<media:title type="html">Skype - Online Number</media:title>
		</media:content>

		<media:content url="http://img.skitch.com/20100311-dysecjqi1te7gsew4q4up53u9j.jpg" medium="image">
			<media:title type="html">Adding Skype Number to Google Voice</media:title>
		</media:content>

		<media:content url="http://img.skitch.com/20100311-jghbrje9nk9sx5eb83np4smmhs.jpg" medium="image">
			<media:title type="html">Skype - Keypad Button</media:title>
		</media:content>

		<media:content url="http://img.skitch.com/20100311-m1i3g2eub2as9se2p43gh5qycw.jpg" medium="image">
			<media:title type="html">Skype - Adding Credit and a Forwarding Number</media:title>
		</media:content>

		<media:content url="http://img.skitch.com/20100311-q825jxhrpabtwuu73tg98ifacs.jpg" medium="image">
			<media:title type="html">Setting the Google Account Timezone</media:title>
		</media:content>

		<media:content url="http://img.skitch.com/20100311-be62bcs34gu6gqh1yywp4uae7b.jpg" medium="image">
			<media:title type="html">Google Voice - Editing the Skype Phone</media:title>
		</media:content>

		<media:content url="http://img.skitch.com/20100311-qq7mtiwkb94m9jdq2cq44qe56f.jpg" medium="image">
			<media:title type="html">Google Voice - Custom Ring Schedules</media:title>
		</media:content>
	</item>
		<item>
		<title>Root access on Ubuntu server?</title>
		<link>http://blog.mpdaugherty.com/2009/11/01/root-access-ubuntu/</link>
		<comments>http://blog.mpdaugherty.com/2009/11/01/root-access-ubuntu/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 16:10:04 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[sudo]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.mpdaugherty.com/?p=173</guid>
		<description><![CDATA[I&#8217;m in the process of setting up my very first production server using Ubuntu, and I&#8217;ve ended up spending a lot of time reading about security online.  Since I&#8217;ve always let the ops team worry about setting up environments, etc., I&#8217;ve now learned that there are a lot of different concerns to think about.
One decision [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.mpdaugherty.com&blog=1126752&post=173&subd=mpdaugherty&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m in the process of setting up my very first production server using Ubuntu, and I&#8217;ve ended up spending a lot of time reading about security online.  Since I&#8217;ve always let the ops team worry about setting up environments, etc., I&#8217;ve now learned that there are a lot of different concerns to think about.</p>
<p>One decision in particular is bugging me right now &#8211; how to secure the root account on my new machine? <span id="more-173"></span> So far, I&#8217;ve been doing a lot of the work by SSHing into the root account.  On the whole, this doesn&#8217;t seem so great, since it can be dangerous to use root day-to-day and always have the ability to delete anything on the system.</p>
<p>Ubuntu recommends that I create another user with sudo permission and use that day-to-day.  However, since Ubuntu also asks users for their own password when using sudo (rather than the root password), I feel this isn&#8217;t intrinsically any more secure than just having a root account.  In either case, a cracker would only have to find one password to take over the system.</p>
<p>So, my thought is to create a second user with sudo permission, change sudo to require the use of the root password, and disable remote logins for root.</p>
<p>Advantages:</p>
<ul>
<li>To gain access to root, a hacker would have to find the second username, that username&#8217;s password, and the root password.</li>
<li>Sudo provides logging of all executed commands.</li>
<li>Using the sudoers file, I could potentially mark some commands as offline to even the secondary user.  This could be useful to make sure the user can&#8217;t change the root password or access certain directories.</li>
</ul>
<p>Disadvantages:</p>
<ul>
<li>Since I don&#8217;t have local access to my machine, I&#8217;m worried about turning off SSH access to root.  What if something happens to the secondary user?  Would I be locked out?  I&#8217;m using Linode as my host, so I think I might actually be able to use their online Lish terminal to log in as root as if it were local access.</li>
<li>Every admin user would need to know the root password in order to use sudo.  I think this is ok because I&#8217;ll really only have one admin user, and that will be me.</li>
</ul>
<p>In all, I think that the advantages of my plan outweigh the disadvantages.  What do you think?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mpdaugherty.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mpdaugherty.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mpdaugherty.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mpdaugherty.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mpdaugherty.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mpdaugherty.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mpdaugherty.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mpdaugherty.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mpdaugherty.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mpdaugherty.wordpress.com/173/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.mpdaugherty.com&blog=1126752&post=173&subd=mpdaugherty&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.mpdaugherty.com/2009/11/01/root-access-ubuntu/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1789bf112f20b2b53047372a84803581?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">Mike</media:title>
		</media:content>
	</item>
		<item>
		<title>iPhone Reference Errors</title>
		<link>http://blog.mpdaugherty.com/2009/02/28/iphone-reference-errors/</link>
		<comments>http://blog.mpdaugherty.com/2009/02/28/iphone-reference-errors/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 16:14:55 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[my software]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://mpdaugherty.wordpress.com/?p=161</guid>
		<description><![CDATA[I&#8217;ve decided to give iPhone development a try.  I have a few ideas for cool mobile apps that I&#8217;d love to implement so that I can learn a new platform, a new language, and maybe make some money on the side&#8230;  However, I&#8217;ve remembered what I dislike most about programming &#8211; configuration.

I started out trying [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.mpdaugherty.com&blog=1126752&post=161&subd=mpdaugherty&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve decided to give iPhone development a try.  I have a few ideas for cool mobile apps that I&#8217;d love to implement so that I can learn a new platform, a new language, and maybe make some money on the side&#8230;  However, I&#8217;ve remembered what I dislike most about programming &#8211; configuration.</p>
<p><span id="more-161"></span></p>
<p>I started out trying interface builder and got a basic interface to show up pretty quickly, but it was rather confusing and I didn&#8217;t really know what was going on.  Next, I thought I should probably just go through the tutorials in my book (iPhone SDK Application Development by O&#8217;Reilly) so that I could get an overview of what&#8217;s actually possible with the iPhone.  That way, when I restart building my own apps it will be much faster because I&#8217;ll know what I&#8217;m doing.</p>
<p>However, I&#8217;ve now been trying to get the TextView example in Chapter 3 (Hello World) to work for almost a week!  I typed in all the code correctly (twice, into two separate projects), and it compiles fine, but all I get on the iPhone simulator is a black screen!  After a while, I found the debugger console button in XCode and realized I was getting the following errors:</p>
<p>warning: Unable to read symbols for &#8220;/System/Library/Frameworks/UIKit.framework/UIKit&#8221; (file not found).<br />
warning: Unable to read symbols from &#8220;UIKit&#8221; (not yet mapped into memory).<br />
warning: Unable to read symbols for &#8220;/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics&#8221; (file not found).<br />
warning: Unable to read symbols from &#8220;CoreGraphics&#8221; (not yet mapped into memory).</p>
<p>These frameworks are quite obviously linked in XCode (because the code completion works and the project compiles fine), but for some reason they don&#8217;t show up in the simulator.  After searching online, I&#8217;ve gotten to the point where I think it has to do with the way they&#8217;re referenced in XCode and that when running on the simulator, the application doesn&#8217;t actually compile all the references together; it just starts running without them, so you have to run it from within XCode.   Some people have also said that it had to do with breakpoints in code.  However, I&#8217;m running from within XCode and I don&#8217;t have any breakpoints, so I think it must be a file location configuration issue.  Now, I&#8217;ve had no luck finding any solutions online or by experimenting&#8230;</p>
<p>I&#8217;ll let you know how it works out; I&#8217;m not going to give up on this.</p>
<p>&#8212;- Update &#8211; March 1, 2009 &#8212;-</p>
<p>Well, the Hello World example started working&#8230;  First thing to note is that the &#8220;file not found&#8221; type warnings I noted above don&#8217;t actually seem to be related to the problem; now that it works, they still show up.</p>
<p>I fixed the blank black screen by cleaning all targets (in the Build menu), then rewriting Hello World to directly use a TextView instead of manually subclassing UIView myself.  Also, I didn&#8217;t allocate a window object; I just started using it and let the synthesize keyword work for me (before, I was trying to remove Interface Builder from the project, like it recommended in the book.  Here&#8217;s the code that first worked (I called the project &#8220;Arg&#8221; because I was so frustrated):</p>
<p>ArgAppDelegate.h:<br />
<code><br />
#import </p>
<p>@interface ArgAppDelegate : NSObject  {<br />
    UIWindow *window;<br />
	UITextView *textView;<br />
}</p>
<p>@property (nonatomic, retain) IBOutlet UIWindow *window;</p>
<p>@end<br />
</code></p>
<p>ArgAppDelegate.m:<br />
<code><br />
#import<br />
#import<br />
#import<br />
#import "ArgAppDelegate.h"</p>
<p>@implementation ArgAppDelegate</p>
<p>@synthesize window;</p>
<p>- (void) applicationDidFinishLaunching:(UIApplication *)application<br />
{<br />
	CGRect screenBounds = [ [ UIScreen mainScreen ] applicationFrame ];</p>
<p>	textView = [[MainView alloc] initWithFrame:screenBounds];<br />
	[window addSubview:textView];</p>
<p>	[window makeKeyAndVisible];<br />
}</p>
<p>- (void)dealloc {<br />
    [window release];<br />
    [super dealloc];<br />
}<br />
@end<br />
</code></p>
<p>This compiled fine and the text view showed up correctly, etc.  Next, I slowly changed the code one line at a time back to the original code, compiling at each step, to see if I could find the line that was causing the problem.  Unfortunately, I eventually came back to the original code and it worked&#8230;</p>
<p>ArgAppDelegate.h:<br />
<code><br />
#import </p>
<p>@interface MainView	: UIView<br />
{<br />
	UITextView *textView;<br />
}</p>
<p>@end</p>
<p>@interface ArgAppDelegate : NSObject  {<br />
    UIWindow *window;<br />
	MainView *myMainView;<br />
}</p>
<p>@property (nonatomic, retain) IBOutlet UIWindow *window;</p>
<p>@end<br />
</code></p>
<p>ArgAppDelegate.m:</p>
<p><code><br />
#import<br />
#import<br />
#import<br />
#import "ArgAppDelegate.h"</p>
<p>@implementation MainView</p>
<p>- (id)initWithFrame:(CGRect) rect {<br />
	self = [ super initWithFrame: rect ];</p>
<p>	if (self != nil) {<br />
		textView = [ [ UITextView alloc] initWithFrame: rect ];<br />
		textView.text = @"Hello, World!";</p>
<p>		[self addSubview:textView];<br />
	}</p>
<p>	return self;<br />
}</p>
<p>- (void)dealloc {<br />
	[ textView release ];<br />
	[ super dealloc ];<br />
}</p>
<p>@end</p>
<p>@implementation ArgAppDelegate</p>
<p>@synthesize window;</p>
<p>- (void)applicationDidFinishLaunching:(UIApplication *)application {<br />
	CGRect screenBounds = [ [ UIScreen mainScreen ] applicationFrame ];<br />
	CGRect windowBounds = screenBounds;<br />
	windowBounds.origin.y = 0.0;</p>
<p>	self.window = [ [ [ UIWindow alloc ] initWithFrame: screenBounds ]<br />
		autorelease<br />
				   ];</p>
<p>	myMainView = [ [ MainView alloc ] initWithFrame: windowBounds ];<br />
	[window addSubview:myMainView];<br />
    // Override point for customization after application launch<br />
    [window makeKeyAndVisible];<br />
}</p>
<p>- (void)dealloc {<br />
	[myMainView release];<br />
    [window release];<br />
    [super dealloc];<br />
}<br />
</code></p>
<p>main.m:</p>
<p><code><br />
#import </p>
<p>int main(int argc, char *argv[]) {</p>
<p>    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];<br />
    int retVal = UIApplicationMain(argc, argv, nil, @"ArgAppDelegate");<br />
    [pool release];<br />
    return retVal;<br />
}<br />
</code></p>
<p>I hope this helps somewhat to anyone having the same problem.  I found this incredibly frustrating and am not entirely happy about my solution here.  I still don&#8217;t really know why it happened in the first place, so I&#8217;m worried it will come up again in the future.  Let&#8217;s hope not!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mpdaugherty.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mpdaugherty.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mpdaugherty.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mpdaugherty.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mpdaugherty.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mpdaugherty.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mpdaugherty.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mpdaugherty.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mpdaugherty.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mpdaugherty.wordpress.com/161/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.mpdaugherty.com&blog=1126752&post=161&subd=mpdaugherty&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.mpdaugherty.com/2009/02/28/iphone-reference-errors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1789bf112f20b2b53047372a84803581?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">Mike</media:title>
		</media:content>
	</item>
		<item>
		<title>Free Speeches Online</title>
		<link>http://blog.mpdaugherty.com/2008/02/24/free-speeches-online/</link>
		<comments>http://blog.mpdaugherty.com/2008/02/24/free-speeches-online/#comments</comments>
		<pubDate>Sun, 24 Feb 2008 15:59:55 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://mpdaugherty.wordpress.com/?p=107</guid>
		<description><![CDATA[I just learned about this cool website: www.ted.com.  TED is an organization that asks famous/interesting people to give 20-minute speeches and records them.  Now, on their website, you can watch speeches that they&#8217;ve collected over the last 24 years.  A lot of this content is probably available on YouTube, but the signal-to-noise ratio is much [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.mpdaugherty.com&blog=1126752&post=107&subd=mpdaugherty&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I just learned about this cool website: <a href="http://www.ted.com" title="TED" target="_blank">www.ted.com</a>.  TED is an organization that asks famous/interesting people to give 20-minute speeches and records them.  Now, on their website, you can watch speeches that they&#8217;ve collected over the last 24 years.  A lot of this content is probably available on YouTube, but the signal-to-noise ratio is much higher on TED because of the limited format and the high barrier to entry.</p>
<p>This morning, I watched a talk by J.J. Abrams, and yesterday I watched a theramin concert and a speech on aging by Aubrey de Grey (whom I&#8217;ve read about, but had never seen before).  If you have twenty minutes to spare, you should check it out.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/mpdaugherty.wordpress.com/107/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/mpdaugherty.wordpress.com/107/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mpdaugherty.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mpdaugherty.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mpdaugherty.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mpdaugherty.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mpdaugherty.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mpdaugherty.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mpdaugherty.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mpdaugherty.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mpdaugherty.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mpdaugherty.wordpress.com/107/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.mpdaugherty.com&blog=1126752&post=107&subd=mpdaugherty&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.mpdaugherty.com/2008/02/24/free-speeches-online/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1789bf112f20b2b53047372a84803581?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">Mike</media:title>
		</media:content>
	</item>
		<item>
		<title>Dancing for Engineers</title>
		<link>http://blog.mpdaugherty.com/2008/01/06/dancing-for-engineers/</link>
		<comments>http://blog.mpdaugherty.com/2008/01/06/dancing-for-engineers/#comments</comments>
		<pubDate>Mon, 07 Jan 2008 04:51:07 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[dancing]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[my software]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[salsa]]></category>

		<guid isPermaLink="false">http://mpdaugherty.wordpress.com/2008/01/06/dancing-for-engineers/</guid>
		<description><![CDATA[Now here&#8217;s a topic I&#8217;ve been thinking about for a while.  I started going to salsa dancing lessons fairly regularly this fall, but am having a hard time remembering the long sequences of complex moves that I learn in the MIT lessons (which are great, by the way).  Even when I can remember [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.mpdaugherty.com&blog=1126752&post=102&subd=mpdaugherty&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Now here&#8217;s a topic I&#8217;ve been thinking about for a while.  I started going to salsa dancing lessons fairly regularly this fall, but am having a hard time remembering the long sequences of complex moves that I learn in the MIT lessons (which are great, by the way).  Even when I can remember them, it&#8217;s hard to do them on the dance floor with a girl who doesn&#8217;t also know what is coming, while staying on the beat, etc. etc.  So, at some point this fall, I thought to myself that there must be a better way to learn enough sequences of moves not to bore a good follower to tears.<span id="more-102"></span></p>
<p>As I thought about the problem, I realized that salsa dancing (and most partner dances) is really a finite-state machine.  We have X number of states (the positions that you end up in on beat 1), and transitions between the states (twirls, etc.).  Naturally, I thought of creating a diagram with states and transitions and tracing paths through the diagram to come up with new sequences.  This way, if I could memorize a few positions and all the different transitions between them, I could come up with lots of sequences on my own without ever having to memorize a two-minute series of steps.  Each set of steps would be at most 8 or 16 beats long.</p>
<p>Still, I didn&#8217;t know exactly what to call each state, what precisely is considered a transition, or most importantly, how to present this information in a usable manner.  Last week, I was again thinking about this and realized that since a finite-state diagram is also a directed graph, and the web is a directed graph, a webpage made perfect sense for a presentation mechanism.  Moreover, if I used a wiki, I could start adding pieces very easily, even if I don&#8217;t know the best terminology or have the perfect definition of each state.  Plus, other people can add their own moves to the wiki and eventually, we can all learn from each other.</p>
<p>Thus, yesterday morning, I started a new website: <a href="http://salsa.wikidot.com">salsa.wikidot.com</a>.   So far it&#8217;s not much; I have a few positions and moves described, and I plan to add more.  I feel a little bit like I shouldn&#8217;t actually be the one adding content, since I&#8217;m so new at dancing and don&#8217;t really know how to describe everything.  However, I also think that a lot of times we just need to start doing something even if we don&#8217;t know how, so there it is.  I have it set up so that it will be easy to add photos and videos of the steps if I ever get that far.  Should be fun.  Hopefully this helps someone someday.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/mpdaugherty.wordpress.com/102/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/mpdaugherty.wordpress.com/102/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mpdaugherty.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mpdaugherty.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mpdaugherty.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mpdaugherty.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mpdaugherty.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mpdaugherty.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mpdaugherty.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mpdaugherty.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mpdaugherty.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mpdaugherty.wordpress.com/102/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.mpdaugherty.com&blog=1126752&post=102&subd=mpdaugherty&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.mpdaugherty.com/2008/01/06/dancing-for-engineers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1789bf112f20b2b53047372a84803581?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">Mike</media:title>
		</media:content>
	</item>
		<item>
		<title>The Results Are In &#8211; makeyourownjeans.com</title>
		<link>http://blog.mpdaugherty.com/2007/08/23/the-results-are-in-makeyourownjeanscom/</link>
		<comments>http://blog.mpdaugherty.com/2007/08/23/the-results-are-in-makeyourownjeanscom/#comments</comments>
		<pubDate>Thu, 23 Aug 2007 19:22:54 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[personal]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://mpdaugherty.wordpress.com/2007/08/23/the-results-are-in-makeyourownjeanscom/</guid>
		<description><![CDATA[A while ago, I wrote about makeyourownjeans.com, a website that sells custom-made clothing, that I thought might be the answer to the tall (or short) person&#8217;s dilemma.  It&#8217;s been a long time, but on August 6, I finally went ahead and placed an order with them for two items &#8211; a pair of jeans, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.mpdaugherty.com&blog=1126752&post=98&subd=mpdaugherty&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://mpdaugherty.files.wordpress.com/2007/08/img_1190-crop.jpg" title="My Tailored Shirt"><img src="http://mpdaugherty.files.wordpress.com/2007/08/img_1190-crop.jpg?w=155&#038;h=296" alt="My Tailored Shirt" align="left" height="296" width="155" /></a>A while ago, I <a href="http://blog.mpdaugherty.com/2007/01/20/custom-fit-jeans/" title="Custom-Fit Jeans">wrote</a> about <a href="http://www.makeyourownjeans.com">makeyourownjeans.com</a>, a website that sells custom-made clothing, that I thought might be the answer to the tall (or short) person&#8217;s dilemma.  It&#8217;s been a long time, but on August 6, I finally went ahead and placed an order with them for two items &#8211; a pair of jeans, and a formal shirt.</p>
<p><span id="more-98"></span></p>
<p>The jeans cost $45, the shirt was $22, and shipping altogether was $20.  I think the shipping rate goes down a little if you buy more items at a time.  Still, the prices are fairly reasonable.  $55 for a nice pair of jeans is just over average, and $32 is a little high (if you usually buy on sale), but possibly worth it if it fits perfectly.</p>
<p>I decided to measure myself according to the directions on their website and see how the items turned out.  My shipment arrived yesterday, for a total production+delivery time of 18 days.  Not too bad.</p>
<p><a href="http://mpdaugherty.files.wordpress.com/2007/08/img_1191.jpg" title="Custom vs. Express"><img src="http://mpdaugherty.files.wordpress.com/2007/08/img_1191.jpg?w=256&#038;h=192" alt="Custom vs. Express" align="right" height="192" width="256" /></a>It turns out that the material and craftsmanship in both the jeans and shirt is extremely good.  For example, check out how they lined up the stripes across the shoulder seam versus the black shirt from Express (which would have cost $45 had I not gotten it on sale).  Unfortunately, the jeans don&#8217;t quite fit.  I probably should have had a tailor help me get my measurements, since I wasn&#8217;t really sure how to estimate what the correct number for me should be, and the seat of my pants is slightly too tight.</p>
<p>Nevertheless, I&#8217;m very happy with the overall quality and will probably order from them again (after getting professionally measured).</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/mpdaugherty.wordpress.com/98/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/mpdaugherty.wordpress.com/98/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mpdaugherty.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mpdaugherty.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mpdaugherty.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mpdaugherty.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mpdaugherty.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mpdaugherty.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mpdaugherty.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mpdaugherty.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mpdaugherty.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mpdaugherty.wordpress.com/98/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.mpdaugherty.com&blog=1126752&post=98&subd=mpdaugherty&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.mpdaugherty.com/2007/08/23/the-results-are-in-makeyourownjeanscom/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1789bf112f20b2b53047372a84803581?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">Mike</media:title>
		</media:content>

		<media:content url="http://mpdaugherty.files.wordpress.com/2007/08/img_1190-crop.jpg" medium="image">
			<media:title type="html">My Tailored Shirt</media:title>
		</media:content>

		<media:content url="http://mpdaugherty.files.wordpress.com/2007/08/img_1191.jpg" medium="image">
			<media:title type="html">Custom vs. Express</media:title>
		</media:content>
	</item>
		<item>
		<title>A Post Free-Web-Hosting World</title>
		<link>http://blog.mpdaugherty.com/2007/05/30/new-domain/</link>
		<comments>http://blog.mpdaugherty.com/2007/05/30/new-domain/#comments</comments>
		<pubDate>Wed, 30 May 2007 14:37:07 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[personal]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://mpdaugherty.wordpress.com/2007/05/30/new-domain/</guid>
		<description><![CDATA[I&#8217;ve been trying to decide what to do with my online presence after graduation for a while now.  I had a few choices about what I could do once my MIT hosting disappeared:

I could give it up and suddenly not be online.
I could use generic services like GMail and Blogger to maintain a basic [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.mpdaugherty.com&blog=1126752&post=61&subd=mpdaugherty&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been trying to decide what to do with my online presence after graduation for a while now.  I had a few choices about what I could do once my MIT hosting disappeared:</p>
<ol>
<li>I could give it up and suddenly not be online.</li>
<li>I could use generic services like GMail and Blogger to maintain a basic web profile.</li>
<li>I could host my own server either with a dynamic DNS entry or with a static IP address and dedicated hostname.</li>
</ol>
<p><span id="more-61"></span>None of these were quite right enough for me because I want to be online with a distinctive, cohesive website on which I have a lot of room to experiment, but I also want the 99.9% uptime guarantee for essential services that places like GMail provide.  Therefore, I really don&#8217;t want to just not be online anymore; generic services don&#8217;t allow room to experiment, nor do they provide a cohesive web presence; and frankly, I&#8217;ll probably be messing around with my server too much to provide any sort of uptime guarantee.</p>
<p>After a little bit of research, I decided to go with a free Google Apps account with a personal domain name ($10/year).  This is nice, because Google Apps provides all the functionality of the Google suite &#8211; GMail, Calendar, Docs, etc., but with the personal domain name, I can also set it up so that some subdomains point at my own server.  This provides a coherent interface to the outside world.  You can see what I mean if you go to <a title="My Blog" href="http://blog.mpdaugherty.com">http://blog.mpdaugherty.com</a> and you end up on <a title="Also My Blog" href="http://daugherty.mit.edu">http://daugherty.mit.edu</a>.</p>
<p>On the other hand, my email address (which I&#8217;m not going to type here because of spammers) is also @mpdaugherty.com, but when I check it, the interface is basically the same as GMail; this is so much more convenient than trying to set up my own mail server and make sure everything continually works correctly.</p>
<p>My only disappointment is that the web pages part of Google Apps is very limited.  You cannot just upload html files arbitrarily; at least for your homepage, you must use their WYSIWYG (What You See Is What You Get) editor.  I already have a fine <a title="My MIT Homepage" href="http://web.mit.edu/mpdaugh/www">website design</a>; why can&#8217;t I use it?  Luckily, this won&#8217;t be a problem in the Fall, once I get my server set up and redirect <a title="mpdaugherty.com" href="http://www.mpdaugherty.com">http://www.mpdaugherty.com/</a> there.  For the summer, however, I may have to just live with the pre-designed Google webpage templates.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/mpdaugherty.wordpress.com/61/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/mpdaugherty.wordpress.com/61/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mpdaugherty.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mpdaugherty.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mpdaugherty.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mpdaugherty.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mpdaugherty.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mpdaugherty.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mpdaugherty.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mpdaugherty.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mpdaugherty.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mpdaugherty.wordpress.com/61/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.mpdaugherty.com&blog=1126752&post=61&subd=mpdaugherty&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.mpdaugherty.com/2007/05/30/new-domain/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1789bf112f20b2b53047372a84803581?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">Mike</media:title>
		</media:content>
	</item>
		<item>
		<title>New Theme</title>
		<link>http://blog.mpdaugherty.com/2007/05/28/new-theme/</link>
		<comments>http://blog.mpdaugherty.com/2007/05/28/new-theme/#comments</comments>
		<pubDate>Mon, 28 May 2007 14:02:12 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[personal]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://mpdaugherty.wordpress.com/2007/05/28/new-theme/</guid>
		<description><![CDATA[As some of your may have noticed, I have a new theme for my blog.  This one is basically Vertigo Blue by Brian Gardner.  Thankfully for me, he released the theme for free for people to use.  All I had to do was make new versions of the header graphics and slightly [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.mpdaugherty.com&blog=1126752&post=60&subd=mpdaugherty&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>As some of your may have noticed, I have a new theme for my blog.  This one is basically <a title="Vertigo Blue Theme" href="http://www.briangardner.com/themes/vertigo-blue-wordpress-theme.htm">Vertigo Blue</a> by Brian Gardner.  Thankfully for me, he released the theme for free for people to use.  All I had to do was make new versions of the header graphics and slightly modify the sidebar (I didn&#8217;t like how the links displayed), and I was off.</p>
<p>Unfortunately, soon after changing the theme, I noticed a sharp drop in visitors on my Google Analytics reports.  Since my readership is so low anyway, I first attributed this just to people being busy and/or not noticing anything.  However, after three days of zero visitors showing up (even when I tried to make visitors show up by visiting myself), i realized something was wrong.  Turns out, I forgot that the display of WordPress blogs is entirely decided by the theme, and the way I had gotten Analytics working before was to put the javascript code into the theme footer.  So, when I changed the theme, I also eliminated all the tracking code from my website.  It&#8217;s back in there again (you can check), so everything should be back to normal.<br />
So, in conclusion, let me know if you like the new theme.  I&#8217;m a little worried that I won&#8217;t be able to keep it over the summer when I will probably host my blog on wordpress.com for free, but I guess I&#8217;ll figure that out when it&#8217;s absolutely necessary.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/mpdaugherty.wordpress.com/60/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/mpdaugherty.wordpress.com/60/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mpdaugherty.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mpdaugherty.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mpdaugherty.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mpdaugherty.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mpdaugherty.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mpdaugherty.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mpdaugherty.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mpdaugherty.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mpdaugherty.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mpdaugherty.wordpress.com/60/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.mpdaugherty.com&blog=1126752&post=60&subd=mpdaugherty&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.mpdaugherty.com/2007/05/28/new-theme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1789bf112f20b2b53047372a84803581?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">Mike</media:title>
		</media:content>
	</item>
		<item>
		<title>Useful Guitar Hero</title>
		<link>http://blog.mpdaugherty.com/2007/05/21/useful-guitar-hero/</link>
		<comments>http://blog.mpdaugherty.com/2007/05/21/useful-guitar-hero/#comments</comments>
		<pubDate>Tue, 22 May 2007 03:30:44 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[music]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://mpdaugherty.wordpress.com/2007/05/21/useful-guitar-hero/</guid>
		<description><![CDATA[When I bought my MIDI cable a while ago, I had assumed that mostly I&#8217;d be recording myself play piano, and I have done that a bit.  However, it turns out that there is more to having a MIDI keyboard than recording.  You can also play games with it.
One of my favorites is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.mpdaugherty.com&blog=1126752&post=52&subd=mpdaugherty&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p><a title="Synthesia" target="_blank" href="http://www.synthesiagame.com/"><img align="right" alt="Synthesia Screenshot" style="margin-left:5px;" src="http://www.synthesiagame.com/images/thumb_play2.png" /></a>When I bought my MIDI cable a while ago, I had assumed that mostly I&#8217;d be recording myself play piano, and I have done that a bit.  However, it turns out that there is more to having a MIDI keyboard than recording.  You can also play games with it.</p>
<p>One of my favorites is <a title="Synthesia" href="http://www.synthesiagame.com/">Synthesia</a> &#8211; a Guitar Hero clone, but for piano.  I love the concept of this; Guitar Hero is such a fun and addictive game that some people will play for long hours to become good at it.  Why not use the same format to teach people a useful skill?</p>
<p><span id="more-52"></span></p>
<p>The first thing you do when starting Synthesia is load a .mid file that you want to play.  Generally, piano scores work best.  Then, you choose which tracks you want to play, and which you want to play automatically as accompaniment.  Once all this is set up, you can begin to play.  The format is the same as Guitar Hero &#8211; bars roll down the screen, and you have to hit the correct keys as the bars hit the bottom.  You score points by hitting notes at the right time, depending how fast you have the song playing (you can play from 10% to 400% of the original speed), and how many notes you hit in a row.  At the end, the game grades you and provides you with a number of statistics.</p>
<p>I actually think that it&#8217;s not really the format of scrolling, colored bars that makes Guitar Hero addictive; it&#8217;s the instant feedback.  This provides a goal that is very easy to visualize and you can immediately try to improve it by playing again.  Beyond being immediate, it&#8217;s also a precise number.  What piano teacher can tell you that you hit 97% of the correct notes and only struck 5 extra notes not in the song?  People have a very strong desire to be scored and ranked.</p>
<p>In fact, to get a little off topic, this is the same phenomena used by many online projects to encourage participation.  For example, message boards often display post counts next to member names and give higher-posters special designations.  These designations may not actually mean anything, but some people will strive to become &#8220;the best&#8221; by constantly responding to every post.  I actually thought there some studies done on this topic, but I&#8217;m having a difficult time finding any to link to right now&#8230;  Perhaps I should write a more in depth post later.  In any case, for a quick example of what I&#8217;m talking about, try playing this <a target="_blank" title="Paper Throwing" href="http://flightsimx.cyclops.amnesia.com.au/index.html">simple paper-airplane throwing game</a> knowing that I scored 114.199.</p>
<p>Finally, to get back to the original point of this post, if you have a MIDI-compatible keyboard, definitely try out Synthesia.  The only complaint I have is that it would be nice to have a sheet-music mode as well for those people who would also like to learn to sight read a bit better.  For a lot of free MIDI files of classical piano music, see the <a title="Mutopia" href="http://www.mutopiaproject.org/">Mutopia Project</a>.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/mpdaugherty.wordpress.com/52/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/mpdaugherty.wordpress.com/52/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mpdaugherty.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mpdaugherty.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mpdaugherty.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mpdaugherty.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mpdaugherty.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mpdaugherty.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mpdaugherty.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mpdaugherty.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mpdaugherty.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mpdaugherty.wordpress.com/52/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.mpdaugherty.com&blog=1126752&post=52&subd=mpdaugherty&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.mpdaugherty.com/2007/05/21/useful-guitar-hero/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1789bf112f20b2b53047372a84803581?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">Mike</media:title>
		</media:content>

		<media:content url="http://www.synthesiagame.com/images/thumb_play2.png" medium="image">
			<media:title type="html">Synthesia Screenshot</media:title>
		</media:content>
	</item>
		<item>
		<title>Apartments and KML</title>
		<link>http://blog.mpdaugherty.com/2007/05/19/apartments-and-kml/</link>
		<comments>http://blog.mpdaugherty.com/2007/05/19/apartments-and-kml/#comments</comments>
		<pubDate>Sat, 19 May 2007 20:42:26 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[personal]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://mpdaugherty.wordpress.com/2007/05/19/apartments-and-kml/</guid>
		<description><![CDATA[I&#8217;ve been looking for apartments lately, so I&#8217;m constantly looking at Craigslist postings, finding the addresses, putting them in Google Maps, and trying to estimate how far they are from the T-Stop, whether it&#8217;s a good location or not, etc..  However, this morning I realized that Google Earth is a great tool for this. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.mpdaugherty.com&blog=1126752&post=47&subd=mpdaugherty&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been looking for apartments lately, so I&#8217;m constantly looking at Craigslist postings, finding the addresses, putting them in Google Maps, and trying to estimate how far they are from the T-Stop, whether it&#8217;s a good location or not, etc..  However, this morning I realized that Google Earth is a great tool for this.  You can add more than one address, check distances, etc.</p>
<p>So, I decided to play around with KML a little bit and make a map of where I want my apartment to be.  Now, I can just put the address in Google Earth and see if it makes it into my desired area quickly.  Check it out:</p>
<p><a id="p51" href="http://daugherty.mit.edu/wp-content/uploads/2007/05/apartmentsearch.kml">Apartment Search (KML)</a><a id="p50" href="http://daugherty.mit.edu/wp-content/uploads/2007/05/apartmentsearch.kmz" /></p>
<p><a id="p50" href="http://daugherty.mit.edu/wp-content/uploads/2007/05/apartmentsearch.kmz">Apartment Search (KMZ)</a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/mpdaugherty.wordpress.com/47/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/mpdaugherty.wordpress.com/47/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mpdaugherty.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mpdaugherty.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mpdaugherty.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mpdaugherty.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mpdaugherty.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mpdaugherty.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mpdaugherty.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mpdaugherty.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mpdaugherty.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mpdaugherty.wordpress.com/47/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.mpdaugherty.com&blog=1126752&post=47&subd=mpdaugherty&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.mpdaugherty.com/2007/05/19/apartments-and-kml/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1789bf112f20b2b53047372a84803581?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">Mike</media:title>
		</media:content>
	</item>
	</channel>
</rss>