Short takes: calculating file transfer times; Internet breakout from cloud datacentres; and creating a VPN with a Synology NAS

Another collection of “not-quite-whole-blog-posts”…

File transfer time calculations

There are many bandwidth/file transfer time calculators out there on the ‘net but I found this one particularly easy to work with when trying to assess the likely time to sync some data recently…

Internet breakout from IaaS

Anyone thinking of using an Azure IaaS environment for Internet breakout (actually not such a bad idea if you have no on-site presence, though be ready to pay for egress data) just be aware that because the IP address is in Holland (or Ireland, or wherever) location-aware websites will present themselves accordingly.

One of my customers was recently caught out when Google defaulted to Dutch after they moved their client Internet traffic over to Azure in the West Europe region… just one to remember to flag up in design discussions.

Creating a VPN with a Synology NAS

I’ve been getting increasingly worried about the data I have on a plethora of USB hard disks of varying capacities and wanted to put it in one place, then sync/archive as appropriate to the cloud. To try and overcome this, I bought a NAS (and there are only really two vendors to consider – QNAP or Synology).  The nice thing is that my Synology DS916+ NAS can also operate many of the network services I currently run on my Raspberry Pi and a few I’ve never got around to setting up – like a VPN endpoint for access to my home network.

So, last night, I finally set up a VPN, following Scott Hanselman’s (@shanselman) article on Setting up a VPN and Remote Desktop back into your home. Scott’s article includes client advice for iPhone and Windows 8.1 (which also worked for me on Windows 10) and the whole process only took a few minutes.

The only point where I needed to differ from Scott’s article was the router configuration (the article is based on a Linksys router and I have a PlusNet Hub One, which I believe is a rebadged BT Home Hub). L2TP is not a pre-defined application to allow access, so I needed to create a new application (I called it L2TP) with UDP ports 500, 1701 and 4500 before I could allow access to my NAS on these ports.

Creating an L2TP application in the PlusNet Hub One router firewall

Port forwarding to L2TP in the PlusNet Hub One router firewall

Short takes: deleting bit.ly Bitlinks; backing up and restoring Sticky Notes; accessing cmdlets after installing Azure PowerShell

Another collection of short notes to add to my digital memory…

Deleting bit.ly links

Every now and again, I spot some spam links in my Twitter feed – usually prefixed [delicious]. That suggests to me that there is an issue in Delicious or in Twitterfeed (the increasingly unreliable service I use to read certain RSS feeds and tweet on my behalf) and, despite password resets (passwords are so insecure) it still happens.

A few days ago I spotted some of these spam links still in my bit.ly links (the link shortener behind my mwil.it links, who also own Twitterfeed) and I wanted to permanently remove them.

Unfortunately, according to the “how do I delete a Bitlink” bit.ly knowledge base article – you can’t.

Where does Windows store Sticky Notes?

Last Friday (the 13th) I wrote about saving my work before my PC was rebuilt

One thing I forgot about was the plethora of Sticky Notes on my desktop so, today, I was searching for advice on where to find them (in my backup) so I could restore.

It turns out that Sticky Notes are stored in user profiles, under %appdata%\Microsoft\Sticky Notes, in a file called StickyNotes.snt. Be aware though, that the folder is not created until the Sticky Notes application has been run at least once. Restoring my old notes was as easy as:

  1. Run the Sticky Notes desktop application in Windows.
  2. Close Sticky Notes.
  3. Overwrite the StickyNotes.snt file with a previous copy.
  4. Re-open Sticky Notes.

Azure PowerShell installation requires a restart (or explicit loading of modules)

This week has involved a fair amount of restoring tools/settings to a rebuilt PC (did I mention that mine died in a heap last Friday? If only the hardware and software were supplied by the same vendor – oh they are!). After installing the Azure PowerShell package from the SCCM Software Center, I found that cmdlets returned errors like:

Get-AzureRmResource : The term ‘Get-AzureRmResource’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

