How To Set Up Strava To Record Calories In Apple Health

After switching from recording my cycling on the Apple Watch to a Wahoo Element Bolt my activity levels seemed to suck. After previously smashing my move goals I was left short on some days even after a reasonable ride. Simply because Strava wasn’t calculating my calories and it took me ages to find out why.

After a few days of Googling around and finding all sorts of weird information I eventually discovered a fix. I tracked the issue down to a really simple one, but something that isn’t immediately obvious — you need to make sure that Strava has your weight and your bikes weight recorded.


You can only do all of this on the website and not the mobile app, so make sure you can log in on the web. Your weight is changeable in the app to your profile, but you can’t add or customise your gear for some reason. You will need to log in online, create your bike, and make sure you also give it a weight. A rough guess is fine but you can usually track down the correct weight with a quick search of the manufactures website.

Once this is competed your new runs and bike rides will contain calorie information that will be passed to Apple Health. If you want to get this for older rides, just tap edit activity and then save it again. This will pass the last few days worth of activity back to Apple Health but not all of it, and it’s temperamental at best with syncing.

Image 15 05 2020 08 52 1
This should mean you are getting all of the credit for your rides going forward. It’s surprising how addictive filling your rings on your Apple Watch is, and Apple Health makes it easy to share your activity data if a medical issue requires it. Strava is great for keeping all your rides logged, but keep it in other places too just in case you want to switch at a later date.

How To Open External Links In A New Tab By Default In Ghost

Updated: Added in non-jQuery code snippet

This problem is a reasonably simple one if you know what you are doing with writing Javascript. Unfortunately, I am not, and this feels like an issue that shouldn’t need some script, but here we are.

After loads of Googling, looking at Github Gist, and trial and error, I finally found a solution to opening new links in a new tab thanks to InsidersByte.

As they point out you can do this with markdown or adding in target=_blank to the end of each Url, but who has time for that? So add this into the footer of your site.

With jQuery

<script>
var links = document.links;

for (var i = 0, linksLength = links.length; i < linksLength; i++) {
  if (links[i].hostname != window.location.hostname) {
    links[i].target = '_blank';
  }
}
</script>

non-jQuery

<script type="text/javascript">
    var links = document.querySelectorAll('a');
    links.forEach((link) => {
        var a = new RegExp('/' + window.location.host + '/');
        if(!a.test(link.href)) {
            link.addEventListener('click', (event) => {
                event.preventDefault();
                event.stopPropagation();
                window.open(link.href, '_blank');
            });
        }
    });
</script>

You could do this in your theme template if you like, but the easiest way is to head to your dashboard, and then Settings > Code Injection. Copy and paste in the code and remember to save!

Reload your site, and you should be sorted.

Excluding Specific Tags From Ghost Index Page

One of the things that I have had to get my head around since switching to Ghost is the new way of customising my website. I really hated writing in php but I got used to customising things pretty easily.  Ghost themes use the Handlebars templating language which I had to pick up through lots of web searches.

Now that I have sorted out displaying my link posts correctly, I now wanted to exclude them from my index and put them only on their own page, similar to how I did it on WordPress.  Thankfully this is pretty easy and requires minimal code knowledge.

In index.hbs find where it calls the #foreach posts and add in a line above {{#get “posts” filter=“tags:-[tag 1,tag 2]”}}.

So in my case I want to just exclude link posts which are all tagged ‘links’ – I did the following.

