<?xml version="1.0" encoding="utf-8"?>
<!-- generator="wordpress/2.0.2" -->
<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/"
	>

<channel>
	<title>morgamic.com</title>
	<link>http://morgamic.com</link>
	<description>stuff and things, according to Mike Morgan</description>
	<pubDate>Sat, 26 Jul 2008 21:21:07 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.2</generator>
	<language>en</language>
			<item>
		<title>Man Shoots Lawn Mower&#8230; and&#8230; ?!</title>
		<link>http://morgamic.com/2008/07/26/man-shoots-lawn-mower-and/</link>
		<comments>http://morgamic.com/2008/07/26/man-shoots-lawn-mower-and/#comments</comments>
		<pubDate>Sat, 26 Jul 2008 21:21:07 +0000</pubDate>
		<dc:creator>morgamic</dc:creator>
		
	<category>Society</category>
	<category>Personal</category>
		<guid isPermaLink="false">http://morgamic.com/2008/07/26/man-shoots-lawn-mower-and/</guid>
		<description><![CDATA[So apparently this is news in America and also, it&#8217;s against the law to shoot your own property now.
This guy essentially went Office Space on his own lawn mower and now he&#8217;s going to get an 11k fine?  Give me a fucking break.  No harm, no foul.  Find something else to waste [...]]]></description>
			<content:encoded><![CDATA[<p>So apparently <a href="http://www.cnn.com/2008/CRIME/07/25/mower.madness.ap/index.html">this is news in America</a> and also, it&#8217;s against the law to shoot your own property now.</p>
<p>This guy essentially went Office Space on his own lawn mower and now he&#8217;s going to get an 11k fine?  Give me a fucking break.  No harm, no foul.  Find something else to waste taxpayer money on, and also:</p>
<blockquote><p>
Dear CNN,</p>
<p>Please stop posting stupid bullshit stories like this that make me question the worth of my own country.  Make me believe in the free press again.</p>
<p>Thanks,<br />
Mike
</p></blockquote>
]]></content:encoded>
			<wfw:commentRSS>http://morgamic.com/2008/07/26/man-shoots-lawn-mower-and/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Nature or Nurture?</title>
		<link>http://morgamic.com/2008/07/26/nature-or-nurture/</link>
		<comments>http://morgamic.com/2008/07/26/nature-or-nurture/#comments</comments>
		<pubDate>Sat, 26 Jul 2008 21:08:34 +0000</pubDate>
		<dc:creator>morgamic</dc:creator>
		
	<category>Personal</category>
		<guid isPermaLink="false">http://morgamic.com/2008/07/26/nature-or-nurture/</guid>
		<description><![CDATA[





]]></description>
			<content:encoded><![CDATA[<p><object type="application/x-shockwave-flash" width="400" height="300" data="http://www.flickr.com/apps/video/stewart.swf?v=55430" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><br />
<param name="flashvars" value="intl_lang=en-us&amp;photo_secret=d2ed0288d1&amp;photo_id=2704072027"></param>
<param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=55430"></param>
<param name="bgcolor" value="#000000"></param>
<param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/video/stewart.swf?v=55430" bgcolor="#000000" allowfullscreen="true" flashvars="intl_lang=en-us&amp;photo_secret=d2ed0288d1&amp;photo_id=2704072027" height="300" width="400"></embed></object>
</p>
]]></content:encoded>
			<wfw:commentRSS>http://morgamic.com/2008/07/26/nature-or-nurture/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>30 is the new 20</title>
		<link>http://morgamic.com/2008/07/14/30-is-the-new-20/</link>
		<comments>http://morgamic.com/2008/07/14/30-is-the-new-20/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 23:22:03 +0000</pubDate>
		<dc:creator>morgamic</dc:creator>
		
	<category>Personal</category>
		<guid isPermaLink="false">http://morgamic.com/2008/07/14/30-is-the-new-20/</guid>
		<description><![CDATA[
My 30th birthday was one to remember, for sure.  I wanted to thank everyone for coming and share some thoughts about it all.
First, Jaime is amazing &#8212; she put this all together and&#8230; wow.  Just, wow.  &#60;3
Second, I realized that I didn&#8217;t give any sort of speech or say anything monumental to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/maia82280/2661850136/" title="Michael and I by maia82280, on Flickr"><img class="alignright" src="http://farm4.static.flickr.com/3257/2661850136_0123147eb4_m.jpg" width="240" height="180" alt="Michael and I" /></a></p>
<p><a href="http://flickr.com/photos/maia82280/sets/72157606123672514/">My 30th birthday</a> was one to remember, for sure.  I wanted to thank everyone for coming and share some thoughts about it all.</p>
<p>First, Jaime is amazing &#8212; she put this all together and&#8230; wow.  Just, wow.  &lt;3</p>
<p>Second, I realized that I didn&#8217;t give any sort of speech or say anything monumental to everyone there.  I was sort of speechless and made a point to move from table to table, so didn&#8217;t really give a speech or anything.</p>
<p>But I thought about this a bit afterwards, and if given another chance, I probably would have said something like:</p>
<blockquote><p>
You&#8217;re only as good as the people who support you.  When you stumble, they help you pick yourself up.  When you succeed, you succeed together.  I&#8217;ve had the luxury of friends who tell you the truth even if they know it hurts.  I&#8217;ve been lucky enough to have the loyalty and love of my friends (real friends, not Facebook friends), and as I get older I value them more and more.  You&#8217;ve made my first 30 years amazing, and I&#8217;m guessing life will continue to be one hell of a ride.
</p></blockquote>
<p>Cheesy, but true.  Anyway, here are some of my favorite moments:</p>
<ul>
<li>The confused blonde greeter who had no idea what was going on and almost blew Jaime&#8217;s cover</li>
<li>Imagining Jaime beating that person up right there near the front door</li>
<li>Following Jaime and this other girl to the basement of the Lucia, wondering where the hell we were going</li>
<li>Walking into a room filled with most of my closest friends</li>
<li>My balloons were cool</li>
<li>Great food &#8212; drunken noodles, red curry and some steak stuff.  Yum!</li>
<li>Getting back the same tube of Preparation-H I gave Chris for his 30th</li>
<li>Reading all the signatures on my basketball</li>
<li>Riding with Cameron, Jaime and Erin trying to find a parking space</li>
<li><a href="http://flickr.com/photos/maia82280/2661043463/in/set-72157606123672514/">Fun times at the Marathon Taverna</a></li>
<li>Playing pool and watching Cameron sing along with Journey (with fist-pumping)</li>
<li><a href="http://flickr.com/photos/maia82280/2661044659/in/set-72157606123672514/">Dancing with Cameron</a></li>
<li>Mario Kart with Jon</li>
<li>Hugging Jaime once I had processed all of it</li>
<li>Feeling like the luckiest guy on earth</li>
</ul>
<p>Finally, about birthdays &#8212; and many of you know this about me &#8212; I&#8217;m not generally a huge fan.  Mainly because I don&#8217;t think it&#8217;s super fun to have people kiss your ass on your birthday if they don&#8217;t care about you the rest of the year.  </p>
<p>This was different, of course &#8212; it was a time to stop and appreciate relationships, and I can roll with that.  This meant a lot to me &#8212; just seeing everybody there made me think about all the things we&#8217;ve done together and how crazy life has been.  It was just really special, and I was totally blown away.  I&#8217;ll never forget it.</p>
<p>And even though there&#8217;s so much I can&#8217;t even fit it all into my head, it&#8217;s really just a start.  We&#8217;ve got more memories to make and more things to do.  So I guess the ending to this blog post is: To be continued&#8230; <img src='http://morgamic.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />
</p>
]]></content:encoded>
			<wfw:commentRSS>http://morgamic.com/2008/07/14/30-is-the-new-20/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Firefox Keeps You Safe In Ways Other Browsers Don&#8217;t</title>
		<link>http://morgamic.com/2008/06/20/firefox-keeps-you-safe-in-ways-other-browsers-dont/</link>
		<comments>http://morgamic.com/2008/06/20/firefox-keeps-you-safe-in-ways-other-browsers-dont/#comments</comments>
		<pubDate>Sat, 21 Jun 2008 03:41:24 +0000</pubDate>
		<dc:creator>morgamic</dc:creator>
		
	<category>Mozilla</category>
		<guid isPermaLink="false">http://morgamic.com/2008/06/20/firefox-keeps-you-safe-in-ways-other-browsers-dont/</guid>
		<description><![CDATA[You might know about some of the more glamorous Firefox 3 security features, but behind the scenes Firefox is protecting you from malicious extensions and plugins through its blocklisting service.
Depicted below is a diagram of how Firefox talks to its blocklist service.  This is how it works:

Every day Firefox downloads an XML document from [...]]]></description>
			<content:encoded><![CDATA[<p>You might know about some of the more glamorous <a href="http://www.mozilla.com/en-US/firefox/features/#security">Firefox 3 security features</a>, but behind the scenes Firefox is protecting you from malicious extensions and plugins through its blocklisting service.</p>
<p>Depicted below is a diagram of how Firefox talks to its blocklist service.  This is how it works:</p>
<ol>
<li>Every day Firefox downloads an XML document from our blocklist service.</li>
<li>This tells Firefox if there are any malicious plugins or extensions out there.</li>
<li>If Firefox detects any of these items on your system, it disables them so you can surf the web safely.</li>
</ol>
<p><img class="alignright" src="http://morgamic.com/img/blocklist.png" title="Firefox pings the blocklist service every 24 hours or so to get an updated XML document." alt="Flow chart for Firefox's blocklist service"/></p>
<p>What is remarkable about this is that it covers you from things Mozilla doesn&#8217;t even release.  One of the things I&#8217;ve always been proud of is Mozilla&#8217;s dedication to its users, and I think this is a good illustration of how we&#8217;re finding ways to make the web better and safer.  We don&#8217;t just care about Firefox, we care about you &#8212; and if you are put in a bad position because of poor security in a third-party plugin, we will be there to cover for you &#8212; on our dime.</p>
<p>Extension blocklisting has been available since Firefox 2, and we&#8217;ve used it in the past to blocklist extensions that cause major crashes or have security problems.  Plugin blocklisting is new in Firefox 3, and this is a pretty big feature given recent security news involving plugins.</p>
<p>All major plugins have had arbitrary code execution issues at some point.  Plugins like Quicktime or Flash have had some popular cases where hackers could execute code on your system just by having you load a corrupted Flash object or Quicktime movie.  Usually vendors are pretty good about updating once these exploits are disclosed, but with Firefox 3 we&#8217;ve added plugin blocklisting so we can protect you if vendors aren&#8217;t quick enough to respond or don&#8217;t provide an easy way for you to upgrade.</p>
<p><img class="alignright" src="http://morgamic.com/img/blocklist-disabled.png" title="This is what you'd see if Firefox blocklists one of your plugins." alt="Screenshot of a blocklisted item."/></p>
<p>Mozilla doesn&#8217;t want to leave you out in the cold, and Firefox&#8217;s blocklist service is another tool we can use to look out for you.</p>
<p>It&#8217;s important to use this tool responsibly so we have discussed a policy for quite some time.  <a href="http://wiki.mozilla.org/Blocklisting">The blocklist policy is in our public wiki</a>, and we welcome any questions about it. Any time we consider blocklisting, we <strong>contact the vendor or author</strong> of the add-on in question to encourage a quick update and let them know we are considering blocklisting.  Decisions to blocklist are made by committee to make sure we are not using this service incorrectly or blocklisting things prematurely without just cause.</p>
<p>To show you what the XML document looks like, here is an example of what we are currently serving:</p>
<pre>
&lt;?xml version="1.0"?&gt;
&lt;blocklist xmlns="http://www.mozilla.org/2006/addons-blocklist"&gt;
  &lt;emitems&gt;
    &lt;emitem id="fdm_ffext@freedownloadmanager.org"&gt;
      &lt;versionrange minVersion="1.0" maxVersion="1.3.1"&gt;
        &lt;targetapplication id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"&gt;
           &lt;versionrange minVersion="3.0a1" maxVersion="*"/&gt;
        &lt;/targetapplication&gt;
      &lt;/versionrange&gt;
    &lt;/emitem&gt;
  &lt;/emitems&gt;
  &lt;pluginitems&gt;
    &lt;pluginitem&gt;
      &lt;match name="name" exp="Yahoo Application State Plugin"/&gt;
      &lt;match name="description" exp="Yahoo Application State Plugin"/&gt;
      &lt;match name="filename" exp="npYState.dll"/&gt;
    &lt;/pluginitem&gt;
  &lt;/pluginitems&gt;
&lt;/blocklist&gt;
</pre>
<p>What this does:</p>
<ul>
<li>Tells firefox to blocklist the Free Download Manager extension, versions 1.0 thru 1.3.1 for Firefox 3.0a1 and higher.</li>
<li>Tells firefox to blocklist the Yahoo Application State plugin, for all Firefox versions loading <kbd>npYState.dll</kbd>.</li>
</ul>
<p>Information about the blocklist is always found <a href="http://www.mozilla.com/en-US/blocklist/">on mozilla.com&#8217;s blocklist info page</a>.  To learn more about the service itself, feel free to <a href="http://wiki.mozilla.org/Extension_Blocklisting:Code_Design">read more about its specifications</a>.</p>
<p>Overall, the blocklist service is another way Firefox is watching out for you, and even though it doesn&#8217;t get much press coverage, it&#8217;s a remarkable thing and speaks volumes about how serious we are about keeping Firefox users safe &#8212; even from stuff that wasn&#8217;t Mozilla&#8217;s fault.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://morgamic.com/2008/06/20/firefox-keeps-you-safe-in-ways-other-browsers-dont/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Profiling PHP with Xdebug and Webgrind</title>
		<link>http://morgamic.com/2008/06/12/profiling-php-with-xdebug-and-webgrind/</link>
		<comments>http://morgamic.com/2008/06/12/profiling-php-with-xdebug-and-webgrind/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 18:02:34 +0000</pubDate>
		<dc:creator>morgamic</dc:creator>
		
	<category>Technology</category>
	<category>Mozilla</category>
		<guid isPermaLink="false">http://morgamic.com/2008/06/12/profiling-php-with-xdebug-and-webgrind/</guid>
		<description><![CDATA[Using Webgrind and Xdebug, you to tack on ?XDEBUG_PROFILE=true to any URL and view profiling information for that particular URL instantly.
One of the main criticisms of profiling PHP applications has been how difficult it is to manage different kcachegrind or wincachegrind windows &#8212; assuming you&#8217;re a pro at pointing them to your Xdebug output directory [...]]]></description>
			<content:encoded><![CDATA[<p>Using <a href="http://code.google.com/p/webgrind/">Webgrind</a> and <a href="http://xdebug.org/">Xdebug</a>, you to tack on <kbd>?XDEBUG_PROFILE=true</kbd> to any URL and view profiling information for that particular URL instantly.</p>
<p>One of the main criticisms of profiling PHP applications has been how difficult it is to manage different kcachegrind or wincachegrind windows &#8212; assuming you&#8217;re a pro at pointing them to your Xdebug output directory and all that good stuff.  I am excited about how easy webgrind makes things because easier profiling will help prevent a lot of stupid performance mistakes (for those of us not using the Zend IDE and its sexy profiler, which is a lot of people).</p>
<p><a href="http://morgamic.com/img/webgrind.png" title="Webgrind screenshot."><img class="alignright" src="http://morgamic.com/img/webgrind-thumb.png" alt="Webgrind screenshot."/></a></p>
<p>This is really quite simple to set up, and is best used on a dev box behind a firewall with port 80 closed.  <strong>People can file surf your web server if you leave webgrind on an open port, don&#8217;t do it.</strong></p>
<p>So, you&#8217;ve read the last paragraph, right?  Ok, good.  Let&#8217;s go.</p>
<h3>Use <a href="http://pecl.php.net/">pecl</a> to install the <kbd>json</kbd> and <kbd>xdebug</kbd> packages</h3>
<pre>
pecl install json
pecl install xdebug
</pre>
<p>You&#8217;ll run into a possible missing <kbd>phpize</kbd> issue, in which case you&#8217;d need the <kbd>php-devel</kbd> package for building PHP extensions.</p>
<h3>Configure Xdebug</h3>
<p>A simple configuration to get you what you need is below.  Read the <a href="http://www.xdebug.org/docs/basic">Xdebug docs</a> if you want to get crazy.</p>
<pre>
; Enable xdebug extension module
extension=xdebug.so

; Turns it off by default
xdebug.profiler_enable=0 

; Turns xdebug on when ?XDEBUG_PROFILE=true is in GET or POST
xdebug.profiler_enable_trigger=1

; Your output directory - you'll eventually point webgrind at this
xdebug.profiler_output_dir=/tmp/xdebug
</pre>
<p>If you&#8217;re not on PHP 5.2.x, you&#8217;ll also need the <kbd>json</kbd> extension.</p>
<pre>
; Enable json extension module
extension=json.so
</pre>
<p>Restart Apache.</p>
<h3>Download and install webgrind</h3>
<p>Webgrind is easy to setup, <a href="http://code.google.com/p/webgrind/downloads/list">download it</a> and follow the <a href="http://code.google.com/p/webgrind/wiki/Installation">instructions</a>.  The main thing you&#8217;ll want to do is make sure your Xdebug directories are the same.  In this case, it&#8217;s <kbd>/tmp/xdebug</kbd></p>
<h3>Load any PHP app with ?XDEBUG_PROFILE=true</h3>
<p>Now you&#8217;ll want to hit your web server with the appropriate GET argument set up.  So, you could hit localhost/helloworld?XDEBUG_PROFILE=true and it&#8217;d create a new cachgrind.out for that request.</p>
<h3>Open up a tab with webgrind in it and enjoy</h3>
<p>Webgrind will do a find on your Xdebug output directory and have a list of all your cachegrind.out files up on the top right.  Now all you have to do is choose one.  Webgrind&#8217;s use of jQuery and AJAX makes the app a great example of what you can do with JavaScript and a little motivation.  Check it out.</p>
]]></content:encoded>
			<wfw:commentRSS>http://morgamic.com/2008/06/12/profiling-php-with-xdebug-and-webgrind/feed/</wfw:commentRSS>
		</item>
	</channel>
</rss>
