1<!DOCTYPE html> 2<html class="no-js" lang="en-US"> 3<head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1"> 6 <meta name="facebook-domain-verification" content="0nxp7nj0pxgs3fyafjc2od2icffoxz" /> 7 8 <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> 9 10 <!-- This site is optimized with the Yoast SEO plugin v25.6 - https://yoast.com/wordpress/plugins/seo/ --> 11 <title>Home - Interstacks Industrial internet of things and Industry 4.0 with Interstacks</title> 12 <meta name="description" content="Interstacks is a system of electronic blocks for the industrial internet of things (I IoT), Industry 4.0. Remotely monitor machines and things." /> 13 <link rel="canonical" href="https://interstacks.com/" /> 14 <meta property="og:locale" content="en_US" /> 15 <meta property="og:type" content="website" /> 16 <meta property="og:title" content="Home - Interstacks Industrial internet of things and Industry 4.0 with Interstacks" /> 17 <meta property="og:description" content="Interstacks is a system of electronic blocks for the industrial internet of things (I IoT), Industry 4.0. Remotely monitor machines and things." /> 18 <meta property="og:url" content="https://interstacks.com/" /> 19 <meta property="og:site_name" content="Interstacks" /> 20 <meta property="article:publisher" content="https://www.facebook.com/Interstacks/" /> 21 <meta property="article:modified_time" content="2026-04-22T00:48:24+00:00" /> 22 <meta property="og:image" content="https://interstacks.com/wp-content/uploads/2018/05/Interstacks-Logo.png" /> 23 <meta property="og:image:width" content="344" /> 24 <meta property="og:image:height" content="168" /> 25 <meta property="og:image:type" content="image/png" /> 26 <meta name="twitter:card" content="summary_large_image" /> 27 <meta name="twitter:site" content="@interstacks" /> 28
28<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://interstacks.com/","url":"https://interstacks.com/","name":"Home - Interstacks Industrial internet of things and Industry 4.0 with Interstacks","isPartOf":{"@id":"https://interstacks.com/#website"},"datePublished":"2022-08-24T15:40:10+00:00","dateModified":"2026-04-22T00:48:24+00:00","description":"Interstacks is a system of electronic blocks for the industrial internet of things (I IoT), Industry 4.0. Remotely monitor machines and things.","breadcrumb":{"@id":"https://interstacks.com/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://interstacks.com/"]}]},{"@type":"BreadcrumbList","@id":"https://interstacks.com/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home"}]},{"@type":"WebSite","@id":"https://interstacks.com/#website","url":"https://interstacks.com/","name":"Interstacks","description":"Interstacks makes it easy to monitor machines and sensors","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://interstacks.com/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}</script>
28 29 <meta name="msvalidate.01" content="502AE69B4F0379434A436A080566616E" /> 30 <meta name="google-site-verification" content="gTsTZinmLCmUZPEF90JLo81uckdMKqhiwJlTqaqRolg" /> 31 <!-- / Yoast SEO plugin. --> 32 33 34<link rel='dns-prefetch' href='//www.googletagmanager.com' /> 35<link rel='dns-prefetch' href='//fonts.googleapis.com' /> 36<link rel='stylesheet' id='wp-block-library-css' href='https://interstacks.com/wp-includes/css/dist/block-library/style.min.css?ver=6.6.10' type='text/css' media='all' /> 37<style id='outermost-icon-block-style-inline-css' type='text/css'> 38.wp-block-outermost-icon-block{display:flex;line-height:0}.wp-block-outermost-icon-block.has-border-color{border:none}.wp-block-outermost-icon-block .has-icon-color svg,.wp-block-outermost-icon-block.has-icon-color svg{color:currentColor}.wp-block-outermost-icon-block .has-icon-color:not(.has-no-icon-fill-color) svg,.wp-block-outermost-icon-block.has-icon-color:not(.has-no-icon-fill-color) svg{fill:currentColor}.wp-block-outermost-icon-block .icon-container{box-sizing:border-box}.wp-block-outermost-icon-block a,.wp-block-outermost-icon-block svg{height:100%;transition:transform .1s ease-in-out;width:100%}.wp-block-outermost-icon-block a:hover{transform:scale(1.1)}.wp-block-outermost-icon-block svg{transform:rotate(var(--outermost--icon-block--transform-rotate,0deg)) scaleX(var(--outermost--icon-block--transform-scale-x,1)) scaleY(var(--outermost--icon-block--transform-scale-y,1))}.wp-block-outermost-icon-block .rotate-90,.wp-block-outermost-icon-block.rotate-90{--outermost--icon-block--transform-rotate:90deg}.wp-block-outermost-icon-block .rotate-180,.wp-block-outermost-icon-block.rotate-180{--outermost--icon-block--transform-rotate:180deg}.wp-block-outermost-icon-block .rotate-270,.wp-block-outermost-icon-block.rotate-270{
38--outermost--icon-block--transform-rotate:270deg}.wp-block-outermost-icon-block .flip-horizontal,.wp-block-outermost-icon-block.flip-horizontal{--outermost--icon-block--transform-scale-x:-1}.wp-block-outermost-icon-block .flip-vertical,.wp-block-outermost-icon-block.flip-vertical{--outermost--icon-block--transform-scale-y:-1}.wp-block-outermost-icon-block .flip-vertical.flip-horizontal,.wp-block-outermost-icon-block.flip-vertical.flip-horizontal{--outermost--icon-block--transform-scale-x:-1;--outermost--icon-block--transform-scale-y:-1} 39 40</style> 41<style id='classic-theme-styles-inline-css' type='text/css'> 42/*! This file is auto-generated */ 43.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} 44</style> 45<style id='global-styles-inline-css' type='text/css'> 46:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
46--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
46.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} 47:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} 48:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} 49:root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} 50</style> 51<link rel='stylesheet' id='woocommerce-layout-css' href='https://interstacks.com/wp-content/plugins/woocommerce/assets/css/woocommerce-layout.css?ver=9.8.7' type='text/css' media='all' /> 52<link rel='stylesheet' id='woocommerce-smallscreen-css' href='https://interstacks.com/wp-content/plugins/woocommerce/assets/css/woocommerce-smallscreen.css?ver=9.8.7' type='text/css' media='only screen and (max-width: 768px)' /> 53<link rel='stylesheet' id='woocommerce-general-css' href='https://interstacks.com/wp-content/plugins/woocommerce/assets/css/woocommerce.css?ver=9.8.7' type='text/css' media='all' /> 54<style id='woocommerce-inline-inline-css' type='text/css'> 55.woocommerce form .form-row .required { visibility: visible; } 56</style> 57<link rel='stylesheet' id='brands-styles-css' href='https://interstacks.com/wp-content/plugins/woocommerce/assets/css/brands.css?ver=9.8.7' type='text/css' media='all' /> 58<link rel='stylesheet' id='google-fonts-css' href='https://fonts.googleapis.com/css?family=EB+Garamond%3A400%2C700%7CMontserrat%3A400%2C400i%2C500%2C700&ver=6.6.10' type='text/css' media='screen' /> 59<link rel='stylesheet' id='screen-css' href='https://interstacks.com/wp-content/themes/boxpress/assets/css/style.min.css?ver=1773606452' type='text/css' media='screen' /> 60<link rel='stylesheet' id='print-css' href='https://interstacks.com/wp-content/themes/boxpress/assets/css/print.css?ver=1773606452' type='text/css' media='print' />
61<script type="text/javascript" id="woocommerce-google-analytics-integration-gtag-js-after"> 62/* <![CDATA[ */ 63/* Google Analytics for WooCommerce (gtag.js) */ 64 window.dataLayer = window.dataLayer || []; 65 function gtag(){dataLayer.push(arguments);} 66 // Set up default consent state. 67 for ( const mode of [{"analytics_storage":"denied","ad_storage":"denied","ad_user_data":"denied","ad_personalization":"denied","region":["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IS","IE","IT","LV","LI","LT","LU","MT","NL","NO","PL","PT","RO","SK","SI","ES","SE","GB","CH"]}] || [] ) { 68 gtag( "consent", "default", { "wait_for_update": 500, ...mode } ); 69 } 70 gtag("js", new Date()); 71 gtag("set", "developer_id.dOGY3NW", true); 72 gtag("config", "G-43TVGEK38G", {"track_404":true,"allow_google_signals":false,"logged_in":false,"linker":{"domains":[],"allow_incoming":false},"custom_map":{"dimension1":"logged_in"}}); 73/* ]]> */ 74</script>
vendor: 1 bytes, line 74
74
75<script type="text/javascript" src="https://interstacks.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script>
vendor: 1 bytes, line 75
75
76<script type="text/javascript" src="https://interstacks.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script>
vendor: 1 bytes, line 76
76
77<script type="text/javascript" src="https://interstacks.com/wp-content/plugins/woocommerce/assets/js/jquery-blockui/jquery.blockUI.min.js?ver=2.7.0-wc.9.8.7" id="jquery-blockui-js" defer="defer" data-wp-strategy="defer"></script>
vendor: 1 bytes, line 77
77
78<script type="text/javascript" id="wc-add-to-cart-js-extra"> 79/* <![CDATA[ */ 80var wc_add_to_cart_params = {"ajax_url":"\/wp-admin\/admin-ajax.php","wc_ajax_url":"\/?wc-ajax=%%endpoint%%","i18n_view_cart":"View cart","cart_url":"https:\/\/interstacks.com\/cart\/","is_cart":"","cart_redirect_after_add":"no"}; 81/* ]]> */ 82</script>
vendor: 1 bytes, line 82
82
83<script type="text/javascript" src="https://interstacks.com/wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart.min.js?ver=9.8.7" id="wc-add-to-cart-js" defer="defer" data-wp-strategy="defer"></script>
vendor: 1 bytes, line 83
83
84<script type="text/javascript" src="https://interstacks.com/wp-content/plugins/woocommerce/assets/js/js-cookie/js.cookie.min.js?ver=2.1.4-wc.9.8.7" id="js-cookie-js" defer="defer" data-wp-strategy="defer"></script>
vendor: 1 bytes, line 84
84
85<script type="text/javascript" id="woocommerce-js-extra"> 86/* <![CDATA[ */ 87var woocommerce_params = {"ajax_url":"\/wp-admin\/admin-ajax.php","wc_ajax_url":"\/?wc-ajax=%%endpoint%%","i18n_password_show":"Show password","i18n_password_hide":"Hide password"}; 88/* ]]> */ 89</script>
vendor: 1 bytes, line 89
89
90<script type="text/javascript" src="https://interstacks.com/wp-content/plugins/woocommerce/assets/js/frontend/woocommerce.min.js?ver=9.8.7" id="woocommerce-js" defer="defer" data-wp-strategy="defer"></script>
vendor: 1 bytes, line 90
90
91<script type="text/javascript" src="https://interstacks.com/wp-content/themes/boxpress/assets/js/dev/modernizr.js?ver=1773606452" id="modernizr-js"></script>
91 92<link rel="https://api.w.org/" href="https://interstacks.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://interstacks.com/wp-json/wp/v2/pages/28405" /><link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://interstacks.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Finterstacks.com%2F" /> 93<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://interstacks.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Finterstacks.com%2F&format=xml" /> 94<!-- start Simple Custom CSS and JS --> 95<!-- Google Tag Manager -->
96<script>
vendor: 331 bytes, lines 96-100
96(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 97new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 98j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 99'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 100})(window,document,'script','dataLayer','
100GTM-M7Q384V6
vendor: 3 bytes, line 100
100');
100</script>
100 101<!-- End Google Tag Manager -->
vendor: 67 bytes, lines 101-103
101 102 103<script async src="https://www.googletagmanager.com/gtag/js?id=
103G-43TVGEK38G
vendor: 13 bytes, line 103
103"></script>
104<script> 105
vendor: 138 bytes, lines 105-109
105window.dataLayer = window.dataLayer || []; 106 function gtag(){dataLayer.push(arguments);} 107 gtag('js', new Date()); 108 109 gtag('config', '
109G-43TVGEK38G
vendor: 5 bytes, line 109
109');
110</script>
110 111 112<!-- Facebook Pixel Code -->
113<script>
vendor: 408 bytes, lines 113-122
113 114!function(f,b,e,v,n,t,s) 115{if(f.fbq)return;n=f.fbq=function(){n.callMethod? 116n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 117if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 118n.queue=[];t=b.createElement(e);t.async=!0; 119t.src=v;s=b.getElementsByTagName(e)[0]; 120s.parentNode.insertBefore(t,s)}(window,document,'script', 121'https://connect.facebook.net/en_US/fbevents.js'); 122 fbq('init', '
122212909056075311
vendor: 33 bytes, lines 122-123
122'); 123fbq('track', 'PageView');
124</script>
124 125<noscript> 126 <img height="1" width="1" 127src="https://www.facebook.com/tr?id=212909056075311&ev=PageView 128&noscript=1"/> 129</noscript> 130<!-- End Facebook Pixel Code --> 131 132<!-- end Simple Custom CSS and JS --> 133<!-- start Simple Custom CSS and JS -->
134<script type="text/javascript"> 135 var isxbase = { 136 }; 137 var toVSMF; 138 var fromVSMF; 139 140 (function() { 141 'use strict'; 142 143 function toUTF8Array(str) { 144 var utf8 = []; 145 for (var i = 0; i < str.length; i++) { 146 var charcode = str.charCodeAt(i); 147 if (charcode < 0x80) utf8.push(charcode); 148 else if (charcode < 0x800) { 149 utf8.push(0xc0 | (charcode >> 6), 0x80 | (charcode & 0x3f)); 150 } else if (charcode < 0xd800 || charcode >= 0xe000) { 151 utf8.push( 152 0xe0 | (charcode >> 12), 153 0x80 | ((charcode >> 6) & 0x3f), 154 0x80 | (charcode & 0x3f) 155 ); 156 } 157 // surrogate pair 158 else { 159 i++; 160 // UTF-16 encodes 0x10000-0x10FFFF by 161 // subtracting 0x10000 and splitting the 162 // 20 bits of 0x0-0xFFFFF into two halves 163 charcode = 164 0x10000 + (((charcode & 0x3ff) << 10) | (str.charCodeAt(i) & 0x3ff)); 165 utf8.push( 166 0xf0 | (charcode >> 18), 167 0x80 | ((charcode >> 12) & 0x3f), 168 0x80 | ((charcode >> 6) & 0x3f), 169 0x80 | (charcode & 0x3f) 170 ); 171 } 172 } 173 return utf8; 174 } 175 176 const ToBase64 = function (u8) { 177 return btoa(String.fromCharCode.apply(null, u8)); 178 } 179 const FromBase64 = function (str) { 180 return atob(str).split('').map(function (c) { return c.charCodeAt(0); }); 181 } 182 183 const CBuf = function(buffer, start, len) { 184 this.buffer = buffer; 185 this.s = start || 0; 186 this.len = len || buffer.length; 187 this.o = 0; 188 } 189 CBuf.prototype.byte = function() { 190 this.o += 1; 191 return this.buffer[this.s+this.o-1]; 192 } 193 CBuf.prototype.readEint = function() { 194 const e = this.byte(); 195 if(e < 0xfc) return e; 196 let l = 0; 197 if(e == 0xfc) l = 2; 198 else if(e == 0xfd) l = 4; 199 else if(e == 0xfe) l = 8; 200 else l = this.readEint(); 201 let val = 0; 202 while(l--) { 203 val = val * 256 + this.byte(); 204 } 205 return val; 206 } 207 CBuf.prototype.readString = function(l) { 208 function utf8_to_str(a) { 209 for(var i=0, s=''; i<a.length; i++) { 210 var h = a[i].toString(16) 211 if(h.length < 2) h = '0' + h 212 s += '%' + h 213 } 214 return decodeURIComponent(s) 215 } 216 const a = utf8_to_str(this.buffer.slice(this.s+this.o, this.s+this.o+l)) 217 this.o += l; 218 return a; 219 } 220 CBuf.prototype.readBinary = function(l) { 221 const a = ToBase64(this.buffer.slice(this.s+this.o,this.s+this.o+l)); 222 this.o += l; 223 return a; 224 } 225 CBuf.prototype.readVSMF = function(l) { 226 const backup = this.o; 227 const typ = this.byte(); 228 const abc = typ >> 5; 229 const defgh = typ & 0x1f; 230 let tl, kind, id; 231 if(abc == 6) {//complex 232 const d = defgh >> 4; 233 const e = (defgh >> 3) & 1; 234 const fgh = defgh & 7; 235 tl = (d == 0) ? -1 : this.readEint(); 236 kind = (e == 0) ? 1 : this.readEint(); 237 id = (fgh != 7) ? fgh : this.readBinary(this.readEint()); 238 } else { 239 if(abc == 7) { 240 tl = this.readEint(); 241 } else { 242 tl = [0,1,2,4,8,-1][abc]; 243 } 244 kind = 0; 245 if(defgh != 0x1f) { 246 id = defgh; 247 } else { 248 id = this.readBinary(this.readEint()); 249 } 250 } 251 if(kind != 0) throw "yikes"; //not yet support HOMAR STRUCT 252 if(tl == -1) tl = this.readEint(); 253 const end = this.o + tl; 254 switch(id) { 255 case 2: //array 256 { 257 const ret = []; 258 while(this.o < end) {
259 ret.push(this.readVSMF()); 260 } 261 return ret; 262 } 263 case 3: //UUID 264 return { '':['UUID', this.readBinary(tl)] }; 265 case 5: //string 266 return this.readString(tl); 267 case 6: //eform 268 { 269 const ret = {}; 270 while(this.o < end) { 271 const k = this.readString(this.readEint()); 272 const vl = this.readEint(); 273 const v = this.readVSMF(vl); 274 ret[k] = v; 275 } 276 return ret; 277 } 278 case 8: //lsb int 279 { 280 if(tl == 0) return null; 281 let ret = 0, mult = 1, tw = 2**(tl*8); 282 while(tl--) { 283 let b = this.byte(); 284 neg = b & 128; 285 ret += b*mult; 286 mult *= 256; 287 } 288 if(neg) ret = -(tw - ret); 289 return ret; 290 } 291 case 9: //msb int 292 { 293 if(tl == 0) return true; //legacy 294 let ret = this.byte(), neg = ret & 128, tw = 2**(tl*8); 295 while(--tl) { 296 ret = ret*256 + this.byte(); 297 } 298 if(neg) ret = -(tw - ret); 299 return ret; 300 } 301 case 10: //Bool 302 if(tl == 0) return false; 303 let b = 0; 304 while(tl--) { 305 b |= this.byte(); 306 } 307 return b ? true : false; 308 case 15: //Bin 309 return {'':['Binary',this.readBinary(tl)]}; 310 default: 311 console.log("UNKTYPE",typ, id); 312 const ret = {'':["VSMF", this.buffer.slice(this.start + backup, this.start + this.o + tl)]}; 313 this.o += tl; 314 return ret; 315 } 316 } 317 318 toVSMF = function(o) { 319 const writeEint = function(n) { 320 if(n < 0xfc) return [n]; 321 if(n < 0xffff) return [0xfc, n>>8, n&255 ]; 322 if(n < 0xffffffff) return [0xfd,(n>>24)&255,(n>>16)&255,(n>>8)&255, n&255 ]; 323 throw "too big"; 324 } 325 const varType = function (id, data, fix=false) { 326 const l = data.length; 327 if(l <= 8 && fix && (x=[0x00,0x20,0x40,-1,0x60,-1,-1,-1,0x80][l]) != -1) return [(id + x), ...data] 328 return [(id + 0xa0), ...writeEint(l), ...data]; 329 } 330 switch(typeof(o)) { 331 case 'boolean': { 332 return [0x2a, o ? 1 : 0]; 333 } 334 case 'number': { 335 if(!Number.isNaN(o) && Number.isInteger(o)) { 336 const buf = new ArrayBuffer(8); 337 if(o >= -0x8000 && o <= 0x07fff) { 338 new DataView(buf).setInt16(0,o) 339 const ret = [73] 340 ret.push(...(new Uint8Array(buf,0,2))); 341 return ret 342 } else if(o >= -2147483648 && o <= 0x07fffffff) { 343 new DataView(buf).setBigInt32(0,o) 344 const ret = [105] 345 ret.push(...(new Uint8Array(buf,0,4))); 346 return ret 347 } else { 348 new DataView(buf).setBigInt64(0,o) 349 const ret = [137] 350 ret.push(...(new Uint8Array(buf,0,8))); 351 return ret 352 } 353 } 354 console.log("float not supported"); 355 throw("float not supported"); 356 } 357 case 'string': { 358 return varType(5,toUTF8Array(o)); 359 } 360 case 'object': { 361 if(Array.isArray(o)) { 362 const elems = o.map(toVSMF).reduce((a, e) => [...a, ...e], []); 363 return varType(2,elems) 364 } else {
365 const keys = Object.keys(o); 366 if(keys.length == 1 && keys[0] === '') { //special 367 const special = o['']; 368 if(Array.isArray(special) && special.length > 1) { 369 switch(special[0]) { 370 case "Binary": 371 return varType(15,FromBase64(special[1])) 372 case "UUID": 373 return varType(3,FromBase64(special[1])) 374 case "VSMF": 375 todo(); 376 } 377 } 378 } else { 379 const ret = [] 380 keys.sort(); 381 keys.reduce((ret, k)=> { 382 const k8 = toUTF8Array(k); 383 ret.push(...writeEint(k8.length)); 384 ret.push(...k8) 385 const vv = toVSMF(o[k]); 386 ret.push(...writeEint(vv.length)); 387 ret.push(...vv) 388 return ret; 389 }, ret); 390 return varType(6,ret); 391 } 392 } 393 }} 394 console.log("cannot convert",o); 395 throw("Cannot convert",o); 396 } 397 398 isxbase.getPorts = function() { 399 return navigator.usb.getDevices().then(devices => { 400 return devices.map(device => new isxbase.Port(device)); 401 }); 402 }; 403 404 isxbase.requestPort = function() { 405 const filters = [ 406 { 'vendorId': 0x0925, 'productId': 0x9099 } 407 ]; 408 return navigator.usb.requestDevice({ 'filters': filters }).then( 409 device => new isxbase.Port(device) 410 ); 411 } 412 413 isxbase.Port = function(device) { 414 this.device_ = device; 415 }; 416 417 fromVSMF = function(m) { 418 const cBuf = new CBuf(m); 419 return cBuf.readVSMF(); 420 } 421 422 isxbase.Port.prototype.handleMessage = function(ky,m) { 423 console.log("Message",ky,m); 424 const cBuf = new CBuf(m); 425 const result = cBuf.readVSMF(); 426 if(ky == "0:12") { 427 document.getElementById('output').value = JSON.stringify(result); 428 } 429 430 } 431 432 isxbase.Port.prototype.resetState = function() { 433 this.iesc = 0; 434 this.module = 0; 435 this.selected = {}; 436 this.inState = {}; 437 this.pendingWrite = 0; 438 this.syncbuf = 0; 439 } 440 441 isxbase.Port.prototype.getSelected = function(m) { 442 if(!this.selected[m] || this.selected[m].length == 0) { 443 this.selected[m] = [0]; 444 } 445 return this.selected[m]; 446 } 447 isxbase.Port.prototype.setSelected = function(m,s) { 448 this.selected[m] = [s]; 449 } 450 isxbase.Port.prototype.addSelected = function(m,s) { 451 this.selected[m].push(s); 452 } 453 454 isxbase.Port.prototype.processInput = function(data) { 455 for(let i = 0; i < data.length; i++) { 456 let c = data[i]; 457 if(c == 0xff) { 458 this.resetState(); 459 continue; 460 } else if(this.iesc == 254) { 461 this.iesc = 0; 462 if(c < 128) { 463 this.module = c; 464 continue; 465 } else if(c > 251) { 466 c += 1; 467 } else if(c == 251) { 468 this.iesc = 2000; 469 continue; 470 } else if(c == 250) { 471 c = -1; 472 } else { 473 console.log("Protocol violation!"); 474 this.resetState(); 475 } 476 } else if(this.iesc == 253) { 477 this.iesc = 0; 478 if(c < 128) { 479 this.setSelected(this.module, c); 480 } else if(c < 254) { 481 this.addSelected(this.module,c-128); 482 } else { 483 this.iesc = 1000; 484 } 485 continue; 486 } else if(this.iesc == 1000) { 487 this.iesc = 0;
488 this.getSelected(this.module).push(c-252+125) 489 continue; 490 } else if(this.iesc == 2000) { 491 this.oob_len = c 492 if(c > 0) { 493 this.iesc = 2001; 494 this.oob = []; 495 } else { 496 this.iesc = 0; 497 } 498 continue; 499 } else if(this.iesc == 2001) { 500 this.oob.push(c); 501 this.oob_len -= 1; 502 if(this.oob_len === 0) { 503 console.log("OOB:",this.oob); 504 if(this.oob == "Isx01") { 505 //a reset happened 506 this.syncbuf = 1; 507 } 508 this.iesc = 0; 509 } 510 continue; 511 } else if(c == 254 || c == 253) { 512 this.iesc = c; 513 continue; 514 } 515 //reading a msg to module/selected 516 let KY = this.module+":"+this.getSelected(this.module).join('-') 517 let ST = this.inState[KY]; 518 if(c == -1) { //EOM 519 if(ST) { 520 this.handleMessage(KY,ST[1]); 521 ST[0] = 0; 522 ST[1] = []; 523 } 524 } else { 525 if(!ST) { 526 ST = [0,[]]; 527 this.inState[KY] = ST; 528 } 529 if(this.syncbuf) { 530 this.syncbuf = 0; 531 ST[1] = []; 532 ST[0] = 0; 533 } 534 ST[1].push(c); 535 ST[0] += 1; 536 } 537 } 538 } 539 540 isxbase.Port.prototype.connect = function() { 541 let readLoop = () => { 542 const { 543 endpointNumber 544 } = this.device_.configuration.interfaces[0].alternate.endpoints[0] 545 this.device_.transferIn(endpointNumber, 64).then(result => { 546 this.onReceive(result.data); 547 readLoop(); 548 }, error => { 549 this.onReceiveError(error); 550 }); 551 }; 552 553 return this.device_.open() 554 .then(() => { 555 if (this.device_.configuration === null) { 556 return this.device_.selectConfiguration(1); 557 } 558 }) 559 .then(() => this.device_.claimInterface(0)) 560 .then(() => { 561 this.resetState(); 562 readLoop(); 563 }); 564 }; 565 566 isxbase.Port.prototype.disconnect = function() { 567 return this.device_.close(); 568 }; 569 570 isxbase.Port.prototype.send = function(data) { 571 const { 572 endpointNumber 573 } = this.device_.configuration.interfaces[0].alternate.endpoints[1] 574 return this.device_.transferOut(endpointNumber, data); 575 }; 576 577 isxbase.Port.prototype.sendChunksSlow = function(data) { 578 const chunk = 32; 579 for(var i=0; i<data.length; i+=chunk) { 580 const j = i; 581 setTimeout(function(){ 582 this.send(data.slice(j,j+chunk)); 583 }, j*1000/chunk+1); 584 } 585 } 586 isxbase.Port.prototype.sendChunks = function(data) { 587 const chunk = 32; 588 for(var i=0; i<data.length; i+=chunk) { 589 this.send(data.slice(i,i+chunk)); 590 } 591 } 592 })(); 593 594 let port; 595 596 function connect() { 597 port.connect().then(() => { 598 port.onReceive = data => { 599 port.processInput(new Uint8Array(data.buffer)); 600 //let textDecoder = new TextDecoder(); 601 //document.getElementById('output').value += textDecoder.decode(data); 602 } 603 port.onReceiveError = error => { 604 console.error(error); 605 document.querySelector("#connect").style = "visibility: initial"; 606 port.disconnect(); 607 }; 608 }); 609 } 610 611 function send(string) { 612 console.log("sending to isxbase:" + string.length); 613 if (string.length === 0) 614 return; 615 console.log("sending to isxbase: [" + string +"]\n"); 616 617 let view = new TextEncoder('utf-8').encode(string); 618 //send 0xff instead 619 view = new Uint8Array([0xff]); 620 console.log(view); 621 if (port) { 622 port.send(view); 623 } 624 }; 625 function reset() { 626 if(port) { 627 console.log("SENDING RESET"); 628 port.send(new Uint8Array([0xff])); 629 } 630 } 631 function getinfo() { 632 if(port) { 633 port.send(new Uint8Array([0xfe,0,0xfd,12,0xa5,1,'x',0xfe,250])); 634 } 635 } 636 function convert() { 637 const before = JSON.parse(document.getElementById('output').value) 638 const after = JSON.stringify(toVSMF(before)); 639 document.getElementById('output').value = after; 640 } 641 function reconvert() { 642 const before = JSON.parse(document.getElementById('output').value) 643 const after = new Uint8Array(toVSMF(before)); 644 console.log("AFTER",after); 645 document.getElementById('output').value = JSON.stringify([...after]); 646 const result = JSON.stringify(fromVSMF(after)); 647 document.getElementById('output').value = result; 648 } 649 function message(module,term,msg) { 650 port.send(new Uint8Array([0xff])); 651 } 652 653 window.onload = _ => { 654 document.querySelector("#connect").onclick = function() { 655 isxbase.requestPort().then(selectedPort => { 656 port = selectedPort; 657 this.style = "visibility: hidden"; 658 connect(); 659 }); 660 } 661 662 document.querySelector("#submit").onclick = () => { 663 const source = JSON.parse(document.getElementById('output').value) 664 const config = toVSMF(source); 665 //append message to base terminal 13 666 const header = [0xfe, 0, 0xfd, 13]; 667 const whole = [...header, ...config, 0xfe, 250]; 668 console.log("Sending",whole); 669 port.sendChunks(new Uint8Array(whole)); 670 } 671 672 document.querySelector("#reset").onclick = () => { 673 reset(); 674 } 675 document.querySelector("#get").onclick = () => { 676 getinfo(); 677 } 678 document.querySelector("#convert").onclick = () => { 679 convert(); 680 } 681 document.querySelector("#reconvert").onclick = () => { 682 reconvert(); 683 } 684 }</script>
684 685<!-- end Simple Custom CSS and JS --> 686 <noscript><style>.woocommerce-product-gallery{ opacity: 1 !important; }</style></noscript> 687 <style class="wpcode-css-snippet">@media screen and (max-width: 768px) { 688 #eckb-article-page-container-v2 .eckb-article-toc { 689 display: none !important; 690 } 691} 692</style><style class="wpcode-css-snippet">/* Custom MetaSlider padding/border for captions and wrappers */ 693.metaslider .caption-wrap { 694 padding: 10px 0 0 0 !important; 695 border: 0 !important; 696 background: transparent !important; /* Optional */ 697 margin-bottom: 0px !important; 698} 699 700.metaslider .caption { 701 padding: 0 !important; 702 margin: 0 !important; 703 border: none !important; 704 background: transparent !important; 705} 706 707/* Reduce any space within the slide itself */ 708.metaslider .ms-image { 709 margin-bottom: 0px !important; 710 padding-bottom: 0px !important; 711} 712 713/* Reduce bottom padding of the MetaSlider container */ 714.metaslider .flexslider { 715 padding: 0px !important; 716 margin-top: 0px !important 717 margin-bottom: 70px !important; 718} 719 720/* Reduce the size of the navigation dots */ 721.metaslider .flex-control-nav li a { 722 width: 8px !important; /* Adjust dot width */ 723 height: 8px !important; /* Adjust dot height */ 724 background-size: contain !important; /* Ensure proper scaling */ 725} 726 727/* Reduce spacing between dots */ 728.metaslider .flex-control-nav li { 729 margin: 3px !important; /* Adjust spacing between dots */ 730}</style><style class="wpcode-css-snippet">.eckb-kb-block-tabs-layout { 731 margin: 0 0px 20px 0px !important; /* removing excess margin from above tabs */ 732} 733 734.epkb-category-level-1 { 735 padding-top: 0px !important; /* Removing excess padding from within nav tabs */ 736 padding-bottom: 5px !important; 737 margin: 7px 0 5.5px 0 !important; /* TRBL Padding above and below text in tabs so it looks ok w/text on two lines. Maybe disbale text on two lines in future. */ 738} 739 740.epkb-panel-container { 741 padding: 0 40px 22px 40px !important; /* Adding margin between window edge and content below tabs */ 742} 743 744#epkb-ml__module-categories-articles #epkb-ml-tabs-layout .epkb-tab-panel .epkb-ml__module-categories-articles__row { 745 column-gap: 40px !important; /* Increase gap between categories */ 746 justify-content: left !important; /* Left categories for odd numbers */ 747} 748 749#asea-doc-search-container #asea-section-1 #asea_search_form #asea_search_results { 750 position: absolute !important; /* Float search results over main page */ 751} 752 753 754#asea_search_results { 755 width: 100% !important; 756 max-width: 100% !important; 757 box-sizing: border-box; 758 z-index: 1000; 759} 760 761@media only screen and (max-width: 1100px) { 762 #asea-doc-search-container #asea-section-1 #asea_search_form #asea_search_results { 763 width: 98% !important; /* Maintain correct results width at breakpoint. */ 764 margin: 0 auto; 765 } 766} 767 768/* 769.eckb-kb-block-search .epkb-ml__module { 770 background-image: url('https://interstacks.com/wp-content/uploads/2025/02/support-header-greeblesinverted.png') !important; 771 background-size: cover; 772 background-position: center; 773 background-repeat: no-repeat; 774 background-color: transparent; 775}*/</style><style class="wpcode-css-snippet">.custom-gif-border { 776 border: 10px solid #c4c4c4; /* Border color */ 777}</style><style class="wpcode-css-snippet">.custom-callout-border { 778 border: 2px solid #DE9444; /* Border color */ 779 border-radius: 10px; /* Rounded corners */ 780 background-color: #FFF4e5; /* Lighter shade of the border */ 781 color: #000; /* Ensures text is legible */ 782 padding: 10px; /* Adds spacing inside the border */ 783}</style><style class="wpcode-css-snippet">#eckb-article-page-container-v2 .eckb-article-toc { 784 top: 150px !important; 785}</style><link rel="icon" href="https://interstacks.com/wp-content/uploads/2018/05/cropped-interstacks-favicon-1-32x32.png" sizes="32x32" /> 786<link rel="icon" href="https://interstacks.com/wp-content/uploads/2018/05/cropped-interstacks-favicon-1-192x192.png" sizes="192x192" /> 787<link rel="apple-touch-icon" href="https://interstacks.com/wp-content/uploads/2018/05/cropped-interstacks-fav
787icon-1-180x180.png" /> 788<meta name="msapplication-TileImage" content="https://interstacks.com/wp-content/uploads/2018/05/cropped-interstacks-favicon-1-270x270.png" />
789<script src="https://player.vimeo.com/api/player.js"></script>
789 790 <!--Zoho Campaigns Web-Optin Form's Header Code Starts Here--> 791
791<script type='text/javascript' src='https://zcs1.maillist-manage.com/js/jquery-ui-1.10.4.custom.min.js'></script>
791 792
792<script type='text/javascript' src='https://zcs1.maillist-manage.com/js/jquery-migrate-1.2.1.min.js'></script>
792 793
793<script type="text/javascript" src='https://zcs1.maillist-manage.com/js/ui.datepicker.js' charset="utf-8"></script>
793 794
794<script type="text/javascript" src="https://zcs1.maillist-manage.com/js/jquery.form.js"></script>
794 795
795<script type="text/javascript" src="https://zcs1.maillist-manage.com/js/optin_min.js"></script>
795 796
796<script type="text/javascript"> var $ZC = jQuery.noConflict(); var trackingText='ZCFORMVIEW'; var new_optin_response_in=2; var duplicate_optin_response_in=2; $ZC(document).ready( function($) { $ZC("#zc_trackCode").val(trackingText); $ZC("#fieldBorder").val($ZC("[changeItem='SIGNUP_FORM_FIELD']").css("border-color")); _setOptin(false,function(th){ /*Before submit, if you want to trigger your event, "include your code here"*/ }); /*Load Captcha For this*/ /*Tracking Enabled*/ trackSignupEvent(trackingText); }); </script>
796 797 <!--Zoho Campaigns Web-Optin Form's Header Code Ends Here--> 798 799</head> 800<body data-rsssl=1 class="home page-template page-template-template-home-v2 page-template-template-home-v2-php page page-id-28405 theme-boxpress woocommerce-no-js metaslider-plugin group-blog"> 801 802<div style="height: 0; width: 0; position: absolute; visibility: hidden" aria-hidden="true"><!-- inject:svg --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><symbol id="imagebox-logo" viewBox="0 0 81 23"><g fill="currentColor" fill-rule="evenodd"><path d="M0 .122v19.64l37.245.001L40.502 23l3.256-3.237L81 19.762V.122H0Zm37.934 18.005-36.287-.001V1.758h77.706v16.368l-36.277.002-2.574 2.558-2.568-2.559Z"/><path d="M9.506 6.22h1.566v7.438H9.506zm10.51 0-2.574 2.561-2.574-2.56H13.22v7.436h1.647v-5.12l2.574 2.559 2.655-2.558v5.12h1.566V6.22zm7.689 4.324-.994-2.411-.994 2.411h1.988Zm-1.731-4.377h1.518l3.207 7.49h-1.721l-.684-1.668h-3.165l-.684 1.668h-1.679l3.208-7.49Zm5.094 3.793v-.02c0-2.116 1.657-3.847 3.923-3.847 1.348 0 2.16.36 2.94 1.02l-1.036 1.243c-.578-.478-1.091-.755-1.957-.755-1.198 0-2.149 1.052-2.149 2.317v.021c0 1.36.941 2.358 2.267 2.358.599 0 1.133-.149 1.55-.446V10.79h-1.657V9.376h3.25v3.23c-.77.647-1.828 1.18-3.196 1.18-2.332 0-3.935-1.627-3.935-3.826m8.98-3.74h5.645v1.456h-4.009v1.509h3.528v1.455h-3.528v1.562h4.062v1.455h-5.698zm11.098 4.367h-1.903v1.636h1.956c.727 0 1.166-.255 1.166-.807v-.022c0-.499-.374-.807-1.22-.807Zm.801-2.168c0-.488-.385-.765-1.078-.765h-1.626v1.573h1.518c.727 0 1.186-.234 1.186-.786v-.022ZM47.638 6.22h3.475c.856 0 1.53.234 1.956.659.344.34.514.754.514 1.264v.022c0 .839-.448 1.306-.982 1.604.865.33 1.4.829 1.4 1.827v.022c0 1.36-1.113 2.04-2.802 2.04h-3.56V6.22Zm13.728 3.74v-.02c0-1.276-.94-2.339-2.267-2.339-1.325 0-2.245 1.041-2.245 2.317v.021c0 1.275.94 2.337 2.267 2.337 1.326 0 2.245-1.04 2.245-2.316m-6.234 0v-.02c0-2.116 1.68-3.847 3.989-3.847 2.31 0 3.966 1.71 3.966 3.825v.021c0 2.115-1.678 3.846-3.988 3.846-2.309 0-3.967-1.71-3.967-3.825m16.489 2.679-2.717-2.7 2.717-2.7-1.164-1.158-2.717 2.7-2.717-2.699-1.165 1.157 2.717 2.7-2.717 2.7 1.164 1.157 2.718-2.7 2.717 2.7z"/></g></symbol><symbol id="site-logo" viewBox="0 0 179 110"><g fill="none" fill-rule="evenodd"><path fill="#494949" d="M0 0h179v110H0z"/><circle fill="#ACACAC" cx="90" cy="55" r="39"/></g></symbol><symbol id="arrow-left-icon" viewBox="0 0 10 16"><path fill="currentColor" d="M9.14 1.6 8.078.538l-7.53 7.53 7.53 7.53 1.06-1.06-6.47-6.47z"/></symbol><symbol id="arrow-right-icon" viewBox="0 0 10 16"><path fill="currentColor" d="m.548 14.539 1.061 1.06 7.53-7.53L1.61.54.55 1.599l6.47 6.47z"/></symbol><symbol id="button-arrow-right" viewBox="0 0 8 13"><path fill="currentColor" d="M0 1.37 1.393 0 8 6.5 1.393 13 0 11.63 5.214 6.5z"/></symbol><symbol id="cart-icon" viewBox="0 0 24 21"><path d="M22.827 1.871H5.3L5.148.721A.824.824 0 0 0 4.338 0H.818A.826.826 0 0 0 0 .832c0 .459.367.831.82.831h2.8L5.157 13.24v4.057a2.188 2.188 0 0 0-.615 1.522c0 1.204.964 2.182 2.15 2.182 1.19 0 2.151-.978 2.151-2.182 0-.21-.062-.4-.116-.59h9.76c-.056.19-.12.38-.12.59 0 1.204.963 2.182 2.151 2.182 1.188 0 2.15-.978 2.15-2.182 0-1.04-.728-1.868-1.685-2.09a.796.796 0 0 0-.465-.164H6.793l-.006-3.4 16.145-1.489A1.185 1.185 0 0 0 24 10.488V3.064c0-.66-.524-1.193-1.173-1.193" fill="currentColor" fill-rule="evenodd"/></symbol><symbol id="close-icon" viewBox="0 0 22 22"><path d="M11 8.902 19.902 0 22 2.098 13.098 11 22 19.902 19.902 22 11 13.098 2.098 22 0 19.902 8.902 11 0 2.098 2.098 0 11 8.902Z" fill="currentColor"/></symbol><symbol id="icon-blocks" viewBox="0 0 39 39"><g fill="none" fill-rule="evenodd"><circle fill="currentColor" cx="19.5" cy="19.5" r="19.5"/><path d="M19 8 8 11.837v15.326L19 31l11-3.837V11.837L19 8Zm-6.94 4.54L19 10.12l6.94 2.42L19 14.96l-6.94-2.42Zm15.896 1.416v4.84l-8.955 3.124-4.898-1.708v-4.84L19 17.079l8.955-3.123Zm-17.912 4.84v-4.84l2.016.703v4.84l-2.016-.702Zm17.912 2.12v4.841l-8.955 3.124-4.898-1.709v-4.84L19 24.039l8.955-3.122Zm-17.912 4.841v-4.84l2.016.701v4.842l-2.016-.703Z" fill="#FFF"/></g></symbol><symbol id="icon-programming" viewBox="0 0 39 39"><g fill="none" fill-rule="evenodd"><circle fill="currentColor" cx="19.5" cy="19.5" r="19.5"/><path d="m21.882 10-5.915 19.411 1.937.589 5.915-19.412L21.882 10Zm3.372 5.131L30.136 20l-4.882 4.87 1.432 1.428L33 20l-6.314-6.297-1.432 1.428ZM6 20l6.315 6.298 1.431-1.428L8.864 20l4.882-4.869-1.431-1.428L6 20Z" fill="#FFF"/></g></symbol><symbol id="icon-software" viewBox="0 0 39 39"><g fill="none" fill-rule="evenodd"><circle fill="currentColor" cx="19.5" cy="19.5" r="19.5"/><path d="M15.4 8 15 28.744l5.178-4.48L22.604 31l1.927-.669-2.426-6.736 6.895.287L15.4 8Zm1.94 5.384 7.11 8.302-4.18-.175-3.139 2.715.21-10.842Z" fill="#FFF"/></g></symbol><symbol id="icon-stack-builder" viewBox="0 0 39 39"><g fill="none" fill-rule="evenodd"><circle fill="currentColor" cx="19.5" cy="19.5" r="19.5"/><path d="M19.098 16.332c-.488 0-.982.132-1.425.41a2.695 2.695 0 0 0-.85 3.708 2.675 2.675 0 0 0 1.678 1.193c.699.16 1.421.038 2.03-.344a2.676 2.676 0 0 0 1.193-1.677 2.69 2.69 0 0 0-2.627-3.29Zm.013 7.35c-.35 0-.702-.039-1.05-.119a4.627 4.627 0 0 1-2.907-2.067 4.666 4.666 0 0 1 1.473-6.423 4.665 4.665 0 0 1 6.423 1.473 4.626 4.626 0 0 1 .594 3.517 4.628 4.628 0 0 1-2.067 2.906 4.63 4.63 0 0 1-2.466.713Zm-2.854 3.815 1.362.313 1.336-1.595.436-.016a7.18 7.
80218 0 0 0 1.492-.218l.398-.102 1.788 1.069 1.183-.742-.174-1.985.296-.32a7.15 7.15 0 0 0 .959-1.303l.208-.363 1.956-.493.312-1.361-1.512-1.267-.02-.432a7.172 7.172 0 0 0-.257-1.599l-.115-.408 1.043-1.745-.742-1.183-2.023.18-.318-.283a7.134 7.134 0 0 0-1.237-.884l-.369-.207-.516-2.05-1.362-.313-1.37 1.637-.419.028a6.95 6.95 0 0 0-1.355.227l-.402.107-1.904-1.137-1.183.742.194 2.21-.273.315c-.27.31-.52.658-.739 1.028l-.21.35-2.218.56-.312 1.362 1.715 1.437.027.421c.026.412.09.832.191 1.247l.097.392-1.168 1.953.742 1.184 2.173-.191.318.288c.338.305.704.579 1.09.812l.347.21.535 2.125ZM18.354 30l-3.713-.851-.635-2.525a8.98 8.98 0 0 1-.71-.526l-2.531.224-2.023-3.229 1.378-2.305a8.688 8.688 0 0 1-.117-.755L8 18.354l.852-3.713 2.606-.656c.142-.217.292-.425.45-.626l-.23-2.594 3.228-2.024 2.236 1.336c.293-.064.59-.113.888-.148L19.645 8l3.714.851.608 2.413c.303.191.595.4.875.625l2.392-.211 2.024 3.228-1.234 2.065c.09.389.152.783.19 1.18L30 19.645l-.852 3.713-2.328.587c-.213.334-.45.655-.704.958l.205 2.331-3.227 2.024-2.13-1.274a9.256 9.256 0 0 1-1.05.154L18.353 30Z" fill="#FFF"/></g></symbol><symbol id="icon-starter-packs-examples" viewBox="0 0 39 39"><g fill="none" fill-rule="evenodd"><circle fill="currentColor" cx="19.5" cy="19.5" r="19.5"/><path d="M14 11v17l14-8.5L14 11Zm1.938 3.53 8.186 4.97-8.186 4.97v-9.94Z" fill="#FFF"/></g></symbol><symbol id="menu-icon" viewBox="0 0 25 22"><g fill="currentColor" fill-rule="evenodd"><rect width="25" height="4" rx="1"/><rect y="9" width="25" height="4" rx="1"/><rect y="18" width="25" height="4" rx="1"/></g></symbol><symbol id="search-icon" viewBox="0 0 15 15"><g fill="currentColor" fill-rule="evenodd"><path d="M11.75 6A5.75 5.75 0 1 0 .25 6a5.75 5.75 0 0 0 11.5 0Zm-10 0a4.25 4.25 0 1 1 8.5 0 4.25 4.25 0 0 1-8.5 0Z"/><path d="m12.293 13.707.707.707L14.414 13l-.707-.707-3-3L10 8.586 8.586 10l.707.707z"/></g></symbol><symbol id="social-email" viewBox="0 0 44 44"><g fill="none" fill-rule="evenodd"><path d="M22 44C9.85 44 0 34.15 0 22S9.85 0 22 0s22 9.85 22 22-9.85 22-22 22Zm0-2c11.046 0 20-8.954 20-20S33.046 2 22 2 2 10.954 2 22s8.954 20 20 20Z" fill-opacity=".5" fill="#FFF" fill-rule="nonzero"/><path d="M21.025 23.625 11.213 14h21.574l-9.812 9.625a1.418 1.418 0 0 1-1.95 0ZM10 29.866l7.925-6.9L10 15.192v14.675Zm14.853-5.702-.764.75A2.978 2.978 0 0 1 22 25.76a2.978 2.978 0 0 1-2.09-.848l-.763-.75L11.297 31h21.405l-7.849-6.836ZM34 15.19l-7.925 7.776 7.925 6.9V15.19Z" fill="currentColor"/></g></symbol><symbol id="social-facebook" viewBox="0 0 44 44"><g fill="none" fill-rule="evenodd"><path d="M26.61 21.507h-3.016V32h-4.469V21.507H17V17.8h2.125v-2.4c0-1.715.835-4.401 4.51-4.401l3.31.014v3.598h-2.402c-.394 0-.949.192-.949 1.01v2.181H27l-.39 3.704Z" fill="currentColor"/><path d="M22 44C9.85 44 0 34.15 0 22S9.85 0 22 0s22 9.85 22 22-9.85 22-22 22Zm0-2c11.046 0 20-8.954 20-20S33.046 2 22 2 2 10.954 2 22s8.954 20 20 20Z" fill="#FFF" fill-opacity=".5" fill-rule="nonzero"/></g></symbol><symbol id="social-google_plus" viewBox="0 0 44 44"><g fill="none"><path d="M22 44C9.85 44 0 34.15 0 22S9.85 0 22 0s22 9.85 22 22-9.85 22-22 22Zm0-2c11.046 0 20-8.954 20-20S33.046 2 22 2 2 10.954 2 22s8.954 20 20 20Z" fill="#FFF" fill-opacity=".5"/><path d="M17.163 21.286V24.2h4.63c-.187 1.25-1.4 3.667-4.63 3.667-2.787 0-5.061-2.404-5.061-5.367s2.274-5.367 5.061-5.367c1.586 0 2.647.704 3.254 1.311l2.216-2.222C21.21 14.838 19.367 14 17.163 14 12.65 14 9 17.8 9 22.5s3.65 8.5 8.163 8.5C21.875 31 25 27.551 25 22.694c0-.558-.058-.983-.128-1.408h-7.709M35 21.333h-2.333V19h-2.334v2.333H28v2.334h2.333V26h2.334v-2.333H35v-2.334" fill="currentColor"/></g></symbol><symbol id="social-instagram" viewBox="0 0 44 44"><g fill="none" fill-rule="evenodd"><path d="M22 44C9.85 44 0 34.15 0 22S9.85 0 22 0s22 9.85 22 22-9.85 22-22 22Zm0-2c11.046 0 20-8.954 20-20S33.046 2 22 2 2 10.954 2 22s8.954 20 20 20Z" fill="#FFF" fill-opacity=".5" fill-rule="nonzero"/><path d="M30.508 16.801a.95.95 0 0 1-.287.701.95.95 0 0 1-.701.287h-2.493a.95.95 0 0 1-.701-.287.952.952 0 0 1-.287-.701v-2.363c0-.268.096-.5.287-.695a.941.941 0 0 1 .701-.294h2.493c.276 0 .51.098.701.294a.96.96 0 0 1 .287.695V16.8Zm0 12.79a.836.836 0 0 1-.258.624.854.854 0 0 1-.616.25H14.323a.843.843 0 0 1-.622-.25.846.846 0 0 1-.252-.624v-9.28h2.02a6.18 6.18 0 0 0-.287 1.875c0 1.833.669 3.397 2.005 4.691 1.338 1.294 2.946 1.94 4.828 1.94a6.886 6.886 0 0 0 3.437-.887 6.691 6.691 0 0 0 2.493-2.414 6.348 6.348 0 0 0 .917-3.33 6.19 6.19 0 0 0-.287-1.876h1.933v9.281Zm-11.61-10.664c.865-.835 1.904-1.253 3.117-1.253 1.221 0 2.265.418 3.129 1.253.864.836 1.296 1.846 1.296 3.03 0 1.184-.432 2.194-1.296 3.029-.864.836-1.907 1.253-3.129 1.253-1.213 0-2.252-.418-3.116-1.253-.863-.835-1.296-1.845-1.296-3.029s.433-2.194 1.296-3.03Zm13.272-7.096A2.718 2.718 0 0 0 30.178 11H13.821c-.773 0-1.437.277-1.99.83A2.717 2.717 0 0 0 11 13.822v16.357c0 .774.277 1.438.83 1.991a2.713 2.713 0 0 0 1.991.831h16.357c.774 0 1.437-.276 1.991-.83A2.713 2.713 0 0 0 33 30.179V13.821c0-.773-.276-1.437-.83-1.99Z" fill="currentColor"/></g></symbol>
802<symbol id="social-linkedin" viewBox="0 0 44 44"><g fill="none"><path d="M22 44C9.85 44 0 34.15 0 22S9.85 0 22 0s22 9.85 22 22-9.85 22-22 22Zm0-2c11.046 0 20-8.954 20-20S33.046 2 22 2 2 10.954 2 22s8.954 20 20 20Z" fill="#FFF" fill-opacity=".5"/><path d="M31.372 11c.897 0 1.628.71 1.628 1.585v18.828c0 .876-.731 1.587-1.628 1.587H12.624C11.728 33 11 32.289 11 31.413V12.585c0-.875.728-1.585 1.624-1.585h18.748Zm-8.769 8.635h-3.222v10.222h3.357V24.8c0-1.333.268-2.624 2.016-2.624 1.723 0 1.746 1.525 1.746 2.71v4.971h3.357V24.25c0-2.752-.628-4.869-4.03-4.869-1.634 0-2.73.847-3.179 1.65h-.045v-1.396Zm-6.364-5.492c-1.158 0-2.096.847-2.096 1.89 0 1.045.938 1.893 2.096 1.893 1.155 0 2.094-.848 2.094-1.892s-.939-1.891-2.094-1.891ZM14.43 29.857h3.614V19.36H14.43v10.497Z" fill="currentColor"/></g></symbol><symbol id="social-twitter" viewBox="0 0 44 44"><g fill="none" fill-rule="evenodd"><path d="M22 44C9.85 44 0 34.15 0 22S9.85 0 22 0s22 9.85 22 22-9.85 22-22 22Zm0-2c11.046 0 20-8.954 20-20S33.046 2 22 2 2 10.954 2 22s8.954 20 20 20Z" fill="#FFF" fill-opacity=".5" fill-rule="nonzero"/><path d="M30.752 17.482c.007.194.01.392.01.59C30.763 24.076 26.225 31 17.92 31A12.68 12.68 0 0 1 11 28.958a9.015 9.015 0 0 0 6.684-1.88 4.524 4.524 0 0 1-4.216-3.158 4.432 4.432 0 0 0 2.036-.078 4.538 4.538 0 0 1-3.621-4.453c0-.02 0-.039.004-.059a4.43 4.43 0 0 0 2.045.567 4.545 4.545 0 0 1-2.01-3.782c0-.831.223-1.612.61-2.284a12.787 12.787 0 0 0 9.302 4.75 4.597 4.597 0 0 1-.116-1.038c0-2.508 2.021-4.543 4.513-4.543 1.3 0 2.472.552 3.293 1.433a8.886 8.886 0 0 0 2.87-1.103 4.56 4.56 0 0 1-1.986 2.516A8.897 8.897 0 0 0 33 15.133a9.219 9.219 0 0 1-2.248 2.349" fill="currentColor"/></g></symbol><symbol id="social-youtube" viewBox="0 0 44 44"><g fill="none"><path d="M22 44C9.85 44 0 34.15 0 22S9.85 0 22 0s22 9.85 22 22-9.85 22-22 22Zm0-2c11.046 0 20-8.954 20-20S33.046 2 22 2 2 10.954 2 22s8.954 20 20 20Z" fill="#FFF" fill-opacity=".5"/><path d="M19.548 25.832V18.95l6.47 3.43-6.47 3.45ZM27.73 14H16.271C10 14 10 15.823 10 20.309v4.382c0 4.266.888 6.309 6.27 6.309h11.46c4.86 0 6.27-1.194 6.27-6.309V20.31c0-4.722-.237-6.31-6.27-6.31Z" fill="currentColor"/></g></symbol></svg><!-- endinject --></div> 803 804<div class="site-header--mobile"> 805 <div class="mobile-header-left"> 806 <div class="site-branding"> 807 <a href="https://interstacks.com/" rel="home"> 808 <img src="https://interstacks.com/wp-content/themes/boxpress/assets/img/branding/interstacks-logo.png" srcset="https://interstacks.com/wp-content/themes/boxpress/assets/img/branding/[email protected] 2x" width="225" height="95"> 809 </a> 810 </div> 811 </div> 812 <div class="mobile-header-right"> 813 <a href="#" class="menu-button toggle-nav"> 814 <span class="screen-reader-text">Menu</span> 815 <svg class="menu-icon-svg" width="22" height="19"> 816 <use href="#menu-icon"></use> 817 </svg> 818 </a> 819 </div> 820</div> 821 822<div class="mobile-nav-tray"> 823 <nav class="navigation--mobile"> 824 <div class="mobile-nav-header"> 825 <a class="toggle-nav" href="#"> 826 <svg class="menu-icon-svg" width="30" height="30"> 827 <use href="#close-icon"></use> 828 </svg> 829 </a> 830 </div> 831 832 <ul class="mobile-nav mobile-nav--main"> 833 <li id="menu-item-28444" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-28444"><a href="https://interstacks.com/use-cases/">Use Cases</a></li> 834<li id="menu-item-121" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-121"><a href="https://interstacks.com/blocks/">Stacks</a></li> 835<li id="menu-item-45694" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-45694"><a href="https://interstacks.com/mystacks/">MyStacks</a></li> 836<li id="menu-item-46175" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-46175"><a href="https://interstacks.com/knowledge-base/">Support</a></li> 837<li id="menu-item-125" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-125"><a href="https://interstacks.com/about-us/">About Us</a></li> 838<li id="menu-item-45604" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-45604"><a href="https://interstacks.com/blog/">Blog</a></li> 839 </ul> 840 841 <ul class="mobile-nav mobile-nav--button"> 842 <li id="menu-item-143" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-143"><a href="https://interstacks.com/contact/">Contact</a></li> 843 </ul> 844 845 </nav> 846</div> 847 848 849<header id="masthead" class="site-header " role="banner"> 850 <div class="site-header__main"> 851 <div class="wrap wrap--full"> 852 853 <div class="site-header-inner"> 854 <div class="header-col-1"> 855 856 <div class="site-branding"> 857 <a href="https://interstacks.com/" rel="home"> 858 <img src="https://interstacks.com/wp-content/themes/boxpress/assets/img/branding/interstacks-logo.png" srcset="https://interstacks.com/wp-content/themes/boxpress/assets/img/branding/[email protected] 2x" width="225" height="95"> 859 </a> 860 </div> 861 862 </div> 863 <div class="header-col-2"> 864 865 866 <div class="header-nav-container"> 867 <div class="header-nav-main-container"> 868 <nav class="js-accessible-menu navigation--main" 869 aria-label="Main Navigation" 870 role="navigation"> 871 <ul class="nav-list nav--main"> 872 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-28444"role="menuitem"><a href="https://interstacks.com/use-cases/">Use Cases</a></li> 873<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-121"role="menuitem"><a href="https://interstacks.com/blocks/">Stacks</a></li> 874<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-45694"role="menuitem"><a href="https://interstacks.com/mystacks/">MyStacks</a></li> 875<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-46175"role="menuitem"><a href="https://interstacks.com/knowledge-base/">Support</a></li> 876<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-125"role="menuitem"><a href="https://interstacks.com/about-us/">About Us</a></li> 877<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-45604"role="menuitem"><a href="https://interstacks.com/blog/">Blog</a></li> 878 </ul> 879 </nav> 880 </div> 881 882 883 <div class="header-nav-utility-container">
884 <nav class="js-accessible-menu navigation--utility" 885 aria-label="Utility Navigation" 886 role="navigation"> 887 <ul class="nav-list nav--button"> 888 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-143"role="menuitem"><a href="https://interstacks.com/contact/">Contact</a></li> 889 </ul> 890 891 <ul class="nav-list nav--shop"> 892 <li> 893 <a class="menu-cart-link" href="https://interstacks.com/cart/"> 894 <span class="vh">View Cart</span> 895 <svg class="cart-icon-svg" width="24" height="21"> 896 <use href="#cart-icon" /> 897 </svg> 898 </a> 899 </li> 900 </ul> 901 </nav> 902 </div> 903 904 905 </div> 906 907 908 </div> 909 </div> 910 </div> 911 </div> 912 913 <!-- <div class="site-header__page"> 914 </div> 915 --> 916</header> 917 918<main id="main" class="site-main" role="main"> 919 <article class="homepage"> 920 921 <section class="hero color-option-1" style="background-image:url('https://interstacks.com/wp-content/uploads/2022/09/hero-bkg-scaled-1.jpg');"> 922 <div class="hero-box"> 923 <div class="wrap"> 924 <div class="l-hero"> 925 <div class="l-hero-col-1"> 926 <div class="hero-content"> 927 928 <h1 class="hero-title">Get <b>real-time intelligence</b> on all your machines & sensors.</h1> 929 930 <p class="hero-sub-title"><p><strong>Now you can know what your machines are doing every minute of every day. </strong></p> 931<p><strong>Maximize Uptime </strong>– Minimize Costs.</p> 932<p><strong>Be the first to know when something goes wrong</strong> – Get Alerts.</p> 933<p><strong>Fix things before they break. </strong>– Analyze actual usage.</p> 934<p><strong>Be up and running in minutes</strong> – No software or IT skills needed.</p> 935<p><strong>No puzzle pieces to put together</strong> – One integrated system.</p> 936<p><strong>Ready to grow as your needs grow</strong> – Just snap on another block.</p> 937<p><strong>Older machines?</strong> – No problem.</p> 938<p><strong>All data secure and encrypted everywhere?</strong> – Of course.</p> 939<p><strong>Can I put four RS-485 blocks in one stack?</strong> – Of course. Stack as few or as many blocks as you need.</p> 940<p><strong>Industrial IoT for people that make things</strong> – Not IT wizards.</p> 941<p>And… Now <strong>ALL industrial OEMs can be hi-tech leaders</strong> – Use private labeled Interstacks hardware and dashboards with your branding.</p> 942<p><strong>Explore what Interstacks can do for you. </strong>Â <strong><span style="color: #ff9900"><a style="color: #ff9900" href="https://interstacks.com/contact/">Contact Us Today!</a></span></strong></p> 943<p> </p> 944</p> 945 946 </div> 947 </div> 948 <div class="l-hero-col-2"> 949 <img src="https://interstacks.com/wp-content/uploads/2025/12/stackhand_dashboard1_v3.png" 950 width="891" 951 height="541" 952 alt=""> 953 </div> 954 </div> 955 </div> 956 </div> 957 958</section> 959 960 <div id="js-animation-trigger" class="slack-block-animation-trigger"></div> 961 962<section class="section home-section-how color-option-4" style="background-image:url(https://interstacks.com/wp-content/uploads/2022/09/stacks-bkg-scaled-1.jpg);"> 963 <div class="wrap"> 964 <div class="l-home-how"> 965 <div class="l-home-how-col-1"> 966 <div class="block-image-stack-container"> 967 <div class="block-image-stack"> 968 <img id="js-stack-image-4" class="relax-image-stack stack-image-4" 969 src="https://interstacks.com/wp-content/themes/boxpress/assets/img/block-stack-4.png"> 970 <img id="js-stack-image-3" class="relax-image-stack stack-image-3" 971 src="https://interstacks.com/wp-content/themes/boxpress/assets/img/block-stack-3.png">
972 <img id="js-stack-image-2" class="relax-image-stack stack-image-2" 973 src="https://interstacks.com/wp-content/themes/boxpress/assets/img/block-stack-2.png"> 974 <img id="js-stack-image-1" class="stack-image-base stack-image-1" 975 src="https://interstacks.com/wp-content/themes/boxpress/assets/img/block-stack-1.png"> 976 </div> 977 </div> 978 </div> 979 <div class="l-home-how-col-2"> 980 <header class="home-callout-header"> 981 <h2 class="h1">How it Works</h2> 982 </header> 983 984 <img class="home-functionality-graphic" src="https://interstacks.com/wp-content/uploads/2022/11/how-it-works-graphic.png" 985 width="1638" 986 height="636" 987 alt=""> 988 989 <div class="l-grid l-grid--two-col"> 990 <div class="l-grid-item"> 991 <div class="home-callout-content"> 992 <h3>Connect your machines and sensors to a stack</h3> 993<ul> 994<li>Stack as few or as many blocks as you need</li> 995<li>Hardware blocks for many connectivity needs: Sensors, machines, barcode, control outputs. Analog, Digital, and Data inputs (RS-485, RS-232, Ethernet).</li> 996<li>Send timestamped data to the MyStacks cloud platform over ethernet, wifi, or cell data. (Optionally send to your own on-prem or cloud server.)</li> 997<li>Stacks are fully programmable and your support engineer will pre-program them for your custom application at no cost. Or do it yourself using Python with Stackbuilder.</li> 998</ul> 999<p><a class="button" href="https://interstacks.com/blocks/">Stacks</a></p> 1000 </div> 1001 </div> 1002 <div class="l-grid-item"> 1003 <div class="home-callout-content"> 1004 <h3>View data from any browser on any device – MyStacks</h3> 1005<ul> 1006<li>See analytics for up/down time, part counts, machine cycles, OEE, sensor data.</li> 1007<li>Easily build unlimited custom dashboards</li> 1008<li>Get real-time text/email alerts</li> 1009<li>All data is timestamped and saved</li> 1010<li>Secure and encrypted: All data encrypted in transit and at rest in database. Only needs one URL access. MFA and SSO logins supported.</li> 1011</ul> 1012<p><a class="button" href="https://interstacks.com/mystacks/">MyStacks IoT cloud platform</a></p> 1013 </div> 1014 </div> 1015 </div> 1016 </div> 1017 </div> 1018 </div> 1019</section> 1020 1021 <section class="home-slideshow-section"> 1022 <div class="wrap"> 1023 <header class="home-slideshow-section-header"> 1024 <h2>Join other Interstacks users in digitally transforming your enterprise. </h2> 1025 </header> 1026 <div class="home-slideshow-section-body"> 1027 <div class="logo-slideshow-container"> 1028 <div class="js-logo-slideshow logo-slideshow owl-carousel owl-theme"> 1029 <div class="slide-logo"> 1030 <img src="https://interstacks.com/wp-content/uploads/2022/09/amazon_logo.png" 1031 width="85" 1032 height="33" 1033 alt=""> 1034 </div> 1035 <div class="slide-logo"> 1036 <img src="https://interstacks.com/wp-content/uploads/2025/06/hansentech_logo-copy.png" 1037 width="183" 1038 height="42" 1039 alt=""> 1040 </div> 1041 <div class="slide-logo"> 1042 <img src="https://interstacks.com/wp-content/uploads/2022/09/MKS_Instruments_logo.png" 1043 width="91" 1044 height="35" 1045 alt=""> 1046 </div> 1047 <div class="slide-logo"> 1048 <img src="https://interstacks.com/wp-content/uploads/2025/06/Macom_logo-copy.png" 1049 width="100.5" 1050 height="20.5" 1051 alt=""> 1052 </div> 1053 <div class="slide-logo"> 1054 <img src="https://interstacks.com/wp-content/uploads/2025/06/capstone_logo-copy.png" 1055 width="201" 1056 height="49" 1057 alt=""> 1058 </div> 1059 <div class="slide-logo"> 1060 <img src="https://interstacks.com/wp-content/uploads/2022/09/UE_Systems_logo.jpg" 1061 width="192" 1062 height="103" 1063 alt=""> 1064 </div> 1065 <div class="slide-logo"> 1066 <img src="https://interstacks.com/wp-content/uploads/2025/06/lefthand_logo-copy.png" 1067 width="97.5" 1068 height="28" 1069 alt=""> 1070 </div> 1071 <div class="slide-logo"> 1072 <img src="https://interstacks.com/wp-content/uploads/2022/09/FibreTec_logo.png" 1073 width="95" 1074 height="96" 1075 alt=""> 1076 </div> 1077 <div class="slide-logo"> 1078 <img src="https://interstacks.com/wp-content/uploads/2022/09/EnerSys_logo.png" 1079 width="101" 1080 height="66" 1081 alt=""> 1082 </div> 1083 <div class="slide-logo"> 1084 <img src="https://interstacks.com/wp-content/uploads/2023/08/hemphill_logo.png" 1085 width="199" 1086 height="115" 1087 alt=""> 1088 </div> 1089 <div class="slide-logo"> 1090 <img src="https://interstacks.com/wp-content/uploads/2022/09/Pepsico_logo.png" 1091 width="176" 1092 height="47" 1093 alt=""> 1094 </div> 1095 </div> 1096 </div> 1097 </div> 1098 <a class="button" 1099 href="https://interstacks.com/contact/" 1100 target="_self"> 1101 Contact </a> 1102 </div> 1103</section>
1104 <section class="section home-use-cases-block"> 1105 <div class="wrap"> 1106 <div class="l-columns l-columns--2"> 1107 <div class="l-column-item l-column-item--empty"></div> 1108 <div class="l-column-item"> 1109 1110 <div class="home-callout-header"> 1111 <h2 class="h1"><b>Digital transformation</b> with impact</h2> 1112 </div> 1113 1114 <div class="home-callout-content"> 1115 <p>Interstacks has large scale deployments streaming data every second of every day from all over the world. It is used in all industry verticals. Take a look at our use cases page to see examples of monitoring: lens grinding machines, water treatment, industrial refrigeration, mobile solar panel battery carts, PLCs, bearing wear sensors, t-shirt printing, scales, semiconductor test equipment, pumps, motors, distribution centers, packaging lines and many many more.</p> 1116 </div> 1117 1118 <div class="impact-products-block"> 1119 <img class="impact-products-block-feature" 1120 src="https://interstacks.com/wp-content/uploads/2025/04/home-usecase-images-new.png" 1121 width="1198" 1122 height="304" 1123 alt=""> 1124 <div class="impact-products-block-body"> 1125 <h3>Read about how others are using our Interstacks integrated IoT system.</h3> 1126 1127 <a class="button button--white" 1128 href="https://interstacks.com/use-cases/" 1129 target="_self"> 1130 Use Cases </a> 1131 </div> 1132 </div> 1133 1134 1135 </div> 1136 </div> 1137 </div> 1138</section> 1139 1140 <section id="videoGdoc" class="video-split-block section color-option-3"> 1141 <div class="wrap wrap--limited"> 1142 <div class="home-callout-header home-callout-header--center video-callout-header"> 1143 <h2 class="h1">Discover Interstacks</h2> 1144 </div> 1145 <div class="row align-items-center"> 1146 <!-- Left side content --> 1147 <div class="col-md-6 content-column"> 1148 1149 1150 1151 </div> 1152 1153 <!-- Right side video --> 1154 <div class="col-md-6 video-column"> 1155 <div class="video-container"> 1156 <div class="responsive-embed"> 1157 <iframe src="https://player.vimeo.com/video/1068299360?h=8a4acab856&title=0&byline=0&portrait=0" 1158 width="640" 1159 height="360" 1160 frameborder="0" 1161 allow="autoplay; fullscreen; picture-in-picture" 1162 allowfullscreen> 1163 </iframe> 1164 </div> 1165 </div> 1166 </div> 1167 </div> 1168 </div> 1169</section> 1170 1171 <section class="section home-about-section" style="background-image:url(https://interstacks.com/wp-content/uploads/2022/09/about-bkg-scaled-1.jpg);"> 1172 <div class="wrap wrap--limited"> 1173 <div class="home-about-callout"> 1174 <div class="home-callout-header home-callout-header--center"> 1175 <h2 class="h1">Founded on over <b>25 years</b> of research and deployments.</h2> 1176 </div> 1177 <div class="home-callout-content"> 1178 <p>Interstacks incorporates a comprehensive hardware-software and information architecture for the rapidly approaching world of massive, distributed computing. It was founded by an expert team with over 25 years of experience in deploying real-time distributed computing systems in military and industrial environments.</p> 1179 1180 <a class="button" 1181 href="https://interstacks.com/about-us/" 1182 target="_self"> 1183 About Us </a> 1184 </div> 1185 </div> 1186 </div> 1187</section> 1188 1189 1190 1191<section id="blogGdoc" style="padding-top: 0;" class="section"> 1192 <div class="wrap"> 1193 <div class="home-blog-header"> 1194 <div style="margin-bottom: 0; !important" class="home-callout-header home-callout-header--left"> 1195 <h2 class="h1">Blog</h2> 1196 </div> 1197 <a class="button" 1198 href="https://interstacks.com/blog/" 1199 target="_self"> 1200 View All Blog Posts </a> 1201 </div> 1202 1203 <div class="l-grid l-grid--three-col"> 1204 <div class="l-grid-item box--shadow"> 1205 <a href="https://interstacks.com/blog/mystacks-update-3-9-2-new-data-navigation-tools/"> 1206 <div> 1207
1208 <span style="color: #444f51;">By <strong style="color: #eb902d;">Interstacks</strong></span> 1209 <h3 class="home-blog-title">MyStacks Update 3.9.2 â New data navigation tools</h3> 1210 </div> 1211 <span class="text-button">Read More</span> 1212 1213 </div> 1214 </a> 1215 <div class="l-grid-item box--shadow"> 1216 <a href="https://interstacks.com/blog/scaling-industrial-iot/"> 1217 <div> 1218 1219 <span style="color: #444f51;">By <strong style="color: #eb902d;">Interstacks</strong></span> 1220 <h3 class="home-blog-title">Scaling Industrial IoT: Keeping large deployments manageable</h3> 1221 </div> 1222 <span class="text-button">Read More</span> 1223 1224 </div> 1225 </a> 1226 <div class="l-grid-item box--shadow"> 1227 <a href="https://interstacks.com/blog/mystacks-for-energy-providers/"> 1228 <div> 1229 1230 <span style="color: #444f51;">By <strong style="color: #eb902d;">Interstacks</strong></span> 1231 <h3 class="home-blog-title">MyStacks for On-Site Energy Providers</h3> 1232 </div> 1233 <span class="text-button">Read More</span> 1234 1235 </div> 1236 </a> 1237 </div> 1238 </div> 1239</section> 1240 <section class="button-block-layout section color-option-3"> 1241 <div class="wrap wrap--limited"> 1242 <div class="home-button-block"> 1243 <h2 class="h1">Weâd love to talk to you.</h2> 1244 <div> 1245 <a class="button" 1246 href="https://interstacks.com/contact/" 1247 target="_self"> 1248 Email Us </a> 1249 </div> 1250 </div> 1251 </div> 1252 </section> 1253 1254 </article> 1255 1256 1257</main>
1258<script> 1259(function() { 1260 'use strict'; 1261 // Aggressive check for flexible-container divs outside main 1262 function checkForMisplacedContainers() { 1263 const mainTag = document.querySelector('main'); 1264 if (!mainTag) { 1265 console.error('No main tag found in document!'); 1266 return; 1267 } 1268 // Get ALL elements in the document including head 1269 const allElements = document.querySelectorAll('*'); 1270 let foundIssues = false; 1271 allElements.forEach(element => { 1272 if (element.classList.contains('flexible-container')) { 1273 // Check if element is outside main 1274 if (!mainTag.contains(element) && element !== mainTag) { 1275 console.error('AGGRESSIVE WARNING: flexible-container found outside main tag!', element); 1276 foundIssues = true; 1277 // Remove the offending element 1278 element.parentNode.removeChild(element); 1279 console.log('Removed offending flexible-container element'); 1280 } 1281 } 1282 }); 1283 if (!foundIssues) { 1284 console.log('No misplaced flexible-container elements found'); 1285 } else { 1286 console.log('Aggressive cleanup completed'); 1287 } 1288 } 1289 // Run immediately when script loads 1290 checkForMisplacedContainers(); 1291 // Run again after DOM is fully loaded as a safety check 1292 document.addEventListener('DOMContentLoaded', checkForMisplacedContainers); 1293 // Run periodically as a watchdog (every 5 seconds) 1294 setInterval(checkForMisplacedContainers, 5000); 1295})(); 1296</script>
1296 1297<footer id="colophon" class="site-footer" role="contentinfo"> 1298 <div class="primary-footer"> 1299 <div class="wrap"> 1300 1301 <div class="l-columns l-columns--2"> 1302 <div class="l-column-item"> 1303 <div class="footer-social"> 1304 <h4 class="footer-title">Connect</h4> 1305 1306 <ul class="social-nav"> 1307 1308 1309 1310 <li> 1311 <a href="https://www.facebook.com/Interstacks/" target="_blank"> 1312 <span class="vh">Facebook</span> 1313 <svg class="social-facebook-svg" width="47" height="47"> 1314 <use href="#social-facebook"></use> 1315 </svg> 1316 </a> 1317 </li> 1318 1319 1320 1321 <li> 1322 <a href="https://x.com/interstacks" target="_blank"> 1323 <span class="vh">Twitter</span> 1324 <svg class="social-twitter-svg" width="47" height="47"> 1325 <use href="#social-twitter"></use> 1326 </svg> 1327 </a> 1328 </li> 1329 1330 1331 1332 1333 <li> 1334 <a href="https://www.linkedin.com/company/interstacks/" target="_blank"> 1335 <span class="vh">LinkedIn</span> 1336 <svg class="social-linkedin-svg" width="47" height="47"> 1337 <use href="#social-linkedin"></use> 1338 </svg> 1339 </a> 1340 </li> 1341 1342 1343 1344 1345 1346 <li> 1347 <a href="mailto:[email protected]" target="_blank"> 1348 <span class="vh">Email</span> 1349 <svg class="social-email-svg" width="47" height="47"> 1350 <use href="#social-email"></use> 1351 </svg> 1352 </a> 1353 </li> 1354 1355 1356 </ul> 1357 1358 </div> 1359 </div> 1360 </div> 1361 1362 </div> 1363 </div> 1364 <div class="site-info"> 1365 <div class="wrap"> 1366 1367 <div class="l-columns l-columns--2 l-columns--small-gutter"> 1368 <div class="l-column-item"> 1369 <div class="site-copyright"> 1370 <p><small>Copyright © 2026 Interstacks. All rights reserved. <a href="https://interstacks.com/privacy-policy/">Privacy Policy</a> | <a href="https://interstacks.com/terms-and-conditions/">Terms and Conditions</a></small></p> 1371 </div> 1372 </div> 1373 </div> 1374 1375 </div> 1376 </div> 1377</footer> 1378 1379<div id='pys_ajax_events'></div>
1379<script> 1380 var node = document.getElementsByClassName('woocommerce-message')[0]; 1381 if(node && document.getElementById('pys_late_event')) { 1382 var messageText = node.textContent.trim(); 1383 if(!messageText) { 1384 node.style.display = 'none'; 1385 } 1386 } 1387 </script>
1387 1388
1388<script type='text/javascript'> 1389 (function () { 1390 var c = document.body.className; 1391 c = c.replace(/woocommerce-no-js/, 'woocommerce-js'); 1392 document.body.className = c; 1393 })(); 1394 </script>
1394 1395 <link rel='stylesheet' id='wc-clover-payments-checkout-block-style-css' href='https://interstacks.com/wp-content/plugins/clover-payments-for-woocommerce/build/index.css?ver=b1d79e34637685426a55' type='text/css' media='all' /> 1396<link rel='stylesheet' id='wc-blocks-style-css' href='https://interstacks.com/wp-content/plugins/woocommerce/assets/client/blocks/wc-blocks.css?ver=wc-9.8.7' type='text/css' media='all' />
vendor: 81 bytes, lines 1396-1397
1396 1397<script type="text/javascript" src="https://www.googletagmanager.com/gtag/js?id=
1397G-43TVGEK38G
vendor: 64 bytes, line 1397
1397" id="google-tag-manager-js" data-wp-strategy="async"></script>
1398<script type="text/javascript" src="https://interstacks.com/wp-includes/js/dist/hooks.min.js?ver=2810c76e705dd1a53b18" id="wp-hooks-js"></script>
vendor: 1 bytes, line 1398
1398
1399<script type="text/javascript" src="https://interstacks.com/wp-includes/js/dist/i18n.min.js?ver=5e580eb46a90c2b997e6" id="wp-i18n-js"></script>
vendor: 1 bytes, line 1399
1399
1400<script type="text/javascript" id="wp-i18n-js-after"> 1401/* <![CDATA[ */ 1402wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); 1403/* ]]> */ 1404</script>
vendor: 1 bytes, line 1404
1404
1405<script type="text/javascript" src="https://interstacks.com/wp-content/plugins/woocommerce-google-analytics-integration/assets/js/build/main.js?ver=50c6d17d67ef40d67991" id="woocommerce-google-analytics-integration-js"></script>
vendor: 1 bytes, line 1405
1405
1406<script type="text/javascript" src="https://interstacks.com/wp-content/themes/boxpress/assets/js/dev/TweenMax.min.js?ver=100" id="TweenMax-js-js"></script>
vendor: 1 bytes, line 1406
1406
1407<script type="text/javascript" src="https://interstacks.com/wp-content/themes/boxpress/assets/js/dev/scrollmagic.min.js?ver=100" id="scrollmagic-js-js"></script>
vendor: 1 bytes, line 1407
1407
1408<script type="text/javascript" src="https://interstacks.com/wp-content/themes/boxpress/assets/js/dev/animation.gsap.min.js?ver=100" id="animation-gsap-js-js"></script>
vendor: 1 bytes, line 1408
1408
1409<script type="text/javascript" src="https://interstacks.com/wp-content/themes/boxpress/assets/js/build/site.min.js?ver=1773606452" id="site-js"></script>
vendor: 1 bytes, line 1409
1409
1410<script type="text/javascript" src="https://interstacks.com/wp-content/plugins/woocommerce/assets/js/sourcebuster/sourcebuster.min.js?ver=9.8.7" id="sourcebuster-js-js"></script>
vendor: 1 bytes, line 1410
1410
1411<script type="text/javascript" id="wc-order-attribution-js-extra"> 1412/* <![CDATA[ */ 1413var wc_order_attribution = {"params":{"lifetime":1.0e-5,"session":30,"base64":false,"ajaxurl":"https:\/\/interstacks.com\/wp-admin\/admin-ajax.php","prefix":"wc_order_attribution_","allowTracking":true},"fields":{"source_type":"current.typ","referrer":"current_add.rf","utm_campaign":"current.cmp","utm_source":"current.src","utm_medium":"current.mdm","utm_content":"current.cnt","utm_id":"current.id","utm_term":"current.trm","utm_source_platform":"current.plt","utm_creative_format":"current.fmt","utm_marketing_tactic":"current.tct","session_entry":"current_add.ep","session_start_time":"current_add.fd","session_pages":"session.pgs","session_count":"udata.vst","user_agent":"udata.uag"}}; 1414/* ]]> */ 1415</script>
vendor: 1 bytes, line 1415
1415
1416<script type="text/javascript" src="https://interstacks.com/wp-content/plugins/woocommerce/assets/js/frontend/order-attribution.min.js?ver=9.8.7" id="wc-order-attribution-js"></script>
vendor: 1 bytes, line 1416
1416
1417<script type="text/javascript" id="woocommerce-google-analytics-integration-data-js-after"> 1418/* <![CDATA[ */ 1419window.ga4w = { data: {"cart":{"items":[],"coupons":[],"totals":{"currency_code":"USD","total_price":0,"currency_minor_unit":2}}}, settings: {"tracker_function_name":"gtag","events":["purchase","add_to_cart","remove_from_cart","view_item_list","select_content","view_item","begin_checkout"],"identifier":"product_sku"} }; document.dispatchEvent(new Event("ga4w:ready")); 1420/* ]]> */ 1421</script>
1421 1422 1423 1424</body> 1425</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.