After some RTFMing, I found this:

This can be corrected by restarting the machine or importing the cmdlets from C:\Program Files\WindowsPowerShell\Modules\Azure\XXXX\ as following (where XXXX is the version of PowerShell installed[)]: import-module "C:\Program Files\WindowsPowerShell\Modules\Azure\XXXX\azure.psd1" import-module "C:\Program Files\WindowsPowerShell\Modules\Azure\XXXX\expressroute\expressroute.psd1"

Tools for troubleshooting Outlook autodiscover

In my post last week about Office 365 and proxy servers, I mentioned issues with Outlook autodiscover.  These were not exactly easy to troubleshoot, often with multiple subject matter experts looking from different angles (network, client applications, Exchange, firewalls, etc.). During the process, we used a few tools (as well as examining the traffic hitting the proxy servers) and I thought I’d highlight them here (if only for my own future reference):

Creating an Office 365 profanity filter (works for Exchange too)

As part of recreating the rules that my customer currently has set up with a popular cloud-based message hygiene platform, I needed to create an Office 365 profanity filter for Exchange Online. Believe it or not, there isn’t one built into the product (it disappeared with BPOS) but you can do some interesting things with DLP classification rules and policies.

I’d like to publish the exact steps here but I can’t, for commercial reasons. What I can do though is signpost some useful resources:

Once you’ve created a policy you can apply it in PowerShell with:

New-ClassificationRuleCollection –FileData ([Byte[]]$(Get-Content -path ProfanityPolicy.xml -Encoding byte -ReadCount 0))

If you need to update it then the cmdlet is Set-ClassificationRuleCollection and if you want to take it out again, Remove-ClassificationRuleCollection will do the trick.

With the classification in place, you can create rules that use the policy. In my case, one to block emails containing sensitive content (i.e. a list of pre-defined words) and send an incident report to a defined mailbox.

Even though I was working with Exchange Online (v15), the same process will work for Exchange Server 2013 and, presumably 2016 when it comes…

Finally, one gotcha I found (well, it was a user error really):

  • I thought my rule wasn’t working. When I later logged into the shared mailbox that blocked messages were copied to, I found copies of the messages I’d been sending for quite a while. My confusion was because I’d been testing with Policy Tips (which seemed a bit hit and miss in OWA) and that doesn’t actually block the message (doh!). As soon as I enforced the rule, my rude messages started bouncing back as expected…

NDR from message blocked by Office 365 profanity filter

Short takes: Excel tips to display the worksheet name and validate data; editing Microsoft Project files stored on SharePoint; and an XPS to PDF conversion service

Another collection of mini-posts based on recent IT trials and tribulations…

Excel tips to display the worksheet name in a cell and to validate data

Last week, I was working on an Excel spreadsheet that acts as a plan for a series of tests. Each sheet has the same format, with some conditional formatting and associated logic to total up passes/fails and give a RAG score for the sheet. Those RAG scores are presented in an overview page – and data is copied between cells so that information is only populated once but appears on every sheet.  I’m quite pleased with the result but I did need to work a little on some of the tricks.

Firstly, data validation in lists (for the pass/fail). This is fairly straightforward but I usually forget how to do it so it’s worth reading the TechNet Productivity Hub post on restricting data entry in Excel with lists.

The second trick was to read the name of each worksheet and use that information in a cell (so I could name a worksheet after a set of tests, and see that name displayed as a header on the page too). Here, the SuperUser site came to the rescue and the code I needed in the cell was:

=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1),1))

Incidentally, I also needed to look something up that I’ve blogged about previously: if a cell shows the formula rather than the result, check the formatting is General and not Text.

Editing Microsoft Project files stored on SharePoint

Much as I try, it seems I can’t avoid working with Microsoft Project. Unfortunately, when working directly from SharePoint the files are opened read-only. The answer, it seems, is to work on a synchronised local copy – as described by Victor Butuza on his Microsoft Office SharePoint blog.

