Further proving their deep interest in machine learning, Apple have launched the "Apple Machine Learning Journal".

As they put it:

Welcome to the Apple Machine Learning Journal. Here, you can read posts written by Apple engineers about their work using machine learning technologies to help build innovative products for millions of people around the world.

They've kicked it off with 'Vol. 1, Issue 1', titled "Improving the Realism of Synthetic Images":

Most successful examples of neural nets today are trained with supervision. However, to achieve high accuracy, the training sets need to be large, diverse, and accurately annotated, which is costly. An alternative to labelling huge amounts of data is to use synthetic images from a simulator. This is cheap as there is no labeling cost, but the synthetic images may not be realistic enough, resulting in poor generalization on real test images. To help close this performance gap, we’ve developed a method for refining synthetic images to make them look more realistic. We show that training models on these refined images leads to significant improvements in accuracy on various machine learning tasks.

I can imagine the content being well over my head, but I'm going to enjoy keeping up with it.


Ever since purchasing a pair of AirPods about a month ago, I’ve been using them every single day. Usually when I’m commuting to work, or when I’m at work. The case is usually stored in my bag, or on my desk. But occasionally I’ve kept it in my pocket, and I’ve noticed that it’s caused issues with my train ticket.

A few days last week I noticed my train ticket stops working completely after the first barrier I walked through, I presumed it was an issue with the barriers, but it kept happening. Then for some reason (I can’t remember why), I thought about the magnets in the AirPods case, and that the little paper ticket is based on a magnetic strip on the back. So the next day I kept the case well away from my train ticket, and it didn’t have any issue. I’ve done this every day since and it seems to have cured my problem.

I saw someone have a similar issue with a Hotel key card on Reddit, and it reminds me when BlackBerry cases used to cause the same problem, due to the magnet in the case.

So just a little warning, make sure you keep your AirPods away from anything that uses magnets to store data! In my case it’s not really an issue, as I can just show my ticket and get through the barrier. But when it’s a work pass, or something even more valuable like a bank card, it’s a whole different problem/


If you read the last issue of my Weekly Links newsletter, you may of seen my comment about my desire to expand the content. With this weeks issue, I’m going to take a step in that direction.

The past issues have simple been a list of links from all over the internet that I find interesting, it’s pretty simple and very minimal. I’m not saying I want to rich newsletter full of embeds, and images, but I’m going to be separating content into sections, which will lead me into including more content in general. For the beginning at least, it will still be a basic email containing hardly any formatting, but loads of links.

The sections that will be included from this week forward are:

  • Interesting Links
  • Videos
  • On the Blog
  • What I’m Up To

They’re pretty explanatory, but the basic idea behind the transition is that the simple list of links is a bit unorganised. And some weeks, it’s simply not very long. But I’ve got content that I post on the blog, there’s tons of great videos that I watch, and I’m always working on something random. So why not share it here?

In the future, I want to add a podcast section, because I sure do listen to a lot of those. But adding a list of everything I’ve listened to isn’t good for me or anyone reading it. So maybe this will be my favourite/recommended episodes, and probably will end up being a less regular section. I was thinking every month, but this is a weekly newsletter, so every 4 weeks is a good alternative.

Anyway, you can sign up for the newsletter right now, which means you’ll have access to the past (boring) issues, and one new one which goes out tonight. All issues are usually send out on the Friday evening, but occasionally I’m busy and it gets pushed to Saturday morning.

Also, for the sake of my sanity. I’ll be starting the new issues at #1.


Gordon Kelly, writing for Forbes:

The consistently reliable site reports further iPhone 8 problems exist with the integration of Touch ID into the display, the supply of OLED for the display itself and operation of the new front facing “3D sensor” camera - which will bring unlocking via facial recognition.

In fact these problems are reported to be so severe that several of the functions will not be available when the phone launches, forcing Apple to enable them later via a software update...


