Wednesday, February 1, 2017

Communication & The Joys of Written English

I’ve been attending a communication course that’s been looking at the building blocks for how we communicate with each other. One of the first things the course highlighted is how much we rely on non-verbal communication when we’re attempting to understand what someone else it trying to communicate and how difficult this in in the modern world when you’re not dealing with someone face-to-face. For me I found this particularly relevant due to the large number of emails I receive and send every day, and as email is my preferred means of communication (for work anyway!).

One of the examples they used was around this simple phrase;
“I didn’t say he stole the money”.
The meaning of this simple phrase changes entirely depending on the one word you choose to emphasise;
I didn’t say he stole the money - It was someone else who said it
I didn’t say he stole the money – It really was someone else, not me
I didn’t say he stole the money – Was it implied? Did I write it down?
I didn’t say he stole the money – I said someone did it, but not him
I didn’t say he stole the money – Maybe it was his money (he got it from the bank for example)?
I didn’t say he stole the money – not that money, the other money (context)
I didn’t say he stole the money – I said he stole something else
It’s easy to see when it’s put like this how confusing it must be for people who just have the exact words someone is using (without any emphasis) to decide on the message they are trying to get across. To make things slightly more confusing we then discussed how exactly the same message, with the same emphasis, delivered by two different people could be taken multiple ways when the listener takes into account things like the relationship between them and the person talking, the wider context of the discussion, etc.

We didn’t even get as far as to touch on what if someone is not communicating in their first language.

Something to think about the next time you read something in an email …

Wednesday, October 12, 2016

Searching vs Filtering

This is one of the questions that keeps coming up (usually in discussion featuring Microsoft SharePoint and equally usually starting with a complaint about not being able to find something they "know is there").

Mostly the issues come down to the differences between searching and filtering and I put together the little example below which helped explain things;
Bob lives in a house. He's got lot of books one of which is the Great Gatsby. His bookshelf is in his lounge and everything in his life is nicely indexed and searchable and all result sets include the location. 
Bob wants to find his book. 
He does a search "book=great gatsby AND location=lounge". He gets the result that the book he's looking for is in the bedroom (where he left it). 
Now if he'd used the same text as a filter then he'd have had no results as the book wasn't in the lounge and filters don't have the flexibility to, if no result matches exactly, to widen out to include "close enough"-matches that, in this case, give him the result he's looking for.
This worked quite well so I thought I'd share it.

As a side note this also demonstrates the effectiveness of a really good search engine. Take, for instance, the majority of users habit of "filing" their emails into folders. If everyone in an enterprise was reliably able to search for things just think of all the time that could be saved by everyone just archiving emails out of their inbox rather than filing them away.

Sunday, September 6, 2015

Minecraft Birthday Invite (slightly off topic!)

My daughter want's a Minecraft party for her 7th Birthday and I put together this birthday party invite. I used Pages (for the Mac) but I've included a few links below which should allow you to edit the document for your own use).

The primary school my daughter attends allows them to have a "birthday table" at lunchtime on their birthday. I'll be there as well as a number of her friends.

Here are some links (all via Google Docs);
  • PDF (should you need it)
  • Pages (the raw file)
  • Word (just in case you're running Windows)

This was pretty easy to put together (largely thanks to Google Image Search).

 I'll be doing something similar for her main birthday party.

Monday, August 31, 2015

Deploying Carrier-Specific APN Settings using MobileIron

The first step is go into the policies and settings page in MobileIron. You'll need to login as an administrator and then go to the "Policies and Configs" tab and then into "Configurations";


Choose "Add New", then "iOS and OS X" and finally "APN". This will bring up the APN properties dialog to allow you to enter the APN details from the carrier;



We've added two APN's; one for Three and the other for Orange (both in the UK).

We primarily use AD groups to control who gets what but during a migration from one carrier to another this has not worked well. In the UK the switchover can happen anytime and the last thing you want is users to suddenly find themselves unable to access the network.

In order to fix this we've added some additional criteria to the label in MobileIron to ensure that users will only pickup the APN settings if they are on the right network.

The existing label criteria was;
"user.ldap.groups.name" =  "MobileIron_UK_APN"
We would simply put the user in the AD group they would pickup the APN information from our active provider.

This was changed to;
"user.ldap.groups.name" =  "MobileIron_UK_APN"  AND
"common.home_operator_name" =  "Three" AND "common.home_country_name" =  "United Kingdom"
In this way when users swap their sims and are migrated from the label should trigger the removal of the old APN even if the user is in the AD group which should be deploying it.

Similarly we create a another group to work in the other direction - to only apply the new APN for Orange if the user is in the right group AND on the Orange network (in the UK).

This actually had the happy side effect that users who were on Vodafone, O2, or any of the other virtual operators didn't pick up the APN if they'd be left in the group accidentally (or had two devices, one company the other private).

In this way we ensure disruption to the users (not to mention calls to ServiceDesk!) are minimised.

Thursday, August 27, 2015

Outlook 2016 (for Mac) Email Formatting/ Image Display Issue

I've been working today on an interesting issue with email formatting when you send HTML emails between the Mac and PC versions of Outlook. The issue only seems to occur one way - from Outlook 2016 on a Mac to Outlook 2013 on a Windows machine. In addition to font issues it also seems to be doing something "weird" with a PNG image I've embedded as a test.

So here's the problem. On the left is the test signature in Outlook 2016 (Mac) and on the right is the signature as it appears when it arrives in Outlook 2013 (PC);


As you can see the image shows that when the email arrives in Outlook 2013 the colour of the image changes (although if you save the file and open it in preview it is actually still the same colour - it's the way it's rendered that's different, not the image itself).

Clicking "reply" (which lets you see the font information being used) shows that while the email signature was build using the font Calibri (which is installed on both devices) it's being rendered in Outlook using "Times New Roman".

From what I can see (i.e. "thank you google") it looks like Outlook 2016 isn't including font information in the email so Outlook 2013 is reverting to it's standard font. The problem seems to persist if rather than using Outlook 2013 on a PC you use the mail client on an iPhone - this suggests Outlook 2016 is doing some odd rather than 2013 just not displaying it correctly.

What's going on with the image is a mystery! Which slightly deepens if you copy/ paste your email signature into Mail on the Mac. You still get the image problem, but not the font problem. However if you save the image to disk from the Outlook signature, open in preview, and then copy/paste into the email signature in Mail from there you don't get the same issue. Again the light image is also visible on an iPhone which suggests it's the information in the email message being rendered that is causing the issue.


Neither issue occurs if you use Apple Mail on a Mac, it's something specifically done by the latest version of Outlook.

Should I work out how to address this I'll make another post, just thought this was odd enough to justify a specific post ...

Monday, March 9, 2015

PL/SQL: Dropping a connected user

Here's a quick script I wrote to disconnect and then drop a connected user.

Just replace with the user you want to remove.

BEGIN
  FOR sql_command IN (select 'alter system kill session ''' || sid || ',' || serial# || '''' AS command FROM v$session WHERE username = '') LOOP
    EXECUTE IMMEDIATE
      sql_command.command;
  END LOOP;
  
  EXECUTE IMMEDIATE
    'DROP USER  CASCADE';
  COMMIT;
END;

You could make a parameter fairly easily, but this patch of code met my immediate needs (there was an web front end that was continually trying to connect but I didn't want to shut it down, just drop and re-create the user).

Wednesday, February 11, 2015

Oracle PL/SQL: Give me record counts for all tables in a schema

This piece of SQL will output the row counts for every table in the current schema in a CSV format;

declare 
  i integer;
begin
  dbms_output.put_line('Table Name,Row Count,' || TO_CHAR(SYSDATE, 'DD-MON-YYYY HH24:MI:SS'));
  for v_table in (select ut.table_name from user_tables ut) loop
    execute immediate
      'select count(*) from ' || v_Table.Table_Name
      into i;
    dbms_output.put_line(v_Table.Table_Name || ',' || TO_CHAR(i));
  end loop;

end;

Very useful for doing before/ after migration comparisons.