{"id":109048,"date":"2023-11-21T07:00:00","date_gmt":"2023-11-21T15:00:00","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/oldnewthing\/?p=109048"},"modified":"2023-11-21T09:54:10","modified_gmt":"2023-11-21T17:54:10","slug":"20231121-00","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/oldnewthing\/20231121-00\/?p=109048","title":{"rendered":"Microspeak revisited: Line of sight"},"content":{"rendered":"<p>Some time ago, I covered <a title=\"Microspeak: Line of sight\" href=\"https:\/\/devblogs.microsoft.com\/oldnewthing\/20141104-00\/?p=43703\"> the Microspeak term <i>line of sight<\/i><\/a>, meaning &#8220;having a plan for&#8221; or &#8220;being on track to accomplish&#8221; something.<\/p>\n<p>I found a number of usages of the jargon term &#8220;line of sight&#8221; in the Microsoft Azure documentation. Unfortunately, none of them appear to provide a definition.<\/p>\n<ul>\n<li>&#8220;Hybrid Azure AD joined devices require <a title=\"Plan your hybrid Azure Active Directory join implementation\" href=\"https:\/\/learn.microsoft.com\/azure\/active-directory\/devices\/hybrid-azuread-join-plan\"> network line of sight<\/a> to your domain controllers periodically.&#8221;<\/li>\n<li>&#8220;Your client must have <a title=\"Mount an Azure file share\" href=\"https:\/\/learn.microsoft.com\/azure\/storage\/files\/storage-files-identity-ad-ds-mount-file-share\"> line of sight<\/a> to your AD DS.&#8221;<\/li>\n<li>&#8220;Non-domain-joined VMs or VMs that are joined to a different AD domain than the storage account can access Azure file shares if they have <a title=\"Mount an Azure file share\" href=\"https:\/\/learn.microsoft.com\/azure\/storage\/files\/storage-files-identity-ad-ds-mount-file-share#mount-the-file-share-from-a-non-domain-joined-vm\"> line-of-sight<\/a> to the domain controllers and provide explicit credentials.&#8221;<\/li>\n<\/ul>\n<p>When I asked Bing Chat what Azure &#8220;line of sight&#8221; meant, it told me,<\/p>\n<blockquote class=\"q\"><p>In Azure, line-of-sight is used to refer to the ability of non-domain-joined VMs or VMs that are joined to a different AD domain than the storage account to access Azure file shares if they have line-of-sight to the domain controllers and provide explicit credentials.<\/p><\/blockquote>\n<p>It appears to have ingested the last reference and turned it into a circular definition: A VM has &#8220;line-of-sight&#8221; if it has line-of-sight to the domain controllers.<\/p>\n<p>From what I can gather from context, &#8220;network line of sight&#8221; just means &#8220;network connectivity.&#8221;<\/p>\n<p>The fact that the term is widely used in the documentation without ever being defined suggests that this was an internal jargon term that became so well established that when the team wrote their documentation, they used it freely on the assumption that everybody knows what it means. It might be true that everybody <i>in the bubble of the Azure team<\/i> knows what it means, but these documents were written for an outside audience, not for other Azure team members. The documentation was written with Azure-colored glasses.\u00b9<\/p>\n<p><b>Breaking news<\/b>: I stumbled across <a title=\"RDP Shortpath for Azure Virtual Desktop\" href=\"https:\/\/learn.microsoft.com\/azure\/virtual-desktop\/rdp-shortpath\"> another page that appears to give a definition for &#8220;line of sight&#8221;<\/a>.<\/p>\n<blockquote class=\"q\"><p>Having direct line of sight connectivity means that the client can connect directly to the session host without being blocked by firewalls.<\/p><\/blockquote>\n<p>Notice that the phrase is not hyphenated here. I don&#8217;t know whether the hyphens are significant.<\/p>\n<p>But given this new information, I think a better definition of &#8220;line of sight&#8221; is &#8220;<i>unimpeded<\/i> network connectivity.&#8221;<\/p>\n<p>\u00b9 Failing to write for your audience is an error I often see in engineering documents. Documents intended for a wide audience are written with the assumption that the reader is already familiar with the internal workings of the component under discussion. One way this manifests itself is in the use of imprecise terminology: The imprecision may be a handy shortcut for team members, who can mentally bridge the gap between what was said and what was meant. But people reading the document do not have this level of experience and context, and the casually imprecise phrasing just creates confusion. Another phenomenon is the substitution of an alternate term that the team uses as a synonym for the official term, without ever defining the alternate term. For example, a graphics team might use the terms &#8220;flip&#8221; and &#8220;swap&#8221; interchangeably, but only the term &#8220;flip&#8221; is in the glossary.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A fancy way of saying unimpeded network connectivity.<\/p>\n","protected":false},"author":1069,"featured_media":111744,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[105,26],"class_list":["post-109048","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oldnewthing","tag-microspeak","tag-other"],"acf":[],"blog_post_summary":"<p>A fancy way of saying unimpeded network connectivity.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/109048","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/users\/1069"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/comments?post=109048"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/109048\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/media\/111744"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/media?parent=109048"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/categories?post=109048"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/tags?post=109048"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}