XPS to PDF conversion web service

Every now and again, I find myself wanting to create a PDF from an email, just to upload a receipt to Xero (the expenses system I use at work). Unfortunately Xero isn’t happy with XPS files – and Windows 8.1/Outlook don’t create PDFs, but a quick Internet search turned up XPS2PDF, a simple, fast and apparently secure way to convert my files.  There’s an API for those who want to make the conversion programmatically too.

Short takes: Lync/Skype and browsers; Bitlocker without TPM; OS X Finder preferences; and MyFitnessPal streaks

A few more short mini-posts from the items that have been cluttering my browser tabs this week…

Lync/Skype for Business meetings start in the Web App

A few days ago, a colleague highlighted to me that, whenever she joined a Lync meeting from our company, it opened in Lync Web App, rather than using the full client. Yesterday I noticed the same – I tried to join a call hosted by Microsoft and the Skype for Business Web App launched, rather that the Lync client installed on my PC. It turns out that this behaviour is driven by the default browser: mine is Chrome and my colleague was also using something that’s not IE. Quite why I’d not seen this before, I don’t know (unless it’s related to a recent update) but for internal Lync meetings I do tend to use the Join Online button in the meeting reminder – that doesn’t seem to appear for external meetings. Of course, you can also control which client is used by editing the URL

Using Bitlocker on drives without TPM

When my wife asked me to encrypt the hard drive on her PC, I was pleased to be able to say “no need to buy anything, we can use Bitlocker – it’s built into Windows”. Unfortunately, when I tried to enable it, I found that her PC doesn’t have a trusted platform module (TPM) chip. I was pretty sure I’d worked around that in the past, with a netbook that I used to run Windows 7 on and, sure enough, found a How To Geek article on How To Use BitLocker on Drives without TPM. It’s been a while since I had to dive into the Local Computer Policy but a simple tweak to the “Require additional authentication at startup” item under Computer Configuration\Administrative Templates\Windows Components\Bit Locker Drive Encryption\Operating System Drives was all it took to let Windows encrypt the drive.

Finding my files in Finder

One of the challenges I have with the Mac I bought a few months ago, is that modern versions of OS X seem to want to hide things from me. I’m a “browse the hard drive to find my files” kind of guy, and it took a tweak to the Finder preferences to show my Hard Disk and bring back the shortcut to Pictures.

MyFitnessPal streak ends – counter reset

Last weekend some connectivity issues, combined with staying away with friends meant I missed the cut-off for logging my food/exercise with MyFitnessPal and my “streak” was reset (i.e. the login counter). Knowing that I’ve been logging activity for a certain number of days is a surprisingly motivational piece of information but it turns out you can get it reset using the counter reset tool (which even predicted how many days the value should be – 81 in my case).

Short takes: directly embedding images from Dropbox; Pixlr (free online image editor)

Some snippets that were too small for a blog post of their own…

Directly embedding images from Dropbox

There’s little doubt in my mind that Dropbox is a useful service with an excellent sync client and I use it extensively (alongside the consumer version of Microsoft OneDrive, although I’ve given up on OneDrive for Business). Recently, I’ve found myself wanting to embed images held on Dropbox within forum posts.  Unfortunately, the link given out when sharing a file doesn’t work for embedding; however, as Canton Becker notes, if you replace ?dl=0 with ?raw=1 on the end of the URL, the link will work for an embedded image (more details on the Dropbox website).

Pixlr: a free online image editor

Whilst talking about images, I may have mentioned this before (or I might not have) but check out Pixlr – a free online image editor.

My activity tracking ecosystem

After I wrote my post on Monday about the Fitbit Charge HR, Dan Delaney (@Dan_Delaney) and Gregg Robertson (@GreggRobertson5) both tweeted me to say “try MyFitnessPal“. Well, after putting aside the really cringeworthy name (although “MyNetDiary” is not any better), I thought I’d give it a try and, so far, the experience has been really positive.

