Why you shouldn’t use Google Authenticator

For some time I have been using 2FA as much as possible, to secure various logins and accounts.

The app I have been using for it is Google Authenticator on Android. This was because the first time I used 2FA was on starting a new job, and it was what the company was using for OpenVPN and Xero. It all seemed simple enough – when setting up an account on a site it showed me a QR code and I scanned it with the phone. Then to login I would just type in the number currently shown in the phone app for that site.

All worked fine for a couple of years until a hardware fault completely bricked my phone. Without ever checking, I had assumed that Google had backed up the codes it needed and I could just log into my Google account and have them loaded into the app on my new phone. Turns out that that is not the case, and there is no way of backing up Google Authenticator at all. On getting a new phone you can transfer codes across, but that’s all. If you don’t have old phone, that obviously can’t be done.

Continue reading “Why you shouldn’t use Google Authenticator”

Converting to Nextcloud Contacts and Calendars

I recently bought a Syncloud Cloud server, primarily so that I, my girlfriend and my band could all have large dropboxes and shared dropboxes without each having to pay large regular fees to a cloud company. The dropbox facilities the Nextcloud server on it provides are similar to those of Dropbox, but Nextcloud also has a wide range of apps that can be installed to provide more cloud facilities.

Among them are Contacts and Calendar apps, which I decided to install and convert to in order to reduce the amount of information that Google can trawl about me. To consider them working I needed to get both to operate in the Nextcloud web interface, Thunderbird (on Windows, but that is probably not relevant) and Android phone and tablets.

Continue reading “Converting to Nextcloud Contacts and Calendars”

Adding iCloud support to a Xamarin app

One of the facilities in my Mobile DMX app allows the user to back up all of their workspaces (light shows) into a zip file, which can later be restored. In the currently released Android version the backup can be written to a folder on the tablet, or saved on a PC by using the Windows Companion app. Continue reading “Adding iCloud support to a Xamarin app”

Linux and Xamarin socket problems

One of the requirements I set myself for my Socket library was that it should be as robust as possible about knowing that the other end of a connection had gone away. The .net socket objects are pretty bad for this, and the only way to be certain that the connection is up is to attempt to read or write its data stream. Continue reading “Linux and Xamarin socket problems”

Dropbox support for Xamarin.Forms

The new Dropbox v2 API makes it quite straightforward to add support for Dropbox into an app running on a phone or tablet. When I decided to add Dropbox support to Mobile DMX it quickly became obvious, looking at the “SimpleTest” sample app, that the awkward part is logging in, but uploading and downloading small files would then be very easy. Continue reading “Dropbox support for Xamarin.Forms”

Xamarin.Forms Error CS0117

Now that I have completed the first release of Mobile DMX I thought would convert the project over from Xamarin Studio to Visual Studio. I wasn’t able to do this until recently because I have an “Indie Android” licence, which meant I had to use Xamarin Studio, but since MS have bought Xamarin I can now use Visual Studio (Xamarin Studio is deprecated), which is good.

Took a while, though. At first I was getting several hundred errors of the form

error CS0117: 'Resource.Attribute' does not contain a definition for 'mediaRouteSettingsDrawable'

Continue reading “Xamarin.Forms Error CS0117”

Fun with Sockets

Actually, not fun at all. This problem has been driving me nuts for hours.

There are some things I like about .net socket programming, but one thing that always causes horrible problems is shutting sockets down when I’ve finished with them. One way or another, I always end up having to trap some exceptions. Continue reading “Fun with Sockets”

Resetting a Transformer

I have an Asus Transformer TF-101, running Android, which I bought in June 2011 and have used pretty heavily since. Over the last year or two, it has gradually become more and more unusable, often hanging up for long periods, and sometimes crashing. In addition, some apps have become quite unstable – for example, the bookshelf view in Perfect Viewer hung and crashed almost every time I tried to use it, and uninstalling and reinstalling didn’t fix it. Continue reading “Resetting a Transformer”