
<!DOCTYPE html>
<!--[if IEMobile 7 ]><html class="no-js iem7"><![endif]-->
<!--[if lt IE 9]><html class="no-js lte-ie8"><![endif]-->
<!--[if (gt IE 8)|(gt IEMobile 7)|!(IEMobile)|!(IE)]><!--><html class="no-js" lang="en"><!--<![endif]-->
<head>
  <meta charset="utf-8">
  <title>Bird Stream</title>
  <meta name="author" content="Adam">

  
  <meta name="description" content="Adrian, a good friend and fellow cyclist, wanted to embark on a challenge to mark a significant birthday. He hit upon this: Tommy Godwin 205 Mile &hellip;">
  

  <!-- http://t.co/dKP3o1e -->
  <meta name="HandheldFriendly" content="True">
  <meta name="MobileOptimized" content="320">
  <meta name="viewport" content="width=device-width, initial-scale=1">

  
  <link rel="canonical" href="http://www.adambird.com/">
  <link href="/favicon.png" rel="icon">
  <link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css">
  <script src="/javascripts/modernizr-2.0.js"></script>
  <script src="/javascripts/ender.js"></script>
  <script src="/javascripts/octopress.js" type="text/javascript"></script>
  <link href="/atom.xml" rel="alternate" title="Bird Stream" type="application/atom+xml">
  <!--Fonts from Google"s Web font directory at http://google.com/webfonts -->
