Category Archives: General Tech Stuff

Fixing dual-SIM provisioning for T-Mobile and GigSky

When Apple announced dual-SIM support for the new iPhone XS, I immediately decided to buy one instead of the iPhone XR that I really wanted. My reasoning was simple: both the XS and XR had a much improved camera, but the XS would allow me to provision a data-only SIM for my international travel. I ordered one and happily started using it, even knowing that dual-SIM support wouldn’t be available at launch.

It’s important to understand what Apple actually supports: you can have one or two SIMs in your iPhone XS or XS Max. One of them may be a physical SIM; the other is a virtual SIM called an eSIM. There’s no requirement that the eSIM be data-only; you can have two phone numbers, provided by two different carriers from two different countries, if you want. All I wanted was international data, so I planned to buy an eSIM from GigSky. Keep in mind that, as of this writing, only a handful of carriers support eSIM. For example, T-Mobile in the US won’t sell you an eSIM, but T-Mobile in Austria will.

It’s also relevant that this phone came from Apple’s iPhone Update Program (IUP). IUP phones aren’t locked to a particular carrier, or at least they aren’t supposed to be.

I downloaded the GigSky app, bought a plan, and tried to flip the switch that enables the secondary SIM. No dice– when I did, the phone screen briefly flashed up the “Hello!” activation screen, then I got a dialog that said, simply, “Actication required.” Not super helpful.

After trying a few random things, like rebooting the phone, I filed a support ticket with GigSky. “Your phone must be locked,” they said. “Contact T-Mobile.”

So I did; TMO looked up my IMEI and said “nope, we don’t have it locked. Call Apple.”

So I did. Apple fooled around for a bit, had me try removing the existing GigSky eSIM and readding it (which you can’t do; I had to buy another one), then told me to verify that T-Mobile supports eSIM. As I mentioned earlier, they support using eSIMs on phones locked to them (which this one wasn’t anyway), but T-Mo US can’t sell you one– not relevant in this case.

I then called Apple back and spoke to a very helpful gentleman named Matt. He suggested that I back up the phone and erase it, then reactivate it, to force it to get a new activation profile. I dutifully did this, whilst sitting in my Swiss hotel room. After a long cycle of reset-related stuff (new FaceID, resyncing with my Apple Watch, &c), I bought a third GigSky eSIM and was able to activate it without error. The picture below tells the story: I’m roaming on Swisscom (through T-Mobile’s normal international roaming for voice and SMS) on my primary SIM (thus the small “P” icon) and using GigSky for data.

Long story short, Apple still has some work to do to make this process work more smoothly, but I am hopeful they and their carrier partners will file down the rough edges to make it less painful in future.

Advertisements

Leave a comment

Filed under General Tech Stuff

Azure Portal search: a tale in 4 pictures

Sorry that my first blog post in a while is a complaint, but, hey, at least you’re not paying a subscription fee for it.

We ran into an odd problem with our work Microsoft Teams environment. (I’ll blog more about the details once I confirm that it’s fixed; we’re still troubleshooting it.) Thanks to valiant efforts by Tony Redmond and the Teams engineering team, the root cause was tentatively identified as one of the Teams microservices being disabled. I needed to re-enable it.

First stop, the “Enterprise Applications” blade of the Azure portal. Note the list below is the default view, and it’s all you get– a naive user might assume that the list shows all applications in the AAD tenant because the filters are set to “application status any” and “application visibility any,” and the list appears to go from A through W.

portal-01

But noooooo. Notice that there’s no entry for “Microsoft Teams,” which I know perfectly well is enabled. OK then, let’s try setting the “Show” pulldown to “Microsoft applications.” Set that filter, click “Apply,” and check out the results.

portal-02

Huh. Still no entry for Teams. This time I notice the text in the search field: “First 20 shown, to search all your applications, enter a display name or the application ID.” All right, fine, I’ll try searching for “Teams”. Type that in, hit return, and…

portal-03

Well, that seems wrong. Let me try “Microsoft”. That produced a good-sized list of results, very few of which showed up in any of the preceding screenshots.. but only one entry showed up with a name of “Microsoft Teams.”

