@breadcrum/extract-meta
Version:
Extract various metadata from html
1,087 lines (775 loc) • 93.9 kB
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-KRWPPMW');</script>
<!-- End Google Tag Manager -->
<meta charset="utf-8">
<!--[if IE]>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<![endif]-->
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- SEO Lite meta -->
<title>The Lost Art of Lacing Cable - The Broadcast Bridge - Connecting IT to Broadcast</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" >
<meta name='keywords' content='broadcast, bridge, connecting, it, acquisition, production, post, hardware, infrastructure, software, audio, playout, contribution, distribution, delivery, test, qc, monitoring, services' data-sj-ignore>
<meta name='description' content='Once, while visiting NBC Television studios in Manhattan’s 30 Rockefeller Center, I saw an abandoned elevator shaft with seemingly miles of different cables laced together. I took notice because it was a such a rare sight — with the maze of work quite intricate and, in a way, beautiful.'>
<meta http-equiv="content-language" content="en">
<link rel='canonical' href='https://www.thebroadcastbridge.com/content/entry/12400/the-lost-art-of-lacing-cable'>
<meta property="og:title" content="The Lost Art of Lacing Cable - The Broadcast Bridge - Connecting IT to Broadcast">
<meta property="og:description" content="Once, while visiting NBC Television studios in Manhattan’s 30 Rockefeller Center, I saw an abandoned elevator shaft with seemingly miles of different cables laced together. I took notice because it was a such a rare sight — with the maze of work quite intricate and, in a way, beautiful.">
<meta property="og:url" content="https://www.thebroadcastbridge.com/content/entry/12400/the-lost-art-of-lacing-cable">
<meta property="og:type" content="article">
<meta name="dcterms.rightsHolder" content="The Broadcast Bridge">
<meta name="dcterms.rights" content="Copyright The Broadcast Bridge">
<meta name="dcterms.dateCopyrighted" content="2017">
<meta name="author" content="The Broadcast Bridge">
<meta name="rating" content="general">
<!-- Twitter -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:description" content="Once, while visiting NBC Television studios in Manhattan’s 30 Rockefeller Center, I saw an abandoned elevator shaft with seemingly miles of different cables laced together. I took notice because it was a such a rare sight — with the maze of work quite intricate and, in a way, beautiful." />
<meta name="twitter:title" content="The Lost Art of Lacing Cable - The Broadcast Bridge - Connecting IT to Broadcast" />
<meta name="twitter:site" content="@BroadcastBridge" />
<meta name="twitter:creator" content="@BroadcastBridge" />
<meta name="twitter:url" content="https://www.thebroadcastbridge.com/content/entry/12400/the-lost-art-of-lacing-cable">
<!-- / SEO Lite -->
<meta name="date" content="December 4th 2018 - 10:00 AM">
<meta name="ReadableDate" content="December 4th 2018 - 10:00 AM" content="articles" data-sj-field="ReadableDate">
<meta name="EEdatePublished" content="2018-12-04T10:00:00+00:00" data-sj-field="EEdatePublished">
<meta name="EEdateModified" content="2021-09-27T10:32:39+01:00" data-sj-field="EEdateModified">
<meta property="article:published_time" content="2018-12-04T10:00:00+00:00">
<meta property="article:modified_time" content="2021-09-27T10:32:39+01:00">
<meta property="og:article:published_time" content="2018-12-04T10:00:00+00:00">
<meta property="og:article:modified_time" content="2021-09-27T10:32:39+01:00">
<meta property="sj_content_type" content="articles" data-sj-field="sj_content_type" />
<meta property="sj_content_title" content="The Lost Art of Lacing Cable" data-sj-field="sj_content_title" />
<meta property="og:image" content="https://www.thebroadcastbridge.com/cache/uploads/content_images/lacingTapesTitleImage_789_197_70_s.jpg"/>
<meta property="og:image:url" content="https://www.thebroadcastbridge.com/cache/uploads/content_images/lacingTapesTitleImage_789_197_70_s.jpg">
<meta name="twitter:image" content="https://www.thebroadcastbridge.com/cache/uploads/content_images/lacingTapesTitleImage_789_197_70_s.jpg">
<meta property="og:image:type" content="image/jpeg">
<meta property="og:image:width" content="789">
<meta property="og:image:height" content="424">
<meta name="twitter:title" content="">
<meta name="twitter:description" content="<p>Once, while visiting NBC Television studios in Manhattan’s 30 Rockefeller Center, I saw an abandoned elevator shaft with seemingly miles of different cables laced together. I took notice because it was such a rare sight — with the maze of work quite intricate and, in a way, beautiful.</p>">
<meta property="og:description" content="<p>Once, while visiting NBC Television studios in Manhattan’s 30 Rockefeller Center, I saw an abandoned elevator shaft with seemingly miles of different cables laced together. I took notice because it was such a rare sight — with the maze of work quite intricate and, in a way, beautiful.</p>">
<!--- ITSLayout: ( 3 ) -->
<!-- Icons -->
<link rel="shortcut icon" href="/assets/img/icons/favicon.ico">
<!-- Standard iPhone -->
<link rel="apple-touch-icon" sizes="57x57" href="/assets/img/icons/bb_brand_icon_57.png">
<!-- Retina iPhone -->
<link rel="apple-touch-icon" sizes="76x76" href="/assets/img/icons/bb_brand_icon_76.png">
<!-- Standard iPad -->
<link rel="apple-touch-icon" sizes="120x120" href="/assets/img/icons/bb_brand_icon_120.png">
<!-- Retina iPad -->
<link rel="apple-touch-icon" sizes="152x152" href="/assets/img/icons/bb_brand_icon_152.png">
<!-- CSS -->
<link href="https://www.thebroadcastbridge.com/cache/4f48fa5459eefa9c0ed2625fafe4785141e81e4a.1671011745.css" media="all" rel="stylesheet">
<!-- Print CSS (Do not place inside minimee tag pair) -->
<link href="/assets/css/print.css" media="print" rel="stylesheet">
<!-- JavaScript -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>!window.jQuery && document.write('<script src="/assets/js/jquery.2.1.1.min.js"><\/script>')</script>
<script src="/assets/js/modernizr.custom.33485.js"></script>
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="/assets/css/ie.css?v=20190213.3" />
<![endif]-->
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<!-- Category Based -->
<link href="https://www.thebroadcastbridge.com/site/styles" media="screen" rel="stylesheet">
<style>
<!--- ITS Embed: ( 3 ) -->
.styled_category_colour,
#Content .company_list ul.category_list li a.styled_category_colour:link,
#Content .company_list ul.category_list li a.styled_category_colour,
#Content aside .related a, #Content aside .related a:link, #Content aside .related a:visited, #Content aside .related a:hover, #Content aside .related a:active,
#Content .entry a, #Content .entry a:link, #Content .entry a:visited, #Content .entry a:hover, #Content .entry a:active,
#Content article a, #Content article a:link, #Content article a:visited, #Content article a:hover, #Content article a:active,
#Content .page-header a, #Content .page-header a:link, #Content .page-header a:visited, #Content .page-header a:hover, #Content .page-header a:active,
a.styled_category_colour, a.styled_category_colour:link, a.styled_category_colour:visited, a.styled_category_colour:hover, a.styled_category_colour:active,
a.addthis_button_print.styled_category_colour, a.addthis_button_print.styled_category_colour:link, a.addthis_button_print.styled_category_colour:visited, a.addthis_button_print.styled_category_colour:hover, a.addthis_button_print.styled_category_colour:active,
.panel_mutlisponsors .styled_category_colour {
color: #D14A28;
background-color: none;
}
a.styled_category_colour,
#Content ul.category_list li a.styled_category_colour,
#Entry a, #Entry a:link, #Entry a:visited, #Entry a:hover, #Entry a:focus, #Entry a:link, #Entry a:active{
color: #D14A28 !important;
background-color: none;
}
.lead.styled_category_colour,
.lead.styled_category_colour p,
#Entry .article_content .lead.styled_category_colour,
#Entry .article_content h2,
#Entry .article_content h3,
#Entry .article_content h4,
#Entry .article_content h5,
#Entry .article_content h6
{
color: #D14A28 !important;
}
form.well.styled_category_bg_colour .btn-primary,
.styled_button_category_colour {
color: #D14A28 !important;
}
.styled_button_category_colour:hover {
background-color: #D14A28 !important;
color: white;
}
#Content ul.related_content li a.styled_category_bg_colour,
.styled_category_bg_colour,
.panel-default>.styled_category_bg_colour.panel-heading,
.styled_category_bg_colour a, .styled_category_bg_colour a:link, .styled_category_bg_colour a:visited, .styled_category_bg_colour a:hover, .styled_category_bg_colour a:active,
#Content .panel-default > .panel-heading.styled_category_bg_colour, #Content .panel-heading.styled_category_bg_colour,
.icons a img,
p.category_list .active {
background-color: #D14A28;
color: white;
}
.styled_category_bg_colour.tint,
a.styled_category_bg_colour.tint,
.company_list ul.category_list li a.styled_category_bg_colour.tint,
#Content ul.category_list li a.styled_category_bg_colour.tint,
#Content ul.category_list li a.styled_category_bg_colour.tint:link{
background-color: #df8069 !important;
color: white;
}
.styled_category_bg_colour.tint:hover,
.company_list ul.category_list li a.styled_category_bg_colour.tint:hover,
#Content ul.category_list li a.styled_category_bg_colour.tint:hover,
a.styled_category_bg_colour.tint:hover{
background-color: #D14A28 !important;
}
.styled_category_bg_colour.tint.light{
background-color: #faedea !important;
color: #D14A28 !important;
}
.js_readinglist_down .styled_category_bg_colour.tint.light {
color: white !important;
background-color: #D14A28 !important;
}
.styled_category_border_colour{
border-color: #D14A28 !important;
}
#Entry hr, #Article hr{
/* border: 4px solid #D14A28 !important; */
border-top: 3px solid #D14A28 !important;
}
#Entry hr.medium, #Article hr.medium{
border-top: 6px solid #D14A28 !important;
}
#content_embed body, #content_embed form,
#content_embed body, #content_embed form .c-forms-form {
background-color: #F2F2F2 !important;
}
</style>
<!--
SJ Search UI v1.4 The following Javascript code block should be placed in the <head /> of your document.
-->
<script>
(function() {
function setup(c,a,f){function g(){var a=[],b=function(){a.push(arguments)};b.arr=a;c.sajari=c.sajari||{};c.sajari.ui=c.sajari.ui||[];c.sajari.ui.push(b);return b}var d=a.createElement("link");d.href=f;d.as="script";d.rel="preload";d.crossorigin=!0;var e=a.createElement("script");e.async=!0;e.src=f;a.head.appendChild(d);a.head.appendChild(e);a=g();a.init=function(a){var b=g();b(a);return b};return a};
window.sajari = setup(window, document, "//cdn.sajari.net/js/integrations/website-search-1.4.js");
// https://github.com/sajari/website-search-integration#events
}());
</script>
</head>
<body class="sub content entry articles ">
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KRWPPMW"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<!--[if lt IE 9]>
<header id="Notice" class="container-fluid alert alert-warning" style="margin: 0;">
<p class="text-center">You are using a version of Internet Explorer which is unsupported. Some features of this website may not function correctly. Please <a href="http://www.microsoft.com/ie">update your browser</a> or try <a href="http://www.google.com/chrome/browser">Google Chrome</a>.</p>
</header>
<![endif]-->
<header id="Header" class="container-fluid" data-sj-ignore>
<div class="container">
<div class="row">
<div class="col-md-5 branding">
<p class="h1">
<a href="https://www.thebroadcastbridge.com/" title="The Broadcast Bridge - Home page" id="Logo">
<img src="/assets/img/bb_logo_2x_hardware-infrastructure.png??20221018.1" alt="The Broadcast Bridge - Connecting IT to Broadcast" class="image img-responsive">
</a>
</p>
</div><!-- // .col-md-5 -->
<div class="col-md-5 secondary" data-sj-ignore>
<nav id="SecondaryNav" class="navbar ">
<div id="UserNav" class="col-md-10 ">
<div>
<i class="fa fa-user" aria-hidden="true"></i>
<span class="divider hidden-md hidden-lg"></span>
<a href="https://www.thebroadcastbridge.com/member/log-in" class="account_link log_in" title="Log-in">Log-in</a>
<span class="divider"></span>
<a href="https://www.thebroadcastbridge.com/member/register" class="account_link register" title="Register">Register</a>
</div>
</div>
<span id="navbar-links" class="hidden-xs hidden-sm">
<span>
<a href="https://www.thebroadcastbridge.com/companies" class="companies" title="Browse the Company Directory"><span>Companies</span></a>
<span class="divider"></span>
<a href="https://www.thebroadcastbridge.com/glossary" class="glossary" title="Browse the Glossary"><span>Glossary</span></a>
</span>
</span>
</nav><!-- // .navbar -->
<!-- mobile hamburger -->
<span class="cbp-hrmenu-toggle hamburger">
<span class="icon-bars">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</span>
<span class="browse">Menu</span>
</span>
</div><!-- // .col-md- -->
</div><!-- // .row -->
</div><!-- // .container -->
</header><!-- // .container -->
<div class="borderedhr">
<hr>
</div>
<div id="PrimaryNav" data-sj-ignore>
<nav id="cbp-hrmenu" class="cbp-hrmenu">
<div id="secondry-navbar-links" class="hidden-md hidden-lg">
<div class="container" style="margin: 0 auto; text-align: center">
<span class="has_submenu">
<a href="https://www.thebroadcastbridge.com/application" class="application __submenu_toggle" title="Browse by Application Directory"><span>Application</span></a>
<ul class="submenu_links">
<li><a href="/application/category/ip">IP</a></li>
<li><a href="/application/category/hdr">HDR</a></li>
<li><a href="/application/category/remote-production">Remote Production</a></li>
<li><a href="/application/category/o-t-t">OTT</a></li>
<li><a href="/application/category/esports">eSports</a></li>
<li><a href="/application/category/4k-8k">4K / 8K</a></li>
<li><a href="/application/category/atsc-3.0">ATSC 3.0</a></li>
<li><a href="/application/category/ai-machine-learning">AI / Machine Learning</a></li>
<li><a href="/application/category/sports">Sports</a></li>
<li><a href="/application/category/software-integration">Software Integration</a></li>
<li><a href="/application/category/news-live">News / Live</a></li>
<li><a href="/application/category/ar-vr-3d">AR / VR / 3D</a></li>
<li><a href="/application/category/cloud">Cloud</a></li>
<li><a href="/application/category/blockchain">Blockchain</a></li>
<li><a href="/application/category/5g">5G</a></li>
<a href="https://www.thebroadcastbridge.com/application" class="application" title="See all"><span>See all…</span></a>
</ul>
</span>
<span class="divider"></span>
<a href="https://www.thebroadcastbridge.com/companies" class="companies" title="Browse the Company Directory"><span>Companies</span></a>
<span class="divider"></span>
<a href="https://www.thebroadcastbridge.com/glossary" class="glossary" title="Browse the Glossary"><span>Glossary</span></a>
</div>
</div>
<ul>
<li class="cat_id_1 cat1_hover_styled_category_bg_colour acquisition">
<a href="https://www.thebroadcastbridge.com/home/category/acquisition">Acquisition</a>
<div class="cbp-hrsub cat1_styled_category_bg_colour">
<div class="cbp-hrsub-inner">
<p class="heading"><a href="https://www.thebroadcastbridge.com/home/category/acquisition" style="color: white !important; text-transform: uppercase;">Acquisition Global Viewpoint</a></p>
<ul>
<li><a href="https://www.thebroadcastbridge.com/home/category/acquisition/lenses-and-accessories">Lenses & Accessories</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/acquisition/cameras-and-accessories">Cameras & Accessories</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/acquisition/cellular-and-wireless-links">Cellular & Wireless Links</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/acquisition/camera-support">Camera Support</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/acquisition/lighting">Lighting</a></li>
</ul>
</div><!-- /cbp-hrsub-inner -->
</div><!-- /cbp-hrsub -->
</li>
<li class="cat_id_2 cat2_hover_styled_category_bg_colour production-and-post">
<a href="https://www.thebroadcastbridge.com/home/category/production-and-post">Production & Post</a>
<div class="cbp-hrsub cat2_styled_category_bg_colour">
<div class="cbp-hrsub-inner">
<p class="heading"><a href="https://www.thebroadcastbridge.com/home/category/production-and-post" style="color: white !important; text-transform: uppercase;">Production & Post Global Viewpoint</a></p>
<ul>
<li><a href="https://www.thebroadcastbridge.com/home/category/production-and-post/production-systems">Production Systems</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/production-and-post/production-switchers">Production Switchers</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/production-and-post/image-monitoring">Image Monitoring</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/production-and-post/graphics-creation">Graphics Creation</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/production-and-post/video-editing">Video Editing</a></li>
</ul>
</div><!-- /cbp-hrsub-inner -->
</div><!-- /cbp-hrsub -->
</li>
<li class="cat_id_3 cat3_hover_styled_category_bg_colour hardware-infrastructure">
<a href="https://www.thebroadcastbridge.com/home/category/hardware-infrastructure">Hardware Infrastructure</a>
<div class="cbp-hrsub cat3_styled_category_bg_colour">
<div class="cbp-hrsub-inner">
<p class="heading"><a href="https://www.thebroadcastbridge.com/home/category/hardware-infrastructure" style="color: white !important; text-transform: uppercase;">Hardware Infrastructure Global Viewpoint</a></p>
<ul>
<li><a href="https://www.thebroadcastbridge.com/home/category/hardware-infrastructure/ip-infrastructure">IP Infrastructure</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/hardware-infrastructure/signals-and-routing">Signals & Routing</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/hardware-infrastructure/storage">Storage</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/hardware-infrastructure/studio-infrastructure">Studio Infrastructure</a></li>
</ul>
</div><!-- /cbp-hrsub-inner -->
</div><!-- /cbp-hrsub -->
</li>
<li class="cat_id_4 cat4_hover_styled_category_bg_colour software-infrastructure">
<a href="https://www.thebroadcastbridge.com/home/category/software-infrastructure">Software Infrastructure</a>
<div class="cbp-hrsub cat4_styled_category_bg_colour">
<div class="cbp-hrsub-inner">
<p class="heading"><a href="https://www.thebroadcastbridge.com/home/category/software-infrastructure" style="color: white !important; text-transform: uppercase;">Software Infrastructure Global Viewpoint</a></p>
<ul>
<li><a href="https://www.thebroadcastbridge.com/home/category/software-infrastructure/workflow-asset-management">Workflow / Asset Management</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/software-infrastructure/studio-automation">Studio Automation</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/software-infrastructure/social-media-integration">Social Media Integration</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/software-infrastructure/encoding-transcoding">Encoding & Transcoding</a></li>
</ul>
</div><!-- /cbp-hrsub-inner -->
</div><!-- /cbp-hrsub -->
</li>
<li class="cat_id_5 cat5_hover_styled_category_bg_colour audio">
<a href="https://www.thebroadcastbridge.com/home/category/audio">Audio</a>
<div class="cbp-hrsub cat5_styled_category_bg_colour">
<div class="cbp-hrsub-inner">
<p class="heading"><a href="https://www.thebroadcastbridge.com/home/category/audio" style="color: white !important; text-transform: uppercase;">Audio Global Viewpoint</a></p>
<ul>
<li><a href="https://www.thebroadcastbridge.com/home/category/audio/audio-consoles">Audio Consoles</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/audio/audio-monitoring">Audio Monitoring</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/audio/audio-production-recording">Audio Production – Recording</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/audio/intercom-talkback">Intercom / Talkback</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/audio/audio-networking">Audio Networking</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/audio/microphones">Microphones</a></li>
</ul>
</div><!-- /cbp-hrsub-inner -->
</div><!-- /cbp-hrsub -->
</li>
<li class="cat_id_6 cat6_hover_styled_category_bg_colour playout-and-transmission">
<a href="https://www.thebroadcastbridge.com/home/category/playout-and-transmission">Playout & Transmission</a>
<div class="cbp-hrsub cat6_styled_category_bg_colour">
<div class="cbp-hrsub-inner">
<p class="heading"><a href="https://www.thebroadcastbridge.com/home/category/playout-and-transmission" style="color: white !important; text-transform: uppercase;">Playout & Transmission Global Viewpoint</a></p>
<ul>
<li><a href="https://www.thebroadcastbridge.com/home/category/playout-and-transmission/playout-automation">Playout Automation</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/playout-and-transmission/subtitling-captioning-systems">Subtitling & Captioning Systems</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/playout-and-transmission/transmission-encoding-mux">Transmission Encoding & MUX</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/playout-and-transmission/transmitters-and-rf-components">Transmitters & RF Components</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/playout-and-transmission/logging-compliance">Logging & Compliance</a></li>
</ul>
</div><!-- /cbp-hrsub-inner -->
</div><!-- /cbp-hrsub -->
</li>
<li class="cat_id_7 cat7_hover_styled_category_bg_colour distribution-and-delivery">
<a href="https://www.thebroadcastbridge.com/home/category/distribution-and-delivery">Distribution & Delivery</a>
<div class="cbp-hrsub cat7_styled_category_bg_colour">
<div class="cbp-hrsub-inner">
<p class="heading"><a href="https://www.thebroadcastbridge.com/home/category/distribution-and-delivery" style="color: white !important; text-transform: uppercase;">Distribution & Delivery Global Viewpoint</a></p>
<ul>
<li><a href="https://www.thebroadcastbridge.com/home/category/distribution-and-delivery/video-transport">Video Transport</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/distribution-and-delivery/content-delivery-network">Content Delivery Network</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/distribution-and-delivery/content-protection-ca-drm">Content Protection / CA / DRM</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/distribution-and-delivery/analytics">Analytics</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/distribution-and-delivery/ad-tech">Ad Tech</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/distribution-and-delivery/satellite-links">Satellite Links</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/distribution-and-delivery/ott">OTT</a></li>
</ul>
</div><!-- /cbp-hrsub-inner -->
</div><!-- /cbp-hrsub -->
</li>
<li class="cat_id_8 cat8_hover_styled_category_bg_colour test-qc-and-monitoring">
<a href="https://www.thebroadcastbridge.com/home/category/test-qc-and-monitoring">Test, QC & Monitoring</a>
<div class="cbp-hrsub cat8_styled_category_bg_colour">
<div class="cbp-hrsub-inner">
<p class="heading"><a href="https://www.thebroadcastbridge.com/home/category/test-qc-and-monitoring" style="color: white !important; text-transform: uppercase;">Test, QC & Monitoring Global Viewpoint</a></p>
<ul>
<li><a href="https://www.thebroadcastbridge.com/home/category/test-qc-and-monitoring/automated-qc">Automated QC</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/test-qc-and-monitoring/tm">T&M </a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/test-qc-and-monitoring/tm-rf">T&M RF</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/test-qc-and-monitoring/monitoring">Monitoring</a></li>
</ul>
</div><!-- /cbp-hrsub-inner -->
</div><!-- /cbp-hrsub -->
</li>
<li class="cat_id_9 cat9_hover_styled_category_bg_colour services">
<a href="https://www.thebroadcastbridge.com/home/category/services">Services</a>
<div class="cbp-hrsub cat9_styled_category_bg_colour">
<div class="cbp-hrsub-inner">
<p class="heading"><a href="https://www.thebroadcastbridge.com/home/category/services" style="color: white !important; text-transform: uppercase;">Services Global Viewpoint</a></p>
<ul>
<li><a href="https://www.thebroadcastbridge.com/home/category/services/system-integration">System Integration</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/services/rental-hire-services">Rental & Hire Services </a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/services/playout-services">Playout Services</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/services/satellite-services">Satellite Services</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/services/cloud-services">Cloud Services</a></li>
<li><a href="https://www.thebroadcastbridge.com/home/category/services/trade-shows-conferences-organisations">Trade Shows / Conferences / Organisations</a></li>
</ul>
</div><!-- /cbp-hrsub-inner -->
</div><!-- /cbp-hrsub -->
</li>
</ul>
</nav>
</div>
<!--<div style="border-bottom: 1px solid #F2F2F2; margin: 10px 0 0 0;"></div>-->
<!-- slippry -->
<script src="/assets/slippry/slippry.min.js"></script>
<script>
$('.leaderboard ul').slippry({
// options
pause: 6000, // The time a slide lasts
speed: 1500, // Transition time
transition: 'horizontal', // transition 'fade', 'horizontal', 'vertical', 'kenburns', false
adaptiveHeight: false,
captions: false,
pager: true,
controls: false,
autoHover: false,
continuous: true
});
</script>
<div class="container">
<!-- Header breadcrumb With Sajari Search -->
<header class="page-header page-header-sajari clearfix">
<!-- START: Sajari Search box -->
<div id="sj_search_box_wrapper">
<!-- START: Sajari Search Results box and results -->
<div id="nav-search-box"></div>
<select class="form-control sj_filter_select pull-left">
<option value="" selected>Filter by</option>
<option value="" >All Content</option>
<option value="company">Companies</option>
<option value="30">Last 30 Days</option>
<option value="90">Last 90 Days</option>
<option value="365">Last 12 Months</option>
</select>
<p class="sj-search_tip">Try our new AI powered Smart-Search!</p>
</div>
</header>
<script>
var searchBox = sajari.init({
mode: "search-box",
project: "1576171052917758756", // Set this to your project (this is the account ID)
collection: "tbb-main", // Set this to your collection.
instantPipeline: "autocomplete", // Pipeline used as you type
inputPlaceholder: "Search", // Input element placeholder
maxSuggestions: 5, // Maximum number of suggestions to show
attachSearchBox: document.getElementById("nav-search-box"), // RED / DOM element to attach to
});
searchBox("sub", "pipeline.search-sent", function (_, query) {
// Setup the quereis so that we can honour the select filter
var filterVal = $('.sj_filter_select').val();
newQuery = "/search?q=" + encodeURIComponent(query.q);
if (filterVal) {
newQuery = newQuery + "&f=" + filterVal;
}
window.location = newQuery;
});
// If We are on the companies page force the filter to be set to companies.
</script>
<div class="row">
<div id="Content" class="col-md-10">
<script src="/assets/js/waypoints/jquery.waypoints.min.js"></script>
<script src="/assets/js/waypoints/inview.min.js"></script>
<script>
$(function() {
// Reading list, re-styles as page scrolls...
/*
var inview = new Waypoint.Inview({
element: $('.js_is_off_screen.reading_list')[0],
entered: function(direction) {
$('.add_edit_reading_list').removeClass('js_readinglist_down').removeClass('js_exit_view_up');
$('.js_side_col').css('margin-top', 0);
},
enter: function(direction) {
$('.add_edit_reading_list').removeClass('js_readinglist_down').removeClass('js_exit_view_up');
$('.js_side_col').css('margin-top', 0);
},
exited: function(direction) {
if(direction == "down"){
$('.js_side_col').css('margin-top', $('.add_edit_reading_list').height() + 20);
$('.add_edit_reading_list').addClass('js_readinglist_' + direction);
}
},
offset: '50%'
})
*/
// Digest link navigation shows/hides as page scrolls...
if ($("#yourDigest").length != 0) {
var inview = new Waypoint.Inview({
element: $('.js_digest_trigger')[0],
enter: function(direction) {
if (direction == "down"){$("#yourDigest").addClass("inview");}
},
exit: function(direction) {
if (direction == "up"){$("#yourDigest").removeClass("inview");}
},
offset: '50%'
})
}
})
</script>
<!--
*******************************
Check date time to ensure item is not indexed by Sajari / Search IO if its in the futute<br>
<br>
Times:<br>
<br>
Current: 1678468896<br>
Entry: 1543917600<br>
Entry in past.
*******************************
-->
<script type="text/javascript">
var _sj = _sj || [];
_sj.push(['project', '1576171052917758756']);
//_sj.push(['collection', 'www-thebroadcastbridge-com']);
_sj.push(['collection', 'tbb-main']);
(function () {
var sj = document.createElement('script');
sj.type = 'text/javascript';
sj.async = true;
sj.src = '//cdn.sajari.com/js/sj.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(sj, s);
})();
</script>
<!-- EEdatePublished 2018-12-04T10:00:00+00:00 -->
<script type="application/ld+json" data-sj-ignore>
{
"@context": "http://schema.org",
"@type": "NewsArticle",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://www.thebroadcastbridge.com/content/entry/12400/the-lost-art-of-lacing-cable"
},
"headline": "The Lost Art of Lacing Cable",
"image": {
"@type": "ImageObject",
"url": "https://www.thebroadcastbridge.com/cache/uploads/content_images/lacingTapesTitleImage_789_197_70_s.jpg",
"height": 197,
"width": 789
},
"datePublished": "2018-12-04T10:00:00+00:00",
"dateModified": "2021-09-27T10:32:39+01:00",
"author": {
"@type": "Person",
"name": "The Broadcast Bridge"
},
"publisher": {
"@type": "Organization",
"name": "The Broadcast Bridge",
"logo": {
"@type": "ImageObject",
"url": "https://www.thebroadcastbridge.com/assets/img/tbb_logo.png",
"width": 400,
"height": 60
}
},
"description": "<p>Once, while visiting NBC Television studios in Manhattan’s 30 Rockefeller Center, I saw an abandoned elevator shaft with seemingly miles of different cables laced together. I took notice because it was such a rare sight — with the maze of work quite intricate and, in a way, beautiful.</p>
"
}
</script>
<div class="row">
<article id="Entry" class="col-md-7">
<header class="row styled_category_bg_colour entry_header" style="padding: 20px 10px; margin: 0 0px 20px 0px;">
<h1 class="col-sm-10 no_margin_top" data-rating="4">The Lost Art of Lacing Cable</h1>
<aside class="col-sm-10 meta" style="text-align: left; ">
<div class="date"><img src="/assets/img/icons/bb_icon_articles_small.png" style=" float: left; width: 40px; margin-right: 10px;">December 4<sup>th</sup> 2018 - 10:00 AM</div>
<div class="author">By Frank Beacham</div> </aside>
</header><!-- // .row.entry-header -->
<div class="row entry_body">
<div class="col-md-10">
<article class="article_content">
<!--
Articles rating : 4 <br>
Rating threshold: 2 <br>
Dismissal Limit: 5 <br>
Cookie Time limit: 90 <br><br>
-->
<script>
// console.log('NOT LOGGED IN');
var gateUserLoggedIn = 0;
</script>
<script>
// console.log('NOT FROM DIGEST');
var gateUserFromDigest = 0;
</script>
<script>
// https://www.quirksmode.org/js/cookies.html
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {createCookie(name,"",-1);}
$(document).ready(function(){
// Manual Toggles, switched between regsiter and login field
$('a.gated_login').click(function(e) {
e.preventDefault();
if ( $( "#GatedLogin" ).is( ":hidden" ) ) {
// $( "#GatedLogin" ).slideDown( "slow" );
$( "#GatedLogin" ).show();
$( "#GatedRegister" ).hide();
} else {
//$( "#GatedLogin" ).slideUp( "slow" );
$( "#GatedLogin" ).hide();
$( "#GatedRegister" ).show();
}
});
// ---------------------------------------------
// ---------------------------------------------
// Set stuff up
// ---------------------------------------------
// console.log('Loggedin?: '+gateUserLoggedIn);
// console.log('From Digest Link?: '+gateUserFromDigest);
// Defaults
var gateWhenCookieSet = 0; // Timestamp when cookie set by cookie holder
var gateDismissalsMade = 0; // Number of dismissals made by cookie holder
var gateDismissalsRemaining = 5; // Global value - early parsed values can be picked up like this
var gateMaxDismissals = 5; // Global value- early parsed values can be picked up like this
var expiryMilliseconds = 90 * (24*60*60*1000); // Milliseconds allowed within timeframe set from Global
// To test, add the following as timestamp into cookie: 1524321601000. This should be 4 months ago, i.e. earlier than our 90 day window.
var timestampExpiry = 0; // Timestamp for expiry, based on interval (determined by global setting) beyond when cookie set
var timestampNow = new Date().getTime(); // Time now, as timestamp in Milliseconds
var gateExpired = 0; // Whether gate expired, based on our global setting
// Sets/Updates our cookie
function setGateCookie(timestampNow, gateDismissalsMade){
// Gather values for Cookie
var gateCookieSet = timestampNow; // Minus (days*ms in a day) to push timestamp into past beyond expiry threshold and debug:
// - (60 * 24*60*60*1000), or add timestamp direct to cookie (1524321601000).
// This should be 4 months ago, i.e. beyond our 90 day window
var gateCookieDismissals = gateDismissalsMade; // Previous cookie value
var gateCookieExpiryDays = 365 * 10; // Set for a long time in the future - 10 years is very long on the internet!
// console.log('Now: '+gateCookieSet);
// console.log('Expiry Days '+gateCookieExpiryDays);
// Set cookie
var gateCookieValue = gateCookieSet+'|'+gateCookieDismissals;
// console.log('Updated cookie value: '+gateCookieValue);
createCookie('bb_gate', gateCookieValue, gateCookieExpiryDays);
// Delete Cookie
// eraseCookie('bb_gate');
}
// Update view remaining notice
// Needs to be split out to actually register and work here for osme reason
function gateOnShowModal(){
// console.log('Modal Show: Dismissals Remaining: '+gateDismissalsRemaining);
// Generate output for our current value, adjusted for plural
var remaining = gateDismissalsRemaining;
if(remaining === 0){
remaining = ' no premium articles';
}else if(remaining === 1){
remaining += ' premium article';
}else{
remaining += ' premium articles';
}
// Update placeholder within modal
$('#GatedModal span.remaining').text(remaining);
//
}
// On Show event for Modal
// From Bootstrap Modal component
// https://getbootstrap.com/docs/3.3/javascript/#modals-events
$('#GatedModal').on('show.bs.modal', function (e) {gateOnShowModal();});
// On Hide event for Modal
// From Bootstrap Modal component
// https://getbootstrap.com/docs/3.3/javascript/#modals-events
$('#GatedModal').on('hide.bs.modal', function (e) {
// Deal with Close modal dismissal
// console.log('DISMISSED');
// ---------------------------------------------
// Check whether have dismissals left
// ---------------------------------------------
// Set some local variables
var gateDismissalsRemaining = gateMaxDismissals;// Based on global ref set earlier, i.e. will default to max
var gateWhenCookieSet = 0;
var gateDismissalsMade = 0;
// Check for cookie first
var dismissalCookie = readCookie('bb_gate');// Note we're using the same cookie! But calling it something else for purpose of logic here for dismissals
// Returns null if no cookie
if(dismissalCookie){
// console.log('Dismissal Cookie');
// Get values from Cookie
var gateCookieValues = gateCookie.split('|');
gateWhenCookieSet = gateCookieValues[0];
gateDismissalsMade = gateCookieValues[1];
// Update value based on cookie's record
gateDismissalsRemaining = gateDismissalsRemaining - gateDismissalsMade;
// console.log('Dismissals remaining: '+gateDismissalsRemaining);
}
// Deal with result of dismissals
if( gateDismissalsRemaining <= 0 ){
// They actually now need to Login/register, either for the first time or again.
// There's no free ride anymore.
// Prevent closure
e.preventDefault();
// NOTE: Trigger specific notice here...?
}else{
// They've still got dismissals they can use, so they can read on.
// But we need to update a count for them and store it somewhere.
// Was it from an expired access or from someone not logged in?
// console.log('gateExpired? '+gateExpired);
if(gateExpired){
// Then they came from an expired access, so there would have been a cookie, and we should retain the timestamp from that.
// Update timestamp to the one we retrieved from the cookie
// We do this because if we instead updated to current timestamp then wouldn't know whether the gate had expired after a dismissal.
gateCookieTimestamp = gateWhenCookieSet;
}else{
// Then they didn't come from an expired access, so they can't have had a cookie and weren't logged in
// Set time to zero to distinguish this cookie from one set if had been logged in
gateCookieTimestamp = 0;
}
// Increment dismissals made
gateDismissalsMade++;
// console.log('Updated Dismissals remaining: '+gateDismissalsMade);
// And update cookie accordingly
setGateCookie(gateCookieTimestamp, gateDismissalsMade );
}
});
// ---------------------------------------------
// Run logic
// ---------------------------------------------
// Get cookie
var gateCookie = readCookie('bb_gate');
// console.log('Has Cookie?: '+gateCookie);
// If no cookie, will return null
if(gateCookie){
// console.log('Yes, has Cookie!');
// Get values from Cookie
var gateCookieValues = gateCookie.split('|');
gateWhenCookieSet = parseInt(gateCookieValues[0],10); // NOTE: need to convert gateWhenCookieSet from string to number!
gateDismissalsMade = gateCookieValues[1];
// console.log('Time when set: '+gateWhenCookieSet);
// console.log('Dismissals: '+gateDismissalsMade);
// console.log('Expiry MS: '+expiryMilliseconds);
// Timestamp for our expiry
timestampExpiry = gateWhenCookieSet + expiryMilliseconds;
// console.log("Timestamp now: "+ timestampNow );
// console.log("Timestamp expiry: "+ timestampExpiry );
// Do we have a cookie value to actually compare the expiry timeframe with properly?
// And, if so, are we beyond the expiry timeframe?
if( (timestampNow > timestampExpiry) ){
gateExpired = 1;
// console.log('EXPIRED');
}else{
// console.log('NOT EXPIRED');
}
// Confirm whether or not cookie suggests person has been logged in at some point in the past
var gateCookieSetFromPastLogin = 0;
if(gateWhenCookieSet){
gateCookieSetFromPastLogin = 1;
}
// console.log('typeof : '+typeof gateWhenCookieSet);
// console.log('