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"; } } ?> Carrie Brownstein | YEMblog

    Carrie Brownstein RSS

    October 30, 2011

    Interviews: Rocker / Actress / Blogger Carrie Brownstein on Phish [Austinist]

    One more question. And this one from fans of your NPR blog that are dying to know: are you still listening to Phish?

    [Laughs] Not lately. Not lately, but I will say this – every once in a while I have this kernel of pride that swells up because I’ll hear somebody talking about Phish or I’ll hear somebody reference Phish and I’ll feel like I know what they’re talking about, and I have a little bit of insider information. And I saw one of the guys–I did this Phish meet up for the whole thing and I met people. And I saw one of the guys and I felt like it was seeing a famous person. Even though he’s just a Phish fan, I got really excited. He was… in Portland with his wife and I literally just followed him around the isles hoping he might remember me, but he didn’t. Or he didn’t acknowledge it. But I remembered him. And so, I guess to answer your question I’m not listening to Phish all the time but that experience had an indelible effect on me and I will always love it.

    July 20, 2009

    Carrie Brownstein: Phish – I’m With The Fans [Monitor Mix]

    I thought my love affair with Phish ended on Friday, but I was wrong. The romance lasted long into the weekend. I met their manager at the fantastic Decemberists show on Sunday, and just about everyone I ran into over the last few days asked for my closing remarks on the topic — in the hope, perhaps, that I might have some “off the record” comment. (I don’t.) Whether I’m in the fold or out of the loop, I cannot yet say.

    July 16, 2009

    Carrie Brownstein: Phish Update No. 7 – Photos [Monitor Mix]

    Carrie Brownstein: Blogger Blogs About Listening to Phish For First Time [State of Mind]

    Carrie Brownstein: Phish Experiment Post #6 – The Music [Monitor Mix]

    At first listen — and Monday evening literally marked my first listen — Phish comes across as a jazzy, jam-based band with leanings toward folk, funk, freak and frivolity (oh, and prog, but that throws off the alliteration). For non-Phish aficionados, here are some base references: Zappa, Beefheart, ELO, Flying Burrito Brothers and Soft Machine. But it’s just as easy to be surprised by a Phish song and have it sound like none of the aforementioned; to hear hints of classical music, the grandiosity of a Who rock opera, or the melodic prowess of Lennon/McCartney (or maybe Garcia/Lesh).

    July 15, 2009

    Carrie Brownstein: Sleater-Kinney Guitarist Aims to Love Phish [Entertainment Weekly]

    Carrie Brownstein: Phish Update #5 – Meetup Details [Monitor Mix]

    July 14, 2009

    Carrie Brownstein: Phish Update No. 2 – Early Thoughts [Monitor Mix]

    Well, it’s started; I’m only listening to Phish. From now on–whether in my car or at home–it’s all Phish, all the time. (Okay, only for the next five days). You know what made the transition easier? The fact that the last song I heard on the car radio was “Brandy (You’re A Fine Girl).”

    So far, two things that I’m excited about:
    1. The outpouring of earnest, well-thought out suggestions from Phish fans (check out the comment sections here and here for proof).

    2. The fact that this band inspires such intense loyalty yet their fans seem to be open to new and potential followers.

    July 13, 2009

    Opinions: How I Stopped Worrying and Learned to Love Phish [Monitor Mix]

    This week, your Monitor Mix host will journey down the path to conversion. But I need your help: If you are a Phish lover — and I know you’re out there — please steer me toward the right albums, concert footage and songs. Keep me sheltered from the bands’ musical missteps and anything that might impede this affection, which has been buried deep for far too long, just waiting to be awakened.