Finally, Vasil Michev took pity on me and told me to search for “Microsoft Teams.” Et voilà…

portal-04

There’s the problem child. A couple of clicks later, the service was enabled as intended.

Now, sure, in the grand scheme of things this is a minor issue. There’s so much stuff in the Azure portal, and so many great Azure services, that I can understand that maybe search in this one little corner of the portal isn’t a priority.

Having said that: this is an embarrassing thing to get wrong, and it’s emblematic of similar problems across other Microsoft properties (let’s not even talk about how bad content search is in the Teams client, or why I can’t search Exchange Online archive mailboxes on the Mac Outlook client).

Seriously– fix it, Microsoft.

 

 

 

 

 

 

 

 

 

1 Comment

Filed under General Tech Stuff, UC&C

Viewing events for Windows 10 Controlled Folder Access

I wrote about Controlled Folder Access not long ago. Since then, I’ve seen it throw a few dialogs telling me that a particular application was blocked from doing something, but I generally didn’t pay much attention unless I found something that didn’t work. The desktop notification doesn’t show the full path of the blocked executable if it’s anywhere in \program files or \users\appdata. There just isn’t enough room.

Today I saw a message pop up that had some Chinese characters in it– you’d better believe that got my attention. I wanted to see what CFA had blocked. A little digging around led me to an article that explains how to easily create a custom view that shows CFA events. Sure enough, here’s what it showed:

Someone’s up to no good

Since I don’t use Internet Explorer, it’s pretty clear that something is on my machine that shouldn’t be, but, at least for now, CFA has prevented it from doing anything too nefarious. Off to the malware scanner I go!

Leave a comment

Filed under General Tech Stuff, Security

Quick impressions of the Harman Kardon Invoke Cortana speaker

I’m an early adopter. This is both a blessing and a curse.

Thanks to John Peltonen, I installed some X-10 home automation gear back in the early 90s and have long wanted a more automated home, so when Amazon started shipping the Echo I bought one and threw together an ad hoc home automation system. My “robot girlfriend” Alexa can control various devices, including the kitchen and master bedroom, floor and desk lamps, my security system, and my thermostats (a Nest downstairs and an el cheapo Honeywell upstairs). I have a mix of LIFX bulbs (wouldn’t buy them again), WeMo switches, TP-Link smart plugs, and Lutron Caseta dimmers/switches, plus a GoControl garage door controller. It all works pretty well.

The Alexa devices have pretty quickly blended into my normal home workflow. I use the one in my bedroom like a clock radio, and to control the temperature when I’m in bed; the one in my office gets frequent use for adding items to my grocery list when I remember them, and the kitchen unit is an all-around music player, news source, multi-function timer, grocery-list keeper, and audiobook reader. Overall I’m well pleased with the Alexa devices and ecosystem.

But.

Alexa as an assistant is far behind both Microsoft’s Cortana and Apple’s Siri. (For another time: my thoughts on what each smart-assistant platform is good and bad at, e.g. Siri is dumb and has poor voice recognition, for example, but has a few idiot-savant skills that are useful and both benefits, and is limited by, Apple’s strong emphasis on on-device processing). It’s safe to say that Alexa is mostly a portal to Amazon’s services, which is fine; as a heavy consumer of Amazon services I’m OK with that.

