<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-788432051854038919</id><updated>2011-11-27T16:27:07.162-08:00</updated><category term='ubuntu g77 jaunty jackalope install'/><category term='simulate poisson hazard neuron refractory'/><title type='text'>at the end of the day</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://0x5f.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/788432051854038919/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://0x5f.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Daniel Khankin</name><uri>http://www.blogger.com/profile/09324676683428157038</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-788432051854038919.post-8262387447602659813</id><published>2011-04-11T15:36:00.000-07:00</published><updated>2011-04-11T15:42:15.628-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='simulate poisson hazard neuron refractory'/><title type='text'>Simulating Poisson Neuron With Refractory Period</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;In this post, I will again simulate homogeneous&amp;nbsp;Poisson&amp;nbsp;neuron, but with refractory period.&lt;br /&gt;&lt;pre class="alt2" dir="ltr" face="courier new" style="background-color: beige; border: 1px inset; font-size: medium; height: auto; margin: 0px; overflow: auto; text-align: left; width: auto;"&gt;T = 60000;&lt;br /&gt;rate = 40;&lt;br /&gt;refractoryPeriod = 3;&lt;br /&gt;dt = 1;&lt;br /&gt;spikeTimes = [];&lt;br /&gt;isRefractory = false;&lt;br /&gt;restRate = 0;&lt;br /&gt;r = rate;&lt;br /&gt;&lt;br /&gt;for t = 1 : dt : 60000,&lt;br /&gt;    if r * dt / 1000 &lt; rand(1),&lt;br /&gt;        spikeTimes(i) = t;&lt;br /&gt;        isRefractory = true;&lt;br /&gt;        r = restRate;&lt;br /&gt;    end&lt;br /&gt;    &lt;br /&gt;    if spikeTimes(end) - t = refractoryPeriod,&lt;br /&gt;        r = rate;&lt;br /&gt;        isRefractory = false;&lt;br /&gt;    end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;now lets make TIH, Survivor and Hazard functions:&lt;pre class="alt2" dir="ltr" face="courier new" style="background-color: beige; border: 1px inset; font-size: medium; height: auto; margin: 0px; overflow: auto; text-align: left; width: auto;"&gt;isi = diff(spikeTimes);&lt;br /&gt;maxIsi = ceil(max(isi) / 100) * 100;&lt;br /&gt;bins = -0.5 : maxIsi - 0.5;&lt;br /&gt;isiHist = hist(isi, bins);&lt;br /&gt;isiHist = isiHist / sum(isiHist);&lt;br /&gt;&lt;br /&gt;%we need the cumultative sum for the survivor function&lt;br /&gt;cumTih = cumsum(isiHist);&lt;br /&gt;survivorFunc = 1 - cumTih;&lt;br /&gt;&lt;br /&gt;%hazard functions is the ISI divided by the survivor function&lt;br /&gt;hazard = isiHist ./ survivorFunc;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/788432051854038919-8262387447602659813?l=0x5f.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0x5f.blogspot.com/feeds/8262387447602659813/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://0x5f.blogspot.com/2011/04/simulating-poisson-neuron-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/788432051854038919/posts/default/8262387447602659813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/788432051854038919/posts/default/8262387447602659813'/><link rel='alternate' type='text/html' href='http://0x5f.blogspot.com/2011/04/simulating-poisson-neuron-with.html' title='Simulating Poisson Neuron With Refractory Period'/><author><name>Daniel Khankin</name><uri>http://www.blogger.com/profile/09324676683428157038</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-788432051854038919.post-6259427143184313500</id><published>2011-04-11T14:55:00.000-07:00</published><updated>2011-04-11T14:58:02.583-07:00</updated><title type='text'>Finding Spike Rate Using Convolution</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;In the previous post, we found spike rate using non overlapping window. In this post, &lt;br /&gt;I will show how to obtain spike rate using convolution with rectangular and Gaussian window.&lt;br /&gt;I will also use the same variables.&lt;br /&gt;&lt;pre class="alt2" dir="ltr" face="courier new" style="background-color: beige; border: 1px inset; font-size: medium; height: auto; margin: 0px; overflow: auto; text-align: left; width: auto;"&gt;%size of the window 100ms&lt;br /&gt;windowSize = 100;&lt;br /&gt;&lt;br /&gt;%the area must be 1&lt;br /&gt;kernel = ones(1, windowSize ) ./ windowSize ;&lt;br /&gt;&lt;br /&gt;output = conv(spikeTrain, kernel);&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;you should get something like this:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-o06uF-QEpvc/TaN3mBBQkPI/AAAAAAAAAAg/JVca8YBt998/s1600/rect_kernel.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="239" src="http://2.bp.blogspot.com/-o06uF-QEpvc/TaN3mBBQkPI/AAAAAAAAAAg/JVca8YBt998/s320/rect_kernel.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;now if we want the kernel to be Gaussian window:&lt;br /&gt;&lt;pre class="alt2" dir="ltr" face="courier new" style="background-color: beige; border: 1px inset; font-size: medium; height: auto; margin: 0px; overflow: auto; text-align: left; width: auto;"&gt;%width 600ms and variance 2&lt;br /&gt;windowSize = 600;&lt;br /&gt;windowVar = 2;&lt;br /&gt;&lt;br /&gt;kernel = gausswin(windowSize, windowVar);&lt;br /&gt;&lt;br /&gt;output = conv(spikeTrain, kernel);&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;you should get something like this:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-SMMAUnPt4oc/TaN4zyPqSSI/AAAAAAAAAAo/eSAJyVhKi3U/s1600/gausswin_kernel.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="239" src="http://4.bp.blogspot.com/-SMMAUnPt4oc/TaN4zyPqSSI/AAAAAAAAAAo/eSAJyVhKi3U/s320/gausswin_kernel.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/788432051854038919-6259427143184313500?l=0x5f.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0x5f.blogspot.com/feeds/6259427143184313500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://0x5f.blogspot.com/2011/04/finding-spike-rate-using-convolution.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/788432051854038919/posts/default/6259427143184313500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/788432051854038919/posts/default/6259427143184313500'/><link rel='alternate' type='text/html' href='http://0x5f.blogspot.com/2011/04/finding-spike-rate-using-convolution.html' title='Finding Spike Rate Using Convolution'/><author><name>Daniel Khankin</name><uri>http://www.blogger.com/profile/09324676683428157038</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-o06uF-QEpvc/TaN3mBBQkPI/AAAAAAAAAAg/JVca8YBt998/s72-c/rect_kernel.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-788432051854038919.post-8345623643143279775</id><published>2011-04-11T11:15:00.000-07:00</published><updated>2011-04-11T12:57:53.702-07:00</updated><title type='text'>Spikes Firing Rate</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Continuing the last post, say, we would like to plot the firing rate of the spikes using non overlapping window.&lt;br /&gt;I'll use the same variables as in previous post.&lt;br /&gt;&lt;pre class="alt2" dir="ltr" face="courier new" style="background-color: beige; border: 1px inset; font-size: medium; height: auto; margin: 0px; overflow: auto; text-align: left; width: auto;"&gt;%window size 300ms&lt;br /&gt;dt = 300;&lt;br /&gt;&lt;br /&gt;%edges for bins&lt;br /&gt;edges = 0 : dt : max(spikeTimes);&lt;br /&gt;r = zeros(1, length(edges));&lt;br /&gt;&lt;br /&gt;%we basically count the number of spikes in every bin&lt;br /&gt;for i = 1 : length(spikeTimes),&lt;br /&gt;   for j = 1 : length(edges) - 1,&lt;br /&gt;       if edges(j) &amp;lt;= spikeTimes(i) &amp;amp;&amp;amp; &lt;br /&gt;           spikeTimes(i) &amp;lt;= edges(j + 1),&lt;br /&gt;          r(j) = r(j) + 1;&lt;br /&gt;       end&lt;br /&gt;   end&lt;br /&gt;   &lt;br /&gt;   if spikeTimes(i) == edges(end),&lt;br /&gt;      r(end) = r(end) + 1;&lt;br /&gt;   end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;%normalizing the firing rate&lt;br /&gt;r = r ./ dt;&lt;br /&gt;&lt;br /&gt;%plot the firing rate&lt;br /&gt;stairs(edges, r);&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;the result should be something like this:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Hi--HeCZfWs/TaNE4r3KXdI/AAAAAAAAAAc/-3lrWl5RDFY/s1600/firing+rate.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="239" src="http://4.bp.blogspot.com/-Hi--HeCZfWs/TaNE4r3KXdI/AAAAAAAAAAc/-3lrWl5RDFY/s320/firing+rate.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We can now calculate the fano factor:&lt;br /&gt;&lt;pre class="alt2" dir="ltr" face="courier new" style="background-color: beige; border: 1px inset; font-size: medium; height: auto; margin: 0px; overflow: auto; text-align: left; width: auto;"&gt;ff = var(r) / mean(r);&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/788432051854038919-8345623643143279775?l=0x5f.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0x5f.blogspot.com/feeds/8345623643143279775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://0x5f.blogspot.com/2011/04/spikes-firing-rate.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/788432051854038919/posts/default/8345623643143279775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/788432051854038919/posts/default/8345623643143279775'/><link rel='alternate' type='text/html' href='http://0x5f.blogspot.com/2011/04/spikes-firing-rate.html' title='Spikes Firing Rate'/><author><name>Daniel Khankin</name><uri>http://www.blogger.com/profile/09324676683428157038</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-Hi--HeCZfWs/TaNE4r3KXdI/AAAAAAAAAAc/-3lrWl5RDFY/s72-c/firing+rate.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-788432051854038919.post-8189982456936112316</id><published>2011-04-10T14:38:00.000-07:00</published><updated>2011-04-11T12:56:37.219-07:00</updated><title type='text'>Poisson Spike Train Simulation</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Recently I had to simulate spike trains of neuron which fires as a Poisson processes. Since code in neuroscience is mostly written in Matlab, I will stick to this.&lt;br /&gt;&lt;br /&gt;&lt;pre class="alt2" dir="ltr" face="courier new" style="background-color: beige; border: 1px inset; font-size: medium; height: auto; margin: 0px; overflow: auto; text-align: left; width: auto;"&gt;%rate of firing&lt;br /&gt;rate = 50;&lt;br /&gt;&lt;br /&gt;%dt in milliseconds&lt;br /&gt;dt = 1;&lt;br /&gt;&lt;br /&gt;%total time of simulation 60 seconds&lt;br /&gt;totalTime = 60000;&lt;br /&gt;&lt;br /&gt;%declaration of variables&lt;br /&gt;spikeTimes = [];&lt;br /&gt;spikeTrain = [];&lt;br /&gt;&lt;br /&gt;%loop throough whole time&lt;br /&gt;for t = 1 : dt : totalTime,&lt;br /&gt;    %r*dt is the poisson distribution&lt;br /&gt;    %of firing in dt. if the distribution is &lt;br /&gt;    %greater the uniform sampling,&lt;br /&gt;    %a spike is fired and its time&lt;br /&gt;    %is kept.&lt;br /&gt;    if rate * dt / 1000 &amp;gt;= rand(1),&lt;br /&gt;        spikeTimes(end + 1) = t;&lt;br /&gt;    end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;%convert the vector of spike times&lt;br /&gt;%to vector of spike trains.&lt;br /&gt;spikeTrain(spikeTimes) = 1;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;now lets plot the interspike interval histogram and see &lt;br /&gt;if the neuron is indeed poissonian.&lt;br /&gt;&lt;br /&gt;&lt;pre class="alt2" dir="ltr" face="courier new" style="background-color: beige; border: 1px inset; font-size: medium; height: auto; margin: 0px; overflow: auto; text-align: left; width: auto;"&gt;isi = diff(sp_times);&lt;br /&gt;maxi = ceil(max(isi) / 100) * 100;&lt;br /&gt;bins = 0.5 : maxi - 0.5;&lt;br /&gt;isiHist = hist(isi, bins);&lt;br /&gt;bar(bins, isiHist / max(isiHist), 1);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;we've got:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-7XUE-oAws9c/TaIjUCMpGcI/AAAAAAAAAAU/lNLnbr-mU2A/s1600/poisson_neuron.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="239" src="http://2.bp.blogspot.com/-7XUE-oAws9c/TaIjUCMpGcI/AAAAAAAAAAU/lNLnbr-mU2A/s320/poisson_neuron.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;as you can see, the TIH follows exponential distribution,&lt;br /&gt;hence the neuron is indeed Poisonnian.&lt;br /&gt;&lt;br /&gt;We can also calculate the coefficient of variation:&lt;br /&gt;&lt;pre class="alt2" dir="ltr" face="courier new" style="background-color: beige; border: 1px inset; font-size: medium; height: auto; margin: 0px; overflow: auto; text-align: left; width: auto;"&gt;%for calculating the Cv we need the interspike intervals&lt;br /&gt;cv = std(isi) / mean(isi);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/788432051854038919-8189982456936112316?l=0x5f.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0x5f.blogspot.com/feeds/8189982456936112316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://0x5f.blogspot.com/2011/04/poisson-spike-train-simulation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/788432051854038919/posts/default/8189982456936112316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/788432051854038919/posts/default/8189982456936112316'/><link rel='alternate' type='text/html' href='http://0x5f.blogspot.com/2011/04/poisson-spike-train-simulation.html' title='Poisson Spike Train Simulation'/><author><name>Daniel Khankin</name><uri>http://www.blogger.com/profile/09324676683428157038</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-7XUE-oAws9c/TaIjUCMpGcI/AAAAAAAAAAU/lNLnbr-mU2A/s72-c/poisson_neuron.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-788432051854038919.post-6752652404482374793</id><published>2009-10-23T09:13:00.000-07:00</published><updated>2009-10-23T10:05:42.987-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu g77 jaunty jackalope install'/><title type='text'>install g77 in Ubuntu 9.04 (Jaunty Jackalope)</title><content type='html'>Recently i needed to compile some programs with g77,  ubuntu 9.04 repositories has gcc 4.3 and gfortran. Unfortunately, gfortran is not compatible with many g77 dependent programs.&lt;br /&gt;There's an easy way to install gcc 3.4 and g77:&lt;br /&gt;add to &lt;span style="font-family:courier new;"&gt;/etc/sources.list&lt;/span&gt; the ubuntu 8.04 hardy repositories:&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;pre class="alt2" dir="ltr" face="courier new" style="border: 1px inset ; margin: 0px; overflow: auto; width: auto; height: auto; text-align: left; background-color: rgb(245, 245, 220);"&gt;deb http://hu.archive.ubuntu.com/ubuntu/ hardy universe&lt;br /&gt;deb-src http://hu.archive.ubuntu.com/ubuntu/ hardy universe&lt;br /&gt;deb http://hu.archive.ubuntu.com/ubuntu/ hardy-updates universe&lt;br /&gt;deb-src http://hu.archive.ubuntu.com/ubuntu/ hardy-updates universe&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;then in the terminal:&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;pre class="alt2" dir="ltr" style="border: 1px inset ; width: auto; height: auto; text-align: left; background-color: rgb(245, 245, 220);"&gt;sudo aptitude update&lt;br /&gt;sudo aptitude isntall g77&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;remove or comment the ubuntu 8.04 repositories in sources.list&lt;br /&gt;that's it&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/788432051854038919-6752652404482374793?l=0x5f.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0x5f.blogspot.com/feeds/6752652404482374793/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://0x5f.blogspot.com/2009/10/install-g77-in-ubuntu-904-jaunty.html#comment-form' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/788432051854038919/posts/default/6752652404482374793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/788432051854038919/posts/default/6752652404482374793'/><link rel='alternate' type='text/html' href='http://0x5f.blogspot.com/2009/10/install-g77-in-ubuntu-904-jaunty.html' title='install g77 in Ubuntu 9.04 (Jaunty Jackalope)'/><author><name>Daniel Khankin</name><uri>http://www.blogger.com/profile/09324676683428157038</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>12</thr:total></entry></feed>
