Chris Hannah

Issue #1

There’s a big change this week, and it’s the transition from being the “Weekly Links” newsletter, to the “Chris Hannah Blog – Newsletter”. A bit wordy, but that’s technically what it is, maybe it could use a better name.

Anyway, the new newsletter is an extension of the initial format, with it now covering a wider array of content. So instead of just being a list of links, it will include videos, what I’ve been up to on the blog, what I’m currently working on, and hopefully even more in the future.

I won’t bore you too much about it, but I wrote about the changes on my blog.

The distribution of letters in English words
Weird, but interesting.

Bundle Command Line Tool in macOS App
A great mini-guide from Sam Soffes, I’ll be using this myself!

[Exclusive: This is the 2017 Google Pixel "XL," with low-bezel AMOLED display and squeezable frame](http://www.androidpolice.com/2017/07/11/exclusive-this-is-the-2017-google-pixel-xl-with-low-bezel-amoled-display-and-squeezable-frame/ "Exclusive: This is the 2017 Google Pixel "XL," with low-bezel AMOLED display and squeezable frame")
I was a fan of the original Pixel, and I quite like the look of this one too. I can’t see anything pulling me from my iPhone 7+ though, especially as there’s literally no other way to enjoy iOS.

Why Security Experts Are Pissed That ‘1Password’ Is Pushing Users to the Cloud
I’m not a user of 1Password (I had a trial, but didn’t use it enough to warrant buying), but it doesn’t look like it’s going in the right direction.

Dash-dash it all! Apple’s bad beta decision on em and en dashes
I understand why people care about this stuff, but I always find these types of posts quite funny, and very #firstworldproblems.

Videos

Remarkable Time-Lapse: Watch Caterpillars Transform Into Butterflies | National Geographic
I found their method pretty weird, and maybe a bit unethical (on a minuscule scale), but this is a great video!

Scientists Fly a Drone to Collect Whale Snot | National Geographic
I bet you’ve never heard of that before.

How Penn Jillette Lost over 100 Lbs and Still Eats Whatever He Wants
It’s obviously a clickbait title, but there’s a lot of truth behind it. And it’s worth a watch.

The Reality of Indie Life 
A really great talk by Stephen Hackett about becoming an indie, the problems he faced and how he overcame them, and a few other interesting topics.

On the Blog

What I’m Up To

Right now I have a few projects in “progress”, some are really in progress, and there’s one still stuck in my head.

My biggest? project is Hydrate, and that is a water intake app for iOS, which is actually in Beta. It has over 100 beta testers at the minute, so this is one of my priorities.

Then there is the mini-project, which is the process of myself cleaning up my blog, and optimising everything to make it as lean as possible.

The final project, is something I have already wrote about on my blog, but just to put them all in one place – I want to make an alternative to Google Analytics. I’m not actually going “big” for this one, because it’s a personal thing that I want myself, but I think I know how I’m going to do it now.

My Latest Development Project

I’ve been working on a new app for a while now, and I’ve been meaning to write about it here on my blog, but I just keep putting it off. But as the beta process has been going for a while, and I think the development has progressed to a more stable (I mean slow) development cycle. Probably not good for most of my projects, but I’m treating this as a more long-term project. More specifically, I want to do each step well, so that in the end it’s a product that I want to use myself, and potentially a lot of other people too.


So, a slight break here, so I can explain what this project actually is.

In the simplest terms – it’s a water intake tracker for iOS. Being slightly more descriptive – it’s an app where you can manage your water intake, get a quick glance on how you are doing compared to your daily goal, and also look back and see how hydrated you were in the past.

That’s not the final description however, as I have many things I want to add to the application (which I will describe below), and I’m probably also missing out features that I’ve already implemented.

Oh and it’s called Hydrate. Original, I know.


There was no big reason for the app, except that I wanted to start tracking my water intake, and as an app developer, I thought I’d put the two together. I was actually asked on Twitter about the difference between Hydrate and other “competing” apps, my answer was what I just said – I’m making it for myself. If other people enjoy it, then that’s even better!

The layout and overall design is aimed to be as simple as possible, and therefore is designed around having “Quick Add” buttons, which you can set up with default quantities, making it even easier to add water intake. Mainly because, it’s not fun entering data as boring as this, so if I can make it quick, I will.

At the moment, the current features are:

  • View daily intake.
  • Add predefined quantities via Quick Add buttons.
  • Add custom amounts.
  • Set a daily goal – Which is the basis for the main ring.
  • Support for ml and fl oz (US).
  • Dark/Light mode – I just have to have a dark mode, and the other one is for “normals”.
  • View your past water intake (last 21 days).
  • Today widget with Quick Add buttons, to do it even faster.

Of course that’s not all the features I want to add, therefore I have a basic list of future main features:

  • Watch App
  • Make the ring animate.
  • Possible reward for hitting the daily goal.
  • A way to share your progress.
  • A maybefeature – Some way to add a drink when you start drinking it, which you can then tap to add to the actual data when it’s finished.

I’m most likely going to add more to this list, but that’s what I want to definitely (apart from the last one) add before I release.

If you want to try out Hydrate, then the beta process has already started, just enter your email on the Hydrate website, and I’ll add you to the TestFlight group!

Unordered Lists in Markdown

John Gruber:

In Markdown, you can create unordered lists using any of three characters as the “bullets”: asterisk (*), hyphen (-), or plus (+). Why all three? More or less: why not? Better to let people choose the character that feels most natural to them. I know a lot of Markdown users choose different characters for different levels of hierarchical lists, and that went into the original thinking as well.

I’ve always been curious which list markers people actually use, so I did a poll on Twitter. The results:

  • 42% Asterisk (*)
  • 54% Hyphen (-)
  • 04% Plus (+)

For what it’s worth, I’m a hyphen user. I’m not against using a plus, because it still feels natural. But I can’t understand using an asterisk, when they’re used so much elsewhere in Markdown.

Apple Machine Learning Journal

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.

AirPods and Magnetic Strips

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/

I'm Making Changes to My Newsletter

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.

Why Apple's iPhone 8 (Apparently) Has Serious Problems

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.

Using Workflow as a Site-Specific Browser

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!