Category: technology
You are viewing all posts from this category, beginning with the most recent.
Tip: How to Snooze iPhone Alarms Using Hardware Buttons
I don’t know whether people know about this iOS feature. I discovered it by accident a year or two back. Before that I used to snooze my alarms by drowsily scrabbling for my phone, prying my eyes open, then trying to tap the correct onscreen button.
Then one morning the alarm was too loud – or it might have been too quiet, I don’t recall – and I tried to change the volume. When I pressed the volume button, the alarm instantly stopped. I thought I had cancelled it by accident, until it rang again the customary nine minutes later.1
Since then I’ve always snoozed my alarms that way. But nearly every time I do, I think, “Do people know about this feature?” Because I don’t think I’ve ever seen it written down. And I’m going to post this without DuckDucking first, so that the existence of some article in The Verge or somewhere doesn’t spoil my flow.
I had thought that pressing the power button cancelled the alarm, rather than snoozing it, but I just checked, and it also snoozes it. So if you reach out, eyes closed, and press anything on the side of your iPhone, you’ll get another nine minutes.
In the interest of fully informing you, dear reader, I’ve just checked what the Home button does; and it appears that does cancel the alarm. So keep your presses to the sides.
I should note that I still have an iPhone 7. I’ve no reason to believe the behaviour is significantly different on more recent models, but obviously on the 10-series phones (X, XR, XS and the various 11s) you don’t have the Home button, so something different might happen. Let me know if you find out.
-
Why nine minutes, I’ve always wondered? Presumably ten is just a bit too long, and anything else would be too short. Why isn’t it configurable? Because, I assume, Apple have always been a highly opinionated company. ↩︎
Beware of Email Apps Storing Passwords
Email apps, especially ones that offer advanced services like “send later,” may be storing our usernames and passwords on their servers.
To be clear what that means: if you use Gmail, for example, you put your Google username and password into the app when you set it up. You expect the app to store them securely on your device. But some apps may also be storing that username and password — your keys to all the Google services in this example — on computers owned by the company that makes the app. Computers over which neither you nor Google has any control.
I’m not suggesting that the company I talk about below, or any other, is doing anything nefarious. They need to be able to log in to your mail server in order to send your mail later. But I hadn’t realised until now what that means, and I’m guessing neither will a lot of people. And to my mind they don’t make what they’re doing clear enough.
Worst of all, having passwords stored on unknown servers — at the very least, that’s worrying.
Background
On episode194 of the Connected podcast, Myke Hurley and Federico Viticci were reviewing the latest version of the iOS (and Mac) app Spark. It’s a fine email app, which I was using on my iPhone and iPad. So I was alarmed when they mentioned in passing that mail handled by the app is routed through Readdle’s servers. That didn’t seem likely at first. Spark is an email client. You tell it what servers handle your mail, and it connects to them to receive and send. The servers belonging to the company that makes the app have no business getting involved in that.
I did some digging. Whether or not Myke was right™ about mail going through their servers, the reality turned out to be much worse.
Digging
I tweeted at the Spark account. Here’s what happened:
@SparkMailApp Hi, I was listening to a podcast today on which it was suggested that if I use Spark, then my email is routed through your servers. Is that true?
— Martin McCallion (@devilgate) May 25, 2018
Which podcast said that?
— Terry Blanchard (@terryblanchard) May 25, 2018
The latest episode of Connected, with Myke Hurley and Federico Viticci.
— Martin McCallion (@devilgate) May 25, 2018
The only time Spark servers access your email is to create a push notification (to create sender, subject, and message snippet) The content is cached until the notification is sent, but removed after that.
— Terry Blanchard (@terryblanchard) May 25, 2018
OK, seems fair. Thanks. Probably all a misunderstanding, either by them or me. Just out of interest, is the “send later” feature done on the client?
— Martin McCallion (@devilgate) May 25, 2018
Ah, forgot about that one! We will store it on our server until the send later time, then we send it through your email server and it is removed from our server.
— Terry Blanchard (@terryblanchard) May 25, 2018
OK. Isn’t that a problem, in that you must be storing your users’ mail server credentials on your servers? I’m pretty sure it doesn’t say that in your Ts&Cs.
— Martin McCallion (@devilgate) May 25, 2018
It’s the second item that we mention in our privacy policy. https://t.co/WpQSIDGPgx
— Terry Blanchard (@terryblanchard) May 25, 2018
I had already found their privacy policy:
OAuth login or mail server credentials: Spark requires your credentials to log into your mail system in order to receive, search, compose and send email messages and other communication. Without such access, our Product won’t be able to provide you with the necessary communication experience. In order for you to take full advantage of additional App and Service features, such as “send later”, “sync between devices” and where allowed by Apple – “push notifications” we use Spark Services. Without using these services, none of the features mentioned above will function.
The wording “Spark requires your credentials to log into your mail system in order to receive, search, compose and send email messages” suggests that Spark the app needs to log into your server, which it does. But nothing about that says that your credentials will be stored on their servers.
Further down, in point 4, “How Long Personal Data is Stored For,” in a table that includes “Type of information,” we see (emphasis mine) :
Email address, email content for Spark Services, mail server credentials
So there it is. They do store your username and password on their servers, and they do tell you; though only if you read well into the kind of document that notoriously goes unread.
Final Thoughts
For features like “send later” they need to store the fact that you want to send an email at a specific time, and log in to your server in order to send it. And to be fair, I’m sure they can’t be alone in keeping that kind of data. Lots of clients offer “send later” and similar services, and all of them will have to log in to your mail server to work. So they have to store your credentials on their servers to do it.
And consider, if you use Gmail, that means your username and password not just for Gmail, but for all Google’s services, are now stored on somebody else’s servers. Their security might be great, but how do we know?
The more I think about this, the more concerned I become. Passwords should only be stored in one place: a secure, trusted password manager. But above all, these services need to be much clearer about the fact that they’re storing our passwords.
Great New Phone; All the Wrong Reasons
My iPhone 6 was getting slow, and its battery was poor. I have been thinking of replacing it. But September is approaching, and Apple will announcing new iPhones (three new ones, according to rumours). So I had more or less set my mind on waiting till then.
That would also be consistent with my iPhone buying history: 3G, 4S, 6… the next in the sequence is 7S.
Friday changed my plans. I was standing at a bus stop on Old Street, just replying to a WhatsApp message. Something touched my hand, and for half a second I thought someone was bumping into me. Then there was a firm grip on my phone and it was gone. Pulled right out of my hand and off down the road on a moped — which must have come across the pavement from behind me.
I should have been more aware. I knew this kind of theft was a thing. We’ve been hearing about them for a few months. But you don’t always think about it, and you never think it’s going to happen to you. And, yes, OK, drink had been taken. But not that much.
The bus arrived a few seconds later, so there was nothing I could do but get on and head home. There was another guy at the stop who witnessed it, and he very kindly set up a hotspot on his phone and let me use it from my iPad. The Find My iPhone app didn’t find it, so the thief had probably turned it off right away. But I was able to request a remote wipe in case it’s ever turned back on, and I got an email from Apple saying all the card details had been removed from Apple Pay.
All of which meant I had to make a trip to the Apple Store on Saturday. And to the Three store, where it was alarmingly easy to get a replacement SIM. I just had to tell them my phone number and give them a payment card. No questions asked. Not even my name and address.
So I now have jet black 256 GB iPhone 7. Which is lovely. I’m late to all the new features, obviously, but here’s a quick rundown:
- TouchID: it’s now insanely fast to unlock my phone. Seems like it’s almost before I touch the home button sometimes.
- 3D Touch: people on podcasts seem to be saying they’ve stopped using this, but I’m loving it. Especially the edge-press for activating the app switcher (a feature which seems to be going away in iOS 11, I hear, so I probably shouldn’t get too used to it).
- The haptic feedback generally. Little clicks that tell you when you’ve activated something. Just makes the whole experience much nicer.
- The “taptic” home button. When I’ve tried this in the shop before now I wasn’t too sure about it. But a couple of days using it for real and I think maybe I prefer it to the feel of the old real button.
Plus, it’s black. Really, really black.
Even the box was black.
The cables are still white, of course. Which reminds me, I’ve always disliked Apple’s ear buds, and passed all my past ones on to my kids. But I thought I’d give these a try, not least because I wouldn’t mind trying the AirPods if they’re ever in stock anywhere,1 and they have the same form factor.
And I don’t hate them. I thought I always had trouble getting them to stay in, but that doesn’t seem to be the case now. The main problem is they don’t give enough sound isolation, so you can hear the traffic and people talking even with music or a podcast playing. I’ve always preferred the kind with rubbery tips, which form a seal. But aside from that, these are better than I expected. Which bodes well for AirPods.
Downside: the battery life doesn’t seem dramatically better than my old one, weirdly. For the first couple of days it was busy downloading updates and restoring things (and getting hot), but that should be over now. I’m assuming that I just have to give it a few full cycles till it beds in and the measurement gets more accurate.
And all the things you have to set up again. That’s not the fault of the phone, though, so much as the way it came to me. If had planned this I would have done an encrypted iTunes backup, which would have meant more things were restored to the new phone.
Anyway, that was a lot of words and no links about not very much.
-
I asked in the shop if they had them in, and of course they didn’t. ↩︎
Stupid Fawning Lapdog Government Apes the US Again
Our glorious leaders have seen fit to copy Trump and his cronies with banning laptops and tablets on planes — from certain countries. The only possible reason for this madness is to punish people for coming from (or visiting) those countries.
Worse, though: such a ban is only going to:
- make things even more confusing and complex at airport security, and
- get extended until it covers all flights, everywhere. You wait and see.
Mac Wishing
Those times when you’re typing a document at work on a shonky Windows 7 machine, and longing for your Mac, where you’d have professional text-handling tools, like Marked for previewing Markdown.
Not that you can’t preview, as long as you’ve got a decent text editor such as Sublime Text (well, specifically Sublime). But things are just so much easier with Mac tools.
And I speak as one who has never had the opportunity to use the Mac professionally. I’ve used Windows machines at works since about 1993, and before that green-screen 5250 terminals.
One of these days, though.
“Ping” Pong
When the original Unix designers (or, as it turns out, Mike Muuss) chose ping
as the name for the command for checking the status of a network host, it was a moment of inspired genius. The word is almost onomatopoeic in its appropriateness.
But nowadays people are pinging each other all over the place: emails, IMs, even phone calls are “pinged” at each other. “I’ll ping you an email,” they say.
The purist in me cringes a little each time I hear it. But it shouldn’t. The word that was so apposite for those early savants is just as suitable today: it communicates a needed concept. And English, of course, is a living, thriving language. So let people get on with it
Just don’t expect me to use it myself.
The Strange Case of the Lost Reply
I’ve tried various email clients on iOS, but for quite a while now my favourite has been Dispatch from Clean Shaven Apps. As well as the many integrations and efficient handling of archiving and deleting emails, I like it because it is one of the only apps that lets you order mail in the One True Way.
Which in case you’re wondering is oldest at the top. Newest at the top is fine for blogs and similar news-based things, but it’s not right for anything else. Call me old-fashioned, but that was the default in Eudora and probably in Mutt and Elm and all those too, and it was and remains the best way.
Even Outlook lets you order it oldest-first. Though disturbingly few people take advantage of it.
Anyway, that’s not the point. The point is that today Dispatch let me down. I was typing a reply on my iPad this morning. The reply composition window looks like this:
I did something — I’m not sure what — that made the composition window slide off to the right. Part of it was still visible, so I tried tapping on it. And it disappeared.
There was no prompt, and nothing in my drafts folder. All that I had typed was gone, like tears in rain.
I’ve just been trying to reproduce it, and I can, up to a point: if you slide the compose window to the right it goes off out of the way, like this:
Which is actually quite useful, because it makes the compose window non-modal and lets you interact with your other messages. But somehow something can go wrong, even though I can’t make it happen now.
Not the end of the world. I retyped the mail. But that’s not good enough, Dispatch. You have to be able to trust your email client.
Things That Should be Easy
It ought to be easy to install a software package on Linux. I mean, it usually is. All modern distros ship with package managers, right? So all you should have to do is type (Debian-based example):
sudo apt-get install PACKAGE-NAME
and away you go. Right?
Well, usually. But today, not for me.
I have a NAS box from Western Digital, which is really a little Linux server with a biggish disk drive. Some time ago I replaced the shipped distro with a newer one, but it was so long ago, and it’s been so quiet and reliable that I can’t remember what version, exactly.
So first, there seems to be no way to interrogate it to see what distro it is. I mean, there must be, and this page lists several ways, but none of them work on this box. I mean, uname
shows me the kernel version and all that, but not the distro.
Anyway, all that doesn’t really matter. I was only doing it to install Node, and I was only wanting to install Node so that I could run AirSonos. We got a Sonos Play:1 for the kitchen recently, and it’s great, but the one weakness is that it doesn’t support playing from an arbitrary source one your phone, such as, say, your podcast app of choice (Overcast, obvs).
AirSonos is supposed to effectively turn the Sonos into an AirPlay speaker, so you can easily send audio to it from iOS devices. And you want it to be running on a server, so it’s available all the time.
But it turns out that Node does not want to install on my NAS. Either by apt-get
, as above, or by downloading the binary and unpacking it. (That installs it, obviously, but it won’t run.)
I’m going to try running SonoAir on my MacBook. That’s a wrapper round AirSonos, and obviously it’ll only work (assuming it does at all) when my MacBook is awake. But life’s too short.
Tip: using Pandoc to create truly standalone HTML files
If you’re using the excellent Pandoc to convert between different document formats, and you:
- want your final output to be in HTML;
- want the HTML to be styled with CSS;
- and want the HTML document to be truly standalone;
then read on.
The most common approach with Pandoc is, I think, to write in Markdown, and then convert the output to RTF, PDF or HTML. There are all sorts of more advanced options too; but here we are only concerned with HTML.
The pandoc
command has an option which allows you to style the resulting HTML with CSS. Example 3 in the User’s Guide shows how you do this, with the -c
option. The example also uses the -s
option, which means that we are creating a standalone HTML document, as distinct from a fragment that is to be embedded in another document. The full command is:
pandoc -s -S --toc -c pandoc.css -A footer.html README -o example3.html
If you inspect the generated HTML file after running this, you will see it contains a line like this:
<link rel="stylesheet" href="pandoc.css" type="text/css">
That links to the CSS stylesheet, keeping the formatting information separate from the content. Very good practice if you’re publishing a document on the web.
But what about that “standalone” idea that you expressed with the -s
option? What that does is make sure that the HTML is a complete document, beginning with a DOCTYPE
tag, an <html>
tag, and so on. But if, for example, you have to email the document you just created, or upload it to your company’s document store, then things fall apart. When your reader opens it, they’ll see what you wrote, all right; but it won’t be styled the way you wanted it. Because that pandoc.css
file with the styling is back on your machine, in the same directory as the original Markdown file.
What you really want is to use embedded CSS; you want the content of pandoc.css
to be included along with the prose you wrote in your HTML file.
Luckily HTML supports that, and Pandoc provides a way to make it all happen: the -H
option, or using its long form, –include-in-header=FILE
First you’ll have to make sure that your pandoc.css
file1 starts and ends with HTML <style>
tags, so it should look something like this:
<style type="text/css">
body {
margin: auto;
padding-right: 1em;
padding-left: 1em;
max-width: 44em;
border-left: 1px solid black;
border-right: 1px solid black;
color: black;
font-family: Verdana, sans-serif;
font-size: 100%;
line-height: 140%;
color: #333;
}
</style>
Then run the pandoc
command like this:
pandoc -s -S --toc -H pandoc.css -A footer.html README -o example3.html
and you’re done. A fully standalone HTML document.
- It doesn’t have to be called that, by the way.↩