<?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>Right Up Top &#187; Techie</title>
	<atom:link href="http://www.rightuptop.com/category/techie/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rightuptop.com</link>
	<description>Incredible. I'm having an incredible year.</description>
	<lastBuildDate>Tue, 22 Dec 2009 23:45:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>The Greatest PHP Debugging Function of All Time</title>
		<link>http://www.rightuptop.com/techie/the-greatest-php-debugging-function-of-all-time/</link>
		<comments>http://www.rightuptop.com/techie/the-greatest-php-debugging-function-of-all-time/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 20:27:22 +0000</pubDate>
		<dc:creator>jake</dc:creator>
				<category><![CDATA[Techie]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.rightuptop.com/?p=756</guid>
		<description><![CDATA[I normally try to keep the tech stuff to a minimum on the blog, but this function is in high demand from anyone who&#8217;s ever had it and then worked on another codebase without it.  Simple, but mind-blowingly useful. Without further ado, I present, YO. NOTE: This is a re-write of some code I wrote [...]


Related posts:<ol><li><a href='http://www.rightuptop.com/techie/crows-you/' rel='bookmark' title='Permanent Link: Crows &gt; You'>Crows &gt; You</a></li>
<li><a href='http://www.rightuptop.com/music/top-20-songs-of-the-second-half-of-2005/' rel='bookmark' title='Permanent Link: Top 20 Songs of the Second Half of 2005'>Top 20 Songs of the Second Half of 2005</a></li>
<li><a href='http://www.rightuptop.com/music/top-20-songs-of-2005-so-far/' rel='bookmark' title='Permanent Link: Top 20 Songs of 2005 So Far'>Top 20 Songs of 2005 So Far</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I normally try to keep the tech stuff to a minimum on the blog, but this function is in high demand from anyone who&#8217;s ever had it and then worked on another codebase without it.  Simple, but mind-blowingly useful. Without further ado, I present, <strong>YO</strong>.  </p>
<p>NOTE: This is a re-write of some code I wrote at Yahoo!, so I wanted to give credit to the two folks who had a hand in the debugging system we built there, from which this is derived: Chris and Sara.</p>
<p>You&#8217;re welcome, America.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
&nbsp;
<span style="color: #009933; font-style: italic;">/**
 * The greatest debugging class in history. Here's why:
 * 
 *  - outputs to both the error log and optionally the screen.
 *  - formats output nicely so you can see your debugging output
 *  - shows you where the yo() call is IN THE OUTPUT so if you
 *    leave a yo() in someplace, you can track it down easy-peasy.
 *  - accepts multiple args just like var_dump
 *  - feel free to use the sub functions too (like var_dump_str)
 *   
 * @author Jacob Rosenberg &lt;themasterof@rightuptop.com&gt;
 * @author Sara Golemon
 * @author Chris Draycott
 *
 */</span>
<span style="color: #000000; font-weight: bold;">class</span> Yo <span style="color: #009900;">&#123;</span>
&nbsp;
&nbsp;
    <span style="color: #666666; font-style: italic;">/* {{{ */</span>
    <span style="color: #009933; font-style: italic;">/**
     * getCallerLine
     *
     * gets the calling line of the function it was called from,
     * i.e., this function's grandparent.
     *
     * @returns string Name of calling function
     */</span>
    static <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> getCallerLine<span style="color: #009900;">&#40;</span><span style="color: #000088;">$levels</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$bt</span> <span style="color: #339933;">=</span> <span style="color: #990000;">debug_backtrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$file</span> <span style="color: #339933;">=</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$bt</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$levels</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'file'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> ? <span style="color: #000088;">$bt</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$levels</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'file'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">:</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$line</span> <span style="color: #339933;">=</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$bt</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$levels</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'line'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> ? <span style="color: #000088;">$bt</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$levels</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'line'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">:</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">return</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #339933;">,</span> <span style="color: #000088;">$line</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #666666; font-style: italic;">/* }}} */</span>
&nbsp;
&nbsp;
    <span style="color: #666666; font-style: italic;">/* {{{ */</span>
    <span style="color: #009933; font-style: italic;">/**
     * getCaller
     *
     * gets the calling function of the function it was called from,
     * i.e., this function's grandparent.
     *
     * @returns string Name of calling function
     */</span>
    static <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> getCaller<span style="color: #009900;">&#40;</span><span style="color: #000088;">$levels</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$bt</span> <span style="color: #339933;">=</span> <span style="color: #990000;">debug_backtrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$bt</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$levels</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$caller</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$bt</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$levels</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'function'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$bt</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$levels</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'class'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$caller</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$bt</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$levels</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'class'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;::&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$caller</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$caller</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'main'</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$caller</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
    <span style="color: #666666; font-style: italic;">/* {{{ */</span>
    <span style="color: #009933; font-style: italic;">/**
     * var_dump_str
     *
     * var_dump, but with returned output.
     * OB capture is gross, but print_r($x,1) sucks compared to var_dump.
     *
     * @param mixed PHP Variable to be var_dump'd
     * @returns string var_dump representation of that variable
     */</span>
    <span style="color: #000000; font-weight: bold;">function</span> var_dump_str<span style="color: #009900;">&#40;</span><span style="color: #000088;">$var</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #990000;">ob_start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #990000;">var_dump</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$var</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$out</span> <span style="color: #339933;">=</span> <span style="color: #990000;">ob_get_contents</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #990000;">ob_end_clean</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #000088;">$out</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #666666; font-style: italic;">/* }}} */</span>
&nbsp;
    <span style="color: #009933; font-style: italic;">/**
     * isInternal
     *
     * determines if a user is an internal user.
     *
     * @return bool true if the user is internal and should see debug output
     */</span>
    <span style="color: #000000; font-weight: bold;">public</span> static <span style="color: #000000; font-weight: bold;">function</span> isInternal<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">// feel free to add some code here that</span>
        <span style="color: #666666; font-style: italic;">// turns on debug output for only a subset of users.</span>
        <span style="color: #666666; font-style: italic;">//</span>
        <span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">/* }}} */</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">/* {{{ */</span>
    <span style="color: #009933; font-style: italic;">/**
     * yo - figure it out yourself, dummy
     *
     * @param mixed Variable(s) to be dumped (var args)
     * ...
     */</span>
    <span style="color: #000000; font-weight: bold;">public</span> static <span style="color: #000000; font-weight: bold;">function</span> do_yo<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$internal</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">isInternal</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$caller</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">getCaller</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$internal</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;pre&gt;&lt;h1&gt;YO!!: <span style="color: #006699; font-weight: bold;">$caller</span>&lt;/h1&gt;&quot;</span><span style="color: #339933;">;</span>  
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #990000;">error_log</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;YO!!:: <span style="color: #006699; font-weight: bold;">$caller</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">func_get_args</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$var</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$var</span> <span style="color: #339933;">===</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> ? <span style="color: #0000ff;">'bool(false)'</span> <span style="color: #339933;">:</span> Yo<span style="color: #339933;">::</span><span style="color: #004000;">var_dump_str</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$var</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$internal</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #b1b100;">echo</span> <span style="color: #990000;">htmlentities</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$output</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">ENT_QUOTES</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'UTF-8'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
            <span style="color: #990000;">error_log</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$output</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$internal</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;/pre&gt;&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #666666; font-style: italic;">/* }}} */</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">/* {{{ */</span>
    <span style="color: #009933; font-style: italic;">/**
     * yo_bt - figure it out yourself, dummy
     *
     */</span>
    <span style="color: #000000; font-weight: bold;">public</span> static <span style="color: #000000; font-weight: bold;">function</span> do_yo_bt<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$internal</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">isInternal</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$caller</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">getCaller</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$internal</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;pre&gt;&lt;h1&gt;YO bt!!: <span style="color: #006699; font-weight: bold;">$caller</span>&lt;/h1&gt;&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #990000;">error_log</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;YO bt!!:: <span style="color: #006699; font-weight: bold;">$caller</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000088;">$bt</span> <span style="color: #339933;">=</span> <span style="color: #990000;">debug_backtrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$bt</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$line</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$internal</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$line</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'function'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
            <span style="color: #990000;">error_log</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$line</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'function'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$internal</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;/pre&gt;&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #666666; font-style: italic;">/* }}} */</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #666666; font-style: italic;">/* }}} */</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// shortcuts! ------</span>
<span style="color: #000000; font-weight: bold;">function</span> yo<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">return</span> Yo<span style="color: #339933;">::</span><span style="color: #004000;">do_yo</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">function</span> yo_bt<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">return</span> Yo<span style="color: #339933;">::</span><span style="color: #004000;">do_yo_bt</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span></pre></div></div>



<p>Related posts:<ol><li><a href='http://www.rightuptop.com/techie/crows-you/' rel='bookmark' title='Permanent Link: Crows &gt; You'>Crows &gt; You</a></li>
<li><a href='http://www.rightuptop.com/music/top-20-songs-of-the-second-half-of-2005/' rel='bookmark' title='Permanent Link: Top 20 Songs of the Second Half of 2005'>Top 20 Songs of the Second Half of 2005</a></li>
<li><a href='http://www.rightuptop.com/music/top-20-songs-of-2005-so-far/' rel='bookmark' title='Permanent Link: Top 20 Songs of 2005 So Far'>Top 20 Songs of 2005 So Far</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.rightuptop.com/techie/the-greatest-php-debugging-function-of-all-time/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>FFFFound.com Digest RSS Feed</title>
		<link>http://www.rightuptop.com/techie/ffffoundcom-digest-rss-feed/</link>
		<comments>http://www.rightuptop.com/techie/ffffoundcom-digest-rss-feed/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 11:12:21 +0000</pubDate>
		<dc:creator>jake</dc:creator>
				<category><![CDATA[Techie]]></category>
		<category><![CDATA[feed]]></category>
		<category><![CDATA[fffound.com]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.rightuptop.com/?p=369</guid>
		<description><![CDATA[So I recently started browsing FFFFound.com for cool images, and I love it. When I started finding really cool stuff in there, I figured, hey, I&#8217;ll add this site to my RSS reader (as I normally do with sites and blogs that I enjoy). Well, the joke was on me, because ffffound updates every few [...]


Related posts:<ol><li><a href='http://www.rightuptop.com/personal/sxsw-tweetage/' rel='bookmark' title='Permanent Link: SXSW Tweetage'>SXSW Tweetage</a></li>
<li><a href='http://www.rightuptop.com/site-info/tumblr-integration/' rel='bookmark' title='Permanent Link: Tumblr Integration'>Tumblr Integration</a></li>
<li><a href='http://www.rightuptop.com/yahoo-related/new-yahoo-image-search/' rel='bookmark' title='Permanent Link: New Yahoo! Image Search'>New Yahoo! Image Search</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>So I recently started browsing <a href="http://ffffound.com">FFFFound.com</a> for cool images, and I love it.  When I started finding really cool stuff in there, I figured, hey, I&#8217;ll add this site to my RSS reader (as I normally do with sites and blogs that I enjoy).  Well, the joke was on me, because ffffound updates every few seconds, which means that it completely takes over my RSS reader with posts.  This was very annoying.</p>
<p>That&#8217;s when it occurred to me that what I wanted was a digest feed; a feed that combined a few hours worth of ffffound posts into one. And then I realized that this was not particularly hard to do. So I did it.</p>
<p><a href="http://feeds2.feedburner.com/FfffoundcomDailyDigest">Here it is.</a></p>
<p>This feed updates every six hours, with a post that contains a table of thumbnails of all the ffffound posts within that six hour block.  It&#8217;s perfect for any RSS readers that support basic HTML.  Now I get one update every six hours with a bunch of cool images to browse. Perfect.</p>
<p>Enjoy!</p>


<p>Related posts:<ol><li><a href='http://www.rightuptop.com/personal/sxsw-tweetage/' rel='bookmark' title='Permanent Link: SXSW Tweetage'>SXSW Tweetage</a></li>
<li><a href='http://www.rightuptop.com/site-info/tumblr-integration/' rel='bookmark' title='Permanent Link: Tumblr Integration'>Tumblr Integration</a></li>
<li><a href='http://www.rightuptop.com/yahoo-related/new-yahoo-image-search/' rel='bookmark' title='Permanent Link: New Yahoo! Image Search'>New Yahoo! Image Search</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.rightuptop.com/techie/ffffoundcom-digest-rss-feed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crows &gt; You</title>
		<link>http://www.rightuptop.com/techie/crows-you/</link>
		<comments>http://www.rightuptop.com/techie/crows-you/#comments</comments>
		<pubDate>Thu, 29 May 2008 20:40:06 +0000</pubDate>
		<dc:creator>jake</dc:creator>
				<category><![CDATA[Techie]]></category>
		<category><![CDATA[science]]></category>
		<category><![CDATA[videos]]></category>

		<guid isPermaLink="false">http://www.rightuptop.com/archives/171</guid>
		<description><![CDATA[Here&#8217;s a fairly mind-blowing Ted talk on how smart crows are: This video complemented nicely with my friends&#8217; recent discussion about the ten smartest animals, of which crows are a member. I dream of an army of demon crows doing my bidding.&#160; Which is probably the plot of the new Michael Bay-produced version of The [...]


Related posts:<ol><li><a href='http://www.rightuptop.com/music/what-would-wolves-do/' rel='bookmark' title='Permanent Link: What would wolves do?'>What would wolves do?</a></li>
<li><a href='http://www.rightuptop.com/music/2006-music-postacular-3-top-10-songs/' rel='bookmark' title='Permanent Link: 2006 Music Postacular #3: Top 10 Songs'>2006 Music Postacular #3: Top 10 Songs</a></li>
<li><a href='http://www.rightuptop.com/techie/ffffoundcom-digest-rss-feed/' rel='bookmark' title='Permanent Link: FFFFound.com Digest RSS Feed'>FFFFound.com Digest RSS Feed</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a fairly mind-blowing <a href="http://www.ted.com/">Ted talk</a> on how smart crows are:</p>
<p align="center">
<div align="center">
<div class="wlWriterSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:7863dd66-b4e0-48b0-b4bb-c083fc7e548b" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<div><!--cut and paste--><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="432" height="285" id="VE_Player" align="middle"><param name="movie" value="http://static.videoegg.com/ted2/flash/loader.swf"><PARAM NAME="FlashVars" VALUE="bgColor=FFFFFF&amp;file=http://static.videoegg.com/ted/movies/JoshuaKlein_2008_high.flv&amp;autoPlay=false&amp;fullscreenURL=http://static.videoegg.com/ted/flash/fullscreen.html&amp;forcePlay=false&amp;logo=&amp;allowFullscreen=true"><param name="quality" value="high"><param name="allowScriptAccess" value="always"><param name="bgcolor" value="#FFFFFF"><param name="scale" value="noscale"><param name="wmode" value="window"><embed src="http://static.videoegg.com/ted2/flash/loader.swf" FlashVars="bgColor=FFFFFF&#038;file=http://static.videoegg.com/ted/movies/JoshuaKlein_2008_high.flv&#038;autoPlay=false&#038;fullscreenURL=http://static.videoegg.com/ted/flash/fullscreen.html&#038;forcePlay=false&#038;logo=&#038;allowFullscreen=true" quality="high" allowScriptAccess="always" bgcolor="#FFFFFF" scale="noscale" wmode="window" width="432" height="285" name="VE_Player" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></object></div>
</div>
</div>
<p align="left">This video complemented nicely with my friends&#8217; recent discussion about <a href="http://www.msnbc.msn.com/id/24628983/?pg=4#SMARTESTanimals_science">the ten smartest animals</a>, of which crows are a member.</p>
<p align="left">I dream of an army of demon crows doing my bidding.&nbsp; Which is probably the plot of the new <a href="http://www.imdb.com/title/tt0884788/">Michael Bay-produced version of The Birds</a> (and no, that&#8217;s not a joke).</p>
<div class="foxytunes"><span class="listen">Listening to:</span> <a href="http://www.foxytunes.com/artist/islands/track/in+the+rushes">Islands &#8211; In the Rushes</a></div>


<p>Related posts:<ol><li><a href='http://www.rightuptop.com/music/what-would-wolves-do/' rel='bookmark' title='Permanent Link: What would wolves do?'>What would wolves do?</a></li>
<li><a href='http://www.rightuptop.com/music/2006-music-postacular-3-top-10-songs/' rel='bookmark' title='Permanent Link: 2006 Music Postacular #3: Top 10 Songs'>2006 Music Postacular #3: Top 10 Songs</a></li>
<li><a href='http://www.rightuptop.com/techie/ffffoundcom-digest-rss-feed/' rel='bookmark' title='Permanent Link: FFFFound.com Digest RSS Feed'>FFFFound.com Digest RSS Feed</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.rightuptop.com/techie/crows-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Human Airbag</title>
		<link>http://www.rightuptop.com/personal/human-airbag/</link>
		<comments>http://www.rightuptop.com/personal/human-airbag/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 20:04:51 +0000</pubDate>
		<dc:creator>jake</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Techie]]></category>
		<category><![CDATA[gadget]]></category>
		<category><![CDATA[motorcycle]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.rightuptop.com/archives/149</guid>
		<description><![CDATA[Check out this engadget article on new personal airbags aimed at motorcyclists.&#160; I&#8217;m still hoping they invent a process by which they can fuse adamantium to my skeleton and make me invulnerable, but this will have to tide me over; take a look at this video: &#160; &#160; Oops&#8230; I probably shouldn&#8217;t have posted that. [...]


Related posts:<ol><li><a href='http://www.rightuptop.com/personal/80-hetero/' rel='bookmark' title='Permanent Link: 80% Hetero'>80% Hetero</a></li>
<li><a href='http://www.rightuptop.com/personal/finally-an-excuse-to-buy-a-leather-jacket/' rel='bookmark' title='Permanent Link: Finally, An Excuse to Buy a Leather Jacket'>Finally, An Excuse to Buy a Leather Jacket</a></li>
<li><a href='http://www.rightuptop.com/music/word-from-austin/' rel='bookmark' title='Permanent Link: Word from Austin'>Word from Austin</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Check out this <a title="http://www.engadget.com/2008/03/25/daineses-d-tec-wearable-airbag-on-sale-in-2010/" href="http://www.engadget.com/2008/03/25/daineses-d-tec-wearable-airbag-on-sale-in-2010/">engadget article</a> on new personal airbags aimed at motorcyclists.&nbsp; I&#8217;m still hoping they invent a process by which they can <a href="http://en.wikipedia.org/wiki/Wolverine_%28comics%29">fuse adamantium to my skeleton</a> and make me invulnerable, but this will have to tide me over; take a look at this video:</p>
<p>&nbsp;</p>
<div align="center"><embed src="http://www.youtube.com/v/mo9Vlt5tGwY&amp;hl=en" width="425" height="355" type="application/x-shockwave-flash" wmode="transparent"></embed></div>
<div align="center">&nbsp;</div>
<div align="left">Oops&#8230; I probably shouldn&#8217;t have posted that. As I write this, I can hear the sound of my mom storming into the garage and taking a sledgehammer to my bike.</div>
<div align="left">&nbsp;</div>
<div align="left">For more info, take a peek at the <a href="http://www.dainese.com/eng/d-air.asp">Dainese website</a>.</div>
<div class="foxytunes"><span class="listen">Listening to:</span> <a href="http://www.foxytunes.com/artist/morrissey/track/the+loop">Morrissey &#8211; The Loop</a></div>


<p>Related posts:<ol><li><a href='http://www.rightuptop.com/personal/80-hetero/' rel='bookmark' title='Permanent Link: 80% Hetero'>80% Hetero</a></li>
<li><a href='http://www.rightuptop.com/personal/finally-an-excuse-to-buy-a-leather-jacket/' rel='bookmark' title='Permanent Link: Finally, An Excuse to Buy a Leather Jacket'>Finally, An Excuse to Buy a Leather Jacket</a></li>
<li><a href='http://www.rightuptop.com/music/word-from-austin/' rel='bookmark' title='Permanent Link: Word from Austin'>Word from Austin</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.rightuptop.com/personal/human-airbag/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Jumble of Science Stuff</title>
		<link>http://www.rightuptop.com/techie/a-jumble-of-science-stuff/</link>
		<comments>http://www.rightuptop.com/techie/a-jumble-of-science-stuff/#comments</comments>
		<pubDate>Fri, 09 Jul 2004 18:09:52 +0000</pubDate>
		<dc:creator>jake</dc:creator>
				<category><![CDATA[Techie]]></category>

		<guid isPermaLink="false">http://jakerosenberg.com/datfl/?p=22</guid>
		<description><![CDATA[A few cool science items: Scientists at Caltech have made another step in reading monkey brain signals and turning them into corresponding movement. This has obvious implications for prosthetics; score another one for the reductionists. Also, another advancement has been made in the study of quantum teleportation using entangled pairs. This one is a brain [...]


Related posts:<ol><li><a href='http://www.rightuptop.com/politics/stem-cell-research-and-science/' rel='bookmark' title='Permanent Link: Stem Cell Research and Science'>Stem Cell Research and Science</a></li>
<li><a href='http://www.rightuptop.com/personal/buying-the-indispensable-opposition/' rel='bookmark' title='Permanent Link: Buying the Indispensable Opposition'>Buying the Indispensable Opposition</a></li>
<li><a href='http://www.rightuptop.com/personal/the-pillows-still-incredibly-super-awesome/' rel='bookmark' title='Permanent Link: the pillows: still incredibly super awesome'>the pillows: still incredibly super awesome</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>A few cool science items:</p>
<ul>
<li>Scientists at Caltech have made <a href="http://www.nature.com/news/2004/040705/full/040705-7.html">another step</a> in reading monkey brain signals and turning them into corresponding movement.  This has obvious implications for prosthetics; score another one for <a href="http://en.wikipedia.org/wiki/Reductionism">the reductionists</a>.
</li>
<li>Also, <a href="http://www.eetimes.com/at/news/showArticle.jhtml;jsessionid=WLWE3NO0MNIIEQSNDBCCKHQ?articleId=22102104">another advancement</a> has been made in the study of <a href="http://en.wikipedia.org/wiki/Quantum_teleportation">quantum teleportation</a> using <a href="http://en.wikipedia.org/wiki/Quantum_entanglement">entangled</a> pairs.  This one is a brain frier, and has interesting applications in the field of <a href="http://en.wikipedia.org/wiki/Quantum_cryptography">quantum cryptography</a>.  On a philosophical note, if I deconstruct your body on an atomic level and reconstruct you somewhere else using different atoms, are you the same person?  What&#8217;s really nuts is that this type of question may become non-hypothetical during my own lifetime.</li>
<li>Lastly, keep an eye on this <a href="http://saturn.jpl.nasa.gov/operations/images/cassini_today3.jpg">daily simulated view of earth from Cassini</a>.  What blows me away is how small the sun is when you&#8217;re orbiting Saturn.  Craziness.
</li>
</ul>


<p>Related posts:<ol><li><a href='http://www.rightuptop.com/politics/stem-cell-research-and-science/' rel='bookmark' title='Permanent Link: Stem Cell Research and Science'>Stem Cell Research and Science</a></li>
<li><a href='http://www.rightuptop.com/personal/buying-the-indispensable-opposition/' rel='bookmark' title='Permanent Link: Buying the Indispensable Opposition'>Buying the Indispensable Opposition</a></li>
<li><a href='http://www.rightuptop.com/personal/the-pillows-still-incredibly-super-awesome/' rel='bookmark' title='Permanent Link: the pillows: still incredibly super awesome'>the pillows: still incredibly super awesome</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.rightuptop.com/techie/a-jumble-of-science-stuff/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
