tag:blogger.com,1999:blog-68320264416875460652023-10-03T01:42:22.769-07:00Purposeful TechWhen I was younger, tech was exciting for what I could do with it... now, it excites me with what it can do for me.
Whether it's the tech or myself that is changing, I know that what I want now is Purposeful TechThe Unknown Techhttp://www.blogger.com/profile/10638156417360579614noreply@blogger.comBlogger12125tag:blogger.com,1999:blog-6832026441687546065.post-25188983819772019952022-08-10T13:27:00.003-07:002022-08-10T13:27:26.724-07:00Pushover Plugin for IntelliJ<p> One of the more annoying problems I face on a daily basis is the slow compile times of my current primary project at work.</p><p>To be fair, this is a lot less of a problem than it used to be; prior to our upgrade from Scala 2.11 to Scala 2.13, compilation would regularly take 30 minutes or more. These days, it’s typically around 5 minutes for a full rebuild - still annoying, but hardly as much of a time sink.</p><p>However, I do still occasionally have to rebuild old versions, or run the database initialisation task, which does still take a long time.</p><p>Wouldn’t it be nice if I could go off and do something else, and get notified (on my phone) once it’s complete?</p><p><span></span></p><a name='more'></a><p></p><p>Enter my newest project - an IntelliJ plugin that sends a Pushover notification when a build completes, or when any execution completes.</p><p>Currently, it works on time-based thresholds (configurable separately for Builds and Executions). For example, you can get a ping when a build completes, if it took more than a minute… or when a run configuration completes, if it took more than 10 minutes.</p><p>However, this is not ideal for interactive run configurations (which is where I spend most of my time), so v0.0.3 will hopefully introduce a checkbox on the run configuration that allows per-configuration selection of whether or not the notification is sent.</p><p>Current, the v0.02 beta is available on the JetBrains marketplace - take a look here: https://plugins.jetbrains.com/plugin/19651-pushover-notification</p><p>To install it into IntelliJ, you'll need to a <a href="https://plugins.jetbrains.com/docs/marketplace/custom-release-channels.html" target="_blank">custom release channel</a> - specifically, <span style="font-family: courier;">https://plugins.jetbrains.com/plugins/beta/list</span> - or download it from the marketplace and install it manually.<br /></p>
The Unknown Techhttp://www.blogger.com/profile/10638156417360579614noreply@blogger.com0tag:blogger.com,1999:blog-6832026441687546065.post-13196750684705811622022-06-19T10:51:00.003-07:002022-06-19T14:43:53.097-07:00Eliminating a Joda Time Dependency<p> A short time ago, I started work on a new project, which would be based on the Scala Play framework.</p><p>Part of this project required some authentication logic, and I stumbled upon the <a href="https://github.com/honeycomb-cheesecake/play-silhouette" target="_blank">Play Silhouette</a> library. Unfrotunately, this depends on Joda Time, which in 2022 (and, particularly, post the introduction of the Java Time API in Java 8) seems old-hat.</p><p>I therefore set about creating a PR to remove Joda Time from this library. It seemed simple... replace all the uses of Joda's DateTime with a ZonedDateTime from Java Time, remove the dependency on Joda Time, and we're done... right?</p><p>Wrong.<span></span></p><a name='more'></a><p></p><p>For some reason, even after removing the direct dependency on Joda Time, the Joda Time classes remained available in the project's classpath. Clearly, there's some transitive dependency that causes this library to be added unexpectedly.</p><p>A quick check <a href="https://www.baeldung.com/scala/sbt-dependency-tree">online</a>, and I've added addDependencyTreePlugin to my plugins.sbt, and run sbt dependencyBrowseTree to find where Joda is being added.</p><p></p><ul style="text-align: left;"><li> Various places...<br /></li><ul><li><a class="jstree-anchor" id="j1_20_anchor" tabindex="-1">com.typesafe.play:play_2.13:2.8.16</a></li><ul><li><a class="jstree-anchor jstree-hovered" id="j1_111_anchor" tabindex="-1">com.typesafe.play:play-json_2.13:2.8.2</a> </li><ul><li><a class="jstree-anchor jstree-search" id="j1_129_anchor" tabindex="-1">joda-time:joda-time:2.10.5</a> </li></ul></ul></ul></ul><p> Looking at the Play framework itself, the default support for Joda Time was removed in v2.6, and we're using the very latest (at time of writing) 2.8.16, so I wouldn't have expected to see Joda Time here.</p><p>However - the play-json project didn't actually remove Joda Time until v2.9.x - checking out the 2.8.2 branch used by Play 2.8.16, it seems that removing Joda is still a TODO item: https://github.com/playframework/play-json/blob/b82966d7b523410f55e52b62811609765ceccb25/build.sbt#L246</p><p>Now, Play-Silhouette itself doens't directly add a dependency on Play-JSON - it's added by the dependency on the main Play framework - so we'll have to override that dependency so that we get the newer Play-JSON library that no longer depends on Joda Time.</p><p>A quick tweak of build.sbt later to add the explicit dependency on Play-JSON:2.9.2 and... oh, we're not done.</p><p>Unfortunately, Play-Silhouette is composed of many sub-modules, and each of these has a separate dependency on the Play framework. So, instead of just adding the dependency in one place, we have to add it in all the places the Play framework itself is added.</p><p>Checking using the Dependency Browse Tree command, we no longer see Joda Time, and we also no longer see Play-JSON 2.8.2 - instead, we see Play-JSON 2.9.2</p><ul style="text-align: left;"><li>Various places...</li><ul><li><a class="jstree-anchor" id="j1_22_anchor" tabindex="-1">com.typesafe.play:play_2.13:2.8.16</a></li><ul><li><a class="jstree-anchor jstree-search jstree-hovered" id="j1_94_anchor" tabindex="-1">com.typesafe.play:play-json_2.13:2.8.2 (evicted by 2.9.2)</a></li><li><a class="jstree-anchor jstree-search jstree-hovered" id="j1_95_anchor" tabindex="-1">com.typesafe.play:play-json_2.13:2.9.2</a> <br /></li></ul></ul></ul><p> Unfortunately, one sub-module still has a dependency on Joda Time - that's the Silhouette-CAS module, which in turn depends on Java-Jas-Client</p><ul style="text-align: left;"><li><a class="jstree-anchor jstree-clicked" id="j1_1_anchor" tabindex="-1">io.github.honeycomb-cheesecake:play-silhouette-cas_2.13:8.0.3-SNAPSHOT</a></li><ul><li><a class="jstree-anchor" id="j1_1579_anchor" tabindex="-1">org.jasig.cas.client:cas-client-support-saml:3.6.4</a> </li><ul><li aria-labelledby="j1_1583_anchor" aria-level="3" aria-selected="false" class="jstree-node jstree-leaf" id="j1_1583" role="treeitem"><a class="jstree-anchor jstree-search" id="j1_1583_anchor" tabindex="-1">joda-time:joda-time:2.10.13</a></li></ul></ul></ul><p>So, the next step will be to submit a PR on that repo to migrate that to Java 8 Time as well. Hopefully, that will be a really easy sell, as they only seem to use the Joda time API internally for date parsing and date arithmatic, and all their public API is standard java.util.Date. Watch this space for an update on that...</p><p>For now... have a look at the commit that removes the transitive dependencies here: https://github.com/Rocketeer007/play-silhouette/commit/021b2591f2db0bbc78437438c3da66f9d3d71cf8</p><p>PR on Play-Silhouette: https://github.com/honeycomb-cheesecake/play-silhouette/pull/28</p><p>PR on Java-Jas-Client: https://github.com/apereo/java-cas-client/pull/711<br /></p>The Unknown Techhttp://www.blogger.com/profile/10638156417360579614noreply@blogger.com0tag:blogger.com,1999:blog-6832026441687546065.post-44344074467826883392018-07-22T06:46:00.001-07:002018-07-22T06:48:18.237-07:00Deploying create-react-app on nginx with a separate backendSo... you've followed the instructions <a href="https://medium.freecodecamp.org/how-to-make-create-react-app-work-with-a-node-backend-api-7c5c48acb1b0">here</a> and created your shiny new React app, with its own server-side element. Now you want to deploy it to your Production server, which runs nginx... how will you approach it?<br />
<h4>
The naïve way</h4>
Quick and simple - clone your project, start the server and client services, and point nginx at your client app, same as you did during development. The "proxy" config in the client app then redirects requests to the backend server.<br />
<br />
Does this seem right? I don't think so... <br />
<br />
<a name='more'></a><br />
You're now going to be told off by React for using the Dev version in Production, and it kind of spoils the whole point of being able to compile it to a single JavaScript if you keep using the Dev server in Production!<br />
<h4>
The <i>express</i> way</h4>
All the documentation I initially read suggests to do this using Express. Modify your Express configuration (for your back-end) so that it serves up the compiled React app from <span style="font-family: "courier new" , "courier" , monospace;">client/build</span><br />
You'll then point nginx at your <br />
<br />
It's a better idea - now at least you only have one express server runnning... but it still doesn't feel quite right. The whole point of your initial setup was that you could separate client and server, but now your server app has to be changed so that it can host the client too?<br />
<h4>
The <i>nginx</i> way</h4>
This, to me, is the right way. We build the React app and create compiled JavaScript with Production optimisations, and get nginx to serve those static files directly. If the client requests a file that doesn't exist, it attempts to use the backend service instead.<br />
<br />
This can be done as follows with a simple nginx configuation:<br />
<br />
<script src="https://gist.github.com/Rocketeer007/13897dee2b7001bf879957d97c9ec3cc.js"></script>
Here, we tell nginx to serve files on port 80 with the particular servername from the build directory of my deployed application.<br />
Using the magic of <a href="http://nginx.org/en/docs/http/ngx_http_core_module.html#try_files">try_files</a>, anything that isn't found is instead fetched from the node_backend - here assumed to be running on the same server, on port 5000.<br />
<br />
Simple, efficient, and no changes to code needed!The Unknown Techhttp://www.blogger.com/profile/10638156417360579614noreply@blogger.com0tag:blogger.com,1999:blog-6832026441687546065.post-35621635954150385742017-11-22T03:35:00.002-08:002017-11-22T03:37:06.674-08:00Windows 10 Fall Creators Update Emoji in the UKThe Windows 10 Fall Creators update had a shiny new feature: hit [Win+]; or [Win+.] and you get a popup appear that lets you enter emoji directly into pretty much any supporting text field, Word document or even your IDE.<br />
<br />
However, for anyone without a US keyboard, it seemed that you were stuck... the keyboard shortcut was only enabled for the en-US keyboard layout, so it wouldn't work if your keyboard layout was set to UK or anything else.<br />
<br />
However, with a little trickery from this site, I've managed to get it working for the UK keyboard layout, and presumably any other layout you might want to use.<br />
<br />
First, find the correct culture code here: <a href="https://msdn.microsoft.com/en-gb/library/ee825488(v=cs.20).aspx">https://msdn.microsoft.com/en-gb/library/ee825488(v=cs.20).aspx</a><br />
I wanted en-GB, which is <span style="font-family: "Courier New", Courier, monospace;">0x0809</span><br />
Then, copy the registry keys for the Emoji keyboard from <span style="font-family: "Courier New", Courier, monospace;">[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Input\Settings\proc_1\loc_0409\im_1]</span> to your own locale - in my case, <span style="font-family: "Courier New", Courier, monospace;">[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Input\Settings\proc_1\loc_0809\im_1]</span><br />
<br />
For a UK keyboard, a reg file like this does the job:<br />
<br />
<script src="https://gist.github.com/Rocketeer007/babc95a8cacb3f192e0484663cb62fb2.js"></script>The Unknown Techhttp://www.blogger.com/profile/10638156417360579614noreply@blogger.com0tag:blogger.com,1999:blog-6832026441687546065.post-10965638583616204232017-10-22T03:51:00.000-07:002017-10-22T04:35:02.933-07:00iOS 11 Upgrade WoesiOS 11 is here, and with it the demise of any 32-bit apps that you might have been using. Apple helpfully provides a way to see which apps will stop working before you upgrade - and it was quite a shock to the system when I checked.<br />
<br />
Going to Settings / General / About on my iPhone, I see that I have 462 applications installed - clicking that text shows the full list of incompatible applications... 49 in my case! On my iPad, things are even worse; 501 applications, 97 of which will stop working!<br />
<br />
Below, I've listed all of these apps, together with my thoughts about what I'm going to do about losing this particular app, and links to my chosen replacements. As you might expect... this is going to be a work in progress, and I'll be updating this post as I go!<br />
<br />
<table border="0" cellpadding="0" cellspacing="0" class="alternate-pairs">
<colgroup>
<col style="width: 104pt;" width="138"></col>
<col style="width: 38pt;" width="50"></col>
<col style="width: 50pt;" width="67"></col>
<col style="width: 240pt;" width="320"></col>
</colgroup>
<tbody>
<tr>
<td height="20" style="border-bottom: .5pt solid black; border-left: none; border-right: none; border-top: .5pt solid black; color: black; font-size: 11.0pt; font-weight: 700; height: 15.0pt; width: 104pt;" width="138">Application</td>
<td style="border-bottom: .5pt solid black; border-left: none; border-right: none; border-top: .5pt solid black; color: black; font-size: 11.0pt; font-weight: 700; width: 38pt;" width="50">iPad</td>
<td style="border-bottom: .5pt solid black; border-left: none; border-right: none; border-top: .5pt solid black; color: black; font-size: 11.0pt; font-weight: 700; width: 50pt;" width="67">iPhone</td>
<td style="border-bottom: .5pt solid black; border-left: none; border-right: none; border-top: .5pt solid black; color: black; font-size: 11.0pt; font-weight: 700; width: 192pt;" width="256">Description</td>
</tr>
<tr>
<td height="20">12 Days</td>
<td style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: 400; text-decoration: none;"><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td>Gift of the day for Christmas.</td>
</tr>
<tr>
<td colspan="4"><b>Action:</b> Defunct, so delete</td>
</tr>
<tr>
<td height="20">12 Days (*)</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td>Another, similarly named Christmas gift app</td>
</tr>
<tr>
<td colspan="4"><b>Action:</b> Defunct, so delete</td>
</tr>
<tr>
<td height="20">1Path</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td>Pathfinding game</td>
</tr>
<tr>
<td colspan="4"><b>Action:</b> Delete</td>
</tr>
<tr>
<td height="20">300 Workout</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td>Workout app based on the film 300</td>
</tr>
<tr>
<td colspan="4"><b>Action:</b> Delete</td>
</tr>
<tr>
<td height="20">AA Parking</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Parking map</td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>Seems to have been merged into the main AA app</td>
</tr>
<tr>
<td height="20">Alain Ducasse</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td>Recipes</td>
</tr>
<tr>
<td colspan="4"><b>Action:</b> Delete</td>
</tr>
<tr>
<td height="20">Amex UK-iPad</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">AppGratis</td>
<td style="font-family: "calibri",sans-serif; font-size: 11pt; font-weight: 400; text-decoration: none;"><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Free app of the day</td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>Delete
and abandon; these free app services mostly seem to give away apps I'm not
interested in.</td>
</tr>
<tr>
<td height="20">AppGratis HD</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td>Free app of the day</td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>As above... and the few times I have found a useful app, it seems that a week later the company
produces a "Pro" version that's a separate purchase anyway!</td>
</tr>
<tr>
<td height="20">AppOfTheDay</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td>Free
app of the day</td>
</tr>
<tr>
<td colspan="4"><b>Action:</b> As above for AppGratis<br />
<b></b></td>
</tr>
<tr>
<td height="20">Beat On</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Metronome</td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>Neat feature of this app was that it allowed you to tap out a tempo.<span style="mso-spacerun: yes;"> </span>Need to find a replacement!</td>
</tr>
<tr>
<td height="20">Bookworm</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Fun letter puzzle game</td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>Delete</td>
</tr>
<tr>
<td height="20">Brain Test</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Candy Train</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">CloudOn</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">CLZ Books HD</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Cockpit</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Devolo control software</td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>Just use the PC software, sadly</td>
</tr>
<tr>
<td height="20">Compass</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Contraptions</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Crazy Raider</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Curiosity</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Debenhams</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">DH3</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Eye-Fi</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Control software for Eye-Fi card</td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>Hardware is end-of-life already, no solution</td>
</tr>
<tr>
<td height="20">F1 Challenge</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">FarmVille</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Fieldrunners2</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Fun tower defense game</td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>Delete</td>
</tr>
<tr>
<td height="20">Fit</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Garmin exercise app</td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>Delete</td>
</tr>
<tr>
<td height="20">Flybe Business</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>FlyBe Magazine app</td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>Delete</td>
</tr>
<tr>
<td height="20">Flybe Uncovered</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>FlyBe Magazine app</td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>Delete</td>
</tr>
<tr>
<td height="20">FrozenLexicon</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Word
puzzle game</td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>Delete</td>
</tr>
<tr>
<td height="20">Geared</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Gear
puzzle game</td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>Delete</td>
</tr>
<tr>
<td height="20">GearedHD</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td>Gear
puzzle game</td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>Delete</td>
</tr>
<tr>
<td height="20">Giftshare</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Greek</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Greek Translation</td>
</tr>
<tr>
<td colspan="4"><b>Action:</b> Find a replacement next time I go to Greece</td>
</tr>
<tr>
<td height="20">Greenredeem</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Green loyalty points</td>
</tr>
<tr>
<td colspan="4"><b>Action:</b> Just use the website, I guess</td>
</tr>
<tr>
<td height="20">HE Everest</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">httpebble</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Pebble Smart Watch app</td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>This is one of a number of apps that links to my Pebble. Since the
Pebble is discontinued, I've kinda given up on apps for it, which is a
shame</td>
</tr>
<tr>
<td height="20">iSee Files For Visio</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">iSSH</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>SSH, Remote Desktop and Wake-on-LAN</td>
</tr>
<tr>
<td colspan="4"><b>Action:</b> This is my biggest loss, and will need a lot of research to choose a replacement, as most of the good alternatives appear to be paid apps</td>
</tr>
<tr>
<td height="20">iWOL</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Wake-on-LAN app</td>
</tr>
<tr>
<td colspan="4"><b>Action:</b> Will need replacing</td>
</tr>
<tr>
<td height="20">Jungle</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Kapow Free HD</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Link Free</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Lync 2013</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Magic 2014</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Mahjong</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Game</td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>Delete</td>
</tr>
<tr>
<td height="20">Metro Phone Edition</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Newspaper</td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>Delete</td>
</tr>
<tr>
<td height="20">MoneyWiz</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">MovieCharade</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Game</td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>Delete</td>
</tr>
<tr>
<td height="20">MPG w/Ads</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Mileage and petrol tracking</td>
</tr>
<tr>
<td colspan="4"><b>Action:</b> Already replaced with <a href="https://itunes.apple.com/gb/app/road-trip-mpg-mileage-and-fuel-economy/id298398207?mt=8">Road Trip</a></td>
</tr>
<tr>
<td height="20">My Measures</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">MyFitnessPal</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">NanoBlockesLite</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">NHM Alive</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Node</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Node.JS interpreter</td>
</tr>
<tr>
<td colspan="4"><b>Action:</b> How this ever arrived on the App Store, I don't know... but it's gone, and I doubt it will ever come back</td>
</tr>
<tr>
<td height="20">Num Addict</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Number
Game</td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>Delete</td>
</tr>
<tr>
<td height="20">Odeon Magazine</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">One Minute Changes</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Guitar chord training app</td>
</tr>
<tr>
<td colspan="4"><b>Action:</b> Find a replacement, or build my own<br />
<b></b></td>
</tr>
<tr>
<td height="20">OneTuner</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Multiple radio stations</td>
</tr>
<tr>
<td colspan="4"><b>Action:</b> Delete - I don't listen to radio much anyway!</td>
</tr>
<tr>
<td height="20">OnLive Viewer</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Packing</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Paper Zoo</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Paris Metro</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Paris Metro map</td>
</tr>
<tr>
<td colspan="4"><b>Action:</b> Switch to <a href="https://itunes.apple.com/gb/app/navitime-transit/id1262989655?mt=8">NaviTime Transit</a>, which seems better anyway</td>
</tr>
<tr>
<td height="20">Pebble Faces</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Pebble Smart Watch faces app</td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>This is one of a number of apps that links to my Pebble. Since the
Pebble is discontinued, I've kinda given up on apps for it, which is a
shame</td>
</tr>
<tr>
<td height="20">PetrolPrices</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Photobucket</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">PhotoMagic</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Photo effects</td>
</tr>
<tr>
<td colspan="4"><b>Action:</b> Delete</td>
</tr>
<tr>
<td height="20">PipeLand</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Really good water-pipe puzzle game</td>
</tr>
<tr>
<td colspan="4"><b>Action:</b> Sadly, delete it, since the developer seems to have stopped working</td>
</tr>
<tr>
<td height="20">PipeLand HD</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Pirates!</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Planetary</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">pocket BLU</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">PopSci+</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Premier Inn</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">PuzzlerWorld2</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Quidco</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">RAD Soldiers</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Radiation</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">RATP Pure</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Re</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">RecipeMark</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">ReversiHD</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Rimshot!</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Ringer</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Rokco</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Room Design</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Rosecliff HD</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Sainsburys</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Loyalty App</td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>Merged into Nectar app</td>
</tr>
<tr>
<td height="20">Score!</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Scrobbler</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">ShanghaiHD</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Shark Dash</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Shazam</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Six Pack Abs</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Sky News</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Skyrim</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">SmartWatch+</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Pebble Watch Face app</td>
</tr>
<tr>
<td colspan="4"><b>Action:</b> This is one of a number of apps that links to my Pebble. Since the Pebble is discontinued, I've kinda given up on apps for it, which is a shame<br />
<b></b></td>
</tr>
<tr>
<td height="20">Solitaire</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Card
Game</td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>Delete</td>
</tr>
<tr>
<td height="20">Song Speed</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">SpiritLevel</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Uses iPhone gyros as a Spirit Level</td>
</tr>
<tr>
<td colspan="4"><b>Action:</b> Find a replacement!</td>
</tr>
<tr>
<td height="20">Taboo Buzzer</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">TapDefenseHD</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Tesco Finder</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Demo of Tesco API</td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>Delete… and build my own version!</td>
</tr>
<tr>
<td height="20">Tesco Food</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">The Crib</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">TicketScanner</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Timeli</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">To-Fu</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">toptable</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">toptable (*)</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">TouchTerm</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>SSH Terminal</td>
</tr>
<tr>
<td colspan="4"><b>Action:</b> Find a replacement</td>
</tr>
<tr>
<td height="20">Touchwood</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Loyalty
App</td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>Delete</td>
</tr>
<tr>
<td height="20">Travelodge</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Hotel booking app</td>
</tr>
<tr>
<td colspan="4"><b>Action:</b> Delete, and search again next time I stay there!</td>
</tr>
<tr>
<td height="20">TTR Premium</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">UltiMaze</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Vlingo</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Voice Translator</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Waitrose</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Shopping app for Waitrose</td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>Delete</td>
</tr>
<tr>
<td height="20">Was That You</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Windowshop</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Word Lens</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">Words HD Free</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20">YO! Calc</td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td>Yo! Sushi plate counter</td>
</tr>
<tr>
<td colspan="4"><b>Action:</b> Either find a replacement, or build my own</td>
</tr>
<tr>
<td height="20">YO! Sushi</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b>Either find a replacement, or build my own</td>
</tr>
<tr>
<td height="20">Zombie Dice</td>
<td><span style="color: lime;"><span style="font-size: 125%;">✔</span></span></td>
<td><span style="color: red;"><big>✘</big></span></td>
<td><br /></td>
</tr>
<tr>
<td colspan="4"><b>Action: </b></td>
</tr>
<tr>
<td height="20" style="border-bottom: .5pt solid black; border-left: none; border-right: none; border-top: .5pt solid black; color: black; font-size: 11.0pt; font-weight: 700; height: 15.0pt; text-underline-style: none;">Total</td>
<td style="border-bottom: .5pt solid black; border-left: none; border-right: none; border-top: .5pt solid black; color: black; font-size: 11.0pt; font-weight: 700; text-underline-style: none;">98</td>
<td style="border-bottom: .5pt solid black; border-left: none; border-right: none; border-top: .5pt solid black; color: black; font-size: 11.0pt; font-weight: 700; text-underline-style: none;">49</td>
<td style="border-bottom: .5pt solid black; border-left: none; border-right: none; border-top: .5pt solid black; color: black; font-size: 11.0pt; font-weight: 700; text-underline-style: none;"><br /></td>
</tr>
</tbody></table>
<br />The Unknown Techhttp://www.blogger.com/profile/10638156417360579614noreply@blogger.com0tag:blogger.com,1999:blog-6832026441687546065.post-3059213521632599732017-10-15T10:28:00.000-07:002017-10-18T14:27:43.027-07:00Simple Score Pad - Released!Ladies & gentleman, boys and girls, prepare to be astonished, perplexed and... disappointed!<br />
<br />
Yes, it's that time - I've finally submitted my first App to Apple for review prior to distribution on the App Store.<br />
<br />
Following the lessons of Lean development, it doesn't do much more than act as a simple score pad (yes, the clue was in the name), to save you reaching for pen and paper when you need to keep score in any kind of real-world game.<br />
<br />
Happy downloading (when it's approved, of course!)<br />
<br />
<b>Update: It's been approved! Download now from <a href="https://itunes.apple.com/gb/app/id1293444780" target="_blank">iTunes</a></b> <br />
<a href="https://itunes.apple.com/gb/app/simple-score-pad/id1293444780?mt=8" style="display:inline-block;overflow:hidden;background:url(https://linkmaker.itunes.apple.com/assets/shared/badges/en-us/appstore-lrg.svg) no-repeat;width:135px;height:40px;background-size:contain;"></a>The Unknown Techhttp://www.blogger.com/profile/10638156417360579614noreply@blogger.com0tag:blogger.com,1999:blog-6832026441687546065.post-3988546967191168402017-03-12T08:08:00.001-07:002017-03-12T08:08:22.091-07:00Aggregating Reports in Multi-Module Maven ProjectsWith a highly complex multi-module Maven build, it can be very useful to use the Site generation feature of Maven to produce HTML reports for Unit and Integration Test results, as well as code coverage. This can save scrolling back through pages of console output to try and figure out which Unit Test has unexpectedly failed<br />
<br />
However, by default, Maven will produce a separate report for each module, which can mean having to click through many different modules to figure out which one contains the failure - especially when the module Name (shown in the Maven log) doesn't correspond directly to the path where it can be found.<br />
<br />
Fortunately, Maven does have some report aggregating capabilities. Less fortunately, these seem to be poorly documented online - either that, or everyone else figured it out with no help at all!<br />
<br />
<h3>
Module Configuration</h3>
I've set up a simple demo project to explore how this can be done effectively. My scope included the following requirements:<br />
<ul>
<li>Aggregate the Unit Test reports (Surefire) in a single place</li>
<li>Aggregate the Integration Test reports (Failsafe) in a single place</li>
<li>Aggregate the Code Coverage report (Jacoco) in a single place</li>
</ul>
<div>
Additionally, to match the real-world scenario that prompted this investigation, I wanted to cover the interesting edge case of an "Integration Test Only" module - ideally, failures in this module would be aggregated in with the Failsafe reports, and the aggregated code coverage report from Jacoco would include the coverage from the integration tests.</div>
<div>
<br /></div>
<div>
So, my starting position looks like this:</div>
<div>
<ul>
<li>module1</li>
<li>module2</li>
<li>component-test (depends on module1 & module2)</li>
</ul>
<div>
The next step is to combine these three modules into a single Maven build, and here's where it gets interesting. It seems that there are two separate principles in play in Maven, which are often conflated into a single implementation: <a href="http://maven.apache.org/pom.html#Inheritance_v" target="_blank">Inheritance vs. Aggregation</a></div>
</div>
<div>
<br /></div>
<div>
The best article I've found on the topic is a <a href="http://stackoverflow.com/a/21590120/1167334" target="_blank">StackOverflow answer</a>, which led me to the two possible solutions below:</div>
<div>
<ul>
<li>parentAggregate</li>
<ul>
<li>module1 (inherits from parentAggregate)</li>
<li>module2 (inherits from parentAggregate)</li>
<li>component-test (inherits from parentAggregate, depends on module1 & module2)</li>
</ul>
</ul>
<div>
or</div>
</div>
<div>
<ul>
<li>aggregate</li>
<ul>
<li>parent</li>
<li>module1 (inherits from ../parent)</li>
<li>module2 (inherits from ../parent)</li>
<li>component-tests (inherits from ../parent, depends on module1 & module2)</li>
</ul>
</ul>
</div>
<div>
The key difference between these two solutions is the build order. The parent module is always built before any child modules - so parentAggregate is built before module1 or module2. However, with the separate parent and aggregate model, the aggregate module is built last, after all modules are completed. This is quite interesting and important when it comes to creating aggregate reports for Jacoco.</div>
<div>
<br /></div>
<div>
The project I've inherited uses the parentAggregate model, which at first glance seems to be the more elegant solution. There's no need to specify the relative path for the parent, and the directory structure directly matches the inheritance model. However, as we'll see, this isn't necessarily the optimal solution when it comes to aggregate reports.</div>
<div>
<br /></div>
<div>
For the rest of this post, I'm going to try and cover both models - highlighting the similarities and differences between the configuration required in each case. At the end, I'll offer my opinion as to which solution is superior for my requirements, and why.</div>
<div>
<br />
<h3>
Executing Tests and Gathering Coverage</h3>
</div>
<div>
Let's start by configuring the Surefire, Failsafe and Jacoco plugins to actually execute the Unit Tests, Integration Tests and Code Coverage during the build.</div>
<div>
<br /></div>
<div>
<script src="https://gist.github.com/Rocketeer007/fe3cc16359e7c0995d51d51106d74e3a.js"></script></div>
<div>
There are a few things to note here:<br />
<ul>
<li>For the Surefire plugin, there's no need to specify any executions; the defaults work as expected</li>
<li>For both Failsafe and Jacoco, if you don't specify the executions, the plugin will not run</li>
<li>In the parentAggregate model, this should be added to the parentAggregate module, so it is inherited by each sub-module. Similarly, in the separate aggregate/parent model, it must be added to the parent model, so it is inherited by each sub-module.</li>
</ul>
<div>
This configuration results in four outcomes during the Maven build cycle:</div>
</div>
<div>
<ul>
<li>During the test phase, the Unit Tests are executed by the Surefire plugin.</li>
<li>While these are running, Jacoco gathers the code coverage and creates jacoco.exec</li>
<li>During the verify phase, the Integration Tests are executed by the Failsafe plugin</li>
<li>While these are running, Jacoco gathers the code coverage and created jacoco-it.exec</li>
</ul>
<div>
At this point though, we have no reports generated at all; if we want to examine the results of the unit tests, we need to look at each separate TXT or XML file generated by Surefire and Failsafe, and we have no way to read the coverage data.</div>
</div>
<div>
<br />
<h3>
Basic Reporting per Module</h3>
</div>
<div>
The next step is to configure Surefire Reports, Failsafe Reports and Jacoco Reports for each sub-module. For now, we're just interested in making it easy to read the reports per sub-module, rather than aggregating the reports.</div>
<div>
<br /></div>
<div>
<script src="https://gist.github.com/Rocketeer007/8b91f17c663bcd7965c4c5bc243dae04.js"></script></div>
<div>
<br /></div>
<div>
Again, the points of interest:</div>
<div>
<ul>
<li>These are still added to the "parent" module, whichever that is.</li>
<li>For speed, I've disabled the default reports - only the index report is generated, which provides the index.html page with the project description.</li>
<li>The Failsafe reports are generated by the Surefire report plugin</li>
<li>For all three reports, the report is only generated if the relevant raw data exists. This means that there will be no Jacoco Integration report if there is no jacobo-it.exec file for a module. </li>
<li>Also, since my component-test module has no production classes (it's test only), there will be no Jacoco report for this module either, as there's no way to calculate a percentage coverage without having the original classes to compare to. Modules that do have both Unit and Integration tests would get both Jacoco reports</li>
</ul>
<div>
At this point, we can easily get separate reports for each module, but we have no visibility of what is covered by our dedicated integration test module, and it's still tricky to find a test failure in a random module.</div>
</div>
<div>
<h4>
Executing Maven</h4>
</div>
<div>
A note now on how best to execute Maven. If you do the obvious <span style="font-family: "courier new" , "courier" , monospace;">mvn clean install site</span>, you will discover that failed unit tests prevent the Site from being generated for that module - so there's no reports to examine! However, <span style="font-family: "courier new" , "courier" , monospace;">mvn site</span> on it's own will quite happily find the failed tests and add them to the report, but runs the tests a second time anyway. I've found the best combination is this:</div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">mvn -fn clean verify; mvn -DskipTests site</span></div>
<div>
<br /></div>
<div>
This ensures all the tests are run (<span style="font-family: "courier new" , "courier" , monospace;">-fn</span>, Fail Never, means that the build will continue on failing Unit Tests, so you can see all the tests that fail, not just the first one), then runs the Site build as a separate task, without re-running the tests.</div>
<div>
If your integration tests are particularly slow, you may want to run just <span style="font-family: "courier new" , "courier" , monospace;">test</span> instead of <span style="font-family: "courier new" , "courier" , monospace;">verify</span>.</div>
<div>
You may want to add a third step - <span style="font-family: "courier new" , "courier" , monospace;">mvn site:stage</span> - to put the Sites for all the modules into a single location. However, when we get to the point of generating aggregate reports, this becomes unnecessary.</div>
<div>
<br />
<h3>
Aggregated Test Reports</h3>
</div>
<div>
Finally, we get to the most interesting part of this post - generating the Aggregate reports.</div>
<div>
<br />
For Surefire and Failsafe, this is quite easy to achieve.</div>
<div>
<script src="https://gist.github.com/Rocketeer007/f492f8d5e33ecb8b459a8aa6e5e3580e.js"></script></div>
<div>
<br />
This needs to be added to the <i>aggregate</i> module - for both the <i>parentAggregate</i> and the separate models, that's the top level module. When using the separate parent and aggregate, the inherited=false setting is technically not required, but won't do any harm.<br />
This will generate the Aggregate reports when the <i>aggregate</i> module site is built. When using the separate <i>parent</i> and <i>aggregate</i>, this is the last module to be built, so it could be done as part of a single Maven execution - but as discussed above, it's useful to run a separate build for the Site to catch any Unit Test failures in the reports.<br />
When using the combined <i>parentAggregate</i> model, the parent is built first, so if you try and do this all as one execution, the Aggregate report will be empty, which is one reason some people would prefer this architecture.<br />
In this model, since both the reportSets are set not to inherit, the child modules end up using the default reportSet only, and therefore generating the non-aggregated reports, as we require.<br />
<br />
<h3>
Aggregated Coverage Report</h3>
Generating an Aggregate report from Jacoco is, unfortunately, far more involved. Jacoco provides a target for an aggregate report (<span style="font-family: "courier new" , "courier" , monospace;">report-aggregate</span>), but this target only aggregates the reports for dependencies of the current module.<br />
<br />
This gives us two different solutions - one for the <i>parentAggregate</i> model, and one for the separate model.<br />
<br />
When using a <i>parentAggregate</i>, the recommended solution from Jacoco themselves is to create a separate <i>reports</i> module. This module must depend on all the other modules - and, significantly, specify the <i>test</i> scope for Test-Only modules. This ensures that Jacoco knows how to count lines of code - in Test-Only modules, the execution counts toward coverage, but the code itself does not need to be covered by tests. The Jacoco Aggregate report is added in the dedicated <i>reports</i> module.<br />
<br />
When using separate <i>parent</i> and <i>aggregator</i> modules, the <i>aggregator</i> is built last, so one would think that adding the Jacoco Aggregate report to this module would be sufficient, but alas, Jacoco still needs the dependancies to know the scope of each module. <br />
<br />
Therefore, to generate the Aggregate report for Jacoco we must add the following to either the <i>aggregator</i> or the <i>reports</i> module, depending on the model chosen.</div>
<div>
<script src="https://gist.github.com/Rocketeer007/7a332b3d6ff8620f26f7bff99d05a098.js"></script></div>
<div>
<br />
In either architecture, the Dependancies of the <i>aggregator</i> or the <i>reports</i> module must be maintained separately for the Aggregated Code Coverage report to continue to be accurate. This is a burden on maintenance that would be better avoided.<br />
In my opinion, using separate the <i>aggregator</i> module has the advantage here, as the Dependencies can be updated when the Modules are updated, whereas with a <i>reports</i> module, these would have to be updated separately.<br />
<h3>
Final Conclusions</h3>
By executing the Build and the Site generation separately, we eliminate a lot of the confusion around aggregate reports almost accidentally - which may be why the internet as a whole is so quiet on this topic... perhaps most people do these separately by default!<br />
<br />
<span style="font-family: "\22 courier new\22 " , "\22 courier\22 " , monospace;">mvn -fn clean verify; mvn -DskipTests site</span><br />
<br />
Generating the Aggregated Test Reports is simple, whichever model you choose to implement.<br />
<br />
Generating the Aggregated Jacoco Reports is difficult, whichever model you implement, although the combined <i>parentAggregator</i> does make this slightly worse.<br />
<br />
In the end, the best solution is probably to generate the Aggregated Test Reports in Maven, and leave the Code Coverage report to a dedicated tool such as Sonar!<br />
<br /></div>
<div>
<br /></div>
The Unknown Techhttp://www.blogger.com/profile/10638156417360579614noreply@blogger.com2tag:blogger.com,1999:blog-6832026441687546065.post-67397426043384923352016-11-28T05:16:00.002-08:002016-11-28T05:16:28.404-08:00Azure Federated Security Signing Key RolloverLately, I've been working with Azure's implementation of OAuth and OpenID, using <a href="https://github.com/UNINETT/mod_auth_mellon" target="_blank">mod_auth_mellon</a> in particular.<br />
<br />
Azure has been updating their signing keys rather frequently (twice in the last month), and each time the keys have been updated, our authentication solution has failed until we've refreshed the Federation Metadata file from Azure.<br />
<br />
The documentation from Azure indicates that applications really ought to be able to handle key rollover automatically (see <a href="https://docs.microsoft.com/nb-no/azure/active-directory/active-directory-signing-key-rollover">https://docs.microsoft.com/nb-no/azure/active-directory/active-directory-signing-key-rollover</a>) - and indeed, Mellon does handle this gracefully, but only when the key is already known in the Federation Metadata file (known as the <span style="font-family: "Courier New",Courier,monospace;">MellonIdPMetadataFile</span> in Mellon). However, the failures occur when Azure moves to a new key that Mellon didn't know about in advance.<br />
<br />
What's actually happening is that Azure has been adding new keys, and starting to use them after 1-2 weeks. However, since we don't refresh the Metadata automatically, the first Mellon knows about the new key is when it gets used... at which point, we fail to verify the signature, and authentication fails.<br />
<br />
The simple & naive solution would be to refresh the Federation Metadata automatically - but that left me with an uncomfortable feeling, which I shall explain below.<br />
<b>However, after a full analysis, it turns out that this naive solution is indeed correct (with a few caveats, which I shall also explain).</b><br />
<br />
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]--><br />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-GB</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-fareast-language:EN-US;}
</style>
<![endif]-->Why was I nervous? Consider the authentication flow:<br />
<ul>
<li>We send a request to Azure to authenticate a user </li>
<li>We get a response back with a token, and verify that it really is from Azure by checking the signature on that Token </li>
<li>We then grant access to the user </li>
</ul>
Having a signature on the token guards against any kind of Man-in-the-Middle attack - If a Man-in-the-Middle was compromised (e.g. DNS spoofing, proxy redirection etc.), we would currently be safe:<br />
<ul>
<li>We send a request to Azure to authenticate the user</li>
<ul>
<li>It gets redirected to Attacker’s server instead</li>
</ul>
<li>We get a response back which actually comes from the Attacker’s server</li>
<ul>
<li>We reject that response, because it is not (cannot be!) signed with a valid key </li>
</ul>
</ul>
However, if we are automatically refreshing the Federation Metadata document, we no longer have any safeguard that the token really comes from Azure<br />
<ul>
<li>We fetch the latest federation metadata file from the Azure server</li>
<ul>
<li>Again, we get redirected to the Attacker’s server instead, and get a metadata document with his key added</li>
</ul>
<li>We send a request to Azure to authenticate the user </li>
<ul>
<li>It gets redirected to Attacker’s server instead</li>
</ul>
<li>We get a response back which actually comes from the Attacker’s server</li>
<ul>
<li>We validate the response, because it’s signed with a key that we’ve been told is valid </li>
</ul>
</ul>
A patient MitM could even keep the authentication requests going to the real authentication server for days/weeks until he detects a refresh of the metadata file and therefore knows his key will now be accepted… <br /><br /> Based on this attack scenario, it seems that automatic refreshes of the metadata file need to either be authenticate, or be signed in some way so that we know that this metadata file does really come from a trusted source.<br />
<br />
Of course, we already have a mechanism to do this. The Federation Metadata from Azure is served over HTTPS, which means not only is the data encrypted in transit, but (more relevantly) the connection to the server can be authenticated as "yes, this really is the Microsoft Azure server"<br />
<br />
The code sample in the Azure documentation has the slightly cryptic comment here:<br />
<pre><code>MetadataSerializer serializer = new MetadataSerializer()
{
// Do not disable for production code
CertificateValidationMode = X509CertificateValidationMode.None
};</code> </pre>
<pre> </pre>
Here, the example code is disabling the check that the Metadata is really coming from the expected server... which is rather a bad idea in any code, not just Production.<br />
<br />
Indeed, fetching the Federation Metadata automatically is safe, but only if it is done over HTTPS, <i>and</i> the certificate from the HTTPS server is verified as coming from a trusted certificate authority.<br />
<br />
Indeed, any MitM can serve a doctored Metadata document over HTTPS with a certificate indicating that it's coming from login.microsoftonline.com - but only Azure will be able to provide a certificate that has been issued to login.microsoftonline.com <i>and</i> has been signed by a suitably trusted Root CA.<br />
<br />
To be fully secure then, we should use curl with the "--with-ca-bundle" parameter or wget with the "--ca-certificate" parameter to be 100% sure that the Metadata document has come from a trusted server.The Unknown Techhttp://www.blogger.com/profile/10638156417360579614noreply@blogger.com0tag:blogger.com,1999:blog-6832026441687546065.post-70066479560351529782016-07-13T02:21:00.002-07:002016-07-13T02:21:36.888-07:00TravelEx Supercard - Not so Super anymore!About a year ago, I was fortunate enough to be able to join in the pilot of the <a href="https://www.travelex.co.uk/services/supercard" target="_blank">TravelEx SuperCard</a><br />
<br />
This card offers 0% fees on foreign currency transactions, which saves a few pounds of the typical UK credit cards which charge anything from 50p to £2.50, plus up to 3% of the transaction amount.<br />
<br />
Of course, I already had a 0% fee card for foreign currency, so this wasn't new... but what is new and special is that with Supercard, your transactions are recharged back to some other card in sterling - allowing you to gain cashback or loyalty points with that card as normal.<br />
Additionally, all your transactions appear immediately in an App, showing you exactly how much you would be charged in pounds (and of course, emphasising the savings you'd made with Supercard).<br />
<br />
This immediate display of the sterling amount turned out to be the most useful feature of the card, for me, since it allowed me to claim my work expenses immediately (instead of waiting for the transaction to clear). It was also great on holiday, since I could keep a running total of the real cost of the trip.<br />
<br />
Supercard has now launched publicly, with one significant change - they are now a Mastercard instead of Visa.<br />
<br />
I haven't yet had chance to use this card abroad myself, but reports are coming in that people are being charged a <a href="http://www.headforpoints.com/2016/07/13/supercard-additional-fx-charges/" target="_blank">mysterious extra charge</a>.<br />
Thankfully, the community at Head for Points has been quick to <a href="http://www.headforpoints.com/2016/07/13/supercard-additional-fx-charges/comment-page-1/#comment-195581" target="_blank">analyse these charges</a> - my thanks to John in the comments there, who seems to have done a lot of research and analysis on this!<br />
<br />
My interpretation of this is that Supercard is receiving the exchange rate data from Mastercard one day late. This means that the transaction is initially being charged at "yesterday's" rate - and this is what is shown in the app as well.<br />
Later, when Supercard receives the correct rate for the transaction date, they are doing an adjustment - so in fact, they are sticking perfectly to their own terms and conditions.<br />
They've also stated on Twitter that if the rate had changed the other way, a refund would be issued instead (although, with Brexit, we've yet to see that in action!)<br />
<a href="https://twitter.com/SupercardUK/status/752956412947472384">https://twitter.com/SupercardUK/status/752956412947472384</a><br />
<a href="https://twitter.com/SupercardUK/status/752956480190545921">https://twitter.com/SupercardUK/status/752956480190545921</a><br />
<br />
<a href="data:image/png;base64,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" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="" border="0" src="data:image/png;base64,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" style="cursor: move;" /></a> <br />
<br />
Assuming that this is all correct and true, financially we're probably still better off with the Mastercard solution - the statistics seem to show that the Mastercard rates are very slightly better than the Visa rates.<br />
<br />
<a href="data:image/png;base64,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" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><a href="data:image/png;base64,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" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a>However, the fact that Supercard is now charging a second transaction to issue the correct exchange rate means that the app is no longer as useful for me as a traveller. I can no longer rely on the figures shown to be the final charge, as I could before, since it is likely that a correction will be made a few days later.<br />
<br />
This appears to be a limitation from Mastercard, since their exchange rate is defined based on the "Settlement Rate", which appears to be determined (or at least published) one day in arrears.<br />
<br />
However, since at the moment Supercard is not updating the transaction on the App when the final exchange rate is determined, they appear to be in breach of their own <a href="https://www.travelex.co.uk/services/supercard/supercard-terms-and-conditions" target="_blank">terms and conditions</a>!<br />
In particular, section 7.5 indicates:<br />
<blockquote class="tr_bq">
... Your statement will show:<br />
...<br />
(d) the exchange rate (where applicable) which applied to each Transaction;<br />
(e) where applicable, the amount of each Transaction following a currency conversion (in GBP sterling) </blockquote>
<br />
My only hope is that Supercard will update the App to reflect this more clearly (since it's unlikely that they can get "today's" Settlement Rate from Mastercard).<br />
I would suggest the following improvements:<br />
<ul>
<li>Mark the initial transaction as an "indicative rate" - perhaps faded grey, as is often used for pending transactions on online statements</li>
<li>As soon as the correct rate is available, show that as the final rate in the app - ideally, it should be possible to do this within 24 hours of the transaction taking place</li>
<li>Instead of charging the linked credit card the full transaction amount immediately, put a hold on the "indicative" amount, and put through the full charge only once the real exchange rate is known.</li>
</ul>
Sadly, I think the chances of this being changed correctly are very, very slim! <br />
<br />The Unknown Techhttp://www.blogger.com/profile/10638156417360579614noreply@blogger.com0tag:blogger.com,1999:blog-6832026441687546065.post-75393843088611331542016-07-06T01:10:00.000-07:002016-07-06T01:10:54.822-07:00Adding Firebase to an iOS ProjectThis week, I made significant progress on my first iOS app, but was surprised to see that the iAd banner I had previously implemented was no longer working.<br />
<br />
Of course, anyone who'd been working on iOS and Apple development for longer than me would have realised that Apple discontinued iAd on 30th June 2016 - but since this was all announced back in January, it was old news before I even started looking at iAd!<br />
<br />
In the process of implementing Google AdMob as a replacement, Google pushed me quite strongly towards also adding Firebase to my project - which seems like a good idea, for Analytics if nothing else.<br />
<br />
The manual installation instructions for Firebase seemed quite simple; just drag-and-drop the appropriate Frameworks into my project, add an obscure Linking parameter, and I should be good to go. However, this didn't work; once the Frameworks were installed, the project refused to build...<br />
I've certainly got something wrong, but with only limited experience of Xcode, debugging this was proving a challenge.<br />
<br />
The simple solution seems to be to use the CocoaPods dependency management to add Firebase instead. The first few resources I found indicated that this could be easily done; CocoaPods requires Ruby > 2.0.0, which is installed by default on all modern macOS systems.<br />
<br />
<blockquote class="tr_bq">
sudo gem install cocoapods</blockquote>
<br />
Welcome to dependency chasing!<br />
<br />
<ul>
<li>CocoaPods now requires Ruby > 2.2.0, which is not installed</li>
<li>Updating Ruby is best done using RVM, which is not installed</li>
<li>The installation instructions for RVM require GPG to verify the signatures</li>
</ul>
<div>
Fortunately, from this point on it was simple; GPGTools provides a nice installer for the Mac, which allowed me to install the latest version of RVM using a simple curl script, which then allowed me to install Ruby 2.2</div>
<div>
<br /></div>
<div>
Once Ruby 2.2 was available, the standard instructions for installing CocoaPods worked fine.</div>
<br />
<br />
With CocoaPods, it was quite easy to add Firebase to my project, and build succeeded.<br />
<br />
Once that was working, it was also very easy to see why my original manual installation of Firebase had failed; the archive provided by Google was missing the <b>FirebaseAnalytics.framework</b>, which includes a lot of the headers needed for successful compilation.<br />
<br />
I'm blaming this one on Google!The Unknown Techhttp://www.blogger.com/profile/10638156417360579614noreply@blogger.com0tag:blogger.com,1999:blog-6832026441687546065.post-47636043788808771412016-06-22T04:44:00.000-07:002016-06-22T04:44:24.018-07:00Best Interview Question EverA while ago, I went for an interview, during which I was asked what I now consider to be the best interview question I have ever been asked.<br />
<br />
The interviewer had warned that "the next few questions might seem a bit strange, but don't worry, I'm going somewhere with this"... he followed that by asking about a person who I had never heard of (and who's name I still can't remember).<br />
When I confessed to not knowing the name, he then asked the best question I have ever heard.<br />
<br />
<blockquote class="tr_bq">
What do you think of when I say "The Ultimate Evil"?</blockquote>
Following from the previous question, I had a mild panic that maybe there had been some atrocity in the news which I had missed, related to the previously mentioned name, and that I was about to reveal my lack of attention to current affairs.<br />
<br />
In fact, the interviewer was probing to see how I would react to his knowledge of the computer games I played - the Ultimate Evil he was thinking of was in fact the star character of <a href="http://www.dungeons-game.com/" rel="nofollow" target="_blank">Dungeons 2 by Kalypso Media</a>, a game that showed as recently played on my Steam account.<br />
<br />
On the day, I dodged the question, not thinking of the game at the time - but on reflection, this would be a great question for all kinds of interviews... here's some thoughts on answers that would indicate the character of the person being asked...<br />
<ul>
<li>"Love of money" - religious or classically trained</li>
<li>"Money" - a communist</li>
<li>"Windows line endings in Unix source files" - a geek</li>
<li>"Emacs Users" - a vi user</li>
<li>"Vi Users" - an Emacs user</li>
</ul>
The list goes on... what would you answer? The Unknown Techhttp://www.blogger.com/profile/10638156417360579614noreply@blogger.com0tag:blogger.com,1999:blog-6832026441687546065.post-74942496690203890012016-06-15T13:51:00.002-07:002016-06-15T13:51:28.260-07:00Starting Again From ScratchIt came to my attention recently that I don't actually have a personal computer that is set up with a working development environment. As a lifelong geek and programmer, this came as rather a surprise to me!<br />
<br />
The last time I had my own computer which had a properly configured development environment was about 3 years ago. Unfortunately, this PC died a surprising death (after losing the magic smoke from two graphics cards, I thought I was done... until the PSU died, and took my primary hard drive with it!)<br />
<br />
Since then, I've done quite a few personal development projects, but none has required me to set up a new development environment:<br />
<br />
<ul>
<li>My <a href="https://github.com/Rocketeer007/php-dynamics-crm-2011" rel="nofollow" target="_blank">PHP Integration to Microsoft Dynamics CRM 2011</a> was "close enough" to work that I felt no qualms about setting up an IDE on my company laptop</li>
<li>My <a href="https://apps.getpebble.com/en_US/application/55085c157d3b94cb14000029" rel="nofollow" target="_blank">Pebble.JS app for Remember the Milk</a> was developed using <a href="https://cloudpebble.net/" rel="nofollow" target="_blank">CloudPebble</a>, as was the One Minute Chord trainer I started, so I didn't need to set up anything for that...</li>
<li>My work on <a href="https://github.com/Rocketeer007/nicercast">nicercast</a> and <a href="https://github.com/Rocketeer007/airsonos" rel="nofollow" target="_blank">AirSonos</a> were both quick tweaks done using vi on a Raspberry Pi (and some parts directly on GitHub), so no need for a development platform</li>
<li>My most recent work on Node.JS modules for the LCDd and the Sonos was all done using the online IDE <a href="https://c9.io/" rel="nofollow" target="_blank">Cloud9</a></li>
</ul>
<br />
Recent events have shown me that I do rather need a personal laptop that I can use for development, so I'm starting again with setting up a development platform.<br />
My target is to be able to work on any of my existing GitHub projects easily from a single IDE - or at least from one laptop - as well as to be able to use that laptop for any future projects.<br />
<br />
Of course, I've failed at the first hurdle, since my starting point is a Windows 10 PC, and my first project will be an iOS app using Xcode on my wife's MacBook Pro!The Unknown Techhttp://www.blogger.com/profile/10638156417360579614noreply@blogger.com0