<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.0.5" -->
<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>Kered.org / Blog</title>
	<link>http://kered.org/blog</link>
	<description>Just another WordPress weblog</description>
	<pubDate>Mon, 30 Jun 2008 15:13:42 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.5</generator>
	<language>en</language>
			<item>
		<title>&#8220;Conservapedia&#8221;</title>
		<link>http://kered.org/blog/2008-06-30/conservapedia/</link>
		<comments>http://kered.org/blog/2008-06-30/conservapedia/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 15:13:42 +0000</pubDate>
		<dc:creator>derek</dc:creator>
		
		<category>political</category>

		<category>science</category>

		<guid isPermaLink="false">http://kered.org/blog/2008-06-30/conservapedia/</guid>
		<description><![CDATA[There was a really interesting story about a month back about a scientist who has grown a culture of e-coli over 20 years, and discovered a series of mutations leading to an ability to metabolize citrate - something never before observed in this species.  Well, this has apparently angered the anti-evolution crowd at &#8220;conservapedia&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>There was a really interesting story about a month back about a scientist who has grown a culture of e-coli over 20 years, and discovered a series of mutations leading to an ability to metabolize citrate - something never before observed in this species.  Well, this has apparently angered the anti-evolution crowd at &#8220;conservapedia&#8221; (which was founded because wikipedia was supposedly too liberal), and they&#8217;ve taken to discrediting the guy.  Hilarity ensues. <img src='http://kered.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://arstechnica.com/articles/culture/conservapedias-evolutionary-foibles.ars">http://arstechnica.com/articles/culture/conservapedias-evolutionary-foibles.ars</a><br />
<a href="http://www.conservapedia.com/Conservapedia:Lenski_dialog">http://www.conservapedia.com/Conservapedia:Lenski_dialog</a></p>
<p>Reminds me of one of my favorite Steven Colbert quotes: &#8220;reality has a well known liberal bias&#8221;  =P</p>
]]></content:encoded>
			<wfw:commentRss>http://kered.org/blog/2008-06-30/conservapedia/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SVN/Trac Integration</title>
		<link>http://kered.org/blog/2008-06-27/svntrac-integration/</link>
		<comments>http://kered.org/blog/2008-06-27/svntrac-integration/#comments</comments>
		<pubDate>Fri, 27 Jun 2008 20:27:05 +0000</pubDate>
		<dc:creator>derek</dc:creator>
		
		<category>programming</category>

		<guid isPermaLink="false">http://kered.org/blog/2008-06-27/svntrac-integration/</guid>
		<description><![CDATA[A long time ago I wrote an article titled CVS/Bugzilla Integration.  Here is an updated version for subversion and trac.
Note that it doesn&#8217;t require access the trac python libs or database; it just uses HTTP.  But it does require BeautifulSoup. Install it by adding it to your hooks post-commit script.  (it takes [...]]]></description>
			<content:encoded><![CDATA[<p>A long time ago I wrote an article titled <a href="http://kered.org/blog/2004-04-09/6/">CVS/Bugzilla Integration</a>.  Here is an updated version for subversion and trac.</p>
<p>Note that it doesn&#8217;t require access the trac python libs or database; it just uses HTTP.  But it does require <a href="http://www.crummy.com/software/BeautifulSoup/">BeautifulSoup</a>. Install it by adding it to your hooks post-commit script.  (it takes the normal params of REPOS and REV).</p>
<p><a id="more-84"></a></p>
<blockquote><pre>#!/usr/bin/env python

import os, re, sys, urllib, urllib2

from BeautifulSoup import BeautifulSoup

TRAC_URL = 'http://my.trac.url'
TRAC_TICKET_REL_URL = '/xxx/ticket/'
TRAC_LOGIN_REL_URL = '/xxx/login/'
TRAC_USER = 'user'
TRAC_PASS = 'pass'
TRAC_REALM = 'myRealm'
#SVNLOOK = '/usr/bin/svnlook'
SVNLOOK = '/usr/local/bin/svnlook'

TRAC_TICKET_URL = TRAC_URL+TRAC_TICKET_REL_URL
TRAC_LOGIN_URL = TRAC_URL+TRAC_LOGIN_REL_URL

def get_commit_info(repos, rev):
    c = os.popen( SVNLOOK+' info "%s" -r "%s"' % (repos, rev) )
    user = c.readline().strip()
    date = c.readline().strip()
    ignore = c.readline().strip()
    msg = c.read()
    c.close()
    return user, date, msg

def get_trac_tickets(msg):
    p = re.compile(r'trac:d+')
    tickets = p.findall(msg)
    return [ t[5:] for t in tickets ]

def post_to_trac( ticket, msg ):
    auth = urllib2.HTTPDigestAuthHandler()
    auth.add_password(TRAC_REALM, TRAC_URL, TRAC_USER, TRAC_PASS)
    opener = urllib2.build_opener(auth, urllib2.HTTPCookieProcessor())
    req = urllib2.Request(TRAC_LOGIN_URL)
    req.add_header("Referer", TRAC_TICKET_URL+ticket)
    try:
        res = opener.open(req)
        html = res.read()
        soup = BeautifulSoup(html)
        form = soup.find('form', action=TRAC_TICKET_REL_URL+ticket+'#preview')
        data = {}
        for i in form.findAll('input'):
            try:
                if i['type']=='hidden' or i['type']=='text':
                    data[ i['name'] ] = i['value']
                if i['type']=='checkbox' or i['type']=='radio':
                    if i.get('checked'):
                        data[ i['name'] ] = i['value']
            except: pass
        for s in form.findAll('select'):
            for o in s.findAll('option'):
                if o.get('selected'):
                    data[ s['name'] ] = o.get('value',o.string)
        data['comment'] = msg
        #data['preview'] = 'Preview'
        #print 'n'.join([ str(x) for x in data.iteritems() ] )
        req = urllib2.Request(TRAC_TICKET_URL+ticket, urllib.urlencode(data))
        req.add_header("Referer", TRAC_TICKET_URL+ticket)
        res = opener.open(req)
        html = res.read()
        #print html

    except IOError, e:
        pass
#      if hasattr(e, 'code'):
#        if e.code != 401:
#            print 'We got another error'
#            print e.code
#        else:
#            print e.headers

def main(*args):

    if len(args)!=3:
        print 'usage: python commit-trac.py "repos" "rev"'
        return 1

    repos = args[1]
    rev = args[2]
    user, date, msg = get_commit_info(repos, rev)
    msg = 'svn commit to %s -r%s (%s):n%s' % (repos, rev, user, msg)
    print msg

    for ticket in get_trac_tickets(msg):
        post_to_trac( ticket, msg )

    return 0 # exit errorlessly

if __name__ == '__main__':
    sys.exit(main(*sys.argv))
</pre>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://kered.org/blog/2008-06-27/svntrac-integration/feed/</wfw:commentRss>
		</item>
		<item>
		<title>gPapers in Nature</title>
		<link>http://kered.org/blog/2008-05-03/gpapers-in-nature/</link>
		<comments>http://kered.org/blog/2008-05-03/gpapers-in-nature/#comments</comments>
		<pubDate>Sat, 03 May 2008 19:37:07 +0000</pubDate>
		<dc:creator>derek</dc:creator>
		
		<category>programming</category>

		<category>open source</category>

		<category>personal</category>

		<guid isPermaLink="false">http://kered.org/blog/2008-05-03/gpapers-in-nature/</guid>
		<description><![CDATA[Check it out&#8230; I was mentioned in a recent Nature article about research paper management tools:
http://www.nature.com/news/2008/080430/full/453012b.html (doi:10.1038/453012b)
Cool, eh?  

]]></description>
			<content:encoded><![CDATA[<p>Check it out&#8230; I was mentioned in a recent Nature article about research paper management tools:</p>
<p><a href="http://www.nature.com/news/2008/080430/full/453012b.html">http://www.nature.com/news/2008/080430/full/453012b.html</a> (doi:10.1038/453012b)</p>
<p>Cool, eh?  <img src='http://kered.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />
</p>
]]></content:encoded>
			<wfw:commentRss>http://kered.org/blog/2008-05-03/gpapers-in-nature/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google News Photos</title>
		<link>http://kered.org/blog/2008-04-29/google-news-photos/</link>
		<comments>http://kered.org/blog/2008-04-29/google-news-photos/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 19:14:38 +0000</pubDate>
		<dc:creator>derek</dc:creator>
		
		<category>stupid</category>

		<category>funny</category>

		<guid isPermaLink="false">http://kered.org/blog/2008-04-29/google-news-photos/</guid>
		<description><![CDATA[The Google News photo algorithm comes up with some hilarious combinations sometimes.   

(it&#8217;s from an old Simpson&#8217;s episode, if you don&#8217;t get it&#8230;)

]]></description>
			<content:encoded><![CDATA[<p>The Google News photo algorithm comes up with some hilarious combinations sometimes.  <img src='http://kered.org/blog/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /> </p>
<p><img id="image81" src="http://kered.org/blog/wp-content/uploads/2008/04/homer_brain.png" alt="homer_brain.png" /></p>
<p>(it&#8217;s from an old Simpson&#8217;s episode, if you don&#8217;t get it&#8230;)
</p>
]]></content:encoded>
			<wfw:commentRss>http://kered.org/blog/2008-04-29/google-news-photos/feed/</wfw:commentRss>
		</item>
		<item>
		<title>NSF GK-12 Fellowship</title>
		<link>http://kered.org/blog/2008-04-21/nsf-gk-12-fellowship/</link>
		<comments>http://kered.org/blog/2008-04-21/nsf-gk-12-fellowship/#comments</comments>
		<pubDate>Mon, 21 Apr 2008 19:22:21 +0000</pubDate>
		<dc:creator>derek</dc:creator>
		
		<category>college / phd / utd</category>

		<category>personal</category>

		<guid isPermaLink="false">http://kered.org/blog/2008-04-21/nsf-gk-12-fellowship/</guid>
		<description><![CDATA[Dear Students,
Congratulations. You have been selected for the NSF GK-12 fellowship. This fellowship as you recalled I mentioned pays XX,000 a year, starting with this Summer, plus an extra stipend for tuition.
If you recall, it involves setting up an after-school program for middle-schools to motivate students to choose computer science (or a STEM) for their [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Dear Students,</p>
<p>Congratulations. You have been selected for the <a href="http://www.nsf.gov/">NSF</a> GK-12 fellowship. This fellowship as you recalled I mentioned pays XX,000 a year, starting with this Summer, plus an extra stipend for tuition.</p>
<p>If you recall, it involves setting up an after-school program for middle-schools to motivate students to choose computer science (or a STEM) for their future careers.</p>
<p>We will come up with the official letter (the one you have to sign) soon (probably next week), but I just wanted to inform you that you have been selected.</p>
<p>If you are still with us on this project, please reply to me acknowledging your acceptance. We had more candidates than positions, so I have to make sure you are all on board before I notify those who were not selected.</p>
<p>Best wishes, and I look forward to hearing from you.</p>
<p>&#8211;<br />
Dr. Jorge A. Cobb </p></blockquote>
<p>w00t!  =P
</p>
]]></content:encoded>
			<wfw:commentRss>http://kered.org/blog/2008-04-21/nsf-gk-12-fellowship/feed/</wfw:commentRss>
		</item>
		<item>
		<title>XOXOXO</title>
		<link>http://kered.org/blog/2008-04-21/xoxoxo/</link>
		<comments>http://kered.org/blog/2008-04-21/xoxoxo/#comments</comments>
		<pubDate>Mon, 21 Apr 2008 15:50:45 +0000</pubDate>
		<dc:creator>derek</dc:creator>
		
		<category>personal</category>

		<guid isPermaLink="false">http://kered.org/blog/2008-04-21/xoxoxo/</guid>
		<description><![CDATA[I just want to mention that I am madly in love.  Yay to me, and how wonderfully amazing my sweet, smart, nerdy, independent, and incredibly gorgeous girlfriend is.  I love you babydoll.  

]]></description>
			<content:encoded><![CDATA[<p>I just want to mention that I am madly in love.  Yay to me, and how wonderfully amazing my sweet, smart, nerdy, independent, and incredibly gorgeous girlfriend is.  I love you babydoll.  <img src='http://kered.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />
</p>
]]></content:encoded>
			<wfw:commentRss>http://kered.org/blog/2008-04-21/xoxoxo/feed/</wfw:commentRss>
		</item>
		<item>
		<title>DeSiGLE - Derek&#8217;s Simple Gnome LaTeX Editor</title>
		<link>http://kered.org/blog/2008-04-10/desigle-dereks-simple-gnome-latex-editor/</link>
		<comments>http://kered.org/blog/2008-04-10/desigle-dereks-simple-gnome-latex-editor/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 19:03:20 +0000</pubDate>
		<dc:creator>derek</dc:creator>
		
		<category>programming</category>

		<category>open source</category>

		<guid isPermaLink="false">http://kered.org/blog/2008-04-10/desigle-dereks-simple-gnome-latex-editor/</guid>
		<description><![CDATA[I wanted a simple GTK-based LaTeX editor with spell checking, syntax highlighting and a preview pane. None that I could find fit this bill, so I rolled my own.

Website: http://desigle.org/
Use if you wish.
]]></description>
			<content:encoded><![CDATA[<p>I wanted a simple GTK-based LaTeX editor with spell checking, syntax highlighting and a preview pane. None that I could find fit this bill, so I rolled my own.</p>
<p><img src="http://desigle.googlecode.com/svn/trunk/website/screenshot01_small.png" alt="" /></p>
<p>Website: <a href="http://desigle.org/">http://desigle.org/</a></p>
<p>Use if you wish.</p>
]]></content:encoded>
			<wfw:commentRss>http://kered.org/blog/2008-04-10/desigle-dereks-simple-gnome-latex-editor/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Daily caffeine &#8216;protects brain&#8217;</title>
		<link>http://kered.org/blog/2008-04-03/daily-caffeine-protects-brain/</link>
		<comments>http://kered.org/blog/2008-04-03/daily-caffeine-protects-brain/#comments</comments>
		<pubDate>Thu, 03 Apr 2008 13:12:36 +0000</pubDate>
		<dc:creator>derek</dc:creator>
		
		<category>other</category>

		<guid isPermaLink="false">http://kered.org/blog/2008-04-03/daily-caffeine-protects-brain/</guid>
		<description><![CDATA[Coffee may cut the risk of dementia by blocking the damage cholesterol can inflict on the body, research suggests.
The drink has already been linked to a lower risk of Alzheimer&#8217;s Disease, and a study by a US team for the Journal of Neuroinflammation may explain why. 
W00t!  =P
http://news.bbc.co.uk/2/hi/health/7326839.stm
]]></description>
			<content:encoded><![CDATA[<blockquote><p>Coffee may cut the risk of dementia by blocking the damage cholesterol can inflict on the body, research suggests.</p>
<p>The drink has already been linked to a lower risk of Alzheimer&#8217;s Disease, and a study by a US team for the Journal of Neuroinflammation may explain why. </p></blockquote>
<p>W00t!  =P</p>
<p><a href="http://news.bbc.co.uk/2/hi/health/7326839.stm">http://news.bbc.co.uk/2/hi/health/7326839.stm</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kered.org/blog/2008-04-03/daily-caffeine-protects-brain/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Dreams</title>
		<link>http://kered.org/blog/2008-03-25/dreams/</link>
		<comments>http://kered.org/blog/2008-03-25/dreams/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 14:01:52 +0000</pubDate>
		<dc:creator>derek</dc:creator>
		
		<category>personal</category>

		<category>funny</category>

		<guid isPermaLink="false">http://kered.org/blog/2008-03-25/dreams/</guid>
		<description><![CDATA[Sometimes they&#8217;re really weird.  Night before last, I was dreaming, and woke up.  Looked around, realized I had been dreaming, plopped my head back down and fell right back asleep.  Although instead of going into another dream, a message popped up (almost as if I was using a computer) saying (via white [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes they&#8217;re <em>really</em> weird.  Night before last, I was dreaming, and woke up.  Looked around, realized I had been dreaming, plopped my head back down and fell right back asleep.  Although instead of going into another dream, a message popped up (almost as if I was using a computer) saying (via white text on a black background):</p>
<blockquote><p>If you would like to continue this dream, a charge of $19.95 will be applied to your credit card.  Do you want to proceed?</p>
<p>[Yes] [No]
</p></blockquote>
<p>But my brain knew it was dreaming, and the absurdity of it made me laugh hard enough to wake me up again.  So +1 for &#8220;weird dreams&#8221;.  <img src='http://kered.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>P.S. Oddly enough, usually I can&#8217;t read in my dreams.  The words are almost always confusingly jumbled, not just in word/letter transposition but in physical orientation and alignment.  Sometimes if I focus I can pull them together (literally: they move about in what I can only describe as brownian motion) and make sense of them, but not often.  It&#8217;s an interesting enough phenomenon that I often try to look for newspapers or books in my dreams when I realize I&#8217;m dreaming, and it&#8217;s a great litmus test for when I&#8217;m not sure.
</p>
]]></content:encoded>
			<wfw:commentRss>http://kered.org/blog/2008-03-25/dreams/feed/</wfw:commentRss>
		</item>
		<item>
		<title>My Latest Soon-to-be-Forgotten-Uncompleted Project</title>
		<link>http://kered.org/blog/2008-03-23/my-latest-soon-to-be-forgotten-uncompleted-project/</link>
		<comments>http://kered.org/blog/2008-03-23/my-latest-soon-to-be-forgotten-uncompleted-project/#comments</comments>
		<pubDate>Mon, 24 Mar 2008 01:05:15 +0000</pubDate>
		<dc:creator>derek</dc:creator>
		
		<category>programming</category>

		<guid isPermaLink="false">http://kered.org/blog/2008-03-23/my-latest-soon-to-be-forgotten-uncompleted-project/</guid>
		<description><![CDATA[The NetFlix Prize
I remember reading about it after it was announced (probably on /.), and promptly forgetting about it.  I stumbled across it again listening to one of the Google lectures on MapReduce, and started poking around, thinking &#8220;maybe this would make a good test project for my new (I-just-want-to-play-sized) Hadoop cluster&#8221;.  But [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.netflixprize.com/">The NetFlix Prize</a></p>
<p>I remember reading about it after it was announced (probably on <a href="http://slashdot.org/">/.</a>), and promptly forgetting about it.  I stumbled across it again listening to one of the Google lectures on <a href="http://labs.google.com/papers/mapreduce.html">MapReduce</a>, and started poking around, thinking &#8220;maybe this would make a good test project for my new (I-just-want-to-play-sized) <a href="http://hadoop.apache.org/core/">Hadoop</a> cluster&#8221;.  But then I needed an algorithm before I started parallelizing it, and, hey, what do you know, I&#8217;m getting really good numbers.  <img src='http://kered.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Of course, I&#8217;m getting my good numbers on a very small randomly selected subset of the entire project.  So it could be just a fluke.  And it&#8217;s slower than molasses in an Adirondack winter (current estimate: 10+ years to calculate the entire qualifying data set).  But hey, it has my attention.
</p>
]]></content:encoded>
			<wfw:commentRss>http://kered.org/blog/2008-03-23/my-latest-soon-to-be-forgotten-uncompleted-project/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