Not only does MyFitnessPal seem to have a decent UK food database (albeit one that could do with some tidying up for consistency in naming – although that’s probably just my pedantry again) but the app is pretty good (just as good as the MyNetDiary app I paid money for…) and, more importantly, the ecosystem of connected apps is pretty good (Strava and Fitbit are both there, which is what I need – but many more besides). It’s growing too; only yesterday Endomondo emailed to say they were joining the “Under Armour Connected Fitness suite”, which includes MyFitnessPal.  The only slight downside (and it’s really not an issue when I think about the data that I need to keep, long term), is that MyFitnessPal bundles up each meal into a summary when it passes it to Fitbit:

So, this is what my activity tracking ecosystem looks like now:

Ultimately, I only have to enter or capture each item of information once (exercise via Strava unless automatically captured on my Garmin Edge 810 cycle computer; food/drink/weight via MyFitnessPal; daily activity/calorie burn automatically from my Fitbit Charge HR) and it flows into Fitbit and onwards each day to Microsoft HealthVault.

My new Office 365 Resource Centre

I’ve been doing a fair amount of work with Office 365 in recent months (including passing certification exams) and, along the way, I’ve found a lot of snippets of useful information. Normally I’d write a blog post but I expect to be constantly adding to the information so I thought I’d create a different solution this time.

So, I’ve started to create what’s currently known as Mark’s Office 365 Resource Centre. It’s work in progress – and I’m sure the structure will change as it grows over time – but at least I’ve found something to do with the public website on my Office 365 subscription!

Messing around with maps

Over the last few weeks, I’ve found myself making quite a few conversions of maps between different formats, for different uses (mostly cycling-related).  The things I’ve found might, or might not, be useful to others… so I’m writing them down anyway!

Firstly, I wanted to see what the profile of a route was like. I had a GPX file for the route and used the excellent GPS Visualizer site to create an elevation profile.  And then quickly decided it had far too many bumps!

Next up, one of my fellow riders wanted to be able to view the route in Google Maps (not Google Earth).  This wasn’t quite as straightforward but, again GPS Visualizer comes to the rescue. Using that site, it’s possible to convert to a KML file that Google Maps can work with.  Unfortunately, the “new” Google Maps doesn’t have an import option so you need to switch back to the “classic” Google Maps (it might be enough to use this version of the URI: https://www.google.com/maps?output=classic), after which you can use the Google Maps Engine to create a map (like this one, which was stage 1 of my recent London to Paris ride):

Finally, I bought a Garmin Edge 810 (cycle computer).  After months of saying “I don’t need a Garmin, I have Strava on my iPhone”), I gave in.  And I’ve been pretty glad of it too – already it’s been great to monitor my stats as I climbed Holme Moss last week (does 98% maximum heart rate mean I’m 2% off a heart attack? </joke>) and last weekend I decided I was 20-odd miles from home and bored of my ride, so the sat-nav could show me the best way back to my starting point (even if it did mean cycling along some trunk routes…). Added to that, Mrs W has been glad to track my rides using the Garmin 810’s Live Tracking (although it didn’t work last time I was out…).

The Garmin comes with “base maps” but these are really just the main roads.  As they’re probably not the ones you want to use for cycling, it’s handy to load on some more detail. Ordnance Survey 1:50K maps (GB Discoverer) may be great (the 3D view in particular) but at a penny shy of £200 I wasn’t prepared to pay that much, with Open Street Maps available for free.  ScarletFire Cycling has made a video with an interesting comparison of the OSM and OS map options:

Downloading the Open Street Maps to a Garmin Edge 705/800/810 is brilliantly described by DC Rainmaker and Forgot has a write-up for getting turn-by-turn navigation working on the Edge 800, as does ScarletFire.  It can take a couple of days for the maps to be generated though and I did find a direct download link with maps that had been generated fairly recently (July 2013), so I used that.