<link href="http://fonts.googleapis.com/css?family=PT+Serif:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css">
<link href="http://fonts.googleapis.com/css?family=PT+Sans:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css">

  
  <script type="text/javascript">
    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-1642022-7']);
    _gaq.push(['_trackPageview']);

    (function() {
      var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
  </script>


</head>

<body   >
  <header role="banner"><hgroup>
  <h1><a href="/">Bird Stream</a></h1>
  
    <h2>Entrepreneurship, development and (sometimes) cycling, often simultaneously, mainly in Nottingham</h2>
  
</hgroup>

</header>
  <nav role="navigation"><ul class="subscription" data-subscription="rss">
  <li><a href="/atom.xml" rel="subscribe-rss" title="subscribe via RSS">RSS</a></li>
  
</ul>
  
<form action="http://google.com/search" method="get">
  <fieldset role="search">
    <input type="hidden" name="q" value="site:www.adambird.com" />
    <input class="search" type="text" name="q" results="0" placeholder="Search"/>
  </fieldset>
</form>
  
<ul class="main-navigation">
  <li><a href="/">Blog</a></li>
  <li><a href="/blog/archives">Archives</a></li>
</ul>

</nav>
  <div id="main">
    <div id="content">
      <div class="blog-index">
  
  
  
    <article>
      
  <header>
    
      <h1 class="entry-title"><a href="/tommy-godwin-was-a-lunatic">Tommy Godwin Was a Lunatic</a></h1>
    
    
      <p class="meta">
        








  


<time datetime="2014-07-10T20:02:00+01:00" pubdate data-updated="true">Jul 10<span>th</span>, 2014</time>
        
      </p>
    
  </header>


  <div class="entry-content"><p>Adrian, a good friend and fellow cyclist, wanted to embark on a challenge to mark a significant birthday. He hit upon this:</p>

<p><a href="http://www.raleigh.co.uk/tommygodwin205/">Tommy Godwin 205 Mile Challenge</a></p>

<p>Tommy still holds the record he set in 1939 for distance cycled in a year. <strong>75,065 miles</strong>. A daily average of <strong>205 miles</strong>. So if he could do it back in the thirties on a 4 geared steel bike and rudimentary clothing how hard could it be to match just one day.</p>

<p>We found out.</p>

</div>
  
  
    <footer>
      <a rel="full-article" href="/tommy-godwin-was-a-lunatic">Read on &rarr;</a>
    </footer>
  


    </article>
  
  
    <article>
      
  <header>
    
      <h1 class="entry-title"><a href="/excellent-3-minute-pitch">Excellent 3 Minute Pitch</a></h1>
    
    
      <p class="meta">
        








  


<time datetime="2014-07-09T13:04:00+01:00" pubdate data-updated="true">Jul 9<span>th</span>, 2014</time>
        
      </p>
    
  </header>


  <div class="entry-content"><p>I&#8217;ve been researching 3 minute pitches recently as we&#8217;re starting to share the <a href="https://www.cronofy.com">Cronofy</a> vision with investors and other interested parties.</p>

<p>Came across this from Ryan Spraetz of <a href="http://keen.io">Keen.io</a>. It must be up there as a great example of the a 3 minute story pitch.</p>

</div>
  
  
    <footer>
      <a rel="full-article" href="/excellent-3-minute-pitch">Read on &rarr;</a>
    </footer>
  


    </article>
  
  
    <article>
      
  <header>
    
      <h1 class="entry-title"><a href="/how-to-specify-a-software-project">How to Specify a Software Project</a></h1>
    
    
      <p class="meta">
        








  


<time datetime="2014-05-01T09:09:00+01:00" pubdate data-updated="true">May 1<span>st</span>, 2014</time>
        
      </p>
    
  </header>


  <div class="entry-content"><p>There are three variables in software projects Time, Scope, Quality. You can only choose to control two of them. The approach I would take to project specification is</p>

</div>
  
  
    <footer>
      <a rel="full-article" href="/how-to-specify-a-software-project">Read on &rarr;</a>
    </footer>
  


    </article>
  
  
    <article>
      
  <header>
    
      <h1 class="entry-title"><a href="/5-unusual-ways-to-internet-superstardom">5 Unusual Ways to Internet Superstardom</a></h1>
    
    
      <p class="meta">
        








  


<time datetime="2014-04-11T09:13:00+01:00" pubdate data-updated="true">Apr 11<span>th</span>, 2014</time>
        
      </p>
    
  </header>


  <div class="entry-content"><p>As many of you know I have a new venture called One Diary. We&#8217;ve been lucky enough to be considered one of the best 10% of entries into the Start Up competition at this year&#8217;s <a href="http://thesummit.co">The Summit</a> conference. As I&#8217;m sure you can imagine, being selected to be represented at such a prestigious and high-profile conference would be a massive boost for us.</p>

<p>I need your help getting through to the next round.</p>

</div>
  
  
    <footer>
      <a rel="full-article" href="/5-unusual-ways-to-internet-superstardom">Read on &rarr;</a>
    </footer>
  


    </article>
  
  
    <article>
      
  <header>
    
      <h1 class="entry-title"><a href="/coding-is-easy-is-a-dangerous-message">&#8216;Coding Is Easy&#8217; Is a Dangerous Message</a></h1>
    
    
      <p class="meta">
        








  


<time datetime="2014-02-07T09:33:00+00:00" pubdate data-updated="true">Feb 7<span>th</span>, 2014</time>
        
      </p>
    
  </header>


  <div class="entry-content"><p>So a predictable furore gripped my twitter feed as footage of Lottie Dexter, head of the UK&#8217;s <a href="http://yearofcode.org">Year of Code</a> initiative, appearance on Newsnight emerged.</p>

<iframe width="500" height="271" src="//www.youtube.com/embed/-7x7GYItzS4" frameborder="0" allowfullscreen></iframe>


<p>My concern is not that she doesn&#8217;t know how to code but that she was able to so comprehensively belittle the very skillset she was trying to apparently promote.</p>

</div>
  
  
    <footer>
      <a rel="full-article" href="/coding-is-easy-is-a-dangerous-message">Read on &rarr;</a>
    </footer>
  


    </article>
  
  
    <article>
      
  <header>
    
      <h1 class="entry-title"><a href="/a-ps200m-acquisition">A £200M Acquisition, in Nottingham, Time to Wake Up</a></h1>
    
    
      <p class="meta">
        








  


<time datetime="2014-01-17T21:39:00+00:00" pubdate data-updated="true">Jan 17<span>th</span>, 2014</time>
        
      </p>
    
  </header>


  <div class="entry-content"><p><img src="/images/world_beater_ball_web.png"></p>

<p>I nearly snorted out my cornflakes on Friday morning when I read that <a href="http://www.nottinghampost.com/200-million-takeover-Nottingham-technology/story-20454150-detail/story.html">TDX Group had been sold to Equifax for £200 million</a>. It is, on the face of it an eye-watering valuation, but I think it&#8217;s actually more of a reality check for Nottingham.</p>

</div>
  
  
    <footer>
      <a rel="full-article" href="/a-ps200m-acquisition">Read on &rarr;</a>
    </footer>
  


    </article>
  
  
    <article>
      
  <header>
    
      <h1 class="entry-title"><a href="/new-project-new-team">New Project New Team</a></h1>
    
    
      <p class="meta">
        








  


<time datetime="2013-09-12T17:23:00+01:00" pubdate data-updated="true">Sep 12<span>th</span>, 2013</time>
        
      </p>
    
  </header>


  <div class="entry-content"><p>Having <a href="http://www.esendex.co.uk/blog/post/behind-the-acquisition-what-new-ownership-means-for-esendexs-growth-strategy/">exited Esendex</a> this summer, it&#8217;s time to start all over again and have another go at changing the world.</p>

<p>The new startup is called <a href="http://www.onediaryapp.com">One Diary</a> and is delivering a flexible and collaborative diary. The antithesis of the current rigid silos we find ourselves cursed with at the moment.</p>

<p>To change the calendars that everyone uses right now (Exchange, Google, etc) is a big, hairy audacious ambition but it really, really needs doing. It&#8217;s just going to require a lot of small steps.</p>

<p>My focus now is on two things</p>

</div>
  
  
    <footer>
      <a rel="full-article" href="/new-project-new-team">Read on &rarr;</a>
    </footer>
  


    </article>
  
  
    <article>
      
  <header>
    
      <h1 class="entry-title"><a href="/hautacam">Hautacam</a></h1>
    
    
      <p class="meta">
        








  


<time datetime="2013-08-18T21:19:00+01:00" pubdate data-updated="true">Aug 18<span>th</span>, 2013</time>
        
      </p>
    
  </header>


  <div class="entry-content"><p>There is a strong correlation between having Hautacam on your TdF palmares and performance enhancement through drugs. I took the opposite approach and rode it with a mild hangover.</p>

<iframe height='405' width='590' frameborder='0' allowtransparency='true' scrolling='no' src='http://www.strava.com/activities/75540184/embed/58d175651805aebc2049b2bacecac14f3c4ac4d6'></iframe>


<p>I got chatting to a local cyclist at one of the campsite dinners who told me how beautiful this climb was. Also, the start of the climb was only about 8km from where we are staying so I couldn&#8217;t not do.</p>

<p>However, it turned out to be lot harder than I was anticipating.</p>

</div>
  
  
    <footer>
      <a rel="full-article" href="/hautacam">Read on &rarr;</a>
    </footer>
  


    </article>
  
  
    <article>
      
  <header>
    
      <h1 class="entry-title"><a href="/col-du-tourmalet">Col Du Tourmalet</a></h1>
    
    
      <p class="meta">
        








  


<time datetime="2013-08-15T18:25:00+01:00" pubdate data-updated="true">Aug 15<span>th</span>, 2013</time>
        
      </p>
    
  </header>


  <div class="entry-content"><p>Today I was Jérémy Roy</p>

<iframe height='405' width='590' frameborder='0' allowtransparency='true' scrolling='no' src='http://www.strava.com/activities/74848523/embed/79861b92c9d6541ca3dcc1db7597fbd8a0947e75'></iframe>


<p>The plan today was to take in both ascents of the Col du Tormalet. We&#8217;re staying close (20km) to the start of the west ascent so and out, up and over, and back seemed like a &#8216;sensible&#8217; plan.</p>

</div>
  
  
    <footer>
      <a rel="full-article" href="/col-du-tourmalet">Read on &rarr;</a>
    </footer>
  


    </article>
  
  
    <article>
      
  <header>
    
      <h1 class="entry-title"><a href="/pre-cycle-commute-uk-weather-forecast-tweet">Pre Cycle Commute UK Weather Forecast Tweet</a></h1>
    
    
      <p class="meta">
        








  


<time datetime="2013-05-12T20:57:00+01:00" pubdate data-updated="true">May 12<span>th</span>, 2013</time>
        
      </p>
    
  </header>


  <div class="entry-content"><p>I&#8217;ve been playing around (<a href="../pushing-info-to-pebble-watch">see here</a>) and have set up a simple service that tweets me every morning at 7:30am with a simple weather forecast. Importantly it has the information I want as a cycle commuter.</p>

<ul>
<li>Wind speed &amp; direction</li>
<li>Likelihood of rain</li>
<li>Temperature</li>
</ul>


</div>
  
  
    <footer>
      <a rel="full-article" href="/pre-cycle-commute-uk-weather-forecast-tweet">Read on &rarr;</a>
    </footer>
  


    </article>
  
  <div class="pagination">
    
      <a class="prev" href="/blog/page/2/">&larr; Older</a>
    
    <a href="/blog/archives">Blog Archives</a>
    
  </div>
</div>
<aside class="sidebar">
  
    <section>
  <img src="/images/adam-avatar.jpg">
  <p>A Nottingham based entrepreneur and developer. Husband, father, cyclist &amp; wannabe rock guitarist as time allows.</p>
  <p>
    You may know me from
  </p>
  <ul>
    <li><a href="https://www.cronofy.com"><img src="/images/cronofy-logo.png" width="40px" alt="Cronofy Calendar API" class="left"/>Cronofy: One API for all Calendars</a></li>
    <li><a href="http://www.esendex.co.uk"><img src="/images/esendex-logo.jpg" width="40px" alt="Esendex logo" class="left"/>Esendex: every message matters</a></li>
  </ul>
  <ul>
    <li><a href="https://twitter.com/adambird" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @adambird</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script></li>
  <li><a href="http://uk.linkedin.com/in/adambird" style="white-space: normal;">
    <img src="http://www.linkedin.com/img/webpromo/btn_viewmy_120x33.png" width="120" height="33" border="0" alt="View Adam Bird's profile on LinkedIn"></a></li>
  </ul>
</section>

<section>
  <h1>Coderwall</h1>
  <ul id="cw_badges">
    <li class="loading">Status updating&#8230;</li>
  </ul>

  <script type="text/javascript">
    var coderwall = (function(){
      function render(options, badges){
        var fragment = '',
            t = $(options.target)[0],
            height = 65,
            width = 65,
            index;

        for (index in badges) {
          fragment += '<a class="cw_badge"title="' + badges[index].description + '" href="http://coderwall.com/' + options.user + '">';
          fragment +=   '<img alt="' + badges[index].description + '" height="' + width + '" width="' + height + '" src="' + badges[index].badge + '"/>';
          fragment += '</a>';
        }

        t.innerHTML = fragment;
      }
      return {
        showBadges: function(options){
          $.ajax({
              url: 'http://coderwall.com/' + options.user + '.json?callback=?'
            , type: 'jsonp'
            , error: function (err) { $(options.target + ' li.loading').addClass('error').text("Error loading feed"); }
            , success: function(res) {
                render(options, res.data.badges);
            }
          });
        }
      };
    })();

    $.domReady(function(){
      if (!window.jXHR){
        var jxhr = document.createElement('script');
        jxhr.type = 'text/javascript';
        jxhr.src = '/javascripts/libs/jXHR.js';
        var s = document.getElementsByTagName('script')[0];
        s.parentNode.insertBefore(jxhr, s);
      }
      if (!window.$){
        var b = document.createElement('script');
        b.type = 'text/javascript';
        b.src = '/javascripts/ender.js';
        var sc = document.getElementsByTagName('script')[0];
        sc.parentNode.insertBefore(jxhr, s);
      }
      coderwall.showBadges({
        user: 'adambird',
        target: '#cw_badges'
      });
    });
  </script>
  <style type="text/css">
    .cw_badge img {
      padding: 5px;
      border: 0 none !important;
      -moz-box-shadow: none !important;
      -webkit-box-shadow: none !important;
      -o-box-shadow: none !important;
      box-shadow: none !important;
    }
  </style>
</section>
<section>
  <h1>Recent Posts</h1>
  <ul id="recent_posts">
    
      <li class="post">
        <a href="/tommy-godwin-was-a-lunatic">Tommy Godwin was a lunatic</a>
      </li>
    
      <li class="post">
        <a href="/excellent-3-minute-pitch">Excellent 3 minute pitch</a>
      </li>
    
      <li class="post">
        <a href="/how-to-specify-a-software-project">How to specify a software project</a>
      </li>
    
      <li class="post">
        <a href="/5-unusual-ways-to-internet-superstardom">5 Unusual Ways to Internet Superstardom</a>
      </li>
    
      <li class="post">
        <a href="/coding-is-easy-is-a-dangerous-message">&#8216;Coding is easy&#8217; is a dangerous message</a>
      </li>
    
  </ul>
</section>

<section>
  <h1>GitHub Repos</h1>
  <ul id="gh_repos">
    <li class="loading">Status updating&#8230;</li>
  </ul>
  
  <a href="https://github.com/adambird">@adambird</a> on GitHub
  
  <script type="text/javascript">
    $.domReady(function(){
        if (!window.jXHR){
            var jxhr = document.createElement('script');
            jxhr.type = 'text/javascript';
            jxhr.src = '/javascripts/libs/jXHR.js';
            var s = document.getElementsByTagName('script')[0];
            s.parentNode.insertBefore(jxhr, s);
        }

        github.showRepos({
            user: 'adambird',
            count: 4,
            skip_forks: true,
            target: '#gh_repos'
        });
    });
  </script>
  <script src="/javascripts/github.js" type="text/javascript"> </script>
</section>


<section>
  <h1>Latest Tweets</h1>
  <ul id="tweets">
    <li class="loading">Status updating&#8230;</li>
  </ul>
  <script type="text/javascript">
    $.domReady(function(){
      getTwitterFeed("adambird", 4, false);
    });
  </script>
  <script src="/javascripts/twitter.js" type="text/javascript"> </script>
  
    <a href="http://twitter.com/adambird" class="twitter-follow-button" data-show-count="false">Follow @adambird</a>
  
</section>


<section>
  <h1>My Pinboard</h1>
  <ul id="pinboard_linkroll">Fetching linkroll&#8230;</ul>
  <p><a href="http://pinboard.in/u:adambird">My Pinboard Bookmarks &raquo;</a></p>
</section>
<script type="text/javascript">
  var linkroll = 'pinboard_linkroll'; //id target for pinboard list
  var pinboard_user = "adambird"; //id target for pinboard list
  var pinboard_count = 3; //id target for pinboard list
  (function(){
    var pinboardInit = document.createElement('script');
    pinboardInit.type = 'text/javascript';
    pinboardInit.async = true;
    pinboardInit.src = '/javascripts/pinboard.js';
    document.getElementsByTagName('head')[0].appendChild(pinboardInit);
  })();
</script>


<section class="googleplus">
  <h1>
    <a href="https://plus.google.com/104354607130956266898?rel=author">
      <img src="http://www.google.com/images/icons/ui/gprofile_button-32.png" width="32" height="32">
      Google+
    </a>
  </h1>
</section>



  
</aside>

    </div>
  </div>
  <footer role="contentinfo"><p>
  Copyright &copy; 2015 - Adam -
  <span class="credit">Powered by <a href="http://octopress.org">Octopress</a></span>
</p>

</footer>
  

<script type="text/javascript">
      var disqus_shortname = 'adambird';
      
        
        var disqus_script = 'count.js';
      
    (function () {
      var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
      dsq.src = 'http://' + disqus_shortname + '.disqus.com/' + disqus_script;
      (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
    }());
</script>



<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) {return;}
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#appId=212934732101925&xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>



  <script type="text/javascript">
    (function() {
      var script = document.createElement('script'); script.type = 'text/javascript'; script.async = true;
      script.src = 'https://apis.google.com/js/plusone.js';
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(script, s);
    })();
  </script>



  <script type="text/javascript">
    (function(){
      var twitterWidgets = document.createElement('script');
      twitterWidgets.type = 'text/javascript';
      twitterWidgets.async = true;
      twitterWidgets.src = 'http://platform.twitter.com/widgets.js';
      document.getElementsByTagName('head')[0].appendChild(twitterWidgets);
    })();
  </script>





</body>
</html>
