Sorry

This feed does not validate.

In addition, interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: http://davorg.theplanetarium.org/atom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <feed xmlns="http://www.w3.org/2005/Atom">
  3.  <title>planet davorg</title>
  4.  <link rel="alternate" href="http://davorg.theplanetarium.org/" type="text/html"/>
  5.  <subtitle>Aggregating Dave's stuff</subtitle>
  6.  <author>
  7.    <name>Dave Cross</name>
  8.    <email>[email protected]</email>
  9.  </author>
  10.  <updated>2017-04-28T19:03:07Z</updated>
  11.  <link rel="self" href="http://davorg.theplanetarium.org/" type="application/atom+xml"/>
  12.  <id>http://davorg.theplanetarium.org/</id>
  13.  <entry>
  14.    
  15.    
  16.    <link rel="alternate" href="https://www.last.fm/music/Billy+Bragg/_/The+Space+Race+Is+Over" type="text/html"/>
  17.    <updated>2017-04-28T16:57:08Z</updated>
  18.    <author>
  19.      <name>Billy Bragg</name>
  20.    </author>
  21.    <id>https://musicbrainz.org/recording/0f60d519-6ad9-482c-b3a6-5a5d436a2eb5</id>
  22.  <title>last.fm: The Space Race Is Over - Billy Bragg</title><summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">The Space Race Is Over - Billy Bragg
  23. </div></summary></entry>
  24.  <entry>
  25.    
  26.    
  27.    <link rel="alternate" href="https://www.last.fm/music/Eliza+Carthy/_/Accordion+Song+(Accidental+Saturday+Night+Kitchen+Mix)" type="text/html"/>
  28.    <updated>2017-04-28T16:52:02Z</updated>
  29.    <author>
  30.      <name>Eliza Carthy</name>
  31.    </author>
  32.    <id>https://musicbrainz.org/recording/4433d8cd-af41-4694-a5b6-38e14219db87</id>
  33.  <title>last.fm: Accordion Song (Accidental Saturday Night Kitchen Mix) - Eliza Carthy</title><summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Accordion Song (Accidental Saturday Night Kitchen Mix) - Eliza Carthy
  34. </div></summary></entry>
  35.  <entry>
  36.    
  37.    
  38.    <link rel="alternate" href="https://www.last.fm/music/The+Human+League/_/A+Doorway+(Early+Version)" type="text/html"/>
  39.    <updated>2017-04-28T16:47:33Z</updated>
  40.    <author>
  41.      <name>The Human League</name>
  42.    </author>
  43.    <id>https://musicbrainz.org/recording/</id>
  44.  <title>last.fm: A Doorway (Early Version) - The Human League</title><summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">A Doorway (Early Version) - The Human League
  45. </div></summary></entry>
  46.  <entry>
  47.    
  48.    
  49.    <link rel="alternate" href="https://www.last.fm/music/Michael+C.+Hall/_/Heroes" type="text/html"/>
  50.    <updated>2017-04-28T16:42:37Z</updated>
  51.    <author>
  52.      <name>Michael C. Hall</name>
  53.    </author>
  54.    <id>https://musicbrainz.org/recording/</id>
  55.  <title>last.fm: Heroes - Michael C. Hall</title><summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Heroes - Michael C. Hall
  56. </div></summary></entry>
  57.  <entry>
  58.    
  59.    
  60.    <link rel="alternate" href="https://www.last.fm/music/The+Smiths/_/These+Things+Take+Time+(2011+Remastered+Version)" type="text/html"/>
  61.    <updated>2017-04-28T16:39:09Z</updated>
  62.    <author>
  63.      <name>The Smiths</name>
  64.    </author>
  65.    <id>https://musicbrainz.org/recording/</id>
  66.  <title>last.fm: These Things Take Time (2011 Remastered Version) - The Smiths</title><summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">These Things Take Time (2011 Remastered Version) - The Smiths
  67. </div></summary></entry>
  68.  <entry xmlns:media="http://search.yahoo.com/mrss/">
  69.    <id>tag:github.com,2008:PushEvent/5777714160</id>
  70.    <published>2017-04-28T16:10:42Z</published>
  71.    <updated>2017-04-28T16:10:42Z</updated>
  72.    <link type="text/html" rel="alternate" href="https://github.com/davorg/twittelection/compare/d2ac0dcaa7...ad62fe135e"/>
  73.    
  74.    <author>
  75.      <name>davorg</name>
  76.      <email>[email protected]</email>
  77.      <uri>https://github.com/davorg</uri>
  78.    </author>
  79.    <media:thumbnail height="30" width="30" url="https://avatars1.githubusercontent.com/u/24642?v=3&amp;s=30"/>
  80.    
  81.  <title>github: davorg pushed to master at davorg/twittelection</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><div>Apr 28, 2017</div>
  82. <div><a href="/davorg">davorg</a> pushed to <a href="/davorg/twittelection/tree/master">master</a> at <a href="/davorg/twittelection">davorg/twittelection</a></div>
  83. <div><a href="/davorg"><img alt="@davorg" src="https://avatars0.githubusercontent.com/u/24642?v=3&amp;s=60"/></a>
  84. <div>
  85. <ul>
  86. <li><span><img alt="@davorg" src="https://avatars1.githubusercontent.com/u/24642?v=3&amp;s=32"/></span> <code><a href="/davorg/twittelection/commit/ad62fe135e7cb24781ee56179e57e57c06f33042">ad62fe1</a></code>
  87. <div>
  88. <blockquote>Fix a typo</blockquote>
  89. </div>
  90. </li>
  91. <li><span><img alt="@davorg" src="https://avatars1.githubusercontent.com/u/24642?v=3&amp;s=32"/></span> <code><a href="/davorg/twittelection/commit/30a8f9224a06d82b4a350b713130219154f4d189">30a8f92</a></code>
  92. <div>
  93. <blockquote>Get the candidate data from a CSV file</blockquote>
  94. </div>
  95. </li>
  96. <li><a href="/davorg/twittelection/compare/d2ac0dcaa7...ad62fe135e">1 more commit »</a></li>
  97. </ul>
  98. </div>
  99. </div>
  100.  
  101. </div></content></entry>
  102.  <entry>
  103.    
  104.    <link rel="alternate" href="https://twitter.com/davorg/status/857898310304227328" type="text/html"/>
  105.    
  106.    <updated>2017-04-28T10:04:30Z</updated>
  107.  <title>twitter: Anyone fancy working with me at @Zoopla? https://t.co/apWmaCIj2Y</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Anyone fancy working with me at @Zoopla? https://t.co/apWmaCIj2Y
  108. </div></content></entry>
  109.  <entry>
  110.    
  111.    <link rel="alternate" href="https://twitter.com/davorg/status/857896557382971392" type="text/html"/>
  112.    
  113.    <updated>2017-04-28T09:57:32Z</updated>
  114.  <title>twitter: @seetickets I have an email from DX about an order "See Ticket Ref: 57523756". But that reference doesn't match any of my orders. Help! :-)</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">@seetickets I have an email from DX about an order "See Ticket Ref: 57523756". But that reference doesn't match any of my orders. Help! :-)
  115. </div></content></entry>
  116.  <entry>
  117.    
  118.    <link rel="alternate" href="https://twitter.com/davorg/status/857879436229849088" type="text/html"/>
  119.    
  120.    <updated>2017-04-28T08:49:30Z</updated>
  121.  <title>twitter: Interesting slides about understanding the tech recruitment process so you get paid more - https://t.co/wYuwKbL5Wr (from @perlcareers)</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Interesting slides about understanding the tech recruitment process so you get paid more - https://t.co/wYuwKbL5Wr (from @perlcareers)
  122. </div></content></entry>
  123.  <entry>
  124.    
  125.    <link rel="alternate" href="https://twitter.com/davorg/status/857871119616966657" type="text/html"/>
  126.    
  127.    <updated>2017-04-28T08:16:28Z</updated>
  128.  <title>twitter: And if you want to use @findmypast to try genealogy this weekend, here's a (very) basic primer I wrote - https://t.co/UXholkAVxj</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">And if you want to use @findmypast to try genealogy this weekend, here's a (very) basic primer I wrote - https://t.co/UXholkAVxj
  129. </div></content></entry>
  130.  <entry>
  131.    
  132.    <link rel="alternate" href="https://twitter.com/davorg/status/857868853816250369" type="text/html"/>
  133.    
  134.    <updated>2017-04-28T08:07:27Z</updated>
  135.  <title>twitter: If the weather's a bit crap this weekend, why not try genealogy? @findmypast have lots of data available for free - https://t.co/86d0qOfai6</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">If the weather's a bit crap this weekend, why not try genealogy? @findmypast have lots of data available for free - https://t.co/86d0qOfai6
  136. </div></content></entry>
  137.  <entry xmlns:media="http://search.yahoo.com/mrss/">
  138.    <id>tag:github.com,2008:PushEvent/5751495857</id>
  139.    <published>2017-04-25T12:04:17Z</published>
  140.    <updated>2017-04-25T12:04:17Z</updated>
  141.    <link type="text/html" rel="alternate" href="https://github.com/LondonPM/London-pm-website/compare/f7277b63c0...e63c7d5f40"/>
  142.    
  143.    <author>
  144.      <name>davorg</name>
  145.      <email>[email protected]</email>
  146.      <uri>https://github.com/davorg</uri>
  147.    </author>
  148.    <media:thumbnail height="30" width="30" url="https://avatars1.githubusercontent.com/u/24642?v=3&amp;s=30"/>
  149.    
  150.  <title>github: davorg pushed to master at LondonPM/London-pm-website</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><div>Apr 25, 2017</div>
  151. <div><a href="/davorg">davorg</a> pushed to <a href="/LondonPM/London-pm-website/tree/master">master</a> at <a href="/LondonPM/London-pm-website">LondonPM/London-pm-website</a></div>
  152. <div><a href="/davorg"><img alt="@davorg" src="https://avatars0.githubusercontent.com/u/24642?v=3&amp;s=60"/></a>
  153. <div>
  154. <ul>
  155. <li><span><img alt="@davorg" src="https://avatars1.githubusercontent.com/u/24642?v=3&amp;s=32"/></span> <code><a href="/LondonPM/London-pm-website/commit/e63c7d5f40ceb1a86eaf49844fc4ae5fc5786de1">e63c7d5</a></code>
  156. <div>
  157. <blockquote>Merge pull request #18 from virtualsue/master</blockquote>
  158. </div>
  159. </li>
  160. <li><span><img alt="@virtualsue" src="https://avatars2.githubusercontent.com/u/84013?v=3&amp;s=32"/></span> <code><a href="/LondonPM/London-pm-website/commit/b8ef5f41defd0cc699bd4fd0fea5796a2117569c">b8ef5f4</a></code>
  161. <div>
  162. <blockquote>Replace old (working) YouTube channel name with new permalink.</blockquote>
  163. </div>
  164. </li>
  165. <li><a href="/LondonPM/London-pm-website/compare/f7277b63c0...e63c7d5f40">View comparison for these 2 commits »</a></li>
  166. </ul>
  167. </div>
  168. </div>
  169.  
  170. </div></content></entry>
  171.  <entry xmlns:media="http://search.yahoo.com/mrss/">
  172.    <id>tag:github.com,2008:PullRequestEvent/5751495779</id>
  173.    <published>2017-04-25T12:04:16Z</published>
  174.    <updated>2017-04-25T12:04:16Z</updated>
  175.    <link type="text/html" rel="alternate" href="https://github.com/LondonPM/London-pm-website/pull/18"/>
  176.    
  177.    <author>
  178.      <name>davorg</name>
  179.      <email>[email protected]</email>
  180.      <uri>https://github.com/davorg</uri>
  181.    </author>
  182.    <media:thumbnail height="30" width="30" url="https://avatars1.githubusercontent.com/u/24642?v=3&amp;s=30"/>
  183.    
  184.  <title>github: davorg merged pull request LondonPM/London-pm-website#18</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><div>Apr 25, 2017</div>
  185. <div><a href="/davorg">davorg</a> merged pull request <a href="/LondonPM/London-pm-website/pull/18">LondonPM/London-pm-website#18</a></div>
  186. <div><a href="/davorg"><img alt="@davorg" src="https://avatars0.githubusercontent.com/u/24642?v=3&amp;s=60"/></a>
  187. <div>
  188. <blockquote>Replace old (working) YouTube channel name with new permalink.</blockquote>
  189. <div><em>1</em> commit with <em>1</em> addition and <em>1</em> deletion</div>
  190. </div>
  191. </div>
  192.  
  193. </div></content></entry>
  194.  <entry xmlns:flickr="urn:flickr:user" xmlns:dc="http://purl.org/dc/elements/1.1/">
  195.    
  196.    <link rel="alternate" type="text/html" href="http://www.flickr.com/photos/davorg/34083145352/"/>
  197.    <id>tag:flickr.com,2005:/photo/34083145352</id>
  198.    <published>2017-04-24T12:15:22Z</published>
  199.    <updated>2017-04-24T12:15:22Z</updated>
  200.    <flickr:date_taken>2017-04-24T13:15:22-08:00</flickr:date_taken>
  201.    <dc:date.Taken>2017-04-24T13:15:22-08:00</dc:date.Taken>
  202.    
  203.    <author>
  204.      <name>Dave Cross</name>
  205.      <uri>http://www.flickr.com/people/davorg/</uri>
  206.      <flickr:nsid>[email protected]</flickr:nsid>
  207.      <flickr:buddyicon>http:[email protected][email protected]</flickr:buddyicon>
  208.    </author>
  209.    <link rel="license" type="text/html" href="https://creativecommons.org/licenses/by-nc-sa/2.0/deed.en"/>
  210.    <link rel="enclosure" type="image/jpeg" href="http://farm3.staticflickr.com/2888/34083145352_19d98c835b_b.jpg"/>
  211.    <category term="ifttt" scheme="http://www.flickr.com/photos/tags/"/>
  212.    <category term="instagram" scheme="http://www.flickr.com/photos/tags/"/>
  213.    <displaycategories>
  214.            </displaycategories>
  215.    <title>flickr: The body that was dumped near the office a few weeks ago is finally unwrapped and revealed as... a naked statue</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://www.flickr.com/people/davorg/">Dave Cross</a> posted a photo:</p>
  216. <p><a href="http://www.flickr.com/photos/davorg/34083145352/"><img src="http://farm3.staticflickr.com/2888/34083145352_19d98c835b_m.jpg" alt="The body that was dumped near the office a few weeks ago is finally unwrapped and revealed as... a naked statue"/></a></p>
  217. <p>via Instagram <a href="http://ift.tt/2pWTLlr">ift.tt/2pWTLlr</a></p>
  218.  
  219. </div></content></entry>
  220.  <entry xmlns:media="http://search.yahoo.com/mrss/">
  221.    <id>tag:github.com,2008:PushEvent/5742884217</id>
  222.    <published>2017-04-24T10:25:36Z</published>
  223.    <updated>2017-04-24T10:25:36Z</updated>
  224.    <link type="text/html" rel="alternate" href="https://github.com/davorg/twittelection/compare/67a2e40754...d2ac0dcaa7"/>
  225.    
  226.    <author>
  227.      <name>davorg</name>
  228.      <email>[email protected]</email>
  229.      <uri>https://github.com/davorg</uri>
  230.    </author>
  231.    <media:thumbnail height="30" width="30" url="https://avatars1.githubusercontent.com/u/24642?v=3&amp;s=30"/>
  232.    
  233.  <title>github: davorg pushed to master at davorg/twittelection</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><div>Apr 24, 2017</div>
  234. <div><a href="/davorg">davorg</a> pushed to <a href="/davorg/twittelection/tree/master">master</a> at <a href="/davorg/twittelection">davorg/twittelection</a></div>
  235. <div><a href="/davorg"><img alt="@davorg" src="https://avatars0.githubusercontent.com/u/24642?v=3&amp;s=60"/></a>
  236. <div>
  237. <ul>
  238. <li><span><img alt="@davorg" src="https://avatars1.githubusercontent.com/u/24642?v=3&amp;s=32"/></span> <code><a href="/davorg/twittelection/commit/d2ac0dcaa761bf1ae5e8b73007b05db80e9bc531">d2ac0dc</a></code>
  239. <div>
  240. <blockquote>More fixes for the new data format from Dem Club.</blockquote>
  241. </div>
  242. </li>
  243. </ul>
  244. </div>
  245. </div>
  246.  
  247. </div></content></entry>
  248.  <entry xmlns:media="http://search.yahoo.com/mrss/">
  249.    <id>tag:github.com,2008:PushEvent/5742760934</id>
  250.    <published>2017-04-24T10:05:18Z</published>
  251.    <updated>2017-04-24T10:05:18Z</updated>
  252.    <link type="text/html" rel="alternate" href="https://github.com/davorg/twittelection/compare/43d00c4356...67a2e40754"/>
  253.    
  254.    <author>
  255.      <name>davorg</name>
  256.      <email>[email protected]</email>
  257.      <uri>https://github.com/davorg</uri>
  258.    </author>
  259.    <media:thumbnail height="30" width="30" url="https://avatars1.githubusercontent.com/u/24642?v=3&amp;s=30"/>
  260.    
  261.  <title>github: davorg pushed to master at davorg/twittelection</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><div>Apr 24, 2017</div>
  262. <div><a href="/davorg">davorg</a> pushed to <a href="/davorg/twittelection/tree/master">master</a> at <a href="/davorg/twittelection">davorg/twittelection</a></div>
  263. <div><a href="/davorg"><img alt="@davorg" src="https://avatars0.githubusercontent.com/u/24642?v=3&amp;s=60"/></a>
  264. <div>
  265. <ul>
  266. <li><span><img alt="@davorg" src="https://avatars1.githubusercontent.com/u/24642?v=3&amp;s=32"/></span> <code><a href="/davorg/twittelection/commit/67a2e407542dea7f6e3d7db01427e8d54d78f5b8">67a2e40</a></code>
  267. <div>
  268. <blockquote>Looks like the JSON we get from Dem Club has changed.</blockquote>
  269. </div>
  270. </li>
  271. </ul>
  272. </div>
  273. </div>
  274.  
  275. </div></content></entry>
  276.  <entry xmlns:flickr="urn:flickr:user" xmlns:dc="http://purl.org/dc/elements/1.1/">
  277.    
  278.    <link rel="alternate" type="text/html" href="http://www.flickr.com/photos/davorg/34222599285/"/>
  279.    <id>tag:flickr.com,2005:/photo/34222599285</id>
  280.    <published>2017-04-23T17:04:12Z</published>
  281.    <updated>2017-04-23T17:04:12Z</updated>
  282.    <flickr:date_taken>2017-04-23T18:04:12-08:00</flickr:date_taken>
  283.    <dc:date.Taken>2017-04-23T18:04:12-08:00</dc:date.Taken>
  284.    
  285.    <author>
  286.      <name>Dave Cross</name>
  287.      <uri>http://www.flickr.com/people/davorg/</uri>
  288.      <flickr:nsid>[email protected]</flickr:nsid>
  289.      <flickr:buddyicon>http:[email protected][email protected]</flickr:buddyicon>
  290.    </author>
  291.    <link rel="license" type="text/html" href="https://creativecommons.org/licenses/by-nc-sa/2.0/deed.en"/>
  292.    <link rel="enclosure" type="image/jpeg" href="http://farm3.staticflickr.com/2831/34222599285_8074c24687_b.jpg"/>
  293.    <category term="ifttt" scheme="http://www.flickr.com/photos/tags/"/>
  294.    <category term="instagram" scheme="http://www.flickr.com/photos/tags/"/>
  295.    <displaycategories>
  296.            </displaycategories>
  297.    <title>flickr: This weekend's other big project. Four chairs, four stools and a table.</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://www.flickr.com/people/davorg/">Dave Cross</a> posted a photo:</p>
  298. <p><a href="http://www.flickr.com/photos/davorg/34222599285/"><img src="http://farm3.staticflickr.com/2831/34222599285_8074c24687_m.jpg" alt="This weekend's other big project. Four chairs, four stools and a table."/></a></p>
  299. <p>via Instagram <a href="http://ift.tt/2oiF6kT">ift.tt/2oiF6kT</a></p>
  300.  
  301. </div></content></entry>
  302.  <entry xmlns:flickr="urn:flickr:user" xmlns:dc="http://purl.org/dc/elements/1.1/">
  303.    
  304.    <link rel="alternate" type="text/html" href="http://www.flickr.com/photos/davorg/33373396174/"/>
  305.    <id>tag:flickr.com,2005:/photo/33373396174</id>
  306.    <published>2017-04-23T10:38:43Z</published>
  307.    <updated>2017-04-23T10:38:43Z</updated>
  308.    <flickr:date_taken>2017-04-23T11:38:43-08:00</flickr:date_taken>
  309.    <dc:date.Taken>2017-04-23T11:38:43-08:00</dc:date.Taken>
  310.    
  311.    <author>
  312.      <name>Dave Cross</name>
  313.      <uri>http://www.flickr.com/people/davorg/</uri>
  314.      <flickr:nsid>[email protected]</flickr:nsid>
  315.      <flickr:buddyicon>http:[email protected][email protected]</flickr:buddyicon>
  316.    </author>
  317.    <link rel="license" type="text/html" href="https://creativecommons.org/licenses/by-nc-sa/2.0/deed.en"/>
  318.    <link rel="enclosure" type="image/jpeg" href="http://farm3.staticflickr.com/2940/33373396174_da23ab80dd_b.jpg"/>
  319.    <category term="ifttt" scheme="http://www.flickr.com/photos/tags/"/>
  320.    <category term="instagram" scheme="http://www.flickr.com/photos/tags/"/>
  321.    <displaycategories>
  322.            </displaycategories>
  323.    <title>flickr: For people who were confused by yesterday's carpentry, does this help at all?</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://www.flickr.com/people/davorg/">Dave Cross</a> posted a photo:</p>
  324. <p><a href="http://www.flickr.com/photos/davorg/33373396174/"><img src="http://farm3.staticflickr.com/2940/33373396174_da23ab80dd_m.jpg" alt="For people who were confused by yesterday's carpentry, does this help at all?"/></a></p>
  325. <p>via Instagram <a href="http://ift.tt/2oB7iuo">ift.tt/2oB7iuo</a></p>
  326.  
  327. </div></content></entry>
  328.  <entry xmlns:flickr="urn:flickr:user" xmlns:dc="http://purl.org/dc/elements/1.1/">
  329.    
  330.    <link rel="alternate" type="text/html" href="http://www.flickr.com/photos/davorg/33359488854/"/>
  331.    <id>tag:flickr.com,2005:/photo/33359488854</id>
  332.    <published>2017-04-22T18:38:46Z</published>
  333.    <updated>2017-04-22T18:38:46Z</updated>
  334.    <flickr:date_taken>2017-04-22T19:38:46-08:00</flickr:date_taken>
  335.    <dc:date.Taken>2017-04-22T19:38:46-08:00</dc:date.Taken>
  336.    
  337.    <author>
  338.      <name>Dave Cross</name>
  339.      <uri>http://www.flickr.com/people/davorg/</uri>
  340.      <flickr:nsid>[email protected]</flickr:nsid>
  341.      <flickr:buddyicon>http:[email protected][email protected]</flickr:buddyicon>
  342.    </author>
  343.    <link rel="license" type="text/html" href="https://creativecommons.org/licenses/by-nc-sa/2.0/deed.en"/>
  344.    <link rel="enclosure" type="image/jpeg" href="http://farm3.staticflickr.com/2861/33359488854_5d72eb7974_b.jpg"/>
  345.    <category term="ifttt" scheme="http://www.flickr.com/photos/tags/"/>
  346.    <category term="instagram" scheme="http://www.flickr.com/photos/tags/"/>
  347.    <displaycategories>
  348.            </displaycategories>
  349.    <title>flickr: Today I perpetrated carpentry. Send to go pretty well.</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://www.flickr.com/people/davorg/">Dave Cross</a> posted a photo:</p>
  350. <p><a href="http://www.flickr.com/photos/davorg/33359488854/"><img src="http://farm3.staticflickr.com/2861/33359488854_5d72eb7974_m.jpg" alt="Today I perpetrated carpentry. Send to go pretty well."/></a></p>
  351. <p>via Instagram <a href="http://ift.tt/2p3x6Bj">ift.tt/2p3x6Bj</a></p>
  352.  
  353. </div></content></entry>
  354.  <entry xmlns:flickr="urn:flickr:user" xmlns:dc="http://purl.org/dc/elements/1.1/">
  355.    
  356.    <link rel="alternate" type="text/html" href="http://www.flickr.com/photos/davorg/34006437921/"/>
  357.    <id>tag:flickr.com,2005:/photo/34006437921</id>
  358.    <published>2017-04-19T11:26:24Z</published>
  359.    <updated>2017-04-19T11:26:24Z</updated>
  360.    <flickr:date_taken>2017-04-19T12:26:24-08:00</flickr:date_taken>
  361.    <dc:date.Taken>2017-04-19T12:26:24-08:00</dc:date.Taken>
  362.    
  363.    <author>
  364.      <name>Dave Cross</name>
  365.      <uri>http://www.flickr.com/people/davorg/</uri>
  366.      <flickr:nsid>[email protected]</flickr:nsid>
  367.      <flickr:buddyicon>http:[email protected][email protected]</flickr:buddyicon>
  368.    </author>
  369.    <link rel="license" type="text/html" href="https://creativecommons.org/licenses/by-nc-sa/2.0/deed.en"/>
  370.    <link rel="enclosure" type="image/jpeg" href="http://farm3.staticflickr.com/2910/34006437921_1a98a6c587_b.jpg"/>
  371.    <category term="ifttt" scheme="http://www.flickr.com/photos/tags/"/>
  372.    <category term="instagram" scheme="http://www.flickr.com/photos/tags/"/>
  373.    <displaycategories>
  374.            </displaycategories>
  375.    <title>flickr: New Toy</title><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://www.flickr.com/people/davorg/">Dave Cross</a> posted a photo:</p>
  376. <p><a href="http://www.flickr.com/photos/davorg/34006437921/"><img src="http://farm3.staticflickr.com/2910/34006437921_1a98a6c587_m.jpg" alt="New Toy"/></a></p>
  377. <p>via Instagram <a href="http://ift.tt/2oUG4Ta">ift.tt/2oUG4Ta</a></p>
  378.  
  379. </div></content></entry>
  380.  <entry>
  381.    <title>slideshare: Modern Perl Web Development with Dancer</title>
  382.    <link rel="alternate" href="https://www.slideshare.net/davorg/modern-perl-web-development-with-dancer" type="text/html"/>
  383.    <content type="xhtml">
  384.      <div xmlns="http://www.w3.org/1999/xhtml"><img alt="" style="border:1px solid #C3E6D8;float:right;"/><br/>
  385. A one-day practical tutorial on modern Perl web development practices using Dancer 2.
  386. </div>
  387.    </content>
  388.    <summary type="xhtml">
  389.      <div xmlns="http://www.w3.org/1999/xhtml"><img alt="" style="border:1px solid #C3E6D8;float:right;"/><br/>
  390. A one-day practical tutorial on modern Perl web development practices using Dancer 2.
  391. </div>
  392.    </summary>
  393.    <author>
  394.      <name>[email protected](davorg)</name>
  395.    </author>
  396.    <id>https://www.slideshare.net/davorg/modern-perl-web-development-with-dancer</id>
  397.    <published>2017-04-16T15:40:56Z</published>
  398.    <updated>2017-04-16T15:40:56Z</updated>
  399.  </entry>
  400.  <entry>
  401.    <title>cpan: DAVECROSS has released Template-Provider-Markdown-Pandoc-0.0.2</title>
  402.    <link rel="alternate" href="https://metacpan.org/release/DAVECROSS/Template-Provider-Markdown-Pandoc-0.0.2" type="text/html"/>
  403.    <content type="xhtml">
  404.      <div xmlns="http://www.w3.org/1999/xhtml">
  405. </div>
  406.    </content>
  407.    <summary type="xhtml">
  408.      <div xmlns="http://www.w3.org/1999/xhtml">expand Markdown templates to HTML
  409. </div>
  410.    </summary>
  411.    <author>
  412.      <name>DAVECROSS</name>
  413.    </author>
  414.    <id>https://metacpan.org/release/DAVECROSS/Template-Provider-Markdown-Pandoc-0.0.2</id>
  415.    <published>2017-04-01T14:28:50</published>
  416.    <updated>2017-04-01T14:28:50</updated>
  417.  </entry>
  418.  <entry>
  419.    <title>slideshare: Freeing Tower Bridge</title>
  420.    <link rel="alternate" href="https://www.slideshare.net/davorg/freeing-tower-bridge" type="text/html"/>
  421.    <content type="xhtml">
  422.      <div xmlns="http://www.w3.org/1999/xhtml"><img alt="" style="border:1px solid #C3E6D8;float:right;"/><br/>
  423. How to make useful data feeds of the Tower Bridge lift times.
  424. </div>
  425.    </content>
  426.    <summary type="xhtml">
  427.      <div xmlns="http://www.w3.org/1999/xhtml"><img alt="" style="border:1px solid #C3E6D8;float:right;"/><br/>
  428. How to make useful data feeds of the Tower Bridge lift times.
  429. </div>
  430.    </summary>
  431.    <author>
  432.      <name>[email protected](davorg)</name>
  433.    </author>
  434.    <id>https://www.slideshare.net/davorg/freeing-tower-bridge</id>
  435.    <published>2017-03-31T07:19:00Z</published>
  436.    <updated>2017-03-31T07:19:00Z</updated>
  437.  </entry>
  438.  <entry>
  439.    <title>cpan: DAVECROSS has released Perlanet-0.58</title>
  440.    <link rel="alternate" href="https://metacpan.org/release/DAVECROSS/Perlanet-0.58" type="text/html"/>
  441.    <content type="xhtml">
  442.      <div xmlns="http://www.w3.org/1999/xhtml">
  443. </div>
  444.    </content>
  445.    <summary type="xhtml">
  446.      <div xmlns="http://www.w3.org/1999/xhtml">A program for creating programs that aggregate web feeds (both
  447. </div>
  448.    </summary>
  449.    <author>
  450.      <name>DAVECROSS</name>
  451.    </author>
  452.    <id>https://metacpan.org/release/DAVECROSS/Perlanet-0.58</id>
  453.    <published>2017-03-29T12:58:11</published>
  454.    <updated>2017-03-29T12:58:11</updated>
  455.  </entry>
  456.  <entry>
  457.    <title>cpan: DAVECROSS has released Genealogy-Ahnentafel-1.0.1</title>
  458.    <link rel="alternate" href="https://metacpan.org/release/DAVECROSS/Genealogy-Ahnentafel-1.0.1" type="text/html"/>
  459.    <content type="xhtml">
  460.      <div xmlns="http://www.w3.org/1999/xhtml">
  461. </div>
  462.    </content>
  463.    <summary type="xhtml">
  464.      <div xmlns="http://www.w3.org/1999/xhtml">Handle Ahnentafel numbers in Perl.
  465. </div>
  466.    </summary>
  467.    <author>
  468.      <name>DAVECROSS</name>
  469.    </author>
  470.    <id>https://metacpan.org/release/DAVECROSS/Genealogy-Ahnentafel-1.0.1</id>
  471.    <published>2017-03-28T12:58:51</published>
  472.    <updated>2017-03-28T12:58:51</updated>
  473.  </entry>
  474.  <entry>
  475.    <title>perl hacks: What Training Should I Run In Amsterdam?</title>
  476.    <link rel="alternate" href="http://feedproxy.google.com/~r/PerlHacks/~3/SAl0XgUaMVs/" type="text/html"/>
  477.    <content type="xhtml">
  478.      <div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://act.perlconference.org/tpc-2017-amsterdam/">The Perl Conference</a> (formerly known as YAPC) in Amsterdam is getting closer. Oh, sure, it’s not imminent, but in five months time it will all be over. And there’s a lot to get done in those five months. I’m glad I’m not one of the organisers.</p>
  479. <p>But there is something that I need to get organised over the next couple of months. It looks likely that there will be training courses running before or after the main conference and, assuming that happens, I’d like to be running one of those courses.</p>
  480. <p>Last year, the “Modern Web Development with Perl” course that I ran in Cluj-Napoca seemed to be very successful (it certainly had the most attendees of any course I’ve run alongside a YAPC) and I think that was down to two factors:</p>
  481. <ol>
  482. <li>We planned and announced the course nice and early.</li>
  483. <li>I asked you what course I should run.</li>
  484. </ol>
  485. <p>I’m not doing to mess with a successful formula, so I’m going to take the same approach this year. Consider this my “what course should I run?” post.</p>
  486. <p>This is how it will work. In this post I’ll make a few suggestions of courses. We can discuss them in the comments and you can add your own suggestions. In a few weeks time, I’ll pull out the most popular suggestions and put it to a public vote. I’ll run the course that gets the most votes.</p>
  487. <p>So what courses could I run?</p>
  488. <p>There are courses that I’ve run many times and that would only need light updating. I have a course on DBIx::Class (I ran that in Granada in 2015), one on Moose and one on testing. I’d be happy to do any of those.</p>
  489. <p>At the LPW last year, I ran a “Modern Perl Update” session which seemed to go down pretty well. I went through the last few Perl releases and explained the new and changed features. It was only a couple of hours long, but I could expand it. Perhaps I could add some stuff about CPAN modules that people don’t seem to know about.</p>
  490. <p>I could re-run the Dancer course from last year. In a day, the class went from nothing to writing a functional and useful Dancer application. Perhaps there’s a big enough audience to do that again.</p>
  491. <p>Or, perhaps, some kind of extension to last year’s course. I don’t mean that you would need to have done the previous course in order to find it useful, but maybe something about integrating Perl web tools with a modern web development toolkit. Using Angular or React as the front end to a Perl backend. Or how about writing APIs in Perl?</p>
  492. <p>I’ll should point out that there are some things that I’m not the right person to teach. Perl 6 is top of that list. Not only have I not had the time to really explore Perl 6 yet, but given that Damian Conway is going to be at the conference and I fully expect him to clean up on the Perl 6 training front.</p>
  493. <p>So there are half a dozen suggestions. What do you think? Are you coming to Amsterdam? Would you (or your company) pay extra for a training course? What course would you like to see?</p>
  494. <p>Let me know your thoughts.</p>
  495. <p>The post <a href="https://perlhacks.com/2017/03/training-run-amsterdam/">What Training Should I Run In Amsterdam?</a> appeared first on <a href="https://perlhacks.com">Perl Hacks</a>.</p>
  496. <img src="http://feeds.feedburner.com/~r/PerlHacks/~4/SAl0XgUaMVs" alt=""/>
  497. </div>
  498.    </content>
  499.    <summary type="xhtml">
  500.      <div xmlns="http://www.w3.org/1999/xhtml"><p>The Perl Conference (formerly known as YAPC) in Amsterdam is getting closer. Oh, sure, it’s not imminent, but in five months time it will all be over. And there’s a lot to get done in those five months. I’m glad I’m not one of the organisers. But there is something that I need to get …</p>
  501. <p><a href="https://perlhacks.com/2017/03/training-run-amsterdam/">Continue reading <span>"What Training Should I Run In Amsterdam?"</span></a></p>
  502. <p>The post <a href="https://perlhacks.com/2017/03/training-run-amsterdam/">What Training Should I Run In Amsterdam?</a> appeared first on <a href="https://perlhacks.com">Perl Hacks</a>.</p>
  503.  
  504. </div>
  505.    </summary>
  506.    <author>
  507.      <name>Dave Cross</name>
  508.    </author>
  509.    <id>https://perlhacks.com/?p=1625</id>
  510.    <published>2017-03-18T12:16:03Z</published>
  511.    <updated>2017-03-18T12:16:03Z</updated>
  512.    <category term="Training"/>
  513.    <category term="amsterdam"/>
  514.    <category term="the perl conference"/>
  515.    <category term="tpc"/>
  516.    <category term="training"/>
  517.  </entry>
  518.  <entry>
  519.    <title>perl hacks: Shaving Last.FM Yaks</title>
  520.    <link rel="alternate" href="http://feedproxy.google.com/~r/PerlHacks/~3/Az-FUbgAPfQ/" type="text/html"/>
  521.    <content type="html">&lt;p&gt;Long-time readers might remember that I once had a bit of an obsession with aggregating web feeds on sites that I called “planets”. I wrote &lt;a href="https://metacpan.org/release/Perlanet"&gt;Perlanet&lt;/a&gt; to make this job easier and I registered the domain &lt;a href="http://theplanetarium.org"&gt;theplanetarium.org&lt;/a&gt; to host these planets.&lt;/p&gt;
  522. &lt;p&gt;The planets I built were of varying levels of usefulness – but of all of them, &lt;a href="http://davorg.theplanetarium.org/"&gt;planet davorg&lt;/a&gt; was the vanity project. It was simply a way to aggregate all the web feeds that I produced. There were feeds from various blogs along with things like Flickr, Twitter and CPAN.&lt;/p&gt;
  523. &lt;p&gt;One of the things I liked about planets was that they were self-maintaining. Once you’ve configured a planet, it will just keep on running (well, as long as the cron job is running). If the web feeds they are aggregating have new content, the planet will have new content. And many of the feeds that powered planet davorg were still running.&lt;/p&gt;
  524. &lt;p&gt;But last weekend I found a couple of&amp;nbsp; problems with it. Firstly, it looked like it was designed by an idiot. Which, to be fair, it was. Web design was never my strong point. But we have &lt;a href="http://getbootstrap.com/"&gt;Bootstrap&lt;/a&gt; now, so there’s no excuse for web sites to look that bad. So that’s how I spent the first hour or&amp;nbsp; so – slapping a bit of Bootstrap paint onto the site. I think it now looks acceptable.&lt;/p&gt;
  525. &lt;p&gt;The second problem was that not all of the feeds were still running some of them (Delicious, for example) were just dead. I can’t remember the last time I posted anything to Delicious – can you? So I spent some time tweaking and fixing the feeds (replacing CPAN with MetaCPAN, for example). Most of this was easy.&lt;/p&gt;
  526. &lt;p&gt;However, one feed was a problem. My &lt;a href="https://last.fm/"&gt;Last.fm&lt;/a&gt; feed was dead. For over ten years I’ve been “scrobbling” ever song I’ve listened to and one of the feeds I was aggregating was that list. According to &lt;a href="http://www.last.fm/api/feeds"&gt;this page&lt;/a&gt; on their web site, my feed is supposed to be at &lt;a href="http://ws.audioscrobbler.com/1.0/user/davorg/recenttracks.rss"&gt;http://ws.audioscrobbler.com/1.0/user/davorg/recenttracks.rss&lt;/a&gt; – and that was the URL in my Perlanet configuration. But it doesn’t work. It returns a 404 error.&lt;/p&gt;
  527. &lt;p&gt;I tried to contact someone at Last.fm to find out what was going on, but I haven’t got any kind of response. It looks like they’ve been running on a skeleton staff since CBS took them over and they don’t seem to have the time to support their users (not, I suspect, a recipe for long-term success!)&lt;/p&gt;
  528. &lt;p&gt;But there was one possibility. You can get the same data through their &lt;a href="http://www.last.fm/api"&gt;API&lt;/a&gt;. And some quick experimentation, revealed that their API hasn’t been turned off.&lt;/p&gt;
  529. &lt;p&gt;And CPAN has &lt;a href="https://metacpan.org/pod/Net::LastFM"&gt;Net::LastFM&lt;/a&gt; which will make the API calls for me. Ok, so it hasn’t been updated since 2009, but it still works (I’ve just noticed that there’s also &lt;a href="https://metacpan.org/pod/Net::LastFMAPI"&gt;Net::LastFMAPI&lt;/a&gt; which is a little more recent).&lt;/p&gt;
  530. &lt;p&gt;So it just took a small amount of work to write a little program which grabs uses the Last.fm API to get some JSON that contains the information that I want and convert it to an Atom feed. In case this is useful to anyone else, I’ve put &lt;a href="https://github.com/davorg/lastfm-feed"&gt;the code on Github&lt;/a&gt;. Please let me know if you do anything interesting with it.&lt;/p&gt;
  531. &lt;p&gt;And if anyone from Last.fm reads this. Please either turn the web feeds back on or remove the documentation that still claims they exist.&lt;/p&gt;
  532. &lt;p&gt;The post &lt;a href="https://perlhacks.com/2017/02/shaving-last-fm-yaks/"&gt;Shaving Last.FM Yaks&lt;/a&gt; appeared first on &lt;a href="https://perlhacks.com"&gt;Perl Hacks&lt;/a&gt;.&lt;/p&gt;
  533. &lt;img src="http://feeds.feedburner.com/~r/PerlHacks/~4/Az-FUbgAPfQ" alt="" /&gt;
  534. </content>
  535.    <summary type="xhtml">
  536.      <div xmlns="http://www.w3.org/1999/xhtml"><p>Long-time readers might remember that I once had a bit of an obsession with aggregating web feeds on sites that I called “planets”. I wrote Perlanet to make this job easier and I registered the domain theplanetarium.org to host these planets. The planets I built were of varying levels of usefulness – but of all …</p>
  537. <p><a href="https://perlhacks.com/2017/02/shaving-last-fm-yaks/">Continue reading <span>"Shaving Last.FM Yaks"</span></a></p>
  538. <p>The post <a href="https://perlhacks.com/2017/02/shaving-last-fm-yaks/">Shaving Last.FM Yaks</a> appeared first on <a href="https://perlhacks.com">Perl Hacks</a>.</p>
  539.  
  540. </div>
  541.    </summary>
  542.    <author>
  543.      <name>Dave Cross</name>
  544.    </author>
  545.    <id>https://perlhacks.com/?p=1593</id>
  546.    <published>2017-02-19T17:15:42Z</published>
  547.    <updated>2017-02-19T17:15:42Z</updated>
  548.    <category term="Programming"/>
  549.    <category term="cpan"/>
  550.    <category term="last.fm"/>
  551.    <category term="perlanet"/>
  552.    <category term="planets"/>
  553.    <category term="web feeds"/>
  554.  </entry>
  555.  <entry>
  556.    <title>davblog: Top of the Pops and Me</title>
  557.    <link rel="alternate" href="http://feedproxy.google.com/~r/realdavblog/~3/daCLCIXguDY/top-of-the-pops-and-me.html" type="text/html"/>
  558.    <content type="html">&lt;p&gt;In 2011, the BBC started repeating old episodes of &lt;em&gt;&lt;a href="https://en.wikipedia.org/wiki/Top_of_the_Pops"&gt;Top of the Pops&lt;/a&gt;&lt;/em&gt;. Initially, they were showing one episode a week, as close as possible to thirty-five years after the original broadcast (starting with shows from 1976). More recently, they’ve been showing two episodes a week, so we’re currently in early 1983.&lt;/p&gt;
  559. &lt;p&gt;I’ve been watching them avidly since they started, but I’ve been even more interested in watching them over the last year or so – since the repeats hit October 1981. That’s because that’s when I moved to London to go to university and I started to watch fewer and fewer episodes as I, increasingly, had better ways to spend my Thursday evenings. So I’m seeing many of these broadcasts for the first time.&lt;/p&gt;
  560. &lt;p&gt;Over the summer of 1982 I pretty much stopped watching completely. I managed to get myself elected as Social Secretary at City University and many of my evenings were spent running gigs, discos and various other entertainments for the students.&lt;/p&gt;
  561. &lt;p&gt;I’ve written before about a couple of things that happened while I was Social Secretary (here’s me being &lt;a href="https://blog.dave.org.uk/2003/08/bad-manners.html"&gt;threatened by the lead singer of Bad Manners&lt;/a&gt;&amp;nbsp;and here I am &lt;a href="https://blog.dave.org.uk/2002/07/progressive-roc.html"&gt;booking Marillion at the start of their first major tour&lt;/a&gt;) but recent episodes of &lt;em&gt;Top of the Pops&lt;/em&gt; have reminded me of a few other incidents.&lt;/p&gt;
  562. &lt;p&gt;There was the time that I was mildly censured by the &lt;em&gt;London Student&lt;/em&gt; newspaper because I had booked &lt;a href="https://en.wikipedia.org/wiki/Toto_Coelo"&gt;Toto Coelo&lt;/a&gt; for a Christmas Party. Or the time I booked the &lt;a href="https://en.wikipedia.org/wiki/The_Hee_Bee_Gee_Bees"&gt;Hee Bee Gee Bees&lt;/a&gt; (featuring Angus Deayton and Philip Pope) and ended up inviting Philip Pope back to a hall of residence party[1].&lt;/p&gt;
  563. &lt;p&gt;A few recent episodes of &lt;em&gt;Top of the Pops&lt;/em&gt; have featured &lt;a href="https://en.wikipedia.org/wiki/Blue_Zoo"&gt;Blue Zoo&lt;/a&gt; singing “Cry Boy Cry”. I’m not sure I realised what a big hit that was. They played a few gigs at the university – including a “Blue Party Night” at a hall of residence where I painted my face blue, using dye that took days to get out. And I’m pretty sure that they were the band I cancelled when I was offered the Marillion date I mentioned above.&lt;/p&gt;
  564. &lt;p&gt;But a recent &lt;em&gt;Top of the Pops&lt;/em&gt; reminded me of the biggest mistake I made while I was Social Secretary. I turned down the chance to book Culture Club.&lt;/p&gt;
  565. &lt;p&gt;To be fair to myself, no-one had heard of them when I was offered them. Well, no-one who wasn’t really in tune with the London music scene. Of course, you could say that someone who was running entertainment for a London university should really be in touch with the music scene. And I’d have no answer to that.&lt;/p&gt;
  566. &lt;p&gt;But when their agent called to offer me the gig, I hadn’t heard of them.&lt;/p&gt;
  567. &lt;p&gt;They were just about to start a tour and wanted somewhere to play a warm-up gig. Back then (and, I suppose, it’s still true now) bands used to like using student unions for warm-up gigs. Student unions were like private clubs – you couldn’t get in without a union card. Acts could get their performances right without making fools of themselves in front of the general public. That was how most student unions got most of their decent acts.&lt;/p&gt;
  568. &lt;p&gt;So Culture Club’s agent called me and offered me a warm-up gig for their first national tour. And I turned them down because I had never heard of them.&lt;/p&gt;
  569. &lt;p&gt;I thought that was the last I would hear of it. But I was wrong. A few months later, at the end of October 1982, they made their first appearance on Top of the Pops. I think this is it (warning, a few seconds of Jimmy Savile at the start of this clip).&lt;/p&gt;
  570. &lt;div&gt;&lt;iframe type="text/html" width="840" height="503" src="https://www.youtube.com/embed/2Pgu9TP618E?version=3&amp;amp;rel=1&amp;amp;fs=1&amp;amp;autohide=2&amp;amp;showsearch=0&amp;amp;showinfo=1&amp;amp;iv_load_policy=1&amp;amp;wmode=transparent" allowfullscreen="true"&gt;&lt;/iframe&gt;&lt;/div&gt;
  571. &lt;p&gt;Of course, these days we’re all used to seeing Boy George on the telly. But in 1982, this wasn’t the case. It was a sensation. He was all over the tabloid front pages the following day. People talked about it for weeks. Instantly, everyone knew who Culture Club were.&lt;/p&gt;
  572. &lt;p&gt;Oh, and the date that I had been offered for the warm-up gig – it was, of course, the day after this &lt;em&gt;Top of the Pops&lt;/em&gt;. If I had taken the booking, it would have been a great night. I would have looked like someone who really had his finger on the pulse of the music scene.&lt;/p&gt;
  573. &lt;p&gt;Instead, I’m the man who turned down Culture Club.&lt;/p&gt;
  574. &lt;p&gt;[1] Although looking at the dates, it seems more likely that this was during the previous year – when I was just a member of the entertainments committee.&lt;/p&gt;
  575. &lt;p&gt;The post &lt;a href="https://blog.dave.org.uk/2017/02/top-of-the-pops-and-me.html"&gt;Top of the Pops and Me&lt;/a&gt; appeared first on &lt;a href="https://blog.dave.org.uk"&gt;Davblog&lt;/a&gt;.&lt;/p&gt;
  576. &lt;img src="http://feeds.feedburner.com/~r/realdavblog/~4/daCLCIXguDY" alt="" /&gt;
  577. </content>
  578.    <summary type="xhtml">
  579.      <div xmlns="http://www.w3.org/1999/xhtml"><p>In 2011, the BBC started repeating old episodes of Top of the Pops. Initially, they were showing one episode a week, as close as possible to thirty-five years after the original broadcast (starting with shows from 1976). More recently, they’ve been showing two episodes a week, so we’re currently in early 1983. I’ve been watching … <a href="https://blog.dave.org.uk/2017/02/top-of-the-pops-and-me.html">Continue reading <span>"Top of the Pops and Me"</span></a></p>
  580. <p>The post <a href="https://blog.dave.org.uk/2017/02/top-of-the-pops-and-me.html">Top of the Pops and Me</a> appeared first on <a href="https://blog.dave.org.uk">Davblog</a>.</p>
  581.  
  582. </div>
  583.    </summary>
  584.    <author>
  585.      <name>Dave Cross</name>
  586.    </author>
  587.    <id>https://blog.dave.org.uk/?p=3594</id>
  588.    <published>2017-02-11T14:56:19Z</published>
  589.    <updated>2017-02-11T14:56:19Z</updated>
  590.    <category term="music"/>
  591.    <category term="culture club"/>
  592.    <category term="student union"/>
  593.    <category term="top of the pops"/>
  594.  </entry>
  595.  <entry>
  596.    <title>perl hacks: Two Weekend Projects</title>
  597.    <link rel="alternate" href="http://feedproxy.google.com/~r/PerlHacks/~3/_weKYQMEN5I/" type="text/html"/>
  598.    <content type="html">&lt;p&gt;It’s far too long since I’ve posted anything here. I’ve no excuse really. Following &lt;a href="//perlhacks.com/2016/11/the-fragility-of-contracting/"&gt;the end of my contract in Canary Wharf&lt;/a&gt;, I was off work for seven weeks. OK, I was on holiday for two of those weeks, but that still leaves five weeks when I could have been doing something constructive, but actually just spent a lot of time watching Netflix.&lt;/p&gt;
  599. &lt;p&gt;But there were a couple of things I did. Neither of them took more than a few hours, but I thought it was worth writing them up – if only to give an example of a couple of really useful (to me, at least) things that I was able to build really quickly with Perl.&lt;/p&gt;
  600. &lt;h2&gt;Cooking Vinyl&lt;/h2&gt;
  601. &lt;p&gt;If you were a music fan in the 1990s, then there’s a good chance that you own at least one album released on &lt;a href="http://cookingvinyl.com/"&gt;Cooking Vinyl Records&lt;/a&gt;. At times, it seemed like pretty much every album I bought was released by them. Back in 2005, I wrote a blog post where I tried to explain &lt;a href="https://blog.dave.org.uk/2005/06/cooking-vinyl.html"&gt;how much they meant to me&lt;/a&gt;.&lt;/p&gt;
  602. &lt;p&gt;In particular, they produced a series of compilation albums that introduced me to so many of my favourite&amp;nbsp;acts. Ten years ago, I tried to find a definitive list of all of the songs and artists which appeared on those compilation albums. As I failed to find one, I created it myself. At the time, it was a static list of albums which listed the tracks and artists on each of the albums. For ten years I’ve had it in the back of my head to do something more interesting with the data. A few weeks ago, I finally got round to it.&lt;/p&gt;
  603. &lt;p&gt;As I said, the original page just had a list of albums with artists and song titles. That’s useful, but it would be more interesting to be able to cross-reference the data in various ways – list all of the albums that an artist appeared on, for example. And for that, we need a database.&lt;/p&gt;
  604. &lt;p&gt;If you’ve come on any of my database training course over the last ten years, you’ll know that I use a CD database example. The model that I use is pretty simple and, in particular, it assumes that all tracks on a given CD are by the same artist. As I say in the class “various artists compilations don’t exist in this simplified universe”. Obviously, that’s not going to work in this example. So I needed to come up with another database model.&lt;/p&gt;
  605. &lt;img alt="Compilation album data model" /&gt;Compilation album data model
  606. &lt;p&gt;Here’s the data model I designed. You’ll see that it all hinges on the track table. A track is an instance of a particular song, recorded by a particular album appearing on a particular album. The only extra data on the track table is the “number” column which allows us to declare the order in which tracks appear on an album.&lt;/p&gt;
  607. &lt;p&gt;Advanced students will have spotted an omission from the data model. An artist might well have different versions of a song. There could be the original version, an edited single version and many live or remixed versions. So actually, we could add a “recording” table and it’s the recording that appears on an album. That’s, perhaps, an enhancement for the future.&lt;/p&gt;
  608. &lt;p&gt;Having designed the database the rest of the code just falls out really. I already had a data file so it was just a case of parsing that and inserting the data into an SQLite database. &lt;a href="https://metacpan.org/release/DBIx-Class"&gt;DBIx:Class&lt;/a&gt; (and, particularly the find_or_create method) makes this trivial. I then wrote another program that generated the web site using the &lt;a href="https://metacpan.org/release/Template-Toolkit"&gt;Template Toolkit&lt;/a&gt;. Nothing complex there at all.&lt;/p&gt;
  609. &lt;p&gt;The site is at &lt;a href="http://cookingvinyl.dave.org.uk/"&gt;http://cookingvinyl.dave.org.uk/&lt;/a&gt;. And all of &lt;a href="https://github.com/davorg/cookingvinyl/"&gt;the code is on Github&lt;/a&gt;. It could do with being made a bit prettier – perhaps I can add some pictures.&lt;/p&gt;
  610. &lt;p&gt;Why not have a look. And check out some Cooking Vinyl recordings.&lt;/p&gt;
  611. &lt;h2&gt;Tower Bridge&lt;/h2&gt;
  612. &lt;p&gt;I’ve lived in London for thirty-five years. And in all that time I have never seen Tower Bridge opening. Oh, I’ve seen it when it’s &amp;nbsp;open, but I’ve never been in the right place at the right time to see it actually opening. As a Londoner, that’s a matter of supreme embarrassment to me.&lt;/p&gt;
  613. &lt;p&gt;But the office I’m working in currently is three minutes walk from Tower Bridge. All I need is a way to get a notification a few minutes before the bridge lifts. Surely, there must be a way to get that?&lt;/p&gt;
  614. &lt;p&gt;Sadly, no. The Tower Bridge web site has &lt;a href="http://www.towerbridge.org.uk/lift-times/"&gt;a page listing the upcoming lifts&lt;/a&gt;, but no service that would send any kind of notification. So, once again, it was up to me to provide one. I asked the London Perl Mongers on IRC what would be a good way to get notifications of upcoming events on an Android phone and &lt;a href="https://twitter.com/tokenscandi"&gt;Ilmari&lt;/a&gt;&amp;nbsp;pointed out that the obvious method was to create a calendar that could be read by the calendar app on my phone.&lt;/p&gt;
  615. &lt;p&gt;So that’s what I’ve done. I use &lt;a href="https://metacpan.org/pod/Web::Query"&gt;Web::Query&lt;/a&gt;&amp;nbsp;to scrape the data from the Tower Bridge web site (doing some over-complicated madness to account for the fact that they are missing the year from their dates) and then create a .ics file using &lt;a href="https://metacpan.org/pod/Date::ICal"&gt;Date::ICal&lt;/a&gt; and &lt;a href="https://metacpan.org/pod/Data::ICal"&gt;Data::ICal&lt;/a&gt;. I also create a JSON version of the data in case it’s useful to anyone (if it is, please let me know).&lt;/p&gt;
  616. &lt;p&gt;The site is at &lt;a href="http://towerbridge.dave.org.uk/"&gt;http://towerbridge.dave.org.uk/&lt;/a&gt;&amp;nbsp;and (of course) &lt;a href="https://github.com/davorg/towerbridge"&gt;the code is on Github&lt;/a&gt;.&lt;/p&gt;
  617. &lt;hr /&gt;
  618. &lt;p&gt;So, there you are. Two (hopefully) little projects that I threw togther in a very small amount of time using the power of Perl. Please let me know if you find either of them useful.&lt;/p&gt;
  619. &lt;p&gt;The post &lt;a href="https://perlhacks.com/2017/02/two-weekend-projects/"&gt;Two Weekend Projects&lt;/a&gt; appeared first on &lt;a href="https://perlhacks.com"&gt;Perl Hacks&lt;/a&gt;.&lt;/p&gt;
  620. &lt;img src="http://feeds.feedburner.com/~r/PerlHacks/~4/_weKYQMEN5I" alt="" /&gt;
  621. </content>
  622.    <summary type="xhtml">
  623.      <div xmlns="http://www.w3.org/1999/xhtml"><p>It’s far too long since I’ve posted anything here. I’ve no excuse really. Following the end of my contract in Canary Wharf, I was off work for seven weeks. OK, I was on holiday for two of those weeks, but that still leaves five weeks when I could have been doing something constructive, but actually …</p>
  624. <p><a href="https://perlhacks.com/2017/02/two-weekend-projects/">Continue reading <span>"Two Weekend Projects"</span></a></p>
  625. <p>The post <a href="https://perlhacks.com/2017/02/two-weekend-projects/">Two Weekend Projects</a> appeared first on <a href="https://perlhacks.com">Perl Hacks</a>.</p>
  626.  
  627. </div>
  628.    </summary>
  629.    <author>
  630.      <name>Dave Cross</name>
  631.    </author>
  632.    <id>https://perlhacks.com/?p=1577</id>
  633.    <published>2017-02-05T12:54:17Z</published>
  634.    <updated>2017-02-05T12:54:17Z</updated>
  635.    <category term="Programming"/>
  636.    <category term="cooking vinyl"/>
  637.    <category term="perl"/>
  638.    <category term="programming"/>
  639.    <category term="tower bridge"/>
  640.  </entry>
  641.  <entry>
  642.    <title>davblog: 2016 in Gigs</title>
  643.    <link rel="alternate" href="http://feedproxy.google.com/~r/realdavblog/~3/WoYKczaIcxk/2016-in-gigs.html" type="text/html"/>
  644.    <content type="html">&lt;p&gt;Time for my traditional round-up of the gigs I saw in the previous year.&lt;/p&gt;
  645. &lt;p&gt;According to &lt;a href="https://www.songkick.com/users/davorg/gigography"&gt;Songkick&lt;/a&gt;, I saw 39 gigs in 2016. That’s the lowest number since 2012 (when I saw 36 – but had the excuse that my leg was in plaster for six weeks and I didn’t get&amp;nbsp;out much).&lt;/p&gt;
  646. &lt;p&gt;Let’s start with the disappointments. I left two gigs at the interval. I had wanted to see Marc Almond for a long time, but when it finally happened it was all just too torch song for my tastes. I’m told the second half was much better.&lt;/p&gt;
  647. &lt;p&gt;Then there was Barclay James Harvest (or rather, John Lees’ Barclay James Harvest – the two surviving members of BJH both have their own touring version of the band). Sometimes going to see an act for the first time for thirty-five years isn’t a good idea. They just&amp;nbsp;didn’t hold my interest the way they did back in the early 80s. When they took an early interval (after only half an hour on stage) I ducked out. I hope the second half was longer.&lt;/p&gt;
  648. &lt;p&gt;I didn’t leave, but I thought the&amp;nbsp;&lt;a href="https://www.songkick.com/concerts/27832739-bjork-at-eventim-apollo"&gt;Björk&lt;/a&gt;&amp;nbsp;show at the Hammersmith Odeon was pretty disappointing too. I think I’m in a minority there though.&lt;/p&gt;
  649. &lt;p&gt;I only saw two bands twice – Sunflower Bean and the Magnetic North. And this might be the first year in living memory that I didn’t see any members of the Carthy clan playing.&lt;/p&gt;
  650. &lt;p&gt;I ticked off four more acts in my “acts from my youth that I never got round to seeing” list – Toyah, ELO, ABC and the Human League. I already have a ticket to see ABC again.&lt;/p&gt;
  651. &lt;p&gt;Usually, Amanda Palmer gets a free pass onto the top ten list, but in 2016 I only saw her as a special guest at a Jherek Bischoff show that didn’t quite make the cut.&lt;/p&gt;
  652. &lt;p&gt;Here, in chronological order, are the ten best gigs I saw in 2016.&lt;/p&gt;
  653. &lt;ul&gt;
  654. &lt;li&gt;&lt;a href="https://www.songkick.com/concerts/25578584-sunflower-bean-at-dome-tufnell-park"&gt;Sunflower Bean&lt;/a&gt; – the first show (at the Dome) just trumps the second (at the Scala) proving once again that smaller venues are better. I reckon 2017 will be your last chance to see them in a smallish venue. That’s them in the photo.&lt;/li&gt;
  655. &lt;li&gt;&lt;a href="https://www.songkick.com/concerts/25166119-soak-at-koko"&gt;SOAK&lt;/a&gt; – I’ve loved SOAK since I first saw her support Chvrches a couple of years ago. And live, she gets better and better.&lt;/li&gt;
  656. &lt;li&gt;&lt;a href="https://www.songkick.com/concerts/25375889-jeff-lynnes-elo-at-o2-arena"&gt;ELO&lt;/a&gt; – Yes, incredibly cheesy, of course. But great fun. They have so many fabulous songs.&lt;/li&gt;
  657. &lt;li&gt;&lt;a href="https://www.songkick.com/concerts/25515519-orchestral-manoeuvres-in-the-dark-at-royal-albert-hall"&gt;Orchestral Manoeuvres In The Dark&lt;/a&gt;&amp;nbsp;– This was the night they played &lt;em&gt;Architecture &amp;amp; Morality&lt;/em&gt; and &lt;em&gt;Dazzle Ships&lt;/em&gt;. Not really their best-known material – but the fans loved it.&lt;/li&gt;
  658. &lt;li&gt;&lt;a href="https://www.songkick.com/festivals/1509984-guy-garveys-meltdown/id/26430224-guy-garveys-meltdown-2016"&gt;Laura Marling&lt;/a&gt;&amp;nbsp;– You can’t go wrong seeing Laura Marling play whenever possible and this show was no exception. I already have a ticket to see her in a couple of months time when she launches her new album.&lt;/li&gt;
  659. &lt;li&gt;&lt;a href="https://www.songkick.com/concerts/24390879-belle-and-sebastian-at-royal-albert-hall"&gt;Belle and Sebastian&lt;/a&gt;&amp;nbsp;– Only the second time I’ve seen them, but they are now a must-see. This show had them playing all of&amp;nbsp;&lt;em&gt;Tigermilk&lt;/em&gt;. I’m seeing them again in 2017.&lt;/li&gt;
  660. &lt;li&gt;&lt;a href="https://www.songkick.com/concerts/26638194-orb-at-electric-brixton"&gt;The Orb&lt;/a&gt;&amp;nbsp;– The Orb playing all of&amp;nbsp;&lt;i&gt;Adventures Beyond the Ultraworld&lt;/i&gt;. What’s not to like?&lt;/li&gt;
  661. &lt;li&gt;&lt;a href="https://www.songkick.com/concerts/27734784-magnetic-north-uk-at-riba"&gt;The Magnetic North&lt;/a&gt;&amp;nbsp;– The show at RIBA was the second time I saw them in 2016. Their new album, &lt;em&gt;Prospect of Skelmersdale&lt;/em&gt; is even better than their debut and I highly recommend seeing them live.&lt;/li&gt;
  662. &lt;li&gt;&lt;a href="https://www.songkick.com/concerts/27002469-abc-at-royal-festival-hall-southbank-centre"&gt;ABC&lt;/a&gt;&amp;nbsp;– In the first half, they played random hits along with selections from &lt;em&gt;The Lexicon of Love II&lt;/em&gt;. But in the second half, they played all of &lt;em&gt;The Lexicon of Love&lt;/em&gt;. Everyone in the audience knew every lyric and sang along with gusto. It was sublime.&lt;/li&gt;
  663. &lt;li&gt;&lt;a href="https://www.songkick.com/concerts/27522319-christine-and-the-queens-at-o2-academy-brixton"&gt;Christine and the Queens&lt;/a&gt;&amp;nbsp;– What an awesome act. One of the best live performances I’ve seen for a very long time.&lt;/li&gt;
  664. &lt;/ul&gt;
  665. &lt;p&gt;I’ve just deleted&amp;nbsp;&lt;a href="https://www.songkick.com/concerts/25404639-marianne-faithfull-at-roundhouse"&gt;Marianne Faithful&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="https://www.songkick.com/concerts/27044079-staves-at-royal-festival-hall-southbank-centre"&gt;The Staves&lt;/a&gt;&amp;nbsp;from this list as it was too long. Other shows bubbling outside the top ten include&amp;nbsp;&lt;a href="https://www.songkick.com/concerts/26679579-barenaked-ladies-at-roundhouse"&gt;Barenaked Ladies&lt;/a&gt;,&amp;nbsp;&lt;a href="https://www.songkick.com/concerts/27002474-st-etienne-at-heaven"&gt;St. Etienne&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="https://www.songkick.com/concerts/28187219-hannah-peel-at-st-leonards-church-shoreditch"&gt;Hannah Peel&lt;/a&gt;. It’s mark of the quality of the shows I’ve seen this year that I haven’t found space for&amp;nbsp;&lt;a href="https://www.songkick.com/concerts/27909884-savages-at-o2-academy-brixton"&gt;Savages&lt;/a&gt;,&amp;nbsp;&lt;a href="https://www.songkick.com/concerts/27449424-pixies-at-o2-academy-brixton"&gt;Pixies&lt;/a&gt;&amp;nbsp;or&amp;nbsp;&lt;a href="https://www.songkick.com/concerts/27070369-billy-bragg-at-union-chapel"&gt;Billy Bragg&lt;/a&gt;.&lt;/p&gt;
  666. &lt;p&gt;And let’s spare a thought for acts we’ll never see performing again. I will alway regret never seeing Prince live and it’s over twenty years since I saw David Bowie play. But of all the talented musicians who died in 2016 I think it’s the two Leonard Cohen shows I saw (in 1993 and 2013) that I will treasure the most.&lt;/p&gt;
  667. &lt;p&gt;There are “&lt;a href="http://blog.dave.org.uk/tag/year-in-gigs"&gt;year in gigs&lt;/a&gt;” posts for every year since 2011.&lt;/p&gt;
  668. &lt;p&gt;The post &lt;a href="https://blog.dave.org.uk/2017/01/2016-in-gigs.html"&gt;2016 in Gigs&lt;/a&gt; appeared first on &lt;a href="https://blog.dave.org.uk"&gt;Davblog&lt;/a&gt;.&lt;/p&gt;
  669. &lt;img src="http://feeds.feedburner.com/~r/realdavblog/~4/WoYKczaIcxk" alt="" /&gt;
  670. </content>
  671.    <summary type="html">&lt;p&gt;Time for my traditional round-up of the gigs I saw in the previous year. According to Songkick, I saw 39 gigs in 2016. That’s the lowest number since 2012 (when I saw 36 – but had the excuse that my leg was in plaster for six weeks and I didn’t get&amp;nbsp;out much). Let’s start with … &lt;a href="https://blog.dave.org.uk/2017/01/2016-in-gigs.html"&gt;Continue reading &lt;span&gt;"2016 in Gigs"&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
  672. &lt;p&gt;The post &lt;a href="https://blog.dave.org.uk/2017/01/2016-in-gigs.html"&gt;2016 in Gigs&lt;/a&gt; appeared first on &lt;a href="https://blog.dave.org.uk"&gt;Davblog&lt;/a&gt;.&lt;/p&gt;
  673.  
  674. </summary>
  675.    <author>
  676.      <name>Dave Cross</name>
  677.    </author>
  678.    <id>http://blog.dave.org.uk/?p=3586</id>
  679.    <published>2017-01-07T11:50:30Z</published>
  680.    <updated>2017-01-07T11:50:30Z</updated>
  681.    <category term="music"/>
  682.    <category term="2016"/>
  683.    <category term="gigs"/>
  684.    <category term="review"/>
  685.    <category term="year in gigs"/>
  686.  </entry>
  687. </feed>
  688.  
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda