Greymeister.net

The Calendar Strikes Back

So normally, adding a Google Calendar to your iOS device is straightforward, functionality I’ve been using since the first iPod touch I bought. I say normally, because if you’re like me, you also have to deal with a Google Apps account managed by your company that uses federated identity. No apps will properly authenticate with my work account unless they use a browser-based login page, so that it can redirect to the company IDM server.

Also, normally, Google Calendar is excellent for sharing calendar information among different accounts. One of their policies is that they removed the capability for allowing subscriptions to your calendar. I’m not sure why, since it seems that I can make the calendar public anyway.

No REST for the Wicked

I recently noticed something that if you know up front will save you some time. The Azure REST documentation for creating a Virtual Machine image is off a bit. Here is the example from their documentation:

1
2
3
4
5
6
7
8
9
10
11
12
13
<PublicKeys>
   <PublicKey>
       <FingerPrint>certificate-fingerprint</FingerPrint>
       <Path>SSH-public-key-storage-location</Path>
   </PublicKey>
</PublicKeys>
<KeyPairs>
   <KeyPair>
       <FingerPrint>certificate-fingerprint</FinguerPrint>
       <Path>SSH-public-key-storage-location</Path>
   </KeyPair>
</KeyPairs>
</SSH>

First, this is obviously not valid XML because of the incorrect spelling, but even if you fix that you’ll get this lovely response back from the server:

1
2
3
4
 <Error xmlns="http://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
    <Code>BadRequest</Code>
    <Message>Fingerprint and Path in SSHKeyPair should not be null or empty.</Message>
</Error>

Whuh? At first this doesn’t leave you with much to work with, especially after checking your XML tags over and over and seeing that the tags that are missing are present in your request body. However, there is a hint in the error message, and that is the capitalization of Fingerprint. If you switch to this for both the PublicKey and KeyPair elements the request will succeed with a 202 HTTP response. I have reported the documentation defect to Microsoft already, so hopefully it will be corrected soon.

So far, the new Azure Management Portal and its REST API are less awful than what was available last year.

I Went Hybrid

Two days ago I purchased a new car, the Toyota Prius c. It was the best fit for me for several reasons:

  • It’s the cheapest car in the Prius lineup.
  • It gets the best fuel economy in the Prius lineup, and probably on the Toyota lot irrespective of the Plug-in model.
  • It is small, very easy to park in crowded garages or lots.
  • It is a hatchback, which means I can actually fit things into the trunk without being limited by a small opening.

My previous car is the 2002 BMW 325i, pictured below:

I bought it used with slightly less than 90K miles on it several years ago. It was certainly a fun car to drive, but the maintenance costs of an out-of-warranty car was the deciding factor in not buying a used car this cycle.