<!DOCTYPE html><html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="icon" type="image/x-icon" href="https://www.techrepublic.com/favicon.ico"><link rel="icon" type="image/png" sizes="16x16" href="https://www.techrepublic.com/favicon-16x16.png"><link rel="icon" type="image/png" sizes="32x32" href="https://www.techrepublic.com/favicon-32x32.png"><link rel="icon" type="image/png" sizes="96x96" href="https://www.techrepublic.com/favicon-96x96.png"><link rel="icon" type="image/png" sizes="192x192" href="https://www.techrepublic.com/favicon-192x192.png"><link rel="preconnect" href="https://capi.connatix.com" crossorigin=""><link rel="preconnect" href="https://cd.connatix.com" crossorigin=""><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin=""><link rel="preconnect" href="https://www.techrepublic.com" crossorigin=""><link rel="preconnect" href="https://epsilon.6sense.com" crossorigin=""><link rel="preload" as="image" fetchpriority="high" href="https://www.techrepublic.com/astrostatic/ecfc1b01/_image/?href=%2F_astro%2Ftechrepublic.BQceyIVv.png&w=500&h=119&f=webp"><link rel="preload" href="https://cmp.inmobi.com/choice/vPn77x7pBG57Y/www.techrepublic.com/choice.js?tag_version=V3" as="script"><link rel="preload" href="https://securepubads.g.doubleclick.net/tag/js/gpt.js" as="script"><link rel="preload" href="https://7K2PtPeYG9QYuDfTo.ay.delivery/manager/7K2PtPeYG9QYuDfTo" as="script"> <script>(function(){const domain = "techrepublic.com";
const targeting = {"env":"prod","stage":"prod","url":"www.techrepublic.com/meet-the-team/us/jason-hiner/","hostname":"www.techrepublic.com","cid":"jason-hiner","path":"sites,techrepublic.com,meet-the-team,us,jason-hiner","news":"no"};

            window._vars = {
                ...(window?._vars ?? {}),
                domain,
                targeting,
            }

            window.ayManagerEnv = window.ayManagerEnv || { cmd: [] }

            window.ayManagerEnv.cmd.push(() =>
                window.requestAnimationFrame(() => {
                    const ay = window.ayManagerEnv
                    const placements = ay.settings.placements
                    const enabled = ay.tools.getEnabledPlacements()
                    for (const entry of placements) {
                        if (
                            // only placements that are contained within wrappers
                            !["afterbegin", "beforeend"].includes(
                                entry.position,
                            ) ||
                            // and are not enabled
                            enabled.find(({ _id }) => _id === entry._id)
                        )
                            continue

                        // hide disabled placement wrappers
                        for (const el of document.querySelectorAll(
                            entry.placement,
                        )) {
                            // except if the wrapper _is_ the page
                            if (
                                ["body", "html"].includes(
                                    el.tagName.toLowerCase(),
                                )
                            )
                                return
                            el.style.display = "none"
                        }
                    }
                }),
            )
        })();</script> <script src="https://7K2PtPeYG9QYuDfTo.ay.delivery/manager/7K2PtPeYG9QYuDfTo" type="text/javascript" referrerpolicy="no-referrer-when-downgrade" async>
                </script><script>(function(){const targeting = {"env":"prod","stage":"prod","url":"www.techrepublic.com/meet-the-team/us/jason-hiner/","hostname":"www.techrepublic.com","cid":"jason-hiner","path":"sites,techrepublic.com,meet-the-team,us,jason-hiner","news":"no"};
const debug = false;

            window.googletag = window.googletag || { cmd: [] };

            document.addEventListener('ay-ads-disabled', () => {
                const allAdElements = Array.from(
                    document.querySelectorAll('[data-ad-slot]')
                );
                
                allAdElements.forEach(element => {
                    element.setAttribute('data-empty', '');
                });
                
                if (debug) {
                    console.log('[AY] ay-ads-disabled event: Marked ads as empty', {
                        count: allAdElements.length,
                        elements: allAdElements.map(el => ({
                            selector: `[data-ad-slot="${el.getAttribute('data-ad-slot')}"]`,
                            element: el
                        }))
                    });
                }
            });
            
            googletag.cmd.push(() => {
                // Initialize googletag for targeting API (AY uses GPT API for targeting)
                Object.entries(targeting).forEach(([key, value]) => {
                    window.googletag.pubads().setTargeting(key, value);
                });

                // Global slotRenderEnded listener:
                // All ad wrappers (AdSlot, SkyboxAd, CurtainAd) use `data-ad-slot` attribute.
                // AY/GPT fires slotRenderEnded with slotElementId pointing at an AY-generated inner div.
                // We walk up to our wrapper and mark it loaded or empty.
                window.googletag
                    .pubads()
                    .addEventListener("slotRenderEnded", (event) => {
                        const slotElementId = event.slot.getSlotElementId();
                        const ayDiv = document.getElementById(slotElementId);
                        if (!ayDiv) return;

                        const wrapper = ayDiv.closest("[data-ad-slot]");
                        if (!wrapper) return;

                        if (event.isEmpty) {
                            wrapper.style.display = "none";
                            wrapper.setAttribute("data-empty", "");
                            wrapper.removeAttribute("data-loaded");
                        } else {
                            wrapper.style.display = "";
                            wrapper.setAttribute("data-loaded", "");
                            wrapper.removeAttribute("data-empty");
                        }

                        if (debug) {
                            console.log("[AY] slotRenderEnded", {
                                slotElementId,
                                adSlot: wrapper.getAttribute("data-ad-slot"),
                                isEmpty: event.isEmpty,
                            });
                        }
                    });
            });
        })();</script><style is:global="">
            @media (max-width: 767px) {
                .cnx-pinned-wrapper {
                    margin-top: 10px;
                }
            }

            @media (min-width: 768px) {
                .cnx-float.cnx-float-position-bottom {
                    transform: translate(0, -100px) !important;
                }
            }

            .cnx-main-container.cnx-in-desktop {
                max-width: 640px;
                max-height: 360px;
            }
        </style> <script>
    ;(function () {
        let visitorId = ""
        try {
            const dl = window.dataLayer || []
            for (let i = dl.length - 1; i >= 0; i--) {
                if (
                    dl[i] &&
                    dl[i].TaVisitorId &&
                    dl[i].TaVisitorId.visitor_id
                ) {
                    visitorId = dl[i].TaVisitorId.visitor_id
                    break
                }
            }
        } catch (_) {
            // ignore
        }
        const s = document.createElement("script")
        s.async = true
        s.src = "https://ob.forseasky.com/i/b65d7d7005337f7bd4bd291d1d48ebb9.js"
        s.setAttribute("data-ch", "cheq4ppc")
        s.className = "ct_clicktrue_60866"
        s.setAttribute("data-jsonp", "onCheqResponse")
        if (visitorId) s.setAttribute("data-uvid", visitorId)
        document.head.appendChild(s)
    })()
</script> <script>
    (() => {
        window.ngt = window.ngt || { cmd:[] };
        window.ngt.cmd.push(function(){
            window.googletag.cmd.push(() => {
                window.googletag
                    .pubads()
                    .setTargeting(
                        "user_agent",
                        navigator?.userAgent ?? "Unknown User Agent",
                    )
                    .setTargeting(
                        "ngt_company_size",
                        (window.ngt.me.company?.company_size_range ?? "").replaceAll(
                            ",",
                            "",
                        ),
                    );
    
                const tags =
                    window.ngt.me?.body?.me.tags?.map((tag) =>
                        tag.toLowerCase().replaceAll("site.", ""),
                    ) ?? [];
    
                [
                    ["is_datacenter", ["is-datacenter"]],
                    ["is_suspected_bot", ["suspected-bad-bot", "bad-bot"]],
                    ["is_ta_user", ["ta-user-ip"]],
                    ["is_crawler", ["user-agent-blocked"]],
                    ["is_ad_blocked", ["ad-blocked-ip"]],
                ]
                    .filter(([tag, flags]) =>
                        flags.some((flag) => tags.includes(flag)),
                    )
                    .reduce((acc, [tag, flags]) => [...acc, tag], [])
                    .forEach((tag) =>
                        window.googletag.pubads().setTargeting(tag, "true"),
                    );
            })
        })
    })();
