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>dave@dave.org.uk</email>
  9.  </author>
  10.  <updated>2014-12-22T12:03:23Z</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.    <link rel="alternate" href="https://twitter.com/davorg/status/546660301169786884" type="text/html"/>
  16.    <content type="xhtml">
  17.      <div xmlns="http://www.w3.org/1999/xhtml">My Top 3 #lastfm Artists: HAIM (12), Clean Bandit (11) &amp; Lorde (10) http://t.co/GkcjAPStQ3</div>
  18.    </content>
  19.    <updated>2014-12-21T13:35:46Z</updated>
  20.  <title>twitter: My Top 3 #lastfm Artists: HAIM (12), Clean Bandit (11) &amp;amp; Lorde (10) http://t.co/GkcjAPStQ3</title></entry>
  21.  <entry>
  22.    
  23.    <link rel="alternate" href="https://twitter.com/davorg/status/546199578517991425" type="text/html"/>
  24.    <content type="xhtml">
  25.      <div xmlns="http://www.w3.org/1999/xhtml">It's great being in the middle of the Indian Ocean. But the internet connectivity is rubbish!</div>
  26.    </content>
  27.    <updated>2014-12-20T07:05:02Z</updated>
  28.  <title>twitter: It's great being in the middle of the Indian Ocean. But the internet connectivity is rubbish!</title></entry>
  29.  <entry>
  30.    
  31.    <link rel="alternate" href="https://twitter.com/davorg/status/545282887835455488" type="text/html"/>
  32.    <content type="xhtml">
  33.      <div xmlns="http://www.w3.org/1999/xhtml">Cheeky little duty-free purchase. Happy Christmas me :-) http://t.co/fcgBJ5oIKM</div>
  34.    </content>
  35.    <updated>2014-12-17T18:22:25Z</updated>
  36.  <title>twitter: Cheeky little duty-free purchase. Happy Christmas me :-) http://t.co/fcgBJ5oIKM</title></entry>
  37.  <entry>
  38.    
  39.    <link rel="alternate" href="https://twitter.com/davorg/status/544967419174092800" type="text/html"/>
  40.    <content type="xhtml">
  41.      <div xmlns="http://www.w3.org/1999/xhtml">Every single episode of Star Trek (there are apparently 695 of them!) ranked - http://t.co/ZAN6fsjLLK</div>
  42.    </content>
  43.    <updated>2014-12-16T21:28:52Z</updated>
  44.  <title>twitter: Every single episode of Star Trek (there are apparently 695 of them!) ranked - http://t.co/ZAN6fsjLLK</title></entry>
  45.  <entry>
  46.    <title>last.fm: David Bowie – Under Pressure (2011 Remastered Version)</title>
  47.    <link rel="alternate" href="http://www.last.fm/music/David+Bowie/_/Under+Pressure+(2011+Remastered+Version)" type="text/html"/>
  48.    <content type="xhtml">
  49.      <div xmlns="http://www.w3.org/1999/xhtml">http://www.last.fm/music/David+Bowie</div>
  50.    </content>
  51.    <id>http://www.last.fm/user/davorg#1418753931</id>
  52.    <published>2014-12-16T18:18:51Z</published>
  53.    <updated>2014-12-16T18:18:51Z</updated>
  54.  </entry>
  55.  <entry>
  56.    <title>last.fm: R.E.M. – Swan Swan H</title>
  57.    <link rel="alternate" href="http://www.last.fm/music/R.E.M./_/Swan+Swan+H" type="text/html"/>
  58.    <content type="xhtml">
  59.      <div xmlns="http://www.w3.org/1999/xhtml">http://www.last.fm/music/R.E.M.</div>
  60.    </content>
  61.    <id>http://www.last.fm/user/davorg#1418753757</id>
  62.    <published>2014-12-16T18:15:57Z</published>
  63.    <updated>2014-12-16T18:15:57Z</updated>
  64.  </entry>
  65.  <entry>
  66.    <title>last.fm: Inspiral Carpets – Joe</title>
  67.    <link rel="alternate" href="http://www.last.fm/music/Inspiral+Carpets/_/Joe" type="text/html"/>
  68.    <content type="xhtml">
  69.      <div xmlns="http://www.w3.org/1999/xhtml">http://www.last.fm/music/Inspiral+Carpets</div>
  70.    </content>
  71.    <id>http://www.last.fm/user/davorg#1418753565</id>
  72.    <published>2014-12-16T18:12:45Z</published>
  73.    <updated>2014-12-16T18:12:45Z</updated>
  74.  </entry>
  75.  <entry>
  76.    <title>last.fm: Ani DiFranco – Little Plastic Castle</title>
  77.    <link rel="alternate" href="http://www.last.fm/music/Ani+DiFranco/_/Little+Plastic+Castle" type="text/html"/>
  78.    <content type="xhtml">
  79.      <div xmlns="http://www.w3.org/1999/xhtml">http://www.last.fm/music/Ani+DiFranco</div>
  80.    </content>
  81.    <id>http://www.last.fm/user/davorg#1418753386</id>
  82.    <published>2014-12-16T18:09:46Z</published>
  83.    <updated>2014-12-16T18:09:46Z</updated>
  84.  </entry>
  85.  <entry>
  86.    <title>last.fm: Ani DiFranco – Little Plastic Castle</title>
  87.    <link rel="alternate" href="http://www.last.fm/music/Ani+DiFranco/_/Little+Plastic+Castle" type="text/html"/>
  88.    <content type="xhtml">
  89.      <div xmlns="http://www.w3.org/1999/xhtml">http://www.last.fm/music/Ani+DiFranco</div>
  90.    </content>
  91.    <id>http://www.last.fm/user/davorg#1418753352</id>
  92.    <published>2014-12-16T18:09:12Z</published>
  93.    <updated>2014-12-16T18:09:12Z</updated>
  94.  </entry>
  95.  <entry>
  96.    
  97.    <link rel="alternate" href="https://twitter.com/davorg/status/544908116887097344" type="text/html"/>
  98.    <content type="xhtml">
  99.      <div xmlns="http://www.w3.org/1999/xhtml">Leaving work for the last time this year!</div>
  100.    </content>
  101.    <updated>2014-12-16T17:33:13Z</updated>
  102.  <title>twitter: Leaving work for the last time this year!</title></entry>
  103.  <entry xmlns:media="http://search.yahoo.com/mrss/">
  104.    <id>tag:github.com,2008:PushEvent/2468105838</id>
  105.    <published>2014-12-16T16:43:17Z</published>
  106.    <updated>2014-12-16T16:43:17Z</updated>
  107.    <link type="text/html" rel="alternate" href="https://github.com/davorg/dap-perl/compare/eb4ce4d928...c0e26962fe"/>
  108.    
  109.    <author>
  110.      <name>davorg</name>
  111.      <email>dave@perlhacks.com</email>
  112.      <uri>https://github.com/davorg</uri>
  113.    </author>
  114.    <media:thumbnail height="30" width="30" url="https://avatars1.githubusercontent.com/u/24642?v=3&amp;s=30"/>
  115.    <content type="html">&lt;!-- push --&gt;
  116. &lt;span class="mega-octicon octicon-git-commit"&gt;&lt;/span&gt;
  117.  
  118. &lt;div class="time"&gt;
  119.  &lt;time datetime="2014-12-16T16:43:17Z" is="relative-time"&gt;Dec 16, 2014&lt;/time&gt;
  120. &lt;/div&gt;
  121.  
  122. &lt;div class="title"&gt;
  123.  &lt;a href="https://github.com/davorg"&gt;davorg&lt;/a&gt; &lt;span&gt;pushed&lt;/span&gt; to &lt;a href="/davorg/dap-perl/tree/master"&gt;master&lt;/a&gt; at &lt;a href="https://github.com/davorg/dap-perl" class="css-truncate css-truncate-target"&gt;davorg/dap-perl&lt;/a&gt;
  124. &lt;/div&gt;
  125.  
  126. &lt;div class="details"&gt;
  127.  &lt;a href="https://github.com/davorg"&gt;&lt;img alt="Dave Cross" class="gravatar" data-user="24642" height="30" src="https://avatars0.githubusercontent.com/u/24642?v=3&amp;amp;s=60" width="30" /&gt;&lt;/a&gt;
  128.  
  129.    &lt;div class="commits pusher-is-only-committer"&gt;
  130.      &lt;ul&gt;
  131.        &lt;li&gt;
  132.          &lt;span title="davorg"&gt;
  133.            &lt;img alt="Dave Cross" data-user="24642" height="16" src="https://avatars1.githubusercontent.com/u/24642?v=3&amp;amp;s=32" width="16" /&gt;
  134.          &lt;/span&gt;
  135.          &lt;code&gt;&lt;a href="/davorg/dap-perl/commit/c0e26962fef806be34c91757f486d00d6ceec18b"&gt;c0e2696&lt;/a&gt;&lt;/code&gt;
  136.          &lt;div class="message"&gt;
  137.            &lt;blockquote&gt;
  138.              Added a Moose class.
  139.            &lt;/blockquote&gt;
  140.          &lt;/div&gt;
  141.        &lt;/li&gt;
  142.      &lt;/ul&gt;
  143.    &lt;/div&gt;
  144. &lt;/div&gt;
  145. </content>
  146.  <title>github: davorg pushed to master at davorg/dap-perl</title></entry>
  147.  <entry xmlns:media="http://search.yahoo.com/mrss/">
  148.    <id>tag:github.com,2008:PushEvent/2468054162</id>
  149.    <published>2014-12-16T16:24:19Z</published>
  150.    <updated>2014-12-16T16:24:19Z</updated>
  151.    <link type="text/html" rel="alternate" href="https://github.com/davorg/dap-perl/compare/d7665626e2...eb4ce4d928"/>
  152.    
  153.    <author>
  154.      <name>davorg</name>
  155.      <email>dave@perlhacks.com</email>
  156.      <uri>https://github.com/davorg</uri>
  157.    </author>
  158.    <media:thumbnail height="30" width="30" url="https://avatars1.githubusercontent.com/u/24642?v=3&amp;s=30"/>
  159.    <content type="html">&lt;!-- push --&gt;
  160. &lt;span class="mega-octicon octicon-git-commit"&gt;&lt;/span&gt;
  161.  
  162. &lt;div class="time"&gt;
  163.  &lt;time datetime="2014-12-16T16:24:19Z" is="relative-time"&gt;Dec 16, 2014&lt;/time&gt;
  164. &lt;/div&gt;
  165.  
  166. &lt;div class="title"&gt;
  167.  &lt;a href="https://github.com/davorg"&gt;davorg&lt;/a&gt; &lt;span&gt;pushed&lt;/span&gt; to &lt;a href="/davorg/dap-perl/tree/master"&gt;master&lt;/a&gt; at &lt;a href="https://github.com/davorg/dap-perl" class="css-truncate css-truncate-target"&gt;davorg/dap-perl&lt;/a&gt;
  168. &lt;/div&gt;
  169.  
  170. &lt;div class="details"&gt;
  171.  &lt;a href="https://github.com/davorg"&gt;&lt;img alt="Dave Cross" class="gravatar" data-user="24642" height="30" src="https://avatars0.githubusercontent.com/u/24642?v=3&amp;amp;s=60" width="30" /&gt;&lt;/a&gt;
  172.  
  173.    &lt;div class="commits pusher-is-only-committer"&gt;
  174.      &lt;ul&gt;
  175.        &lt;li&gt;
  176.          &lt;span title="davorg"&gt;
  177.            &lt;img alt="Dave Cross" data-user="24642" height="16" src="https://avatars1.githubusercontent.com/u/24642?v=3&amp;amp;s=32" width="16" /&gt;
  178.          &lt;/span&gt;
  179.          &lt;code&gt;&lt;a href="/davorg/dap-perl/commit/eb4ce4d9281908c2652f9fe848e5d441ee8d781b"&gt;eb4ce4d&lt;/a&gt;&lt;/code&gt;
  180.          &lt;div class="message"&gt;
  181.            &lt;blockquote&gt;
  182.              Remove reference to main.pl
  183.            &lt;/blockquote&gt;
  184.          &lt;/div&gt;
  185.        &lt;/li&gt;
  186.      &lt;/ul&gt;
  187.    &lt;/div&gt;
  188. &lt;/div&gt;
  189. </content>
  190.  <title>github: davorg pushed to master at davorg/dap-perl</title></entry>
  191.  <entry xmlns:media="http://search.yahoo.com/mrss/">
  192.    <id>tag:github.com,2008:PullRequestEvent/2467827978</id>
  193.    <published>2014-12-16T15:01:14Z</published>
  194.    <updated>2014-12-16T15:01:14Z</updated>
  195.    <link type="text/html" rel="alternate" href="https://github.com/devassistant/dap-perl/pull/2"/>
  196.    
  197.    <author>
  198.      <name>davorg</name>
  199.      <email>dave@perlhacks.com</email>
  200.      <uri>https://github.com/davorg</uri>
  201.    </author>
  202.    <media:thumbnail height="30" width="30" url="https://avatars1.githubusercontent.com/u/24642?v=3&amp;s=30"/>
  203.    <content type="html">&lt;!-- pull_request --&gt;
  204. &lt;span class="mega-octicon octicon-git-pull-request"&gt;&lt;/span&gt;
  205.  
  206. &lt;div class="time"&gt;
  207.  &lt;time datetime="2014-12-16T15:01:14Z" is="relative-time"&gt;Dec 16, 2014&lt;/time&gt;
  208. &lt;/div&gt;
  209.  
  210. &lt;div class="title"&gt;
  211.  &lt;a href="https://github.com/davorg"&gt;davorg&lt;/a&gt; &lt;span&gt;opened&lt;/span&gt; pull request &lt;a href="https://github.com/devassistant/dap-perl/pull/2"&gt;devassistant/dap-perl#2&lt;/a&gt;
  212. &lt;/div&gt;
  213.  
  214. &lt;div class="details"&gt;
  215.  &lt;a href="https://github.com/davorg"&gt;&lt;img alt="Dave Cross" class="gravatar" data-user="24642" height="30" src="https://avatars0.githubusercontent.com/u/24642?v=3&amp;amp;s=60" width="30" /&gt;&lt;/a&gt;
  216.  &lt;div class="message"&gt;
  217.    &lt;blockquote&gt;Moved MyClass.pm into lib directory. Turned main.pl into a test.&lt;/blockquote&gt;
  218.      &lt;div class="pull-info"&gt;
  219.        &lt;span class="octicon octicon-git-commit"&gt;&lt;/span&gt;
  220.        &lt;em&gt;1&lt;/em&gt; commit with
  221.        &lt;em&gt;27&lt;/em&gt; additions and
  222.        &lt;em&gt;17&lt;/em&gt; deletions
  223.      &lt;/div&gt;
  224.  &lt;/div&gt;
  225. &lt;/div&gt;
  226. </content>
  227.  <title>github: davorg opened pull request devassistant/dap-perl#2</title></entry>
  228.  <entry xmlns:media="http://search.yahoo.com/mrss/">
  229.    <id>tag:github.com,2008:PushEvent/2467826365</id>
  230.    <published>2014-12-16T15:00:36Z</published>
  231.    <updated>2014-12-16T15:00:36Z</updated>
  232.    <link type="text/html" rel="alternate" href="https://github.com/davorg/dap-perl/compare/5f548dbc9e...d7665626e2"/>
  233.    
  234.    <author>
  235.      <name>davorg</name>
  236.      <email>dave@perlhacks.com</email>
  237.      <uri>https://github.com/davorg</uri>
  238.    </author>
  239.    <media:thumbnail height="30" width="30" url="https://avatars1.githubusercontent.com/u/24642?v=3&amp;s=30"/>
  240.    <content type="html">&lt;!-- push --&gt;
  241. &lt;span class="mega-octicon octicon-git-commit"&gt;&lt;/span&gt;
  242.  
  243. &lt;div class="time"&gt;
  244.  &lt;time datetime="2014-12-16T15:00:36Z" is="relative-time"&gt;Dec 16, 2014&lt;/time&gt;
  245. &lt;/div&gt;
  246.  
  247. &lt;div class="title"&gt;
  248.  &lt;a href="https://github.com/davorg"&gt;davorg&lt;/a&gt; &lt;span&gt;pushed&lt;/span&gt; to &lt;a href="/davorg/dap-perl/tree/master"&gt;master&lt;/a&gt; at &lt;a href="https://github.com/davorg/dap-perl" class="css-truncate css-truncate-target"&gt;davorg/dap-perl&lt;/a&gt;
  249. &lt;/div&gt;
  250.  
  251. &lt;div class="details"&gt;
  252.  &lt;a href="https://github.com/davorg"&gt;&lt;img alt="Dave Cross" class="gravatar" data-user="24642" height="30" src="https://avatars0.githubusercontent.com/u/24642?v=3&amp;amp;s=60" width="30" /&gt;&lt;/a&gt;
  253.  
  254.    &lt;div class="commits pusher-is-only-committer"&gt;
  255.      &lt;ul&gt;
  256.        &lt;li&gt;
  257.          &lt;span title="davorg"&gt;
  258.            &lt;img alt="Dave Cross" data-user="24642" height="16" src="https://avatars1.githubusercontent.com/u/24642?v=3&amp;amp;s=32" width="16" /&gt;
  259.          &lt;/span&gt;
  260.          &lt;code&gt;&lt;a href="/davorg/dap-perl/commit/d7665626e26322db8188e17e78875deace1c871d"&gt;d766562&lt;/a&gt;&lt;/code&gt;
  261.          &lt;div class="message"&gt;
  262.            &lt;blockquote&gt;
  263.              Moved MyClass.pm into lib directory. Turned main.pl into a test.
  264.            &lt;/blockquote&gt;
  265.          &lt;/div&gt;
  266.        &lt;/li&gt;
  267.      &lt;/ul&gt;
  268.    &lt;/div&gt;
  269. &lt;/div&gt;
  270. </content>
  271.  <title>github: davorg pushed to master at davorg/dap-perl</title></entry>
  272.  <entry>
  273.    <title>books read: Jump Start Bootstrap</title>
  274.    <link rel="alternate" href="http://www.goodreads.com/review/show/1133187553?utm_medium=api&amp;utm_source=rss" type="text/html"/>
  275.    <content type="xhtml">
  276.      <div xmlns="http://www.w3.org/1999/xhtml">
  277.      
  278.      <a href="http://www.goodreads.com/book/show/21818489-jump-start-bootstrap?utm_medium=api&amp;utm_source=rss"><img alt="Jump Start Bootstrap" src="http://d.gr-assets.com/books/1403207930s/21818489.jpg"/></a><br/>
  279.                                      author: Syed Fazle Rahman<br/>
  280.                                      name: David<br/>
  281.                                      average rating: 3.43<br/>
  282.                                      book published: 2014<br/>
  283.                                      rating: 0<br/>
  284.                                      read at: <br/>
  285.                                      date added: 2014/12/16<br/>
  286.                                      shelves: currently-reading<br/>
  287.                                      review: <br/><br/>
  288.                                      
  289.    </div>
  290.    </content>
  291.    <id>http://www.goodreads.com/review/show/1133187553?utm_medium=api&amp;utm_source=rss</id>
  292.    <published>2014-12-16T06:11:04-08:00</published>
  293.    <updated>2014-12-16T06:11:04-08:00</updated>
  294.  </entry>
  295.  <entry xmlns:media="http://search.yahoo.com/mrss/">
  296.    <id>tag:github.com,2008:PullRequestEvent/2467703202</id>
  297.    <published>2014-12-16T14:09:01Z</published>
  298.    <updated>2014-12-16T14:09:01Z</updated>
  299.    <link type="text/html" rel="alternate" href="https://github.com/devassistant/dap-perl/pull/1"/>
  300.    
  301.    <author>
  302.      <name>davorg</name>
  303.      <email>dave@perlhacks.com</email>
  304.      <uri>https://github.com/davorg</uri>
  305.    </author>
  306.    <media:thumbnail height="30" width="30" url="https://avatars1.githubusercontent.com/u/24642?v=3&amp;s=30"/>
  307.    <content type="html">&lt;!-- pull_request --&gt;
  308. &lt;span class="mega-octicon octicon-git-pull-request"&gt;&lt;/span&gt;
  309.  
  310. &lt;div class="time"&gt;
  311.  &lt;time datetime="2014-12-16T14:09:01Z" is="relative-time"&gt;Dec 16, 2014&lt;/time&gt;
  312. &lt;/div&gt;
  313.  
  314. &lt;div class="title"&gt;
  315.  &lt;a href="https://github.com/davorg"&gt;davorg&lt;/a&gt; &lt;span&gt;opened&lt;/span&gt; pull request &lt;a href="https://github.com/devassistant/dap-perl/pull/1"&gt;devassistant/dap-perl#1&lt;/a&gt;
  316. &lt;/div&gt;
  317.  
  318. &lt;div class="details"&gt;
  319.  &lt;a href="https://github.com/davorg"&gt;&lt;img alt="Dave Cross" class="gravatar" data-user="24642" height="30" src="https://avatars0.githubusercontent.com/u/24642?v=3&amp;amp;s=60" width="30" /&gt;&lt;/a&gt;
  320.  &lt;div class="message"&gt;
  321.    &lt;blockquote&gt;Changed to look more like current Perl OO practices.&lt;/blockquote&gt;
  322.      &lt;div class="pull-info"&gt;
  323.        &lt;span class="octicon octicon-git-commit"&gt;&lt;/span&gt;
  324.        &lt;em&gt;1&lt;/em&gt; commit with
  325.        &lt;em&gt;55&lt;/em&gt; additions and
  326.        &lt;em&gt;55&lt;/em&gt; deletions
  327.      &lt;/div&gt;
  328.  &lt;/div&gt;
  329. &lt;/div&gt;
  330. </content>
  331.  <title>github: davorg opened pull request devassistant/dap-perl#1</title></entry>
  332.  <entry>
  333.    <title>perl hacks: Slideshare Stats</title>
  334.    <link rel="alternate" href="http://feedproxy.google.com/~r/PerlHacks/~3/d6d7-HaTv58/" type="text/html"/>
  335.    <content type="xhtml">
  336.      <div xmlns="http://www.w3.org/1999/xhtml"><p>For many years (since the end of 2007, apparently) I’ve been uploading the slides from my talks and training courses to <a href="http://slideshare.net/davorg">Slideshare</a>.</p>
  337. <p>This morning I got an email from them, telling me that they had made their analytics pages freely available. I don’t know if this is a permanent change or a special offer, but the link (which will only work for logged in users) is <a href="http://www.slideshare.net/insight">http://www.slideshare.net/insight</a>.</p>
  338. <p>There’s a lot of information there and I look forward into digging into it in a lot more detail. But I thought it would be interesting to share the list of my top ten most popular slide decks.</p>
  339. <table class="table">
  340. <thead>
  341. <tr>
  342. <th>Title</th>
  343. <th>Views</th>
  344. </tr>
  345. </thead>
  346. <tbody>
  347. <tr>
  348. <td><a href="http://www.slideshare.net/davorg/introduction-to-perl-day-1">Introduction to Perl – Day 1</a></td>
  349. <td>71722</td>
  350. </tr>
  351. <tr>
  352. <td><a href="http://www.slideshare.net/davorg/lpw-begin">LPW: Beginners Perl</a></td>
  353. <td>50935</td>
  354. </tr>
  355. <tr>
  356. <td><a href="http://www.slideshare.net/davorg/modern-web-programming-with-perl">Modern Web Development with Perl</a></td>
  357. <td>33034</td>
  358. </tr>
  359. <tr>
  360. <td><a href="http://www.slideshare.net/davorg/modern-perl-for-nonperl-programmers">Modern Perl for Non-Perl Programmers</a></td>
  361. <td>27376</td>
  362. </tr>
  363. <tr>
  364. <td><a href="http://www.slideshare.net/davorg/psgi-25200302">Matt’s PSGI Archive</a></td>
  365. <td>24341</td>
  366. </tr>
  367. <tr>
  368. <td><a href="http://www.slideshare.net/davorg/webintro-presentation">Introduction to Web Programming with Perl</a></td>
  369. <td>22544</td>
  370. </tr>
  371. <tr>
  372. <td><a href="http://www.slideshare.net/davorg/webintro-presentation">Introduction to Perl – Day 2</a></td>
  373. <td>20489</td>
  374. </tr>
  375. <tr>
  376. <td><a href="http://www.slideshare.net/davorg/introduction-to-modern-perl">Introduction to Modern Perl</a></td>
  377. <td>17709</td>
  378. </tr>
  379. <tr>
  380. <td><a href="http://www.slideshare.net/davorg/modern-perl-4892457">Introducing Modern Perl</a></td>
  381. <td>13871</td>
  382. </tr>
  383. <tr>
  384. <td><a href="http://www.slideshare.net/davorg/modern-core-perl">Modern Core Perl</a></td>
  385. <td>11337</td>
  386. </tr>
  387. </tbody>
  388. </table>
  389. <p>A lot of those course are aimed at people who are starting Perl from scratch. I guess it’s true that there are plenty of people out there who still want to learn Perl.</p>
  390. <p>The post <a rel="nofollow" href="http://perlhacks.com/2014/12/slideshare-stats/">Slideshare Stats</a> appeared first on <a rel="nofollow" href="http://perlhacks.com">Perl Hacks</a>.</p>
  391. <img src="//feeds.feedburner.com/~r/PerlHacks/~4/d6d7-HaTv58" height="1" width="1" alt=""/></div>
  392.    </content>
  393.    <summary type="xhtml">
  394.      <div xmlns="http://www.w3.org/1999/xhtml"><p>For many years (since the end of 2007, apparently) I’ve been uploading the slides from my talks and training courses to Slideshare. This morning I got an email from them, telling me that they had made their analytics pages freely available. I don’t know if this is a permanent change or a special offer, but […]</p>
  395. <p>The post <a rel="nofollow" href="http://perlhacks.com/2014/12/slideshare-stats/">Slideshare Stats</a> appeared first on <a rel="nofollow" href="http://perlhacks.com">Perl Hacks</a>.</p>
  396. </div>
  397.    </summary>
  398.    <author>
  399.      <name>Dave Cross</name>
  400.    </author>
  401.    <id>http://perlhacks.com/?p=1026</id>
  402.    <published>2014-12-16T09:55:08Z</published>
  403.    <updated>2014-12-16T09:55:08Z</updated>
  404.    <category term="Speaking"/>
  405.    <category term="slideshare"/>
  406.    <category term="speaking"/>
  407.    <category term="training"/>
  408.  </entry>
  409.  <entry>
  410.    <title>perl hacks: Dev Assistant</title>
  411.    <link rel="alternate" href="http://feedproxy.google.com/~r/PerlHacks/~3/0N4GT50SLEc/" type="text/html"/>
  412.    <content type="xhtml">
  413.      <div xmlns="http://www.w3.org/1999/xhtml"><p>A couple of days ago, I updated to my laptop to <a href="https://getfedora.org/">Fedora 21</a>. One of the new features was an application called <a href="http://devassistant.org/">DevAssistant</a> which claimed that:</p>
  414. <blockquote><p>It does not matter if you only recently discovered the world of software development, or if you have been coding for two decades, there’s always something DevAssistant can do to make your life easier.</p></blockquote>
  415. <p>I thought it was worth investigating – particularly when I saw that it had support for Perl.</p>
  416. <p>Starting the GUI and pressing the Perl button gives me two options: “Basic Class” and “Dancer”. I chose the “Basic Class” option. That gave me an dialogue box where I could give my new project a name. I chose “MyClass” (it’s only an example!) This created a directory called MyClass in my home directory and put two files in that directory. Here are the contents of those two files.</p>
  417. <p><strong>main.pl</strong></p><pre class="crayon-plain-tag">#!/usr/bin/perl
  418.  
  419. #use strict;
  420. use warnings;
  421.  
  422. use POSIX qw(strftime);
  423.  
  424. use myClass;
  425.  
  426. my $myClass = new myClass( "Holiday", "Baker Street", "Sherlock Holmes");
  427. my $tm = strftime "%m/%d/%Y", localtime;
  428. $myClass-&gt;enterBookedDate($tm);
  429.  
  430. print ("The hotel name is ". $myClass-&gt;getHotelName() . "\n");
  431. print ("The hotel street is ". $myClass-&gt;getStreet() . "\n");
  432. print ("The hotel is booked on the name ". $myClass-&gt;getGuestName() . "\n");
  433. print ("Accomodation starts at " . $myClass-&gt;getBookedDate() . "\n");</pre><p><strong>myClass.pm</strong></p><pre class="crayon-plain-tag">package myClass;
  434.  
  435. use strict;
  436. use warnings;
  437.  
  438. sub new {
  439.    my $class = shift;
  440.    my $self = {
  441.        _hotelName =&gt; shift,
  442.        _street =&gt; shift,
  443.        _name =&gt; shift,
  444.        _date =&gt; undef
  445.    };
  446.    bless $self, $class;
  447.    return $self;
  448. }
  449.  
  450. sub enterBookedDate {
  451.    my ($self) = shift;
  452.    my $date = shift;
  453.    $self-&gt;{_date} = $date;
  454. }
  455.  
  456. sub getHotelName {
  457.    my $self = shift;
  458.    return $self-&gt;{_hotelName};
  459. }
  460.  
  461. sub getStreet {
  462.    my $self = shift;
  463.    return $self-&gt;{_street};
  464. }
  465.  
  466. sub getGuestName {
  467.    my $self = shift;
  468.    return $self-&gt;{_name};
  469. }
  470.  
  471. sub getBookedDate {
  472.    my $self = shift;
  473.    return $self-&gt;{_date};
  474. }
  475.  
  476. 1;</pre><p>It’s great, of course, that the project wants to support Perl. I think that we should do everything we can to help them. But it’s clear to me that they don’t have anyone on the team who knows anything about modern Perl practices.</p>
  477. <p>So who wants to volunteer to help them?</p>
  478. <p><strong>Update:</strong> So it turns out that the dev team are <a href="https://github.com/devassistant/dap-perl/pulls?q=is%3Apr+is%3Aclosed">really responsive to pull requests</a> <img src="http://perlhacks.com/wp-includes/images/smilies/icon_smile.gif" alt=":-)" class="wp-smiley"/></p>
  479. <p>The post <a rel="nofollow" href="http://perlhacks.com/2014/12/dev-assistant/">Dev Assistant</a> appeared first on <a rel="nofollow" href="http://perlhacks.com">Perl Hacks</a>.</p>
  480. <img src="//feeds.feedburner.com/~r/PerlHacks/~4/0N4GT50SLEc" height="1" width="1" alt=""/></div>
  481.    </content>
  482.    <summary type="xhtml">
  483.      <div xmlns="http://www.w3.org/1999/xhtml"><p>A couple of days ago, I updated to my laptop to Fedora 21. One of the new features was an application called DevAssistant which claimed that: It does not matter if you only recently discovered the world of software development, or if you have been coding for two decades, there’s always something DevAssistant can do […]</p>
  484. <p>The post <a rel="nofollow" href="http://perlhacks.com/2014/12/dev-assistant/">Dev Assistant</a> appeared first on <a rel="nofollow" href="http://perlhacks.com">Perl Hacks</a>.</p>
  485. </div>
  486.    </summary>
  487.    <author>
  488.      <name>Dave Cross</name>
  489.    </author>
  490.    <id>http://perlhacks.com/?p=1018</id>
  491.    <published>2014-12-14T11:12:50Z</published>
  492.    <updated>2014-12-14T11:12:50Z</updated>
  493.    <category term="Programming"/>
  494.    <category term="devassistant"/>
  495.    <category term="object oriented perl"/>
  496.    <category term="programming"/>
  497.  </entry>
  498.  <entry>
  499.    <title>perl hacks: Perl Recruitment Thoughts</title>
  500.    <link rel="alternate" href="http://feedproxy.google.com/~r/PerlHacks/~3/VZHDzxAmVhU/" type="text/html"/>
  501.    <content type="html">&lt;div id="main-content" class="wiki-content"&gt;
  502. &lt;p&gt;Not many weeks go by when I don&amp;#8217;t hear of another Perl-using company that has been evaluating alternative technologies. In most cases, it&amp;#8217;s not because they think that Perl is a bad language to use. The most common reason I hear is that it is becoming harder and harder to find good Perl programmers.&lt;/p&gt;
  503. &lt;p&gt;On Quora I recently saw a question asking what job opportunities were like for Perl programmers. This is how I &lt;a href="http://www.quora.com/What-are-the-job-opportunities-for-an-individual-if-he-she-is-comfortable-in-scripting-in-Perl/answer/Dave-Cross"&gt;answered&lt;/a&gt;:&lt;/p&gt;
  504. &lt;blockquote&gt;&lt;p&gt;Right now is a good time to be a Perl programmer. Perl is losing mindshare. Very few new Perl programmers are arriving on the scene and quite a lot of former Perl programmers have moved away from the language to what they see as more lucrative, enjoyable or saleable languages.&lt;/p&gt;
  505. &lt;p&gt;But there are still a lot of companies with a lot of Perl code. That all needs to be maintained and enhanced. And many of those companies continue to write new projects in Perl too.&lt;/p&gt;
  506. &lt;p&gt;All of which means that it&amp;#8217;s a seller&amp;#8217;s market for good Perl skills. That won&amp;#8217;t last forever, of course. To be honest, I&amp;#8217;d be surprised if it lasts for more than five or ten years (well, unless Perl 6 takes off quickly). But it&amp;#8217;ll do me for the next few years at least.&lt;/p&gt;&lt;/blockquote&gt;
  507. &lt;p&gt;I&amp;#8217;m putting a positive spin on it, but it&amp;#8217;s getting to be a real problem. More programmers abandon Perl, that makes it harder to find good Perl programmers, which makes it more likely that companies will abandon Perl, which leads to fewer Perl jobs and more programmers decide to abandon Perl. It&amp;#8217;s a vicious circle.&lt;/p&gt;
  508. &lt;p&gt;I&amp;#8217;m not sure how we get to the root of that problem, but do have some suggestions for on particular area. A client recently asked my for suggestions on how they can improve their hit rate for recruiting good Perl programmers. My suggestions all revolved about making your company better known in the Perl community (because that&amp;#8217;s where many of the better Perl programmers are).&lt;/p&gt;
  509. &lt;p&gt;I know that many of the Perl-using companies already know this. But in the interests of levelling the playing field, I thought was worth sharing some of my suggestions.&lt;/p&gt;
  510. &lt;p&gt;&lt;strong&gt;Perl Mongers Social Meetings&lt;/strong&gt;&lt;/p&gt;
  511. &lt;p&gt;Do you have a local Perl Mongers group? If so, they almost certainly have monthly social meetings. And in many cases they will welcome a company that puts a few quid behind the bar for drinks at one of those meetings. For smaller groups (and there are many smaller groups) you might even offer to buy them dinner.&lt;/p&gt;
  512. &lt;p&gt;It&amp;#8217;s worth contacting them before doing this. Just turning up and flashing your money around might be seen as rude. And some groups might object to this kind of commercialisation. But it&amp;#8217;s always worth asking.&lt;/p&gt;
  513. &lt;p id="PerlRecruitmentIdeas-LondonPerlMongersTechnicalMeeting"&gt;&lt;strong&gt;Perl Mongers Technical Meeting&lt;/strong&gt;&lt;/p&gt;
  514. &lt;p&gt;Some Perl Mongers groups have technical meetings (either instead of or as well as social meetings). In this case, instead of meeting in a pub (or bar or restaurant), they&amp;#8217;ll meet in the offices of a friendly local company and some of the members will give presentations to the group. Many groups struggle to find venues for these kinds of meetings. Why not offer your office? And perhaps throw in some pizza and beer.&lt;/p&gt;
  515. &lt;p id="PerlRecruitmentIdeas-LondonPerlWorkshop"&gt;&lt;strong&gt;Perl Workshop&lt;/strong&gt;&lt;/p&gt;
  516. &lt;p&gt;The next step up from technical meetings is Perl workshops. Many Perl Mongers groups organise annual one-day workshops. There can be many talks taking place across a number of tracks over the course of (usually) a day. The organisers often like to make these events free (mainly, it seems, because charging for stuff like this adds a whole new layer of complexity). But it&amp;#8217;s not free to put on these events so they rely heavily on sponsors. Can you help pay for the venue? Or the printing? Or the catering? Different events will have different opportunities available. Contact the organisers.&lt;/p&gt;
  517. &lt;p&gt;&lt;strong&gt;YAPC&lt;/strong&gt;&lt;/p&gt;
  518. &lt;p&gt;Workshops are national and (usually) one-day events. YAPC are international conferences that span many days. They have all the same requirements, but bigger. So they need more money. And, of course, sponsors can be at the conference telling potential employees just how wonderful it is to work for them.&lt;/p&gt;
  519. &lt;p id="PerlRecruitmentIdeas-ThePerlFoundation"&gt;&lt;strong&gt;The Perl Foundation&lt;/strong&gt;&lt;/p&gt;
  520. &lt;p&gt;The Perl Foundation are the organisation that promotes Perl, holds various Perl trademarks and hosts many Perl web sites. They issue grants for people to work on various Perl-related projects. They never have enough money. They love companies who donate money to them as thanks for the benefit that Perl brings. How much you donate is up to you, but as a guide, most announcements seem to be in the $10,000 range.&lt;/p&gt;
  521. &lt;p id="PerlRecruitmentIdeas-OtherSuggestions"&gt;
  522. &lt;p&gt;In each of these cases, the idea is really to show the Perl community how much you value Perl by helping various Perl organisations to organise events that raise people&amp;#8217;s awareness of Perl. Everyone wins. The sponsors get seen as good people to work for and the events themselves demonstrate that modern Perl is still a great language.&lt;/p&gt;
  523. &lt;p&gt;So the next time someone in your company asks how they can find good Perl people, consider a different approach. Can you embed your company in the conciousness of the Perl community and make yourselves look more attractive to some of the best Perl programmers in the world?&lt;/p&gt;
  524. &lt;/div&gt;
  525. &lt;p&gt;The post &lt;a rel="nofollow" href="http://perlhacks.com/2014/12/perl-recruitment-thoughts/"&gt;Perl Recruitment Thoughts&lt;/a&gt; appeared first on &lt;a rel="nofollow" href="http://perlhacks.com"&gt;Perl Hacks&lt;/a&gt;.&lt;/p&gt;
  526. &lt;img src="//feeds.feedburner.com/~r/PerlHacks/~4/VZHDzxAmVhU" height="1" width="1" alt=""/&gt;</content>
  527.    <summary type="xhtml">
  528.      <div xmlns="http://www.w3.org/1999/xhtml"><p>Not many weeks go by when I don’t hear of another Perl-using company that has been evaluating alternative technologies. In most cases, it’s not because they think that Perl is a bad language to use. The most common reason I hear is that it is becoming harder and harder to find good Perl programmers. On […]</p>
  529. <p>The post <a rel="nofollow" href="http://perlhacks.com/2014/12/perl-recruitment-thoughts/">Perl Recruitment Thoughts</a> appeared first on <a rel="nofollow" href="http://perlhacks.com">Perl Hacks</a>.</p>
  530. </div>
  531.    </summary>
  532.    <author>
  533.      <name>Dave Cross</name>
  534.    </author>
  535.    <id>http://perlhacks.com/?p=1016</id>
  536.    <published>2014-12-13T17:41:55Z</published>
  537.    <updated>2014-12-13T17:41:55Z</updated>
  538.    <category term="Community"/>
  539.    <category term="community"/>
  540.    <category term="recruitment"/>
  541.    <category term="sponsorship"/>
  542.  </entry>
  543.  <entry>
  544. <id>tag:search.cpan.org,2014-11-24:DAVECROSS:Tie-Hash-Cannabinol-1.11</id>
  545.  
  546. <link rel="alternate" type="text/html" href="http://search.cpan.org/~davecross/Tie-Hash-Cannabinol-1.11/"/>
  547. <updated>2014-11-24T16:28:42Z</updated>
  548. <author>
  549. <name>Dave Cross</name>
  550. <uri>http://search.cpan.org/~davecross/</uri>
  551. </author>
  552. <content>
  553. Perl extension for creating hashes that forget things
  554. </content>
  555. <title>cpan: Tie-Hash-Cannabinol-1.11</title></entry>
  556.  <entry>
  557.    <title>perl hacks: LPW &amp; Perl Web Book</title>
  558.    <link rel="alternate" href="http://feedproxy.google.com/~r/PerlHacks/~3/EGK25VMLuP8/" type="text/html"/>
  559.    <content type="xhtml">
  560.      <div xmlns="http://www.w3.org/1999/xhtml"><p><iframe width="425" height="355" style="border: 1px solid #CCC; border-width: 1px; margin-bottom: 5px; max-width: 100%;" src="//www.slideshare.net/slideshow/embed_code/41301411" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" allowfullscreen="allowfullscreen"> </iframe></p>
  561. <div style="margin: 0px;"><strong> <a title="Return to the Kingdom of the Blind" href="//www.slideshare.net/davorg/return-to-the-kingdom-of-the-blind" target="_blank">Return to the Kingdom of the Blind</a> </strong> from <strong><a href="//www.slideshare.net/davorg" target="_blank">Dave Cross</a></strong></div>
  562. <p>Last Saturday was the London Perl Workshop. As always, it was a great day with a fabulous selection of talks. As always, I’m desperately waiting for the videos to appear so that I can see the talks that I was forced to miss because of clashes.</p>
  563. <p>I spoke a couple of times. In the morning I ran a two-hour training course entitled “Perl in the Internet of Things”. <a href="http://www.slideshare.net/davorg/perl-in-the-internet-of-things">The slides are up on Slideshare</a>.</p>
  564. <p>And, towards the end of the day I gave a lightning talk called “Return to the Kingdom of the Blind. It was a sequel to the <a href="https://www.youtube.com/watch?v=K-okA4KefZE">similarly-named lightning talk</a> I gave a couple of times last year. This year I particularly concentrated on the fact that so many people seem to cling to the idea of using CGI to write web applications when there are so many better technologies available.</p>
  565. <p>I decided that part of the problem is that there are no modern Perl web development books and people are still picking up books that are fifteen years old. At the end of the talk I announced that I was planning to put that right and that I was planning to write a new book on Perl web development that would be available in time for the next London Perl Workshop.</p>
  566. <p>The project has a <a href="http://perlwebbook.com/">web site</a>, a <a href="https://github.com/davorg/perlwebbook">Github repo</a> and a <a href="https://twitter.com/PerlWebBook">Twitter feed</a>. I hope that things will start to happen over the next couple of weeks.</p>
  567. <p>Wish me luck.</p>
  568. <p>The post <a rel="nofollow" href="http://perlhacks.com/2014/11/lpw-perl-webbook/">LPW &amp; Perl Web Book</a> appeared first on <a rel="nofollow" href="http://perlhacks.com">Perl Hacks</a>.</p>
  569. <img src="//feeds.feedburner.com/~r/PerlHacks/~4/EGK25VMLuP8" height="1" width="1" alt=""/></div>
  570.    </content>
  571.    <summary type="xhtml">
  572.      <div xmlns="http://www.w3.org/1999/xhtml"><p>Return to the Kingdom of the Blind from Dave Cross Last Saturday was the London Perl Workshop. As always, it was a great day with a fabulous selection of talks. As always, I’m desperately waiting for the videos to appear so that I can see the talks that I was forced to miss because of […]</p>
  573. <p>The post <a rel="nofollow" href="http://perlhacks.com/2014/11/lpw-perl-webbook/">LPW &amp; Perl Web Book</a> appeared first on <a rel="nofollow" href="http://perlhacks.com">Perl Hacks</a>.</p>
  574. </div>
  575.    </summary>
  576.    <author>
  577.      <name>Dave Cross</name>
  578.    </author>
  579.    <id>http://perlhacks.com/?p=1007</id>
  580.    <published>2014-11-16T10:37:12Z</published>
  581.    <updated>2014-11-16T10:37:12Z</updated>
  582.    <category term="Conferences"/>
  583.    <category term="internet of things"/>
  584.    <category term="iot"/>
  585.    <category term="lpw"/>
  586.    <category term="lpw2014"/>
  587.    <category term="perl web book"/>
  588.    <category term="talks"/>
  589.  </entry>
  590.  <entry>
  591.    <title>slideshare: Perl in the Internet of Things</title>
  592.    <link rel="alternate" href="http://www.slideshare.net/davorg/perl-in-the-internet-of-things" type="text/html"/>
  593.    <content type="html">
  594.        &lt;img src="//cdn.slidesharecdn.com/ss_thumbnails/piot-141110045507-conversion-gate02-thumbnail-2.jpg?cb=1415617039" alt ="" style="border:1px solid #C3E6D8;float:right;" /&gt;&lt;br&gt; My training course from the 2014 London Perl Workshop
  595.      </content>
  596.    <summary type="html">
  597.        &lt;img src="//cdn.slidesharecdn.com/ss_thumbnails/piot-141110045507-conversion-gate02-thumbnail-2.jpg?cb=1415617039" alt ="" style="border:1px solid #C3E6D8;float:right;" /&gt;&lt;br&gt; My training course from the 2014 London Perl Workshop
  598.      </summary>
  599.    <author>
  600.      <name>davorg@slideshare.net(davorg)</name>
  601.    </author>
  602.    <id>http://www.slideshare.net/davorg/perl-in-the-internet-of-things</id>
  603.    <published>2014-11-10T10:55:07Z</published>
  604.    <updated>2014-11-10T10:55:07Z</updated>
  605.  </entry>
  606.  <entry>
  607.    <title>slideshare: Return to the Kingdom of the Blind</title>
  608.    <link rel="alternate" href="http://www.slideshare.net/davorg/return-to-the-kingdom-of-the-blind" type="text/html"/>
  609.    <content type="html">
  610.        &lt;img src="//cdn.slidesharecdn.com/ss_thumbnails/blind2-141108154159-conversion-gate01-thumbnail-2.jpg?cb=1415483019" alt ="" style="border:1px solid #C3E6D8;float:right;" /&gt;&lt;br&gt; A talk from the London Perl Workshop 2014
  611.      </content>
  612.    <summary type="html">
  613.        &lt;img src="//cdn.slidesharecdn.com/ss_thumbnails/blind2-141108154159-conversion-gate01-thumbnail-2.jpg?cb=1415483019" alt ="" style="border:1px solid #C3E6D8;float:right;" /&gt;&lt;br&gt; A talk from the London Perl Workshop 2014
  614.      </summary>
  615.    <author>
  616.      <name>davorg@slideshare.net(davorg)</name>
  617.    </author>
  618.    <id>http://www.slideshare.net/davorg/return-to-the-kingdom-of-the-blind</id>
  619.    <published>2014-11-08T21:41:59Z</published>
  620.    <updated>2014-11-08T21:41:59Z</updated>
  621.  </entry>
  622.  <entry>
  623.    <title>perl hacks: Upcoming Training</title>
  624.    <link rel="alternate" href="http://feedproxy.google.com/~r/PerlHacks/~3/wCjrP-1Qa7s/" type="text/html"/>
  625.    <content type="xhtml">
  626.      <div xmlns="http://www.w3.org/1999/xhtml"><p>I have a few training courses coming up in the next few weeks which I thought you might be interested in.</p>
  627. <p>Firstly, the <a href="http://londonperlworkshop.org.uk/">London Perl Workshop</a> is on 8th November. I’ll be giving a two hour talk on “<a href="http://act.yapc.eu/lpw2014/talk/5675">Perl in the Internet of Things</a>“. As always, the workshop is free, but please register on the site and star my talk if you’re planning on attending.</p>
  628. <p>Then the week after I’m running two two-day courses in conjunction with <a href="http://www.flossuk.org/">FLOSS UK</a>. On Tuesday 11th and Wednesday 12th it’s “Intermediate Perl” and on Thursday 13th and Friday 14th it’s “Advanced Perl Techniques”. Full details and a booking for are on the <a href="http://www.flossuk.org/Events/Perl2014">FLOSS UK web site</a>.</p>
  629. <p>Note: If you’re interested in the FLOSS UK courses, then please don’t pay the eye-watering non-member price (£720!) Simply join FLOSS UK (which costs £42) and then pay the member price of £399.</p>
  630. <p>Hope to see you at one of this courses.</p>
  631. <p>The post <a rel="nofollow" href="http://perlhacks.com/2014/10/upcoming-training-2/">Upcoming Training</a> appeared first on <a rel="nofollow" href="http://perlhacks.com">Perl Hacks</a>.</p>
  632. <img src="//feeds.feedburner.com/~r/PerlHacks/~4/wCjrP-1Qa7s" height="1" width="1" alt=""/></div>
  633.    </content>
  634.    <summary type="xhtml">
  635.      <div xmlns="http://www.w3.org/1999/xhtml"><p>I have a few training courses coming up in the next few weeks which I thought you might be interested in. Firstly, the London Perl Workshop is on 8th November. I’ll be giving a two hour talk on “Perl in the Internet of Things“. As always, the workshop is free, but please register on the […]</p>
  636. <p>The post <a rel="nofollow" href="http://perlhacks.com/2014/10/upcoming-training-2/">Upcoming Training</a> appeared first on <a rel="nofollow" href="http://perlhacks.com">Perl Hacks</a>.</p>
  637. </div>
  638.    </summary>
  639.    <author>
  640.      <name>Dave Cross</name>
  641.    </author>
  642.    <id>http://perlhacks.com/?p=1005</id>
  643.    <published>2014-10-30T08:01:06Z</published>
  644.    <updated>2014-10-30T08:01:06Z</updated>
  645.    <category term="Training"/>
  646.    <category term="floss uk"/>
  647.    <category term="london perl workshop"/>
  648.    <category term="lpw"/>
  649.    <category term="perl"/>
  650.    <category term="training"/>
  651.  </entry>
  652.  <entry>
  653. <id>tag:search.cpan.org,2014-10-01:DAVECROSS:Array-Compare-2.11</id>
  654.  
  655. <link rel="alternate" type="text/html" href="http://search.cpan.org/~davecross/Array-Compare-2.11/"/>
  656. <updated>2014-10-01T20:25:16Z</updated>
  657. <author>
  658. <name>Dave Cross</name>
  659. <uri>http://search.cpan.org/~davecross/</uri>
  660. </author>
  661. <content>
  662. Perl extension for comparing arrays.
  663. </content>
  664. <title>cpan: Array-Compare-2.11</title></entry>
  665.  <entry>
  666. <id>tag:search.cpan.org,2014-10-01:DAVECROSS:Array-Compare-2.10</id>
  667.  
  668. <link rel="alternate" type="text/html" href="http://search.cpan.org/~davecross/Array-Compare-2.10/"/>
  669. <updated>2014-10-01T13:42:56Z</updated>
  670. <author>
  671. <name>Dave Cross</name>
  672. <uri>http://search.cpan.org/~davecross/</uri>
  673. </author>
  674. <content>
  675. Perl extension for comparing arrays.
  676. </content>
  677. <title>cpan: Array-Compare-2.10</title></entry>
  678.  <entry>
  679. <id>tag:search.cpan.org,2014-09-15:DAVECROSS:WWW-Shorten-3.06</id>
  680.  
  681. <link rel="alternate" type="text/html" href="http://search.cpan.org/~davecross/WWW-Shorten-3.06/"/>
  682. <updated>2014-09-15T20:43:08Z</updated>
  683. <author>
  684. <name>Dave Cross</name>
  685. <uri>http://search.cpan.org/~davecross/</uri>
  686. </author>
  687. <content>
  688. Interface to URL shortening sites.
  689. </content>
  690. <title>cpan: WWW-Shorten-3.06</title></entry>
  691.  <entry>
  692.    <title>slideshare: Github, Travis-CI and Perl</title>
  693.    <link rel="alternate" href="http://www.slideshare.net/davorg/github-travisci-and-perl" type="text/html"/>
  694.    <content type="html">
  695.        &lt;img src="//cdn.slidesharecdn.com/ss_thumbnails/travis-ci-140725055617-phpapp02-thumbnail-2.jpg?cb=1406285843" alt ="" style="border:1px solid #C3E6D8;float:right;" /&gt;&lt;br&gt; A quick introduction to using Github and Travis-CI to test Perl projects
  696.      </content>
  697.    <summary type="html">
  698.        &lt;img src="//cdn.slidesharecdn.com/ss_thumbnails/travis-ci-140725055617-phpapp02-thumbnail-2.jpg?cb=1406285843" alt ="" style="border:1px solid #C3E6D8;float:right;" /&gt;&lt;br&gt; A quick introduction to using Github and Travis-CI to test Perl projects
  699.      </summary>
  700.    <author>
  701.      <name>davorg@slideshare.net(davorg)</name>
  702.    </author>
  703.    <id>http://www.slideshare.net/davorg/github-travisci-and-perl</id>
  704.    <published>2014-07-25T10:56:17Z</published>
  705.    <updated>2014-07-25T10:56:17Z</updated>
  706.  </entry>
  707.  <entry>
  708.    <title>davblog: First Direct Update</title>
  709.    <link rel="alternate" href="http://feedproxy.google.com/~r/realdavblog/~3/NJ-sXTgM-yo/first-direct-update.html" type="text/html"/>
  710.    <content type="html">&lt;p&gt;Earlier in the week I talked about my concerns with &lt;a href="http://blog.dave.org.uk/2014/07/first-direct-passwords.html"&gt;First Direct&amp;#8217;s new password policy&lt;/a&gt;. I got an email from them about this, but it really wasn&amp;#8217;t very reassuring.&lt;/p&gt;
  711. &lt;p&gt;But I kept digging. And on Thursday I got a bit more information from &amp;#8220;^GD&amp;#8221; on the &lt;a href="http://twitter.com/firstdirecthelp"&gt;@firstdirecthelp&lt;/a&gt; twitter account. It still doesn&amp;#8217;t answer all of my questions, but I think we&amp;#8217;re a lot closer to the truth. Here&amp;#8217;s what I was told.&lt;/p&gt;
  712. &lt;blockquote class="twitter-tweet" width="550"&gt;&lt;p&gt;&lt;a href="https://twitter.com/davorg"&gt;@davorg&lt;/a&gt; Hi Dave, I can confirm that the password is encrypted. Security and safety will always be a priority for first direct. ^GD&lt;/p&gt;
  713. &lt;p&gt;&amp;mdash; first direct help (@firstdirecthelp) &lt;a href="https://twitter.com/firstdirecthelp/statuses/489774367379697664"&gt;July 17, 2014&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
  714. &lt;p&gt;&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
  715. &lt;p&gt;The obvious question that this raises is why, then, do they limit the length of the passwords. I asked and got this (three-tweet) reply.&lt;/p&gt;
  716. &lt;blockquote class="twitter-tweet" width="550"&gt;&lt;p&gt;&lt;a href="https://twitter.com/davorg"&gt;@davorg&lt;/a&gt; Hi Dave, it was a business decision to have the password length limited to a maximum of 10 characters. (1/3)^GD&lt;/p&gt;
  717. &lt;p&gt;&amp;mdash; first direct help (@firstdirecthelp) &lt;a href="https://twitter.com/firstdirecthelp/statuses/489778601366405121"&gt;July 17, 2014&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
  718. &lt;p&gt;&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
  719. &lt;blockquote class="twitter-tweet" width="550"&gt;&lt;p&gt;&lt;a href="https://twitter.com/davorg"&gt;@davorg&lt;/a&gt; Due to the restrictions within the app the risk from having a short password is minimal. (2/3)^GD&lt;/p&gt;
  720. &lt;p&gt;&amp;mdash; first direct help (@firstdirecthelp) &lt;a href="https://twitter.com/firstdirecthelp/statuses/489778808682074112"&gt;July 17, 2014&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
  721. &lt;p&gt;&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
  722. &lt;blockquote class="twitter-tweet" width="550"&gt;&lt;p&gt;&lt;a href="https://twitter.com/davorg"&gt;@davorg&lt;/a&gt;  We always advise that the password chosen for the Digital Secure Key is unique.(3/3)^GD&lt;/p&gt;
  723. &lt;p&gt;&amp;mdash; first direct help (@firstdirecthelp) &lt;a href="https://twitter.com/firstdirecthelp/statuses/489778882107551744"&gt;July 17, 2014&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
  724. &lt;p&gt;&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
  725. &lt;p&gt;To which, I replied&lt;/p&gt;
  726. &lt;blockquote class="twitter-tweet" width="550"&gt;&lt;p&gt;&lt;a href="https://twitter.com/firstdirecthelp"&gt;@firstdirecthelp&lt;/a&gt; Thanks for the reply. But you&amp;#39;re aware (I assume) that this goes against current security best practice recommendations.&lt;/p&gt;
  727. &lt;p&gt;&amp;mdash; Dave Cross (@davorg) &lt;a href="https://twitter.com/davorg/statuses/489779600109891584"&gt;July 17, 2014&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
  728. &lt;p&gt;&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
  729. &lt;p&gt;And got the response&lt;/p&gt;
  730. &lt;blockquote class="twitter-tweet" width="550"&gt;&lt;p&gt;&lt;a href="https://twitter.com/davorg"&gt;@davorg&lt;/a&gt; You&amp;#39;re welcome, I will certainly pass your comments on to the development team.(1/2)^GD&lt;/p&gt;
  731. &lt;p&gt;&amp;mdash; first direct help (@firstdirecthelp) &lt;a href="https://twitter.com/firstdirecthelp/statuses/489781248789725184"&gt;July 17, 2014&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
  732. &lt;p&gt;&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
  733. &lt;blockquote class="twitter-tweet" width="550"&gt;&lt;p&gt;&lt;a href="https://twitter.com/davorg"&gt;@davorg&lt;/a&gt; As a business we are satisfied with the levels of security that we have in place. (2/2)^GD&lt;/p&gt;
  734. &lt;p&gt;&amp;mdash; first direct help (@firstdirecthelp) &lt;a href="https://twitter.com/firstdirecthelp/statuses/489781375147335680"&gt;July 17, 2014&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
  735. &lt;p&gt;&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
  736. &lt;p&gt;I thought that &amp;#8220;as a business we are satisfied&amp;#8221; rather missed the point. And told them so.&lt;/p&gt;
  737. &lt;blockquote class="twitter-tweet" width="550"&gt;&lt;p&gt;&lt;a href="https://twitter.com/firstdirecthelp"&gt;@firstdirecthelp&lt;/a&gt; Sure, but (importantly) it&amp;#39;s not just about the business being satisfied. You also need to convince your customers [1/2]&lt;/p&gt;
  738. &lt;p&gt;&amp;mdash; Dave Cross (@davorg) &lt;a href="https://twitter.com/davorg/statuses/489781791868616704"&gt;July 17, 2014&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
  739. &lt;p&gt;&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
  740. &lt;blockquote class="twitter-tweet" width="550"&gt;&lt;p&gt;&lt;a href="https://twitter.com/firstdirecthelp"&gt;@firstdirecthelp&lt;/a&gt; And some of those customers will be experts in computer security who will know about best practice. [2/2]&lt;/p&gt;
  741. &lt;p&gt;&amp;mdash; Dave Cross (@davorg) &lt;a href="https://twitter.com/davorg/statuses/489781998433882112"&gt;July 17, 2014&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
  742. &lt;p&gt;&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
  743. &lt;p&gt;I got no response to that. And &lt;a href="http://twitter.com/brunns"&gt;@brunns&lt;/a&gt; got no response when he tried to push them for more details about how the passwords are stored.&lt;/p&gt;
  744. &lt;blockquote class="twitter-tweet" width="550"&gt;&lt;p&gt;&lt;a href="https://twitter.com/firstdirecthelp"&gt;@firstdirecthelp&lt;/a&gt; &lt;a href="https://twitter.com/davorg"&gt;@davorg&lt;/a&gt; Encrypted, or hashed?&lt;/p&gt;
  745. &lt;p&gt;&amp;mdash; Simon Brunning (@brunns) &lt;a href="https://twitter.com/brunns/statuses/489782060375371777"&gt;July 17, 2014&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
  746. &lt;p&gt;&lt;script async src="//platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;&lt;/p&gt;
  747. &lt;p&gt;So, to summarise what we know.&lt;/p&gt;
  748. &lt;ul&gt;
  749. &lt;li&gt;First Direct say they store the passwords &amp;#8220;encrypted&amp;#8221;, but it&amp;#8217;s unclear exactly what that means&lt;/li&gt;
  750. &lt;li&gt;It was a business decision to limit the length of the passwords, but we don&amp;#8217;t know why that was considered a good idea&lt;/li&gt;
  751. &lt;li&gt;It still appears that First Direct believe that security by obscurity is an important part of their security policy&lt;/li&gt;
  752. &lt;/ul&gt;
  753. &lt;p&gt;I haven &amp;#8216;t really been reassured by this interaction with First Direct. I felt that the first customer support agent I talked to tried to fob me off with glib truisms, but &amp;#8220;^GD&amp;#8221; tried to actually get answers to my questions &amp;#8211; although his obvious lack of knowledge in this area meant that I didn&amp;#8217;t really get the detailed answers that I wanted.&lt;/p&gt;
  754. &lt;p&gt;I&amp;#8217;m not sure that there&amp;#8217;s anything to be achieved by pushing this any further.&lt;/p&gt;
  755. &lt;div class="crp_related"&gt;&lt;h3&gt;Related Posts:&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://blog.dave.org.uk/2013/08/insurance-update.html"     class="crp_title"&gt;Insurance Update&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.dave.org.uk/2012/08/the-chances-of-anything-going-to-mars.html"     class="crp_title"&gt;The Chances of Anything Going to Mars&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.dave.org.uk/2012/08/gullible.html"     class="crp_title"&gt;Gullible&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.dave.org.uk/2014/07/first-direct-passwords.html"     class="crp_title"&gt;First Direct Passwords&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.dave.org.uk/2012/01/nadine-dorries-just-say-no.html"     class="crp_title"&gt;Nadine Dorries: Just Say No&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="clear:both"&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;The post &lt;a rel="nofollow" href="http://blog.dave.org.uk/2014/07/first-direct-update.html"&gt;First Direct Update&lt;/a&gt; appeared first on &lt;a rel="nofollow" href="http://blog.dave.org.uk"&gt;Davblog&lt;/a&gt;.&lt;/p&gt;
  756. &lt;img src="//feeds.feedburner.com/~r/realdavblog/~4/NJ-sXTgM-yo" height="1" width="1" alt=""/&gt;</content>
  757.    <summary type="html">&lt;p&gt;Earlier in the week I talked about my concerns with First Direct&amp;#8217;s new password policy. I got an email from them about this, but it really wasn&amp;#8217;t very reassuring. But I kept digging. And on Thursday I got a bit more information from &amp;#8220;^GD&amp;#8221; on the @firstdirecthelp twitter account. It still doesn&amp;#8217;t answer all of [&amp;#8230;]
  758. &lt;div class="crp_related"&gt;
  759. &lt;h3&gt;Related Posts:&lt;/h3&gt;
  760. &lt;ul&gt;
  761. &lt;li&gt;&lt;a href="http://blog.dave.org.uk/2013/08/insurance-update.html"     class="crp_title"&gt;Insurance Update&lt;/a&gt;&lt;/li&gt;
  762. &lt;li&gt;&lt;a href="http://blog.dave.org.uk/2012/08/the-chances-of-anything-going-to-mars.html"     class="crp_title"&gt;The Chances of Anything Going to Mars&lt;/a&gt;&lt;/li&gt;
  763. &lt;li&gt;&lt;a href="http://blog.dave.org.uk/2012/08/gullible.html"     class="crp_title"&gt;Gullible&lt;/a&gt;&lt;/li&gt;
  764. &lt;li&gt;&lt;a href="http://blog.dave.org.uk/2014/07/first-direct-passwords.html"     class="crp_title"&gt;First Direct Passwords&lt;/a&gt;&lt;/li&gt;
  765. &lt;li&gt;&lt;a href="http://blog.dave.org.uk/2012/01/nadine-dorries-just-say-no.html"     class="crp_title"&gt;Nadine Dorries: Just Say No&lt;/a&gt;&lt;/li&gt;
  766. &lt;/ul&gt;
  767. &lt;div style="clear:both"&gt;&lt;/div&gt;
  768. &lt;/div&gt;
  769. &lt;p&gt;The post &lt;a rel="nofollow" href="http://blog.dave.org.uk/2014/07/first-direct-update.html"&gt;First Direct Update&lt;/a&gt; appeared first on &lt;a rel="nofollow" href="http://blog.dave.org.uk"&gt;Davblog&lt;/a&gt;.&lt;/p&gt;
  770. </summary>
  771.    <author>
  772.      <name>Dave Cross</name>
  773.    </author>
  774.    <id>http://blog.dave.org.uk/?p=3378</id>
  775.    <published>2014-07-19T11:02:07Z</published>
  776.    <updated>2014-07-19T11:02:07Z</updated>
  777.    <category term="tech"/>
  778.    <category term="banking"/>
  779.    <category term="first direct"/>
  780.    <category term="passwords"/>
  781.    <category term="security"/>
  782.  </entry>
  783.  <entry>
  784.    <title>davblog: First Direct Passwords</title>
  785.    <link rel="alternate" href="http://feedproxy.google.com/~r/realdavblog/~3/VLTr8OXPipg/first-direct-passwords.html" type="text/html"/>
  786.    <content type="xhtml">
  787.      <div xmlns="http://www.w3.org/1999/xhtml"><p>I’ve been a happy customer of <a href="http://firstdirect.com/">First Direct</a> since a month or so after they opened, almost twenty-five years ago.</p>
  788. <p>One of the things I really liked about them was that they hadn’t followed other banks down the route of insisting that you carried a new code-generating dongle around so that you can log into their online banking. But, of course, it was only a matter of time before that changed.</p>
  789. <p>A couple of weeks ago I got a message from them telling me that <a href="http://www2.firstdirect.com/1/2/securekey">Secure Key</a> was on its way. And yesterday when I logged on to my account I was prompted to choose the flavour of secure key that I wanted to use. To be fair to them they have chosen a particularly non-intrusive implementation. Each customer gets three options:</p>
  790. <ol>
  791. <li>The traditional small dongle to carry around with you</li>
  792. <li>An extension to their smartphone app</li>
  793. <li>No secure key at all</li>
  794. </ol>
  795. <p>If you choose the final option then you only get restricted (basically read-only) access to your account through their web site. And if you choose one of the first two options, you can always log on without  the secure key and get the same restricted access.</p>
  796. <p>I chose the smartphone option. I already use their <a href="https://play.google.com/store/apps/details?id=com.firstdirect.bankingonthego">Android app</a> and I pretty much always have my phone with me.</p>
  797. <p>Usually when you log on to First Direct’s online banking you’re asked for three random characters from your password. Under the new system, that changes. I now need to log on to my smartphone app and that will give me a code to input into the web site. But to get into the smartphone app, I don’t use the old three character login. No, I needed to set up a new Digital Secure Password – which I can use for all of my interactions in this brave new world.</p>
  798. <p>And that’s where I think First Direct have slipped up a bit.</p>
  799. <p>When they asked my for my new password, they told me that it needed to be between 6 and 10 characters long.</p>
  800. <p>Those of you with any knowledge of computer security will understand why that worries me. For those who don’t, here’s a brief explanation.</p>
  801. <p>Somewhere in First Direct’s systems is a database that stores details of their customers. There will be a table containing users which has a row of data for each person who logs in to the service. That row will contain information like the users name, login name, email address and (crucially) password. So when someone tries to log in the system find the right row of data (based on the login name) and compares the password in that row with the password that has been entered on the login screen. If the two match then the person is let into the system.</p>
  802. <p>Whenever you have a database table, you have to worry about what would happen if someone managed to get hold of the contents of that table. Clearly it would be a disaster if someone got hold of this table of user data – as they would then have access to the usernames and passwords of all of the bank’s users.</p>
  803. <p>So, to prevent this being a problem, most rational database administrators will encrypt any passwords stored in database tables. And they will encrypt them in such a way that it is impossible (ok, that’s overstating the case a bit – but certainly really really difficult) to decrypt the data to get the passwords back. They will probably use something called a “one-way hash” to do this (if you’re wondering how you check a password when it’s encrypted like this then <a href="http://blog.dave.org.uk/2005/11/basic-password.html">I explain that here</a>).</p>
  804. <p>And these one-way hashes have an interesting property. No matter how long the input string is, the hashed value you get out at the other end is the same length. For example, if you’re using a hashing algorithm called MD5, every hash you get out will be thirty-two characters long.</p>
  805. <p>Therefore, if you’re using a hashing algorithm to protect your users’ passwords, it doesn’t matter how long the password is. Because the hashed version will always be the same length. You should therefore encourage your users to make their passwords as long as they want. You shouldn’t be imposing artificial length restrictions on them.</p>
  806. <p>And that’s why people who know about computer security will have all shared my concerns when I said that First Direct imposed a length restriction on these new passwords. The most common reason for a maximum length on a password is that the company is storing passwords as plain text in the database. With all the attendant problems that will cause if someone gets hold of the data.</p>
  807. <p>I’m not saying for sure that First Direct are doing that. I’m just saying that it’s a possibility and one that is very worrying. If that’s not the case I’d like to know what other reason they have for limiting the password’s length like this.</p>
  808. <p>I’ve send them a message asking for clarification. I’ll update this post with any response that I get.</p>
  809. <p><strong>Update (17 July):</strong> I got a reply from First Direct. This is what they said.</p>
  810. <blockquote><p>Thank you for your message dated 16-Jul-2014 regarding the security of your password for your Digital Secure Key.</p>
  811. <p>Ensuring the security of our systems is, and will continue to be, our number one priority.</p>
  812. <p>All the details that are sent to and from the system are encrypted using high encryption levels. As long as you keep your password secret, we can assure you that the system is secure. As you will appreciate, we cannot provide further details about the security measures used by Internet Banking, as we must protect the integrity of the system.</p>
  813. <p>Our customers also have a responsibility to ensure that they protect their computers by following our common-sense recommendations.  Further information can be found by selecting ‘security’ from the bottom menu on our website, <a href="http://www.firstdirect.com" target="_blank">www.firstdirect.com</a></p>
  814. <p>Please let us know if you have any further questions, and we’ll be happy to discuss.</p></blockquote>
  815. <p>Which isn’t very helpful and doesn’t address my question. I’ve tried explaining it to them again.</p>
  816. <div class="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://blog.dave.org.uk/2012/03/internet-security-rule-one.html" class="crp_title">Internet Security Rule One</a></li><li><a href="http://blog.dave.org.uk/2014/07/first-direct-update.html" class="crp_title">First Direct Update</a></li><li><a href="http://blog.dave.org.uk/2014/04/free-web-advice-marvel.html" class="crp_title">Free Web Advice: Marvel</a></li><li><a href="http://blog.dave.org.uk/2013/06/public-wifi.html" class="crp_title">Public Wifi</a></li><li><a href="http://blog.dave.org.uk/2014/06/sky-broadband-update.html" class="crp_title">Sky Broadband Update</a></li></ul><div style="clear:both"/></div><p>The post <a rel="nofollow" href="http://blog.dave.org.uk/2014/07/first-direct-passwords.html">First Direct Passwords</a> appeared first on <a rel="nofollow" href="http://blog.dave.org.uk">Davblog</a>.</p>
  817. <img src="//feeds.feedburner.com/~r/realdavblog/~4/VLTr8OXPipg" height="1" width="1" alt=""/></div>
  818.    </content>
  819.    <summary type="html">&lt;p&gt;I&amp;#8217;ve been a happy customer of First Direct since a month or so after they opened, almost twenty-five years ago. One of the things I really liked about them was that they hadn&amp;#8217;t followed other banks down the route of insisting that you carried a new code-generating dongle around so that you can log into [&amp;#8230;]
  820. &lt;div class="crp_related"&gt;
  821. &lt;h3&gt;Related Posts:&lt;/h3&gt;
  822. &lt;ul&gt;
  823. &lt;li&gt;&lt;a href="http://blog.dave.org.uk/2012/03/internet-security-rule-one.html"     class="crp_title"&gt;Internet Security Rule One&lt;/a&gt;&lt;/li&gt;
  824. &lt;li&gt;&lt;a href="http://blog.dave.org.uk/2014/07/first-direct-update.html"     class="crp_title"&gt;First Direct Update&lt;/a&gt;&lt;/li&gt;
  825. &lt;li&gt;&lt;a href="http://blog.dave.org.uk/2014/04/free-web-advice-marvel.html"     class="crp_title"&gt;Free Web Advice: Marvel&lt;/a&gt;&lt;/li&gt;
  826. &lt;li&gt;&lt;a href="http://blog.dave.org.uk/2013/06/public-wifi.html"     class="crp_title"&gt;Public Wifi&lt;/a&gt;&lt;/li&gt;
  827. &lt;li&gt;&lt;a href="http://blog.dave.org.uk/2014/06/sky-broadband-update.html"     class="crp_title"&gt;Sky Broadband Update&lt;/a&gt;&lt;/li&gt;
  828. &lt;/ul&gt;
  829. &lt;div style="clear:both"&gt;&lt;/div&gt;
  830. &lt;/div&gt;
  831. &lt;p&gt;The post &lt;a rel="nofollow" href="http://blog.dave.org.uk/2014/07/first-direct-passwords.html"&gt;First Direct Passwords&lt;/a&gt; appeared first on &lt;a rel="nofollow" href="http://blog.dave.org.uk"&gt;Davblog&lt;/a&gt;.&lt;/p&gt;
  832. </summary>
  833.    <author>
  834.      <name>Dave Cross</name>
  835.    </author>
  836.    <id>http://blog.dave.org.uk/?p=3372</id>
  837.    <published>2014-07-16T12:37:36Z</published>
  838.    <updated>2014-07-16T12:37:36Z</updated>
  839.    <category term="tech"/>
  840.    <category term="banking"/>
  841.    <category term="first direct"/>
  842.    <category term="password"/>
  843.    <category term="security"/>
  844.  </entry>
  845. </feed>
  846.  
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda