Monday, October 3, 2016

Work Rant: Engineers and lack of usability (NTP time syncing)

This is a 'Dear Engineers' rant and it springs from a deep and dark place in my soul where I nurse my anger towards systems and technologies that could have been made so much easier to work with, if engineers spent a little bit of time with Usability and GUI design staff...

Lets imagine you have a few Domain Controllers (DC). Some are virtual, some are physical and one is a Primary Domain Controller (PDC).

All the DC's (except one) get their time from the PDC and as we all know, having time in sync across our domain is VERY important. The PDC, however, gets its time from another DC (the one that does not get it from the PDC) and this DC gets it from an atomic clock somewhere (* We will call this DC the DCntp.

The DCntp goes down. No one cares, as its old and sad and needs to be buried anyway. No one remembers that the PDC gets its time from DCntp and therefore do not spend their weekend worrying about bringing it up.

Suddenly its Monday. People start to show up at work and quickly realize that something is wrong. Authentication with external systems do not work. Clocks on PC's and desk phones are off by a lot. Chaos and havoc ensues.

Problem: The PDC could not get its time from DCntp and defaulted to the local CMOS hardware clock. The PDC is virtual and does not have local CMOS hardware but an untrustworthy emulated CMOS which as horrible at keeping time. The PDC's time start to slide and everything else starts to inherit the problem. Locally that is not an issue, but in a globalized world with Cloud services and SaaS solutions it is!

Engineers - If the PDC notices that it can't get time from its NTP services repeatably, why would you want it to default to a local CMOS when its virtual?

Start logging failure errors in the log. Send mails to everyone in the Domain Admin group. Give pop-up messages when someone logs into the desktop. Default to a * server.

Better yet - Have a Best Practice analyzer run automatically every few weeks to deliver reports on issues; 'Hey Admin - Did you know that the PDC is not the primary NTP server for this domain? Maybe you should look into that?' or 'Hey Admin - Did you know that if I can't find an NTP server that I'll default to the local hardware which is virtual and that you are going to have a bad time?'

Its 2016 - Lets act that way!

Also, these two links saved my day:
Configure DC to synchronize time with external NTP server
How to configure an authoritative time server in Windows Server

Tuesday, February 24, 2015

Sending e-mails from Lightroom and Gmail with two-factor authentication

So you want to be able to send e-mails with your photos directly from Lightroom, but have not been able to get it to work. When you enter your username/e-mail and password, Lightroom fails to validate the settings or fails when you send the mail. You realize that you've enabled two-factor authentication for you Gmail account (which is great and you should do it!) and wonder how to get it to work, since Lightroom does not ask for your authentication code.

Well, there is a solution. Google allows you to make 'App Passwords' which is logins for your Gmail that does not need two-factor authentication. Instead you get a fairly complex password that you can then enter into your App still be allowed to send mails.

Btw: This also works for Google Apps accounts!

Here is how to do it.

  1. Goto Google Account settings.
  2. Scroll down to 'App passwords' and click it
  3. Enter your Gmail password
    Since you are adding/changing some security settings, Google will ask you to provide your password.
  4. Click on 'Select app' and choose 'Other (Custon name)'
  5. In the field enter 'Lightroom' or something that will remind you what you are using this account for, and click Generate
  6. You will be presented with a app password consisting of 4 4- character blocks. Select and copy this password and click Done
  7. Open Lightroom
  8. Click CTRL+Shift+M (or File -> Email photo...)
  9. In the Service Provider field, select Gmail
    Fill out your Account name (usually your real or company name)
    Add your email address
    Finally paste the password from step 6 into the Password field
  10. Click OK and you are ready to go!
If you want to make sure it works, before sending mails, click on the From: field and select 'Go to Email Account Manager...'.

Click in the Validate button and Lightroom will check if the settings are ok. If they are, you will see a green dot next to your Account name and right underneath it, it will say Validated.

There you go. You can now send mails from Lightroom even though you have two-factor authentication setup for your Gmail account.

Tuesday, January 6, 2015

Keeping up with via RSS

So, after moving to new city (actually new country on new continent) I needed some way to find a new social group, or at least people with whom I shared a hobby.


Signed up, entered my interests and within hours I had agreed to meet with fellow photographers to do a photo event!

After becoming member of a couple of handful of groups, it became apparent to me that I needed to find a better way to get organized with all the things that happened on Meetup, that I might be interested in. Most of my digital life has been streamlined using services like Pocket and IFTTT, so how could I make Meetup become part of that flow.

Basically I wanted to be informed of any activity related to any of the groups I was a member of. New members, new comments, new photos... Well, say hello to Meetups API and RSS feeds!

Let me show you how I created an RSS feed of all my Meetup activity and then how I used IFTTT to push it to Pocket.

  1. Take a note of this:[ID]&key=[API_Key]
  2. Log in to Meetup and click on your profile (top right corner) and take note of your member ID in the URL (yes, the ID in the example is made up!)

  3. Now click on the 3 'more info dots' and then click API

  4. Then click API Key and take note of the API Key

  5. Replace the [ID] and the [API_Key] placeholders in the URL from step 1 with the values that you found in step 2 and 4, and you will end up with something like this:
This is your very own personal RSS based Activity Feed from Meetup. How about that!

Now, I've created a recipe in IFTTT that takes anything new from that RSS feed and created an item in Pocket, but you can also just add the feed to your favorite RSS reader (Feedly?).

Now you will never miss a thing from Meetup.

Have fun!