</script><script async type="text/javascript" src="https://cmp.inmobi.com/choice/vPn77x7pBG57Y/www.techrepublic.com/choice.js?tag_version=V3"></script><script>(function(){const url = "https://cmp.inmobi.com/choice/vPn77x7pBG57Y/www.techrepublic.com/choice.js?tag_version=V3";
const iabVendorsUrl = "https://cmp.inmobi.com/GVL-v3/vendor-list.json";
const googleAtpUrl = "https://cmp.inmobi.com/tcfv2/google-atp-list.json";

(function() {
  var uspTries = 0;
  var uspTriesLimit = 3;
  
  function makeStub() {
    var TCF_LOCATOR_NAME = '__tcfapiLocator';
    var queue = [];
    var win = window;
    var cmpFrame;

    function addFrame() {
      var doc = win.document;
      var otherCMP = !!(win.frames[TCF_LOCATOR_NAME]);

      if (!otherCMP) {
        if (doc.body) {
          var iframe = doc.createElement('iframe');

          iframe.style.cssText = 'display:none';
          iframe.name = TCF_LOCATOR_NAME;
          doc.body.appendChild(iframe);
        } else {
          setTimeout(addFrame, 5);
        }
      }
      return !otherCMP;
    }

    function tcfAPIHandler() {
      var gdprApplies;
      var args = arguments;

      if (!args.length) {
        return queue;
      } else if (args[0] === 'setGdprApplies') {
        if (
          args.length > 3 &&
          args[2] === 2 &&
          typeof args[3] === 'boolean'
        ) {
          gdprApplies = args[3];
          if (typeof args[2] === 'function') {
            args[2]('set', true);
          }
        }
      } else if (args[0] === 'ping') {
        var retr = {
          gdprApplies: gdprApplies,
          cmpLoaded: false,
          cmpStatus: 'stub'
        };

        if (typeof args[2] === 'function') {
          args[2](retr);
        }
      } else {
        if(args[0] === 'init' && typeof args[3] === 'object') {
          args[3] = Object.assign(args[3], { tag_version: 'V3' });
        }
        queue.push(args);
      }
    }

    function postMessageEventHandler(event) {
      var msgIsString = typeof event.data === 'string';
      var json = {};

      try {
        if (msgIsString) {
          json = JSON.parse(event.data);
        } else {
          json = event.data;
        }
      } catch (ignore) {}

      var payload = json.__tcfapiCall;

      if (payload) {
        window.__tcfapi(
          payload.command,
          payload.version,
          function(retValue, success) {
            var returnMsg = {
              __tcfapiReturn: {
                returnValue: retValue,
                success: success,
                callId: payload.callId
              }
            };
            if (msgIsString) {
              returnMsg = JSON.stringify(returnMsg);
            }
            if (event && event.source && event.source.postMessage) {
              event.source.postMessage(returnMsg, '*');
            }
          },
          payload.parameter
        );
      }
    }

    while (win) {
      try {
        if (win.frames[TCF_LOCATOR_NAME]) {
          cmpFrame = win;
          break;
        }
      } catch (ignore) {}

      if (win === window.top) {
        break;
      }
      win = win.parent;
    }
    if (!cmpFrame) {
      addFrame();
      win.__tcfapi = tcfAPIHandler;
      win.addEventListener('message', postMessageEventHandler, false);
    }
  };

  makeStub();

  function makeGppStub() {
    const CMP_ID = 10;
    const SUPPORTED_APIS = [
      '2:tcfeuv2',
      '6:uspv1',
      '7:usnatv1',
      '8:usca',
      '9:usvav1',
      '10:uscov1',
      '11:usutv1',
      '12:usctv1'
    ];

    window.__gpp_addFrame = function (n) {
      if (!window.frames[n]) {
        if (document.body) {
          var i = document.createElement("iframe");
          i.style.cssText = "display:none";
          i.name = n;
          document.body.appendChild(i);
        } else {
          window.setTimeout(window.__gpp_addFrame, 10, n);
        }
      }
    };
    window.__gpp_stub = function () {
      var b = arguments;
      __gpp.queue = __gpp.queue || [];
      __gpp.events = __gpp.events || [];

      if (!b.length || (b.length == 1 && b[0] == "queue")) {
        return __gpp.queue;
      }

      if (b.length == 1 && b[0] == "events") {
        return __gpp.events;
      }

      var cmd = b[0];
      var clb = b.length > 1 ? b[1] : null;
      var par = b.length > 2 ? b[2] : null;
      if (cmd === "ping") {
        clb(
          {
            gppVersion: "1.1", // must be “Version.Subversion”, current: “1.1”
            cmpStatus: "stub", // possible values: stub, loading, loaded, error
            cmpDisplayStatus: "hidden", // possible values: hidden, visible, disabled
            signalStatus: "not ready", // possible values: not ready, ready
            supportedAPIs: SUPPORTED_APIS, // list of supported APIs
            cmpId: CMP_ID, // IAB assigned CMP ID, may be 0 during stub/loading
            sectionList: [],
            applicableSections: [-1],
            gppString: "",
            parsedSections: {},
          },
          true
        );
      } else if (cmd === "addEventListener") {
        if (!("lastId" in __gpp)) {
          __gpp.lastId = 0;
        }
        __gpp.lastId++;
        var lnr = __gpp.lastId;
        __gpp.events.push({
          id: lnr,
          callback: clb,
          parameter: par,
        });
        clb(
          {
            eventName: "listenerRegistered",
            listenerId: lnr, // Registered ID of the listener
            data: true, // positive signal
            pingData: {
              gppVersion: "1.1", // must be “Version.Subversion”, current: “1.1”
              cmpStatus: "stub", // possible values: stub, loading, loaded, error
              cmpDisplayStatus: "hidden", // possible values: hidden, visible, disabled
              signalStatus: "not ready", // possible values: not ready, ready
              supportedAPIs: SUPPORTED_APIS, // list of supported APIs
              cmpId: CMP_ID, // list of supported APIs
              sectionList: [],
              applicableSections: [-1],
              gppString: "",
              parsedSections: {},
            },
          },
          true
        );
      } else if (cmd === "removeEventListener") {
        var success = false;
        for (var i = 0; i < __gpp.events.length; i++) {
          if (__gpp.events[i].id == par) {
            __gpp.events.splice(i, 1);
            success = true;
            break;
          }
        }
        clb(
          {
            eventName: "listenerRemoved",
            listenerId: par, // Registered ID of the listener
            data: success, // status info
            pingData: {
              gppVersion: "1.1", // must be “Version.Subversion”, current: “1.1”
              cmpStatus: "stub", // possible values: stub, loading, loaded, error
              cmpDisplayStatus: "hidden", // possible values: hidden, visible, disabled
              signalStatus: "not ready", // possible values: not ready, ready
              supportedAPIs: SUPPORTED_APIS, // list of supported APIs
              cmpId: CMP_ID, // CMP ID
              sectionList: [],
              applicableSections: [-1],
              gppString: "",
              parsedSections: {},
            },
          },
          true
        );
      } else if (cmd === "hasSection") {
        clb(false, true);
      } else if (cmd === "getSection" || cmd === "getField") {
        clb(null, true);
      }
      //queue all other commands
      else {
        __gpp.queue.push([].slice.apply(b));
      }
    };
    window.__gpp_msghandler = function (event) {
      var msgIsString = typeof event.data === "string";
      try {
        var json = msgIsString ? JSON.parse(event.data) : event.data;
      } catch (e) {
        var json = null;
      }
      if (typeof json === "object" && json !== null && "__gppCall" in json) {
        var i = json.__gppCall;
        window.__gpp(
          i.command,
          function (retValue, success) {
            var returnMsg = {
              __gppReturn: {
                returnValue: retValue,
                success: success,
                callId: i.callId,
              },
            };
            event.source.postMessage(msgIsString ? JSON.stringify(returnMsg) : returnMsg, "*");
          },
          "parameter" in i ? i.parameter : null,
          "version" in i ? i.version : "1.1"
        );
      }
    };
    if (!("__gpp" in window) || typeof window.__gpp !== "function") {
      window.__gpp = window.__gpp_stub;
      window.addEventListener("message", window.__gpp_msghandler, false);
      window.__gpp_addFrame("__gppLocator");
    }
  };

  makeGppStub();

  var uspStubFunction = function() {
    var arg = arguments;
    if (typeof window.__uspapi !== uspStubFunction) {
      setTimeout(function() {
        if (typeof window.__uspapi !== 'undefined') {
          window.__uspapi.apply(window.__uspapi, arg);
        }
      }, 500);
    }
  };

  var checkIfUspIsReady = function() {
    uspTries++;
    if (window.__uspapi === uspStubFunction && uspTries < uspTriesLimit) {
      console.warn('USP is not accessible');
    } else {
      clearInterval(uspInterval);
    }
  };

  if (typeof window.__uspapi === 'undefined') {
    window.__uspapi = uspStubFunction;
    var uspInterval = setInterval(checkIfUspIsReady, 6000);
  }

  /**
   * DataLayer Push & CCPA Support
   *
   * Version 2.0.7
   */
  (async function () {
    //URLs need to be externalized based on environments, during build update.
    var get_iab_vendors_url = iabVendorsUrl;
    var get_google_atp_url = googleAtpUrl;
    var iab_vendors, iab_vendor_ids, iab_vendor_names;
    var google_vendors, google_vendor_ids, google_vendor_names;
    var google_vendors_arr = [],
        google_vendor_ids_arr = [],
        google_vendor_names_arr = [];
    var iab_vendors_arr = [],
        iab_vendor_ids_arr = [],
        iab_vendor_names_arr = [];
    var non_iab_vendors, non_iab_vendor_ids, non_iab_vendor_names;
    var non_iab_vendors_arr = [],
        non_iab_vendor_ids_arr = [],
        non_iab_vendor_names_arr = [];
    var publisher_consents, publisher_legitimate_interests;
    var purpose_consents, purpose_legitimate_interests;

    function resultToList(a) {
      var b = ",";
      if (a && typeof a === 'object') {
        for (var i in a) {
          if (a[i]) {
            b += i + ",";
          }
        }
      }
      return b;
    }

    /**
     * Get a full list of Non-IAB Vendors, specific to the Quantcast Universal Tag ID, using tcfapi
     */
    function vendors_getNonIABVendorList() {
      window.__tcfapi("getConfig", 2, function (retObj) {
        if (retObj && retObj.hasOwnProperty("nonIabVendorsInfo")) {
          if (
            retObj.nonIabVendorsInfo && retObj.nonIabVendorsInfo.hasOwnProperty(
              "nonIabVendorList",
            )
          ) {
            non_iab_vendors =
              retObj.nonIabVendorsInfo.nonIabVendorList;
            // Dont assume array key = vendor id, set key as vendor id with iab_vendors[i].id
            Object.keys(non_iab_vendors).forEach(function (i) {
              non_iab_vendors_arr[non_iab_vendors[i].vendorId] =
                non_iab_vendors[i].name;
            });
          }
        }
      });
    }

    /**
     * Get a full list of IAB Vendors.
     */
    function vendors_getIABVendorList() {
      var xhttp = new XMLHttpRequest();
      xhttp.onreadystatechange = function () {
        if (this.readyState == 4 && this.status == 200) {
          var res = JSON.parse(this.responseText);
          if (res && res.hasOwnProperty("vendors")) {
            iab_vendors = res.vendors;

            // Dont assume array key = vendor id, set key as vendor id with iab_vendors[i].id
            Object.keys(iab_vendors).forEach(function (i) {
              iab_vendors_arr[iab_vendors[i].id] =
                iab_vendors[i].name;
            });
          }
        }
      };
      xhttp.open("GET", get_iab_vendors_url, true);
      xhttp.send();
    }

    /**
     * Get a full list of google atp list
     */
    function vendors_getGoogleVendorList() {
      var xhttp = new XMLHttpRequest();
      xhttp.onreadystatechange = function () {
        if (this.readyState == 4 && this.status == 200) {
          google_vendors = JSON.parse(this.responseText);
          google_vendors.forEach(function (vendor) {
            google_vendors_arr[vendor.provider_id] =
              vendor.provider_name;
          });
        }
      };
      xhttp.open("GET", get_google_atp_url, true);
      xhttp.send();
    }

    /**
     * CMP Loaded.
     *
     * Push __cmpLoaded event to the data layer.
     */
    function dlSend_tcLoaded(tcData) {
      window.dataLayer = window.dataLayer || [];
      window.dataLayer.push({
        event: "__cmpLoaded",
        __cmpLoaded: true,
        gdpr: tcData ? tcData.gdprApplies : false,
      });
    }

    /**
     * IAB Vendors.
     *
     * Push __cmpIABConsents event to the datalayer, along with iab vendor consent ids.
     */
    function dlSend_consentData(tcData) {
      window.dataLayer = window.dataLayer || [];
      iab_vendor_names_arr = [];
      iab_vendor_ids_arr = [];
      non_iab_vendor_names_arr = [];
      non_iab_vendor_ids_arr = [];
      google_vendor_names_arr = [];
      google_vendor_ids_arr = [];

      if (tcData && tcData.hasOwnProperty("publisher")) {
        if (tcData.publisher && tcData.publisher.hasOwnProperty("consents")) {
          publisher_consents = resultToList(
            tcData.publisher ? tcData.publisher.consents : null,
          );
        }
        publisher_legitimate_interests = resultToList(
          tcData.publisher ? tcData.publisher.legitimateInterests : null,
        );
      }

      if (tcData && tcData.hasOwnProperty("purpose")) {
        if (tcData.purpose && tcData.purpose.hasOwnProperty("consents")) {
          purpose_consents = resultToList(tcData.purpose ? tcData.purpose.consents : null);
        }
        purpose_legitimate_interests = resultToList(
          tcData.purpose ? tcData.purpose.legitimateInterests : null,
        );
      }

      // Run this in an interval (every 0.1s) just in case we are still waiting
      // on the return with our iab_vendors list calls, bail after 10 seconds
      var cnt = 0;
      var interval = setInterval(function () {
        cnt += 1;

        if (cnt === 100) {
          clearInterval(interval);
        }

        if (iab_vendors) {
          clearInterval(interval);

          if (tcData ? tcData.gdprApplies : false) {
            // Create name & id arrays of iab vendors with consent.
            if (tcData && tcData.hasOwnProperty("vendor") && tcData.vendor && tcData.vendor.consents) {
              Object.keys(tcData.vendor.consents).forEach(
                function (vendorId) {
                  if (
                    (tcData.vendor && tcData.vendor.consents ? tcData.vendor.consents[vendorId] : false) ||
                    !tcData.gdprApplies
                  ) {
                    iab_vendor_names_arr[vendorId] =
                      iab_vendors_arr[vendorId];
                    iab_vendor_ids_arr[vendorId] = vendorId;
                  }
                },
              );
            }
          } else {
            // GDPR does not apply, add all vendor names/ids
            iab_vendor_names_arr = iab_vendors_arr;
            iab_vendors_arr.forEach(
              function (vendorName, vendorId) {
                iab_vendor_ids_arr[vendorId] = vendorId;
              },
            );
          }

          if (tcData && tcData.addtlConsent && google_vendors_arr) {
            // Create name and id arrays of google vendors with consent.
            // addtlConsent: "1~39.43.46.55.61.
            // 1~ is the version and the rest are the decoded ids
            var addtlConsentParts = (tcData.addtlConsent || "").split("1~");
            if (addtlConsentParts.length > 1) {
              google_vendor_ids_arr = addtlConsentParts[1].split(".");
            }
            google_vendor_ids_arr &&
              google_vendor_ids_arr.forEach(function (google_id) {
                google_vendor_names_arr.push(
                  google_vendors_arr[google_id],
                );
              });
          }

          // Non IAB Vendors
          window.__tcfapi(
            "getNonIABVendorConsents",
            2,
            function (nonIabConsent, nonIabSuccess) {
              if (nonIabSuccess) {
                if (nonIabConsent.gdprApplies) {
                  // Create name & id arrays of non iab vendors with consent.
                  nonIabConsent.nonIabVendorConsents &&
                    Object.keys(
                      nonIabConsent.nonIabVendorConsents,
                    ).forEach(function (vendorId) {
                      if (
                        nonIabConsent
                          .nonIabVendorConsents[
                          vendorId
                        ] ||
                        !nonIabConsent.gdprApplies
                      ) {
                        non_iab_vendor_names_arr[
                          vendorId
                        ] =
                          non_iab_vendors_arr[
                            vendorId
                          ];
                        non_iab_vendor_ids_arr[
                          vendorId
                        ] = vendorId;
                      }
                    });
                } else {
                  // GDPR does not apply, add all non iab vendor names/ids
                  non_iab_vendor_names_arr =
                    non_iab_vendors_arr;
                  non_iab_vendors_arr.forEach(
                    function (vendorName, vendorId) {
                      non_iab_vendor_ids_arr[vendorId] =
                        vendorId;
                    },
                  );
                }
              }

              // Join our array values, skipping empty items and joing them with a delimiter
              iab_vendor_names = iab_vendor_names_arr
                .filter(Boolean)
                .join("|");
              iab_vendor_ids = iab_vendor_ids_arr
                .filter(Boolean)
                .join(",");
              google_vendor_names = google_vendor_names_arr
                .filter(Boolean)
                .join("|");
              google_vendor_ids = google_vendor_ids_arr
                .filter(Boolean)
                .join("|");
              non_iab_vendor_names = non_iab_vendor_names_arr
                .filter(Boolean)
                .join("|");
              non_iab_vendor_ids = non_iab_vendor_ids_arr
                .filter(Boolean)
                .join(",");

              // Push __cmpIABConsents signals to the data layer.
              window.dataLayer.push({
                event: "__cmpConsents",
                __cmpConsents: {
                  iabVendorConsentIds: iab_vendor_ids,
                  iabVendorsWithConsent: iab_vendor_names,
                  nonIABVendorConsentIds: non_iab_vendor_ids,
                  nonIABVendorsWithConsent:
                    non_iab_vendor_names,
                  googleVendorConsentIds: google_vendor_ids,
                  googleVendorsWithConsent:
                    google_vendor_names,
                  gdpr: tcData ? tcData.gdprApplies : false,
                  publisherConsents: publisher_consents,
                  publisherLegitimateInterests:
                    publisher_legitimate_interests,
                  purposeConsents: purpose_consents,
                  purposeLegitimateInterests:
                    purpose_legitimate_interests,
                },
              });
            },
          );
        }
      }, 100);
    }

    /**
     * CCPA footer message.
     */
    function ccpa_footerMsg(tcData) {
      window.__uspapi("uspPing", 1, function (obj, status) {
        var footer_msg = document.getElementById("choice-footer-msg"); // get the footer container for our CCPA message

        if (status && obj.mode.includes("USP") && footer_msg !== null) {
          footer_msg.innerHTML =
            footer_msg.innerHTML +
            "We use cookies" +
            " and other data collection technologies" +
            " to provide the best experience for our customers. You may request" +
            " that your data not be shared with third parties here: " +
            '<a href="#" onclick="window.__uspapi(\'displayUspUi\');"' +
            ">Do Not Sell My Data</a>" +
            ".";

          // Add the 'ccpa-msg-added' class to the container for post message add styling.
          footer_msg.classList.add("ccpa-msg-added");

          window.__uspapi("setUspDftData", 1, function (obj, status) {
            if (!status) {
              console.log("Error: USP string not updated!");
            }
          });
        }
      });
    }

    // Only get the IAB and Non-IAB vendor lists if the the Data layer push functionality
    // is enabled, otherwise we do not need the vendor lists.
    window.__tcfapi(
      "addEventListener",
      2,
      function (getConfig, listenerSuccess) {
        vendors_getIABVendorList(); // Get global IAB vendor list
        vendors_getGoogleVendorList(); // Get google vendor list
        vendors_getNonIABVendorList(); // Get UTID specific Non-IAB vendors
      },
    );

    // CCPA
    ccpa_footerMsg();

    // Add our main listener.
    window.__tcfapi(
      "addEventListener",
      2,
      function (tcData, listenerSuccess) {
        if (listenerSuccess) {
          /**
           * User Visits:
           * 1st visit/no cookie = 'cmpuishown' called and then 'useractioncomplete' after user make their selection
           * Repeat visit/has cookie = only 'tcloaded' is called as the UI does not show unless the user clicks to show
           */

          switch (tcData ? tcData.eventStatus : null) {
            case "cmpuishown":
              // Data Layer
              dlSend_tcLoaded(tcData);
              break;

            case "tcloaded":
              // Data Layer
              if (tcData ? tcData.gdprApplies : false) {
                dlSend_tcLoaded(tcData);
                dlSend_consentData(tcData);
              }
              break;

            case "useractioncomplete":
              // Data Layer
              dlSend_consentData(tcData);
              break;
          }
        }
      },
    );
  })();
})();
})();</script><noscript> <img src="https://obs.forseasky.com/ns/b65d7d7005337f7bd4bd291d1d48ebb9.html?ch=cheq4ppc" style="display:none" alt=""> </noscript>    <link rel="apple-touch-icon" sizes="180x180" href="https://www.techrepublic.com/apple-touch-icon.png">     <link rel="manifest" href="https://www.techrepublic.com/site.webmanifest">       <link rel="alternate" type="application/rss+xml" title="TechRepublic » Feed" href="https://www.techrepublic.com/feed/"><link rel="alternate" type="application/rss+xml" title="TechRepublic » Comments Feed" href="https://www.techrepublic.com/comments/feed/"><style>:root {
    --theme-primary: #086bdb;
    --theme-secondary: #044997;
    --theme-tertiary: #f54d16;
    --theme-quaternary: #ffffff;
    --theme-primary-foreground: #ffffff;
    --theme-secondary-foreground: #ffffff;
    --theme-tertiary-foreground: #ffffff;
    --theme-quaternary-foreground: #044997;
    --theme-foreground: black;
}</style> <script>window.__authProviders={"facebook":false,"linkedin":false}</script> <script>(function(){const targeting = {"env":"prod","stage":"prod","url":"www.techrepublic.com/meet-the-team/us/jason-hiner/","hostname":"www.techrepublic.com","cid":"jason-hiner","path":"sites,techrepublic.com,meet-the-team,us,jason-hiner","news":"no"};

    window.dataLayer = window.dataLayer || []
    window.dataLayer.push(
        Object.fromEntries(
            Object.entries(targeting).map(([k, v]) => [`ad_${k}`, v]),
        ),
    )
})();</script><script>
    ;(() => {
        const campaign = new URLSearchParams(window.location.search).get(
            "adTargeting_campaign",
        )
        if (!campaign) return

        window.googletag = window.googletag || { cmd: [] }
        window.googletag.cmd.push(() => {
            window.googletag.setConfig({ targeting: { campaign } })
        })
    })()
</script><title>Jason Hiner, Author at TechRepublic</title><meta name="title" content="Jason Hiner, Author at TechRepublic"><meta name="robots" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><meta property="og:locale" content="en_US"><meta property="og:type" content="profile"><meta property="og:title" content="Jason Hiner, Author at TechRepublic"><meta property="og:url" content="https://www.techrepublic.com/meet-the-team/us/jason-hiner/"><meta property="og:site_name" content="TechRepublic"><meta property="og:image" content="https://secure.gravatar.com/avatar/30e1c25316c4b054b8520908c7eea842?s=500&d=mm&r=g"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Jason Hiner, Author at TechRepublic"><meta name="twitter:image" content="https://secure.gravatar.com/avatar/30e1c25316c4b054b8520908c7eea842?s=500&d=mm&r=g"><meta name="twitter:site" content="https://twitter.com/techrepublic"><link rel="canonical" href="https://www.techrepublic.com/meet-the-team/us/jason-hiner/"><link rel="next" href="https://www.techrepublic.com/meet-the-team/us/jason-hiner/page/2/"><script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"ProfilePage","@id":"https://www.techrepublic.com/meet-the-team/us/jason-hiner/","url":"https://www.techrepublic.com/meet-the-team/us/jason-hiner/","name":"Jason Hiner, Author at TechRepublic","isPartOf":{"@id":"https://www.techrepublic.com/#website"},"breadcrumb":{"@id":"https://www.techrepublic.com/meet-the-team/us/jason-hiner/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://www.techrepublic.com/meet-the-team/us/jason-hiner/"]}]},{"@type":"BreadcrumbList","@id":"https://www.techrepublic.com/meet-the-team/us/jason-hiner/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.techrepublic.com/"},{"@type":"ListItem","position":2,"name":"Archives for Jason Hiner"}]},{"@type":"WebSite","@id":"https://www.techrepublic.com/#website","url":"https://www.techrepublic.com/","name":"TechRepublic","description":"News, Tips, and Advice for Technology Professionals","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.techrepublic.com/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https://www.techrepublic.com/#/schema/person/7bbdef9bba2434372937f2ba1f460ddc","name":"Jason Hiner","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.techrepublic.com/#/schema/person/image/","url":"https://secure.gravatar.com/avatar/30e1c25316c4b054b8520908c7eea842?s=96&d=mm&r=g","contentUrl":"https://secure.gravatar.com/avatar/30e1c25316c4b054b8520908c7eea842?s=96&d=mm&r=g","caption":"Jason Hiner"},"description":"Jason Hiner is Editorial Director of CNET and former Editor in Chief of TechRepublic. He's co-author of the book, Follow the Geeks.","mainEntityOfPage":{"@id":"https://www.techrepublic.com/meet-the-team/us/jason-hiner/"}}]}</script><link rel="alternate" type="application/rss+xml" title="TechRepublic » Posts by Jason Hiner Feed" href="https://www.techrepublic.com/author/jason-hiner/feed/"> <link rel="stylesheet" href="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/index.DHyt3IGz.css">
<link rel="stylesheet" href="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/article.DyPNVsam.css">
<link rel="stylesheet" href="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/_article_.C3agvLvs.css">
<style>.slide-right-enter-active[data-v-1572bf39],.slide-right-leave-active[data-v-1572bf39]{transition:all .3s}.slide-right-enter-from[data-v-1572bf39],.slide-right-leave-to[data-v-1572bf39]{transform:translate(-100vw);opacity:0}.slide-left-enter-active[data-v-1572bf39],.slide-left-leave-active[data-v-1572bf39]{transition:all .3s}.slide-left-enter-from[data-v-1572bf39],.slide-left-leave-to[data-v-1572bf39]{transform:translate(100vw);opacity:0}.submenu-content [data-submenu][data-v-1572bf39]{display:none}.submenu-content [data-submenu].active[data-v-1572bf39]{display:block}#site-navigation:not([data-nav-computed]){visibility:hidden;animation:nav-fallback 0s 1.5s forwards}@keyframes nav-fallback{to{visibility:visible}}.slide-enter-active[data-v-53819b21],.slide-leave-active[data-v-53819b21]{transition:all .3s}.slide-enter-from[data-v-53819b21],.slide-leave-to[data-v-53819b21]{transform:translateY(20px);opacity:0}#main-navigation[data-astro-cid-sj5ssvhz]{transition:transform .3s ease-in-out,background-color .3s ease-in-out}[data-astro-cid-sj5ssvhz][data-rac-overlay] [data-astro-cid-sj5ssvhz]::-webkit-scrollbar{width:6px}[data-astro-cid-sj5ssvhz][data-rac-overlay] [data-astro-cid-sj5ssvhz]::-webkit-scrollbar-track{background:transparent}[data-astro-cid-sj5ssvhz][data-rac-overlay] [data-astro-cid-sj5ssvhz]::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}[data-astro-cid-sj5ssvhz][data-rac-overlay] [data-astro-cid-sj5ssvhz]::-webkit-scrollbar-thumb:hover{background:#fff6}[data-astro-cid-sj5ssvhz][data-rac-overlay]{scrollbar-color:rgba(255,255,255,.2) transparent;scrollbar-width:thin}
#choice-footer-msg a{color:#fff!important}#choice-footer-msg a:hover{text-decoration:underline}.raconteur-net button,.raconteur-net button.rounded-none{border-radius:0}.raconteur-net button.rounded-sm{border-radius:var(--radius-sm, .125rem)}.raconteur-net button.rounded{border-radius:var(--radius, .25rem)}.raconteur-net button.rounded-md{border-radius:var(--radius-md, .375rem)}.raconteur-net button.rounded-lg{border-radius:var(--radius-lg, .5rem)}.raconteur-net button.rounded-xl{border-radius:var(--radius-xl, .75rem)}.raconteur-net button.rounded-2xl{border-radius:var(--radius-2xl, 1rem)}.raconteur-net button.rounded-3xl{border-radius:var(--radius-3xl, 1.5rem)}.raconteur-net button.rounded-full{border-radius:9999px}
</style>
<link rel="stylesheet" href="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/article.NREOVTef.css">
<style>/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial}}}.tabs .tab{cursor:pointer;border-top-style:var(--tw-border-style);padding-block:calc(var(--spacing,.25rem) * 2);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);border-color:#0000;border-top-width:4px;margin-top:-3px}.tabs .tab--active{border-top-style:var(--tw-border-style);color:var(--color-primary);border-top-width:4px;border-color:var(--color-primary)}.tabs .tab:hover{color:var(--color-primary)}@media(hover:hover){[data-tab=about] a:hover{text-decoration-line:underline}}[data-tab=about] a{color:var(--color-primary)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}
.ticker-text[data-v-34ac2891]{transition:transform .2s ease}.ticker-text.ticker-scrolling[data-v-34ac2891]{animation:ticker-scroll-34ac2891 .4s ease-in-out;animation-fill-mode:forwards}@keyframes ticker-scroll-34ac2891{0%{transform:translate(0)}to{transform:translate(var(--scroll-distance, 0))}}
.animate-ping-once[data-v-788e3fe6]{animation:ping-once-788e3fe6 .35s ease-out forwards}@keyframes ping-once-788e3fe6{0%{transform:scale(1)}40%{transform:scale(1.2)}70%{transform:scale(.95)}to{transform:scale(1)}}
.promo-banner[data-astro-cid-lroifm73]{background:linear-gradient(to right,#fdf3e7,#fbe3d4 50%,#fdf3e7)}
.slide-enter-active[data-v-53819b21],.slide-leave-active[data-v-53819b21]{transition:all .3s}.slide-enter-from[data-v-53819b21],.slide-leave-to[data-v-53819b21]{transform:translateY(20px);opacity:0}.slide-right-enter-active[data-v-1572bf39],.slide-right-leave-active[data-v-1572bf39]{transition:all .3s}.slide-right-enter-from[data-v-1572bf39],.slide-right-leave-to[data-v-1572bf39]{transform:translate(-100vw);opacity:0}.slide-left-enter-active[data-v-1572bf39],.slide-left-leave-active[data-v-1572bf39]{transition:all .3s}.slide-left-enter-from[data-v-1572bf39],.slide-left-leave-to[data-v-1572bf39]{transform:translate(100vw);opacity:0}.submenu-content [data-submenu][data-v-1572bf39]{display:none}.submenu-content [data-submenu].active[data-v-1572bf39]{display:block}
.debug-bar[data-v-fbe2a48f] ::-webkit-scrollbar{width:4px}.debug-bar[data-v-fbe2a48f] ::-webkit-scrollbar-track{background:#374151}.debug-bar[data-v-fbe2a48f] ::-webkit-scrollbar-thumb{background:#6b7280;border-radius:2px}.debug-bar[data-v-fbe2a48f] ::-webkit-scrollbar-thumb:hover{background:#9ca3af}
</style><style>astro-island,astro-slot,astro-static-slot{display:contents}</style><style type="text/css">.inline-top:not([data-loaded]) { min-width: 300px; max-width: 320px; min-height: 50px; max-height: 50px; }
@media screen and (min-width: 768px) { .inline-top:not([data-loaded]) { min-width: 728px; max-width: 728px; min-height: 90px; max-height: 90px; } }
@media screen and (min-width: 1240px) { .inline-top:not([data-loaded]) { min-width: 728px; max-width: 1000px; min-height: 90px; max-height: 250px; } }</style><style type="text/css">.right-rail:not([data-loaded]) { min-width: 300px; max-width: 320px; min-height: 50px; max-height: 250px; }
@media screen and (min-width: 768px) { .right-rail:not([data-loaded]) { min-width: 160px; max-width: 300px; min-height: 250px; max-height: 600px; } }</style><style type="text/css">.inline-bottom:not([data-loaded]) { min-width: 300px; max-width: 320px; min-height: 50px; max-height: 50px; }
@media screen and (min-width: 768px) { .inline-bottom:not([data-loaded]) { min-width: 728px; max-width: 728px; min-height: 90px; max-height: 90px; } }
@media screen and (min-width: 1240px) { .inline-bottom:not([data-loaded]) { min-width: 728px; max-width: 1000px; min-height: 90px; max-height: 250px; } }</style><style type="text/css">.sticky-footer:not([data-loaded]) { min-width: 300px; max-width: 320px; min-height: 50px; max-height: 50px; }
@media screen and (min-width: 768px) { .sticky-footer:not([data-loaded]) { min-width: 728px; max-width: 728px; min-height: 90px; max-height: 90px; } }
@media screen and (min-width: 1240px) { .sticky-footer:not([data-loaded]) { min-width: 728px; max-width: 1000px; min-height: 90px; max-height: 90px; } }</style></head> <body class="skybox-auto-collapse">  <script type="module">window.googletag=window.googletag||{cmd:[]},window.googletag?.cmd.push(()=>{let i=!1,l=null;const a=o=>{const e=document.getElementById("main-navigation");e&&(e.style.top=`${o}px`)},r=o=>{if(i)return;i=!0;const e=o.closest("[data-ad-slot='skybox']");if(!e)return;e.setAttribute("data-loaded",""),a(e.offsetHeight),document.dispatchEvent(new CustomEvent("skybox-ad-ready",{detail:{height:e.offsetHeight}})),window.ResizeObserver&&(l=new ResizeObserver(t=>{for(const d of t){const s=d.contentRect.height;a(s),document.dispatchEvent(new CustomEvent("skybox-ad-height-changed",{detail:{height:s}}))}}),l.observe(e));const n=window.googletag.pubads().getSlots().find(t=>{const d=t.getSlotElementId(),s=document.getElementById(d);return s?s.closest(".inline-top")!==null:!1});if(n){const t=document.querySelector(".inline-top");t&&(t.classList.add("hidden"),t.style.setProperty("display","none")),window.googletag?.destroySlots([n]),window.requestAnimationFrame(()=>{t?.remove()})}};window.googletag.pubads().addEventListener("slotRenderEnded",o=>{if(o.isEmpty)return;const e=o.slot.getSlotElementId(),n=document.getElementById(e);!n||!n.closest("[data-ad-slot='skybox']")||r(n)})});</script><script type="module">function o(e){e.dataset.imageLoaded===void 0&&(e.dataset.imageLoaded="",window.requestAnimationFrame(()=>{e.style.opacity="1";const a=e.closest("[data-lazyimage]")?.querySelector("[data-blur]");a&&(a.style.opacity="0")}))}function t(e){if(e.dataset.imageLoaded!==void 0)return;(typeof e.decode=="function"?e.decode().catch(()=>{}):Promise.resolve()).finally(()=>o(e))}function d(e){!(e instanceof HTMLImageElement)||!e.matches("[data-image]")||t(e)}document.addEventListener("load",e=>d(e.target),!0);document.addEventListener("error",e=>d(e.target),!0);document.querySelectorAll("[data-lazyimage] [data-image]").forEach(e=>{e.complete&&t(e)});</script><script>(()=>{var l=(n,t)=>{let i=async()=>{await(await n())()},e=typeof t.value=="object"?t.value:void 0,s={timeout:e==null?void 0:e.timeout};"requestIdleCallback"in window?window.requestIdleCallback(i,s):setTimeout(i,s.timeout||200)};(self.Astro||(self.Astro={})).idle=l;window.dispatchEvent(new Event("astro:idle"));})();</script><script>(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).load=e;window.dispatchEvent(new Event("astro:load"));})();</script><script type="module" src="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/TechRepublicHeader.astro_astro_type_script_index_0_lang.tOYyYv5-.js"></script><script type="module">document.body.clientWidth<1480||(window.googletag=window.googletag||{cmd:[]},window.googletag?.cmd.push(()=>{let i=!1;const l=()=>{if(i)return;i=!0;const t=document.createElement("div"),e=document.createElement("div"),n=`
                        position: fixed;
                        top: 0;
                        bottom: 0;
                        width: calc((100vw - 1200px) / 2);
                        background: transparent;
                        cursor: pointer;
                    `;t.style.cssText=n+"left: 0;",e.style.cssText=n+"right: 0;",t.id="left-gutter",e.id="right-gutter";const d=()=>{const o=document.body?.dataset?.src;o&&(window.location.href=o)};t.addEventListener("click",d),e.addEventListener("click",d);const s=()=>{const o=window.innerWidth,r=1200;if(o>r){t.style.display="block",e.style.display="block";const c=(o-r)/2;t.style.width=`${c}px`,e.style.width=`${c}px`}else t.style.display="none",e.style.display="none"};document.body.appendChild(t),document.body.appendChild(e),s(),window.addEventListener("resize",s)};window.googletag.pubads().addEventListener("slotRenderEnded",t=>{if(t.isEmpty)return;const e=t.slot.getSlotElementId(),n=document.getElementById(e);!n||!n.closest("[data-ad-slot='curtain']")||l()})}));</script><script type="module">document.querySelectorAll('[href="#advertising-disclaimer"]').forEach(p=>{const n=p,e=document.createElement("div");e.className="advertising-disclaimer-tooltip",e.innerHTML="We are able to offer our services for free because some vendors may pay us for web traffic or other sales opportunities. Our mission is to help technology buyers make better purchasing decisions, so we provide you with information for all vendors — even those that don't pay us.",n.style.position="relative",n.appendChild(e),p.addEventListener("mouseenter",()=>{e.classList.add("show")}),p.addEventListener("mouseleave",()=>{e.classList.remove("show")})});document.addEventListener("DOMContentLoaded",()=>{document.querySelectorAll(".wp-block-ta-gazelle-blocks-comp-table").forEach(n=>{const e=n,t=e.querySelector(".is-layout-flex:first-child");if(!t)return;const i=t.children,o=i.length,l=[];e.style.setProperty("--cols",o.toString()),o<=2&&e.classList.add("two-column-table");const h=o<=2?0:1;for(let a=h;a<o;a++){const d=i[a],m=d?.querySelector("img"),s=d?.textContent?.trim()||"";l.push({img:m?.src,text:s})}e.querySelectorAll(".is-layout-flex:not(:first-child)").forEach(a=>{const d=a.children,m=o<=2?0:1;for(let s=m;s<d.length&&s-m<l.length;s++){const f=d[s],r=l[s-m];if(r.img||r.text){const c=document.createElement("div");if(c.className="mobile-product-pill",r.img){const u=document.createElement("img");u.src=r.img,c.appendChild(u),c.classList.add("with-logo")}if(r.text){const u=document.createElement("span");u.textContent=r.text,c.appendChild(u),r.img||c.classList.add("text-only")}f.style.position="relative",f.appendChild(c)}}}),t&&l.length>0&&t.classList.add("hide-on-mobile")}),document.querySelectorAll(".prose .table-wrapper table").forEach(n=>{const e=(t,i)=>{const o=i.getBoundingClientRect(),l={el:i,bottom:o.bottom,left:o.left};return!t||l.bottom>t.bottom+1||l.left<t.left-1?l:t};[...n.querySelectorAll("td")].reduce(e,null)?.el.classList.add("bottom-left-cell")})});</script><script type="module">const c=e=>{document.querySelectorAll("[data-tab-trigger]").forEach(t=>{t.dataset.tabTrigger===e?t.classList.add("tab--active"):t.classList.remove("tab--active")}),document.querySelectorAll("[data-tab]").forEach(t=>{t.style.display=t.dataset.tab===e?"block":"none"})};new URL(window.location.href).hash==="#related-articles"&&c("related-articles");const r=document.querySelector(".tabs");r&&r.querySelectorAll("[data-tab-trigger]").forEach(e=>{e.addEventListener("click",function(t){t.preventDefault();const a=this.dataset.tabTrigger;a&&c(a)})});</script><script type="module">class s extends HTMLElement{resizeObserver=null;connectedCallback(){this.updateHeightVar(),this.resizeObserver=new ResizeObserver(()=>{this.hasAttribute("data-collapsed")||this.updateHeightVar()}),this.resizeObserver.observe(this),this.querySelector("button")?.addEventListener("click",()=>{const e=this.toggleAttribute("data-collapsed");this.classList.toggle("translate-y-full",e);const t=this.querySelector(".chevron");t&&t.classList.toggle("rotate-180",e),e?document.documentElement.style.setProperty("--sticky-ad-height","0px"):this.updateHeightVar()})}disconnectedCallback(){this.resizeObserver?.disconnect(),document.documentElement.style.removeProperty("--sticky-ad-height")}updateHeightVar(){document.documentElement.style.setProperty("--sticky-ad-height",`${this.offsetHeight}px`)}}customElements.define("sticky-footer-ad",s);</script>     <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-57GHMWX" height="0" width="0" style="display:none;visibility:hidden" title="Google tag manageer noscript tag"></iframe></noscript><script>(function(){const gtmId = "GTM-57GHMWX";

    ;(function (w, d, s, l, i) {
        w[l] = w[l] || []
        w[l].push({
            "gtm.start": new Date().getTime(),
            event: "gtm.js",
        })
        const 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", gtmId)
})();</script><div data-ad-slot="skybox" data-unit-base="/5055/aw-techrepublic" data-category="author" class="static top-0 left-0 right-0 w-screen z-200 skybox skybox-closeBtn skybox-collapseBtn data-empty:hidden print:hidden"></div><script>(function(){const defaultLocale = "en";
const supportedShorts = ["en","de","fr"];
const siteDomain = "techrepublic.com";

    ;(function () {
        try {
            const pathname = window.location.pathname
            const sitePrefix = "/sites/" + siteDomain + "/"
            let base, afterBase
            if (pathname.startsWith(sitePrefix)) {
                base = sitePrefix
                afterBase = pathname.slice(sitePrefix.length)
            } else {
                base = "/"
                afterBase = pathname.slice(1)
            }
            const parts = afterBase.split("/")
            const currentLocale = supportedShorts.includes(parts[0])
                ? parts[0]
                : defaultLocale
            const pref = localStorage.getItem("preferred-locale")
            if (!pref || !supportedShorts.includes(pref)) {
                localStorage.setItem("preferred-locale", currentLocale)
                return
            }
            if (currentLocale !== defaultLocale) return
            if (currentLocale === pref) return
            const target =
                base +
                pref +
                "/" +
                afterBase +
                window.location.search +
                window.location.hash
            window.location.replace(target)
        } catch (err) {
            console.error("Failed to redirect to preferred locale", err)
        }
    })()
})();</script><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin=""><link href="https://fonts.googleapis.com/css2?family=Mulish:wght@400;500;600;700;800&display=swap" rel="stylesheet"><tr-header> <header class="sticky top-0 z-1000 bg-white antialiased print:static font-[Mulish,sans-serif] border-b border-[#efefef]" id="main-navigation"> <div class="flex items-center justify-between max-w-[1200px] mx-auto px-4 h-[70px] gap-3"> <!-- Logo --> <a href="/" class="shrink-0 flex items-center"> <div class="h-[40px] w-auto relative">  <img src="https://www.techrepublic.com/astrostatic/ecfc1b01/_image/?href=%2F_astro%2Ftechrepublic.BQceyIVv.png&w=500&h=119&f=webp" alt="TechRepublic" loading="eager" fetchpriority="high" showPlaceholder="false" data-image="true" style="opacity:1" decoding="async" width="500" height="119" class="h-[40px] w-auto transition-opacity duration-300"> </div>  </a> <!-- Desktop primary nav --> <nav class="hidden min-[1360px]:flex items-center text-[16px] text-[#000e2a] font-bold gap-2" aria-label="Primary navigation"> <a href="/topic/top-products/" class="px-3 py-2 text-[#000e2a] no-underline whitespace-nowrap hover:text-[#086bdb] transition-colors duration-150"> Top Products </a><a href="/topic/artificial-intelligence/" class="px-3 py-2 text-[#000e2a] no-underline whitespace-nowrap hover:text-[#086bdb] transition-colors duration-150"> AI </a><a href="/topic/developer/" class="px-3 py-2 text-[#000e2a] no-underline whitespace-nowrap hover:text-[#086bdb] transition-colors duration-150"> Developer </a><a href="/topic/payroll/" class="px-3 py-2 text-[#000e2a] no-underline whitespace-nowrap hover:text-[#086bdb] transition-colors duration-150"> Payroll </a><a href="/topic/security/" class="px-3 py-2 text-[#000e2a] no-underline whitespace-nowrap hover:text-[#086bdb] transition-colors duration-150"> Security </a><a href="/events/" class="px-3 py-2 text-[#000e2a] no-underline whitespace-nowrap hover:text-[#086bdb] transition-colors duration-150"> Events </a> <!-- Hubs dropdown --> <div class="relative" data-tr-hubs-wrapper=""> <button class="flex items-center gap-1 px-3 py-2 text-[#000e2a] bg-transparent border-0 cursor-pointer text-[16px] font-bold whitespace-nowrap hover:text-[#086bdb] transition-colors duration-150" aria-expanded="false" data-tr-hubs-btn=""> <span>Resources</span> <svg class="w-3 h-3 transition-transform duration-300" viewBox="0 0 12 12" fill="none" aria-hidden="true"> <path d="M2 4l4 4 4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" /> </svg> </button> <div class="absolute top-full right-0 invisible opacity-0 transition-all duration-150 z-50" data-tr-hubs-dropdown=""> <div class="bg-white rounded-lg shadow-[0_4px_24px_rgba(0,0,0,0.12)] border border-gray-100 p-6 min-w-[680px] font-[Mulish,sans-serif]"> <div class="flex gap-8"> <!-- Resource Hubs column --> <div class="w-[200px] shrink-0"> <div class="px-1 pb-2 text-[10px] font-bold uppercase tracking-wider text-gray-400">
Resource Hubs
</div> <div class="flex flex-col"> <a href="/hubs/the-enterprise-guide-to-scalable-ai/" class="block px-1 py-1.5 text-[13px] text-[#000e2a] no-underline hover:text-[#086bdb] transition-colors duration-150"> The Enterprise Guide to Scalable AI </a> <a href="/premium/" class="block px-1 py-1.5 text-[13px] text-[#000e2a] no-underline hover:text-[#086bdb] transition-colors duration-150"> TechRepublic Premium </a><a href="https://academy.techrepublic.com/" class="block px-1 py-1.5 text-[13px] text-[#000e2a] no-underline hover:text-[#086bdb] transition-colors duration-150"> TechRepublic Academy </a><a href="/newsletters/" class="block px-1 py-1.5 text-[13px] text-[#000e2a] no-underline hover:text-[#086bdb] transition-colors duration-150"> Newsletters </a><a href="/resource-library/" class="block px-1 py-1.5 text-[13px] text-[#000e2a] no-underline hover:text-[#086bdb] transition-colors duration-150"> Resource Library </a><a href="/forums/" class="block px-1 py-1.5 text-[13px] text-[#000e2a] no-underline hover:text-[#086bdb] transition-colors duration-150"> Forums </a><a href="/sponsored/" class="block px-1 py-1.5 text-[13px] text-[#000e2a] no-underline hover:text-[#086bdb] transition-colors duration-150"> Sponsored </a> </div> </div> <!-- Featured Resources column --> <div class="flex-1 min-w-0"> <div class="px-1 pb-2 text-[10px] font-bold uppercase tracking-wider text-gray-400">
Featured Resources
</div> <div class="grid grid-cols-2 gap-4"> <a href="/sponsored/why-data-not-models-determines-ai-success/" class="group flex flex-col gap-2 no-underline"> <div class="aspect-video w-full overflow-hidden rounded-md bg-gray-100"> <img src="https://assets.techrepublic.com/uploads/2026/04/Untitled-design-18-1-770x433.png" alt="Why Data, Not Models, Determines AI Success" loading="lazy" class="h-full w-full object-cover transition-transform duration-200 group-hover:scale-[1.02]"> </div> <div class="text-[14px] font-bold leading-snug text-[#000e2a] group-hover:text-[#086bdb] transition-colors duration-150 line-clamp-2"> Why Data, Not Models, Determines AI Success </div> <div class="text-[13px] leading-snug text-gray-600 line-clamp-2"> Strong models alone are not enough, and this article shows why data readiness, accessibility, and governance often determine whether AI succeeds in production. </div> </a><a href="https://www.eweek.com/a/news/proving-the-roi-of-enterprise-ai-from-esg-insights-to-business-outcomes/" class="group flex flex-col gap-2 no-underline"> <div class="aspect-video w-full overflow-hidden rounded-md bg-gray-100"> <img src="https://cdn.eweek.com/Dell_26Q1_TN_1280x720_03.jpg" alt="Proving the ROI of Enterprise AI: From ESG Insights to Business Outcomes" loading="lazy" class="h-full w-full object-cover transition-transform duration-200 group-hover:scale-[1.02]"> </div> <div class="text-[14px] font-bold leading-snug text-[#000e2a] group-hover:text-[#086bdb] transition-colors duration-150 line-clamp-2"> Proving the ROI of Enterprise AI: From ESG Insights to Business Outcomes </div> <div class="text-[13px] leading-snug text-gray-600 line-clamp-2"> Enterprise leaders are under pressure to show that AI investments deliver more than experimentation, and this piece explores how to connect initiatives to measurable business outcomes. </div> </a><a href="https://www.eweek.com/a/artificial-intelligence/where-should-ai-workloads-run-rethinking-workload-placement-in-a-hybrid-ai-world/" class="group flex flex-col gap-2 no-underline"> <div class="aspect-video w-full overflow-hidden rounded-md bg-gray-100"> <img src="https://cdn.techrepublic.com/content-images/01KPVCT9XZBKTPSCST3R2GG1RE.jpg" alt="Where Should AI Workloads Run? Rethinking Workload Placement in a Hybrid AI World" loading="lazy" class="h-full w-full object-cover transition-transform duration-200 group-hover:scale-[1.02]"> </div> <div class="text-[14px] font-bold leading-snug text-[#000e2a] group-hover:text-[#086bdb] transition-colors duration-150 line-clamp-2"> Where Should AI Workloads Run? Rethinking Workload Placement in a Hybrid AI World </div> <div class="text-[13px] leading-snug text-gray-600 line-clamp-2"> Because placement decisions affect cost, performance, and control, this piece examines how data gravity and latency shape where AI workloads should run. </div> </a><a href="https://www.eweek.com/artificial-intelligence/dells-vrashank-jain-on-the-data-problem-that-could-break-your-ai/" class="group flex flex-col gap-2 no-underline"> <div class="aspect-video w-full overflow-hidden rounded-md bg-gray-100"> <img src="https://cdn.techrepublic.com/content-images/01KPVCP6B2QCW4Q6NEY1N5PD84.png" alt="Dell's Vrashank Jain on the Data Problem That Could Break Your AI" loading="lazy" class="h-full w-full object-cover transition-transform duration-200 group-hover:scale-[1.02]"> </div> <div class="text-[14px] font-bold leading-snug text-[#000e2a] group-hover:text-[#086bdb] transition-colors duration-150 line-clamp-2"> Dell's Vrashank Jain on the Data Problem That Could Break Your AI </div> <div class="text-[13px] leading-snug text-gray-600 line-clamp-2"> In this eSpeaks conversation, Vrashank Jain explains why fragmented environments, pipeline complexity, and data bottlenecks continue to slow enterprise AI progress. </div> </a> </div> </div> </div> </div> </div> </div> <!-- More dropdown --> <div class="relative" data-tr-more-wrapper=""> <button class="flex items-center gap-1 px-3 py-2 text-[#000e2a] bg-transparent border-0 cursor-pointer text-[16px] font-bold whitespace-nowrap hover:text-[#086bdb] transition-colors duration-150" aria-expanded="false" data-tr-more-btn=""> <span>More</span> <svg class="w-3 h-3 transition-transform duration-300" viewBox="0 0 12 12" fill="none" aria-hidden="true"> <path d="M2 4l4 4 4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" /> </svg> </button> <div class="absolute top-full right-0 bg-white rounded-lg shadow-[0_4px_24px_rgba(0,0,0,0.12)] py-2 min-w-[220px] invisible opacity-0 transition-all duration-150 z-50 border border-gray-100" data-tr-more-dropdown=""> <!-- Popular Topics --> <div class="px-4 py-1.5 text-[10px] font-bold uppercase tracking-wider text-gray-400"> Popular Topics </div> <a href="/topic/project-management/" class="block px-4 py-1.5 text-[#000e2a] no-underline text-[13px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> Project Management </a><a href="/topic/accounting/" class="block px-4 py-1.5 text-[#000e2a] no-underline text-[13px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> Accounting </a><a href="/topic/big-data/crm/" class="block px-4 py-1.5 text-[#000e2a] no-underline text-[13px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> CRM </a><a href="https://academy.techrepublic.com/" class="block px-4 py-1.5 text-[#000e2a] no-underline text-[13px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> Academy </a><a href="/topic/cloud/" class="block px-4 py-1.5 text-[#000e2a] no-underline text-[13px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> Cloud </a><a href="/topic/innovation/" class="block px-4 py-1.5 text-[#000e2a] no-underline text-[13px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> Innovation </a><a href="/topic/smart-persons-guides/" class="block px-4 py-1.5 text-[#000e2a] no-underline text-[13px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> Cheat Sheets </a><a href="/topic/big-data/" class="block px-4 py-1.5 text-[#000e2a] no-underline text-[13px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> Big Data </a> <a href="/topic/" class="block px-4 py-1.5 text-[#086bdb] no-underline text-[13px] font-bold hover:bg-gray-50 transition-colors duration-150"> View All Topics </a> </div> </div> </nav> <!-- Right side actions --> <div class="flex items-center gap-3 ml-auto min-[1360px]:ml-0"> <div class="hidden md:block"> <astro-island uid="Z1ssWf6" prefix="s18" component-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/LocaleDropdown.DEizvX-z.js" component-export="default" renderer-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/client.DTbfBpzl.js" props="{&quot;currentLocale&quot;:[0,&quot;en&quot;],&quot;defaultLocale&quot;:[0,&quot;en&quot;],&quot;supportedLocales&quot;:[1,[[0,&quot;en-US&quot;],[0,&quot;de&quot;],[0,&quot;fr&quot;]]],&quot;siteDomain&quot;:[0,&quot;techrepublic.com&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;LocaleDropdown&quot;,&quot;value&quot;:true}" await-children=""><div class="relative"><button class="text-secondary hover:bg-primary hover:text-primary-foreground flex items-center gap-1.5 font-medium transition p-2 cursor-pointer text-mono text-[14px]/[24px] tracking-[0.7px] uppercase group" aria-label="Language: English" aria-haspopup="dialog" aria-expanded="false"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 15" aria-hidden="true" class="w-5"><!--[--><rect width="20" height="15" fill="#B22234" /><rect y="1.15" width="20" height="1.15" fill="#fff" /><rect y="3.46" width="20" height="1.15" fill="#fff" /><rect y="5.77" width="20" height="1.15" fill="#fff" /><rect y="8.08" width="20" height="1.15" fill="#fff" /><rect y="10.38" width="20" height="1.15" fill="#fff" /><rect y="12.69" width="20" height="1.15" fill="#fff" /><rect width="8" height="8.08" fill="#3C3B6E" /><!--]--></svg><span>EN</span></button><div class="absolute right-0 mt-0 w-40 border border-t-4 border-t-primary bg-white shadow-md z-50" style="display:none;"><div role="radiogroup" aria-label="Select language"><!--[--><label class="font-bold text-primary flex items-center gap-2.5 px-4 py-2 text-sm hover:bg-primary/10 hover:text-primary transition cursor-pointer"><input type="radio" name="locale" value="en" checked class="sr-only"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 15" aria-hidden="true" class="w-5 flex-shrink-0"><!--[--><rect width="20" height="15" fill="#B22234" /><rect y="1.15" width="20" height="1.15" fill="#fff" /><rect y="3.46" width="20" height="1.15" fill="#fff" /><rect y="5.77" width="20" height="1.15" fill="#fff" /><rect y="8.08" width="20" height="1.15" fill="#fff" /><rect y="10.38" width="20" height="1.15" fill="#fff" /><rect y="12.69" width="20" height="1.15" fill="#fff" /><rect width="8" height="8.08" fill="#3C3B6E" /><!--]--></svg> English</label><label class="flex items-center gap-2.5 px-4 py-2 text-sm hover:bg-primary/10 hover:text-primary transition cursor-pointer"><input type="radio" name="locale" value="de" class="sr-only"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 15" aria-hidden="true" class="w-5 flex-shrink-0"><!--[--><rect width="20" height="5" fill="#000" /><rect y="5" width="20" height="5" fill="#D00" /><rect y="10" width="20" height="5" fill="#FFCE00" /><!--]--></svg> Deutsch</label><label class="flex items-center gap-2.5 px-4 py-2 text-sm hover:bg-primary/10 hover:text-primary transition cursor-pointer"><input type="radio" name="locale" value="fr" class="sr-only"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 15" aria-hidden="true" class="w-5 flex-shrink-0"><!--[--><rect width="20" height="15" fill="#ED2939" /><rect width="13.33" height="15" fill="#fff" /><rect width="6.67" height="15" fill="#002395" /><!--]--></svg> Français</label><!--]--></div></div></div><!--astro:end--></astro-island> </div> <astro-island uid="1JeCxr" prefix="s19" component-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/UserMenu.CORJnPYV.js" component-export="default" renderer-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/client.DTbfBpzl.js" props="{}" ssr="" client="load" opts="{&quot;name&quot;:&quot;UserMenu&quot;,&quot;value&quot;:true}" await-children=""><div class="relative font-[Mulish,sans-serif]"><button disabled class="inline-flex items-center justify-center size-9 p-0 text-[0px] bg-transparent border-[1.5px] border-gray-300 rounded-full cursor-pointer overflow-hidden transition-all duration-150 hover:bg-gray-100 hover:border-gray-400 pointer-events-none opacity-0"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user-icon lucide-user text-gray-500" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2" /><circle cx="12" cy="7" r="4" /></svg><span class="sr-only">Sign In</span></button><!----><!--teleport start--><!--teleport end--></div><!--astro:end--></astro-island> <!-- Search toggle / close --> <button class="flex items-center justify-center w-9 h-9 rounded-full text-[#000e2a] bg-transparent border-0 cursor-pointer hover:bg-gray-100 transition-colors duration-150" aria-label="Search" data-tr-search-toggle=""> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search-icon lucide-search size-6" aria-hidden="true"><path d="m21 21-4.34-4.34" /><circle cx="11" cy="11" r="8" /></svg> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x-icon lucide-x size-6 hidden" aria-hidden="true"><path d="M18 6 6 18" /><path d="m6 6 12 12" /></svg> </button> <!-- Go Premium CTA --> <a href="/premium/" class="hidden md:inline-flex items-center px-5 py-2 bg-[#d44216] text-white text-[16px] font-bold! rounded-full no-underline whitespace-nowrap hover:bg-[#b83812] transition-colors duration-150"> Go Premium </a> <!-- Mobile menu toggle --> <button class="flex items-center justify-center w-9 h-9 bg-transparent border-0 text-[#000e2a] cursor-pointer min-[1360px]:hidden" aria-label="Open menu" data-tr-toggle=""> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true"> <path d="M3 6h18M3 12h18M3 18h18" stroke="currentColor" stroke-width="2" stroke-linecap="round" /> </svg> </button> </div> </div> <!-- Search dropdown panel --> <div class="hidden absolute left-0 right-0 top-full bg-white z-50 font-[Mulish,sans-serif]" data-tr-search-panel=""> <div class="max-w-[700px] mx-auto px-4 py-5"> <form role="search" method="get" action="/" data-tr-search-form=""> <div class="relative border-2 border-[#086bdb] rounded-full"> <input type="search" name="s" placeholder="What are you looking for?" required class="w-full h-12 pl-6 pr-12 border-0 rounded-full bg-white text-[#000e2a] text-base placeholder:text-gray-400 focus:outline-none font-[Mulish,sans-serif]" data-tr-search-input=""> <button type="submit" aria-label="Search" class="absolute right-3 top-1/2 -translate-y-1/2 bg-transparent border-0 text-gray-400 cursor-pointer hover:text-[#086bdb] transition-colors duration-150 p-1"> <svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"> <circle cx="11" cy="11" r="7" /> <path d="M21 21l-4.35-4.35" /> </svg> </button> </div> </form> </div> </div> </header> <!-- Mobile overlay --> <div class="hidden fixed inset-0 z-100000 flex-col font-[Mulish,sans-serif]" data-tr-overlay=""> <!-- Mobile header bar --> <div class="flex items-center justify-between px-4 h-[60px] bg-white border-b border-gray-200"> <a href="/" class="shrink-0 flex items-center"> <div class="h-[26px] w-auto relative">  <img src="https://www.techrepublic.com/astrostatic/ecfc1b01/_image/?href=%2F_astro%2Ftechrepublic.BQceyIVv.png&w=500&h=119&f=webp" alt="TechRepublic" loading="eager" showPlaceholder="false" data-image="true" style="opacity:1" decoding="async" fetchpriority="auto" width="500" height="119" class="h-[26px] w-auto transition-opacity duration-300"> </div>  </a> <button class="flex items-center justify-center w-9 h-9 bg-transparent border-0 text-[#000e2a] cursor-pointer" aria-label="Close menu" data-tr-close=""> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" aria-hidden="true"> <path d="M18 6L6 18M6 6l12 12" stroke="currentColor" stroke-width="2" stroke-linecap="round" /> </svg> </button> </div> <!-- Mobile navigation body --> <div class="flex-1 overflow-y-auto bg-white"> <!-- Mobile search --> <form class="px-4 py-3 border-b border-gray-200" role="search" method="get" action="/" data-tr-search-form=""> <div class="relative"> <input type="search" name="s" placeholder="Search TechRepublic" required class="w-full h-10 pl-4 pr-10 border border-gray-300 rounded-full bg-white text-sm text-[#000e2a] placeholder:text-gray-400 focus:outline-none focus:border-[#086bdb]"> <button type="submit" aria-label="Search" class="absolute right-1 top-1 w-8 h-8 rounded-full bg-[#086bdb] text-white border-0 cursor-pointer flex items-center justify-center hover:bg-[#044997]"> <svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"> <circle cx="11" cy="11" r="7" /> <path d="M21 21l-4.35-4.35" /> </svg> </button> </div> </form> <!-- Go Premium mobile CTA --> <a href="https://www.techrepublic.com/premium/" class="flex items-center justify-center mx-4 mt-3 mb-1 px-4 py-2.5 bg-[#d44216] text-white text-sm font-bold rounded-full no-underline hover:bg-[#b83812]">
Go Premium
</a> <!-- Mobile nav links --> <div class="py-2"> <div class="px-4 py-2 text-[10px] font-bold uppercase tracking-wider text-gray-400">
Popular Topics
</div> <a href="/topic/top-products/" class="block px-4 py-2.5 text-[#000e2a] no-underline text-[15px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> Top Products </a><a href="/topic/artificial-intelligence/" class="block px-4 py-2.5 text-[#000e2a] no-underline text-[15px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> AI </a><a href="/topic/developer/" class="block px-4 py-2.5 text-[#000e2a] no-underline text-[15px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> Developer </a><a href="/topic/payroll/" class="block px-4 py-2.5 text-[#000e2a] no-underline text-[15px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> Payroll </a><a href="/topic/security/" class="block px-4 py-2.5 text-[#000e2a] no-underline text-[15px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> Security </a><a href="/events/" class="block px-4 py-2.5 text-[#000e2a] no-underline text-[15px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> Events </a><a href="/topic/project-management/" class="block px-4 py-2.5 text-[#000e2a] no-underline text-[15px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> Project Management </a><a href="/topic/accounting/" class="block px-4 py-2.5 text-[#000e2a] no-underline text-[15px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> Accounting </a><a href="/topic/big-data/crm/" class="block px-4 py-2.5 text-[#000e2a] no-underline text-[15px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> CRM </a><a href="https://academy.techrepublic.com/" class="block px-4 py-2.5 text-[#000e2a] no-underline text-[15px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> Academy </a><a href="/topic/cloud/" class="block px-4 py-2.5 text-[#000e2a] no-underline text-[15px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> Cloud </a><a href="/topic/innovation/" class="block px-4 py-2.5 text-[#000e2a] no-underline text-[15px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> Innovation </a><a href="/topic/smart-persons-guides/" class="block px-4 py-2.5 text-[#000e2a] no-underline text-[15px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> Cheat Sheets </a><a href="/topic/big-data/" class="block px-4 py-2.5 text-[#000e2a] no-underline text-[15px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> Big Data </a> <a href="https://www.techrepublic.com/topic/" class="block px-4 py-2.5 text-[#086bdb] no-underline text-[15px] font-bold hover:bg-gray-50">
View All Topics
</a> <div class="border-t border-gray-200 my-2"></div> <div class="px-4 py-2 text-[10px] font-bold uppercase tracking-wider text-gray-400">
Resources
</div> <a href="/hubs/the-enterprise-guide-to-scalable-ai/" class="block px-4 py-2.5 text-[#000e2a] no-underline text-[15px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> The Enterprise Guide to Scalable AI </a>  <a href="/premium/" class="block px-4 py-2.5 text-[#000e2a] no-underline text-[15px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> TechRepublic Premium </a><a href="https://academy.techrepublic.com/" class="block px-4 py-2.5 text-[#000e2a] no-underline text-[15px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> TechRepublic Academy </a><a href="/newsletters/" class="block px-4 py-2.5 text-[#000e2a] no-underline text-[15px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> Newsletters </a><a href="/resource-library/" class="block px-4 py-2.5 text-[#000e2a] no-underline text-[15px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> Resource Library </a><a href="/forums/" class="block px-4 py-2.5 text-[#000e2a] no-underline text-[15px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> Forums </a><a href="/sponsored/" class="block px-4 py-2.5 text-[#000e2a] no-underline text-[15px] hover:bg-gray-50 hover:text-[#086bdb] transition-colors duration-150"> Sponsored </a> </div> </div> </div> </tr-header> <div data-ad-slot="curtain" class="curtain data-empty:hidden print:hidden" data-unit-base="/5055/aw-techrepublic" data-category="author"></div> <div class="wrapper flex flex-col b techrepublic-com pt-5"> <div class="flex items-center justify-center min-h-[90px]! md:min-h-[130px]! print:hidden inline-top data-empty:hidden" data-ad-slot="inline-top">  </div>    <div class="flex items-center flex-col md:flex-row gap-2 md:gap-8"> <div class="h-auto overflow-hidden rounded-full w-[77px] relative" data-lazyimage="">  <img alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2NjIpLCBxdWFsaXR5ID0gOTAK/9sAQwADAgIDAgIDAwMDBAMDBAUIBQUEBAUKBwcGCAwKDAwLCgsLDQ4SEA0OEQ4LCxAWEBETFBUVFQwPFxgWFBgSFBUU/9sAQwEDBAQFBAUJBQUJFA0LDRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgAUABQAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A8QsNRuPLt18qMIrk4x83416/qF9bRW9teRmJZpYUR5d20KCOAT2zzjpzj0rh7KK4srUrFbJPLPnyrt1w2O4HvWbqnhu/s3+029yyTBAktvcf6mcjJ2segOMY+tAHrfhOW017T3S1WSS6iA/dnC9zwo6dK1o9LW3lByHmUjam/cOfbp2ryrwp4xEF2kmq2ZtriIgb1kxKQvTg8SgYxjhumfU+hP8AFTwgUS5udThgnKk+QAyvkZzlADj8TQB6hpa3ItN6tHBuAySeQe2cc9qhlv7a0d47y4WSKVeQgGc/5z/k15npXxj0zWpWi0TS9T1u44A8qNtgPHPGRjr1I6fSl1zUfiDJBuTTtD8NqRkf2jexowyP7o3H1oA6jXtDglkSeFLhDIA0crwEEkHoSB836n61SsryPUoJdKvULbsI8cvzKwHXHv6Hsa8m1A+M41aabx74ZjkOQY31GVFP48CqE3jfx34Stftd5o9j4psVGftWk3i3CRjnk7Pm655zQAeONFj8MX9wlyN8mRtcDAI7HFYVjcHVYbm71S8LNGgS3iBwfbj0Fb+ua5qHjGxsr2/sk02w2B1hjYSFFJyAW7nn9awptAGpaxFZ2Jht5cEtPPIBH0z19aAOo0e4ltliEkjy7FO2MjOM9SPetrxv8O4vFuj2mr6TLcQParm6t/MO6VGXO9DnAPBVlOfukjvVOLTlxZ3ly7Kowksqxt5ayZ7n0r0nw5CRZz6elw7rGyXCyW/3njXJdR69d2PYjvQBxmifs82XxA8NWU81/fI5TJaK4OCPTB9K19O+APw++HwWfVpEu5U5I1C5wq+5HP8ASvYvg+Ybd7nSJXTENy8aMvAKn5lI/BhWl8Ufhz4uv7e4g8LjSbNZImxdXNos0hfHA+ZSoHuQfoaAON8Jav4S8QmTTNE8Q2VukQ+e20xTEoGcYL4yfzrtW8D6Fa6bJJcW8ToqlmZgPmHrmuP8AfBfxHo9tZNqEkb3ojb7fJDFHGjybiVKbY0wNu0Y7nJ9BXsPinwpBrHgZbIBkcsqSSLxj/PFAHxP8UL9/FmvPo+h6ZpWmWYGGu9WvY4c+6oW3H2wDmrVv4N1Pwl4O0nT7mOFbuFXdTbMSVBdirKevPX8a+hPB/7H+haVqN/PcQefLfReTcOSSsseVOCp46opyOePc5+af22viFrPw5+L1toGhvbxWEWkwN5ZhBKNvkGARyOAvFAGVMZPt1yuoYmaVPmDsd2f8axGvHtJStym6FhmONxtC9skV5Tc/G3XZHWSe1sZJlOfMMbZP/j1eg+H/H2l/EdN0NrJa6nFEouLdnDj03oe4/UUAey2M02nafeWbaqj2B2vJEPmDH1ArY8GeKF0QDUzDmO2LmS4kbYhQgjGT04rhfE3jjRvh5D/AGhqF4tr5nS3Ch5JsdVRM9Pc8D1r5z+KPx31b4ixNpVjG2i+HR1s4ny03vI3uf4Rx9cZoA+4/hr8QLLxj4mk1vSGddPuWjkiYnIYKWjJB75MbV9neFL1dRsY8hWBXkt1B/zmvzQ/Zcg1FPgla+J4V8y20fWLrTJY05JgKQzE49VabI9t9fcPw18cw3Wl201vKskTKNpVshhigD03xNd22j2hZuXchVUdyTgVm6NBNqum38GzYrZAB7EV5X4h+P2my6xe6V5IM6Zj8yYYBYDge3JBxxxk9sV53afE3xvZa6z6Rq1m1ncO3nW9zdRzSRAHA8tVbcSf91u1AH1NpurNbW6QzqFYDAfscV+Sn7cniZdd/aV8SmJi0VmlvaqfXESsf/HnI/CvrDxD8SfE/ha80zXPEmoLp2jRCVmcuQ8oUbn3J74OOnUcev5x+PPF8/jvxjrWvz5EupXclyVJ+4GYkL9AMD8KAM2abelN8P8AiOfwv4jtL+A/6tvnTs6d1P1GagLYhbFZM7ZdCPX+lAGzq+r33iLUZtQ1O6kvL2ZtzySHk/TsB6AcCqgYBTz1NIW2r7UyIhgc+tAH6A/8EtvEFh4rsPiH8MNSdVkvI4ta08t2dP3Ux9+Gh49A1ek+K/ht4r+C3iG5bSDINLLmWTTEzwSfvRHup67Rz1x6D8+f2e/i5c/Az4z+FvGVuziGwu1F3GnPmWz/ACTLjvlGbHvg9q/ea90vQ/iP4ftpZo4tQsLmNZ4JlP8ACwyGVhyMgjpQB8XfDDxja6vd62krQRXV3MHMhGdj42kFecAkD35x7107Q+PINSaDTdO0G10+QkHU2RmOM9sNnkV3XjP9jWz1e+lvtI1aS0uWGFZxtcen7xeuPdTWba/DnSfhrHcv8RfFGuy6VZQC4neyile3jXI/18kURYfQHpuJxxkA8F/ag+EOv+PvgZ4v8RafeTTW3hcxtKir8t2uVMxXgYWNCGOOMcdjX5rrEVJB7V/RdZeFfD154IuPDtnZRJoN5avbtbIhCvFIpDZzySwY5J5Oea/n6+KXgu4+HXxE8R+GLo759Iv57JnH8XluVDfiAD+NAHMFswsKyZG6+1abZ/SsqZcu2TgA0AW3kLHGaeNyDIGR1zUS4zUxIJ256dqAIpX8xvQV+z3/AATR+LyfFD9nmw0i6kP9r+F5P7Kl3H/WQqA0Df8AfBCf9sya/GBxhjX2B/wTG+K0ngb4+jwzPceTp3iy3NpgnCi6jBkgb6n94g95RQB+x+p6hFoWnzXlw7eTEu4qqlmb2AHU18u/Ezxj4hWz1vyYbLxdpurXLG4t/s4K2kYwBG6EkkqqBeQRkEsBnFfS19EdRtvnb50XGD0z618EaxrXifwxeeLviU+tw6XpzPMl1pMigG4QMQjR+jYGFJ5PHYYIB97eBLyDUfBeiXlvgRT2UMiqMHAKDj8OlfkJ/wAFL/hV/wAIF+0BNrMEeyz8RwC+BA4MwOyX/wBlP/Aq+8f2JfjYfFngXSfCeq209hrkVhLq1rbXLbpBp7XTrDvbAywVoxnHOa8r/wCCuHg9NQ+EnhbxKkYM+mao1szY5Ec0ZP8A6FGv50AflQ2Cayp4zJO+CAAen4VeafC5P5VWeFtpclQX5OTigD//2Q==" decoding="async" aria-hidden="true" class="aspect-square object-cover object-center h-auto overflow-hidden rounded-full w-[77px] absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://secure.gravatar.com/avatar/30e1c25316c4b054b8520908c7eea842?d=mm&r=g" srcset="https://secure.gravatar.com/avatar/30e1c25316c4b054b8520908c7eea842?d=mm&r=g 128w, https://secure.gravatar.com/avatar/30e1c25316c4b054b8520908c7eea842?d=mm&r=g 256w" alt="Jason Hiner" loading="lazy" fetchpriority="low" decoding="async" data-image="true" style="opacity:0" width="96" height="96" class="aspect-square object-cover object-center h-auto overflow-hidden rounded-full w-[77px] transition-opacity duration-300"> </div>  <div class="flex flex-col flex-wrap gap-2"> <h1 class="h1">Jason Hiner</h1>  <div class="hidden has-[a]:flex has-[button]:flex flex-row gap-2 mt-[10px] justify-center md:justify-start"> <astro-island uid="2h2jzd" prefix="s0" component-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/CopyFeedButton.B1xRj465.js" component-export="default" renderer-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/client.DTbfBpzl.js" props="{&quot;url&quot;:[0,&quot;https://www.techrepublic.com/author/jason-hiner/feed/&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;CopyFeedButton&quot;,&quot;value&quot;:true}" await-children=""><!--[--><!----><span class="sr-only" aria-live="polite" data-v-788e3fe6=""></span><!--]--><!--astro:end--></astro-island>       </div> </div> </div> <div class="grid md:grid-cols-12 gap-8"> <div class="md:col-span-8"> <div class="tabs" role="tablist"> <div class="border-t-2 border-secondary text-[20px]/[40px] flex"> <button class="tab text-secondary font-mono uppercase px-4 tab--active" role="tab" aria-label="Button" data-tab-trigger="about"><!----><!--[-->
About
<!--]--></button> <button class="tab text-secondary font-mono uppercase px-4" role="tab" aria-label="Button" data-tab-trigger="related-articles"><!----><!--[-->Jason's Articles
<!--]--></button> </div> <div class="py-10 styled-lists"> <div data-tab="about" class="font-sans" role="tabpanel"> <div class="prose">  <div>Jason Hiner is Editorial Director of CNET and former Editor in Chief of TechRepublic. He's co-author of the book, Follow the Geeks.</div>  </div>        </div> <div data-tab="related-articles" class="hidden" role="tabpanel">  <div> <div class="flex flex-col gap-7"> <div class="flex items-start justify-between gap-4"> <div class="text-[20px]/[28px] pt-[12px] tracking-[1.4px] font-bold uppercase grow text-secondary">  </div> <div class="hidden md:block">  </div> </div> <div> <div class="grid grid-cols-1 gap-6 md:grid-cols-3"><div class="space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/videos/add-a-drop-down-list-to-a-cell-in-microsoft-excel/">  <div class="relative w-full aspect-video"> <div class="w-full h-full relative" data-lazyimage="">  <img alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUFBQUFBQUGBgUICAcICAsKCQkKCxEMDQwNDBEaEBMQEBMQGhcbFhUWGxcpIBwcICkvJyUnLzkzMzlHREddXX0BBQUFBQUFBQYGBQgIBwgICwoJCQoLEQwNDA0MERoQExAQExAaFxsWFRYbFykgHBwgKS8nJScvOTMzOUdER11dff/AABEIAAgAEAMBIgACEQEDEQH/xABgAAEBAQAAAAAAAAAAAAAAAAAABQcQAAMAAgICAwAAAAAAAAAAAAECAwAEBQYREyExUQEBAAAAAAAAAAAAAAAAAAAABBEAAQMFAQAAAAAAAAAAAAAAAgMSMQABBAURUf/aAAwDAQACEQMRAD8Aldb67vW4+qUnJZlpUVKN5FAoJ+AhzQtLT2dPm9BiLX03q7usCSZs0/WoCt9fgxjGpanGsmJuUdzs0RbcZRGSdwSb1sXiPa//2Q==" decoding="async" aria-hidden="true" class="w-full h-full object-cover aspect-video absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://assets.techrepublic.com/uploads/2017/07/excel-drop-down.jpg?w=1024" srcset="https://assets.techrepublic.com/uploads/2017/07/excel-drop-down.jpg?w=128 128w, https://assets.techrepublic.com/uploads/2017/07/excel-drop-down.jpg?w=256 256w, https://assets.techrepublic.com/uploads/2017/07/excel-drop-down.jpg?w=512 512w" alt="Video: How to add a drop down list to a cell in Microsoft Excel" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="1024" height="531" class="w-full h-full object-cover aspect-video transition-opacity duration-300"> </div>   </div>  </a><a class="bg-primary overflow-hidden text-primary-foreground inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold hover:bg-primary/90 self-start tracking-widest text-nowrap max-w-full text-ellipsis" href="/topic/software/"> <astro-island uid="Z127LDH" prefix="s1" component-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/Ticker.B4MyYTFs.js" component-export="default" renderer-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/client.DTbfBpzl.js" props="{&quot;text&quot;:[0,&quot;Software&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">Software</span></div><!--astro:end--></astro-island> </a></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/videos/add-a-drop-down-list-to-a-cell-in-microsoft-excel/"> Video: How to add a drop down list to a cell in Microsoft Excel </a><div class="md:block hidden"><div class="font-light text-zinc-800 line-clamp-3 text-ellipsis text-[14px]"><p></p><p>Drop down lists can greatly facilitate data entry. Learn how to use Microsoft Excel’s data validation feature to create handy lists within your worksheets. Check out the article tutorial on how to add a drop down list to a cell in Excel https://www.techrepublic.com/blog/microsoft-office/how-to-add-a-drop-down-list-to-an-excel-cell/. For more Microsoft Excel tips, see https://www.techrepublic.com/article/excel-tips-every-user-should-master/.</p>
<p></p></div></div><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><div class="text-secondary font-semibold"></div><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Jun 15, 2020</div></div></div><div class="space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/videos/robots-could-get-cheaper-thanks-to-5g/">  <div class="relative w-full aspect-video"> <div class="w-full h-full relative" data-lazyimage="">  <img alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUFBQUFBQUGBgUICAcICAsKCQkKCxEMDQwNDBEaEBMQEBMQGhcbFhUWGxcpIBwcICkvJyUnLzkzMzlHREddXX0BBQUFBQUFBQYGBQgIBwgICwoJCQoLEQwNDA0MERoQExAQExAaFxsWFRYbFykgHBwgKS8nJScvOTMzOUdER11dff/AABEIAAgAEAMBIgACEQEDEQH/xABfAAEBAAAAAAAAAAAAAAAAAAAABhAAAgEEAgMAAAAAAAAAAAAAAQMCAAQFEgYRFSEiAQEAAAAAAAAAAAAAAAAAAAAFEQABBAIDAAAAAAAAAAAAAAABAgMRIQAEBTFB/9oADAMBAAIRAxEAPwCdZbckyOO8i5i7dLzF0VQYsOdKHWoO3xoascTmmW1rncbyUE2l2YXKJzbBkFDvbSfUtgPQNKU+zpshKVSqpqa6wpzkHpLZSiCR5dHP/9k=" decoding="async" aria-hidden="true" class="w-full h-full object-cover aspect-video absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://assets.techrepublic.com/uploads/2018/03/20180228petermontgomery2jason.jpg?w=1024" srcset="https://assets.techrepublic.com/uploads/2018/03/20180228petermontgomery2jason.jpg?w=128 128w, https://assets.techrepublic.com/uploads/2018/03/20180228petermontgomery2jason.jpg?w=256 256w, https://assets.techrepublic.com/uploads/2018/03/20180228petermontgomery2jason.jpg?w=512 512w" alt="Robots could get cheaper, thanks to 5G" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="1024" height="673" class="w-full h-full object-cover aspect-video transition-opacity duration-300"> </div>   </div>  </a><a class="bg-primary overflow-hidden text-primary-foreground inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold hover:bg-primary/90 self-start tracking-widest text-nowrap max-w-full text-ellipsis" href="/topic/5g/"> <astro-island uid="2n0cNx" prefix="s2" component-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/Ticker.B4MyYTFs.js" component-export="default" renderer-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/client.DTbfBpzl.js" props="{&quot;text&quot;:[0,&quot;5G&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">5G</span></div><!--astro:end--></astro-island> </a></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/videos/robots-could-get-cheaper-thanks-to-5g/"> Robots could get cheaper, thanks to 5G </a><div class="md:block hidden"><div class="font-light text-zinc-800 line-clamp-3 text-ellipsis text-[14px]"><p></p><p>A lot more processing is going to happen in the cloud because of 5G, which means manufacturers won’t have to build as much processing or intelligence into some devices.</p>
<p></p></div></div><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><div class="text-secondary font-semibold"></div><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">May 14, 2019</div></div></div><div class="space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/videos/big-ass-fans-an-inside-look-at-americas-coolest-company/">  <div class="relative w-full aspect-video"> <div class="w-full h-full relative" data-lazyimage="">  <img alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUFBQUFBQUGBgUICAcICAsKCQkKCxEMDQwNDBEaEBMQEBMQGhcbFhUWGxcpIBwcICkvJyUnLzkzMzlHREddXX0BBQUFBQUFBQYGBQgIBwgICwoJCQoLEQwNDA0MERoQExAQExAaFxsWFRYbFykgHBwgKS8nJScvOTMzOUdER11dff/AABEIAAgAEAMBIgACEQEDEQH/xABfAAEBAQAAAAAAAAAAAAAAAAAABAYQAAIBBAIDAAAAAAAAAAAAAAEDAgAEBREHEjFBgQEBAQAAAAAAAAAAAAAAAAAAAQURAAEEAwAAAAAAAAAAAAAAAAEAAhEhAwRB/9oADAMBAAIRAxEAPwDRYflraiy+WFvMfCUFhO/RmZVPm+QJ3K+1vlHSmWDUWALWI/BSlTDuZ2EQ4We2kwYpf//Z" decoding="async" aria-hidden="true" class="w-full h-full object-cover aspect-video absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://assets.techrepublic.com/uploads/2018/09/20180913-baf-7-jasonhinervideo.jpg?w=1024" srcset="https://assets.techrepublic.com/uploads/2018/09/20180913-baf-7-jasonhinervideo.jpg?w=128 128w, https://assets.techrepublic.com/uploads/2018/09/20180913-baf-7-jasonhinervideo.jpg?w=256 256w, https://assets.techrepublic.com/uploads/2018/09/20180913-baf-7-jasonhinervideo.jpg?w=512 512w" alt="Big Ass Fans: An inside look at America’s coolest company" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="1024" height="672" class="w-full h-full object-cover aspect-video transition-opacity duration-300"> </div>   </div>  </a><a class="bg-primary overflow-hidden text-primary-foreground inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold hover:bg-primary/90 self-start tracking-widest text-nowrap max-w-full text-ellipsis" href="/topic/cxo/"> <astro-island uid="1UAoeo" prefix="s3" component-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/Ticker.B4MyYTFs.js" component-export="default" renderer-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/client.DTbfBpzl.js" props="{&quot;text&quot;:[0,&quot;CXO&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">CXO</span></div><!--astro:end--></astro-island> </a></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/videos/big-ass-fans-an-inside-look-at-americas-coolest-company/"> Big Ass Fans: An inside look at America’s coolest company </a><div class="md:block hidden"><div class="font-light text-zinc-800 line-clamp-3 text-ellipsis text-[14px]"><p></p><p>From IoT, big data, branding, and management innovation, Big Ass Fans is one of America’s most creative and interesting companies. Watch Jason Hiner’s tour of its headquarters in Lexington, KY.</p>
<p></p></div></div><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><div class="text-secondary font-semibold"></div><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Jan 29, 2019</div></div></div><div class="space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/videos/the-iphone-with-a-laptop-price-tag-will-apples-iphone-xs-max-convince-business-pros-to-upgrade/">  <div class="relative w-full aspect-video"> <div class="h-full w-full bg-primary/10 flex items-center justify-center aspect-video"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-image-icon lucide-image w-12 h-12 text-primary/40" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2" ry="2" /><circle cx="9" cy="9" r="2" /><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21" /></svg></div>  </div>  </a><a class="bg-primary overflow-hidden text-primary-foreground inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold hover:bg-primary/90 self-start tracking-widest text-nowrap max-w-full text-ellipsis" href="/topic/mobility/"> <astro-island uid="Z1PAiVY" prefix="s4" component-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/Ticker.B4MyYTFs.js" component-export="default" renderer-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/client.DTbfBpzl.js" props="{&quot;text&quot;:[0,&quot;Mobility&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">Mobility</span></div><!--astro:end--></astro-island> </a></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/videos/the-iphone-with-a-laptop-price-tag-will-apples-iphone-xs-max-convince-business-pros-to-upgrade/"> The iPhone with a laptop price tag: Will Apple’s iPhone XS Max convince business pros to upgrade? </a><div class="md:block hidden"><div class="font-light text-zinc-800 line-clamp-3 text-ellipsis text-[14px]"><p></p><p>Jason Hiner and Bill Detwiler discuss Apple’s latest mobile hardware, including the most expensive iPhone ever and the increasingly health-conscious Apple Watch Series 4.</p>
<p></p></div></div><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><div class="text-secondary font-semibold"></div><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Jan 29, 2019</div></div></div><div class="space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/videos/iphone-xs-sticker-shock-two-reasons-business-pros-should-consider-apples-cheaper-iphones/">  <div class="relative w-full aspect-video"> <div class="w-full h-full relative" data-lazyimage="">  <img alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUFBQUFBQUGBgUICAcICAsKCQkKCxEMDQwNDBEaEBMQEBMQGhcbFhUWGxcpIBwcICkvJyUnLzkzMzlHREddXX0BBQUFBQUFBQYGBQgIBwgICwoJCQoLEQwNDA0MERoQExAQExAaFxsWFRYbFykgHBwgKS8nJScvOTMzOUdER11dff/AABEIAAgAEAMBIgACEQEDEQH/xABiAAEBAQAAAAAAAAAAAAAAAAAABAcQAAAEBgMBAAAAAAAAAAAAAAECBAUAAwYSEyEHESRRAQEAAAAAAAAAAAAAAAAAAAADEQACAQQDAAAAAAAAAAAAAAABAhIAETFBAxPR/9oADAMBAAIRAxEAPwDMqj48Q06ztTiBpCgzbL9uC/0iJh7PsdY/mronVcdyHehyv6Y6dM5DlU4jicJiiWQOrQJsssR6uKEIQx4UDBQTaM87oe9yrNZbzhjXtf/Z" decoding="async" aria-hidden="true" class="w-full h-full object-cover aspect-video absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://assets.techrepublic.com/uploads/2018/09/20180904-iphone-jasonbill.jpg?w=1024" srcset="https://assets.techrepublic.com/uploads/2018/09/20180904-iphone-jasonbill.jpg?w=128 128w, https://assets.techrepublic.com/uploads/2018/09/20180904-iphone-jasonbill.jpg?w=256 256w, https://assets.techrepublic.com/uploads/2018/09/20180904-iphone-jasonbill.jpg?w=512 512w" alt="iPhone XS sticker shock: Two reasons business pros should consider Apple’s cheaper iPhones" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="1024" height="674" class="w-full h-full object-cover aspect-video transition-opacity duration-300"> </div>   </div>  </a><a class="bg-primary overflow-hidden text-primary-foreground inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold hover:bg-primary/90 self-start tracking-widest text-nowrap max-w-full text-ellipsis" href="/topic/mobility/"> <astro-island uid="Z1PAiVY" prefix="s5" component-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/Ticker.B4MyYTFs.js" component-export="default" renderer-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/client.DTbfBpzl.js" props="{&quot;text&quot;:[0,&quot;Mobility&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">Mobility</span></div><!--astro:end--></astro-island> </a></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/videos/iphone-xs-sticker-shock-two-reasons-business-pros-should-consider-apples-cheaper-iphones/"> iPhone XS sticker shock: Two reasons business pros should consider Apple’s cheaper iPhones </a><div class="md:block hidden"><div class="font-light text-zinc-800 line-clamp-3 text-ellipsis text-[14px]"><p></p><p>Business pros and IT departments may choose the cheaper iPhones expected to be announced at Apple’s Sept 12 event, over iPhone XS models.</p>
<p></p></div></div><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><div class="text-secondary font-semibold"></div><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Jan 29, 2019</div></div></div><div class="space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/videos/why-digital-transformation-is-creating-opportunity-for-cios/">  <div class="relative w-full aspect-video"> <div class="w-full h-full relative" data-lazyimage="">  <img alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUFBQUFBQUGBgUICAcICAsKCQkKCxEMDQwNDBEaEBMQEBMQGhcbFhUWGxcpIBwcICkvJyUnLzkzMzlHREddXX0BBQUFBQUFBQYGBQgIBwgICwoJCQoLEQwNDA0MERoQExAQExAaFxsWFRYbFykgHBwgKS8nJScvOTMzOUdER11dff/AABEIAAkAEAMBIgACEQEDEQH/xABjAAEBAAAAAAAAAAAAAAAAAAAGBxAAAQMEAQIHAAAAAAAAAAAAAQIDBAAFBhESBxQiMjdzgbGzAQEAAAAAAAAAAAAAAAAAAAADEQACAgMBAAAAAAAAAAAAAAABAgMRAARBEv/aAAwDAQACEQMRAD8AtkrJ4lptrs5x19wNk8GojfcOPcvCnaQKCdP+pXdSY1husl83SQ88tBkAnm3rklKFAkAjROjRXMvPI99j7NT7HPVTGvn8l08ulHHrmb0xN1XMOPbd5WiKrQCm+5//2Q==" decoding="async" aria-hidden="true" class="w-full h-full object-cover aspect-video absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://assets.techrepublic.com/uploads/2018/05/20180522trmichael3jason.jpg?w=1024" srcset="https://assets.techrepublic.com/uploads/2018/05/20180522trmichael3jason.jpg?w=128 128w, https://assets.techrepublic.com/uploads/2018/05/20180522trmichael3jason.jpg?w=256 256w, https://assets.techrepublic.com/uploads/2018/05/20180522trmichael3jason.jpg?w=512 512w" alt="Why digital transformation is creating opportunity for CIOs" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="1024" height="675" class="w-full h-full object-cover aspect-video transition-opacity duration-300"> </div>   </div>  </a><a class="bg-primary overflow-hidden text-primary-foreground inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold hover:bg-primary/90 self-start tracking-widest text-nowrap max-w-full text-ellipsis" href="/topic/cxo/"> <astro-island uid="1UAoeo" prefix="s6" component-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/Ticker.B4MyYTFs.js" component-export="default" renderer-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/client.DTbfBpzl.js" props="{&quot;text&quot;:[0,&quot;CXO&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">CXO</span></div><!--astro:end--></astro-island> </a></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/videos/why-digital-transformation-is-creating-opportunity-for-cios/"> Why digital transformation is creating opportunity for CIOs </a><div class="md:block hidden"><div class="font-light text-zinc-800 line-clamp-3 text-ellipsis text-[14px]"><p></p><p>Michael Krigsman, host of CXOTalk, spoke with TechRepublic about the shifting role of the CIO.</p>
<p></p></div></div><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><div class="text-secondary font-semibold"></div><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Jan 29, 2019</div></div></div><div class="space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/videos/why-your-ability-to-learn-is-more-important-than-what-you-already-know/">  <div class="relative w-full aspect-video"> <div class="w-full h-full relative" data-lazyimage="">  <img alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUFBQUFBQUGBgUICAcICAsKCQkKCxEMDQwNDBEaEBMQEBMQGhcbFhUWGxcpIBwcICkvJyUnLzkzMzlHREddXX0BBQUFBQUFBQYGBQgIBwgICwoJCQoLEQwNDA0MERoQExAQExAaFxsWFRYbFykgHBwgKS8nJScvOTMzOUdER11dff/AABEIAAkAEAMBIgACEQEDEQH/xABnAAEBAQAAAAAAAAAAAAAAAAAHBQYQAAEDAgMJAAAAAAAAAAAAAAIBAwQABQYRQRIjMTU3c3SzwgEBAQAAAAAAAAAAAAAAAAAAAgMRAAIBBQEBAAAAAAAAAAAAAAECAwAEERLRcYH/2gAMAwEAAhEDEQA/AGJuc1AtchWjFsmYpKzsqJEJ6AI5a1MwdiCTNi3CBKeVbtH3zcV95QJWj4KuWmdY+4csZ7zHsSj+N1NLxA+KrdQCGSFg5OytkeY7RtJTOkyFQNWGD8PK/9k=" decoding="async" aria-hidden="true" class="w-full h-full object-cover aspect-video absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://assets.techrepublic.com/uploads/2018/05/20180522trtamara1jason.jpg?w=1024" srcset="https://assets.techrepublic.com/uploads/2018/05/20180522trtamara1jason.jpg?w=128 128w, https://assets.techrepublic.com/uploads/2018/05/20180522trtamara1jason.jpg?w=256 256w, https://assets.techrepublic.com/uploads/2018/05/20180522trtamara1jason.jpg?w=512 512w" alt="Why your ability to learn is more important than what you already know" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="1024" height="675" class="w-full h-full object-cover aspect-video transition-opacity duration-300"> </div>   </div>  </a><a class="bg-primary overflow-hidden text-primary-foreground inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold hover:bg-primary/90 self-start tracking-widest text-nowrap max-w-full text-ellipsis" href="/topic/tech-and-work/"> <astro-island uid="1pOcbd" prefix="s7" component-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/Ticker.B4MyYTFs.js" component-export="default" renderer-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/client.DTbfBpzl.js" props="{&quot;text&quot;:[0,&quot;Tech & Work&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">Tech &amp; Work</span></div><!--astro:end--></astro-island> </a></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/videos/why-your-ability-to-learn-is-more-important-than-what-you-already-know/"> Why your ability to learn is more important than what you already know </a><div class="md:block hidden"><div class="font-light text-zinc-800 line-clamp-3 text-ellipsis text-[14px]"><p></p><p>Tamara McCleary, the CEO of Thulium, talked with TechRepublic about why the most valuable employees are those willing to adapt and change.</p>
<p></p></div></div><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><div class="text-secondary font-semibold"></div><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Jan 29, 2019</div></div></div><div class="space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/videos/ssl-partly-responsible-for-dramatic-q1-2018-increase-in-malware-and-ransomware/">  <div class="relative w-full aspect-video"> <div class="w-full h-full relative" data-lazyimage="">  <img alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUFBQUFBQUGBgUICAcICAsKCQkKCxEMDQwNDBEaEBMQEBMQGhcbFhUWGxcpIBwcICkvJyUnLzkzMzlHREddXX0BBQUFBQUFBQYGBQgIBwgICwoJCQoLEQwNDA0MERoQExAQExAaFxsWFRYbFykgHBwgKS8nJScvOTMzOUdER11dff/AABEIAAkAEAMBIgACEQEDEQH/xABhAAEBAAAAAAAAAAAAAAAAAAAHAxAAAgIBAwMFAAAAAAAAAAAAAQIEBQMABhEHdLMSEyE1NgEBAAAAAAAAAAAAAAAAAAAAAhEAAgIDAQAAAAAAAAAAAAAAAQIDMQAEEVH/2gAMAwEAAhEDEQA/AGuT1J2zAl2WCXGzK8TkyAIjuiDGpZmDj4I0J1vUalrbeylTxYmtspTZqt1PHs4w3pIZFbkLq+8Pzu8O2bzLoEsPr9sdvJ87aU8Ko6Cz7h1pi8Uh5wEVdHP/2Q==" decoding="async" aria-hidden="true" class="w-full h-full object-cover aspect-video absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://assets.techrepublic.com/uploads/2018/04/20180420conner1jason.jpg?w=1024" srcset="https://assets.techrepublic.com/uploads/2018/04/20180420conner1jason.jpg?w=128 128w, https://assets.techrepublic.com/uploads/2018/04/20180420conner1jason.jpg?w=256 256w, https://assets.techrepublic.com/uploads/2018/04/20180420conner1jason.jpg?w=512 512w" alt="SSL partly responsible for dramatic Q1 2018 increase in malware and ransomware" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="1024" height="675" class="w-full h-full object-cover aspect-video transition-opacity duration-300"> </div>   </div>  </a><a class="bg-primary overflow-hidden text-primary-foreground inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold hover:bg-primary/90 self-start tracking-widest text-nowrap max-w-full text-ellipsis" href="/topic/security/"> <astro-island uid="ZTDA65" prefix="s8" component-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/Ticker.B4MyYTFs.js" component-export="default" renderer-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/client.DTbfBpzl.js" props="{&quot;text&quot;:[0,&quot;Security&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">Security</span></div><!--astro:end--></astro-island> </a></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/videos/ssl-partly-responsible-for-dramatic-q1-2018-increase-in-malware-and-ransomware/"> SSL partly responsible for dramatic Q1 2018 increase in malware and ransomware </a><div class="md:block hidden"><div class="font-light text-zinc-800 line-clamp-3 text-ellipsis text-[14px]"><p></p><p>At RSA 2018, Bill Conner, CEO of SonicWall talks to TechRepublic about how companies can guard against malware carried by HTTPS.</p>
<p></p></div></div><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><div class="text-secondary font-semibold"></div><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Jan 29, 2019</div></div></div><div class="space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/videos/how-smart-city-initiatives-make-a-difference-for-citizens/">  <div class="relative w-full aspect-video"> <div class="w-full h-full relative" data-lazyimage="">  <img alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUFBQUFBQUGBgUICAcICAsKCQkKCxEMDQwNDBEaEBMQEBMQGhcbFhUWGxcpIBwcICkvJyUnLzkzMzlHREddXX0BBQUFBQUFBQYGBQgIBwgICwoJCQoLEQwNDA0MERoQExAQExAaFxsWFRYbFykgHBwgKS8nJScvOTMzOUdER11dff/AABEIAAkAEAMBIgACEQEDEQH/xABlAAEBAAAAAAAAAAAAAAAAAAAGBRAAAQMEAQMFAAAAAAAAAAAAAQIDBAAFERIGIjE1QXOBsrMBAQAAAAAAAAAAAAAAAAAAAAMRAAIBAwUAAAAAAAAAAAAAAAECAwAEERQhIjFR/9oADAMBAAIRAxEAPwAVE5dJtjFvkzY03dLcpo5bUwwtKwFJ1cx1bAVNXyu3SHHHWTKU5IBwhwF3Ur9QoDCSKN3zxcH5/I0ag9o3so+tHPCtvImOQVAwB6yae0OpUswwS5TbxRX/2Q==" decoding="async" aria-hidden="true" class="w-full h-full object-cover aspect-video absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://assets.techrepublic.com/uploads/2018/05/20180430tedsmartcities2jason.jpg?w=1024" srcset="https://assets.techrepublic.com/uploads/2018/05/20180430tedsmartcities2jason.jpg?w=128 128w, https://assets.techrepublic.com/uploads/2018/05/20180430tedsmartcities2jason.jpg?w=256 256w, https://assets.techrepublic.com/uploads/2018/05/20180430tedsmartcities2jason.jpg?w=512 512w" alt="How smart city initiatives make a difference for citizens" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="1024" height="675" class="w-full h-full object-cover aspect-video transition-opacity duration-300"> </div>   </div>  </a><a class="bg-primary overflow-hidden text-primary-foreground inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold hover:bg-primary/90 self-start tracking-widest text-nowrap max-w-full text-ellipsis" href="/topic/innovation/"> <astro-island uid="Z1aFiTG" prefix="s9" component-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/Ticker.B4MyYTFs.js" component-export="default" renderer-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/client.DTbfBpzl.js" props="{&quot;text&quot;:[0,&quot;Innovation&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">Innovation</span></div><!--astro:end--></astro-island> </a></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/videos/how-smart-city-initiatives-make-a-difference-for-citizens/"> How smart city initiatives make a difference for citizens </a><div class="md:block hidden"><div class="font-light text-zinc-800 line-clamp-3 text-ellipsis text-[14px]"><p></p><p>TechRepublic’s Jason Hiner spoke with smart city expert Ted Smith about what constitutes a smart city project, and how the efforts benefit residents.</p>
<p></p></div></div><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><div class="text-secondary font-semibold"></div><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Jan 29, 2019</div></div></div><div class="space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/videos/how-to-lay-the-foundation-for-becoming-a-smart-city/">  <div class="relative w-full aspect-video"> <div class="w-full h-full relative" data-lazyimage="">  <img alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUFBQUFBQUGBgUICAcICAsKCQkKCxEMDQwNDBEaEBMQEBMQGhcbFhUWGxcpIBwcICkvJyUnLzkzMzlHREddXX0BBQUFBQUFBQYGBQgIBwgICwoJCQoLEQwNDA0MERoQExAQExAaFxsWFRYbFykgHBwgKS8nJScvOTMzOUdER11dff/AABEIAAkAEAMBIgACEQEDEQH/xABnAAEBAAAAAAAAAAAAAAAAAAAGBRAAAgIBAwEJAAAAAAAAAAAAAQIDBAAFBhESISMxNUJyc7KzAQEAAAAAAAAAAAAAAAAAAAADEQACAQMFAQAAAAAAAAAAAAABAgQAAxESFCEiMVH/2gAMAwEAAhEDEQA/ABNLeVnRo6Vm5TuOwrWImZkaCs4k4kHQ/HaSoyLLuypNMxgSy7WlI7wlzGX9QPHGH9d8mp+0/kcO0/GL4k+uHIsrHuJjsAgYA+ZNNFbcqWIwdZTj4K//2Q==" decoding="async" aria-hidden="true" class="w-full h-full object-cover aspect-video absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://assets.techrepublic.com/uploads/2018/05/20180430tedsmartcities1jason.jpg?w=1024" srcset="https://assets.techrepublic.com/uploads/2018/05/20180430tedsmartcities1jason.jpg?w=128 128w, https://assets.techrepublic.com/uploads/2018/05/20180430tedsmartcities1jason.jpg?w=256 256w, https://assets.techrepublic.com/uploads/2018/05/20180430tedsmartcities1jason.jpg?w=512 512w" alt="How to lay the foundation for becoming a smart city" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="1024" height="675" class="w-full h-full object-cover aspect-video transition-opacity duration-300"> </div>   </div>  </a><a class="bg-primary overflow-hidden text-primary-foreground inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold hover:bg-primary/90 self-start tracking-widest text-nowrap max-w-full text-ellipsis" href="/topic/innovation/"> <astro-island uid="Z1aFiTG" prefix="s10" component-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/Ticker.B4MyYTFs.js" component-export="default" renderer-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/client.DTbfBpzl.js" props="{&quot;text&quot;:[0,&quot;Innovation&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">Innovation</span></div><!--astro:end--></astro-island> </a></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/videos/how-to-lay-the-foundation-for-becoming-a-smart-city/"> How to lay the foundation for becoming a smart city </a><div class="md:block hidden"><div class="font-light text-zinc-800 line-clamp-3 text-ellipsis text-[14px]"><p></p><p>TechRepublic’s Jason Hiner talked with Ted Smith, CEO of Revon Systems, about first steps cities can take toward becoming smarter and more efficient.</p>
<p></p></div></div><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><div class="text-secondary font-semibold"></div><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Jan 29, 2019</div></div></div><div class="space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/videos/machine-learning-allowed-this-company-to-detect-meltdown-and-spectre-before-intel-broke-the-news/">  <div class="relative w-full aspect-video"> <div class="w-full h-full relative" data-lazyimage="">  <img alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUFBQUFBQUGBgUICAcICAsKCQkKCxEMDQwNDBEaEBMQEBMQGhcbFhUWGxcpIBwcICkvJyUnLzkzMzlHREddXX0BBQUFBQUFBQYGBQgIBwgICwoJCQoLEQwNDA0MERoQExAQExAaFxsWFRYbFykgHBwgKS8nJScvOTMzOUdER11dff/AABEIAAkAEAMBIgACEQEDEQH/xABhAAEBAAAAAAAAAAAAAAAAAAAHAxAAAgIBAwMFAAAAAAAAAAAAAQIEBQMABhEHdLMSEyE1NgEBAAAAAAAAAAAAAAAAAAAAAhEAAgIDAQAAAAAAAAAAAAAAAQIDMQAEEVH/2gAMAwEAAhEDEQA/AGuT1J2zAl2WCXGzK8TkyAIjuiDGpZmDj4I0J1vUalrbeylTxYmtspTZqt1PHs4w3pIZFbkLq+8Pzu8O2bzLoEsPr9sdvJ87aU8Ko6Cz7h1pi8Uh5wEVdHP/2Q==" decoding="async" aria-hidden="true" class="w-full h-full object-cover aspect-video absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://assets.techrepublic.com/uploads/2018/04/20180420conner2jason.jpg?w=1024" srcset="https://assets.techrepublic.com/uploads/2018/04/20180420conner2jason.jpg?w=128 128w, https://assets.techrepublic.com/uploads/2018/04/20180420conner2jason.jpg?w=256 256w, https://assets.techrepublic.com/uploads/2018/04/20180420conner2jason.jpg?w=512 512w" alt="Machine learning allowed this company to detect Meltdown and Spectre before Intel broke the news" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="1024" height="675" class="w-full h-full object-cover aspect-video transition-opacity duration-300"> </div>   </div>  </a><a class="bg-primary overflow-hidden text-primary-foreground inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold hover:bg-primary/90 self-start tracking-widest text-nowrap max-w-full text-ellipsis" href="/topic/security/"> <astro-island uid="ZTDA65" prefix="s11" component-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/Ticker.B4MyYTFs.js" component-export="default" renderer-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/client.DTbfBpzl.js" props="{&quot;text&quot;:[0,&quot;Security&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">Security</span></div><!--astro:end--></astro-island> </a></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/videos/machine-learning-allowed-this-company-to-detect-meltdown-and-spectre-before-intel-broke-the-news/"> Machine learning allowed this company to detect Meltdown and Spectre before Intel broke the news </a><div class="md:block hidden"><div class="font-light text-zinc-800 line-clamp-3 text-ellipsis text-[14px]"><p></p><p>At RSA 2018, Bill Conner, CEO of SonicWall, talks to TechRepublic about how AI and machine learning can help companies guard against in-memory attacks.</p>
<p></p></div></div><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><div class="text-secondary font-semibold"></div><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Jan 29, 2019</div></div></div><div class="space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/videos/why-mdm-is-a-relic-of-the-past-for-mobile-security/">  <div class="relative w-full aspect-video"> <div class="w-full h-full relative" data-lazyimage="">  <img alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUFBQUFBQUGBgUICAcICAsKCQkKCxEMDQwNDBEaEBMQEBMQGhcbFhUWGxcpIBwcICkvJyUnLzkzMzlHREddXX0BBQUFBQUFBQYGBQgIBwgICwoJCQoLEQwNDA0MERoQExAQExAaFxsWFRYbFykgHBwgKS8nJScvOTMzOUdER11dff/AABEIAAkAEAMBIgACEQEDEQH/xABjAAEBAAAAAAAAAAAAAAAAAAAGBxAAAgIBAwIHAAAAAAAAAAAAAQIEBQMABiETUQcRNDZyc7MBAQAAAAAAAAAAAAAAAAAAAAMRAAICAwEBAAAAAAAAAAAAAAECAwQAEkEFEf/aAAwDAQACEQMRAD8Af2m5IL1coyqQIMOEnqjC+PICB5cBeWJ7DU0prmBAlVu37JpRkT2bNFdmDY+m4JRO6HjkaUbu9Mv1akFj7z8PvlX/AJjS36iQGFg30tsDg+Zbaws6FQAurDvSM//Z" decoding="async" aria-hidden="true" class="w-full h-full object-cover aspect-video absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://assets.techrepublic.com/uploads/2018/04/20180418cade2rsajason.jpg?w=1024" srcset="https://assets.techrepublic.com/uploads/2018/04/20180418cade2rsajason.jpg?w=128 128w, https://assets.techrepublic.com/uploads/2018/04/20180418cade2rsajason.jpg?w=256 256w, https://assets.techrepublic.com/uploads/2018/04/20180418cade2rsajason.jpg?w=512 512w" alt="Why MDM is a relic of the past for mobile security" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="1024" height="675" class="w-full h-full object-cover aspect-video transition-opacity duration-300"> </div>   </div>  </a><a class="bg-primary overflow-hidden text-primary-foreground inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold hover:bg-primary/90 self-start tracking-widest text-nowrap max-w-full text-ellipsis" href="/topic/security/"> <astro-island uid="ZTDA65" prefix="s12" component-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/Ticker.B4MyYTFs.js" component-export="default" renderer-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/client.DTbfBpzl.js" props="{&quot;text&quot;:[0,&quot;Security&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">Security</span></div><!--astro:end--></astro-island> </a></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/videos/why-mdm-is-a-relic-of-the-past-for-mobile-security/"> Why MDM is a relic of the past for mobile security </a><div class="md:block hidden"><div class="font-light text-zinc-800 line-clamp-3 text-ellipsis text-[14px]"><p></p><p>To deal with BYOD, insecure endpoints, and data leakage, many enterprises opted for MDM solutions-but they’ve turned out to be overbearing and ineffective.</p>
<p></p></div></div><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><div class="text-secondary font-semibold"></div><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Jan 29, 2019</div></div></div></div> </div> <div class="justify-center md:hidden flex">  </div> </div> </div> <div class="flex flex-wrap justify-center items-center mt-14 text-sm text-gray-500"> <div class="flex items-center mt-4 gap-2">  <a class="min-w-8 h-8 px-2.5 py-1.25 border flex items-center justify-center rounded-full bg-primary text-primary-foreground hover:text-primary-foreground" href="/meet-the-team/us/jason-hiner/#related-articles"> 1 </a><a class="min-w-8 h-8 px-2.5 py-1.25 border flex items-center justify-center rounded-full bg-white hover:bg-primary/80 hover:text-primary-foreground text-secondary" href="/meet-the-team/us/jason-hiner/page/2/#related-articles"> 2 </a><a class="min-w-8 h-8 px-2.5 py-1.25 border flex items-center justify-center rounded-full bg-white hover:bg-primary/80 hover:text-primary-foreground text-secondary" href="/meet-the-team/us/jason-hiner/page/3/#related-articles"> 3 </a><div class="px-2">...</div><a class="min-w-8 h-8 px-2.5 py-1.25 border flex items-center justify-center rounded-full bg-white hover:bg-primary/80 hover:text-primary-foreground text-secondary" href="/meet-the-team/us/jason-hiner/page/19/#related-articles"> 19 </a> <a class="w-8 h-8 rounded-full flex items-center justify-center bg-white hover:bg-primary/80 hover:text-primary-foreground text-secondary" href="/meet-the-team/us/jason-hiner/page/2/#related-articles" aria-label="Next Page">  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right-icon lucide-chevron-right w-4 h-4" aria-hidden="true"><path d="m9 18 6-6-6-6" /></svg>  </a> </div> </div>  </div> </div>  </div> </div> <aside class="md:flex hidden md:col-span-4 space-y-8"> <div> <div class="flex flex-col gap-7"> <div class="flex items-start justify-between gap-4"> <div class="text-[20px]/[28px] pt-[12px] tracking-[1.4px] font-bold uppercase grow text-secondary border-t-2 border-secondary"> <h2>Latest Articles</h2> </div> <div class="hidden md:block">  </div> </div> <div>   <div class="space-y-5 mb-10"> <div class="flex justify-between border-t border-zinc-200"><div class="grow h-full space-y-[11px] pr-4"><a class="text-secondary hover:text-primary my-2 font-semibold line-clamp-3 text-ellipsis overflow-hidden text-[14px]/[18px]" href="/article/news-apple-m6-m7-ai-mac-roadmap/"> Apple Overhauls Chip Roadmap, Ditches M6 Pro and Max for M7 Generation </a><a class="font-mono uppercase font-bold text-xs line-clamp-2 text-ellipsis overflow-hidden tracking-[1px]" href="/topic/apple/"> Apple </a></div><a href="/article/news-apple-m6-m7-ai-mac-roadmap/"> <div class="aspect-square relative max-w-[85px] min-w-[85px]"><div class="h-full group relative" data-lazyimage="">  <img alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUFBQUFBQUGBgUICAcICAsKCQkKCxEMDQwNDBEaEBMQEBMQGhcbFhUWGxcpIBwcICkvJyUnLzkzMzlHREddXX0BBQUFBQUFBQYGBQgIBwgICwoJCQoLEQwNDA0MERoQExAQExAaFxsWFRYbFykgHBwgKS8nJScvOTMzOUdER11dff/AABEIAAoAEAMBIgACEQEDEQH/xABgAAADAQAAAAAAAAAAAAAAAAABAwUIEAAABgMAAwAAAAAAAAAAAAAAAQIDBAUSEyEGUmEBAQEAAAAAAAAAAAAAAAAAAAMEEQEBAAIDAQAAAAAAAAAAAAACAQMRADFRcf/aAAwDAQACEQMRAD8Ay/R+POXiZCm7KDH0Fk6mS7qPD2Tw8gm3g1cE224dmctzuxRIxbL4kz6YipAFJRJcoit6VvXzXBYqyY3MiJMsomtK+3c3z//Z" decoding="async" aria-hidden="true" class="object-cover h-full group absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://assets.techrepublic.com/uploads/2026/06/apple-macbook.jpg?f=jpeg&w=1024" srcset="https://assets.techrepublic.com/uploads/2026/06/apple-macbook.jpg?f=jpeg&w=128 128w, https://assets.techrepublic.com/uploads/2026/06/apple-macbook.jpg?f=jpeg&w=256 256w, https://assets.techrepublic.com/uploads/2026/06/apple-macbook.jpg?f=jpeg&w=512 512w" alt="Apple Overhauls Chip Roadmap, Ditches M6 Pro and Max for M7 Generation" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="1024" height="800" class="object-cover h-full group transition-opacity duration-300"> </div> </div> </a></div><div class="flex justify-between border-t border-zinc-200"><div class="grow h-full space-y-[11px] pr-4"><a class="text-secondary hover:text-primary my-2 font-semibold line-clamp-3 text-ellipsis overflow-hidden text-[14px]/[18px]" href="/article/news-akaolife-data-claim-emea-france/"> Hackers Claim French Employment Leak Exposes Over 1M Records, Health Data </a><a class="font-mono uppercase font-bold text-xs line-clamp-2 text-ellipsis overflow-hidden tracking-[1px]" href="/topic/security/"> Security </a></div><a href="/article/news-akaolife-data-claim-emea-france/"> <div class="aspect-square relative max-w-[85px] min-w-[85px]"><div class="h-full group relative" data-lazyimage="">  <img alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUFBQUFBQUGBgUICAcICAsKCQkKCxEMDQwNDBEaEBMQEBMQGhcbFhUWGxcpIBwcICkvJyUnLzkzMzlHREddXX0BBQUFBQUFBQYGBQgIBwgICwoJCQoLEQwNDA0MERoQExAQExAaFxsWFRYbFykgHBwgKS8nJScvOTMzOUdER11dff/AABEIAAgAEAMBIgACEQEDEQH/xABbAAEBAQAAAAAAAAAAAAAAAAAABAgQAAAGAwEAAAAAAAAAAAAAAAABAgMEEhEhMZEBAQEAAAAAAAAAAAAAAAAAAAMEEQEAAwEBAAAAAAAAAAAAAAACAAERYXH/2gAMAwEAAhEDEQA/AMpm62nZuJ9EhScSak5dC8d1UADpXteyUA4r5P/Z" decoding="async" aria-hidden="true" class="object-cover h-full group absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://assets.techrepublic.com/uploads/2026/06/DRL-Cybersecurity-06262026-1.jpg?f=jpeg&w=1024" srcset="https://assets.techrepublic.com/uploads/2026/06/DRL-Cybersecurity-06262026-1.jpg?f=jpeg&w=128 128w, https://assets.techrepublic.com/uploads/2026/06/DRL-Cybersecurity-06262026-1.jpg?f=jpeg&w=256 256w, https://assets.techrepublic.com/uploads/2026/06/DRL-Cybersecurity-06262026-1.jpg?f=jpeg&w=512 512w" alt="Hackers Claim French Employment Leak Exposes Over 1M Records, Health Data" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="1024" height="506" class="object-cover h-full group transition-opacity duration-300"> </div> </div> </a></div><div class="flex justify-between border-t border-zinc-200"><div class="grow h-full space-y-[11px] pr-4"><a class="text-secondary hover:text-primary my-2 font-semibold line-clamp-3 text-ellipsis overflow-hidden text-[14px]/[18px]" href="/article/news-openai-jalapeno-ai-inference-chip/"> OpenAI’s New Custom Chip: 5 Things You Should Know </a><a class="font-mono uppercase font-bold text-xs line-clamp-2 text-ellipsis overflow-hidden tracking-[1px]" href="/topic/artificial-intelligence/"> Artificial Intelligence </a></div><a href="/article/news-openai-jalapeno-ai-inference-chip/"> <div class="aspect-square relative max-w-[85px] min-w-[85px]"><div class="h-full group relative" data-lazyimage="">  <img alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUFBQUFBQUGBgUICAcICAsKCQkKCxEMDQwNDBEaEBMQEBMQGhcbFhUWGxcpIBwcICkvJyUnLzkzMzlHREddXX0BBQUFBQUFBQYGBQgIBwgICwoJCQoLEQwNDA0MERoQExAQExAaFxsWFRYbFykgHBwgKS8nJScvOTMzOUdER11dff/AABEIAAkAEAMBIgACEQEDEQH/xABiAAEBAQAAAAAAAAAAAAAAAAAFBgcQAAECBQIHAAAAAAAAAAAAAAIBAwAEBREhBhITNTdRc3XDAQEAAAAAAAAAAAAAAAAAAAAEEQACAgMAAAAAAAAAAAAAAAABAhEhAAMS/9oADAMBAAIRAxEAPwBJinUqotIRzYA+s0I8RbELVu9s5vBNO1QwGoahRhVgklGR3TDaqgk7usoihZXFsxByfT/UXsvkMZOnPZzyJBl1IENXyLxjbnLTNdRGf//Z" decoding="async" aria-hidden="true" class="object-cover h-full group absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://assets.techrepublic.com/uploads/2026/06/openai-jalapeno.jpg?f=jpeg&w=1024" srcset="https://assets.techrepublic.com/uploads/2026/06/openai-jalapeno.jpg?f=jpeg&w=128 128w, https://assets.techrepublic.com/uploads/2026/06/openai-jalapeno.jpg?f=jpeg&w=256 256w, https://assets.techrepublic.com/uploads/2026/06/openai-jalapeno.jpg?f=jpeg&w=512 512w" alt="OpenAI’s New Custom Chip: 5 Things You Should Know" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="1024" height="675" class="object-cover h-full group transition-opacity duration-300"> </div> </div> </a></div> </div> <div class="flex justify-center md:justify-start right-rail data-empty:hidden" data-ad-slot="right-rail">  </div>   </div> <div class="justify-center md:hidden flex">  </div> </div> </div> </aside> </div>  <div class="flex items-center justify-center min-h-[90px]! md:min-h-[130px]! print:hidden inline-bottom data-empty:hidden" data-ad-slot="inline-bottom">  </div>  </div> <footer class="site-footer bg-[#000e2a] text-white antialiased"> <div class="max-w-[1200px] mx-auto px-4 pt-12 pb-8"> <div class="grid grid-cols-1 md:grid-cols-[1fr_auto_auto] gap-x-16 gap-y-8"> <!-- Left column: Logo + socials + cookie notice --> <div> <!-- Logo --> <a href="/" class="inline-flex items-center gap-2 mb-6"> <div class="h-[40px] w-auto relative">  <img src="https://www.techrepublic.com/astrostatic/ecfc1b01/_image/?href=%2F_astro%2Ftechrepublic-white.B5d-svv5.png&w=512&h=119&f=webp" alt="TechRepublic Logo" data-image="true" style="opacity:1" loading="lazy" decoding="async" fetchpriority="auto" width="512" height="119" class="h-[40px] w-auto transition-opacity duration-300"> </div>  </a> <!-- Social icons --> <div class="mb-6"> <div class="flex gap-2 flex-wrap md:flex-nowrap"> <div> <a href="https://www.facebook.com/TechRepublic" target="_blank" rel="noopener noreferrer" class="p-4 border text-white border-white rounded-lg block" aria-label="facebook"> <svg role="img" viewBox="0 0 24 24" class="fill-current" width="24" height="24" aria-hidden="true"><title>Facebook</title><path d="M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z" /></svg> <div class="sr-only">facebook</div> </a> </div><div> <a href="https://twitter.com/techrepublic" target="_blank" rel="noopener noreferrer" class="p-4 border text-white border-white rounded-lg block" aria-label="x"> <svg role="img" viewBox="0 0 24 24" class="fill-current" width="24" height="24" aria-hidden="true"><title>X</title><path d="M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z" /></svg> <div class="sr-only">x</div> </a> </div><div> <a href="https://www.linkedin.com/company/techrepublic" target="_blank" rel="noopener noreferrer" class="p-4 border text-white border-white rounded-lg block" aria-label="linkedin"> <svg class="fill-current" viewBox="0 0 24 25" fill="none" width="24" height="24" aria-hidden="true">
    <path d="M6.20062 21.2143H1.84688V7.194H6.20062V21.2143ZM4.02141 5.2815C2.62922 5.2815 1.5 4.12838 1.5 2.73619C1.5 2.06747 1.76565 1.42614 2.2385 0.953285C2.71136 0.48043 3.35269 0.214783 4.02141 0.214783C4.69012 0.214783 5.33145 0.48043 5.80431 0.953285C6.27716 1.42614 6.54281 2.06747 6.54281 2.73619C6.54281 4.12838 5.413 5.2815 4.02141 5.2815ZM22.4953 21.2143H18.1509V14.3893C18.1509 12.7628 18.1181 10.6768 15.8873 10.6768C13.6237 10.6768 13.2769 12.444 13.2769 14.2721V21.2143H8.92781V7.194H13.1034V9.1065H13.1644C13.7456 8.00494 15.1655 6.84244 17.2838 6.84244C21.69 6.84244 22.5 9.744 22.5 13.5128V21.2143H22.4953Z" fill="currentColor" />
</svg> <div class="sr-only">linkedin</div> </a> </div><div> <a href="https://www.youtube.com/techrepublic" target="_blank" rel="noopener noreferrer" class="p-4 border text-white border-white rounded-lg block" aria-label="youtube"> <svg role="img" viewBox="0 0 24 24" class="fill-current" width="24" height="24" aria-hidden="true"><title>YouTube</title><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z" /></svg> <div class="sr-only">youtube</div> </a> </div><div> <a href="https://www.pinterest.com/techrepublic/" target="_blank" rel="noopener noreferrer" class="p-4 border text-white border-white rounded-lg block" aria-label="pinterest"> <svg role="img" viewBox="0 0 24 24" class="fill-current" width="24" height="24" aria-hidden="true"><title>Pinterest</title><path d="M12.017 0C5.396 0 .029 5.367.029 11.987c0 5.079 3.158 9.417 7.618 11.162-.105-.949-.199-2.403.041-3.439.219-.937 1.406-5.957 1.406-5.957s-.359-.72-.359-1.781c0-1.663.967-2.911 2.168-2.911 1.024 0 1.518.769 1.518 1.688 0 1.029-.653 2.567-.992 3.992-.285 1.193.6 2.165 1.775 2.165 2.128 0 3.768-2.245 3.768-5.487 0-2.861-2.063-4.869-5.008-4.869-3.41 0-5.409 2.562-5.409 5.199 0 1.033.394 2.143.889 2.741.099.12.112.225.085.345-.09.375-.293 1.199-.334 1.363-.053.225-.172.271-.401.165-1.495-.69-2.433-2.878-2.433-4.646 0-3.776 2.748-7.252 7.92-7.252 4.158 0 7.392 2.967 7.392 6.923 0 4.135-2.607 7.462-6.233 7.462-1.214 0-2.354-.629-2.758-1.379l-.749 2.848c-.269 1.045-1.004 2.352-1.498 3.146 1.123.345 2.306.535 3.55.535 6.607 0 11.985-5.365 11.985-11.987C23.97 5.39 18.592.026 11.985.026L12.017 0z" /></svg> <div class="sr-only">pinterest</div> </a> </div><div> <a href="/rssfeeds/" target="_blank" rel="noopener noreferrer" class="p-4 border text-white border-white rounded-lg block" aria-label="rss"> <svg role="img" viewBox="0 0 24 24" class="fill-current" width="24" height="24" aria-hidden="true"><title>RSS</title><path d="M19.199 24C19.199 13.467 10.533 4.8 0 4.8V0c13.165 0 24 10.835 24 24h-4.801zM3.291 17.415c1.814 0 3.293 1.479 3.293 3.295 0 1.813-1.485 3.29-3.301 3.29C1.47 24 0 22.526 0 20.71s1.475-3.294 3.291-3.295zM15.909 24h-4.665c0-6.169-5.075-11.245-11.244-11.245V8.09c8.727 0 15.909 7.184 15.909 15.91z" /></svg> <div class="sr-only">rss</div> </a> </div> </div> </div> <!-- Cookie notice --> <p class="text-[13px] text-white leading-relaxed max-w-md">
We use cookies and other data collection technologies to
                    provide the best experience for our customers. You may
                    request that your data not be shared with third parties
                    here: <a href="https://technologyadvice.com/privacy-policy/ccpa-opt-out/" target="_blank" rel="noreferrer noopener" class="underline hover:underline text-white">Do Not Sell My Data</a>.
</p> </div> <!-- Services column --> <div> <h4 class="text-[15px] font-bold text-white mb-4 mt-0"> Services </h4> <nav aria-label="Footer - Services"> <ul class="list-none m-0 p-0 space-y-2"> <li> <a href="/about/" class="text-[14px] no-underline hover:underline text-white transition-colors duration-150"> About Us </a> </li><li> <a href="/newsletters/" class="text-[14px] no-underline hover:underline text-white transition-colors duration-150"> Newsletters </a> </li><li> <a href="/rssfeeds/" class="text-[14px] no-underline hover:underline text-white transition-colors duration-150"> RSS Feeds </a> </li><li> <a href="/site-map/" class="text-[14px] no-underline hover:underline text-white transition-colors duration-150"> Site Map </a> </li><li> <a href="https://support.techrepublic.com/" class="text-[14px] no-underline hover:underline text-white transition-colors duration-150"> Site Help &amp; Feedback </a> </li><li> <a href="/forums/faq/" class="text-[14px] no-underline hover:underline text-white transition-colors duration-150"> FAQ </a> </li><li> <a href="https://solutions.technologyadvice.com/advertise-on-techrepublic/?utm_source=techrepublic&utm_medium=portfolio_footer&utm_campaign=advertise_contact-us" target="_blank" rel="noreferrer noopener" class="text-[14px] no-underline hover:underline text-white transition-colors duration-150"> Advertise </a> </li><li> <a href="https://technologyadvice.com/privacy-policy/ccpa-opt-out/" target="_blank" rel="noreferrer noopener" class="text-[14px] no-underline hover:underline text-white transition-colors duration-150"> Do Not Sell My Information </a> </li><li> <a href="https://technologyadvice.com/careers/" target="_blank" rel="noreferrer noopener" class="text-[14px] no-underline hover:underline text-white transition-colors duration-150"> Careers </a> </li> </ul> </nav> </div> <!-- Explore column --> <div> <h4 class="text-[15px] font-bold text-white mb-4 mt-0"> Explore </h4> <nav aria-label="Footer - Explore"> <ul class="list-none m-0 p-0 space-y-2"> <li> <a href="/resource-library/content-type/downloads/" class="text-[14px] no-underline hover:underline text-white transition-colors duration-150"> Downloads </a> </li><li> <a href="/forums/" class="text-[14px] no-underline hover:underline text-white transition-colors duration-150"> TechRepublic Forums </a> </li><li> <a href="https://academy.techrepublic.com/" class="text-[14px] no-underline hover:underline text-white transition-colors duration-150"> TechRepublic Academy </a> </li><li> <a href="/premium/" class="text-[14px] no-underline hover:underline text-white transition-colors duration-150"> TechRepublic Premium </a> </li><li> <a href="/resource-library/" class="text-[14px] no-underline hover:underline text-white transition-colors duration-150"> Resource Library </a> </li><li> <a href="/pictures/" class="text-[14px] no-underline hover:underline text-white transition-colors duration-150"> Photos </a> </li><li> <a href="/videos/" class="text-[14px] no-underline hover:underline text-white transition-colors duration-150"> Videos </a> </li><li> <a href="/editorial-policy/" class="text-[14px] no-underline hover:underline text-white transition-colors duration-150"> Editorial Policy </a> </li> </ul> </nav> </div> </div> </div> <!-- Bottom bar --> <div class="pb-18"> <div class="max-w-[1200px] mx-auto px-4 py-5 flex flex-col md:flex-row items-center justify-between gap-3"> <div class="flex items-center gap-4"> <a href="/terms-conditions/" class="text-[13px] no-underline hover:underline text-white transition-colors duration-150"> Legal Terms </a> <a href="/privacy-policy/" class="text-[13px] no-underline hover:underline text-white transition-colors duration-150"> Privacy Policy </a> </div> <p class="text-[13px] text-white m-0">
© 2026 TechnologyAdvice. All rights reserved.
</p> </div> <div id="choice-footer-msg" class="max-w-[1200px] mx-auto px-4 text-[12px] text-white/40"></div> </div> </footer><astro-island uid="ZBxB5E" prefix="s13" component-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/BackToTop.ByRf65Yc.js" component-export="default" renderer-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/client.DTbfBpzl.js" props="{}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;BackToTop&quot;,&quot;value&quot;:true}" await-children=""><button id="back-to-top" class="fixed right-4 z-1001 cursor-pointer transition-all duration-500 ease-in-out rounded-full hover:shadow-[0px_0px_3px_#71717a] hover:scale-105 bg-primary text-primary-foreground border-none p-0 opacity-0 translate-y-[70px]" style="bottom:calc(var(--sticky-ad-height, 0px) + 16px);" aria-label="Back to top"><svg width="48" height="48" viewBox="0 0 48 48" class="block" aria-hidden="true"><circle cx="24" cy="24" r="21" fill="none" stroke="currentColor" stroke-width="3" opacity="0.2" /><circle cx="24" cy="24" r="21" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-dasharray="131.94689145077132" stroke-dashoffset="131.94689145077132" transform="rotate(-90 24 24)" style="transition:stroke-dashoffset 150ms ease;" /></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-up-icon lucide-chevron-up absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2" aria-hidden="true"><path d="m18 15-6-6-6 6" /></svg></button><!--astro:end--></astro-island> <sticky-footer-ad class="group hide-on-empty fixed w-full bottom-0 bg-white flex justify-center items-center border-gray-200 border-t transition-transform duration-500 ease-in-out z-1000 has-[div[data-empty]]:hidden print:hidden" style="height: min-content"> <button class="absolute left-8 -top-[25px] cursor-pointer bg-white px-2 border-gray-200 border-t border-r border-l rounded-t-lg" aria-label="Toggle collapse"><!----><!--[--> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down-icon lucide-chevron-down chevron transition-transform duration-500" aria-hidden="true"><path d="m6 9 6 6 6-6" /></svg> <!--]--></button> <div class="sticky-footer data-empty:hidden" data-ad-slot="sticky-footer">  </div>  </sticky-footer-ad> <astro-island uid="4kij5" prefix="s14" component-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/LoginModal.Ce7uqs_t.js" component-export="default" renderer-url="https://www.techrepublic.com/astrostatic/ecfc1b01/_astro/client.DTbfBpzl.js" props="{}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;LoginModal&quot;,&quot;value&quot;:true}" await-children=""><!----><!--astro:end--></astro-island> <script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a12eb675def7f819',t:'MTc4MjY3MDkwMg=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body></html>