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"; } } ?> Browse Time | Pluranomics.com

    Small silhouette of Doug Wolkon WELCOME TO PLURANOMICS, THE ECONOMICS OF MANY.

    Time

    Localism: County Style

    Just got back to Kauai after a 2-month trip to the U.S. Mainland. I had not been back to the Mainland but for a few weeks over the past year. In any case, there was one idea that I could not drop throughout my 2-month economic study, during which time I visited several Counties, including 12 days in Broward County, FL;  13 days in Palm Beach County, FL;  a few days in Westchester County, NY;  10 days in Fairfield County, CT;  5 days in Suffolk County, MA (Boston);  and 6 days in Jefferson County, CO;  and finally back to Kauai County, HI.

    The idea was a Local Investment Fund, with all the power and might of a national or international private equity fund; but funded by the residents of the County and for the benefit of the County. The Fund would be investing in high-yield real estate and renewable energy assets that a local investor could touch and feel as opposed to the digital or virtual investment world where most of us currently have all our investment eggs.

    Jungle Cottage

    “Counties!”  I first realized it while staying in my jungle cottage within the concrete jungle of Downtown Ft. Lauderdale. Yes, it would be the Counties that would lead America through the Economic Revolution; the Counties, who are unencumbered by the high debts and expenses of our other authorities including towns, cities, states, and federal governments. Huh, Counties. What in the world are you talking about?

    Lets use my former, Fairfield County, CT, which maybe the wealthiest County in America – a place where many billionaires and thousands of millionaires call home; Say that the residents (rich and poor) of Fairfield County allocated just 5-10% of their savings towards a local investment fund, which invested in local assets that an investor can touch and feel. This strategy would be executed at a time when real estate is having a fire sale. First, with billions and billions of dollars to invest, such an investment fund would ignite the Fairfield County economy, spurring job growth, creating competition in the energy markets, and replacing out of town or absentee landlords with a locally-minded investor fund.

    As I travelled from County to County, my vision only became clearer in my mind. This will be the first of many blog posts on this topic among others, as this Mainland trip certainly got my juices flowing. With bond yields rising and inflation in the air, the time is now for Localism to take hold – County Style!


    In a land called…

    In a land called Nacirema, things are a bit backward from what you might expect.

    Imagine walking down the street mid-day in Nacirema and a complete stranger stops and asks you to give him your hard-earned money. Not just all the money in your pocket, but all your life’s savings. He introduces himself as the “money-keeper” of the Nacirema tribe and promises you that he’ll watch over your money. He cannot tell you exactly where that is for security purposes and although you can’t see or touch the money once you give it to him, you are assured it will be safe. Since you’ve never met this person before in your life, he pulls out a small piece of paper and writes down three little letters “I.O.U.” to ensure you that he is good for it, and then asks you to sign it. He says you can present this piece of paper to him every time you want some of the money back or to give him more of your savings in the future.  He further reassures you that he has possession of many, many Naricema people’s hard-earned money and again promises that your money is safe in his hands.

    “This is crazy” would be an honest first reaction. How could anyone in their right mind give their life savings to a complete stranger? But as mentioned, everything is backwards in Nacirema, and if you flip the letters around you’ll learn that Nacirema backwards spells American. In America this complete stranger is better known as a “bank”. But unlike in Nacirema, we do not even get the privelege to meet this stranger on the street. However, we somehow accept this mysterious “bank” entity as being safe and secure, just because…

    Perhaps it is time we reconsider this false notion by trusting and investing our money in ourselves and our communities so as to protect the very livelihood we’ve worked so hard to attain. Or would that be considered “crazy”?

    What Happens When Housing Supply Meets Demand

    So often I am asked if I think home prices are going up or down. I remember in 2004 sitting around a big conference table with my private equity partners answering this same question (we financed large condo projects and bought raw land parcels to resell to home builders). And even with the 30%+ drop in housing prices in America from their peak in 2006, my then most unpopular answer has not changed, its still “down”. Continued »

    Poetronomics

    A falling knife cuts scrambling hands,
    Crushing greed in its path, it makes it’s demands. 
    A powerful force exposes weak links, 
    Revealing the financial elitists’ calculating winks.
    We believed the full story, the old American Dream,
    Now fumble for truth beneath the whole scheme. 
    What if we woke up to our foolish ways? 
    Seeking a simpler life for tomorrow’s days. 
    Stop saving money for a wishful life ahead, 
    We’ll live for today and retire when dead. Continued »