tag:blogger.com,1999:blog-280211482024-03-13T00:58:01.219+00:00Blogger ShepherdIrregular thoughts from Roger Shepherd. If you read them, someone else might not.The Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.comBlogger421125tag:blogger.com,1999:blog-28021148.post-89772609221650042102022-05-23T14:20:00.001+01:002022-05-23T14:20:33.980+01:00Lesson learnt moving from Google<h2 style="text-align: left;">Background</h2><p>In the past I've has the experience of searching for information on the web and finding it in this blog. Of late I've not put a lot on this blog but I'm going start doing more as this blog is less empheral than Twitter and more public and searchable than Facebook. This has been prompted by moving my chipless.eu domain from Google where I have has to address some issues that others (or future me) might also encounter.</p><p>I've been using what was "Google apps for your domain" to host, for free, e-mail, calendars, and websites for my family and my business. Google decided that as from the middle of this year they would start charging for this hosting service and I decided I'd check what other options I had. I decided that I would use zoho.com as my new e-mail and calendar host. They seemed to be low-cost and, even so, offered more than I needed. I signed up a couple of weeks ago and I've started down the migration path. In the meantime, Google have decided <i>not</i> to charge for non-commercial use of their service, and so I'll be keeping my family stuff on Google. However, I'm still migrating chipless.eu</p><h2 style="text-align: left;">Cloud Service disabled by admin</h2><div>I had to migrate chipless.eu e-mails from Google to Zoho. There's not a huge amount of historical e-mail and I could have done this "by hand" but I chose to follow Zoho's instructions. This involves using Google Cloud Services which I've never knowingly touched before. In the course of this I ran into a problem that took me a lot of time to over come. I could not create a "project". I enabled everything I could find that might be blocking it, I made sure that Google could charge me if I went over the hundreds of dollars of free service that was available, and still it seemed impossible to get my e-mail migration project set up. After many false paths, Google search led me to a StackOverflow article which asked for a solution to the same problem (<a href="https://stackoverflow.com/questions/45603145/unable-to-create-project-in-google-cloud-cloud-service-disabled-by-admin-plea" target="_blank">unable-to-create-project-in-google-cloud-cloud-service-disabled-by-admin-plea</a>). Google's error message was misleading, the problem was actually that there is an option ("Allow users to create projects") buried away in the Google Cloud Console which was unchecked. Once checked problem solved.</div><p><br /></p>The Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.com0Bristol, UK51.454513 -2.5879123.144279163821153 -37.74416 79.764746836178844 32.56834tag:blogger.com,1999:blog-28021148.post-77554187729569118572020-06-07T21:39:00.001+01:002020-06-07T21:40:13.792+01:00Did COPVID-19 infections decline before UK lockdown?<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: "helvetica neue"; font-size: 14px;">My Facebook feed had a reference to </span><a href="https://www.spectator.co.uk/article/new-study-shows-covid-infections-were-falling-before-lockdown" style="font-family: "helvetica neue"; font-size: 14px;" target="_blank">an article in The Spectator</a><span style="font-family: "helvetica neue"; font-size: 14px;"> which refered to a new study which claims that COVID-19 infections declined before the UK lockdown. This surprised me, so I thought I’d take a quick look. A web search found the source paper - </span><a href="https://arxiv.org/abs/2005.02090" style="font-family: "helvetica neue"; font-size: 14px;" target="_blank">an unreviewed publication</a><span style="font-family: "helvetica neue"; font-size: 14px;"> by </span><a href="https://people.maths.bris.ac.uk/~sw15190/" style="font-family: "helvetica neue"; font-size: 14px;" target="_blank">Professor Simon Wood</a><span style="font-family: "helvetica neue"; font-size: 14px;">, a statistician in the Mathematics department at Bristol University who has worked on the modelling of biological systems. Unreviewed papers can be poor, mistaken, and/or misleading, so I’m loath to sped time on them. On the other hand, the author seems to be respectable, I know a bit about mathematics, and I’ve spent some time looking at Covid-19 modelling and the impacts of lockdowns, so I felt like I should take a look.</span><span id="goog_375381245"></span><br />
<div style="font-family: "Helvetica Neue"; font-size: 14px; font-stretch: normal; line-height: normal; min-height: 16px;">
<br /></div>
<div style="font-family: "Helvetica Neue"; font-size: 14px; font-stretch: normal; line-height: normal;">
I don’t feel confident to judge the details of the modelling techniques used in the paper, so I’ll leave that to the mathematical and epidemiological referees. But to summarise, he uses UK Office of National Statistics data on Covid-19 deaths in England and Wales (probably as good as it gets), together with his model of how deaths lag infections, to estimate the fatal infection rate. He concludes that the number of fatal infections peaked on the 18th March, 5 days before lockdown on the 23rd March. From that summary, one might conclude that there was no need for lockdown as things were already getting better.</div>
<div style="font-family: "Helvetica Neue"; font-size: 14px; font-stretch: normal; line-height: normal;">
<br /></div>
<div style="font-family: "Helvetica Neue"; font-size: 14px; font-stretch: normal; line-height: normal;">
However, although lockdown was declared on a particular day, I don't recall it being a a sudden event - it seemed like part of a continuum. Several people I know had started taking lockdown-like precautions well prior to lockdown. For our (me and my wife) part, having flown in to the UK on March 15th, we left the house only once, to buy food, during the week prior to lockdown. Other people we know of, who'd seen the plague coming, took similar precautions. And we now know that <i>some</i> homes for the elderly took severe isolation measures a couple of weeks before lockdown. (Not only was this against the advice of the government, the authorities put great pressure on the home not to do this). So, anecdotally, things were locking down before "lockdown".</div>
<div style="font-family: "Helvetica Neue"; font-size: 14px; font-stretch: normal; line-height: normal;">
<br /></div>
<div style="font-family: "Helvetica Neue"; font-size: 14px; font-stretch: normal; line-height: normal;">
But we need more than anecodotes and it turns out that there is data which lets us assess the amount of effective lockdown in the run-up to lockdown. Apple and Google make available some data derived from mobile phone usage. For Apple it is <a href="https://www.apple.com/covid19/mobility" target="_blank">routing queries</a>, and for Google it is <a href="https://www.google.com/covid19/mobility/" target="_blank">visits to types of location</a>. The full datasets are available from Apple and Google, and they explain the data in more detail than I have. I’ve plotted UK data rather the paper's England and Wales data. </div>
<div style="font-family: "Helvetica Neue"; font-size: 14px; font-stretch: normal; line-height: normal;">
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiA4gH8518Mc1ruFQWpXVUpaXnw1-s8EZ0O8UhrAHqUzRb5_HmVmg2njBU_hdkcf_AmMr_wAkz4x5XJLIhpw2PnH3ijG0_31bc-l9feiCiVxr4ydlFqxOp7i2pleiakavcwISPcNQ/s1600/lockdown-2020-06-04-Charts.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1169" data-original-width="826" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiA4gH8518Mc1ruFQWpXVUpaXnw1-s8EZ0O8UhrAHqUzRb5_HmVmg2njBU_hdkcf_AmMr_wAkz4x5XJLIhpw2PnH3ijG0_31bc-l9feiCiVxr4ydlFqxOp7i2pleiakavcwISPcNQ/s400/lockdown-2020-06-04-Charts.jpg" width="282" /></a></div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="font-family: "Helvetica Neue"; font-size: 14px; font-stretch: normal; line-height: normal;">
For Apple Mobility Trends, 100 (%) is the activity level on 13th Jan 2020 and the other figures are percentages of that activity. For Google Mobility UK, 0 (%Δ) is the median value for the day of the week between Jan 3rd–Feb 6th 2020. This means the regular day-of-week fluctuations have been smoothed out in the Google data, but not in the Apple data.</div>
<div style="font-family: "Helvetica Neue"; font-size: 14px; font-stretch: normal; line-height: normal; min-height: 16px;">
<br /></div>
<div style="font-family: "Helvetica Neue"; font-size: 14px; font-stretch: normal; line-height: normal;">
I’ve added vertical lines showing lockdown (23rd March), the peak according to the paper (18/19th March), and the date at which a decline in activity sets in (8th March). The sole activity which increases after that date is the buying of groceries and pharmaceuticals (stocking up in anticipation of the lockdown). This is strong evidence that the expectation of lockdown brought about a decline in activity resulting in the the (projected) reduction in fatal infection rate from the 19th March.</div>
<div style="font-family: "Helvetica Neue"; font-size: 14px; font-stretch: normal; line-height: normal;">
<br /></div>
<div style="font-stretch: normal; line-height: normal;">
<span style="font-family: "helvetica neue";"><span style="font-size: 14px;">Although it looks at </span></span><i style="font-family: "Helvetica Neue"; font-size: 14px;">cases</i><span style="font-family: "helvetica neue";"><span style="font-size: 14px;"> rather than </span></span><i style="font-family: "Helvetica Neue"; font-size: 14px;">deaths</i><span style="font-family: "helvetica neue"; font-size: 14px;">, the work of </span><span style="font-family: "helvetica neue"; font-size: 14px;">Horace Dediu of </span><a href="http://asymco.com/" style="font-family: "Helvetica Neue"; font-size: 14px;">Asymco.com</a><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">, </span><span style="font-family: "helvetica neue";"><span style="font-size: 14px;">is interesting in this context. He plots daily Covid-19 cases against Apple mobility data for </span><a href="http://www.asymco.com/wp-content/uploads/2020/05/Screen-Shot-2020-05-11-at-7.58.30-AM.jpg" style="font-size: 14px;" target="_blank">many countries</a><span style="font-size: 14px;"> and </span><a href="http://www.asymco.com/wp-content/uploads/2020/05/Screen-Shot-2020-05-11-at-7.59.26-AM.jpg" style="font-size: 14px;" target="_blank">US states</a><span style="font-size: 14px;">. They are worth a look (note that Horave’s graphs plot Apple’s data in the opposite sense to mine) and lend credence to the hypothesis that strict lockdown leads to reduced cases.</span></span></div>
<div style="font-stretch: normal; line-height: normal;">
<span style="font-family: "helvetica neue";"><span style="font-size: 14px;"><br /></span></span></div>
<div style="font-stretch: normal; line-height: normal;">
<span style="font-family: "helvetica neue";"><span style="font-size: 14px;">To conclude, in the case of the UK, peak fatal infection rate preceding </span><i style="font-size: 14px;">lockdown</i><span style="font-size: 14px;">, can be explained by the behaviour of the population anticipating a formal lockdown.</span></span></div>
</div>
The Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.com0tag:blogger.com,1999:blog-28021148.post-84679796385653984202020-05-05T06:50:00.001+01:002020-05-05T06:50:42.584+01:00<div dir="ltr" style="text-align: left;" trbidi="on">
<a href="https://teropa.info/in-c/">Terry Riley’s “In C”</a></div>
The Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.com0tag:blogger.com,1999:blog-28021148.post-13236714456298122902019-11-25T21:22:00.001+00:002019-11-25T21:22:46.601+00:00Register to vote <div dir="ltr" style="text-align: left;" trbidi="on">
<span style="-webkit-text-size-adjust: 100%; font-family: Helvetica, arial, sans-serif; font-size: 16px;">I’d been thinking it was time to start using the blog again when I felt compelled to encourage people to register to vote at the forthcoming general election. And I see it’s three and a half years since I blogged. Anyhow, t</span><span style="-webkit-text-size-adjust: 100%; font-family: Helvetica, arial, sans-serif; font-size: 16px;">he deadline to register to vote is <a dir="ltr" href="x-apple-data-detectors://0" style="text-decoration-color: rgba(127, 127, 127, 0.380392);" x-apple-data-detectors-result="0" x-apple-data-detectors-type="calendar-event" x-apple-data-detectors="true">TOMORROW – Tuesday 26 November at 11:59pm</a>. </span><span style="-webkit-text-size-adjust: 100%; font-family: Helvetica, arial, sans-serif; font-size: 16px;">Make sure everyone you know has registered.</span><br />
<span style="-webkit-text-size-adjust: 100%; font-family: Helvetica, arial, sans-serif; font-size: 16px;"><br /></span>
<a href="https://www.gov.uk/register-to-vote?utm_source=bsd&utm_medium=email&utm_campaign=GE19-regvote&source=20191125_GE19-regvote&subsource=bsd_email">https://www.gov.uk/register-to-vote</a></div>
The Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.com0tag:blogger.com,1999:blog-28021148.post-2908248266897404052016-04-02T16:44:00.001+01:002016-04-02T16:49:57.462+01:00Squid<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: "trebuchet ms" , sans-serif;">Never mind why but I have just been setting up some network related software on a Raspberry Pi. One of these softwares was Squid3. There are lots of guides out there to creating a web cache with a Raspberry Pi and I've been using several of them however, I ran into a problem that none of them mention....</span><br />
<div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;">My set up is that I have the Pi sitting on my home network. (Its name is rcjd-pi-2 and I can access it with the name rcjd-pi-2.local. The name works fine for ping-ing it, ssh-ing to it and setting it up as a web-proxy). I have a number of other machines on the network, for the purposes of this post, the only one which really matters is my laptop which is wired into the same access point (Apple Airport Extreme previous generation (n)). </span></div>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;">I set up Squid and set my laptop 's laptop's http proxy to be "rcjd-pi-1:3128". Running <i>ps</i> and <i>netstat</i> on the Pi showed that Squid was running and listening on port 3128. However, </span></div>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;">although a small amount of surfing got done (the first access to a site?) it turns out that subsequently access were be blocked. </span></div>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;">I checked and checked the squid.config file against the various instructions. Yes, I had </span></div>
<div style="text-align: left;">
<ul style="text-align: left;">
<li><span style="font-size: x-small;"><span style="font-family: "courier new" , "courier" , monospace;">http_access allow </span><span style="font-family: "courier new" , "courier" , monospace;">localness</span></span></li>
</ul>
</div>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;">uncommented as required, yes I had</span></div>
<div style="text-align: left;">
<ul style="text-align: left;">
<li><span style="font-family: "courier new" , "courier" , monospace;"><span style="font-size: x-small;">acl localnet src 10.0.xxx.0/24</span></span></li>
</ul>
</div>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;">uncommented and the xxx set correctly. But something was wrong.</span></div>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;">Then, glancing between the access log and the configuration file I noticed there was an option to uncomment</span></div>
<div>
<div style="line-height: normal;">
</div>
<ul style="text-align: left;">
<li><span style="font-family: "courier new" , "courier" , monospace;"><span style="font-size: x-small;">acl localnet src fe80::/10 </span></span><span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"># RFC 4291 link-local (directly plugged) machine</span></li>
</ul>
<br />
<div style="font-family: Monaco; font-size: 10px; line-height: normal;">
<span style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: "trebuchet ms" , sans-serif; font-size: small;">in the configuration file. Strangely the log contained entries with IPv6 addresses in them such as</span></span></div>
<div style="line-height: normal;">
</div>
<ul style="text-align: left;">
<li><span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;">fe80::225:4bff:fec9:2118 TCP_DENIED/403 3976 GET http://images.apple.com...</span></li>
</ul>
<br />
<div style="line-height: normal;">
<span style="font-family: "trebuchet ms" , sans-serif;">Could that be it?</span></div>
<div style="line-height: normal;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div style="line-height: normal;">
<span style="font-family: "trebuchet ms" , sans-serif;">Yes! </span></div>
<div style="line-height: normal;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div style="line-height: normal;">
<span style="font-family: "trebuchet ms" , sans-serif;">It still leaves open the question of whether I need to allow accesses from the IPv6 local private network range. I suspect it might be the correct thing to do but I'll leave it closed for now.</span></div>
<div style="line-height: normal;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div style="font-family: Monaco; font-size: 10px; line-height: normal;">
<span style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: "trebuchet ms" , sans-serif; font-size: small;"><br /></span></span></div>
<div style="font-family: Monaco; font-size: 10px; line-height: normal;">
<span style="font-variant-ligatures: no-common-ligatures;"><span style="font-family: "trebuchet ms" , sans-serif; font-size: small;"><br /></span></span></div>
</div>
</div>
The Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.com0tag:blogger.com,1999:blog-28021148.post-71952785099337304272015-06-12T18:08:00.001+01:002015-06-12T18:08:18.168+01:00One month with an Apple watch<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAZzaUB47yOcxrvlNVmLcZtnsjiztlgshQpvTQGVHiH2BLM8GQDXjJRYDvVagv-VlOcTkSWeuU-ro0ouMBzoMSrI6Q-MWFHD-ex8Zh2HXsuYTlhyS5RTMefZCE_O_wsgbEfYOFpw/s1600/IMG_3166.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAZzaUB47yOcxrvlNVmLcZtnsjiztlgshQpvTQGVHiH2BLM8GQDXjJRYDvVagv-VlOcTkSWeuU-ro0ouMBzoMSrI6Q-MWFHD-ex8Zh2HXsuYTlhyS5RTMefZCE_O_wsgbEfYOFpw/s400/IMG_3166.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="font-size: 12px;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgT-CLw7pugGnaOJyRloU6SU_kZC8ssaCbgT9lHn8tcNqzuF_ivuk_byNIzCrkHYIHzo-xAbM4GMZl9p4ovHPcPmjsSmvQ73ASdJ-7TaHEQt1hEoo_arCWE2LPloNjG584bUuVNGQ/s1600/IMG_3232.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgT-CLw7pugGnaOJyRloU6SU_kZC8ssaCbgT9lHn8tcNqzuF_ivuk_byNIzCrkHYIHzo-xAbM4GMZl9p4ovHPcPmjsSmvQ73ASdJ-7TaHEQt1hEoo_arCWE2LPloNjG584bUuVNGQ/s320/IMG_3232.jpg" width="240" /></a><span style="font-family: Trebuchet MS, sans-serif;">On April 11th I posted <a href="http://bloggershepherd.blogspot.co.uk/2015/04/how-to-justify-apple-watch-purchase.html">“How to justify an Apple Watch purchase”</a> as a public rationale of why I’d ordered an Apple Watch. The watch arrived a little less than four weeks later which means I’ve now being using it for a month. I’ve worn it every day; it goes on as soon as I’m awake enough and comes off when I bathe, go to bed or (spoiler alert) change the strap. It stays on when I’m in the gym, as monitoring exercise was my key rationalisation for buying it. I think I’ve had enough experience now to make it worth recording my thoughts.</span></div>
<div style="font-size: 12px;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="font-size: 12px;">
<span style="font-family: Trebuchet MS, sans-serif;">I’ll start by considering it as a watch, that is a timepiece worn on my wrist. Purely functionally it has one disadvantage compared to my electromechanical watch - the watch face is only visible when I move my wrist to angle the face towards me <i>and </i>the watch correctly detects that motion<i>.</i> It’s the second part that’s the problem, there’s what seems like only a 90% hit rate. Otherwise the watch is great, it tells the time and tells me the day of the week and date - pretty much all that my previous watch did. </span></div>
<div style="font-size: 12px;">
<span style="font-family: 'Trebuchet MS', sans-serif;"><br /></span></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2X3krcz3jQHBtbdwkCh7rBEdo9lCBTu1WsEqcJE3tR6lN6gCeRxJuMo2S5aMPX3c59k4ifoLjM_ZVnlcSO1PPj6FLE53mNvIP6x10YIMjkSo7HqKIGD5G9_78Uw2FV4CqTxnVLQ/s1600/IMG_3234.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2X3krcz3jQHBtbdwkCh7rBEdo9lCBTu1WsEqcJE3tR6lN6gCeRxJuMo2S5aMPX3c59k4ifoLjM_ZVnlcSO1PPj6FLE53mNvIP6x10YIMjkSo7HqKIGD5G9_78Uw2FV4CqTxnVLQ/s320/IMG_3234.jpg" width="240" /></a><span style="font-family: Trebuchet MS, sans-serif;"><span style="font-size: 12px;">“But Roger”, you say, “what about having to charge it?”. Firstly, the battery has lasts all day for me (except when I fail to charge it). Secondly, I already have to deal with charging my phone every night (and during the day, more often than not), and since I don’t wear my watch in bed, charging isn’t a problem. Until all my gadgets (phone, laptop, toothbrush, shaver, …) run for a coupe of weeks without charging, the charger and cable isn't a problem. </span></span><br />
<div style="font-size: 12px;">
<span style="font-family: 'Trebuchet MS', sans-serif;"><br /></span></div>
<div style="font-size: 12px;">
<span style="font-family: 'Trebuchet MS', sans-serif;">The watch feels good to wear. The rubber (“custom high-performance fluroelastomer”) straps are comfortable, warm (unlike the metal strap of my previous watch) and luxurious (honest). There is a noticeable difference between my (original) black strap and my white strap; the white feels softer and warmer when you put the watch on although I can’t say I notice the difference after a couple of minutes. </span></div>
<div>
<span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12px;"><br /></span>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEOafp2bC6U0VBCjvjN-DQ7YaAvDigTV-MqkKBJBP3TdfpQ-y-XIUdsCIXrkav92Jm1X14Q_32AUm56NKKgqgcX9Yi-S8sEVCZfBR1MON0H3r9x65VBtBKRttPFLh6S16PlH3U_g/s1600/IMG_3212.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEOafp2bC6U0VBCjvjN-DQ7YaAvDigTV-MqkKBJBP3TdfpQ-y-XIUdsCIXrkav92Jm1X14Q_32AUm56NKKgqgcX9Yi-S8sEVCZfBR1MON0H3r9x65VBtBKRttPFLh6S16PlH3U_g/s320/IMG_3212.jpg" width="256" /></a><span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12px;">The black-watch/black-strap combination is very black and very discrete. It looks good with casual clothes or a very black outfit; ideal for the Cadbury’s Milk Tray man. With a smart suit the combination is too understated; hence my purchase of the white strap. The black-watch/white-strap combination looks good and is certainly not discrete. The proof of the difference - apart from the first day when the guy sitting next to me also had a new Apple Watch, no one has commented on the watch when I’ve been wearing the black strap, whereas I’ve had a few “Is that one of those watches?” comments when I’ve been wearing the white strap.</span><br />
<br /></div>
<div>
<div style="font-family: Helvetica; font-size: 12px;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8hJ9A3Afeb19cz8nKvj0IM5xg-DKiCK1SCbcjr_mQkwsNofx8LVvgXMBj2ohnyaKTV0feFEzxMxKLDZ9p1vXNlDOMZdX54NAW7kLPTh58em17-N4lLp4S-182dkFD79Qh4FrB8A/s1600/IMG_3243.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8hJ9A3Afeb19cz8nKvj0IM5xg-DKiCK1SCbcjr_mQkwsNofx8LVvgXMBj2ohnyaKTV0feFEzxMxKLDZ9p1vXNlDOMZdX54NAW7kLPTh58em17-N4lLp4S-182dkFD79Qh4FrB8A/s320/IMG_3243.jpg" width="256" /></a>The watch offers ten different faces, all of which can be customised to some extent. There are five faces with hands to indicate the time (“analogue”) - three are fairly standard styles, one is the “Mickey Mouse” which I’d use if I were wearing a Micky Mouse tie, and the other face is a “chronograph”. The remaining five faces all use digits to display the time, although two (“Solar” and “Astronomy”) have designs which also give an analogue indication of the time. One of the digital designs (“Modular”) looks like it was designed to be a caricature of a digital watch. As I’ve worn a watch with hands for most of the past 50 years (I suppose it’s possible there was a short period when I had a digital watch) I use the “Simple” face with medium details. As well as the time this face shows the day and date, the outside temperature, the amount of battery remaining (currently 55%) and an indication of my current exercise status. The devices indicating these extra details are called “complications” and can be chosen by the wearer. If I were travelling I might choose to show local time on the hands and the time back home on one of the complications. Similarly, if I had a busy diary I might choose to show my next appointment. The complications not only show some piece of information, they can be used to switch to a watch app. For example, if I tap on the temperature (currently 25C), the weather app opens.<br />
<br /></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha3PcZ3xcwjMdV6we8fUqGqtANSHD-5w9nvuSdPQazWI9QYs6PL-ZEf-tX9O_rcz4Bd5nmadC3DTHohYiI3QhJBXXCi7_n68DTuD_sPCprm-xdFBvHK5rYI3J1tTEVgzEuxlqvbg/s1600/IMG_3211.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha3PcZ3xcwjMdV6we8fUqGqtANSHD-5w9nvuSdPQazWI9QYs6PL-ZEf-tX9O_rcz4Bd5nmadC3DTHohYiI3QhJBXXCi7_n68DTuD_sPCprm-xdFBvHK5rYI3J1tTEVgzEuxlqvbg/s320/IMG_3211.jpg" width="256" /></a><span style="font-family: Helvetica; font-size: 12px;">If you read “How to justify….” you’ll know I wanted the fitness features of the phone. Other than telling the time, the health and fitness features are the most obviously useful features the phone. That is, I think it is completely non-obvious (for example) that it might be useful to send a text message from your phone, whereas I think being able to measure your heart rate is an obviously useful function. I’m really pleased with the fitness aspects of the phone. I say "aspects" because there are two. The first aspect is using the watch when taking exercise. You select the “exercise” app, choose your activity, set any goal (time, distance, or calories) and press start. While you are exercising the watch measures and records your heart rate (frequently). When you’ve reached your goal the watch lets you know; alternatively you can tell the watch when you have finished. The watch then presents you with your statistics and they can be stored away if desired. </span><span style="font-family: Helvetica;"><span style="font-size: 12px;">The second aspect is that the watch is always recoding your activity and measuring you heartbeat, albeit less frequently than when exercising. Over the day it keeps track of how much you “exercise” (elevated heart-rate), how many calories you use, and whether you stand each hour. You can set goals for each metric. The watch keeps track of how close you are to meeting your goals, and the “fitness” app displays this using three concentric rings which fill with colour as the metrics increase. If and when you meet your goals the watch congratulates you. I like this gamification of healthy exercise - it makes me walk more and causes me not to sit slumped at my desk for hours on end. One advantage of integrating fitness functions into the watch rather than using a separate fitness band (</span>FitBit<span style="font-size: 12px;"> or whatever) is that you do not get the phenomenon where after a month or so you stop using the fitness band; it’s always there when you wear the watch.</span></span><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDq1rYOZxZWmQ98b5GFtOBluKw7hO0-5gbzAHKP8M_U9wjydTcrMSozAnW486LXsxhEmSexU8E-iwwcBZsT8g2F3J2oQGt-EBaWzI0mzcFctMLs671AJPfL0tD5Ev4S7zPfQcmPQ/s1600/IMG_3220.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDq1rYOZxZWmQ98b5GFtOBluKw7hO0-5gbzAHKP8M_U9wjydTcrMSozAnW486LXsxhEmSexU8E-iwwcBZsT8g2F3J2oQGt-EBaWzI0mzcFctMLs671AJPfL0tD5Ev4S7zPfQcmPQ/s320/IMG_3220.jpg" width="256" /></a><span style="font-family: Helvetica; font-size: 12px;"><br /></span>
<span style="font-family: Helvetica;"><span style="font-size: 12px;">The first thing which takes the Apple Watch way beyond a combination timepiece and fitness band is its utility as a communicator. You can make and take calls on the watch and send and receive messages. That is provided your iPhone is nearby. </span></span><br />
<span style="font-family: Helvetica;"><span style="font-size: 12px;"><br /></span></span>
<span style="font-family: Helvetica;"><span style="font-size: 12px;">[<i>My home has a landline, a DECT base-station and a handful of DECT cordless phones (handsets). The base station is wired to the landline and connected wirelessly to the handsets. I can take and make calls from the handsets as if they were connected to the landline but, in fact, I am relying on the DECT base-station to provide the connectivity to the phone network. I mention this because the relationship between the iPhone and the Apple Watch is similar. The watch works perfectly well as a communications device for phone calls and messages but it relies on the iPhone to provide its cellular and network connectivity. The watch connects to the iPhone via some combination of Bluetooth LE and Wifi. Exactly how they work and when they work isn’t completely clear to me but the resulting connectivity is better than if just Bluetooth LE were used].</i></span></span><br />
<span style="font-family: Helvetica;"><span style="font-size: 12px;"><br /></span></span>
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUqVlXZCP-todD9FzVfDktkvguYYkRUNRxWCMGjG_Pk8WxQ3J7jFZFz-7WW_jhXhOZzbJrGKZOgcy3eTRce3NWr0aJ8waV3-eJ4ECoRAvdyKYOHQSiuEz_dAphg5l6umhIu86Tqw/s1600/IMG_3215.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUqVlXZCP-todD9FzVfDktkvguYYkRUNRxWCMGjG_Pk8WxQ3J7jFZFz-7WW_jhXhOZzbJrGKZOgcy3eTRce3NWr0aJ8waV3-eJ4ECoRAvdyKYOHQSiuEz_dAphg5l6umhIu86Tqw/s320/IMG_3215.jpg" width="256" /></a><span style="font-family: Helvetica;"><span style="font-size: 12px;">If I get a call on my iPhone, my watch taps me on my wrist and I when I raise my wrist, I can see the caller id. I can red-button the call by touching the red button, or I can take the call by touching the green button.</span></span><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEing6Vgwac3VcfYjvPKNrDWZhT0NtbRHclmFY9d17GC3C-Bdi1SX10O9SZ1KtYi6pgVMsZFYUIXL1lwCistxR3gf3uDKMhsAKLICDVtHsBqzOoOQdqT3KuTtKNuX1PnVNhYErTG_w/s1600/IMG_3216.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEing6Vgwac3VcfYjvPKNrDWZhT0NtbRHclmFY9d17GC3C-Bdi1SX10O9SZ1KtYi6pgVMsZFYUIXL1lwCistxR3gf3uDKMhsAKLICDVtHsBqzOoOQdqT3KuTtKNuX1PnVNhYErTG_w/s320/IMG_3216.jpg" width="256" /></a><span style="font-family: Helvetica;"><span style="font-size: 12px;"><br /></span></span><br />
<span style="font-family: Helvetica;"><span style="font-size: 12px;">To make a call you bring up the “Friends” screen and select the person you want to call. You then get the option to phone, message or magic them (if they’ve also got a watch). </span></span><br />
<span style="font-family: Helvetica;"><span style="font-size: 12px;"><br /></span></span>
<br />
<span style="font-family: Helvetica; font-size: 12px;">The watch works as a speaker phone - there’s no need to speak into the watch to be heard, nor to hold it to your ear to listen to the call. I have to admit that I still pretty daft when I use the watch as a phone but I’m sure with practice I’ll get used to it. You can read incoming messages on the watch. For outgoing there are a number of canned messages (e.g. “I’m on my way”) or you can speak and have Siri convert it to text, or send it as a voice message. </span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbXkuh5qMKjfLgAdA-Ai1mxNf1n_RQ4z_UpWso1DGLWIxYPnC8KvH3Nh15WBYrWVMHAG2_knQKCpwQ1q3moTXIZLTBrGNHXYz_touwjK_ZB5Cekcxgs8yNN9qsnXXp_g5E5dVgAw/s1600/IMG_3218.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbXkuh5qMKjfLgAdA-Ai1mxNf1n_RQ4z_UpWso1DGLWIxYPnC8KvH3Nh15WBYrWVMHAG2_knQKCpwQ1q3moTXIZLTBrGNHXYz_touwjK_ZB5Cekcxgs8yNN9qsnXXp_g5E5dVgAw/s320/IMG_3218.jpg" width="256" /></a></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihcKq1grq3Nqc6DBDnHzhGnk19D1X2-AuA-1VQHnLIFh4sDW0Q1RUBJmrO_UfCuF_MO9ACdailjrxlbHoQxqs3ohudV-_ZWlkdBB_eWTTwoiEMK1yei-E10z4HcVOZ0hBuUf0xGQ/s1600/IMG_3219.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihcKq1grq3Nqc6DBDnHzhGnk19D1X2-AuA-1VQHnLIFh4sDW0Q1RUBJmrO_UfCuF_MO9ACdailjrxlbHoQxqs3ohudV-_ZWlkdBB_eWTTwoiEMK1yei-E10z4HcVOZ0hBuUf0xGQ/s320/IMG_3219.jpg" width="256" /></a><span style="font-family: Helvetica; font-size: 12px;"><br /></span><br />
<span style="font-family: Helvetica; font-size: 12px;">Siri works well on the watch. Perhaps Siri is as good on the phone now, but Siri is much better on the watch than it used to be on the phone. You can use Siri for all sorts of things on the watch and it’s much easier to do so than to fiddle with the buttons and small touch screen. The only thing I can’t do that I’d expect to do is to dictate e-mails.</span><br />
<div>
<br />
<span style="font-family: Helvetica; font-size: 12px;">The second thing which distinguishes the Apple Watch from a mere timepiece is that underneath it all it is a computer (as an iPhone is a computer). I’ve mentioned in passing two ways in which the computer functionality can be accessed - via complications and via Siri. You can also access computer functionality via “glances” and via apps. Glances primarily provide information but they can also take input. I have just a few glances enabled some of which let me check my heart rate, access my fitness information, see my diary, check the weather forecast, and control music playing on my iPhone. With the current (first) version of the watch’s software, apps are more limited than on the phone, however, I have a number of useful ones installed - Passbook, Shazam, Uber and the iPhone camera remote control. </span><br />
<span style="font-family: Helvetica; font-size: 12px;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGjfH89fjrqJNIdL3J-GW2MNy8XImymC56Xnv_3hVwcZKBrqhIO-RDhA0gttO_Mr1Y6YiK2Zyarj9mGKwYnRQWMkRv99xs_WETxJONKrVI7eoOYGBuPkLWZmuVpVVVSvH3g7HJaw/s1600/IMG_3242.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGjfH89fjrqJNIdL3J-GW2MNy8XImymC56Xnv_3hVwcZKBrqhIO-RDhA0gttO_Mr1Y6YiK2Zyarj9mGKwYnRQWMkRv99xs_WETxJONKrVI7eoOYGBuPkLWZmuVpVVVSvH3g7HJaw/s200/IMG_3242.jpg" width="160" /></a></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgi3NLRvkRE8wy1s93z9k6G3tVtsmRcmdEWchJhT72uaY7lpvCp7Kwb60KyOI-HYYsREctXQl9zpW18GsJSWwfj4nKUr8IQv8MN2A_1g0vhyphenhyphensKh1V7AJtnm_5QPdUnrkKe53CmfDg/s1600/IMG_3213.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgi3NLRvkRE8wy1s93z9k6G3tVtsmRcmdEWchJhT72uaY7lpvCp7Kwb60KyOI-HYYsREctXQl9zpW18GsJSWwfj4nKUr8IQv8MN2A_1g0vhyphenhyphensKh1V7AJtnm_5QPdUnrkKe53CmfDg/s200/IMG_3213.jpg" width="160" /></a><span style="font-family: Helvetica; font-size: 12px;">I realise that I’ve got all this way without mentioning notifications. The watch can notify you about pretty much the same things as the phone. It is really useful to get </span><i style="font-family: Helvetica; font-size: 12px;">some</i><span style="font-family: Helvetica; font-size: 12px;"> notifications on the phone. What you realise after a short while is that you must be far more selective on the watch than on the phone. I still need to get my e-mail notifications under control - I get far to too many; I want to know when I get a new e-mail from family, not when I get a special offer from Laphroaig.</span><br />
<div style="font-family: Helvetica; font-size: 12px; min-height: 14px;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-GsMyihFhJVF1jhKYql3L9uhWO1-y4Unb_4qUtCUL0efubyNA47bl9Ny3muYlAUzwPe_BU6GVtwktzeCsjKqlraXGqORe7Ymfql2hYNvHUhoNuXOo9x45Z944pMvk4YIVBmN2LA/s1600/IMG_3214.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-GsMyihFhJVF1jhKYql3L9uhWO1-y4Unb_4qUtCUL0efubyNA47bl9Ny3muYlAUzwPe_BU6GVtwktzeCsjKqlraXGqORe7Ymfql2hYNvHUhoNuXOo9x45Z944pMvk4YIVBmN2LA/s200/IMG_3214.jpg" width="160" /></a></div>
<div style="font-family: Helvetica; font-size: 12px;">
What else to say?<br />
<br /></div>
<div style="font-family: Helvetica; font-size: 12px;">
</div>
<div style="font-family: Helvetica; font-size: 12px;">
Firstly the 13-amp plug/USB adaptor is a work of art - Apple’s finest. It would be even better it had two USB outlets.</div>
<div>
<br /></div>
<div>
<div style="font-family: Helvetica; font-size: 12px;">
Secondly, despite <a href="https://twitter.com/RogerShepherd/status/595572862762745856">my tweet</a> the straps are really easy to put on and take off - nothing like the nightmare of every other watch strap I’ve ever known. </div>
<div style="font-family: Helvetica; font-size: 12px;">
<br /></div>
<div style="font-family: Helvetica; font-size: 12px;">
Thirdly, the watch really does free you from the phone. You don’t need to be looking at it so often. And I think glancing at your wrist is a little more socially acceptable than pulling out your phone and staring at it.</div>
<div style="font-family: Helvetica; font-size: 12px;">
</div>
<div style="font-family: Helvetica; font-size: 12px; min-height: 14px;">
<br /></div>
</div>
<div style="font-family: Helvetica; font-size: 12px;">
Finally a niggle. The way units are displayed in the Activity app on the iPhone isn’t right. Rather than letting you select miles or km in the app, the app determines the unit from the geographical settings on the phone. So the UK gets miles. Having spent some time puzzling and googling over this, I know I’m not the only person this affects. I’ve had a useful e-mail exchange with Jay Blahnik of Apple about this and it's being looked at.</div>
<div style="font-family: Helvetica; font-size: 12px; min-height: 14px;">
<br /></div>
<div style="font-family: Helvetica; font-size: 12px;">
Should you buy one? I don’t know but I’d buy one again. Maybe not the same model though.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5YhYGWmyl9Y3ppN3kG7zx9duyQ8g8Vv_XMlEDdho9e6XkNa90x33Qw7pfDRFynISokjsyXPqhFNVDqVwvFz6vZqM5aFx89uX3ZJDAjJLsrw6hnh55WudgYii0nalJlgvpd8kDpw/s1600/IMG_3169.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5YhYGWmyl9Y3ppN3kG7zx9duyQ8g8Vv_XMlEDdho9e6XkNa90x33Qw7pfDRFynISokjsyXPqhFNVDqVwvFz6vZqM5aFx89uX3ZJDAjJLsrw6hnh55WudgYii0nalJlgvpd8kDpw/s200/IMG_3169.jpg" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
</div>
</div>
</div>
The Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.com0Bristol, City of Bristol, UK51.454513 -2.587909999999965351.296248 -2.9106334999999652 51.612778 -2.2651864999999654tag:blogger.com,1999:blog-28021148.post-67988375466194298832015-05-30T11:29:00.001+01:002015-05-30T11:30:37.220+01:00Wearable wearables<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="border: 0px; box-sizing: border-box; color: #4d4f51; font-family: Helvetica, Arial, sans-serif; font-size: 16px; line-height: 24px; margin-bottom: 30px; padding: 0px; vertical-align: baseline;">
A little over a year ago I said</div>
<blockquote style="border: 0px; box-sizing: border-box; color: #333333; font-family: Georgia, serif; font-size: 16px; font-style: italic; line-height: 24px; margin: 0px 0px 30px; padding: 0px 5px 0px 40px; quotes: none; vertical-align: baseline;">
<em style="border: 0px; box-sizing: border-box; font-family: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Forget watches, health sensors and the rest. Clothes - as in fashion - are going to be the end-game in wearables. is an interesting article electronics and fashion. Although the <a href="http://shop.cutecircuit.com/collections/womenswear/products/iminiskirt" style="border: 0px; box-sizing: border-box; color: #96999c; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; text-decoration: none; vertical-align: baseline;" target="_blank">iMiniSkirt</a> retails for £3,750, I don't think it will be too long to move wearables from <a href="http://cutecircuit.com/" style="border: 0px; box-sizing: border-box; color: #96999c; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; text-decoration: none; vertical-align: baseline;" target="_blank">CuteCircuit</a> to<a href="http://www.primark.com/en/primania" style="border: 0px; box-sizing: border-box; color: #96999c; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; text-decoration: none; vertical-align: baseline;" target="_blank"> Primark</a>.</em></blockquote>
<div style="border: 0px; box-sizing: border-box; color: #4d4f51; font-family: Helvetica, Arial, sans-serif; font-size: 16px; line-height: 24px; margin-bottom: 30px; padding: 0px; vertical-align: baseline;">
Being a technologist, not a fashion designer, I missed seeing the opportunity offered by accessories (belts, shoes, bags). These are not constrained by size, weight and the need to feel comfortable when worn, in the same way a clothes, and I assume that's why the aforementioned CuteCiruit now has a range of <a href="http://cutecircuit.com/accessories/" rel="nofollow" style="border: 0px; box-sizing: border-box; color: #96999c; font-family: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; text-decoration: none; vertical-align: baseline;" target="_blank">accessories</a>.</div>
<div style="border: 0px; box-sizing: border-box; color: #4d4f51; font-family: Helvetica, Arial, sans-serif; font-size: 16px; line-height: 24px; margin-bottom: 30px; padding: 0px; vertical-align: baseline;">
But back to clothes, Google have just exposed Project Jacquard, which promises to deliver fashion compatible textiles which can be used as sensors. This makes clothes that respond to the wearer's motions and emotions another step nearer. </div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/qObSFfdfe7I/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/qObSFfdfe7I?feature=player_embedded" width="320"></iframe></div>
<div style="border: 0px; box-sizing: border-box; color: #4d4f51; font-family: Helvetica, Arial, sans-serif; font-size: 16px; line-height: 24px; margin-bottom: 30px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div>
<br /></div>
</div>
The Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.com0tag:blogger.com,1999:blog-28021148.post-76371215254367729862015-04-12T19:14:00.002+01:002015-04-12T19:14:39.031+01:00AxesDrawer.swift<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="font-size: 12px;">
<span style="font-family: Trebuchet MS, sans-serif;">I read once (Dave Winer?) that if you’re programming you should blog about what your doing so that when, in the future. you can’t understand what you did, there’s somewhere to turn to. My motivation is slightly different, I’d like other people to be able to find what I’ve done, and its seems to me that blogging about it will serve that need. As background, I’m following the Stanford University CS193p course (““Developing iOS 8 Apps in Swift “) on iTunesU, and I’ve found that one of sample pieces of code that Stanford hand out is bugged. I’ve failed to find a way of reporting the bug and now that I’ve fixed it, I thought it would be friendly to blog about it.</span></div>
<div style="font-size: 12px; min-height: 14px;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="font-size: 12px;">
<span style="font-family: Trebuchet MS, sans-serif;">As part of Assignment III: “Graphing Calculator” you are given the code for an <a href="http://web.stanford.edu/class/cs193p/cgi-bin/drupal/system/files/sample_code/AxesDrawer.swift_.zip">AxesDrawer</a> class to use as part of the project. The AxesDrawer class provides a function </span></div>
<div style="font-family: Helvetica; font-size: 12px; min-height: 14px;">
<br /></div>
<div style="font-size: 12px; text-align: left;">
<span style="font-family: Courier New, Courier, monospace;"> drawAxesInRect(bounds: CGRect, origin: CGPoint, pointsPerUnit: CGFloat)</span></div>
<div style="font-family: Helvetica; font-size: 12px; min-height: 14px;">
<br /></div>
<div style="font-size: 12px;">
<span style="font-family: Trebuchet MS, sans-serif;">which draw, and label, those portions of the x and y axes with origin “origin” which sit within the bounds “bounds” of the current view. </span></div>
<div style="font-size: 12px; min-height: 14px;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="font-size: 12px;">
<span style="font-family: Trebuchet MS, sans-serif;">The first thing to state clearly is that the code as supplied by Standford works functionally; if you use the code it draws axes correctly. I did not find the problem from using the code, only from reading the code to try and understand how the code worked. </span></div>
<div style="font-size: 12px; min-height: 14px;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="font-size: 12px;">
<span style="font-family: Trebuchet MS, sans-serif;">The tricky part of the code is labelling the axes. The code has to decide the x (or y) increment between labels, and it then has to draw all the labels which are visible. The decision about the increment between labels is made on the basis of the size of the labels and the current scaling of the axes. The code computes the increment in terms of the number of points (drawing elements) per label. The variable </span><span style="font-family: Courier New, Courier, monospace;">pointsPerHashMark</span><span style="font-family: Helvetica;"> </span><span style="font-family: Trebuchet MS, sans-serif;">is used to hold this value. </span></div>
<div style="font-size: 12px; min-height: 14px;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="font-size: 12px;">
<span style="font-family: Trebuchet MS, sans-serif;">The mechanism behind the labelling of the code is straightforward. I’ll first explain it with the assumption that the origin sits within the bounds of the current view, then I’ll explain how it works when the origin is not within the bounds. The idea is that the code works from the origin outwards. The first set of potential labels are at </span><span style="font-family: Courier New, Courier, monospace;">(pointsPerHaskMark, 0)</span><span style="font-family: Trebuchet MS, sans-serif;"> and </span><span style="font-family: Courier New, Courier, monospace;">(-pointsPerHaskMark, 0)</span><span style="font-family: Trebuchet MS, sans-serif;"> on the x-axis, and </span><span style="font-family: Courier New, Courier, monospace;">(0 ,pointsPerHaskMark)</span><span style="font-family: Trebuchet MS, sans-serif;"> and </span><span style="font-family: Courier New, Courier, monospace;">(0, -pointsPerHaskMark)</span><span style="font-family: Trebuchet MS, sans-serif;"> on the y-axis. The second set of potential labels are </span><span style="font-family: Courier New, Courier, monospace;">(2*pointsPerHaskMark, 0)</span><span style="font-family: Trebuchet MS, sans-serif;"> and </span><span style="font-family: Courier New, Courier, monospace;">(-2*pointsPerHaskMark, 0)</span><span style="font-family: Trebuchet MS, sans-serif;"> on the x-axis, and</span><span style="font-family: Courier New, Courier, monospace;"> (0 ,2*pointsPerHaskMark) </span><span style="font-family: Helvetica;">and</span></div>
<div style="font-size: 12px;">
<span style="font-family: Helvetica;"></span><span style="font-family: Courier New, Courier, monospace;">(0,-2*pointsPerHaskMark)</span><span style="font-family: Trebuchet MS, sans-serif;"> on the y-axis. And so on. Of course, at given distance from the origin, not all of the labels may fall within the bounds, and so the code checks whether each potential label falls within the bounds before plotting it.</span></div>
<div style="font-size: 12px; min-height: 14px;">
<br /></div>
<div style="font-size: 12px;">
<span style="font-family: Courier New, Courier, monospace;"> if let leftHashmarkPoint = alignedPoint(x: bbox.minX, y: origin.y, insideBounds:bounds)</span></div>
<div style="font-size: 12px;">
<span style="font-family: Courier New, Courier, monospace;"> {</span></div>
<div style="font-size: 12px;">
<span style="font-family: 'Courier New', Courier, monospace;"> drawHashmarkAtLocation(leftHashmarkPoint, .Top("-\(label)"))</span></div>
<div style="font-size: 12px;">
<span style="font-family: Courier New, Courier, monospace;"> }</span></div>
<div style="font-size: 12px; min-height: 14px;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="font-size: 12px;">
<span style="font-family: Trebuchet MS, sans-serif;">Eventually, at some distance from the origin, all of the potential labels fall outside the bounds, and the labelling can stop. The way the code controls the loop which performs the labelling is interesting. Initially the code sets up a rectangle (CGRect) whose centre is at the origin and whose x and y dimensions are pointsPerHashMark * 2; that is the bounds of the rectangle (in fact a square) are +/-pointsPerHashMark. </span></div>
<div style="font-size: 12px; min-height: 14px;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="font-size: 12px;">
<span style="font-family: Courier New, Courier, monospace;"> var startingHashmarkRadius: CGFloat = 1</span></div>
<div style="font-size: 12px;">
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div style="font-size: 12px;">
<span style="font-family: Courier New, Courier, monospace;"> …</span></div>
<div style="font-size: 12px; min-height: 16px;">
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div style="font-size: 12px;">
<span style="font-family: Courier New, Courier, monospace;"> // now create a bounding box inside whose edges those four hashmarks lie</span></div>
<div style="font-size: 12px;">
<span style="font-family: Courier New, Courier, monospace;"> let bboxSize = pointsPerHashmark * startingHashmarkRadius * 2 </span></div>
<div style="font-size: 12px;">
<span style="font-family: Courier New, Courier, monospace;"> var bbox = CGRect(center: origin, size: CGSize(width: bboxSize, height: bboxSize))</span></div>
<div style="font-size: 12px; min-height: 14px;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="font-size: 12px;">
<span style="font-family: Trebuchet MS, sans-serif;">On each iteration the size of the rectangle is increased to (by 2*pointsPerHaskMark in each dimension)) so as to include the next set of potential labels. </span></div>
<div style="font-size: 12px; min-height: 14px;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="font-size: 12px;">
<span style="font-family: Courier New, Courier, monospace;"> bbox.inset(dx: -pointsPerHashmark, dy: -pointsPerHashmark)</span></div>
<div style="font-size: 12px; min-height: 14px;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="font-size: 12px;">
<span style="font-family: Trebuchet MS, sans-serif;">The code detects termination of the labelling process by testing whether the view (area to be plotted) sits entirely within this rectangle. Once it does, any further potential labels must sit outside the view and so do not need plotting.</span></div>
<div style="font-size: 12px; min-height: 14px;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="font-size: 12px;">
<span style="font-family: Courier New, Courier, monospace;"> while !CGRectContainsRect(bbox, bounds)</span></div>
<div style="font-size: 12px; min-height: 16px;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="font-size: 12px;">
<span style="font-family: Trebuchet MS, sans-serif;">Now lets looks at what happens when the origin is outside of the view. The mechanism used in the code will work, albeit inefficiently. Because labels are only plotted if they are in the view, no spurious labels are plotted. But more interestingly, if we start labelling from the origin outwards, and use the code’s termination test, all the necessary labels will appear and the code will terminate. As the size of the rectangle (bbox) increases on each iteration, it will eventually contain the view, at which point all labels will have been plotted and the loop will terminate. </span></div>
<div style="font-size: 12px; min-height: 14px;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="font-size: 12px;">
<span style="font-family: Trebuchet MS, sans-serif;">So to efficiency. The first potential inefficency is do any work when there are no axes to plot. This is dealt by a simple test of the start of </span><span style="font-family: Courier New, Courier, monospace;">drawAxesInRect</span></div>
<div style="font-family: Monaco; font-size: 12px; min-height: 16px;">
<br /></div>
<div style="font-size: 12px;">
<span style="font-family: Courier New, Courier, monospace;"> if ((origin.x >= bounds.minX) && (origin.x <= bounds.maxX)) ||</span></div>
<div style="font-size: 12px;">
<span style="font-family: Courier New, Courier, monospace;"> ((origin.y >= bounds.minY) && (origin.y <= bounds.maxY))</span></div>
<div style="font-size: 12px; min-height: 14px;">
<span style="font-family: Trebuchet MS, sans-serif;"> </span></div>
<div style="font-size: 12px;">
<span style="font-family: Trebuchet MS, sans-serif;">The second inefficiency occurs when there is an axis to plot but the origin is outside the view. Suppose the origin is at (-100, 0), the view has a minimum x value of 0 and we have decided that labels will be plotted every 10 points. In this case the view will contain a portion of the a-axis starting at 100 with labels at 100, 110, etc. If the code does nothing to deal with this case, it work out from the origin and try (and fail) to plot labels at distances of 10, 20 and up to 90 points from the origin until it starts to plot at 100 points distant from the origin. An optimisation that can be done is to detect the case that the origin is outside the view</span></div>
<div style="font-size: 12px; min-height: 14px;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="font-size: 12px;">
<span style="font-family: Courier New, Courier, monospace;"> if !CGRectContainsPoint(bounds, origin) {</span></div>
<div style="font-size: 12px; min-height: 14px;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="font-size: 12px;">
<span style="font-family: Trebuchet MS, sans-serif;">and then determine how far the first plottable label is from the origin. This is what the code attempts to do and where the bugs occur.</span></div>
<div style="font-size: 12px; min-height: 16px;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="font-size: 12px;">
<span style="font-family: Courier New, Courier, monospace;"> let leftx = max(origin.x - bounds.maxX, 0)</span></div>
<div style="font-size: 12px;">
<span style="font-family: Courier New, Courier, monospace;"> let rightx = max(bounds.minX - origin.x, 0)</span></div>
<div style="font-size: 12px;">
<span style="font-family: Courier New, Courier, monospace;"> let downy = max(origin.y - bounds.minY, 0)</span></div>
<div style="font-size: 12px;">
<span style="font-family: Courier New, Courier, monospace;"> let upy = max(bounds.maxY - origin.y, 0)</span></div>
<div style="font-size: 12px;">
<span style="font-family: Courier New, Courier, monospace;"> startingHashmarkRadius = min(min(leftx, rightx), min(downy, upy)) / pointsPerHashmark + </span><span style="font-family: 'Courier New', Courier, monospace;">1</span></div>
<div style="font-size: 12px; min-height: 14px;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="font-size: 12px;">
<span style="font-family: Trebuchet MS, sans-serif;">The first bug is that one of </span><span style="font-family: Courier New, Courier, monospace;">left</span><span style="font-family: Trebuchet MS, sans-serif;">, </span><span style="font-family: Courier New, Courier, monospace;">right</span><span style="font-family: Trebuchet MS, sans-serif;">, </span><span style="font-family: Courier New, Courier, monospace;">downy</span><span style="font-family: Trebuchet MS, sans-serif;"> or </span><span style="font-family: Courier New, Courier, monospace;">upy</span><span style="font-family: Trebuchet MS, sans-serif;"> must be zero, hence </span><span style="font-family: Courier New, Courier, monospace;">min(min(leftx, rightx), min(downy, upy))</span><span style="font-family: Trebuchet MS, sans-serif;"> is also zero and </span><span style="font-family: Courier New, Courier, monospace;">startingHashmarkRadius</span><span style="font-family: Trebuchet MS, sans-serif;"> is 1. To see that one value must be zero, without loss of generality, consider the case where the x axis will be plotted. Again, wlog, consider the case where the origin is to the left of the view. In this case </span><span style="font-family: Courier New, Courier, monospace;">origin.x - bounds.maxX</span><span style="font-family: Trebuchet MS, sans-serif;"> will be negative and hence </span><span style="font-family: Courier New, Courier, monospace;">leftx</span><span style="font-family: Trebuchet MS, sans-serif;"> will be zero. I won’t speculate about why the code got written like this, but unless testing beyond simple functional checks were done, this bug wouldn’t be caught.</span></div>
<div style="font-size: 12px; min-height: 14px;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="font-size: 12px;">
<span style="font-family: Trebuchet MS, sans-serif;">There is a second bug also present which I ran into when I fixed the first one. I’ll leave it as an exercise until later.</span></div>
<div style="font-size: 12px; min-height: 14px;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div style="font-size: 12px;">
<span style="font-family: Trebuchet MS, sans-serif;">Reusing the case above, for the x-axis, </span><span style="font-family: Courier New, Courier, monospace;">origin.x - bounds.maxX</span><span style="font-family: Trebuchet MS, sans-serif;"> will be negative, but </span><span style="font-family: Courier New, Courier, monospace;">bounds.minX - origin.x</span><span style="font-family: Helvetica;">, the distance of the origin to the view, will be positive. Looking at the y dimension, </span><span style="font-family: Courier New, Courier, monospace;">bounds.minY - origin.y</span><span style="font-family: Helvetica;"> will be negative, as will be </span><span style="font-family: Courier New, Courier, monospace;">origin.y - bounds.minY</span><span style="font-family: Monaco;"> </span><span style="font-family: Trebuchet MS, sans-serif;">since the y-coordinate of the origin sits between the min and max y-coordinates of the view. The distance of the origin from the view is, therefore, the one positive value amongst the four. Can can therefore, take the maximum of the four values. Accordingly my first attempt at a fix was </span></div>
<div style="font-size: 12px; min-height: 14px;">
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div style="font-size: 11px;">
<span style="font-family: Courier New, Courier, monospace;"> let rightx = origin.x - bounds.maxX</span></div>
<div style="font-size: 11px;">
<span style="font-family: Courier New, Courier, monospace;"> let leftx = -(origin.x - bounds.minX)</span></div>
<div style="font-size: 11px;">
<span style="font-family: Courier New, Courier, monospace;"> let downy = origin.y - bounds.maxY</span></div>
<div style="font-size: 11px;">
<span style="font-family: Courier New, Courier, monospace;"> let upy = -(origin.y - bounds.minY)</span></div>
<div style="font-size: 11px;">
<span style="font-family: Courier New, Courier, monospace;"> startingHashmarkRadius = (max(max(leftx, rightx), max(downy, upy) / pointsPerHashmark) + 1</span></div>
<div style="font-family: Helvetica; font-size: 11px; min-height: 13px;">
<br /></div>
<div style="font-size: 11px;">
<span style="font-family: Trebuchet MS, sans-serif;">When I used this version the effect was weird. I’d pan a view, pulling the graph and axes across the screen until one axis went out of bounds. At this point the other axis stopped panning (although the plotted graph continued panning) but the labels incremented each time I had panned by more than the distance between two labels. This was the second bug. The problem is that the code computes the distance of the origin to the view, whereas what is needed is the distance of the origin from the first label. The fix is to the floor of the division to get an integral number of labels and then to add 1. So, the code which fixes the second bug looks like</span></div>
<div style="font-family: Helvetica; font-size: 11px; min-height: 13px;">
<br /></div>
<div style="font-size: 11px;">
<span style="font-family: Courier New, Courier, monospace;"> let rightx = origin.x - bounds.maxX</span></div>
<div style="font-size: 11px;">
<span style="font-family: Courier New, Courier, monospace;"> let leftx = -(origin.x - bounds.minX)</span></div>
<div style="font-size: 11px;">
<span style="font-family: Courier New, Courier, monospace;"> let downy = origin.y - bounds.maxY</span></div>
<div style="font-size: 11px;">
<span style="font-family: Courier New, Courier, monospace;"> let upy = -(origin.y - bounds.minY)</span></div>
<div style="font-size: 11px;">
<span style="font-family: Courier New, Courier, monospace;"> startingHashmarkRadius = floor(max(max(leftx, rightx), max(downy, upy) / pointsPerHashmark) + 1</span></div>
</div>
The Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.com2tag:blogger.com,1999:blog-28021148.post-67012866922162048502015-04-11T09:46:00.002+01:002015-04-11T09:46:31.457+01:00How to justify an Apple Watch purchase<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhR264SnMoRoWwMgLgmgWb2EchxdmeHH65DK8THepVVzDsju3f5YyoaAJS1SBCX87KGgt2Ub-KuleBLhVjZD46oRnXspD1cmhc7FOekU8nxhyhkjr2ZKNazOIxpXy_EDLDzeg72-w/s1600/s38sg-sbbk-detail.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhR264SnMoRoWwMgLgmgWb2EchxdmeHH65DK8THepVVzDsju3f5YyoaAJS1SBCX87KGgt2Ub-KuleBLhVjZD46oRnXspD1cmhc7FOekU8nxhyhkjr2ZKNazOIxpXy_EDLDzeg72-w/s1600/s38sg-sbbk-detail.jpeg" height="320" width="320" /></a></div>
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">I'm a watch wearer. I have a nice electromechanical watch which my wife gave me. It keeps time well, it shows me the time, the day of the week and the day of the month. It harvests energy from movements of my wrist and in the time I've owned the watch it's never run down. It has a nice enough dial, it is a little thicker than I'd like - it doesn't slip under shirt-sleeve cuffs as easily as it might, but all in all I'm very happy with it. I wear it from when I put it on in the morning until when I take it off at night - and it comes off when I'm bathing, exercising in the gym, or swimming. At night it sits on my bedside table.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">I have an iPhone (5S). I have it on or about me most of the time. At night it sits next to my bed charging. I use the phone for the usual things, checking the news, sending and receiving messages, tracking my travel and my fitness, listening to podcasts and music. It would be better if the screen were larger, the size were smaller and the battery lasted better (yes, I see the conflict). Overall I'm pretty pleased with the phone.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">I don't have a (working) heart monitor, nor a "fitness device" like a FitBit. I used to use a heart rate monitor when I started out doing exercise (mountain biking and going to the gym). I found it useful - it helped me learn to pace myself when biking. At one time I was using a gps to track my biking route; when I got home I'd correlate the route with the record from the heart-rate monitor, a laborious process at the time. I'd like to get a heart rate monitor which interfaced to my phone properly.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">The phone tracks movement quite well. The problem is that I don't have the phone on my person when I exercise in the gym. It's with me so I can listen to whatever (worthy podcasts) while I exercise, but I don't wear it. As a result, the phone thinks I'm immobile while I'm pounding the treadmill, rowing, cycling, or whatever. I keep track of the time and "calories" that the gym machine report and dutifully record them in MapMyRide. However, this experience could be improved. It would be great not to have to take the phone with me into the gym, it would be great to have all the recording done for me, and it would be good to have my heart rate recorded.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">Clearly an £8,000 Rose Gold Apple Watch Edition (with sports band - off course) is just what I need.... or perhaps not. But a £300 aluminium Sports Watch (38mm) just might be. Or maybe it should be the 42mm. And which strap? </span><span style="font-family: 'Trebuchet MS', sans-serif;">So off to the Apple store to find out. There seems to be a lot of interest in making try-on appointments, the Apple Concierge website crawled up and down (not as badly as did the Kate Bush pre-order website), and I eventually ended up with an appointment at 9:15am. </span><br />
<span style="font-family: 'Trebuchet MS', sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">I rolled up just after nine, was greeted on my way in, introduced to the guy who would show me the watch. The Apple store had a couple of tables devoted to the watch. One was a show case partly populated with an assortment of watches including a few Editions. The other was used used for the try-ons; it has a number of drawers under the table top, unlocked by the demonstrators' check-out device. I told my Apple guy that I was interested in the Sport model, I wasn't sure which size watch I wanted, and I'd like to see both the black and white straps. "No problem!" except there was; he couldn't open the drawer and had to seek a colleague's help. I tried on a 38mm white and a 42mm black. The rubber straps felt great and comfortable, nice and warm. Even though I'm sure that white (Ive-ory?) is the preferred colour, I think white always looks discoloured (an effect of ageing?) and so avoid it if possible. I must say that the white looks pretty good but it isn't discrete, so black it is for me; if I wanted my watch to stand out I'd go for pink or green. Then to size. The 42mm is about the same size, maybe slightly larger than my current watch, the 38mm seemed better. So, decision made, <i>if </i>I get a watch it will be the 38mm space grey aluminium with black rubber strap. "Can I take a look at the stainless steel ones as well?"; "Sure". The straps are great, really nicely engineered. The Milanese Loop is gorgeous, the Link Bracelet very butch and the Modern Buckle wonderful.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">Function? Good question. The try-ons were running a demo loop; I can understand why display models should run the loop, but the try-ons would be better if they were running the actual watch software. With the loop I couldn't tell how well the display auto-on worked, nor could I really tell how good the watch faces looked on my wrist, nor could I really tell how easy the device was to operate on the wrist. There were some mounted watches running the standard software which I used. The force-touch seems easy to use, the digital crown might be a bit fiddly but I expect that with practice it gets to be easy. The display is very bright, there is some control available, I suspect I'll want the brightness down and the colours muted a little. The watch faces looked good; the home screen flowed really well, but one or two other things seemed a bit slow. I don't think it's possible to get a feel for how well a complex device like this works until you've lived with it - it wasn't obviously broken.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">After my try-on I took a look at the display case. The Rose Gold looks good! So do the bright sports straps - perhaps I should get one as an accessory if I buy a watch?</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">And the <i>if</i>? I decided to order but shipping wasn't until June. So I didn't; I wanted instant gratification. But I placed an order that afternoon.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">Finally - the new MacBook. There weren't any in the store. </span><br />
<br />
<br /></div>
The Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.com1tag:blogger.com,1999:blog-28021148.post-60219426914715777252015-02-22T12:40:00.001+00:002015-02-22T12:40:40.360+00:0013th Floor Elevators - Youre Gonna Miss Me (best quality)<iframe allowfullscreen="" frameborder="0" height="344" src="https://www.youtube.com/embed/47SI1FddVqY" width="459"></iframe>The Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.com0tag:blogger.com,1999:blog-28021148.post-70515470555522237502015-01-14T13:24:00.000+00:002015-01-14T13:24:07.186+00:00Avvays<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Trebuchet MS, sans-serif;">I love this song</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/TguNuNicPc0?feature=player_embedded' frameborder='0'></iframe></div>
<br /></div>
The Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.com0tag:blogger.com,1999:blog-28021148.post-27813739379990125032015-01-01T01:57:00.001+00:002015-01-01T01:57:05.649+00:00Tis true<a href="http://skiingjim.blogspot.co.uk/2014/12/getting-ready.html?m=1">http://skiingjim.blogspot.co.uk/2014/12/getting-ready.html?m=1</a>Skiing Jim: Getting ReadyThe Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.com0tag:blogger.com,1999:blog-28021148.post-58268159368318448422014-12-16T11:30:00.000+00:002014-12-16T11:30:22.163+00:00Book Hive<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Trebuchet MS, sans-serif;">2014 saw "Book Hive" in the City Library here in Bristol. I don't know why I didn't get round to blogging about this at the time but better, late than never. This is a short video I put together from sequences taken at the library and a Dorkbot event where the artists talked about how the installation was put together.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/VpQh5FZbqtg?feature=player_embedded' frameborder='0'></iframe></div>
<br /></div>
The Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.com0tag:blogger.com,1999:blog-28021148.post-46802051560289950192014-12-04T10:46:00.000+00:002014-12-04T10:47:34.562+00:00Pomplamoose<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Trebuchet MS, sans-serif;">Pomplamoose are an interesting indie band. Some of their covers are great, some of their original songs are great, and some not so much to my taste. But they are nearly always entertaining and I really like the way their videos often expose the way way in which they are put together. The Pharrall Mashup (Happy Get Lucky) is a case in point.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/i7X8ZnmLfM0?feature=player_embedded' frameborder='0'></iframe></div>
<br />
<span style="font-family: Trebuchet MS, sans-serif;">I also find Pomplamoose interesting because they are an example of an indie band as a small business. Jack Conte (the half of the band that isn't Nataly Dawn) recently exposed the economics of their latest tour with <a href="https://medium.com/@jackconte/pomplamoose-2014-tour-profits-67435851ba37">this article</a> on Medium.</span></div>
The Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.com0tag:blogger.com,1999:blog-28021148.post-10572328610045281632014-07-31T09:45:00.001+01:002014-07-31T09:45:42.118+01:00A Rainbow in Curved Air<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Trebuchet MS, sans-serif;">Last night saw me in Bristol's Old Vic theatre for the third night in a row, this time to see and listen to a performance of <a href="http://en.wikipedia.org/wiki/Terry_Riley">Terry Riley's</a> "<a href="http://en.wikipedia.org/wiki/A_Rainbow_in_Curved_Air">A Rainbow in Curved Air</a>" by <a href="http://en.wikipedia.org/wiki/Charles_Hazlewood">Charles Hazlewood</a>'s <a href="http://www.charleshazlewood.com/all-star-collective/">All Star Collective</a> and <a href="http://danceroom-spec.com/">Danceroom Spectroscopy</a>. I'd seen the All Stars perform the piece last year - in fact, embarrassingly, their performance was my introduction to this seminal work - and was keen to hear it again, and whatever else they'd play in the concert.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6Rt4v1TuvgZO0ahu7tQzM9e2GxxPTaFuf_POnAnINjdyBaHsKDV6ft2WHHo9ednxIkk31o4yysAe4MZa2bZv58XwC0lBQBkL8-lQfCYU9e3oqNpgtAgDDzUs70OrpK7ewd6xarg/s1600/DSC00678.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6Rt4v1TuvgZO0ahu7tQzM9e2GxxPTaFuf_POnAnINjdyBaHsKDV6ft2WHHo9ednxIkk31o4yysAe4MZa2bZv58XwC0lBQBkL8-lQfCYU9e3oqNpgtAgDDzUs70OrpK7ewd6xarg/s1600/DSC00678.jpg" height="265" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Trebuchet MS, sans-serif;">Charles Hazlewood educates the audience prior to the performance</span></td></tr>
</tbody></table>
<span style="font-family: Trebuchet MS, sans-serif;">I wasn't disappointed; not at all. Charles Hazlewood introduced the piece with a short lecture about the nature of minimalist music and explained that the night's performance would follow the form of Rilley's piece but would be improvised and that the musicians would be interacting with Danceroom Spectroscopy's visuals.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx9Pjz63ShmJm6JzUTbNs7QYG6TTPG-LBqoDIt4ui1S5nlgayMUF_doEYw08_oU8wrpvQKgri-5_D-qdqK1ooMwyem11FkwdAjqcV3X0jawIfNyWjhst_LwR9GlWnecCZHbTqBWg/s1600/DSC00682.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx9Pjz63ShmJm6JzUTbNs7QYG6TTPG-LBqoDIt4ui1S5nlgayMUF_doEYw08_oU8wrpvQKgri-5_D-qdqK1ooMwyem11FkwdAjqcV3X0jawIfNyWjhst_LwR9GlWnecCZHbTqBWg/s1600/DSC00682.jpg" height="265" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Trebuchet MS, sans-serif;">Charles Hazelwood, Will Gregory, Ross Hughes </span></td></tr>
</tbody></table>
<span style="font-family: Trebuchet MS, sans-serif;">And what a performance it was. Danceroom Spectroscopy' visuals were spot on, a great blend of abstract, photographic and algorithmic, and I enjoyed seeing the band members interacting with the visuals. Sonically the performance was grounded in the late 1960s with parts coming straight from Rilley's original and parts sounding like they'd been sampled from the more experimental parts of Pink Floyd's <a href="http://en.wikipedia.org/wiki/The_Piper_at_the_Gates_of_Dawn">The Piper at The Gates of Dawn</a> or from the first two <a href="http://en.wikipedia.org/wiki/Soft_Machine">Soft Machine</a> albums. The piece became very free-form at times, and just as it seemed on the edge of falling to apart Tony Orrell's drumming would bring structure back into the piece and bring the audience to edge of their seats. </span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">Overall a great evening. I hope someone has recorded it and a copy finds its way in to my hands. The Pit at The Old Vic was a great place to see the performance from - although the next time I'll opt for standing rather than sitting. The only other thing I'd change would be to project the visuals over the whole performance area rather than on a screen - then we'd really be back in the 60s. </span></div>
The Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.com0tag:blogger.com,1999:blog-28021148.post-86132442720564668512014-07-26T14:50:00.000+01:002014-07-26T14:50:09.745+01:00iBeacons<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Trebuchet MS, sans-serif;">Catching up after my summer break, I'm delighted to have discovered some <a href="http://en.wikipedia.org/wiki/IBeacon">iBeacon</a> activity going on here in Bristol. The <a href="http://cpagroup.co.uk/">CPAgroup</a> are "making sense of iBeacons and their application in the real world" and they have an interesting project "<a href="http://shufdy.com/">Shufdy</a>" with its own iPhone app which is experimenting with the technology around Bristol. </span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">Me, I'm going out to see whether I can find any iBeacons.</span></div>
The Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.com0tag:blogger.com,1999:blog-28021148.post-84990372465700493492014-05-09T09:14:00.001+01:002014-05-09T09:16:56.725+01:00Wearables<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="font-size: 15px; line-height: 20px; margin-bottom: 1em; margin-top: 1em;">
<span style="color: white; font-family: Trebuchet MS, sans-serif;">Forget watches, health sensors and the rest. Clothes - as in fashion - are going to be the end-game in wearables. <span data-mce-style="overflow:hidden;line-height:0px" data-mce-type="bookmark" id="mce_1_start" style="line-height: 0px; overflow: hidden;"><a data-mce-href="http://www.metropolismag.com/Point-of-View/May-2014/Its-Electric-Wearable-Tech-Goes-Haute-Couture/" href="http://www.metropolismag.com/Point-of-View/May-2014/Its-Electric-Wearable-Tech-Goes-Haute-Couture/" style="outline: medium;">This</a></span> is an interesting article electronics and fashion. Although the <a data-mce-href="http://shop.cutecircuit.com/collections/womenswear/products/iminiskirt" href="http://shop.cutecircuit.com/collections/womenswear/products/iminiskirt" style="outline: medium;">iMiniSkirt</a> retails for £3,750, I don't think it will be too long to move wearables from <a data-mce-href="http://cutecircuit.com" href="http://cutecircuit.com/" style="outline: medium;">CuteCircuit</a> to<a data-mce-href="http://www.primark.com/en/primania" href="http://www.primark.com/en/primania" style="outline: medium;"> Primark</a>.</span></div>
<h2>
</h2>
</div>
The Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.com0tag:blogger.com,1999:blog-28021148.post-50197485643961627112014-05-01T15:49:00.000+01:002014-05-01T15:49:38.078+01:00Generation Y considers driving to be a distraction to texting<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Trebuchet MS, sans-serif;">I've just spent two days at The Future World Symposium organised by the NMI (trade association for the UK Electronic Systems, Microelectronics and Semiconductor Communities). With a broad agenda covering the Connected Home, Connected Intelligence, the Internet of Things, and Autonomous Systems, the standard of presentations was high. I thought the following were the most significant:</span><br />
<br />
<ul style="text-align: left;">
<li><span style="font-family: 'Trebuchet MS', sans-serif;">James Younger, Parliamentary Under Secretary of State for Intellectual Property at the Department for Business, Innovation & Skills. This was significant because of his appearance rather than what he said. Several years of effort by the NMI have resulted in the UK government recognising the existence of our important industry sector. It was also interesting to hear a Conservative minister talking about Industrial Strategy.<br /></span></li>
<li><span style="font-family: 'Trebuchet MS', sans-serif;">Hossein Yassaie, CEO Imagination. Interesting analysis comparing the UK and South Korea, and a restatement of his views (expounded in the ESCO report) on the importance of developing global brands.<br /></span></li>
<li><span style="font-family: 'Trebuchet MS', sans-serif;">Keith Robertson, Linn. Argued that as things in the home become connected, opportunities arise to rethink (reimagine) how products and services are constructed. Keith looked at the recored music industry and how Linn has evolved its thinking. He gave a very nice example of product personalisation where the acoustic properties of individual speaker drivers are measured at assembly time and the digital processing within that speaker is tweak to optimise playback. Being Linn, it's not "mass customisation" but it points the way.<br /></span></li>
<li><span style="font-family: 'Trebuchet MS', sans-serif;">Wally Rhines, Mentor. Interesting analysis of cost structures in microelectronics and the end of Moore's Law. To me he seemed to end up saying "but it will be alright, something will happen to make sure we continue of the learning curve". I have some sympathy for this view, I've seen the industry overcome enough "fundamental barriers" to have hope but.....<br /></span></li>
<li><span style="font-family: 'Trebuchet MS', sans-serif;">Simon Knowles, Xmos. Set out his view that machine intelligence was a field ripe for commercial implementation if only we could do it economically. At the moment we are one or two orders of magnitude short of computational power, and with the death of Dennard scaling and the decline of Moore's law, we're not going to get their with conventional computer. Furthermore, some of the techniques we use to gain performance in conventional computers and GPUs (caches, vector units) don't work for machine intelligence applications. We need new, parallel architectures, to deliver machine intelligence at the consumer scale. Simon is positioning this as the largest opportunity since the computer.<br /></span></li>
<li><span style="font-family: 'Trebuchet MS', sans-serif;">Finella Frost. Explained why I need to spend £2000 to improve the lighting in my home. Not many people I spoke to appeared to be convinced by Lighting 2.0.<br /></span></li>
<li><span style="font-family: 'Trebuchet MS', sans-serif;">Anthony Baxendale, MIRA. Useful insight into some of the problems of increasing the amount of automation in road vehicles. Enjoyed the characterisation of different types of automation as "hands off" (e.g. parking assist) and "foot off" (adaptive cruise control) with "brain off" being the challenging step.</span></li>
</ul>
<br />
<div>
<span style="font-family: Trebuchet MS, sans-serif;">Stepping back from the details, there were a number of themes that came through. Everything will be connected; there will be disasters along the way. Autonomy will come to vehicles (and aircraft) in time, but but may take generational change for it to become acceptable; "Generation Y considers driving to be a distraction to texting".</span></div>
<div>
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div>
<br /></div>
</div>
The Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.com0tag:blogger.com,1999:blog-28021148.post-78686583271304829662014-01-10T10:41:00.002+00:002014-01-10T10:41:22.775+00:00My Inspirational Story<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="tr_bq">
<span style="font-family: Trebuchet MS, sans-serif;">I don't think I need to be in "2014 Top Professional Magazine" even though it is an "honor is only bestowed upon the most distinguished men and women". On the other hand, perhaps the world deserves to hear "my inspirational story"? </span></div>
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<span style="font-family: Trebuchet MS, sans-serif;">I wonder whether there is even a single human on the "special committee"? My money is a web-bot that scraped my name from LinkedIn. </span><br />
<br />
<span style="font-family: Trebuchet MS, sans-serif;">Why not come out and say "Our special committee think you are so inarticulate and dull that we need to write you entry ourselves, rather than beating about the bush with </span><span style="font-family: 'Trebuchet MS', sans-serif;">"Our professional writers will then craft an articulate, interesting, and informative portrayal of your accomplishments that will be both a treasured legacy and an impressive addition to your professional career". </span><br />
<div>
<br /></div>
<blockquote>
<span style="font-family: Trebuchet MS, sans-serif;"><i>Dear Roger,</i></span> </blockquote>
<blockquote>
<span style="font-family: Trebuchet MS, sans-serif;"><i>You have been chosen to represent your industry in the next *2014 Top Professional Magazine*. I am thrilled to notify you that you have been approved for publication by a special committee. Your inspirational story may be featured in this esteemed and professional magazine.</i></span> </blockquote>
<blockquote>
<span style="font-family: Trebuchet MS, sans-serif;"><i>This honor is only bestowed upon the most distinguished men and women. There is NO COST or obligation to be included.</i></span></blockquote>
<blockquote>
<span style="font-family: Trebuchet MS, sans-serif;"><i>After confirming your acceptance, your space within the magazine will be reserved. Our professional writers will then craft an articulate, interesting, and informative portrayal of your accomplishments that will be both a treasured legacy and an impressive addition to your professional career.</i></span></blockquote>
<blockquote>
<span style="font-family: Trebuchet MS, sans-serif;"><i>Only your prompt response is required to ensure your inclusion.<br />To accept this invitation to appear in the *2014 Top Professional Magazine* go to:</i></span></blockquote>
<blockquote>
<span style="font-family: Trebuchet MS, sans-serif;"><i>**Our registration deadline is Friday, January 31st, 2014. We must receive this verification on or before that date to include you in the magazine.**</i></span></blockquote>
<blockquote>
<span style="font-family: Trebuchet MS, sans-serif;"><i>On behalf of our Selection Committee, it is a pleasure to welcome you and to share and celebrate your many personal, professional and academic achievements.</i></span> </blockquote>
<blockquote>
<span style="font-family: Trebuchet MS, sans-serif;"><i>David Parten<br />Editor in Chief<br />23-35 Steinway St Ste A<br />Astoria, NY 11105<br />United States</i></span></blockquote>
<div>
<br /></div>
</div>
The Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.com3tag:blogger.com,1999:blog-28021148.post-20975343273507401622013-12-07T12:22:00.001+00:002013-12-07T12:22:35.438+00:00Highlights - Donna Maciocia<span style="font-family: Trebuchet MS, sans-serif;">I'm so slow - I went to Donna's gig at The Canteen in Bristol at the end of October and haven't got round to mentioning it. I was so pleased to see her live so many years after first coming across her work in Amplifico. </span><span style="font-family: 'Trebuchet MS', sans-serif;">It was a very good gig, she and Gideon Conn, played a lot of music from their new album* and some old favourites. I was pleased to pick up a copy of "Fists At The Sky" on proper CD. I'm a sucker for for physical media - I've bought the new album on vinyl, and I've not been able to play vinyl for at least a decade.</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br />
</span> <span style="font-family: Trebuchet MS, sans-serif;">[*OK - it is an LP each side of which is an EP, one by Donna, one by Gideon. Of course, I'm old enough to remember when EPs were 7" vinyl with two tracks on each side. Donna's side does have four tracks, but Gideon's has five - go figure]. </span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br />
</span> <span style="font-family: Trebuchet MS, sans-serif;">This is a photo of Donna paying her Uke:</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br />
</span> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKyocWyBqrpFyuZvoLzFgPxCT9-NmrbU21sRSGIqoX4lscYYo2KIauOanjsgJ3yWzujAhnv1ns3YASrPiZuplGI8l3IDfKtYNoCRVctlo-4i7X7oiVn1uk0g9DtRuR4yYY__D94A/s1600/2013-10-29+21.33.58.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKyocWyBqrpFyuZvoLzFgPxCT9-NmrbU21sRSGIqoX4lscYYo2KIauOanjsgJ3yWzujAhnv1ns3YASrPiZuplGI8l3IDfKtYNoCRVctlo-4i7X7oiVn1uk0g9DtRuR4yYY__D94A/s320/2013-10-29+21.33.58.jpg" width="159" /></a></div><span style="font-family: Trebuchet MS, sans-serif;"> </span><br />
<br />
<span style="font-family: Verdana, sans-serif;">and this is a video for the excellent "Highlights".</span><br />
<br />
<iframe allowfullscreen="" frameborder="0" height="344" src="//www.youtube.com/embed/YBcXXrirgQg" width="459"></iframe>The Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.com0tag:blogger.com,1999:blog-28021148.post-90912416984653414202013-11-09T06:40:00.001+00:002013-11-09T06:42:25.890+00:00Lasers and Gravity do the work<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Trebuchet MS, sans-serif;"><a href="http://www.hpi.uni-potsdam.de/baudisch/projects/laserorigami.html">LaserOrigami</a> is a cool technique.</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/arjRtCjI9AQ?feature=player_embedded' frameborder='0'></iframe></div>
<br /></div>
The Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.com0tag:blogger.com,1999:blog-28021148.post-67278309225764969032013-09-28T22:04:00.001+01:002013-09-28T22:04:18.714+01:00Insight into why iOS7 applications run faster in 64-bit mode than 32-bit mode<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<span style="font-family: Trebuchet MS, sans-serif;">I'd been wondering about quite how Apple had been getting the impressive performance improved reported in some of the iPhone 5S v iPone 5 benchmarks. The improvement is better than could be explained just by the ISA changes, and it seemed unlikely that Apple would have made microarchitectural improvements that impacted only 64-bit mode. I've just read an <a href="http://www.mikeash.com/pyblog/friday-qa-2013-09-27-arm64-and-you.html">article</a> which sets out how Apple are exploiting the ARM64 architecture to speed up the critical software operations of object creation and destruction. To summarise, when supporting a 8 Gbyte virtual user address space (iOS7), a 64-bit value can contain many bits of information in addition to those needed to hold the address, and this is what Apple has done. The article's author, Mike Ash, reports very significant speed-ups (1.9x to 2.4x):</span><br />
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span>
<div style="text-align: left;">
<span style="font-family: Trebuchet MS, sans-serif;"><i>"My casual benchmarking indicates that basic object creation and destruction takes about 380ns on a 5S running in 32-bit mode, while it's only about 200ns when running in 64-bit mode. If any instance of the class has ever had a weak reference and an associated object set, the 32-bit time rises to about 480ns, while the 64-bit time remains around 200ns for any instances that were not themselves the target."</i></span></div>
<div style="text-align: left;">
<span style="font-family: Trebuchet MS, sans-serif;"><i><br /></i></span></div>
<div style="text-align: left;">
<span style="font-family: Trebuchet MS, sans-serif;"><i><br /></i></span></div>
</div>
The Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.com0tag:blogger.com,1999:blog-28021148.post-43985424039768025822013-08-29T22:31:00.002+01:002013-08-29T22:31:41.336+01:00IFTTT<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Trebuchet MS, sans-serif;">I've just started playing with <a href="http://www.ifttt.com/">IFTTT</a> (IF This Then That). </span><span style="font-family: 'Trebuchet MS', sans-serif;">So far I've set things up to copy my <a href="https://alpha.app.net/rogershepherd" rel="nofollow">app.net</a> stream to <a href="https://twitter.com/rogershepherd" rel="nofollow">Twitter</a> and to send a message on app.net when I submit a new blog post - just to see how things work. I think there are some useful things I'll do with pictures - making sure that new Facebook, Foursquare and other photos get filed somewhere central. </span></div>
The Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.com0tag:blogger.com,1999:blog-28021148.post-34779755551149991402013-08-29T07:18:00.000+01:002013-08-29T07:18:15.954+01:00Advertisement Inspiration<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Trebuchet MS, sans-serif;"><a href="http://www.collegehumor.com/video/6905817/every-tech-commercial">Advert</a> for my new-start. </span><span style="font-family: 'Trebuchet MS', sans-serif;">The Verge </span><a href="http://www.theverge.com/2013/8/28/4669966/collegehumor-every-tech-commercial-parody" style="font-family: 'Trebuchet MS', sans-serif;">thinks</a><span style="font-family: 'Trebuchet MS', sans-serif;"> this is absolutely state-of-the-art.</span><br />
<br /></div>
The Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.com0tag:blogger.com,1999:blog-28021148.post-59947637227408165732013-08-15T07:59:00.000+01:002013-08-15T07:59:37.195+01:00Wireless and powerless<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Trebuchet MS, sans-serif;"><a href="http://gigaom.com/2013/08/13/researchers-invent-wireless-morse-code-for-the-internet-of-things/">This</a> looks rather interesting. But by the time some genius had decided that it is necessary to use IPv6 what data rate will be achieved?</span><br />
<br /></div>
The Editorhttp://www.blogger.com/profile/00750939859695685490noreply@blogger.com0