{{#get “posts” filter=“tags:-[links]”}}
{{#foreach posts}}
{{!— The tag below includes the markup for each post - partials/post-card.hbs —}}
   {{> “post-card”}}
{{/foreach}}
{{/get}}

Your theme will look different to the above but the placement will be the same. This means that all of the relevant posts are missed in your index loop.

Update 19/02/2020: You can also achieve this by adding in a filter to your routes.ymal file. download your original file from Labs in yiour control panel, then add in your filter.

collections:
  /:
    permalink: /{slug}/
    template: index
    filter: tag:-[tag you want to remove]

Upload this back to your control pannel and your index is now filtered. For more infomation see Ghost docs.

How To Restrict Apple News To Make It Bearable

To motivate myself to write more, I’ve been reading more. Not just online posts but magazines and books. Looking to subscriptions service and news aggregators, despite my initial hate – Apple News won me over.

It turns out I didn’t need to use it more; I didn’t need to ‘train the algorithm’, I just needed to turn off the news part! You see, I hate viewing or reading the news – it is that simple. It is full of twisted and corrupted stores that are either designed or portrayed in such a way to manipulate your emotions.

Apple news settings 1There is a way to do this, but it’s hidden away in the settings titled “Restrict Stories in Today”. Not a great label for a toggle that should be much easier to find, but I would presume Apple doesn’t want you to turn it on. Go to Settings > News and toggle this to on.

Now all you will see are channels you have subscribed to in the Today tab. No more depressing politics, no more news you don’t want to see, just what you want.

There are downsides to this, the discovery of new channels can be more difficult, and you might not be kept as upto date with current affairs as you once were. Be a little more mindful of not creating an echo chamber, and you should get on much better. I am now much more open to subscribing to Apple News+, and many of the channels I am now following are News+ channels. So there is a benefit to Apple in the long run – subscription all the things!

How To Host Your Own Ghost Blog On Digital Ocean

I still blame Matt Birchler for putting the idea in my head, I was quite happy on WordPress (not completely but pretty happy) and then he comes in and introduces Ghost to me, and I moved within a few days. On first look it seems like a ridiculously expensive option, and more suited to larger companies, but if you don’t want to splash out the $29/per month there are other options.

If you want to get a Ghost blog set up, its pretty easy to host it ‘yourself’,  here is a short guide on doing it on a Digital Ocean droplet.

Screenshot 2020 01 21 at 10 05 43 1

Create A Droplet

Signing up for a Digital Ocean account and creating a droplet is really straight forward. Most blogs will only need a $5 a month droplet unless you are getting serious traffic.

Click on Market place under ‘Choose an image’, this does allow you to choose loads of different options – but if you’re reading this guide you’ll find Ghost under ‘blogs and forums’. Once selected you will see a guide underneath detailing your requirements after your droplet is set up. On this page you will also find all information about the version being installed.

Screenshot 2020 01 21 at 10 06 10 1It won’t matter too much where your data centre is, so choose your preference – if things like GDPR and also government monitoring are important to you, then choose wisely. Give your droplet and name and then let it do its thing.

After Creation

Once completed, you will receive an email from Digital Ocean with your Droplet IP address and SSH password. Keep this information extremely safe and do not share with anyone.

Point Your Domain

On your Digital Ocean Project page, add your domain. This will populate the NS records and give you your name severs. This is more than likely going to be ns1.digitalocean.com., ns2.digitalocean.com. and ns3.digitalocean.com. – add these to your domain settings.

Screenshot 2020 01 21 at 10 28 45 copy 1Also add in an A record in Digital Ocean, with a host name of @ and direct it to your IP address of the droplet. It is vitally important you wait for all changes to propagate before continuing otherwise you may have issues with setting up Ghost. I would advise you to wait 24 hours.

Once you are happy the domain information has properly propagated, continue to setting up the blog.
Pasted image 0 1

SSH Into Your Droplet

Nothing will be live until you SSH into your droplet and set up Ghost. You should see a page telling you as mush if your domain has propagated correctly. Open your terminal and type in:
ssh root@your-ip-address

The sever will ask for your password, copy and paste this in, and then immediately make you change it. You will need to put your current one in again, and then choose a new one – Keep this safe!

Once this is done Ghost will download updates and set itself up. Press Enter.

Pasted image 0 2 1
You won’t need to put in any details about SQL databases or directories, you will have to put in your blog URL. Do this with the https:// on and Ghost will set up your Let Encrypt certificate for you. This is where the installation will fall down if your domain is not properly propagated.

Ghost will be installed and set up at /var/www/ghost

If everything goes ok, you will be given a url of https://your-url/ghost. Head to this address and set up your profile and blog title. If you want to migrate from WordPress, here’s some points to consider.

Importing Apple Notes Into Bear

I have been using Bear notes for years now, it’s by far my favourite app for writing, and goes far beyond a simple notes app. The great thing is it keeps getting better and better without overly complicating things and becoming hard to use – not to mention it looks gorgeous.

The recent update to Version 1.7.8 brings in some improvements to tag icons but also an automated way to import your Apple Notes. This is something that has been lacking, not due to the developers, but to Apple’s locked down approach to notes, unlike importing from other apps which has existed for quite awhile.

This is a bit of a workaround, and unfortunately you can only do this process on Mac.

Mac: use our Automator Workflow

Download our Automator Workflow  Minimum system requirements: macOS 10.10 Yosemite
We built an Automator Workflow for macOS that can export all your Apple Notes as HTML files. This will include most note contents, but not all. See the breakdown below:

  • Text, lists, and photos should be included
  • Note: only macOS 10.15 Catalina supports photo export. On earlier macOS versions, Apple Notes will not export photos
  • Task lists convert into bulleted lists
  • Rich media links will convert to plain text links
  • Non-photo attachments like PDFs or other files are not supported and will be excluded from export to HTML files. They will remain safely in Apple Notes

How to use this Automator Workflow

  • Download our AppleScript
  • Double-click it to open Automator
  • Press the Play button
  • Choose or create a new folder to store your exported Apple Notes
  • In Bear, click File > Import Notes
  • In the dialog that opens, find the folder containing your exported notes
  • Select one or notes
  • (Optional) Adjust any import features such as whether to keep the original creation date, and whether to use the first line or file name for note titles
  • Click Import Notes

For more information, see the full guide in the Bear FAQ’s

Migrating From WordPress To Ghost

I’m going to be completely honest, this wasn’t easy for me – it was supposed to be straight forward, but everything that could have gone wrong did. I took the inspiration from Matt Birchler to post about my migration and the issues I faced in the hope someone else won’t run into the same.

Exporting From WordPress

The easiest way to do this is through the Ghost export plugin. The plugin promises to download all of your posts, pages, and information into an easy to import ZIP file. Unfortunately, I haven’t met anyone yet that this has worked correctly.

In preparation, you will need to think about the categories you have on your blog. Ghost works on tags and not categories, so this information needs to be transferred before you export. Use the Categories to Tags converter plugin and run this once before export.

Also if you are a lone blogger, make sure your user account has the same email address as the one used on WordPress. If they are different the import will set up another User account that is locked. Deleting this user also deletes all of the posts, and short of transferring each post over individually, you are a bit stuck.

I had to switch to using the JSON option as the exporter kept timing out, even when I increased the memory available and also the time limit to infinite. This JSON file will only give you post and page content, not images to go along with it.

Imports and exports in Ghost 1

Importing To Ghost

Once you’ve set up your blog on Ghost, log into the dashboard, go to Labs > Import content > Choose your file. The process is swift, and at the end, all of your posts and pages will be live on your site. If you’ve managed to export a zip file, you have nothing more to do other than check through your posts and make sure you are happy with them.

Due to my issues, I had the job of downloading all of my images from 7 years of posts and combing through each post to put them in. I tried to import all of my images into the recommended content/images folder; however, I used this opportunity to tidy up the folder.

There is no reason a bulk import of images wouldn’t work providing you keep the same structure as your WordPress blog. However, bear in mind that WordPress stores multiple versions of the same image at different sizes so your images folder is going to be overinflated – if storage space is an issue for you then consider doing some work to tidy up beforehand.

Now all I had to work about is a theme, and setting up my link posts!

Blog screenshot 1

Improvements

If I did this again, I would work a little more on editing the JSON to my liking and making everything run a little smoother. More information on doing your import can be found on the Ghost site.  My move was time sensitive as my hosting was coming to an end, but given more time, I would work on a testing domain with Ghost and spend more time on the import and set up.

Exporting and importing from hosting platforms needs to become more uniform. Manton Reece, the creator of micro.blog, has called for an implemented standard to make things much more comfortable to move around. It is times like this when you wish something existed. Many applications spend time working on importing from other options, so perhaps it’s time this becomes a consideration to those that run blogging platforms.

How To Set Up Ghost Link Posts Using Canonical URL

Link posts are really popular, and a great tool to help link to others out that you enjoy. Daring Fireball made them famous, but loads and load of blogs do them now. It a bit of a task to get the set up on WordPress, but manageable – however since moving to Ghost I’ve been stuck on how to manage them.

Luckily I have come across a pretty good way of posting these properly using the custom meta data ‘canonical url’.

This feature launched in March 2019, has enabled Ghost users to point to another url rather than their post. Even better is its pretty easy to pull out this data. Consider this rough information as each theme will vary but they won’t look too dissimilar.

Preparation

In preparation for doing this work, I have tagged all posts Link Post and added in the page the blockquote came from into the canonical url. You will find this option in your posts meta data settings.

Screenshot 2020 01 18 at 15 27 08 1

Index Page

Depending on the look you want to go for, this part will vary in complexity. I simply wanted to edit my index to highlight link posts and leave everything else as is.

In my index.hbs file, it calls a partial, default-article.hbs for displaying information from the loop. However if you display all of your post content on the page you may want to also edit the title – for this see the next part. For ease of fault finding and so I didn’t break anything straight away, I duplicated my partial and called in link-article.hbs.

In index.hbs I then edited the regular loop with an if statement to identify link posts.

{{#foreach posts}}
    {{#has tag="Link Posts"}}
        {{> loop/link-article}}
    {{else}}
        {{> loop/default-article}}
    {{/has}}
{{/foreach}}

In simple terms this displays link-article.hbs for link posts and default-article.hbs for everything else.  As said, on my index I simply wanted to highlight the link posts with a simple symbol so I found the title and change it to this.
<h1 class="title main-title gradient-effect"><a href="{{url}}">&#128279; {{{title}}}</a></h1>

This just adds a link unicode in decimal to the start of the title. Yours will more than likely look very different. I could have easily done this in the default partial, but if I wanted to edit how a link post is displayed later, this way made it easier.

Post Page

In my posts page all information displayed is controlled by post.hbs so the edits here where easy. Find where it displays your post title and add simple if statement. Look for <h1>  and  {{title}}.

This will split the way the title is displayed and link to the canonical url only on posts tagged correctly.

{{#has tag="Link Posts"}}
    <a href="{{canonical_url}}" target="_blank"><h1 class="title main-title gradient-effect">{{title}} &#8594;</h1></a>
{{else}}
    <h1 class="title main-title gradient-effect">{{title}}</h1>
{{/has}}

I’ve added in a right arrow to the end of the title simply for consistency with my old design.  You might want to do this on index.hbs if you want to link to the canonical straight away.

For further information there are pretty good documents directly from Ghost on learning how to design your theme.

How To Find Your iPad Even If Its Switched Off

First off – this is no guarantee, but it should help.

The secret sauce to finding you iPhone after you’ve looked in the obvious places is Apples trusty ‘Find My’ App. Previously called find my iPhone, it will also track your Apple Watch, iPad, Mac’s and even AirPods. To do this is need location access and many people don’t give it enough access to be able to do the best job it can.

Privacy is a huge deal, and this is understandable, but should the worst happen you really want to track down your device as quickly and easily as possible. I have spent 20 mins rooting through my car, only to then trace my AirPods to being back at home on my desk – this tip may help recover your device and calm you down.

Send Last Location

The secret is allowing your device to update its location when it is used. This is stored by Apple and no one else – but it’s understandable if you don’t want to do this.

When you open the ‘Find my’ app for the first time you will be prompted to allow this. If you’ve missed it or now want to turn it on head to Settings > Tap Your Name at the top > Find My > Find My Device > and toggle on Send Last Location.

There is also an option to allow offline location. This will allow a location even if the device hasn’t got a data connection by pinging other Apple devices around it. This is similar to how Tile works and is linked to the much rumour Apple version.

You could also consider sharing your location with friends of family members so they can also track down devices for you, however this has its own pitfalls!

AirPods Pro Hints & Tips

I am sure you don’t need me to tell you how good the AirPods are when compared to more or less anything else on the market. Since the original version hit the market, I’ve had a pair in my ears at some point in the day 80% of the time. They have worked out with me, walked miles with me and I’ve listen to hours upon hours of podcasts. I held off a little, but the new Pro version is a huge improvement – here are some tips and tricks I have picked up so far.

No Tappy Tappy

The new AirPods Pro feature buttons instead of an accelerometer that detects your taps. Of course the set up process guides you through new options for media controls but if you don’t pay attention fully it can be hard to work out what’s going on. Think of the button press as a squeeze of the microphone stem, you will feel a small click and an audio response if long pressing. It takes a bit of getting used to if you’ve used the original AirPods, but pretty easy to get used to.

• Single-press: Pause/play
• Double-press: Skip forward
• Triple-press: Skip backward
• Long-press: Switch between noise cancellation and transparency mode.

Change Noise Cancelling Settings

The new AirPods pro feature active noice cancelling (ANC) with rubber tips to make a better seal in your ears. ANC can feel a bit strange at times and also shouldn’t be used every situation. Luckily there is a pretty neat ‘transparency’ mode which lets some noice from the outside world through, and also a toggle off.

Airpod Pro Screenshots 1Unless you have changed any of the settings, by pressing and holding on either the left or right AirPod button will cycle you AirPods through ANC on or off. The change the options, head into the Bluetooth setting when your AirPods are connected. You will see options for both the left and right AirPods button, you can then add in whatever options you wish to cycle through.

Activating Siri

We all love shouting “Hey Siri” during a workout or walking down the street, but if you want to set up activating Siri with a press instead of a voice a voice it’s really easy. Head into the Bluetooth settings as above, there is then a range of options for the left and right AirPod button. I have set this up for left to be noise cancelling and right to be Siri.