“By all accounts, it’s late in the game for Apple to be wrestling with problems as big as those described above,” concludes Fast Company and that’s certainly true. With mass manufacturing usually starting three months prior to release (and a September unveiling locked in stone) solutions are needed, and quickly.

I'm not sure if they just needed to get an article out about the future iPhone 8, but in my opinion it's a load of rubbish.

Sure, Gruber also said that the charging feature may be sold separately, or just released with a later version of iOS. But it's not a real problem, that warrants writing about a "serious problem". The device isn't even announced yet, let along being released.

I'm really not a fan of rumour posts, and normally I'd just ignore it, but this if Forbes! I would of thought they'd had better things to write about.


Michael Rockwell, over at Initial Charge write a piece about a really interesting way to give web apps a more native feel on iOS.

Firstly, he mentions Fluid, which is an application for macOS which lets you “convert” web apps into containers that run as normal apps:

On macOS, there’s an application available called Fluid, which lets you create site-specific web browsers. Many of us use web apps everyday and Fluid allows you to run them side-by-side with your native applications without being sequestered inside of a web browser. Fluid is a handy little tool that every Mac user should have in their arsenal.

I hadn’t heard of Fluid before, so I’m going to try this myself, but it’s not as good as his next suggestion for iOS:

To build these site-specific browsers, it just takes two simple actions — a URL action with the web app’s address and the Show Web Page action. When run, Workflow will open up the URL in a Safari View Controller, which gives you access to your action extensions alongside forward, back, and refresh buttons. From there you can give the workflow a name, set an icon color, and a glyph to fit the website or web application’s functionality.

So, he uses Workflow! It’s something I haven’t thought at all about before, but it makes sense. You can use the standard Safari View Controller inside Workflow, or you make partner it with apps like Sidefari, or maybe even add another layer to it with Opener.

I’ve actually just set one up myself to handle my the interface for this blog, which runs on Ghost.

Whether you use macOS or iOS, there’s a solution for you in this post!


I’ve done some minor researching into this idea of mine, that really became a thing when I started making my blog super lightweight. And I really want to carry that over into whatever this project becomes.

Whatever I do, will of course be personally oriented, and it will be packed full of decisions that wouldn’t work best for most people. But it’s a personal project first, and if it becomes more flexible and open in the future, that’s just a bonus.

What To Track

With Google Analytics, you get a whole bunch of stats. This can be really handy for someone trying to deeply understand interactions with a website, but it’s a bit over the top for the menial use I want out of it. There’s also the added fact that you’re tracking your users — it’s not a big deal, but I’d rather not invade people’s privacy.

There are very minimal metrics that I want to capture, and that is page views, referrer websites, and possibly number of sessions - although I don’t care about this too much. But regarding the first two, this can be completed by simply telling something the page that’s been loaded, and what referred it. Luckily for me, it’s all in the HTML DOM and I think I’ll be able to do this super minimally.

The way’s this basic data could be used is also rather interesting to me, as when the message is received (by a server, or whatever), a date can be applied. Which means the data can be sorted by the date, collated into individual pages, and some pretty cool graphs could be made from it.

How to do it

For the sake of the front-end implementation, I plan this to be a simple PUT request, which will send the (as mentioned above) data to whatever server that is in control of the analytics. From there, it will require no more work from the client.

For the back-end, the speed, and “heaviness” of the implementation isn’t super important for me at the beginning stage. Because initially it will only serve myself, so it’s not a big load that will be put on it. But my first idea is to use a cloud server on Digital Ocean, to host a Swift server app! Built using Perfect, because I had a great experience with it when I experimented with a text formatting API. There’s also the fact that I am mainly a Swift developer, and is more likely to get finished if I make use of that.


As with all my other projects, I’ll be pretty vocal with the progress, and try to share as much as possible. This will be done mainly on Twitter, where you can follow me at @chrishannah, and if you want to know something I haven’t shared yet, just ask!