Michael Heilemann.
If you have Dunstan's Time Since installed, this plugin uses it for the title="" attributes on the comments and posts. (For WordPress 1.5) Author: Brian Meidell Author URI: http://meidell.dk/ Version 1.5: Now works without LOCK TABLE and CREATE TEMPORARY TABLE priviledges. Version 1.5.1: Can't remember what I did here Version 1.5.2: Fixed count select statement to not include spammy comments Version 1.5.3: Properly excludes track- and pingbacks Version 1.5.4: Excludes posts that are not published, even if they have comments Version 1.5.5: Fade old comments, fixed bug that wreaked havoc with Time Since Version 1.5.6: Bugfix from Jonas Rabbe (http://www.jonas.rabbe.com/) pertaining to timesince Version 1.5.7: Bugfix so old colors can be darker than new colors (stupid oversight), thanks to http://spiri.dk for spotting it. Bugfix where single digit hex would cause invalid colors, thanks to http://www.wereldkeuken.be/ for the fix. Version 1.5.8: Updated to work with WordPress 2.1 alpha by M. Heilemann. */ function blc_latest_comments($num_posts = 5, $num_comments = 6, $hide_pingbacks_and_trackbacks = true, $prefix = "
  • ", $postfix = "
  • ", $fade_old = true, $range_in_days = 10, $new_col = "#444444", $old_col = "#cccccc") { global $wpdb; function clamp($min, $max, $val) { return max($min,min($max,$val)); } $usetimesince = function_exists('time_since'); // Work nicely with Dunstan's Time Since plugin (adapted by Michael Heilemann) // This is compensating for the lack of subqueries in mysql 3.x // The approach used in previous versions needed the user to // have database lock and create tmp table priviledges. // This uses more queries and manual DISTINCT code, but it works with just select privs. if(!$hide_pingbacks_and_trackbacks) $ping = ""; else $ping = "AND comment_type<>'pingback' AND comment_type<>'trackback'"; $posts = $wpdb->get_results("SELECT comment_post_ID, post_title FROM ($wpdb->comments LEFT JOIN $wpdb->posts ON (comment_post_ID = ID)) WHERE comment_approved = '1' AND $wpdb->posts.post_status='publish' $ping ORDER BY comment_date DESC;"); $seen = array(); $num = 0; if($fade_old) { $max_time = $range_in_days * 24 * 60 * 60 ; $r_new = hexdec(substr($new_col, 1, 2)); $r_old = hexdec(substr($old_col, 1, 2)); //$r_min = min($min, $max); //$r_max = max($min, $max); $r_range = ($r_old-$r_new); $g_new = hexdec(substr($new_col, 3, 2)); $g_old = hexdec(substr($old_col, 3, 2)); //$g_min = min($min, $max); //$g_max = max($min, $max); $g_range = ($g_old-$g_new); $b_new = hexdec(substr($new_col, 5, 2)); $b_old = hexdec(substr($old_col, 5, 2)); //$b_min = min($min, $max); //$b_max = max($min, $max); $b_range = ($b_old-$b_new); } // print "ranges: $r_range, $g_range, $b_range
    "; // print "r: ".(0.5*$r_range+$r_new)."
    "; foreach($posts as $post) { // The following 5 lines is a manual DISTINCT and LIMIT, // since mysql 3.x doesn't allow you to control which way a DISTINCT // select merges multiple entries. if(array_key_exists($post->comment_post_ID, $seen)) continue; $seen[$post->comment_post_ID] = true; if($num++ > $num_posts) break; $commenters = $wpdb->get_results("SELECT *, UNIX_TIMESTAMP(comment_date) AS unixdate FROM $wpdb->comments WHERE comment_approved = '1' AND comment_post_ID = '".$post->comment_post_ID."' $ping ORDER BY comment_date DESC LIMIT $num_comments;"); $count = $wpdb->get_var("SELECT COUNT(comment_ID) AS c FROM $wpdb->comments WHERE comment_post_ID = $post->comment_post_ID AND comment_approved = '1' ".$ping); $i = 0; $link = get_permalink($post->comment_post_ID); if($usetimesince) $title = " title=\"Last comment was ".time_since($comment->unixdate)." ago\""; else $title = ""; echo $prefix."".stripslashes($post->post_title). "  ".$count."
    \n"; foreach($commenters as $commenter) { if($usetimesince) $title = " title=\"Posted ".time_since($commenter->unixdate)." ago\""; if($fade_old) { $diff = time() - $commenter->unixdate; $r = round($diff/$max_time*($r_range))+$r_new; $r = clamp(min($r_new, $r_old), max($r_new, $r_old), $r); $g = round($diff/$max_time*($g_range))+$g_new; $g = clamp(min($g_new, $g_old), max($g_new, $g_old), $g); $b = round($diff/$max_time*($b_range))+$b_new; $b = clamp(min($b_new, $b_old), max($b_new, $b_old), $b); $r_hex = str_pad(dechex($r), 2, '0', STR_PAD_LEFT); $g_hex = str_pad(dechex($g), 2, '0', STR_PAD_LEFT); $b_hex = str_pad(dechex($r), 2, '0', STR_PAD_LEFT); $colstr = " style=\"color: #".$r_hex.$g_hex.$b_hex.";\""; } if($i++ > 0) echo ", "; echo "comment_ID."\"$title>".stripslashes($commenter->comment_author).""; } if($count > $num_comments) echo " [...]"; echo "".$postfix."\n"; } } ?> Comments on: Pluranomics University Lecture http://pluranomics.com/pluranomics-university-lecture/ Doug Wolkon's ideas for succeeding through economic diversity Fri, 30 Dec 2011 14:06:11 +0000 hourly 1 http://wordpress.org/?v=4.1.18 By: Doug Adams http://pluranomics.com/pluranomics-university-lecture/#comment-1982 Sat, 14 May 2011 23:44:35 +0000 http://pluranomics.com/?p=1527#comment-1982 This is probably the most overlooked tenant in real estate. That an improvement in the credit quality of the cash flow from a lease is more valuable than simply increasing the cash flow of the lease.

    ]]>
    By: Doug Wolkon http://pluranomics.com/pluranomics-university-lecture/#comment-545 Sat, 08 May 2010 04:53:49 +0000 http://pluranomics.com/?p=1527#comment-545 Hi Jon,
    There is an illustration of the Landlord literally swallowing the tenant in the video. The idea is that the game we play is not symbiotic and does not benefit landlords or tenants in the long run. Investors have finally learned that increased prices/rents also mean increased risk and volatility; and after this financial crisis they are begging for rent stability and can not take the depressing volatility any longer.

    You are right, other businesses will surely want to move in as the area thrives, but investors/landlords will trade up for increased credit and stability of cash flow as opposed to increased rent.

    The way an investor/landlord realizes the appreciation in credit value (i.e. CCC to AAA) of their real estate is through a lower corresponding yield (bond characteristics). But instead of selling the physical real estate, the investor/landlord either holds it for the long-term and realizes the appreciation on paper, or securitizes it (i.e. mini-stockmarket), which also allows the value to increase on paper, as well as provide liquidity for the investor. But in either case, the rents stay stable and the investor is paid its profit for increasing the investments long-term stability instead of inflating the rent for the short-term.

    A good example is a long-term ground lease (i.e. 80 years) in NYC, which can trade for a yield below Treasuries. The reason for this is that the investor knows that their tenant, which owns an 80-story office building, would never default on the lease. As the ground lease gets further along in years, it typically looks well-below market in the rent that it charges for its ground as the land rents around it inflate. The investor/lessor holds long-term for the cash flow stability and is able to sleep very well at night. The Goldman’s are an old-school real estate family that is one of the largest ground lessors in the City. Sal Goldman bought raw land and leased it to developers that built hi-rise buildings 40-60 years ago. Some of their ground leases would probably trade for a 2% yield at this point even though their rent is well below the market.

    Lastly, it is critical that the investor be local. The local investor learns that they have both an investment profit incentive as well as an equal incentive to stabilize their own cost of living. For what is a financial return without a stable cost of living. Here is where the paradigm shift occurs in real time. Local investors, like Calpers and other residents through their IRAs and 401Ks, awaken to the fact that controlling cost of living for their future is equally as important as any financial return strategy.

    ]]>
    By: Jonathan Guryan http://pluranomics.com/pluranomics-university-lecture/#comment-544 Fri, 07 May 2010 20:12:19 +0000 http://pluranomics.com/?p=1527#comment-544 One question I had about the example you described in Ann Arbor was
    why the rents wouldn’t rise as all the businesses flock to the
    previously depressed area. That’s the thing I’m having a hard time
    understanding — how to get the market rent to stay stable. I
    understand how ownership by local businesses would alleviate the cycle
    you described. But, as the area thrives, won’t other businesses want
    to move in and offer the owners high prices for their land?

    ]]>