However, I got spoiled by the quality of Cortana’s assistant functionality on Windows Phone and have continued using it on Windows 10, so when I saw that Microsoft and Harmon Kardon were partnering to make the Invoke, a Cortana-powered competitor to the Amazon Echo, I was intrigued. For Black Friday, Microsoft was selling the Invoke for $99, and I had a $50 Microsoft Store credit, so I figured for $50 it was worth taking a flyer. The Invoke got here yesterday and I spent a few hours setting it up and playing with it. Here are my initial short-term impressions.

  1. The device build quality and packaging are excellent. I prefer the physical design and finish of the Invoke to the Echo. They are similar in size.
  2. The Invoke has a power brick instead of a wall wart. That is inappropriate for kitchen use.
  3. The out-of-box-experience and initial setup for the Invoke are very smooth, better than the initial experience for an Alexa device. All I had to do was power on the device and tap “set up my speaker” in the Cortana app. Whereas the Echo/Dot require you to manually switch wifi networks, the Invoke just magically figures out how to set itself up. (The Invoke immediately had to download an over-the-air update but this was painless and fairly fast.)
  4. The sound quality of the Invoke is much better than that of the original Echo. The new Echo 2 supposedly sounds better. The Invoke produces rich, clear highs, solid midrange, and decent bass for such a small unit and it seems louder than the Echo at max volume.
  5. The Dot and Echo have an LED ring around the top that lights up to indicate when the device is listening. The Invoke has a small touch-sensitive screen on the top. The ring is easier to see from a distance (and can be used to indicate when there are notifications, etc) but the touch-sensitive screen is an easy way to interact with the device. I’ll call this one a draw.
  6. Cortana functionality seems to be on par with the iOS Cortana app, and somewhat behind the Win10 app’s functionality.
  7. Cortana has very few skills compared to Alexa’s skills library. On both platforms, many of the skills are either stupid (I don’t need a skill to play the Notre Dame fight song, thanks) or not useful to me (I’m not a Capital One customer so their skill doesn’t do me any good).
    1. Cortana doesn’t have skills to control TP-Link smart plus, LIFX light bulbs, or WeMo switches– all of which I use heavily.
    2. It is completely non-obvious how to add or manage skills. Some skills are built into the device, like Spotify and Skype. Some require you to install an app or to authorize an external service. The process is much more consistent for Alexa devices.
    3. Obviously the Invoke doesn’t have any Amazon skills. I use those heavily too. Being able to reorder cat food, or check on the whereabouts of a package, or listen to an Audible audiobook is very handy.
    4. You enable smart home skills through the Cortana notebook. This isn’t obvious. None of the skills I have seem to recognize individual devices, e.g. the Wink skill just ties Cortana to the Wink hub, and there’s no way I can find to tell Cortana to find new devices through the hub.
  8. Within the first 30 minutes, I ran into a bug– the device would say it couldn’t understand me, no matter what I said. I’ve seen other people mention this online so it’s a legit bug.
  9. I couldn’t get the Wink skill to control my garage door. This might just be because I didn’t know what to say to it; the same skill works fine with my Caseta dimmers and switches though.
  10. You can only set one kitchen timer at a time. Multiple concurrent timers is a key Alexa feature for me because I lack the skill to coordinate cooking multiple dishes without timers.

One feature I really like and can see myself using a lot is the integrated Skype calling. A simple “Hey Cortana, call person” is all it takes. I’m not 100% sure where Cortana is getting contact data from. If I say “call Delta Airlines,” it calls the local Delta Cargo office instead of the number in my contacts. If I say “call Walmart,” the device looks up the nearest Walmart and calls it, which makes sense because I don’t have Walmart in my contacts list. If I name a person in my contacts list, it calls them. Alexa has a very similar feature, along with the ability to send voice or text messages directly to other Alexa devices, but I never got in the habit of using them. (It doesn’t look like Invoke calls show up in my Skype history; I’m not sure if that’s a feature or a bug).

(Fun side note: if you call either device by the other name, it tells you about the upcoming Microsoft-Amazon partnership.)

For now, the Invoke is definitely a second-class citizen here at the fortress of solitude– with limited smart home integration, I can’t do a 1:1 replacement of any of my Alexa devices yet. But it sounds great, and Microsoft has a long history of rapidly improving their 1.0 releases, so I am optimistic that it will get better rapidly. I’ll keep it.

 

 

1 Comment

Filed under General Tech Stuff, Reviews

Using Windows GitDesktop with Windows 10 Controlled Folder Access

The Windows 10 Fall Creators Update has a very useful new feature that can dramatically reduce the impact of ransomware: Controlled Folders. You should turn it on (Ed Bott’s article tells you how). Once it’s on, any attempt by an unauthorized program to modify files in controlled folders (including your OneDrive and OneDrive for Business folders and your Documents folder) will fail with an error message like this:

Controlled Folders doing their thing

The problem is, sometimes you want an application to have access to those folders. No problem: you can get there by opening the Windows Defender Security Center app, clicking “Virus and threat protection”, then clicking “Virus and threat protection settings,” and then finally selecting the “Allow an app through Controlled folder access.” It’s an easy enough process.

Unfortunately, you may find that the app you added to the list isn’t the app that actually runs when you try to do something. For example, when you run GitDesktop you’ll see a message like the one above because that app is actually a bundle that includes several binaries. You might think you can just add the binaries themselves, and you should be able to, but instead I got an error saying that the path I had entered wasn’t valid. That’s probably because I (lazily) installed the GitDesktop client on my… desktop… so its binaries are tucked away in my Users directory.

I spent some time scratching my head trying to figure out what to do, then discovered that you could enable Controlled Folder Access with the Set-MpPreference cmdlet. Of course, where there’s a Set- cmdlet, there’s usually a Get- cmdlet, and sure enough…

Get-MpPreference is your friend

A little more digging turned up the Add-MpPreference cmdlet and the associated ControlledFolderAccessAllowedApplications switch. A little digging to figure out which actual copy of git.exe  was being run and I was all set… until I started writing this post and found that SnagIt has the same problem!

Adding a new application

Thus I ended up solving two problems (“why doesn’t GitDesktop work?” and “why won’t SnagIt work?”), learning something new (*-MpPreference), and, at least hopefully, protecting myself and others against ransomware. Onwards!

 

2 Comments

Filed under General Tech Stuff

My screen went gray: how to turn off Windows 10 color filter mode

I like to think I know my way around Windows after using it daily since Windows 3.1. Sometimes it still surprises me, though.

Today I was working on a blog post for the ENow blog (stay tuned, you’ll see it shortly). I went to copy a quote from a press release and, suddenly, this is what I saw:

Grayscale Windows screen

Where’d my color go?

I couldn’t figure out what the hell had happened, but my screen was suddenly gray. It was at the correct resolution, and everything looked the same except it was gray. At first I thought I’d mistakenly turned on high contrast mode (which you do with left Alt+left Shift+PrtSc) but nope.

A little digging led me to the dialog shown in the image above. Apparently Windows has a “color filter” mode that, when invoked, makes it easier to see certain colors. It’s intended for people with color-vision deficiencies. For ease of use, Microsoft tied it to a key combination: the Windows key + Ctrl + C. I must have accidentally bumped the Windows key while copying my quote.

Now you know.

112 Comments

Filed under General Tech Stuff

Clearing the Windows 10 external monitor cache

I bought a Surface Book on day 1 of its availability, 2 years ago this month. It’s been an excellent machine. I almost never use it with the clipboard undocked so I’m not sure I’d buy another one, but it’s been good.

Recently, though, it has developed a displeasing habit of failing to recognize external monitors. For example, last week when I was at Ignite, I had to borrow Richard’s laptop to do my product demos because mine wouldn’t talk to the monitor we had available. When I got back from Ignite, it was worse– I couldn’t use an external monitor either through the Surface Dock or the built-in DisplayPort. It didn’t matter what monitor or adapter I used, either. The only way I could make an external display light up was to undock the clipboard and plug the dock connector into it.

I tried a large variety of things to fix it, including updating the firmware on the Surface Dock, reverting to an older preview build of Windows, sacrificing a chicken, and loud cursing. Nothing.

Then I posted on Reddit. Within an hour or so, a user posted a link to this thread, and I found the magic solution. I unplugged the dock, deleted HKLM\System\CurrentControlSet\Control\GraphicsDrivers\Connectivity and HKLM\System\CurrentControlSet\Control\GraphicsDrivers\Configuration, plugged the dock  back in, and boom! The external monitor now works normally.

My theory is that a bug in Windows 10 and/or the Surface dGPU driver and/or Windows Insider upgrades caused the problem. I’m not really interested in figuring out the root cause now that I know how to fix it.

Hopefully this will help future generations who may have this same issue…

3 Comments

Filed under General Tech Stuff