CINXE.COM
Grant Knoetze | ITPro Today
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><script async="" src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" type="text/javascript"></script><script async="" defer="" src="https://connect.facebook.net/en_US/sdk.js?xfbml=1&version=v3.2&hash=606879e94b06283a619cebf5b7449644"></script><script async="" defer="" src="https://www.instagram.com/embed.js"></script><meta name="robots" content="max-image-preview:large"/><title>Grant Knoetze | ITPro Today</title><meta name="description" content="Explore the latest news and expert commentary by Grant Knoetze, brought to you by the Contributor of ITPro Today"/><meta property="og:title" content="Grant Knoetze | ITPro Today"/><meta property="og:description" content="Explore the latest news and expert commentary by Grant Knoetze, brought to you by the Contributor of ITPro Today"/><meta property="og:url" content="https://www.itprotoday.com/author/grant-knoetze"/><meta property="og:type" content="website"/><meta property="og:image" content="https://www.itprotoday.com/assets/itprotoday-DWmeQ76g.ico"/><meta property="og:site_name" content="ITPro Today"/><link rel="canonical" href="https://www.itprotoday.com/author/grant-knoetze"/><link rel="preload" href="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt55c34441e4c5f4cf/67ae572a2ba611390a866d2b/image-1716x965_-_2025-02-13T153328.829.jpg?width=700&auto=webp&quality=10&disable=upscale&blur=40" as="image"/><link rel="preload" href="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt88f81fb36d6cbe4a/67a4e82ca4ff164b53d978f6/image-1716x965_-_2025-02-06T113039.208.jpg?width=700&auto=webp&quality=10&disable=upscale&blur=40" as="image"/><meta property="twitter:card" content="summary"/><link rel="preconnect" href="https://cdn.cookielaw.org"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><link rel="preconnect" href="https://fonts.googleapis.com" crossorigin="anonymous"/><link rel="preconnect" href="https://www.googletagmanager.com"/><link rel="icon" type="image/x-icon" href="/assets/itprotoday-DWmeQ76g.ico"/><link rel="preconnect" href="https://dev.visualwebsiteoptimizer.com"/><link rel="modulepreload" href="/assets/entry.client-fWB18xdV.js"/><link rel="modulepreload" href="/assets/chunk-K6AXKMTT-D00r_oVc.js"/><link rel="modulepreload" href="/assets/index-BlRIwUgC.js"/><link rel="modulepreload" href="/assets/with-props-C4rFUyxV.js"/><link rel="modulepreload" href="/assets/gtm-DGm0KW_T.js"/><link rel="modulepreload" href="/assets/contentPreview-raReixWB.js"/><link rel="modulepreload" href="/assets/_-BJdr63HM.js"/><link rel="modulepreload" href="/assets/useArticleProps-B5v1naMg.js"/><link rel="modulepreload" href="/assets/provider-vRHVWpv0.js"/><link rel="modulepreload" href="/assets/newsletterSignupPromo-C5ZmaayE.js"/><link rel="modulepreload" href="/assets/socialShare-BbqkDzDu.js"/><link rel="modulepreload" href="/assets/link-C1MkzDH5.js"/><link rel="modulepreload" href="/assets/button-DlgCHeeG.js"/><link rel="modulepreload" href="/assets/util-BlbSWXsE.js"/><link rel="modulepreload" href="/assets/searchBar-CEbzLjII.js"/><link rel="modulepreload" href="/assets/useSearchBar-B0qpfoK9.js"/><link rel="modulepreload" href="/assets/navigation-BPrJWSO7.js"/><link rel="modulepreload" href="/assets/redirection-DiAII56c.js"/><link rel="modulepreload" href="/assets/meta-DL0KpjEK.js"/><link rel="modulepreload" href="/assets/form-5uUV5058.js"/><link rel="modulepreload" href="/assets/root-BIuf-57F.js"/><link rel="modulepreload" href="/assets/breadcrumb-D99WjBeI.js"/><link rel="modulepreload" href="/assets/contributorSummary-CYbbZoZR.js"/><link rel="modulepreload" href="/assets/listContent-DPrFxO8G.js"/><link rel="modulepreload" href="/assets/useWeatherWidget-CqdUxz0N.js"/><link rel="modulepreload" href="/assets/utils-Bn24zYNJ.js"/><link rel="modulepreload" href="/assets/gridLayout-wIbp2Hs_.js"/><link rel="modulepreload" href="/assets/pagination-CotFOi0g.js"/><link rel="modulepreload" href="/assets/commodityPrices-CuYN6Jxx.js"/><link rel="modulepreload" href="/assets/sidebar-C38SyLXI.js"/><link rel="modulepreload" href="/assets/weatherWidget-BYzhjHC9.js"/><link rel="modulepreload" href="/assets/changeLocationBar-BNl0rC1C.js"/><link rel="modulepreload" href="/assets/contentCards-aFwo1o7S.js"/><link rel="modulepreload" href="/assets/videoPlaylist-BaLxtSEs.js"/><link rel="modulepreload" href="/assets/contentDomain.generated-DIEwSG95.js"/><link rel="modulepreload" href="/assets/toNumber-DCajaT_r.js"/><link rel="modulepreload" href="/assets/_getPrototype-3cCw-LUg.js"/><link rel="modulepreload" href="/assets/useStorage-gorQNo4e.js"/><link rel="modulepreload" href="/assets/author._slug-Dti0AzMH.js"/><script type="application/ld+json">{"@context":"https://schema.org","@type":"ProfilePage","mainEntity":{"@type":"Person","name":"Grant Knoetze","description":"Grant Knoetze is a cybersecurity analyst with a special interest in DFIR, programming languages, incident response, red-teaming, and malware analysis. His full-time job includes teaching and instructing in various topics from basic Linux all the way through to malware incident response, and other advanced topics. He is also a speaker at various conferences worldwide.","image":"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg","disambiguatingDescription":"Grant Knoetze","sameAs":["https://www.linkedin.com/in/grant-knoetze-563b0b1b6/"]}}</script><script type="text/javascript">window.NREUM||(NREUM={});NREUM.info = {"agent":"","beacon":"bam.eu01.nr-data.net","errorBeacon":"bam.eu01.nr-data.net","licenseKey":"NRJS-26ae6a3b09493bbcc87","applicationID":"514059305","agentToken":null,"applicationTime":8.507647,"transactionName":"MhBSZQoZWEEDU0ZaXgtac0QLDFlfTR9TRkUNGkIeHwpXXBYdWV1eAAFKVA==","queueTime":0,"ttGuid":"3608892ae4f0aaf5"}; (window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.eu01.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"538480682",accountID:"3936348",trustKey:"3288925",xpid:"Vw8EV1VXABAFVVVSAggEVlE=",licenseKey:"NRJS-26ae6a3b09493bbcc87",applicationID:"514059305"};;/*! For license information please see nr-loader-spa-1.281.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>p,gD:()=>m,xN:()=>g});var n=r(3333),i=r(993);const o=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var a=r(2614),s=r(944),c=r(384),u=r(8122);const d="[data-nr-mask]",l=()=>{const e={feature_flags:[],experimental:{marks:!1,measures:!1,resources:!1},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0,level:i.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{get capture_marks(){return e.feature_flags.includes(n.$v.MARKS)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(n.$v.MEASURES)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(n.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:a.wk,inactiveMs:a.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){o(t)?e.mask_selector="".concat(t,",").concat(d):""===t||null===t?e.mask_selector=d:(0,s.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){o(t)?e.block_selector+=",".concat(t):""!==t&&(0,s.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,s.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]}}},f={},h="All configuration objects require an agent identifier!";function p(e){if(!e)throw new Error(h);if(!f[e])throw new Error("Configuration for ".concat(e," was never set"));return f[e]}function g(e,t){if(!e)throw new Error(h);f[e]=(0,u.a)(t,l());const r=(0,c.nY)(e);r&&(r.init=f[e])}function m(e,t){if(!e)throw new Error(h);var r=p(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0,harvester:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.281.0",i="PROD",o="CDN",a="^2.0.0-alpha.17"},6154:(e,t,r)=>{"use strict";r.d(t,{A4:()=>s,OF:()=>d,RI:()=>i,WN:()=>h,bv:()=>o,gm:()=>a,lR:()=>f,m:()=>u,mw:()=>c,sb:()=>l});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s="complete"===a?.document?.readyState,c=Boolean("hidden"===a?.document?.visibilityState),u=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d&&"undefined"==typeof SharedWorker,f=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),h=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=g(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=v()[s[e]];p&&p.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>u});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),c&&h(c.prototype,f),h(a.gm,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(d+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{$v:()=>u,TZ:()=>n,Zp:()=>i,kd:()=>c,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3,c=["PageAction","UserAction","BrowserPerformance"],u={MARKS:"experimental.marks",MEASURES:"experimental.measures",RESOURCES:"experimental.resources"}},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log",a=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>d,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>u,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>u,SR:()=>s});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0===(0,i.gD)(e,"session_trace.enabled")}function c(e){return!0===(0,i.gD)(e,"session_replay.preload")&&s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>u,Rz:()=>d,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},3962:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,O2:()=>c,Qu:()=>u,TZ:()=>s,ih:()=>d,pP:()=>a,tC:()=>i});var n=r(860);const i=["click","keydown","submit","popstate"],o="api",a="initialPageLoad",s=n.K7.softNav,c={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},u={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},d={IP:"in progress",FIN:"finished",CAN:"cancelled"}},7378:(e,t,r)=>{"use strict";r.d(t,{$p:()=>x,BR:()=>b,Kp:()=>R,L3:()=>y,Lc:()=>c,NC:()=>o,SG:()=>d,TZ:()=>i,U6:()=>p,UT:()=>m,d3:()=>w,dT:()=>f,e5:()=>T,gx:()=>v,l9:()=>l,oW:()=>h,op:()=>g,rw:()=>u,tH:()=>A,uP:()=>s,wW:()=>E,xq:()=>a});var n=r(384);const i=r(860).K7.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=(0,n.dV)().o.ST,w="-start",R="-end",x="-body",E="cb"+R,T="jsTime",A="fetch"},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},425:(e,t,r)=>{"use strict";r.d(t,{j:()=>j});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),h=r(384),p=r(6344);const g=["setErrorHandler","finished","addToTrace","addRelease","recordCustomEvent","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],m=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(1863),b=r(2614),y=r(993),w=r(3785),R=r(2646),x=r(3434);const E=new Map;function T(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,x.YM)(i),a=new R.y(s.P);a.level=n.level,a.customAttributes=n.customAttributes;const c=t[r]?.[x.Jt]||t[r];return E.set(c,a),o.inPlace(t,[r],"wrap-logger-",(()=>E.get(c))),i}function A(){const e=(0,h.pV)();g.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const S={};var N=r(9417),_=r(5603),O=r(5284);const I=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let P=!1;function j(e,t={},g,R){let{init:x,info:E,loader_config:j,runtime:C={},exposed:k=!0}=t;C.loaderType=g;const L=(0,h.pV)();E||(x=L.init,E=L.info,j=L.loader_config),(0,N.xN)(e.agentIdentifier,x||{}),(0,_.a)(e.agentIdentifier,j||{}),E.jsAttributes??={},d.bv&&(E.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,E);const H=(0,N.D0)(e.agentIdentifier),M=[E.beacon,E.errorBeacon];P||(H.proxy.assets&&(I(H.proxy.assets),M.push(H.proxy.assets)),H.proxy.beacon&&M.push(H.proxy.beacon),A(),(0,h.US)("activatedFeatures",O.B),e.runSoftNavOverSpa&&=!0===H.soft_navigations.enabled&&H.feature_flags.includes("soft_nav")),C.denyList=[...H.ajax.deny_list||[],...H.ajax.block_internal?M:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,"api");const g={};var R=s.ee.get(e),x=R.get("tracer");S[e]=b.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t=>{S[e]=t}));var E="api-",A=E+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(E,n,!0,o||null===r?"session":void 0)(t,r)}function _(){}g.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,R),(0,w.R)(R,e,t,r)},g.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,R),T(R,e,t,{customAttributes:r,level:i})},m.forEach((e=>{g[e]=I(E,e,!0,"api")})),g.addPageAction=I(E,"addPageAction",!0,n.K7.genericEvents),g.recordCustomEvent=I(E,"recordCustomEvent",!0,n.K7.genericEvents),g.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,I(E,"setPageViewName",!0)()},g.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},g.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},g.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},g.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,R),R.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},g[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,R)},g[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,R)},g.interaction=function(e){return(new _).get("object"==typeof e?e:{})};const O=_.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,R),h||(0,a.p)(A+"tracer",[(0,v.t)(),e,r],i,n.K7.spa,R),function(){if(x.emit((o?"":"no-")+"fn-start",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw x.emit("fn-err",[arguments,this,t],r),t}finally{x.emit("fn-end",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,R),i&&(0,a.p)(e+t,[r?(0,v.t)():performance.now(),...arguments],r?null:this,i,R),r?void 0:this}}function P(){r.e(478).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),R.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{O[e]=I(A,e,void 0,h?n.K7.softNav:n.K7.spa)})),g.setCurrentRouteName=h?I(A,"routeName",void 0,n.K7.softNav):I(E,"routeName",!0,n.K7.spa),g.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,R),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!S[e]],void 0,n.K7.jserrors,R)},d.RI?(0,u.GG)((()=>P()),!0):P(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),P=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>u,K7:()=>s,P3:()=>c,XX:()=>i,qY:()=>n,v4:()=>a});const n="events",i="jserrors",o="browser/blobs",a="rum",s={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},c={[s.pageViewEvent]:1,[s.pageViewTiming]:2,[s.metrics]:3,[s.jserrors]:4,[s.spa]:5,[s.ajax]:6,[s.sessionTrace]:7,[s.softNav]:8,[s.sessionReplay]:9,[s.logging]:10,[s.genericEvents]:11},u={[s.pageViewEvent]:a,[s.pageViewTiming]:n,[s.ajax]:n,[s.spa]:n,[s.softNav]:n,[s.metrics]:i,[s.jserrors]:i,[s.sessionTrace]:o,[s.sessionReplay]:o,[s.logging]:"browser/logs",[s.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({212:"nr-spa-compressor",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.281.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.281.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={478:"sha512-jmvAlmjCn64ans8tLueqHRlBI/iWekylsDWb94A77CG0ukSriVDvgD3dThx+XjUSBBBMYhFn8B1a18fViyBPEQ==",249:"sha512-ICY/ZrcytM/86t5KFy+9OAWVYmNNJy10EBtxoSUGjQWuZx53p/eLo+L8HfrGjvHuRHRnutqLTGSnvNttffJkaA==",212:"sha512-pQSn+X/RfBOvx/49HvlghaiXMLhhDQXTi13n1N2XMpDquWJgs9U0pbqE3RbAnYC9nsdaTu/RVGvneEPv1fpCxA=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={38:0,788:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.281.0.PROD"]=self["webpackChunk:NRBA-1.281.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(){this.agentIdentifier=(0,r.LA)(16)}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}recordCustomEvent(e,t){return this.#e("recordCustomEvent",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(425);var l=i(1687),f=i(4234),h=i(5289),p=i(6154),g=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(478).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(478).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),t.runtime.harvester.initializedAggregates.push(this.featAggregate),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,g.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class w extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var R=i(384);var x=i(9908),E=i(2843),T=i(3878),A=i(782),S=i(1863);class N extends b{static featureName=A.T;constructor(e,t=!0){super(e,A.T,t),p.RI&&((0,E.u)((()=>(0,x.p)("docHidden",[(0,S.t)()],void 0,A.T,this.ee)),!0),(0,T.sp)("pagehide",(()=>(0,x.p)("winPagehide",[(0,S.t)()],void 0,A.T,this.ee))),this.importAggregator(e))}}var _=i(3969);class O extends b{static featureName=_.TZ;constructor(e,t=!0){super(e,_.TZ,t),this.importAggregator(e)}}var I=i(6774),P=i(3304);class j{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,P.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new j(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t="Unhandled Promise Rejection";if(!e?.reason)return;if(H(e.reason))try{return e.reason.message=t+": "+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+": "+r?.message,r}function L(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new j(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return H(e.error)?e.error:C(e)}function H(e){return e instanceof Error&&!!e.stack}class M extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",((e,t)=>{this.abortHandler&&(0,x.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r,t],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),p.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,x.p)("err",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),p.gm.addEventListener("error",(e=>{this.abortHandler&&(0,x.p)("err",[L(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var D=i(8990);let K=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===p.gm?0:(0,D.I)(e,U,(function(){return K++}))}function G(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,P.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(void 0===p.gm.XMLHttpRequest)return n;if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=p.gm.XMLHttpRequest,a=p.gm.MutationObserver,s=p.gm.Promise,c=p.gm.setInterval,u="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=p.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,d,"fn-",y)}),(0,T.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(g?g.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var g=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===u||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",X=Y+"body-",J=["arrayBuffer","blob","json","text","formData"],Q=p.gm.Request,ee=p.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(Q&&ee&&p.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return re[t.debugId]=1,J.forEach((e=>{r(Q[te],e,X),r(ee[te],e,X)})),r(p.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof p.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,P.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=["load","error","abort","timeout"],de=ue.length,le=(0,R.dV)().o.REQ,fe=(0,R.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,x.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};p.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};pe(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){E(t,e)}),(0,T.jT)(!1)),p.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,T.jT)(!1))}function o(e){this.params={method:e[0]},pe(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader&&(r.setRequestHeader("newrelic",i.newrelicHeader),o=!0),i.traceContextParentHeader&&(r.setRequestHeader("traceparent",i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader("tracestate",i.traceContextStateHeader),o=!0),o&&(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<de;s++)r.addEventListener(ue[s],this.listener,(0,T.jT)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function d(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function g(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&p.RI&&(t=""+p.gm.location.href):e[0]&&e[0].url?t=e[0].url:p.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,S.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:p.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),pe(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function w(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function R(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<de;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):E(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function E(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,x.p)(_.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),t.on("open-xhr-end",s),t.on("send-xhr-start",c),t.on("xhr-cb-time",u),t.on("xhr-load-added",d),t.on("xhr-load-removed",l),t.on("xhr-resolved",f),t.on("addEventListener-end",h),t.on("removeEventListener-end",g),t.on("fn-end",v),t.on("fetch-before-start",b),t.on("fetch-start",y),t.on("fn-start",m),t.on("fetch-done",w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function pe(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const ge={},me=["pushState","replaceState"];function ve(e){const t=function(e){return(e||B.ee).get("history")}(e);return!p.RI||ge[t.debugId]++||(ge[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,"-")),t}var be=i(3738);const{He:ye,bD:we,d3:Re,Kp:xe,TZ:Ee,Lc:Te,uP:Ae,Rz:Se}=be;class Ne extends b{static featureName=Ee;constructor(e,t=!0){super(e,Ee,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Ae,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Te,(function(e,t){(0,x.p)("bst",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Se+Re,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Se+xe,(function(e){(0,x.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,x.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:we,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var _e=i(2614);class Oe extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(_e.H3,"_").concat(_e.uh)))}catch(e){}(0,g.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,x.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===_e.g.FULL||e.sessionReplayMode===_e.g.ERROR)||(0,g.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(478),i.e(249)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee,agentRef:this.#o}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==_e.g.FULL&&this.featAggregate.initializeRecording(_e.g.FULL,!0):(this.#i=_e.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==_e.g.FULL&&(this.recorder.parent.mode=_e.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3962);class Pe extends b{static featureName=Ie.TZ;constructor(e,t=!0){if(super(e,Ie.TZ,t),!p.RI||!(0,R.dV)().o.MO)return;const r=ve(this.ee);Ie.tC.forEach((e=>{(0,T.sp)(e,(e=>{a(e)}),!0)}));const n=()=>(0,x.p)("newURL",[(0,S.t)(),""+window.location],void 0,this.featureName,this.ee);r.on("pushState-end",n),r.on("replaceState-end",n);try{this.removeOnAbort=new AbortController}catch(e){}(0,T.sp)("popstate",(e=>(0,x.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let i=!1;const o=new((0,R.dV)().o.MO)(((e,t)=>{i||(i=!0,requestAnimationFrame((()=>{(0,x.p)("newDom",[(0,S.t)()],void 0,this.featureName,this.ee),i=!1})))})),a=(0,v.s)((e=>{(0,x.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,{domObserver:o})}}var je=i(7378);const Ce={},ke=["appendChild","insertBefore","replaceChild"];function Le(e){const t=function(e){return(e||B.ee).get("jsonp")}(e);if(!p.RI||Ce[t.debugId])return t;Ce[t.debugId]=!0;var r=(0,W.YM)(t),n=/[?&](?:callback|cb)=([^&#]+)/,i=/(.*)\.([^.]+)/,o=/^(\w+)(\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,ke,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var o=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t&&t.length>=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,T.jT)(!1)),e.removeEventListener("error",f,(0,T.jT)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,T.jT)(!1)),e.removeEventListener("error",f,(0,T.jT)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,T.jT)(!1)),e.addEventListener("error",f,(0,T.jT)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const He={};function Me(e){const t=function(e){return(e||B.ee).get("promise")}(e);if(He[t.debugId])return t;He[t.debugId]=!0;var r=t.context,n=(0,W.YM)(t),i=p.gm.Promise;return i&&function(){function e(r){var o=t.context(),a=n(r,"executor-",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}p.gm.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),["all","race"].forEach((function(r){const n=i[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=i[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],"cb-",a,null,!1),e[1]=n(e[1],"cb-",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit("propagate",[i,!0],s,!1,!1),s},i.prototype.then[W.Jt]=o,t.on("executor-start",(function(e){e[0]=n(e[0],"resolve-",this,null,!1),e[1]=n(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const De={},Ke="setTimeout",Ue="setInterval",Ve="clearTimeout",Ge="-start",Fe=[Ke,"setImmediate",Ue,Ve,"clearImmediate"];function Be(e){const t=function(e){return(e||B.ee).get("timer")}(e);if(De[t.debugId]++)return t;De[t.debugId]=1;var r=(0,W.YM)(t);return r.inPlace(p.gm,Fe.slice(0,2),Ke+"-"),r.inPlace(p.gm,Fe.slice(2,3),Ue+"-"),r.inPlace(p.gm,Fe.slice(3),Ve+"-"),t.on(Ue+Ge,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(Ke+Ge,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}const We={};function ze(e){const t=function(e){return(e||B.ee).get("mutation")}(e);if(!p.RI||We[t.debugId])return t;We[t.debugId]=!0;var r=(0,W.YM)(t),n=p.gm.MutationObserver;return n&&(window.MutationObserver=function(e){return this instanceof n?new n(r(e,"fn-")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:qe,d3:Ze,Kp:Ye,$p:Xe,wW:$e,e5:Je,tH:Qe,uP:et,rw:tt,Lc:rt}=je;class nt extends b{static featureName=qe;constructor(e,t=!0){if(super(e,qe,t),!p.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get("tracer"),o=Le(this.ee),a=Me(this.ee),s=Be(this.ee),c=Z(this.ee),u=this.ee.get("events"),d=ne(this.ee),l=ve(this.ee),f=ze(this.ee);function h(e,t){l.emit("newURL",[""+window.location,t])}function g(){n++,r=window.location.hash,this[et]=(0,S.t)()}function m(){n--,window.location.hash!==r&&h(0,!0);var e=(0,S.t)();this[Je]=~~this[Je]+e-this[et],this[rt]=e}function v(e,t){e.on(t,(function(){this[t]=(0,S.t)()}))}this.ee.on(et,g),a.on(tt,g),o.on(tt,g),this.ee.on(rt,m),a.on($e,m),o.on($e,m),this.ee.on("fn-err",((...t)=>{t[2]?.__newrelic?.[e.agentIdentifier]||(0,x.p)("function-err",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([et,rt,"xhr-resolved"],this.featureName),u.buffer([et],this.featureName),s.buffer(["setTimeout"+Ye,"clearTimeout"+Ze,et],this.featureName),c.buffer([et,"new-xhr","send-xhr"+Ze],this.featureName),d.buffer([Qe+Ze,Qe+"-done",Qe+Xe+Ze,Qe+Xe+Ye],this.featureName),l.buffer(["newURL"],this.featureName),f.buffer([et],this.featureName),a.buffer(["propagate",tt,$e,"executor-err","resolve"+Ze],this.featureName),i.buffer([et,"no-"+et],this.featureName),o.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),v(d,Qe+Ze),v(d,Qe+"-done"),v(o,"new-jsonp"),v(o,"jsonp-end"),v(o,"cb-start"),l.on("pushState-end",h),l.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",h,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){h(0,n>1)}),(0,T.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var it=i(3333);class ot extends b{static featureName=it.TZ;constructor(e,t=!0){super(e,it.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled,e.init.performance.resources.enabled];if(p.RI&&(e.init.user_actions.enabled&&(it.Zp.forEach((e=>(0,T.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),it.qN.forEach((e=>{const t=(0,v.s)((e=>{(0,x.p)("ua",[e],void 0,this.featureName,this.ee)}),500,{leading:!0});(0,T.sp)(e,t)}))),e.init.performance.resources.enabled&&p.gm.PerformanceObserver?.supportedEntryTypes.includes("resource"))){new PerformanceObserver((e=>{e.getEntries().forEach((e=>{(0,x.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)}))})).observe({type:"resource",buffered:!0})}r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var at=i(993),st=i(3785);class ct extends b{static featureName=at.TZ;constructor(e,t=!0){super(e,at.TZ,t);const r=this.ee;this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,st.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t){super(),p.gm?(this.features={},(0,R.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(w),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,R.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[he,w,N,Ne,Oe,O,M,ot,ct,Pe,nt],loaderType:"spa"})})()})();</script><link rel="stylesheet" href="/assets/styles.generated-CmzcVq8e.css"/><link rel="stylesheet" href="/assets/brand.generated-ChPKH9i1.css"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap"/><noscript><style type="text/css">.gptHideContent { opacity: 1!important; }</style></noscript><script type="text/javascript" src="https://cdn.cookielaw.org/consent/dfd08c13-c8cf-43d1-8ccc-a1ca99dc6d5e/OtAutoBlock.js"></script><script type="text/javascript" src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" data-domain-script="dfd08c13-c8cf-43d1-8ccc-a1ca99dc6d5e"></script><script type="text/javascript" id="vwoCode">window._vwo_code = window._vwo_code || (function () { var account_id = 734041, version = 1.5, settings_tolerance = 2000, library_tolerance = 2500, use_existing_jquery = false, is_spa = 1, hide_element = 'body', hide_element_style = 'opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important',/* DO NOT EDIT BELOW THIS LINE */ f = false, d = document, vwoCodeEl = d.querySelector('#vwoCode'), code = { use_existing_jquery: function () { return use_existing_jquery }, library_tolerance: function () { return library_tolerance }, hide_element_style: function () { return '{' + hide_element_style + '}' }, finish: function () { if (!f) { f = true; var e = d.getElementById('_vis_opt_path_hides'); if (e) e.parentNode.removeChild(e) } }, finished: function () { return f }, load: function (e) { var t = d.createElement('script'); t.fetchPriority = 'high'; t.src = e; t.type = 'text/javascript'; t.onerror = function () { _vwo_code.finish() }; d.getElementsByTagName('head')[0].appendChild(t) }, getVersion: function () { return version }, getMatchedCookies: function (e) { var t = []; if (document.cookie) { t = document.cookie.match(e) || [] } return t }, getCombinationCookie: function () { var e = code.getMatchedCookies(/(?:^|;)\s?(_vis_opt_exp_\d+_combi=[^;$]*)/gi); e = e.map(function (e) { try { var t = decodeURIComponent(e); if (!/_vis_opt_exp_\d+_combi=(?:\d+,?)+\s*$/.test(t)) { return '' } return t } catch (e) { return '' } }); var i = []; e.forEach(function (e) { var t = e.match(/([\d,]+)/g); t && i.push(t.join('-')) }); return i.join('|') }, init: function () { if (d.URL.indexOf('__vwo_disable__') > -1) return; window.settings_timer = setTimeout(function () { _vwo_code.finish() }, settings_tolerance); var e = d.createElement('style'), t = hide_element ? hide_element + '{' + hide_element_style + '}' : '', i = d.getElementsByTagName('head')[0]; e.setAttribute('id', '_vis_opt_path_hides'); vwoCodeEl && e.setAttribute('nonce', vwoCodeEl.nonce); e.setAttribute('type', 'text/css'); if (e.styleSheet) e.styleSheet.cssText = t; else e.appendChild(d.createTextNode(t)); i.appendChild(e); var n = this.getCombinationCookie(); this.load('https://dev.visualwebsiteoptimizer.com/j.php?a=' + account_id + '&u=' + encodeURIComponent(d.URL) + '&f=' + +is_spa + '&vn=' + version + (n ? '&c=' + n : '')); return settings_timer } }; window._vwo_settings_timer = code.init(); return code; }()); </script></head><body class="brand-itprotoday gptHideContent"><noscript></noscript><div id="bigsky_v"></div><div id="welcome_v"></div><main data-theme="theme1" class="Provider"><div data-testid="ad_blocker" class="ads ad adsbox doubleclick ad-placement carbon-ads" style="height:1px;width:1px;position:absolute;left:-999em;top:-999em"></div><div><div data-template="layout" class="Layout"><nav data-module="navigation" aria-label="navigation" class="Navigation"><div data-testid="header" class="Navigation-HeaderWrapper"><div class="FullScreenBackground Navigation-HeaderBackground"></div><div class="Navigation-Header"><div class="InformaBarTech" data-component="informa-bar"><div class="InformaBarTech-LogoSectionWrapper"><div class="InformaBarTech-LogoSection" data-testid="informa-bar-logo-section" role="button" tabindex="0" aria-label="Open Informa bar"><div class="InformaBarTech-LogoWrapper"><img class="InformaBarTech-Logo" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAekAAABqCAYAAACYnalVAAAACXBIWXMAAAsSAAALEgHS3X78AAAPZklEQVR4nO2d320bSRKHew0/HkDe4t41jkDcCMSNwNwIpI3AdATWRmA6AksRrAzcu8UIjoxgxffDQYzAh9mtvmsPKHJIVvVUz3wfQNgWrOHM9J9fV3V11Q/fvn0Le7gJIUxDCFUI4Ur+2zKE8BxCeJDP874LQPGMpQ9M5M/635d7HmoTQngKITyGEFbyeaIbAAAcz0siXYvzbQjh4sAVtyGEhfxf6A+1EM/k81bhqdYi2nci2gAA0IKmSI9lIj12Yl6LlYVVXTZ1+8/lMzJ6krUs7PDCAAAcoCnSqwOuzH0g1GUzkwWalTg3iV6YBX0GAGA3r5KfLs4Q6CC/e8d7Lo7oPfk9o0AH+a4PYrUDAMAOokjXFvA7hRf0ViwyKIOx7BVf014AAP6IIq1pzRBEVgZRoM/xngAAgCGvZLLWiOCNXMpxHfANAg0A4JxXRoI6peFdc278AQAAZOCVkaCOaTy3aMUfAACAMbVI/4OXPCiIwAcAKIRapP8dQvgPDTYIblpkkQMAACe8lgQmP4pQ/0jD9JockfcxBeiz9K00Ucn0hb8DAMAOXie5lDWF+pGX7Q5LK3ojwWh3B7KH0S8AAI7glVQoWsuv/Kjg+t4wGbvEKsnMvZwQIL0nAIAyMZnJIrnsuUJNYJI/tM/CR96LhY44AwAYkBbYeExqRocTXd9rEpm4pBbSz8o3di/XBQAAI9ICGzOpTBQ51qLeMmm7RdvVvaUwBgCAPalIP0v07Sb5WVuh3srvUtDfJ9reDfafAQAy8KrxFSuZ0O+Tnx0S6qX8DgLtk8ogqpu4AwCADDRFOoiFVLut34QQPoll3RTqjQj5z2JBP9FYbqmUb2xNewMA5OH1nm95kn3HuPdYi/HfQgj/pG2KQjtpCMfrAAAysU+kmzA5Q8CKBgDIxy53N/QLbUua2AMAgEwg0gAAAE45xt0N/2eXdfo8ECuz79se4xZH1p5w+0NLXupP3vvQkOe4SHUg8LZZQMgERHo/Y+msUxlo9Wd04Hc20ni1mD0wmbukStpzIu18deKNLpPJ6zHXwAW3TBtzxqH5Yi195iGpHpebShIexXs+dGSzb3NcOr9XLdstZSPvYNX4qJCmBYW/iB22PoZ2qfBO1kmFqC7QbuAfOnqOc4iLrTgRWdfUjuU64yQG/WaWfI6Z3Jtspb/cZhA+zXmu6znuWCbJfHDq4vwQ22Th9XDO4iuKdDNv97mcMpF3fQ838rFstLlyR+7DCus3wzrXcRKyKC7SljhYFx26CjX7yVIxGLFqWDCpa/GxRb+o7+Or0r2EI/tiJeP55kxhfol7ub62ZT2V61qMiY28P49iXSVzvPUivclZc8DQ3d2x4eZGAy1lJEUuYkfBDW7DOGnT3INxF3W7X8tnKQN1qNZ16ladHhhzXmMfKhGia+PvuU4WmRr95Ubu23JMXCRz3MzJto+18dWG5hxwe0z/Hmp0dyWrvT9CCB8yCHTKVZJ+FXSJi5+PTgS6Sd32v0v7ax+N80q0OFcy3j6KFZdzzGmQzhnWAh0ZSX85x9MUx8TnjGPiSr6zyzkufe4uBbrJlXh/HtpmgxyaSI87GGi7GMlKiqphOsTc8Z8Lmfwvk4E6dnA/FtxIH4/CrBHf0QUe5owPJ7iQp8mY6GLBGue43ELdxaLkFN5K+xzUgCGJdAzG6FKcU0bi+sSiPo+6Xf9VqAi8lT6pXUq0K8bSHs8OLZhTmDuaM65bLuorEcevDsZETqGeFSLOKXELdO8CbAgiHQuA5HZrtyF24r5aU5aM5d19KPw5oktz4eBeTmWcLII9jrNjiUL30dmzfN4jeLEN/nC2OBoZe4ziPPB7QeLc5HqfUPdZpMcy8X113ngjjukczcTgNEDXvCt0wdYncQ5ira4c961dghdd214XrBeGEd+TnswDLwp1n0V6JRNfCVyxP92aKNCl7nHu46ogofbsoTqVeQFxDRdJZcKxiLZ3QyTI1k5ftnWsuN7lUeuzSJfm+rA6K9wnomurL6Kwi0vnQl2Kh+oUSulX8yRAqsscAMdS8pZOLt41FzMU2PDDBdb0XoYg0JFLx1sglwV5qPrKqKCTDCnMce24SxfpiLQvsKZf5q6nLu6XuMLygB4yp1EPMkq1YOgZx7xxIa4OAsm+xyqN4Uusk4T5KTF1Za5AlXfk/4aecZnkNchNWgwnrejVpijOpJHz29qL8S4eZ0Sk/YFIf0+VycOwFGu9bTL8aZL+0HLA3sk7oLIW9IWbDBb1OqlKt1JYFMRrxAjsHOlG63d0i0j/xTYpvfZSnde4irK26I6JgPytxf/RPpZxr5x3/FAO24WxCB6dS1d4TAK85obHX0YyMRAZ64dNQwCa5JorjmGb3POuvl5ltBJnBiK9SapO5Sj5eSefucwfFu/sz3zrfa6CdYhl0qjHrLJi0gDL4JmfFN1B2pWyfs5Y/EC7ylHKVtpRa9+3kv5ktW9+znv3UC1t2ai3nS6Gx40kHdNkst2HZf9osk48LW0XqZX0r67EepuISdv5ZJwU47AU6zdKi/2xvOeuKswF6bsPRqcdfhqaSK+TTnvuSutGIiwteK8oHiWLtFWf2CYJIDSJx5Ms0kiuz0iv2IVIx/J8D4bbNzlE+l6hzKjlXLGLZTLPnYr1ovPXgupPtyEuFLQXNu+HEt19L9bpRAachivkTjqaBUOpkLSPaWECHaRf3Uh/0+aykOMraxkXlWKZxS74FEL4e5KB7BzuZOFtzVIW0VMFAXyS62yM7rlvNQuscvBP+y7S9+JW0Rhou6gHwheD67YqYdYSq0FmjVVgiZVAp9zIhKmN5+MrUSAmSp6qrljKnDFXfoaFUZ8IMsZ/SbYJtHg2XBj2sbDQo8ECveqzSL9JsvJYYjFxarqYrJ/fgspoH+99xr2rmVjtmlw69LKk1luubRArPiXpTi2wOKWwTfZELbAQntDj6n/abXzZZ5HOJU5PRtb0kCtjWbiNlpmTg1hZIV5c3useiXPE2vp/lPemySjDfVssLvqaOVBdD8g4poPFKnbIdaYthKgLV/GDgYtz1vECbit7zpMeiXNOLIKlrL0rTwaLi9BjQ0R1XCDSOjBZ6VEZRJTed3hEQ9sKGXV8ZnrVs6jc3JQ6V1i0eV8NEdW5BpHW4clg/3GoWAhQl6LyaGBNE/1fLqtC54ouzyGXBiLtFDqxDtoCtHZgvWjvhZN9rGxKnCvwFrZHNUYAkdajxChqj2iLtAfX7IOy9TQaeMxC6ZR6PM1iXxoOgEjrgUifT2UQ9eklmYb2feDyLpdSvW4UeekARBo8oW0drh0tnrRFGksacoMh0gGINHhCW3g87aNp34tmVjqANiDSHUCpSvBEn0X6WSx7reNlOSvGAQydiZzrTiu2Nau3BYtxiUiDJ7STG3jb+1spnwEfs09YJFikPhkntcAr+Uy6zo6GSIMntF243ibDlXIZS7J+lQki7YMoyFP5u0U96LNBpMETmoPEquLQOXCWHqA7xpJjYCp/FpE/HJEGyIe2a7pPxS0ArJjJR9OLlQ1EGrygvR/tUbywpAHyEK3mW69u7LYg0uAFzv0CgAZzEedelMNEpAEAoA9MJQ1w0ZZzE5KZAABAyYyliM3Xvgl0wJIGAICCqSTlrnYNejdgSQMAQIlMDBIEaaB6/BNLGgAASiMm8ukiOGwri4NHSUyTfiLftL4MkQYvkN4SANpQZRbojXzfYyLM2UCkwQucIQaANjxkEOiNfM9d13MTIg19xeO5a+3c5HgfYGjcGu9BLyVSXLv++8kg0tBXtDOYaaAt0ngfYEjUC+8PRs+7lAWAu0yFRHeDJzSjIodgSQMMiYXBs9ZBYO8958HHkoa+4jEloLZIU1wDhkK96L5Sfta15Pd2XToUSxo8oS06U2fPR35ygNOYK7+3tcwP7mt7I9LgCe0B400UNe/HY71sACtmitfdikAXEXiJSIMntEXakyVdKecVJmgMhsJMeftqVtLJCEQaPNFnd7f2vSDSMBQ0x86ytFgORBq8oenGHTlyeSPSAKehOYbvSmsDRBq8ob3KvXHyfNp7aog0DAXNqO4cSUpUF+SINHhDW6Q1xfFUbpT31Dh6BUNB89jiJtNetOpRS0QavPEolqIWFw72prWteTcpCwGM0RS8XMetsKSh92iL0G2HL6wySMKASAMcT65UwareO0QaPKItQlcdWtPaqQy/UFgD4CQsC3NEtLe2EGlwyYPsH2nShTVdLwzeKl8TKxrgdKzz56vPM4g0eEX7qMSVQWrBQ2hb0ZsSj5AAOMLSozZXTlj0J4g0eGWhHEAWZJWb69z0wsC9hkADnIfVkcyJlbcOkQavPBtYoiMROusAknoieKd8za1RqT4Az2jHX1jEp4xlXjGpvIdIg2csrOlLOeZlJdS1QH82uO6CgDEYIBZJezQXu2OZT8yC0hBp8IyFNR0SodZ2fd8aCfQGKxoGzFr50S+Vto4m1gIdEGkogFuDQRoSodYIJqvkWh8UrrWLOVY0DBiLDHvXZwr1PIdAB0QaCsEq2KPeQ/oomYhO+Y6JDPQ/DBKWRL5w7AoGjlXA5LW404/Zo76R+eKj1R50k9c5vgTgTOqB9F4GhgUX4qZeyOr4Ub7zqZFKcCp7UFP5WK+iN44KhAB0xUrGgvrxJhnDX8VbdyfftUo8V1PxlE0N6lq3ApGGUliI5XpteL8jST6inYDkFLalFacHMOTOcDspiFhrGgFbWeCfvZDH3Q0lMTfan/bInHKUAP/D4qSHFVuxvFUW2Ig0lMSzdP6+C/WvJC4B+I7nDjIGnorqAhuRhtLou1Aj0AC7qcfF0vm7UR+/iDSUSBRq7wP2GGoX2S8INMBeZk7d3mbjF5GGUolC/akHLbiWZ+GoFcB+4rj3JNRby/GLSEPp1Ps/PxuUtszFJxngBIkBtGPlSKiXckTLbPwi0tAHYorPkqzqjSwuyCYGcDxdC/VWcjeoRXG/BCINfSFGf74JIdw7fqaNBJdURukOAYbCSsZR7tiUpRgFWfLpI9LQN2KKzyjWXvau1ok4ExwGoEPco/41w1hfivdr2shEaErMOOZhP6z0Pbkn5RWdlgtF+72W4pqNYj2WiNBZB5nENhJMctdx/9bsl57G6bPys+WaeLXvO9eY9DrHBRljD+JNu1FOIfolSRl8DCpj5Ydv375pXAegFGayEp4YFMXYJHm/H3KutgHgO2bJ55R828tkgd2pYYJIw9CZJEUzQvLvQ8RVdSzCwf4ygE/qMV1/YqGMXaTj2M9YDiH8F/cmbyXaV5JLAAAAAElFTkSuQmCC" alt="Logo Informa"/></div><span class="InformaBarTech-IconWrapper InformaBarTech-IconWrapper_closed"><svg viewBox="0 0 320 512" aria-hidden="true" focusable="false" role="img" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="currentColor" height="100%"><path fill="#ffffff" d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span></div><p class="InformaBarTech-LogoInfoWrapper"><span class="InformaBarTech-LogoInfo">TechTarget and Informa Tech’s Digital Business Combine.</span><span class="InformaBarTech-LogoInfo InformaBarTech-LogoInfo_isMobile">TechTarget and Informa</span></p></div><div class="InformaBarTech-TopSection InformaBarTech-TopSection_hidden"><h2 class="InformaBarTech-TopSectionTitle">TechTarget and Informa Tech’s Digital Business Combine.</h2><p class="InformaBarTech-TopSectionDescription">Together, we power an unparalleled network of 220+ online properties covering 10,000+ granular topics, serving an audience of 50+ million professionals with original, objective content from trusted sources. We help you gain critical insights and make more informed decisions across your business priorities.</p></div></div></div></div><div class="Navigation-SecondaryMenuWrapper"><div class="FullScreenBackground Navigation-SecondaryMenuBackground"></div><div class="Navigation-SecondaryMenu"><nav data-testid="SecondaryMenu" class="SecondaryMenu"><a class="SecondaryMenu-Link" href="/documents" data-discover="true">Documents</a><a class="SecondaryMenu-Link" href="/resources?page=1&types=Virtual+Event&types=Webinar" data-discover="true">Online Events</a><a class="SecondaryMenu-Link" href="/advertise" data-discover="true">Advertise</a><a class="SecondaryMenu-Link" href="/about-us" data-discover="true">About</a></nav></div></div><div style="padding-top:0px"></div><div id="navigation-header" class="Navigation-NavBase"><div data-testid="navBase" class="NavBase"><div class="NavBase-Content"><div class="FullScreenBackground NavBase-SecondaryMenuBackground"></div><div class="NavBase-HeaderWrapper"><div class="NavBase-IconsWrapper"><button data-testid="navBase-megaMenuButton" class="NavBase-MegaMenuButton" aria-label="Open Mega menu"><span data-component="icon" data-name="Bars" class="NavBase-MegaMenuIcon NavBase-MegaMenuIcon_iconVariant_small NavBase-MegaMenuIcon_iconType_bars" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='18'%20height='15'%20viewBox='0%200%2018%2015'%3e%3cpath%20id='Hamburger'%20d='M17.518,70.234H.482A.48.48,0,0,1,0,69.755V68.479A.48.48,0,0,1,.482,68H17.518a.48.48,0,0,1,.482.479v1.277A.48.48,0,0,1,17.518,70.234Zm0,6.383H.482A.48.48,0,0,1,0,76.138V74.862a.48.48,0,0,1,.482-.479H17.518a.48.48,0,0,1,.482.479v1.277A.48.48,0,0,1,17.518,76.617Zm0,6.383H.482A.48.48,0,0,1,0,82.521V81.245a.48.48,0,0,1,.482-.479H17.518a.48.48,0,0,1,.482.479v1.277A.48.48,0,0,1,17.518,83Z'%20transform='translate(0%20-68)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='18'%20height='15'%20viewBox='0%200%2018%2015'%3e%3cpath%20id='Hamburger'%20d='M17.518,70.234H.482A.48.48,0,0,1,0,69.755V68.479A.48.48,0,0,1,.482,68H17.518a.48.48,0,0,1,.482.479v1.277A.48.48,0,0,1,17.518,70.234Zm0,6.383H.482A.48.48,0,0,1,0,76.138V74.862a.48.48,0,0,1,.482-.479H17.518a.48.48,0,0,1,.482.479v1.277A.48.48,0,0,1,17.518,76.617Zm0,6.383H.482A.48.48,0,0,1,0,82.521V81.245a.48.48,0,0,1,.482-.479H17.518a.48.48,0,0,1,.482.479v1.277A.48.48,0,0,1,17.518,83Z'%20transform='translate(0%20-68)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button><button data-testid="SearchButtonDesktop" class="NavBase-SearchButtonDesktop" aria-label="Open Search"><span data-component="icon" data-name="Search" class="NavBase-SearchIcon NavBase-SearchIcon_iconVariant_large NavBase-SearchIcon_iconType_search" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='22'%20height='21.789'%20viewBox='0%200%2022%2021.789'%3e%3cg%20id='search_icon'%20data-name='search%20icon'%20transform='translate(-1387%20-125)'%3e%3cpath%20id='search_icon-2'%20data-name='search%20icon'%20d='M1395.176,138.7a5.606,5.606,0,1,1,5.661-5.606A5.626,5.626,0,0,1,1395.176,138.7Zm7.547,0h-.994l-.351-.336a8.02,8.02,0,0,0,1.975-5.27,8.154,8.154,0,1,0-2.856,6.142l.34.349v.984l6.289,6.217,1.875-1.856Z'%20transform='translate(0%200)'/%3e%3c/g%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='22'%20height='21.789'%20viewBox='0%200%2022%2021.789'%3e%3cg%20id='search_icon'%20data-name='search%20icon'%20transform='translate(-1387%20-125)'%3e%3cpath%20id='search_icon-2'%20data-name='search%20icon'%20d='M1395.176,138.7a5.606,5.606,0,1,1,5.661-5.606A5.626,5.626,0,0,1,1395.176,138.7Zm7.547,0h-.994l-.351-.336a8.02,8.02,0,0,0,1.975-5.27,8.154,8.154,0,1,0-2.856,6.142l.34.349v.984l6.289,6.217,1.875-1.856Z'%20transform='translate(0%200)'/%3e%3c/g%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button><button data-testid="SearchButtonTablet" class="NavBase-SearchButtonTablet" aria-label="Open Search in MegaMenu"><span data-component="icon" data-name="Search" class="NavBase-SearchIcon NavBase-SearchIcon_iconVariant_small NavBase-SearchIcon_iconType_search" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='22'%20height='21.789'%20viewBox='0%200%2022%2021.789'%3e%3cg%20id='search_icon'%20data-name='search%20icon'%20transform='translate(-1387%20-125)'%3e%3cpath%20id='search_icon-2'%20data-name='search%20icon'%20d='M1395.176,138.7a5.606,5.606,0,1,1,5.661-5.606A5.626,5.626,0,0,1,1395.176,138.7Zm7.547,0h-.994l-.351-.336a8.02,8.02,0,0,0,1.975-5.27,8.154,8.154,0,1,0-2.856,6.142l.34.349v.984l6.289,6.217,1.875-1.856Z'%20transform='translate(0%200)'/%3e%3c/g%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='22'%20height='21.789'%20viewBox='0%200%2022%2021.789'%3e%3cg%20id='search_icon'%20data-name='search%20icon'%20transform='translate(-1387%20-125)'%3e%3cpath%20id='search_icon-2'%20data-name='search%20icon'%20d='M1395.176,138.7a5.606,5.606,0,1,1,5.661-5.606A5.626,5.626,0,0,1,1395.176,138.7Zm7.547,0h-.994l-.351-.336a8.02,8.02,0,0,0,1.975-5.27,8.154,8.154,0,1,0-2.856,6.142l.34.349v.984l6.289,6.217,1.875-1.856Z'%20transform='translate(0%200)'/%3e%3c/g%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div><div class="NavBase-LogoWrapper"><button data-testid="navBase-LogoMegaMenuButton" class="NavBase-LogoMegaMenuButton" aria-label="Open Mega menu"><span data-component="icon" data-name="Bars" class="NavBase-LogoMegaMenuIcon NavBase-LogoMegaMenuIcon_iconVariant_small NavBase-LogoMegaMenuIcon_iconType_bars" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='18'%20height='15'%20viewBox='0%200%2018%2015'%3e%3cpath%20id='Hamburger'%20d='M17.518,70.234H.482A.48.48,0,0,1,0,69.755V68.479A.48.48,0,0,1,.482,68H17.518a.48.48,0,0,1,.482.479v1.277A.48.48,0,0,1,17.518,70.234Zm0,6.383H.482A.48.48,0,0,1,0,76.138V74.862a.48.48,0,0,1,.482-.479H17.518a.48.48,0,0,1,.482.479v1.277A.48.48,0,0,1,17.518,76.617Zm0,6.383H.482A.48.48,0,0,1,0,82.521V81.245a.48.48,0,0,1,.482-.479H17.518a.48.48,0,0,1,.482.479v1.277A.48.48,0,0,1,17.518,83Z'%20transform='translate(0%20-68)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='18'%20height='15'%20viewBox='0%200%2018%2015'%3e%3cpath%20id='Hamburger'%20d='M17.518,70.234H.482A.48.48,0,0,1,0,69.755V68.479A.48.48,0,0,1,.482,68H17.518a.48.48,0,0,1,.482.479v1.277A.48.48,0,0,1,17.518,70.234Zm0,6.383H.482A.48.48,0,0,1,0,76.138V74.862a.48.48,0,0,1,.482-.479H17.518a.48.48,0,0,1,.482.479v1.277A.48.48,0,0,1,17.518,76.617Zm0,6.383H.482A.48.48,0,0,1,0,82.521V81.245a.48.48,0,0,1,.482-.479H17.518a.48.48,0,0,1,.482.479v1.277A.48.48,0,0,1,17.518,83Z'%20transform='translate(0%20-68)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button><a class="NavBase-Logo" href="/" data-discover="true"><img data-testid="logo-image" data-component="image" class="NavBase-LogoImage" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6a28f214e959257b/65dc5966d7e7df040ab9cb3f/Logo_-_IT_Pro_Today.svg?width=476&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6a28f214e959257b/65dc5966d7e7df040ab9cb3f/Logo_-_IT_Pro_Today.svg?width=476&auto=webp&quality=80&disable=upscale" loading="lazy" alt="ITPro Today Logo" title="ITPro Today Logo"/></a></div><div class="NavBase-RegisterWrapper"><div data-module="newsletter-signup-promo"><div class="NewsletterSignupPromo-Button NewsletterSignupPromo-Button_small NewsletterSignupButton"><a data-component="button" data-testid="headerSmallNewsletterButton" class="Button Button_size_small Button_variant_primaryFilled" rel="nofollow" data-action-type="sign-up" data-name="subscribe-nav" href="https://itp-resources.itprotoday.com/c/pubRD.mpl?secure=1&sr=pp&_t=pp:&qf=w_itpb86&ch=itpsitebtn" target="_blank"><span data-component="icon" data-name="Email" class="Button-Icon Button-Icon_position_left" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='33.333'%20height='25'%20viewBox='0%200%2033.333%2025'%3e%3cpath%20id='Icon_awesome-envelope'%20data-name='Icon%20awesome-envelope'%20d='M32.7,12.755a.392.392,0,0,1,.632.306V26.375A3.126,3.126,0,0,1,30.208,29.5H3.125A3.126,3.126,0,0,1,0,26.375V13.068a.389.389,0,0,1,.632-.306c1.458,1.133,3.392,2.572,10.033,7.4,1.374,1,3.691,3.112,6,3.1,2.324.02,4.688-2.135,6.009-3.1C29.316,15.333,31.243,13.888,32.7,12.755ZM16.667,21.167c1.51.026,3.685-1.9,4.779-2.7,8.639-6.27,9.3-6.816,11.289-8.379a1.558,1.558,0,0,0,.6-1.23V7.625A3.126,3.126,0,0,0,30.208,4.5H3.125A3.126,3.126,0,0,0,0,7.625V8.862a1.567,1.567,0,0,0,.6,1.23c1.992,1.556,2.65,2.109,11.289,8.379C12.982,19.266,15.156,21.193,16.667,21.167Z'%20transform='translate(0%20-4.5)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='33.333'%20height='25'%20viewBox='0%200%2033.333%2025'%3e%3cpath%20id='Icon_awesome-envelope'%20data-name='Icon%20awesome-envelope'%20d='M32.7,12.755a.392.392,0,0,1,.632.306V26.375A3.126,3.126,0,0,1,30.208,29.5H3.125A3.126,3.126,0,0,1,0,26.375V13.068a.389.389,0,0,1,.632-.306c1.458,1.133,3.392,2.572,10.033,7.4,1.374,1,3.691,3.112,6,3.1,2.324.02,4.688-2.135,6.009-3.1C29.316,15.333,31.243,13.888,32.7,12.755ZM16.667,21.167c1.51.026,3.685-1.9,4.779-2.7,8.639-6.27,9.3-6.816,11.289-8.379a1.558,1.558,0,0,0,.6-1.23V7.625A3.126,3.126,0,0,0,30.208,4.5H3.125A3.126,3.126,0,0,0,0,7.625V8.862a1.567,1.567,0,0,0,.6,1.23c1.992,1.556,2.65,2.109,11.289,8.379C12.982,19.266,15.156,21.193,16.667,21.167Z'%20transform='translate(0%20-4.5)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span><span class="Button-ContentWrapper">Newsletter Sign-Up</span></a></div><div class="NewsletterSignupPromo-Button NewsletterSignupPromo-Button_medium NewsletterSignupButton"><div data-component="social-share" class="SocialShare SocialShare_variant_layout Layout-SocialShare"><a target="_blank" rel="noreferrer" aria-label="Facebook" class="Layout-SocialLink" href="https://www.facebook.com/ITProToday/"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Facebook" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_facebook" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%20320%20512'%3e%3cpath%20d='M279.14%20288l14.22-92.66h-88.91v-60.13c0-25.35%2012.42-50.06%2052.24-50.06h40.42V6.26S260.43%200%20225.36%200c-73.22%200-121.08%2044.38-121.08%20124.72v70.62H22.89V288h81.39v224h100.17V288z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%20320%20512'%3e%3cpath%20d='M279.14%20288l14.22-92.66h-88.91v-60.13c0-25.35%2012.42-50.06%2052.24-50.06h40.42V6.26S260.43%200%20225.36%200c-73.22%200-121.08%2044.38-121.08%20124.72v70.62H22.89V288h81.39v224h100.17V288z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Twitter" class="Layout-SocialLink" href="https://twitter.com/ITProToday"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Twitter" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_twitter" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3e%3c!--!%20Font%20Awesome%20Pro%206.4.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license%20(Commercial%20License)%20Copyright%202023%20Fonticons,%20Inc.%20--%3e%3cpath%20d='M389.2%2048h70.6L305.6%20224.2%20487%20464H345L233.7%20318.6%20106.5%20464H35.8L200.7%20275.5%2026.8%2048H172.4L272.9%20180.9%20389.2%2048zM364.4%20421.8h39.1L151.1%2088h-42L364.4%20421.8z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3e%3c!--!%20Font%20Awesome%20Pro%206.4.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license%20(Commercial%20License)%20Copyright%202023%20Fonticons,%20Inc.%20--%3e%3cpath%20d='M389.2%2048h70.6L305.6%20224.2%20487%20464H345L233.7%20318.6%20106.5%20464H35.8L200.7%20275.5%2026.8%2048H172.4L272.9%20180.9%20389.2%2048zM364.4%20421.8h39.1L151.1%2088h-42L364.4%20421.8z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Linkedin" class="Layout-SocialLink" href="https://www.linkedin.com/company/itpro-today/"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Linkedin" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_linkedin" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%20448%20512'%3e%3cpath%20d='M100.28%20448H7.4V148.9h92.88zM53.79%20108.1C24.09%20108.1%200%2083.5%200%2053.8a53.79%2053.79%200%200%201%20107.58%200c0%2029.7-24.1%2054.3-53.79%2054.3zM447.9%20448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29%200-55.69%2037.7-55.69%2076.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5%2042.69-48.3%2087.88-48.3%2094%200%20111.28%2061.9%20111.28%20142.3V448z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%20448%20512'%3e%3cpath%20d='M100.28%20448H7.4V148.9h92.88zM53.79%20108.1C24.09%20108.1%200%2083.5%200%2053.8a53.79%2053.79%200%200%201%20107.58%200c0%2029.7-24.1%2054.3-53.79%2054.3zM447.9%20448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29%200-55.69%2037.7-55.69%2076.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5%2042.69-48.3%2087.88-48.3%2094%200%20111.28%2061.9%20111.28%20142.3V448z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Youtube" class="Layout-SocialLink" href="https://www.youtube.com/channel/UCedUgT8R7qC3vsOSxXS5-ZA"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Youtube" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_youtube" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%20576%20512'%3e%3cpath%20d='M549.655%20124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781%2064%20288%2064%20288%2064S117.22%2064%2074.629%2075.486c-23.497%206.322-42.003%2024.947-48.284%2048.597-11.412%2042.867-11.412%20132.305-11.412%20132.305s0%2089.438%2011.412%20132.305c6.281%2023.65%2024.787%2041.5%2048.284%2047.821C117.22%20448%20288%20448%20288%20448s170.78%200%20213.371-11.486c23.497-6.321%2042.003-24.171%2048.284-47.821%2011.412-42.867%2011.412-132.305%2011.412-132.305s0-89.438-11.412-132.305zm-317.51%20213.508V175.185l142.739%2081.205-142.739%2081.201z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%20576%20512'%3e%3cpath%20d='M549.655%20124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781%2064%20288%2064%20288%2064S117.22%2064%2074.629%2075.486c-23.497%206.322-42.003%2024.947-48.284%2048.597-11.412%2042.867-11.412%20132.305-11.412%20132.305s0%2089.438%2011.412%20132.305c6.281%2023.65%2024.787%2041.5%2048.284%2047.821C117.22%20448%20288%20448%20288%20448s170.78%200%20213.371-11.486c23.497-6.321%2042.003-24.171%2048.284-47.821%2011.412-42.867%2011.412-132.305%2011.412-132.305s0-89.438-11.412-132.305zm-317.51%20213.508V175.185l142.739%2081.205-142.739%2081.201z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="GoogleNews" class="Layout-SocialLink" href="https://news.google.com/publications/CAAqKQgKIiNDQklTRkFnTWFoQUtEbWwwY0hKdmRHOWtZWGt1WTI5dEtBQVAB"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="GoogleNews" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_googleNews" style="mask-image:url("data:image/svg+xml,%3csvg%20id='Capa_1'%20enable-background='new%200%200%20512.288%20512.288'%20height='512'%20viewBox='0%200%20512.288%20512.288'%20width='512'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%3e%3cpath%20d='m91.734%20118.863%2012.516-62.917%20151.894%2030.213%20151.895-30.213%2012.515%2062.917%2024.09%204.791v-107.991h-377v107.991z'/%3e%3cpath%20d='m512.288%20167.697-85.399-16.987%2010.127%2050.915h37.628v155.322z'/%3e%3cpath%20d='m179.256%20101.453-51.436-10.231-4.238%2021.306z'/%3e%3cpath%20d='m406.429%20201.625-21.961-110.403-384.468%2076.475%2037.644%20189.25v-155.322z'/%3e%3cpath%20d='m444.644%20231.625h-377v265h377zm-127%20117.5h82v30h-82zm82-60v30h-82v-30zm-199.5%20162.5c-48.248%200-87.5-39.252-87.5-87.5s39.252-87.5%2087.5-87.5c22.574%200%2044.005%208.572%2060.345%2024.138l-20.692%2021.722c-10.736-10.228-24.818-15.86-39.653-15.86-31.706%200-57.5%2025.794-57.5%2057.5s25.794%2057.5%2057.5%2057.5c26.518%200%2048.901-18.046%2055.516-42.5h-55.516v-30h87.5v15c0%2048.248-39.252%2087.5-87.5%2087.5zm117.5-42.5h82v30h-82z'/%3e%3c/g%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20id='Capa_1'%20enable-background='new%200%200%20512.288%20512.288'%20height='512'%20viewBox='0%200%20512.288%20512.288'%20width='512'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%3e%3cpath%20d='m91.734%20118.863%2012.516-62.917%20151.894%2030.213%20151.895-30.213%2012.515%2062.917%2024.09%204.791v-107.991h-377v107.991z'/%3e%3cpath%20d='m512.288%20167.697-85.399-16.987%2010.127%2050.915h37.628v155.322z'/%3e%3cpath%20d='m179.256%20101.453-51.436-10.231-4.238%2021.306z'/%3e%3cpath%20d='m406.429%20201.625-21.961-110.403-384.468%2076.475%2037.644%20189.25v-155.322z'/%3e%3cpath%20d='m444.644%20231.625h-377v265h377zm-127%20117.5h82v30h-82zm82-60v30h-82v-30zm-199.5%20162.5c-48.248%200-87.5-39.252-87.5-87.5s39.252-87.5%2087.5-87.5c22.574%200%2044.005%208.572%2060.345%2024.138l-20.692%2021.722c-10.736-10.228-24.818-15.86-39.653-15.86-31.706%200-57.5%2025.794-57.5%2057.5s25.794%2057.5%2057.5%2057.5c26.518%200%2048.901-18.046%2055.516-42.5h-55.516v-30h87.5v15c0%2048.248-39.252%2087.5-87.5%2087.5zm117.5-42.5h82v30h-82z'/%3e%3c/g%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_self" rel="noreferrer" aria-label="RSS" class="Layout-SocialLink" href="https://www.itprotoday.com/rss.xml"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="RSS" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_rss" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='25'%20height='25'%20viewBox='0%200%2025%2025'%3e%3cpath%20id='Icon_awesome-rss'%20data-name='Icon%20awesome-rss'%20d='M7.147,23.676A3.574,3.574,0,1,1,3.574,20.1,3.574,3.574,0,0,1,7.147,23.676Zm9.8,2.637A16.968,16.968,0,0,0,.937,10.3.892.892,0,0,0,0,11.193v2.682a.893.893,0,0,0,.831.894,12.5,12.5,0,0,1,11.65,11.65.893.893,0,0,0,.894.831h2.682a.892.892,0,0,0,.893-.937Zm8.05.016A25.017,25.017,0,0,0,.921,2.251.892.892,0,0,0,0,3.144V5.826a.9.9,0,0,0,.862.893A20.539,20.539,0,0,1,20.531,26.388a.9.9,0,0,0,.893.862h2.682A.892.892,0,0,0,25,26.329Z'%20transform='translate(0%20-2.25)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='25'%20height='25'%20viewBox='0%200%2025%2025'%3e%3cpath%20id='Icon_awesome-rss'%20data-name='Icon%20awesome-rss'%20d='M7.147,23.676A3.574,3.574,0,1,1,3.574,20.1,3.574,3.574,0,0,1,7.147,23.676Zm9.8,2.637A16.968,16.968,0,0,0,.937,10.3.892.892,0,0,0,0,11.193v2.682a.893.893,0,0,0,.831.894,12.5,12.5,0,0,1,11.65,11.65.893.893,0,0,0,.894.831h2.682a.892.892,0,0,0,.893-.937Zm8.05.016A25.017,25.017,0,0,0,.921,2.251.892.892,0,0,0,0,3.144V5.826a.9.9,0,0,0,.862.893A20.539,20.539,0,0,1,20.531,26.388a.9.9,0,0,0,.893.862h2.682A.892.892,0,0,0,25,26.329Z'%20transform='translate(0%20-2.25)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a></div><a data-component="button" data-testid="headerMediumNewsletterButton" class="Button Button_size_medium Button_variant_primaryFilled" rel="nofollow" data-action-type="sign-up" data-name="subscribe-nav" href="https://itp-resources.itprotoday.com/c/pubRD.mpl?secure=1&sr=pp&_t=pp:&qf=w_itpb86&ch=itpsitebtn" target="_blank"><span data-component="icon" data-name="Email" class="Button-Icon Button-Icon_position_left" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='33.333'%20height='25'%20viewBox='0%200%2033.333%2025'%3e%3cpath%20id='Icon_awesome-envelope'%20data-name='Icon%20awesome-envelope'%20d='M32.7,12.755a.392.392,0,0,1,.632.306V26.375A3.126,3.126,0,0,1,30.208,29.5H3.125A3.126,3.126,0,0,1,0,26.375V13.068a.389.389,0,0,1,.632-.306c1.458,1.133,3.392,2.572,10.033,7.4,1.374,1,3.691,3.112,6,3.1,2.324.02,4.688-2.135,6.009-3.1C29.316,15.333,31.243,13.888,32.7,12.755ZM16.667,21.167c1.51.026,3.685-1.9,4.779-2.7,8.639-6.27,9.3-6.816,11.289-8.379a1.558,1.558,0,0,0,.6-1.23V7.625A3.126,3.126,0,0,0,30.208,4.5H3.125A3.126,3.126,0,0,0,0,7.625V8.862a1.567,1.567,0,0,0,.6,1.23c1.992,1.556,2.65,2.109,11.289,8.379C12.982,19.266,15.156,21.193,16.667,21.167Z'%20transform='translate(0%20-4.5)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='33.333'%20height='25'%20viewBox='0%200%2033.333%2025'%3e%3cpath%20id='Icon_awesome-envelope'%20data-name='Icon%20awesome-envelope'%20d='M32.7,12.755a.392.392,0,0,1,.632.306V26.375A3.126,3.126,0,0,1,30.208,29.5H3.125A3.126,3.126,0,0,1,0,26.375V13.068a.389.389,0,0,1,.632-.306c1.458,1.133,3.392,2.572,10.033,7.4,1.374,1,3.691,3.112,6,3.1,2.324.02,4.688-2.135,6.009-3.1C29.316,15.333,31.243,13.888,32.7,12.755ZM16.667,21.167c1.51.026,3.685-1.9,4.779-2.7,8.639-6.27,9.3-6.816,11.289-8.379a1.558,1.558,0,0,0,.6-1.23V7.625A3.126,3.126,0,0,0,30.208,4.5H3.125A3.126,3.126,0,0,0,0,7.625V8.862a1.567,1.567,0,0,0,.6,1.23c1.992,1.556,2.65,2.109,11.289,8.379C12.982,19.266,15.156,21.193,16.667,21.167Z'%20transform='translate(0%20-4.5)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span><span class="Button-ContentWrapper">Newsletter Sign-Up</span></a></div></div><button data-testid="RegisterSearchButton" class="NavBase-RegisterSearchButton" aria-label="Open Search in MegaMenu"><span data-component="icon" data-name="Search" class="NavBase-SearchIcon NavBase-SearchIcon_iconVariant_large NavBase-SearchIcon_iconType_search" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='22'%20height='21.789'%20viewBox='0%200%2022%2021.789'%3e%3cg%20id='search_icon'%20data-name='search%20icon'%20transform='translate(-1387%20-125)'%3e%3cpath%20id='search_icon-2'%20data-name='search%20icon'%20d='M1395.176,138.7a5.606,5.606,0,1,1,5.661-5.606A5.626,5.626,0,0,1,1395.176,138.7Zm7.547,0h-.994l-.351-.336a8.02,8.02,0,0,0,1.975-5.27,8.154,8.154,0,1,0-2.856,6.142l.34.349v.984l6.289,6.217,1.875-1.856Z'%20transform='translate(0%200)'/%3e%3c/g%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='22'%20height='21.789'%20viewBox='0%200%2022%2021.789'%3e%3cg%20id='search_icon'%20data-name='search%20icon'%20transform='translate(-1387%20-125)'%3e%3cpath%20id='search_icon-2'%20data-name='search%20icon'%20d='M1395.176,138.7a5.606,5.606,0,1,1,5.661-5.606A5.626,5.626,0,0,1,1395.176,138.7Zm7.547,0h-.994l-.351-.336a8.02,8.02,0,0,0,1.975-5.27,8.154,8.154,0,1,0-2.856,6.142l.34.349v.984l6.289,6.217,1.875-1.856Z'%20transform='translate(0%200)'/%3e%3c/g%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div></div><div class="NavBase-SearchWrapper"><div class="FullScreenBackground NavBase-SearchBackground"></div><button data-testid="SearchCloseButton" class="NavBase-SearchCloseButton" aria-label="Close Search"><span data-component="icon" data-name="Close" class="NavBase-SearchIcon NavBase-SearchIcon_iconVariant_medium NavBase-SearchIcon_iconType_close" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='18'%20height='18.001'%20viewBox='0%200%2018%2018.001'%3e%3cpath%20id='times'%20d='M11.685,105l6.059-6.059a.9.9,0,0,0,0-1.27L16.336,96.26a.9.9,0,0,0-1.27,0l-6.059,6.06L2.948,96.261a.9.9,0,0,0-1.27,0L.27,97.668a.9.9,0,0,0,0,1.27L6.33,105,.27,111.057a.9.9,0,0,0,0,1.27l1.408,1.408a.9.9,0,0,0,1.27,0l6.059-6.06,6.059,6.059a.9.9,0,0,0,1.27,0l1.408-1.408a.9.9,0,0,0,0-1.27Z'%20transform='translate(-0.008%20-95.998)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='18'%20height='18.001'%20viewBox='0%200%2018%2018.001'%3e%3cpath%20id='times'%20d='M11.685,105l6.059-6.059a.9.9,0,0,0,0-1.27L16.336,96.26a.9.9,0,0,0-1.27,0l-6.059,6.06L2.948,96.261a.9.9,0,0,0-1.27,0L.27,97.668a.9.9,0,0,0,0,1.27L6.33,105,.27,111.057a.9.9,0,0,0,0,1.27l1.408,1.408a.9.9,0,0,0,1.27,0l6.059-6.06,6.059,6.059a.9.9,0,0,0,1.27,0l1.408-1.408a.9.9,0,0,0,0-1.27Z'%20transform='translate(-0.008%20-95.998)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div></div></div><div class="Navigation-MainMenu"><div data-testid="mainMenu"><div class="FullScreenBackground MainMenu-BackgroundSubmenu"></div><div class="FullScreenBackground MainMenu-BackgroundMenuItem"></div><div class="MainMenu-Content"><div class="MainMenu-MegaMenuButtonWrapper"><button data-testid="mainMenu-MegaMenuButton" aria-label="Open MegaMenu" class="MainMenu-MegaMenuButton"><span data-component="icon" data-name="Bars" class="MainMenu-MegaMenuIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='18'%20height='15'%20viewBox='0%200%2018%2015'%3e%3cpath%20id='Hamburger'%20d='M17.518,70.234H.482A.48.48,0,0,1,0,69.755V68.479A.48.48,0,0,1,.482,68H17.518a.48.48,0,0,1,.482.479v1.277A.48.48,0,0,1,17.518,70.234Zm0,6.383H.482A.48.48,0,0,1,0,76.138V74.862a.48.48,0,0,1,.482-.479H17.518a.48.48,0,0,1,.482.479v1.277A.48.48,0,0,1,17.518,76.617Zm0,6.383H.482A.48.48,0,0,1,0,82.521V81.245a.48.48,0,0,1,.482-.479H17.518a.48.48,0,0,1,.482.479v1.277A.48.48,0,0,1,17.518,83Z'%20transform='translate(0%20-68)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='18'%20height='15'%20viewBox='0%200%2018%2015'%3e%3cpath%20id='Hamburger'%20d='M17.518,70.234H.482A.48.48,0,0,1,0,69.755V68.479A.48.48,0,0,1,.482,68H17.518a.48.48,0,0,1,.482.479v1.277A.48.48,0,0,1,17.518,70.234Zm0,6.383H.482A.48.48,0,0,1,0,76.138V74.862a.48.48,0,0,1,.482-.479H17.518a.48.48,0,0,1,.482.479v1.277A.48.48,0,0,1,17.518,76.617Zm0,6.383H.482A.48.48,0,0,1,0,82.521V81.245a.48.48,0,0,1,.482-.479H17.518a.48.48,0,0,1,.482.479v1.277A.48.48,0,0,1,17.518,83Z'%20transform='translate(0%20-68)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div><div class="MainMenu-ItemsWrapper" role="menu"><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of Cloud"><span class="MainMenu-MainTitle">Cloud<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='21'%20height='13'%20viewBox='0%200%2021%2013'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'%20transform='translate(21)%20rotate(90)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='21'%20height='13'%20viewBox='0%200%2021%2013'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'%20transform='translate(21)%20rotate(90)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/cloud-computing/cloud-services" data-discover="true">Cloud Services</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/cloud-computing/hybrid-cloud" data-discover="true">Hybrid Cloud</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/cloud-computing/private-cloud" data-discover="true">Private Cloud</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/cloud-computing/public-cloud" data-discover="true">Public Cloud</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" href="/cloud-computing" data-discover="true">Cloud</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" href="/cloud-computing" data-discover="true"><span class="SubMenu-SeeMoreText">SEE ALL Cloud</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/hybrid-cloud/how-to-avoid-common-hybrid-cloud-pitfalls" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">hybrid cloud spelled out above a tablet</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltbbbd88e5773ffc6b/67ac97b77c6ab0666ea09ca5/hybrid-cloud-1716x965_-_2024-12-27.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltbbbd88e5773ffc6b/67ac97b77c6ab0666ea09ca5/hybrid-cloud-1716x965_-_2024-12-27.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_hybridCloud ContentPreview-Category" href="/cloud-computing/hybrid-cloud" data-discover="true">Hybrid Cloud</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/hybrid-cloud/how-to-avoid-common-hybrid-cloud-pitfalls" data-discover="true">How to Avoid Common Hybrid Cloud Pitfalls</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/hybrid-cloud/how-to-avoid-common-hybrid-cloud-pitfalls" data-discover="true">How to Avoid Common Hybrid Cloud Pitfalls</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName Contributors-ContributorName_showComma" data-testid="contributor-name" href="/author/lisa-morgan" data-discover="true">Lisa Morgan<!-- -->, </a><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/informationweek" data-discover="true">InformationWeek</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Feb 12, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/vmware/moving-off-vmware-5-things-that-can-ruin-your-migration" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">birds flying in a V formation migrating</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blta45a8c9dbba64a0f/67aa44ccfa3009459556d2c5/cloud-migration-1716x965_-_2025-02-10.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blta45a8c9dbba64a0f/67aa44ccfa3009459556d2c5/cloud-migration-1716x965_-_2025-02-10.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_vmWare ContentPreview-Category" href="/cloud-computing/private-cloud/vmware" data-discover="true">VMWare</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/vmware/moving-off-vmware-5-things-that-can-ruin-your-migration" data-discover="true">Moving Off VMware? 5 Things That Can Ruin Your Migration</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/vmware/moving-off-vmware-5-things-that-can-ruin-your-migration" data-discover="true">Moving Off VMware? 5 Things That Can Ruin Your Migration</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/industry-perspectives" data-discover="true">Industry Perspectives</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Feb 10, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of OS"><span class="MainMenu-MainTitle">OS<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='21'%20height='13'%20viewBox='0%200%2021%2013'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'%20transform='translate(21)%20rotate(90)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='21'%20height='13'%20viewBox='0%200%2021%2013'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'%20transform='translate(21)%20rotate(90)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/operating-systems/microsoft-windows" data-discover="true">Microsoft Windows</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/operating-systems/windows-server" data-discover="true">Windows Server</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/operating-systems/powershell" data-discover="true">PowerShell</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/operating-systems/sql-server" data-discover="true">SQL Server</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/operating-systems/macos" data-discover="true">MacOS</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/operating-systems/android-os" data-discover="true">Android OS</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/operating-systems/chromeos" data-discover="true">ChromeOS</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/operating-systems/ubuntu" data-discover="true">Ubuntu</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/operating-systems/red-hat-os" data-discover="true">Red Hat OS</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" href="/operating-systems" data-discover="true">OS</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" href="/operating-systems" data-discover="true"><span class="SubMenu-SeeMoreText">See All OS</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/linux-os/beyond-the-basics-advanced-linux-hardening-techniques" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">a magnifying glass being help up to an open padlock icon that is set within rows of locked padlocks</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt55c34441e4c5f4cf/67ae572a2ba611390a866d2b/image-1716x965_-_2025-02-13T153328.829.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt55c34441e4c5f4cf/67ae572a2ba611390a866d2b/image-1716x965_-_2025-02-13T153328.829.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_linuxOs ContentPreview-Category" href="/operating-systems/linux-os" data-discover="true">Linux OS</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/linux-os/beyond-the-basics-advanced-linux-hardening-techniques" data-discover="true">Beyond the Basics: Advanced Linux Hardening Techniques</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/linux-os/beyond-the-basics-advanced-linux-hardening-techniques" data-discover="true">Beyond the Basics: Advanced Linux Hardening Techniques</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Feb 14, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>7 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/powershell/how-to-fix-network-drive-issues-in-elevated-powershell-sessions" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">an illustration of a laptop open to a PowerShell session with an overlay of text that says fix powershell mapped drive issue</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blta4f99c73f4ce4151/67acbf0caff11157e688512b/hero_powershell_screenshots_(1716_x_965_px).png?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blta4f99c73f4ce4151/67acbf0caff11157e688512b/hero_powershell_screenshots_(1716_x_965_px).png?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_powerShell ContentPreview-Category" href="/operating-systems/powershell" data-discover="true">PowerShell</a><a class="ContentPreview-IconWrapper" title="Link to all video" data-testid="content-preview-icon-link" href="/videos" data-discover="true"><span data-component="icon" data-name="Play" class="ContentPreview-Icon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='20'%20height='23'%20viewBox='0%200%2020%2023'%3e%3cpath%20id='Icon_awesome-play'%20data-name='Icon%20awesome-play'%20d='M18.947,9.645,3.232.3A2.131,2.131,0,0,0,0,2.152V20.844A2.141,2.141,0,0,0,3.232,22.7l15.715-9.343A2.161,2.161,0,0,0,18.947,9.645Z'%20transform='translate(0%20-0.002)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='20'%20height='23'%20viewBox='0%200%2020%2023'%3e%3cpath%20id='Icon_awesome-play'%20data-name='Icon%20awesome-play'%20d='M18.947,9.645,3.232.3A2.131,2.131,0,0,0,0,2.152V20.844A2.141,2.141,0,0,0,3.232,22.7l15.715-9.343A2.161,2.161,0,0,0,18.947,9.645Z'%20transform='translate(0%20-0.002)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/powershell/how-to-fix-network-drive-issues-in-elevated-powershell-sessions" data-discover="true">How To Fix Network Drive Issues in Elevated PowerShell Sessions</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/powershell/how-to-fix-network-drive-issues-in-elevated-powershell-sessions" data-discover="true">How To Fix Network Drive Issues in Elevated PowerShell Sessions</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/brien-posey" data-discover="true">Brien Posey</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Feb 13, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>12 Min<!-- --> <!-- -->View</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of IT Mgmt"><span class="MainMenu-MainTitle">IT Mgmt<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='21'%20height='13'%20viewBox='0%200%2021%2013'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'%20transform='translate(21)%20rotate(90)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='21'%20height='13'%20viewBox='0%200%2021%2013'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'%20transform='translate(21)%20rotate(90)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/it-management/it-operations" data-discover="true">IT Operations</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/it-management/devops" data-discover="true">DevOps</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/it-management/ops-and-more" data-discover="true">Ops and More</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/it-management/it-sustainability" data-discover="true">IT Sustainability</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/it-management/it-automation" data-discover="true">IT Automation</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" href="/it-management" data-discover="true">IT Mgmt</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" href="/it-management" data-discover="true"><span class="SubMenu-SeeMoreText">See All IT Mgmt</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/it-operations/rethink-retain-revise-modernizing-legacy-technology-in-2025" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">legacy system concept art</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt25e3c89a04824976/67a39988e7f8850fe4b1a343/legacy-systems-1716x965_-_2025-02-05.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt25e3c89a04824976/67a39988e7f8850fe4b1a343/legacy-systems-1716x965_-_2025-02-05.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_itOperations ContentPreview-Category" href="/it-management/it-operations" data-discover="true">IT Operations</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/it-operations/rethink-retain-revise-modernizing-legacy-technology-in-2025" data-discover="true">Rethink, Retain, Revise: Modernizing Legacy Technology in 2025</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/it-operations/rethink-retain-revise-modernizing-legacy-technology-in-2025" data-discover="true">Rethink, Retain, Revise: Modernizing Legacy Technology in 2025</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/industry-perspectives" data-discover="true">Industry Perspectives</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Feb 5, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/it-operations/accessibility-is-still-vital-for-businesses" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">accessibility key on keyboard</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb2ffdd0054e1271e/67a3663f06b7ea6c8a710f30/accessibility-1716x965_-_2025-02-05.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb2ffdd0054e1271e/67a3663f06b7ea6c8a710f30/accessibility-1716x965_-_2025-02-05.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_itOperations ContentPreview-Category" href="/it-management/it-operations" data-discover="true">IT Operations</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/it-operations/accessibility-is-still-vital-for-businesses" data-discover="true">Accessibility Is Still Vital for Businesses</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/it-operations/accessibility-is-still-vital-for-businesses" data-discover="true">Accessibility Is Still Vital for Businesses</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/forrester-blog-network" data-discover="true">Forrester Blog Network</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Feb 5, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>3 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of Career"><span class="MainMenu-MainTitle">Career<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='21'%20height='13'%20viewBox='0%200%2021%2013'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'%20transform='translate(21)%20rotate(90)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='21'%20height='13'%20viewBox='0%200%2021%2013'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'%20transform='translate(21)%20rotate(90)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/career-management/career-tips" data-discover="true">Career Tips</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/career-management/certifications" data-discover="true">Certifications</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/career-management/training" data-discover="true">Training</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" href="/career-management" data-discover="true">Career</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" href="/career-management" data-discover="true"><span class="SubMenu-SeeMoreText">See All Career Mgmt</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/software-development/process-standardization-is-stifling-my-creativity" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">an annoyed-looking software developer is covered by red tape and the words "process compliance"</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt9559a8f9078d3a4e/67aa33c656339648630cc13d/Process_Compliance_(1).gif?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt9559a8f9078d3a4e/67aa33c656339648630cc13d/Process_Compliance_(1).gif?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_softwareDevelopment ContentPreview-Category" href="/software-development" data-discover="true">Software Development</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/software-development/process-standardization-is-stifling-my-creativity" data-discover="true">Process Standardization Is Stifling My Creativity</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/software-development/process-standardization-is-stifling-my-creativity" data-discover="true">Process Standardization Is Stifling My Creativity</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/danielle-meinert" data-discover="true">Danielle Meinert</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Feb 11, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>3 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/career-management/tech-company-layoffs-the-covid-tech-bubble-bursts" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">balloon popped by pin</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltc0f0118637589aa8/6617f8529ff5daa897795e23/balloon.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltc0f0118637589aa8/6617f8529ff5daa897795e23/balloon.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_careerManagement ContentPreview-Category" href="/career-management" data-discover="true">Career Management</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/career-management/tech-company-layoffs-the-covid-tech-bubble-bursts" data-discover="true">Tech Company Layoffs: The COVID Tech Bubble Bursts</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/career-management/tech-company-layoffs-the-covid-tech-bubble-bursts" data-discover="true">Tech Company Layoffs: The COVID Tech Bubble Bursts</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName Contributors-ContributorName_showComma" data-testid="contributor-name" href="/author/brandon-taylor" data-discover="true">Brandon Taylor<!-- -->, </a><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/informationweek" data-discover="true">InformationWeek</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Feb 6, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of Storage"><span class="MainMenu-MainTitle">Storage<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='21'%20height='13'%20viewBox='0%200%2021%2013'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'%20transform='translate(21)%20rotate(90)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='21'%20height='13'%20viewBox='0%200%2021%2013'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'%20transform='translate(21)%20rotate(90)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/data-storage/cloud-storage" data-discover="true">Cloud Storage</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/data-storage/high-speed-storage" data-discover="true">High Speed Storage</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/data-storage/data-backup" data-discover="true">Data Backup</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/data-storage/disaster-recovery" data-discover="true">Disaster Recovery</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" href="/data-storage" data-discover="true">Storage</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" href="/data-storage" data-discover="true"><span class="SubMenu-SeeMoreText">See All Data Storage</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/linux-os/how-to-identify-and-remove-linux-malware-infections" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">the word malware on top of a digital background</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt88f81fb36d6cbe4a/67a4e82ca4ff164b53d978f6/image-1716x965_-_2025-02-06T113039.208.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt88f81fb36d6cbe4a/67a4e82ca4ff164b53d978f6/image-1716x965_-_2025-02-06T113039.208.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_linuxOs ContentPreview-Category" href="/operating-systems/linux-os" data-discover="true">Linux OS</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/linux-os/how-to-identify-and-remove-linux-malware-infections" data-discover="true">How To Identify and Remove Linux Malware Infections</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/linux-os/how-to-identify-and-remove-linux-malware-infections" data-discover="true">How To Identify and Remove Linux Malware Infections</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Feb 7, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>6 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/storage/can-i-speed-up-our-windows-storage-spaces-recovery-" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">an IT worker is asleep waiting for a long IT process to complete</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6b8e4fdc01766176/6797b16260c896ce799c7d60/waiting_for_an_IT_process_to_complete.gif?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6b8e4fdc01766176/6797b16260c896ce799c7d60/waiting_for_an_IT_process_to_complete.gif?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_storage ContentPreview-Category" href="/operating-systems/windows-server/storage" data-discover="true">Storage</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/storage/can-i-speed-up-our-windows-storage-spaces-recovery-" data-discover="true">Can I Speed Up Our Windows Storage Spaces Recovery?</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/storage/can-i-speed-up-our-windows-storage-spaces-recovery-" data-discover="true">Can I Speed Up Our Windows Storage Spaces Recovery?</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/brien-posey" data-discover="true">Brien Posey</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Jan 28, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>3 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of Security"><span class="MainMenu-MainTitle">Security<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='21'%20height='13'%20viewBox='0%200%2021%2013'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'%20transform='translate(21)%20rotate(90)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='21'%20height='13'%20viewBox='0%200%2021%2013'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'%20transform='translate(21)%20rotate(90)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/it-security/vulnerabilities-threats" data-discover="true">Vulnerabilities & Threats</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/it-security/attacks-breaches" data-discover="true">Attacks & Breaches</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/it-security/regulatory-compliance" data-discover="true">Regulatory Compliance</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/it-security/data-privacy" data-discover="true">Data Privacy</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/it-security/cloud-security" data-discover="true">Cloud Security</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/it-security/endpoint-security" data-discover="true">Endpoint Security</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/it-security/identity-management-access-control" data-discover="true">Identity Mgmt & Access Control</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" href="/it-security" data-discover="true">Security</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" href="/it-security" data-discover="true"><span class="SubMenu-SeeMoreText">See All IT Security</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/linux-os/beyond-the-basics-advanced-linux-hardening-techniques" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">a magnifying glass being help up to an open padlock icon that is set within rows of locked padlocks</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt55c34441e4c5f4cf/67ae572a2ba611390a866d2b/image-1716x965_-_2025-02-13T153328.829.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt55c34441e4c5f4cf/67ae572a2ba611390a866d2b/image-1716x965_-_2025-02-13T153328.829.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_linuxOs ContentPreview-Category" href="/operating-systems/linux-os" data-discover="true">Linux OS</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/linux-os/beyond-the-basics-advanced-linux-hardening-techniques" data-discover="true">Beyond the Basics: Advanced Linux Hardening Techniques</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/linux-os/beyond-the-basics-advanced-linux-hardening-techniques" data-discover="true">Beyond the Basics: Advanced Linux Hardening Techniques</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Feb 14, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>7 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/it-security/4-key-cybersecurity-predictions-for-2025-and-what-to-do-about-them" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">green locks among green code</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltc515a852cf3dcfc1/67abc60665fd0460b7f131c6/security-digital-locks-1716x965_-_2025-01-23.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltc515a852cf3dcfc1/67abc60665fd0460b7f131c6/security-digital-locks-1716x965_-_2025-01-23.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_itSecurity ContentPreview-Category" href="/it-security" data-discover="true">IT Security</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/it-security/4-key-cybersecurity-predictions-for-2025-and-what-to-do-about-them" data-discover="true">4 Key Cybersecurity Predictions for 2025 — and What to Do About Them</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/it-security/4-key-cybersecurity-predictions-for-2025-and-what-to-do-about-them" data-discover="true">4 Key Cybersecurity Predictions for 2025 — and What to Do About Them</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/industry-perspectives" data-discover="true">Industry Perspectives</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Feb 14, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>3 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of Dev"><span class="MainMenu-MainTitle">Dev<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='21'%20height='13'%20viewBox='0%200%2021%2013'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'%20transform='translate(21)%20rotate(90)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='21'%20height='13'%20viewBox='0%200%2021%2013'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'%20transform='translate(21)%20rotate(90)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/software-development/cloud-native" data-discover="true">Cloud Native</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/software-development/programming-languages" data-discover="true">Programming Languages</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/software-development/no-code-low-code" data-discover="true">No-Code/Low-Code</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/software-development/software-development-techniques" data-discover="true">Software Development Techniques</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" href="/software-development" data-discover="true">Dev</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" href="/software-development" data-discover="true"><span class="SubMenu-SeeMoreText">See All Software Dev</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/software-development-techniques/the-overlooked-art-of-software-localization-for-non-traditional-markets" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">software developer writing code on a laptop</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blta837190fc0e7c602/67ade2fd64f859b14b05f5fd/software-developer-code-1716x965_-_2024-10-18.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blta837190fc0e7c602/67ade2fd64f859b14b05f5fd/software-developer-code-1716x965_-_2024-10-18.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_softwareDevelopmentTechniques ContentPreview-Category" href="/software-development/software-development-techniques" data-discover="true">Software Development Techniques</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/software-development-techniques/the-overlooked-art-of-software-localization-for-non-traditional-markets" data-discover="true">The Overlooked Art of Software Localization for Non-Traditional Markets</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/software-development-techniques/the-overlooked-art-of-software-localization-for-non-traditional-markets" data-discover="true">The Overlooked Art of Software Localization for Non-Traditional Markets</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/industry-perspectives" data-discover="true">Industry Perspectives</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Feb 13, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>7 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/programming-languages/rust-isn-t-new-why-is-it-suddenly-so-popular-" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">Rust inscription against a laptop and code background</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt5909abfc937d3424/67ac2a0b0353bd52ccfa61c0/Rust-1716x965_-_2025-02-11.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt5909abfc937d3424/67ac2a0b0353bd52ccfa61c0/Rust-1716x965_-_2025-02-11.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_programmingLanguages ContentPreview-Category" href="/software-development/programming-languages" data-discover="true">Programming Languages</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/programming-languages/rust-isn-t-new-why-is-it-suddenly-so-popular-" data-discover="true">Rust Isn't New. Why Is It Suddenly So Popular?</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/programming-languages/rust-isn-t-new-why-is-it-suddenly-so-popular-" data-discover="true">Rust Isn't New. Why Is It Suddenly So Popular?</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/christopher-tozzi" data-discover="true">Christopher Tozzi</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Feb 12, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of DX"><span class="MainMenu-MainTitle">DX<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='21'%20height='13'%20viewBox='0%200%2021%2013'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'%20transform='translate(21)%20rotate(90)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='21'%20height='13'%20viewBox='0%200%2021%2013'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'%20transform='translate(21)%20rotate(90)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/digital-transformation/ai-machine-learning" data-discover="true">AI & Machine Learning</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/digital-transformation/edge-computing" data-discover="true">Edge Computing</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/digital-transformation/iot" data-discover="true">IoT</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" href="/digital-transformation" data-discover="true">DX</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" href="/digital-transformation" data-discover="true"><span class="SubMenu-SeeMoreText">See All Digital Transformation</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/unified-communications/how-ai-is-set-to-transform-enterprise-communications" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">a worker wearing a headset and communicating in a virtual meeting</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt69d94dcd72a4db9f/67ae1100ad887dd518e25db4/image-1716x965_-_2025-02-13T103415.639.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt69d94dcd72a4db9f/67ae1100ad887dd518e25db4/image-1716x965_-_2025-02-13T103415.639.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_unifiedCommunications ContentPreview-Category" href="/cloud-computing/cloud-services/unified-communications" data-discover="true">Unified Communications</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/unified-communications/how-ai-is-set-to-transform-enterprise-communications" data-discover="true">How AI Is Set To Transform Enterprise Communications</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/unified-communications/how-ai-is-set-to-transform-enterprise-communications" data-discover="true">How AI Is Set To Transform Enterprise Communications</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName Contributors-ContributorName_showComma" data-testid="contributor-name" href="/author/nathan-eddy" data-discover="true">Nathan Eddy<!-- -->, </a><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/no-jitter" data-discover="true">No Jitter</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Feb 13, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/vulnerabilities-threats/deepseek-ai-fails-multiple-security-tests-raising-red-flag-for-businesses" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">magnifying glass over the deepseek logo</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt9c875e3785f04fb5/67acc4fefe3daf3f035e4212/image-1716x965_-_2025-02-12T105740.899.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt9c875e3785f04fb5/67acc4fefe3daf3f035e4212/image-1716x965_-_2025-02-12T105740.899.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_vulnerabilitiesThreats ContentPreview-Category" href="/it-security/vulnerabilities-threats" data-discover="true">Vulnerabilities & Threats</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/vulnerabilities-threats/deepseek-ai-fails-multiple-security-tests-raising-red-flag-for-businesses" data-discover="true">DeepSeek AI Fails Multiple Security Tests, Raising Red Flag for Businesses</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/vulnerabilities-threats/deepseek-ai-fails-multiple-security-tests-raising-red-flag-for-businesses" data-discover="true">DeepSeek AI Fails Multiple Security Tests, Raising Red Flag for Businesses</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/elizabeth-montalbano" data-discover="true">Elizabeth Montalbano</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Feb 12, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of Infrastructure"><span class="MainMenu-MainTitle">Infrastructure<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='21'%20height='13'%20viewBox='0%200%2021%2013'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'%20transform='translate(21)%20rotate(90)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='21'%20height='13'%20viewBox='0%200%2021%2013'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'%20transform='translate(21)%20rotate(90)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/it-infrastructure/high-performance-computing" data-discover="true">High Performance Computing</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/it-infrastructure/containerization" data-discover="true">Containerization</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/it-infrastructure/server-virtualization" data-discover="true">Server Virtualization</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" href="/it-infrastructure" data-discover="true">Infrastructure</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" href="/it-infrastructure" data-discover="true"><span class="SubMenu-SeeMoreText">See All Infrastructure</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/ai-machine-learning/how-silicon-diversity-optimizes-cost-performance-across-the-ai-lifecycle" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">computer CPU</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blte1ae920643569ab5/67a52cba2f8fd4865d38e4c5/silicon-1716x965_-_2025-02-06.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blte1ae920643569ab5/67a52cba2f8fd4865d38e4c5/silicon-1716x965_-_2025-02-06.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_aiMachineLearning ContentPreview-Category" href="/digital-transformation/ai-machine-learning" data-discover="true">AI & Machine Learning</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/ai-machine-learning/how-silicon-diversity-optimizes-cost-performance-across-the-ai-lifecycle" data-discover="true">How Silicon Diversity Optimizes Cost, Performance Across the AI Lifecycle</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/ai-machine-learning/how-silicon-diversity-optimizes-cost-performance-across-the-ai-lifecycle" data-discover="true">How Silicon Diversity Optimizes Cost, Performance Across the AI Lifecycle</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/industry-perspectives" data-discover="true">Industry Perspectives</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Feb 7, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/cloud-computing/cloud-infrastructure-reaches-turning-point-as-container-adoption-becomes-universal" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">large containers being moved</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt298830a6ef315a10/67a499ad7dd653a5eef998b6/containers-1716x965_-_2025-02-06.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt298830a6ef315a10/67a499ad7dd653a5eef998b6/containers-1716x965_-_2025-02-06.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_cloudComputing ContentPreview-Category" href="/cloud-computing" data-discover="true">Cloud Computing</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/cloud-computing/cloud-infrastructure-reaches-turning-point-as-container-adoption-becomes-universal" data-discover="true">Cloud Infrastructure Reaches Turning Point as Container Adoption Becomes Universal</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/cloud-computing/cloud-infrastructure-reaches-turning-point-as-container-adoption-becomes-universal" data-discover="true">Cloud Infrastructure Reaches Turning Point as Container Adoption Becomes Universal</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/sean-michael-kerner" data-discover="true">Sean Michael Kerner</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Feb 6, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of More"><span class="MainMenu-MainTitle">More<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='21'%20height='13'%20viewBox='0%200%2021%2013'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'%20transform='translate(21)%20rotate(90)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='21'%20height='13'%20viewBox='0%200%2021%2013'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'%20transform='translate(21)%20rotate(90)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" rel="nofollow" target="_self" href="https://itp-resources.itprotoday.com/c/pubRD.mpl?secure=1&sr=pp&_t=pp:&qf=w_itpb86&ch=itpnav">Newsletters</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/latest-how-to" data-discover="true">How To…?</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/program/industry-perspectives" data-discover="true">Industry Perspectives</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/resources" data-discover="true">Business Resources</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/resources?types=Survey+Report&page=1" data-discover="true">Reports/Research</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/resources?page=1&types=Virtual+Event&types=Webinar" data-discover="true">Online Events</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/events" data-discover="true">Live Events</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/videos" data-discover="true">Videos</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/resources?page=1&types=White+Paper" data-discover="true">White Papers</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/advertise" data-discover="true">Advertise With Us</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/about-us" data-discover="true">About Us</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent SubMenu-MoreContent_noRecent" href="/resources" data-discover="true"><span class="SubMenu-SeeMoreText">Resource Library</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div></div></div></div></div></div></div><div class="MainMenu-SearchButtonWrapper"><button data-testid="mainMenu-SearchButton" aria-label="Open Search" class="MainMenu-SearchButton"><span data-component="icon" data-name="Search" class="MainMenu-SearchButtonIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='22'%20height='21.789'%20viewBox='0%200%2022%2021.789'%3e%3cg%20id='search_icon'%20data-name='search%20icon'%20transform='translate(-1387%20-125)'%3e%3cpath%20id='search_icon-2'%20data-name='search%20icon'%20d='M1395.176,138.7a5.606,5.606,0,1,1,5.661-5.606A5.626,5.626,0,0,1,1395.176,138.7Zm7.547,0h-.994l-.351-.336a8.02,8.02,0,0,0,1.975-5.27,8.154,8.154,0,1,0-2.856,6.142l.34.349v.984l6.289,6.217,1.875-1.856Z'%20transform='translate(0%200)'/%3e%3c/g%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='22'%20height='21.789'%20viewBox='0%200%2022%2021.789'%3e%3cg%20id='search_icon'%20data-name='search%20icon'%20transform='translate(-1387%20-125)'%3e%3cpath%20id='search_icon-2'%20data-name='search%20icon'%20d='M1395.176,138.7a5.606,5.606,0,1,1,5.661-5.606A5.626,5.626,0,0,1,1395.176,138.7Zm7.547,0h-.994l-.351-.336a8.02,8.02,0,0,0,1.975-5.27,8.154,8.154,0,1,0-2.856,6.142l.34.349v.984l6.289,6.217,1.875-1.856Z'%20transform='translate(0%200)'/%3e%3c/g%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div></div><div class="MainMenu-SearchWrapper"><div class="FullScreenBackground MainMenu-SearchBackground MainMenu-SearchBackground_withSearchBar"></div><button data-testid="mainMenu-SearchCloseButton" class="MainMenu-SearchCloseButton" aria-label="Close Search"><span data-component="icon" data-name="Close" class="MainMenu-SearchCloseIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='18'%20height='18.001'%20viewBox='0%200%2018%2018.001'%3e%3cpath%20id='times'%20d='M11.685,105l6.059-6.059a.9.9,0,0,0,0-1.27L16.336,96.26a.9.9,0,0,0-1.27,0l-6.059,6.06L2.948,96.261a.9.9,0,0,0-1.27,0L.27,97.668a.9.9,0,0,0,0,1.27L6.33,105,.27,111.057a.9.9,0,0,0,0,1.27l1.408,1.408a.9.9,0,0,0,1.27,0l6.059-6.06,6.059,6.059a.9.9,0,0,0,1.27,0l1.408-1.408a.9.9,0,0,0,0-1.27Z'%20transform='translate(-0.008%20-95.998)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='18'%20height='18.001'%20viewBox='0%200%2018%2018.001'%3e%3cpath%20id='times'%20d='M11.685,105l6.059-6.059a.9.9,0,0,0,0-1.27L16.336,96.26a.9.9,0,0,0-1.27,0l-6.059,6.06L2.948,96.261a.9.9,0,0,0-1.27,0L.27,97.668a.9.9,0,0,0,0,1.27L6.33,105,.27,111.057a.9.9,0,0,0,0,1.27l1.408,1.408a.9.9,0,0,0,1.27,0l6.059-6.06,6.059,6.059a.9.9,0,0,0,1.27,0l1.408-1.408a.9.9,0,0,0,0-1.27Z'%20transform='translate(-0.008%20-95.998)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div></div></div></div></nav><section class="Layout-Section"><div id="iiris-identity" data-testid="iris-identity"></div><div class="ContributorList" data-template="contributor-list"><div data-template="list-content" class="ListContent"><div class="TwoColumnLayout"><div id="portal-root"></div><div class="TwoColumnLayout-Head"><div class="ContributorList-Head" data-testid="contributor-list-head"><ul data-component="breadcrumb" class="Breadcrumb"><li class="Breadcrumb-ListItem"><span data-component="icon" data-name="ChevronRight" class="Breadcrumb-DividerIcon Breadcrumb-PrevIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span><a class="Breadcrumb-GetText Breadcrumb-GetText_isNearLastItem" data-testid="breadcrumb-link" href="/" data-discover="true">Home</a><span data-component="icon" data-name="ChevronRight" class="Breadcrumb-DividerIcon Breadcrumb-NextIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></li><li class="Breadcrumb-ListItem"><a class="Breadcrumb-GetText Breadcrumb-GetText_isLastItem" data-testid="breadcrumb-link" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a></li></ul><div data-component="contributor-summary" class="ContributorSummary ContributorSummary_variant_normal"><div class="ContributorSummary-ImageWrapper ContributorSummary-ImageWrapper_variant_normal"><img data-component="image" class="ContributorSummary-Image ContributorSummary-Image_variant_normal" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=400&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=400&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Grant Knoetze" title="Grant Knoetze"/></div><div class="ContributorSummary-InfoWrapper ContributorSummary-InfoWrapper_variant_normal"><div class="ContributorSummary-TitleWrapper"><p class="ContributorSummary-Title ContributorSummary-Title_variant_normal" data-testid="contributor-summary-title">Grant Knoetze</p></div><div class="ContributorSummary-SubTitleWrapper ContributorSummary-SubTitleWrapper_variant_normal"><p class="ContributorSummary-SubTitle ContributorSummary-SubTitle_variant_normal" data-testid="contributor-summary-subtitle">Contributor</p></div><div class="ContributorSummary-ContentWrapper ContributorSummary-ContentWrapper_variant_normal"><div class="ContributorSummary-Content ContributorSummary-Content_variant_normal ContributorSummary-Content_showFullContent" data-testid="contributor-summary-content"><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNoneStyle" data-testid="content-text">Grant Knoetze is a cybersecurity analyst with a special interest in DFIR, programming languages, incident response, red-teaming, and malware analysis. His full-time job includes teaching and instructing in various topics from basic Linux all the way through to malware incident response, and other advanced topics. He is also a speaker at various conferences worldwide.</span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNoneStyle" data-testid="content-text"><a class="ContentText-BodyTextChunk ContentText-BodyTextChunk_link" target="_blank" href="http://www.grantknoetze.com">www.grantknoetze.com</a></span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNoneStyle" data-testid="content-text"><a class="ContentText-BodyTextChunk ContentText-BodyTextChunk_link" target="_blank" href="https://github.com/Grant-Knoetze">https://github.com/Grant-Knoetze</a></span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNoneStyle" data-testid="content-text">https://www.linkedin.com/in/grant-knoetze-563b0b1b6/</span></p></div></div><div data-component="social-share" class="SocialShare SocialShare_variant_normal"><a target="_blank" rel="noreferrer" aria-label="Linkedin" href="https://www.linkedin.com/in/grant-knoetze-563b0b1b6/"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_normal"><span data-component="icon" data-name="Linkedin" class="SocialShare-Icon SocialShare-Icon_variant_normal SocialShare-Icon_type_linkedin" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%20448%20512'%3e%3cpath%20d='M100.28%20448H7.4V148.9h92.88zM53.79%20108.1C24.09%20108.1%200%2083.5%200%2053.8a53.79%2053.79%200%200%201%20107.58%200c0%2029.7-24.1%2054.3-53.79%2054.3zM447.9%20448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29%200-55.69%2037.7-55.69%2076.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5%2042.69-48.3%2087.88-48.3%2094%200%20111.28%2061.9%20111.28%20142.3V448z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%20448%20512'%3e%3cpath%20d='M100.28%20448H7.4V148.9h92.88zM53.79%20108.1C24.09%20108.1%200%2083.5%200%2053.8a53.79%2053.79%200%200%201%20107.58%200c0%2029.7-24.1%2054.3-53.79%2054.3zM447.9%20448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29%200-55.69%2037.7-55.69%2076.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5%2042.69-48.3%2087.88-48.3%2094%200%20111.28%2061.9%20111.28%20142.3V448z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a></div></div></div><hr class="ContributorList-Divider"/></div></div><div class="TwoColumnLayout-Content"><div class="TwoColumnLayout-Body"><div class="ListContent-Body" data-testid="list-content-body"><h2 class="ListContent-Title ListContent-Title_latest" data-testid="latest-content-title">Latest from Grant Knoetze</h2><div class="ListContent-Content ListContent-Content_latest"><div class="ListContent-ContentWrapper"><div class="ListContent-ContentContainer"><div class="ContentPreview ListContent-LatestItem" data-module="content-preview" data-variant="normal"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_normal ContentPreview-Wrapper_articleSize_big"><a data-testid="thumbnail" href="/linux-os/beyond-the-basics-advanced-linux-hardening-techniques" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">a magnifying glass being help up to an open padlock icon that is set within rows of locked padlocks</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt55c34441e4c5f4cf/67ae572a2ba611390a866d2b/image-1716x965_-_2025-02-13T153328.829.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt55c34441e4c5f4cf/67ae572a2ba611390a866d2b/image-1716x965_-_2025-02-13T153328.829.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_linuxOs ContentPreview-Category" href="/operating-systems/linux-os" data-discover="true">Linux OS</a><div class="ContentCard"><div class="ContentCard-Body"><a class="ContentCard-Title ContentCard-Title_displayOption_default" data-testid="preview-default-title" href="/linux-os/beyond-the-basics-advanced-linux-hardening-techniques" data-discover="true">Beyond the Basics: Advanced Linux Hardening Techniques</a><a class="ContentCard-Title ContentCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/linux-os/beyond-the-basics-advanced-linux-hardening-techniques" data-discover="true">Beyond the Basics: Advanced Linux Hardening Techniques</a><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_normal" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a></div></div></div><div class="ContentCard-Footer"><span class="ContentCard-Date" data-testid="content-card-date">Feb 14, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>7 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview ListContent-LatestItem" data-module="content-preview" data-variant="normal"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_normal ContentPreview-Wrapper_articleSize_big"><a data-testid="thumbnail" href="/linux-os/how-to-identify-and-remove-linux-malware-infections" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">the word malware on top of a digital background</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt88f81fb36d6cbe4a/67a4e82ca4ff164b53d978f6/image-1716x965_-_2025-02-06T113039.208.jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt88f81fb36d6cbe4a/67a4e82ca4ff164b53d978f6/image-1716x965_-_2025-02-06T113039.208.jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_linuxOs ContentPreview-Category" href="/operating-systems/linux-os" data-discover="true">Linux OS</a><div class="ContentCard"><div class="ContentCard-Body"><a class="ContentCard-Title ContentCard-Title_displayOption_default" data-testid="preview-default-title" href="/linux-os/how-to-identify-and-remove-linux-malware-infections" data-discover="true">How To Identify and Remove Linux Malware Infections</a><a class="ContentCard-Title ContentCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/linux-os/how-to-identify-and-remove-linux-malware-infections" data-discover="true">How To Identify and Remove Linux Malware Infections</a><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_normal" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a></div></div></div><div class="ContentCard-Footer"><span class="ContentCard-Date" data-testid="content-card-date">Feb 7, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>6 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div><h2 class="ListContent-Title ListContent-Title_normal" data-testid="content-title">All from Grant Knoetze</h2><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: a thumbnail for the lynus tutorial featuring text about what the tutorial covers and a picture of a laptop with the lynus website opened on its screen" href="/linux-os/using-lynix-for-linux-security-audits-video-tutorial-" data-discover="true"><div title="a thumbnail for the lynus tutorial featuring text about what the tutorial covers and a picture of a laptop with the lynus website opened on its screen"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt61427285d9637776/679ba06eea537e2d79e9d7a2/Lynis_(1716_x_965_px).png?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt61427285d9637776/679ba06eea537e2d79e9d7a2/Lynis_(1716_x_965_px).png?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="a thumbnail for the lynus tutorial featuring text about what the tutorial covers and a picture of a laptop with the lynus website opened on its screen" title="a thumbnail for the lynus tutorial featuring text about what the tutorial covers and a picture of a laptop with the lynus website opened on its screen"/></div></a><a class="ListPreview-IconWrapper" title="Link to all video" aria-label="Redirect to All page" data-testid="content-preview-icon-link" href="/videos" data-discover="true"><span data-component="icon" data-name="Play" class="ListPreview-Icon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='20'%20height='23'%20viewBox='0%200%2020%2023'%3e%3cpath%20id='Icon_awesome-play'%20data-name='Icon%20awesome-play'%20d='M18.947,9.645,3.232.3A2.131,2.131,0,0,0,0,2.152V20.844A2.141,2.141,0,0,0,3.232,22.7l15.715-9.343A2.161,2.161,0,0,0,18.947,9.645Z'%20transform='translate(0%20-0.002)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='20'%20height='23'%20viewBox='0%200%2020%2023'%3e%3cpath%20id='Icon_awesome-play'%20data-name='Icon%20awesome-play'%20d='M18.947,9.645,3.232.3A2.131,2.131,0,0,0,0,2.152V20.844A2.141,2.141,0,0,0,3.232,22.7l15.715-9.343A2.161,2.161,0,0,0,18.947,9.645Z'%20transform='translate(0%20-0.002)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/using-lynix-for-linux-security-audits-video-tutorial-" data-discover="true">Using Lynis for Linux Security Audits (Video Tutorial)</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/using-lynix-for-linux-security-audits-video-tutorial-" data-discover="true">Using Lynis for Linux Security Audits (Video Tutorial)</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Jan 31, 2025</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>10 Min<!-- --> <!-- -->View</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: a graphic with the words get started with apparmor ubuntu tutorial against a metallic background and a screenshot of the linux terminal window" href="/linux-os/how-to-use-apparmor-to-lock-down-linux-applications" data-discover="true"><div title="a graphic with the words get started with apparmor ubuntu tutorial against a metallic background and a screenshot of the linux terminal window"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt29ac07e9aa1af956/6781343c37fb04124faba3f3/apparmor_thumbnail.png?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt29ac07e9aa1af956/6781343c37fb04124faba3f3/apparmor_thumbnail.png?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="a graphic with the words get started with apparmor ubuntu tutorial against a metallic background and a screenshot of the linux terminal window" title="a graphic with the words get started with apparmor ubuntu tutorial against a metallic background and a screenshot of the linux terminal window"/></div></a><a class="ListPreview-IconWrapper" title="Link to all video" aria-label="Redirect to All page" data-testid="content-preview-icon-link" href="/videos" data-discover="true"><span data-component="icon" data-name="Play" class="ListPreview-Icon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='20'%20height='23'%20viewBox='0%200%2020%2023'%3e%3cpath%20id='Icon_awesome-play'%20data-name='Icon%20awesome-play'%20d='M18.947,9.645,3.232.3A2.131,2.131,0,0,0,0,2.152V20.844A2.141,2.141,0,0,0,3.232,22.7l15.715-9.343A2.161,2.161,0,0,0,18.947,9.645Z'%20transform='translate(0%20-0.002)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='20'%20height='23'%20viewBox='0%200%2020%2023'%3e%3cpath%20id='Icon_awesome-play'%20data-name='Icon%20awesome-play'%20d='M18.947,9.645,3.232.3A2.131,2.131,0,0,0,0,2.152V20.844A2.141,2.141,0,0,0,3.232,22.7l15.715-9.343A2.161,2.161,0,0,0,18.947,9.645Z'%20transform='translate(0%20-0.002)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/how-to-use-apparmor-to-lock-down-linux-applications" data-discover="true">How To Use AppArmor to Lock Down Linux Applications</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/how-to-use-apparmor-to-lock-down-linux-applications" data-discover="true">How To Use AppArmor to Lock Down Linux Applications</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Jan 13, 2025</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>8 Min<!-- --> <!-- -->View</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: a collage of featuring storage unit stacks, the word Linux spelled with wooden alphabet blocks, a padlock icon, and the words container security" href="/linux-os/10-ways-to-harden-your-linux-containers-against-attacks" data-discover="true"><div title="a collage of featuring storage unit stacks, the word Linux spelled with wooden alphabet blocks, a padlock icon, and the words container security"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt624af8d0d883615c/674f615cba6fbcc4c0846aab/linux_container_security_hero.png?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt624af8d0d883615c/674f615cba6fbcc4c0846aab/linux_container_security_hero.png?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="a collage of featuring storage unit stacks, the word Linux spelled with wooden alphabet blocks, a padlock icon, and the words container security" title="a collage of featuring storage unit stacks, the word Linux spelled with wooden alphabet blocks, a padlock icon, and the words container security"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/10-ways-to-harden-your-linux-containers-against-attacks" data-discover="true">10 Ways To Harden Your Linux Containers Against Attacks</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/10-ways-to-harden-your-linux-containers-against-attacks" data-discover="true">10 Ways To Harden Your Linux Containers Against Attacks</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Dec 4, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>7 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: a security padlock icon in front of a dark server room" href="/linux-os/linux-server-security-essential-guide-for-hardening-servers" data-discover="true"><div title="a security padlock icon in front of a dark server room"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blta5bc7718637c3441/6733a1495bd1c22c7043fe50/image-1716x1000_(4).jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blta5bc7718637c3441/6733a1495bd1c22c7043fe50/image-1716x1000_(4).jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="a security padlock icon in front of a dark server room" title="a security padlock icon in front of a dark server room"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/linux-server-security-essential-guide-for-hardening-servers" data-discover="true">Linux Server Security: Essential Guide for Hardening Servers</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/linux-server-security-essential-guide-for-hardening-servers" data-discover="true">Linux Server Security: Essential Guide for Hardening Servers</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Nov 13, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>6 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: a digital shield icon with a keyhole next to text that says linux kernel security" href="/vulnerabilities-threats/linux-kernel-exploits-how-attackers-gain-root-access-and-how-to-defend-against-it" data-discover="true"><div title="a digital shield icon with a keyhole next to text that says linux kernel security"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf99e8de69c884e47/6703e85e7c36d207b980a3fa/Linux_Kernel_Security.png?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf99e8de69c884e47/6703e85e7c36d207b980a3fa/Linux_Kernel_Security.png?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="a digital shield icon with a keyhole next to text that says linux kernel security" title="a digital shield icon with a keyhole next to text that says linux kernel security"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_vulnerabilitiesThreats ListPreview-Keyword" href="/it-security/vulnerabilities-threats" data-discover="true">Vulnerabilities & Threats</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/vulnerabilities-threats/linux-kernel-exploits-how-attackers-gain-root-access-and-how-to-defend-against-it" data-discover="true">Linux Kernel Exploits: How Attackers Gain Root Access and How To Defend Against It</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/vulnerabilities-threats/linux-kernel-exploits-how-attackers-gain-root-access-and-how-to-defend-against-it" data-discover="true">Linux Kernel Exploits: Common Threats and How To Prevent Them</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Oct 8, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>6 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: text says securing sshs access linux tutorial and shows cartoon padlock, laptop, and computer user" href="/ubuntu/how-to-secure-ssh-access-on-ubuntu-servers-video-tutorial-" data-discover="true"><div title="text says securing sshs access linux tutorial and shows cartoon padlock, laptop, and computer user"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd604dd5379c2845e/66fc0395f7ab65a38e7c36e8/SSH_Security_for_Ubuntu_Servers_(1716_x_965_px).png?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd604dd5379c2845e/66fc0395f7ab65a38e7c36e8/SSH_Security_for_Ubuntu_Servers_(1716_x_965_px).png?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="text says securing sshs access linux tutorial and shows cartoon padlock, laptop, and computer user" title="text says securing sshs access linux tutorial and shows cartoon padlock, laptop, and computer user"/></div></a><a class="ListPreview-IconWrapper" title="Link to all video" aria-label="Redirect to All page" data-testid="content-preview-icon-link" href="/videos" data-discover="true"><span data-component="icon" data-name="Play" class="ListPreview-Icon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='20'%20height='23'%20viewBox='0%200%2020%2023'%3e%3cpath%20id='Icon_awesome-play'%20data-name='Icon%20awesome-play'%20d='M18.947,9.645,3.232.3A2.131,2.131,0,0,0,0,2.152V20.844A2.141,2.141,0,0,0,3.232,22.7l15.715-9.343A2.161,2.161,0,0,0,18.947,9.645Z'%20transform='translate(0%20-0.002)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='20'%20height='23'%20viewBox='0%200%2020%2023'%3e%3cpath%20id='Icon_awesome-play'%20data-name='Icon%20awesome-play'%20d='M18.947,9.645,3.232.3A2.131,2.131,0,0,0,0,2.152V20.844A2.141,2.141,0,0,0,3.232,22.7l15.715-9.343A2.161,2.161,0,0,0,18.947,9.645Z'%20transform='translate(0%20-0.002)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_ubuntu ListPreview-Keyword" href="/operating-systems/ubuntu" data-discover="true">Ubuntu</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/ubuntu/how-to-secure-ssh-access-on-ubuntu-servers-video-tutorial-" data-discover="true">How To Secure SSH Access on Ubuntu Servers (Video Tutorial)</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/ubuntu/how-to-secure-ssh-access-on-ubuntu-servers-video-tutorial-" data-discover="true">How To Secure SSH Access on Ubuntu Servers (Video Tutorial)</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Oct 2, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>11 Min<!-- --> <!-- -->View</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: a laptop infected with a virus and above it the words linux ransomware" href="/linux-os/linux-ransomware-threats-how-attackers-target-linux-systems" data-discover="true"><div title="a laptop infected with a virus and above it the words linux ransomware"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb1972aa79e23c1a8/66d724523a8d485776e1e487/linux_ransomware.png?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb1972aa79e23c1a8/66d724523a8d485776e1e487/linux_ransomware.png?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="a laptop infected with a virus and above it the words linux ransomware" title="a laptop infected with a virus and above it the words linux ransomware"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/linux-ransomware-threats-how-attackers-target-linux-systems" data-discover="true">Linux Ransomware Threats: How Attackers Target Linux Systems</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/linux-ransomware-threats-how-attackers-target-linux-systems" data-discover="true">Linux Ransomware Threats: How Attackers Target Linux Systems</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Sep 4, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>8 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: a wall and fire with the words linux uncomplicated firewall (ufw) tutorial, configure and manage" href="/linux-os/linux-ufw-uncomplicated-firewall-configuration-made-easy" data-discover="true"><div title="a wall and fire with the words linux uncomplicated firewall (ufw) tutorial, configure and manage"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt3cbd7c8f7dbc67e2/66c8c7eb9aeab424dd358da0/linux_ufw_hero.png?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt3cbd7c8f7dbc67e2/66c8c7eb9aeab424dd358da0/linux_ufw_hero.png?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="a wall and fire with the words linux uncomplicated firewall (ufw) tutorial, configure and manage" title="a wall and fire with the words linux uncomplicated firewall (ufw) tutorial, configure and manage"/></div></a><a class="ListPreview-IconWrapper" title="Link to all video" aria-label="Redirect to All page" data-testid="content-preview-icon-link" href="/videos" data-discover="true"><span data-component="icon" data-name="Play" class="ListPreview-Icon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='20'%20height='23'%20viewBox='0%200%2020%2023'%3e%3cpath%20id='Icon_awesome-play'%20data-name='Icon%20awesome-play'%20d='M18.947,9.645,3.232.3A2.131,2.131,0,0,0,0,2.152V20.844A2.141,2.141,0,0,0,3.232,22.7l15.715-9.343A2.161,2.161,0,0,0,18.947,9.645Z'%20transform='translate(0%20-0.002)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='20'%20height='23'%20viewBox='0%200%2020%2023'%3e%3cpath%20id='Icon_awesome-play'%20data-name='Icon%20awesome-play'%20d='M18.947,9.645,3.232.3A2.131,2.131,0,0,0,0,2.152V20.844A2.141,2.141,0,0,0,3.232,22.7l15.715-9.343A2.161,2.161,0,0,0,18.947,9.645Z'%20transform='translate(0%20-0.002)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/linux-ufw-uncomplicated-firewall-configuration-made-easy" data-discover="true">Linux UFW (Uncomplicated Firewall) Configuration Made Easy</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/linux-ufw-uncomplicated-firewall-configuration-made-easy" data-discover="true">Linux UFW (Uncomplicated Firewall) Configuration Made Easy</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Aug 28, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>13 Min<!-- --> <!-- -->View</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: digital shield with a keyhole" href="/linux-os/introduction-to-writing-ebpf-programs-for-linux-security" data-discover="true"><div title="digital shield with a keyhole"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt9885a6803382a6af/66b39a0dc20b717ac496de15/digital_shield_with_a_keyhole.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt9885a6803382a6af/66b39a0dc20b717ac496de15/digital_shield_with_a_keyhole.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="digital shield with a keyhole" title="digital shield with a keyhole"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/introduction-to-writing-ebpf-programs-for-linux-security" data-discover="true">Introduction To Writing eBPF Programs for Linux Security</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/introduction-to-writing-ebpf-programs-for-linux-security" data-discover="true">Introduction To Writing eBPF Programs for Linux Security</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Aug 8, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>5 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem ListContent-ContentItem_borderless" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: a hand typing on a keyboard and a cybersecurity shield icon" href="/linux-os/enhance-linux-kernel-security-using-lockdown-mode-and-kernel-self-protection" data-discover="true"><div title="a hand typing on a keyboard and a cybersecurity shield icon"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt9ac44d9e804b5f31/668ed43f6b429cc16b8ad68a/image-1716x965_(48).jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt9ac44d9e804b5f31/668ed43f6b429cc16b8ad68a/image-1716x965_(48).jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="a hand typing on a keyboard and a cybersecurity shield icon" title="a hand typing on a keyboard and a cybersecurity shield icon"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/enhance-linux-kernel-security-using-lockdown-mode-and-kernel-self-protection" data-discover="true">Enhance Linux Kernel Security Using Lockdown Mode and Kernel Self-Protection</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/enhance-linux-kernel-security-using-lockdown-mode-and-kernel-self-protection" data-discover="true">Two Linux Kernel Security Features You Should Implement</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Jul 11, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>6 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: pins with words zero trust on a cybernetic board" href="/linux-os/how-to-implement-zero-trust-security-in-linux-environments" data-discover="true"><div title="pins with words zero trust on a cybernetic board"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt5546d6a7d5ac1003/667ad43de161e59e79ce9f89/image-1716x965_(32).jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt5546d6a7d5ac1003/667ad43de161e59e79ce9f89/image-1716x965_(32).jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="pins with words zero trust on a cybernetic board" title="pins with words zero trust on a cybernetic board"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/how-to-implement-zero-trust-security-in-linux-environments" data-discover="true">How To Implement Zero-Trust Security in Linux Environments</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/how-to-implement-zero-trust-security-in-linux-environments" data-discover="true">How To Implement Zero-Trust Security in Linux Environments</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Jun 26, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>9 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: icons of padlocks and shield on puzzle background" href="/linux-os/securing-linux-systems-with-ebpf-the-future-of-in-kernel-observability-and-security" data-discover="true"><div title="icons of padlocks and shield on puzzle background"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt9b6dca757060e7b9/6673362a82783258b89c60e6/image-1716x965_(22).jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt9b6dca757060e7b9/6673362a82783258b89c60e6/image-1716x965_(22).jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="icons of padlocks and shield on puzzle background" title="icons of padlocks and shield on puzzle background"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/securing-linux-systems-with-ebpf-the-future-of-in-kernel-observability-and-security" data-discover="true">Securing Linux Systems with eBPF: The Future of In-Kernel Observability and Security</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/securing-linux-systems-with-ebpf-the-future-of-in-kernel-observability-and-security" data-discover="true">How eBPF Enhances Linux Security and Monitoring</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Jun 20, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>7 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: modern smart home connected to wireless control system" href="/linux-os/the-evolution-of-linux-based-smart-home-operating-systems" data-discover="true"><div title="modern smart home connected to wireless control system"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf6ff13db8e4226c5/666b0b27a15e2965d02272a4/Modern_smart_home_connected_to_wireless_control_system.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf6ff13db8e4226c5/666b0b27a15e2965d02272a4/Modern_smart_home_connected_to_wireless_control_system.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="modern smart home connected to wireless control system" title="modern smart home connected to wireless control system"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/the-evolution-of-linux-based-smart-home-operating-systems" data-discover="true">The Evolution of Linux-Based Smart Home Operating Systems</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/the-evolution-of-linux-based-smart-home-operating-systems" data-discover="true">The Evolution of Linux-Based Smart Home Operating Systems</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Jun 14, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>5 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: glowing silhouettes of people in a dark cyber domain" href="/linux-os/linux-in-the-metaverse-building-virtual-worlds-with-open-source-tools" data-discover="true"><div title="glowing silhouettes of people in a dark cyber domain"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blteee152294d8961c9/66564ca1f1f6e21f40cbeda8/glowing_silhouettes_of_people_in_a_dark_cyber_domain.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blteee152294d8961c9/66564ca1f1f6e21f40cbeda8/glowing_silhouettes_of_people_in_a_dark_cyber_domain.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="glowing silhouettes of people in a dark cyber domain" title="glowing silhouettes of people in a dark cyber domain"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/linux-in-the-metaverse-building-virtual-worlds-with-open-source-tools" data-discover="true">Linux in the Metaverse: Building Virtual Worlds With Open-Source Tools</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/linux-in-the-metaverse-building-virtual-worlds-with-open-source-tools" data-discover="true">Linux in the Metaverse: Building Virtual Worlds With Open-Source Tools</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">May 29, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: close-up of a quantum computer" href="/linux-os/explore-the-growing-role-of-linux-in-quantum-computing" data-discover="true"><div title="close-up of a quantum computer"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt7911221f00fc7df1/6650a0e1b2bae16f3ee5b47a/close-up_20of_20a_20quantum_20computer.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt7911221f00fc7df1/6650a0e1b2bae16f3ee5b47a/close-up_20of_20a_20quantum_20computer.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="close-up of a quantum computer" title="close-up of a quantum computer"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/explore-the-growing-role-of-linux-in-quantum-computing" data-discover="true">Explore the Growing Role of Linux in Quantum Computing</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/explore-the-growing-role-of-linux-in-quantum-computing" data-discover="true">Explore the Growing Role of Linux in Quantum Computing</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">May 16, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>6 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: shipping transport containers stacked like bricks" href="/containerization/comparing-container-orchestration-tools-kubernetes-docker-swarm-apache-mesos" data-discover="true"><div title="shipping transport containers stacked like bricks"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt02c6f9ff9e310506/6650a283f7adf7b5fbe465f3/Shipping_20transport_20containers_20stacked_20like_20bricks.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt02c6f9ff9e310506/6650a283f7adf7b5fbe465f3/Shipping_20transport_20containers_20stacked_20like_20bricks.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="shipping transport containers stacked like bricks" title="shipping transport containers stacked like bricks"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_containerization ListPreview-Keyword" href="/it-infrastructure/containerization" data-discover="true">Containerization</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/containerization/comparing-container-orchestration-tools-kubernetes-docker-swarm-apache-mesos" data-discover="true">Comparing Container Orchestration Tools: Kubernetes, Docker Swarm, Apache Mesos</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/containerization/comparing-container-orchestration-tools-kubernetes-docker-swarm-apache-mesos" data-discover="true">Comparing Container Orchestration Tools: Kubernetes, Docker Swarm, Apache Mesos</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Apr 5, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>7 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: glowing cloud icon depicted in blue circuitry pattern" href="/linux-os/linux-security-in-the-cloud-era-best-practices-for-protecting-your-cloud-workloads" data-discover="true"><div title="glowing cloud icon depicted in blue circuitry pattern"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf4ea07f5964a0f1f/675b75b78adfae14735f0c6b/image-1716x965_-_2024-12-12T184552.734.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf4ea07f5964a0f1f/675b75b78adfae14735f0c6b/image-1716x965_-_2024-12-12T184552.734.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="glowing cloud icon depicted in blue circuitry pattern" title="glowing cloud icon depicted in blue circuitry pattern"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/linux-security-in-the-cloud-era-best-practices-for-protecting-your-cloud-workloads" data-discover="true">Linux Security in the Cloud Era: Best Practices for Protecting Your Cloud Workloads</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/linux-security-in-the-cloud-era-best-practices-for-protecting-your-cloud-workloads" data-discover="true">Linux Security in the Cloud Era: Best Practices for Protecting Your Cloud Workloads</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Feb 23, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>9 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Linux text over 1's and 0's" href="/linux-os/the-rise-of-linux-in-edge-computing-and-iot" data-discover="true"><div title="Linux text over 1's and 0's"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt5fca873c7c0d5da7/6617f8fcd9d608ec55a9c973/KN8JFE.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt5fca873c7c0d5da7/6617f8fcd9d608ec55a9c973/KN8JFE.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Linux text over 1's and 0's" title="Linux text over 1's and 0's"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/the-rise-of-linux-in-edge-computing-and-iot" data-discover="true">The Rise of Linux in Edge Computing and IoT</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/the-rise-of-linux-in-edge-computing-and-iot" data-discover="true">The Rise of Linux in Edge Computing and IoT</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Jan 3, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>5 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Pilot and copilot in cockpit" href="/linux-os/how-to-install-and-use-the-cockpit-linux-management-console" data-discover="true"><div title="Pilot and copilot in cockpit"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt333aca08b3cc553b/6617f956344ee47a8e7bc474/Pilot_20and_20copilot_20in_20cockpit.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt333aca08b3cc553b/6617f956344ee47a8e7bc474/Pilot_20and_20copilot_20in_20cockpit.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Pilot and copilot in cockpit" title="Pilot and copilot in cockpit"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/how-to-install-and-use-the-cockpit-linux-management-console" data-discover="true">How To Install and Use the Cockpit Linux Management Console</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/how-to-install-and-use-the-cockpit-linux-management-console" data-discover="true">How To Install and Use the Cockpit Linux Management Console</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Dec 12, 2023</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>7 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem ListContent-ContentItem_borderless" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: hand circling people icons in red marker" href="/linux-os/advanced-linux-user-management-a-guide-for-it-pros" data-discover="true"><div title="hand circling people icons in red marker"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt943f9449a8766020/6617f9cc8bf06782601d4177/GettyImages-1315143480-1201x789-3a878e4.jpeg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt943f9449a8766020/6617f9cc8bf06782601d4177/GettyImages-1315143480-1201x789-3a878e4.jpeg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="hand circling people icons in red marker" title="hand circling people icons in red marker"/></div></a><a class="ListPreview-IconWrapper" title="Link to all document" aria-label="Redirect to All page" data-testid="content-preview-icon-link" href="/documents" data-discover="true"><span data-component="icon" data-name="Document" class="ListPreview-Icon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='10.5'%20height='14'%20viewBox='0%200%2010.5%2014'%3e%3cpath%20id='Icon_awesome-file-alt'%20data-name='Icon%20awesome-file-alt'%20d='M6.125,3.719V0H.656A.655.655,0,0,0,0,.656V13.344A.655.655,0,0,0,.656,14H9.844a.655.655,0,0,0,.656-.656V4.375H6.781A.658.658,0,0,1,6.125,3.719Zm1.75,6.453a.329.329,0,0,1-.328.328H2.953a.329.329,0,0,1-.328-.328V9.953a.329.329,0,0,1,.328-.328H7.547a.329.329,0,0,1,.328.328Zm0-1.75a.329.329,0,0,1-.328.328H2.953a.329.329,0,0,1-.328-.328V8.2a.329.329,0,0,1,.328-.328H7.547a.329.329,0,0,1,.328.328Zm0-1.969v.219A.329.329,0,0,1,7.547,7H2.953a.329.329,0,0,1-.328-.328V6.453a.329.329,0,0,1,.328-.328H7.547A.329.329,0,0,1,7.875,6.453ZM10.5,3.333V3.5H7V0h.167a.656.656,0,0,1,.465.191l2.677,2.68A.654.654,0,0,1,10.5,3.333Z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='10.5'%20height='14'%20viewBox='0%200%2010.5%2014'%3e%3cpath%20id='Icon_awesome-file-alt'%20data-name='Icon%20awesome-file-alt'%20d='M6.125,3.719V0H.656A.655.655,0,0,0,0,.656V13.344A.655.655,0,0,0,.656,14H9.844a.655.655,0,0,0,.656-.656V4.375H6.781A.658.658,0,0,1,6.125,3.719Zm1.75,6.453a.329.329,0,0,1-.328.328H2.953a.329.329,0,0,1-.328-.328V9.953a.329.329,0,0,1,.328-.328H7.547a.329.329,0,0,1,.328.328Zm0-1.75a.329.329,0,0,1-.328.328H2.953a.329.329,0,0,1-.328-.328V8.2a.329.329,0,0,1,.328-.328H7.547a.329.329,0,0,1,.328.328Zm0-1.969v.219A.329.329,0,0,1,7.547,7H2.953a.329.329,0,0,1-.328-.328V6.453a.329.329,0,0,1,.328-.328H7.547A.329.329,0,0,1,7.875,6.453ZM10.5,3.333V3.5H7V0h.167a.656.656,0,0,1,.465.191l2.677,2.68A.654.654,0,0,1,10.5,3.333Z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/advanced-linux-user-management-a-guide-for-it-pros" data-discover="true">Advanced Linux User Management: A Guide for IT Pros</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/advanced-linux-user-management-a-guide-for-it-pros" data-discover="true">Advanced Linux User Management: A Guide for IT Pros</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Nov 8, 2023</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Linux building blocks" href="/linux-os/itpro-today-s-linux-commands-cheat-sheet" data-discover="true"><div title="Linux building blocks"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt871b43a1f079f10a/6617fa2546b1e945a04ec81b/2K09GJX_0.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt871b43a1f079f10a/6617fa2546b1e945a04ec81b/2K09GJX_0.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Linux building blocks" title="Linux building blocks"/></div></a><a class="ListPreview-IconWrapper" title="Link to all document" aria-label="Redirect to All page" data-testid="content-preview-icon-link" href="/documents" data-discover="true"><span data-component="icon" data-name="Document" class="ListPreview-Icon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='10.5'%20height='14'%20viewBox='0%200%2010.5%2014'%3e%3cpath%20id='Icon_awesome-file-alt'%20data-name='Icon%20awesome-file-alt'%20d='M6.125,3.719V0H.656A.655.655,0,0,0,0,.656V13.344A.655.655,0,0,0,.656,14H9.844a.655.655,0,0,0,.656-.656V4.375H6.781A.658.658,0,0,1,6.125,3.719Zm1.75,6.453a.329.329,0,0,1-.328.328H2.953a.329.329,0,0,1-.328-.328V9.953a.329.329,0,0,1,.328-.328H7.547a.329.329,0,0,1,.328.328Zm0-1.75a.329.329,0,0,1-.328.328H2.953a.329.329,0,0,1-.328-.328V8.2a.329.329,0,0,1,.328-.328H7.547a.329.329,0,0,1,.328.328Zm0-1.969v.219A.329.329,0,0,1,7.547,7H2.953a.329.329,0,0,1-.328-.328V6.453a.329.329,0,0,1,.328-.328H7.547A.329.329,0,0,1,7.875,6.453ZM10.5,3.333V3.5H7V0h.167a.656.656,0,0,1,.465.191l2.677,2.68A.654.654,0,0,1,10.5,3.333Z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='10.5'%20height='14'%20viewBox='0%200%2010.5%2014'%3e%3cpath%20id='Icon_awesome-file-alt'%20data-name='Icon%20awesome-file-alt'%20d='M6.125,3.719V0H.656A.655.655,0,0,0,0,.656V13.344A.655.655,0,0,0,.656,14H9.844a.655.655,0,0,0,.656-.656V4.375H6.781A.658.658,0,0,1,6.125,3.719Zm1.75,6.453a.329.329,0,0,1-.328.328H2.953a.329.329,0,0,1-.328-.328V9.953a.329.329,0,0,1,.328-.328H7.547a.329.329,0,0,1,.328.328Zm0-1.75a.329.329,0,0,1-.328.328H2.953a.329.329,0,0,1-.328-.328V8.2a.329.329,0,0,1,.328-.328H7.547a.329.329,0,0,1,.328.328Zm0-1.969v.219A.329.329,0,0,1,7.547,7H2.953a.329.329,0,0,1-.328-.328V6.453a.329.329,0,0,1,.328-.328H7.547A.329.329,0,0,1,7.875,6.453ZM10.5,3.333V3.5H7V0h.167a.656.656,0,0,1,.465.191l2.677,2.68A.654.654,0,0,1,10.5,3.333Z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/itpro-today-s-linux-commands-cheat-sheet" data-discover="true">ITPro Today's Linux Commands Cheat Sheet</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/itpro-today-s-linux-commands-cheat-sheet" data-discover="true">ITPro Today's Linux Commands Cheat Sheet</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Oct 23, 2023</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: open source phrase made from metallic letterpress blocks on the pc board background" href="/linux-os/what-to-know-about-the-open-enterprise-linux-association" data-discover="true"><div title="open source phrase made from metallic letterpress blocks on the pc board background"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt4a4a679fc74dc770/6617fa5583dd3057bb2c29ed/open_20source_20phrase_20made_20from_20metallic_20letterpress_20blocks_20on_20the_20pc_20board_20background.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt4a4a679fc74dc770/6617fa5583dd3057bb2c29ed/open_20source_20phrase_20made_20from_20metallic_20letterpress_20blocks_20on_20the_20pc_20board_20background.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="open source phrase made from metallic letterpress blocks on the pc board background" title="open source phrase made from metallic letterpress blocks on the pc board background"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/what-to-know-about-the-open-enterprise-linux-association" data-discover="true">What To Know About the Open Enterprise Linux Association</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/what-to-know-about-the-open-enterprise-linux-association" data-discover="true">What To Know About the Open Enterprise Linux Association</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Oct 13, 2023</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: keylock in a blue digital space" href="/linux-os/linux-user-and-group-management-security-best-practices" data-discover="true"><div title="keylock in a blue digital space"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt14b384b46fd50e74/6617fab7b691ed0ced2c904b/2HE1BR5_0.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt14b384b46fd50e74/6617fab7b691ed0ced2c904b/2HE1BR5_0.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="keylock in a blue digital space" title="keylock in a blue digital space"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/linux-user-and-group-management-security-best-practices" data-discover="true">Linux User and Group Management Security Best Practices</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/linux-user-and-group-management-security-best-practices" data-discover="true">Linux User and Group Management Security Best Practices</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Sep 22, 2023</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>9 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: structure of user icons" href="/linux-os/advanced-linux-user-management-privileges-resource-limits-and-more" data-discover="true"><div title="structure of user icons"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt9e29c809887282c9/6617fac42789f420068d8f31/structure_20of_20user_20icons.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt9e29c809887282c9/6617fac42789f420068d8f31/structure_20of_20user_20icons.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="structure of user icons" title="structure of user icons"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/advanced-linux-user-management-privileges-resource-limits-and-more" data-discover="true">Advanced Linux User Management: Privileges, Resource Limits, and More</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/advanced-linux-user-management-privileges-resource-limits-and-more" data-discover="true">Advanced Linux User Management: Privileges, Resource Limits, and More</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Sep 20, 2023</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>11 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: padlock icons overlay people typing on laptops" href="/linux-os/how-to-remotely-manage-linux-users-and-groups" data-discover="true"><div title="padlock icons overlay people typing on laptops"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt4d4a31ca5d6134f5/6617fade85848973f9d1951c/2D89TNG_1.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt4d4a31ca5d6134f5/6617fade85848973f9d1951c/2D89TNG_1.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="padlock icons overlay people typing on laptops" title="padlock icons overlay people typing on laptops"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/how-to-remotely-manage-linux-users-and-groups" data-discover="true">How To Remotely Manage Linux Users and Groups</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/how-to-remotely-manage-linux-users-and-groups" data-discover="true">How To Remotely Manage Linux Users and Groups</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Sep 14, 2023</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>13 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: neon linux sign" href="/linux-os/the-best-linux-commands-a-comprehensive-guide-for-all-users" data-discover="true"><div title="neon linux sign"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfa1afc179dac1e89/6617fb354cef4fc3f2385f56/linux_neon_2.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfa1afc179dac1e89/6617fb354cef4fc3f2385f56/linux_neon_2.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="neon linux sign" title="neon linux sign"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/the-best-linux-commands-a-comprehensive-guide-for-all-users" data-discover="true">The Best Linux Commands: A Comprehensive Guide for All Users</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/the-best-linux-commands-a-comprehensive-guide-for-all-users" data-discover="true">The Best Linux Commands: A Comprehensive Guide for All Users</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Aug 24, 2023</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>16 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Hand holds a padlock hologram" href="/linux-os/how-to-set-up-a-secure-vpn-connection-in-linux" data-discover="true"><div title="Hand holds a padlock hologram"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt997ac831dfd0ff43/6617fb4e8bf0672ef21d417b/Hand_20holds_20a_20padlock_20hologram_0.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt997ac831dfd0ff43/6617fb4e8bf0672ef21d417b/Hand_20holds_20a_20padlock_20hologram_0.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Hand holds a padlock hologram" title="Hand holds a padlock hologram"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/how-to-set-up-a-secure-vpn-connection-in-linux" data-discover="true">How To Set up a Secure VPN Connection in Linux</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/how-to-set-up-a-secure-vpn-connection-in-linux" data-discover="true">How To Set up a Secure VPN Connection in Linux</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Aug 23, 2023</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>12 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: a swarm of malware and viruses" href="/linux-os/linux-malware-what-to-know-about-the-malware-threat" data-discover="true"><div title="a swarm of malware and viruses"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt280b703c0f167635/6617fb62e92bcf7caa8936e9/cyber_crime_alamy_5.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt280b703c0f167635/6617fb62e92bcf7caa8936e9/cyber_crime_alamy_5.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="a swarm of malware and viruses" title="a swarm of malware and viruses"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/linux-malware-what-to-know-about-the-malware-threat" data-discover="true">Linux Malware: What To Know About the Malware Threat</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/linux-malware-what-to-know-about-the-malware-threat" data-discover="true">Linux Malware: What To Know About the Malware Threat</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Aug 18, 2023</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>10 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Linux spelled out on wooden blocks" href="/linux-os/how-to-add-users-to-a-group-in-linux-a-step-by-step-guide" data-discover="true"><div title="Linux spelled out on wooden blocks"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf0c175acd798386a/6617fb72fe9740608682b4e1/2K09GJX.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf0c175acd798386a/6617fb72fe9740608682b4e1/2K09GJX.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Linux spelled out on wooden blocks" title="Linux spelled out on wooden blocks"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/how-to-add-users-to-a-group-in-linux-a-step-by-step-guide" data-discover="true">How To Add Users to a Group in Linux: A Step-by-Step Guide</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/how-to-add-users-to-a-group-in-linux-a-step-by-step-guide" data-discover="true">How To Add Users to a Group in Linux: A Step-by-Step Guide</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Aug 15, 2023</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>10 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: business person looking at the scheme of hierarchy" href="/linux-os/an-in-depth-overview-of-the-linux-file-system-hierarchy" data-discover="true"><div title="business person looking at the scheme of hierarchy"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blta133aa79a27be6bb/6617fbd3d9d60850aca9c991/HRY5XK_20(1).jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blta133aa79a27be6bb/6617fbd3d9d60850aca9c991/HRY5XK_20(1).jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="business person looking at the scheme of hierarchy" title="business person looking at the scheme of hierarchy"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/an-in-depth-overview-of-the-linux-file-system-hierarchy" data-discover="true">An In-Depth Overview of the Linux File System Hierarchy</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/an-in-depth-overview-of-the-linux-file-system-hierarchy" data-discover="true">An In-Depth Overview of the Linux File System Hierarchy</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Jul 21, 2023</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>9 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: computer keyboard close up" href="/linux-os/mastering-file-permissions-in-linux" data-discover="true"><div title="computer keyboard close up"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt86847eddde85afe6/6617fbe3671f1119da8ca758/computer_20keyboard_20close_20up.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt86847eddde85afe6/6617fbe3671f1119da8ca758/computer_20keyboard_20close_20up.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="computer keyboard close up" title="computer keyboard close up"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/mastering-file-permissions-in-linux" data-discover="true">Mastering File Permissions in Linux</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/mastering-file-permissions-in-linux" data-discover="true">Mastering File Permissions in Linux</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Jul 14, 2023</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>12 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: logos of linux penguin in a heap on a table" href="/linux-os/how-to-check-linux-disk-space-usage-classic-sysadmin-tips-and-commands" data-discover="true"><div title="logos of linux penguin in a heap on a table"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6318f53fb81f6207/6617fbdf4e0430620c10ec3b/logos_20of_20linux_20penguin_20on_20a_20heap_20on_20a_20table.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6318f53fb81f6207/6617fbdf4e0430620c10ec3b/logos_20of_20linux_20penguin_20on_20a_20heap_20on_20a_20table.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="logos of linux penguin in a heap on a table" title="logos of linux penguin in a heap on a table"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/how-to-check-linux-disk-space-usage-classic-sysadmin-tips-and-commands" data-discover="true">How To Check Linux Disk Space Usage: Classic SysAdmin Tips and Commands</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/how-to-check-linux-disk-space-usage-classic-sysadmin-tips-and-commands" data-discover="true">How To Check Linux Disk Space Usage: Classic SysAdmin Tips and Commands</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Jun 6, 2023</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>9 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem ListContent-ContentItem_borderless" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Standing Linux text with several people" href="/linux-os/the-best-linux-file-managers-for-managing-your-files" data-discover="true"><div title="Standing Linux text with several people"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt36ddbb50b187fa3f/6617fbe21939a6e46b379664/Screen_20Shot_202023-05-31_20at_204.06.22_20PM.png?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt36ddbb50b187fa3f/6617fbe21939a6e46b379664/Screen_20Shot_202023-05-31_20at_204.06.22_20PM.png?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Standing Linux text with several people" title="Standing Linux text with several people"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_linuxOs ListPreview-Keyword" href="/operating-systems/linux-os" data-discover="true">Linux OS</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/linux-os/the-best-linux-file-managers-for-managing-your-files" data-discover="true">The Best Linux File Managers for Managing Your Files</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/linux-os/the-best-linux-file-managers-for-managing-your-files" data-discover="true">The Best Linux File Managers for Managing Your Files</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Jun 1, 2023</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>8 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Grant Knoetze" href="/author/grant-knoetze" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg?width=100&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Picture of Grant Knoetze" title="Picture of Grant Knoetze"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/grant-knoetze" data-discover="true">Grant Knoetze</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><nav role="navigation" aria-label="Pagination Navigation" data-component="pagination" class="ListContent-Pagination"><ul class="Pagination-Wrapper"><li><a tabindex="-1" aria-label="Cannot go to Previous page" class="Pagination-Link Pagination-Link_disabled" href="/author/grant-knoetze" data-discover="true"><span class="Pagination-PageWrapper"><span class="Pagination-ArrowIconWrapper Pagination-ArrowIconWrapper_disabled"><span data-component="icon" data-name="ArrowLeft" class="Pagination-ArrowIcon Pagination-ArrowIcon_disabled" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='31.504'%20height='30.705'%20viewBox='0%200%2031.504%2030.705'%3e%3cpath%20id='Icon_awesome-arrow-left'%20data-name='Icon%20awesome-arrow-left'%20d='M18.105,31.3l-1.561,1.561a1.681,1.681,0,0,1-2.384,0L.492,19.2a1.681,1.681,0,0,1,0-2.384L14.161,3.143a1.681,1.681,0,0,1,2.384,0L18.105,4.7a1.689,1.689,0,0,1-.028,2.412L9.6,15.188H29.813A1.683,1.683,0,0,1,31.5,16.875v2.25a1.683,1.683,0,0,1-1.687,1.688H9.6l8.473,8.072A1.677,1.677,0,0,1,18.105,31.3Z'%20transform='translate(0.004%20-2.647)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='31.504'%20height='30.705'%20viewBox='0%200%2031.504%2030.705'%3e%3cpath%20id='Icon_awesome-arrow-left'%20data-name='Icon%20awesome-arrow-left'%20d='M18.105,31.3l-1.561,1.561a1.681,1.681,0,0,1-2.384,0L.492,19.2a1.681,1.681,0,0,1,0-2.384L14.161,3.143a1.681,1.681,0,0,1,2.384,0L18.105,4.7a1.689,1.689,0,0,1-.028,2.412L9.6,15.188H29.813A1.683,1.683,0,0,1,31.5,16.875v2.25a1.683,1.683,0,0,1-1.687,1.688H9.6l8.473,8.072A1.677,1.677,0,0,1,18.105,31.3Z'%20transform='translate(0.004%20-2.647)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span><span data-testid="labelText" class="Pagination-Move">Previous</span></span></a></li><li><a tabindex="-1" aria-label="Current page, page 1" class="Pagination-PageNumber Pagination-PageNumber_current" href="/author/grant-knoetze" data-discover="true">1</a></li><li><a tabindex="0" aria-label="Go to page 2" class="Pagination-PageNumber" href="/author/grant-knoetze?page=2" data-discover="true">2</a></li><li><a tabindex="0" aria-label="Go to Next page 2" class="Pagination-Link" href="/author/grant-knoetze?page=2" data-discover="true"><span class="Pagination-PageWrapper"><span data-testid="labelText" class="Pagination-Move">Next</span><span class="Pagination-ArrowIconWrapper"><span data-component="icon" data-name="ArrowRight" class="Pagination-ArrowIcon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='31.504'%20height='30.705'%20viewBox='0%200%2031.504%2030.705'%3e%3cpath%20id='Icon_awesome-arrow-right'%20data-name='Icon%20awesome-arrow-right'%20d='M13.395,4.7l1.561-1.561a1.681,1.681,0,0,1,2.384,0L31.008,16.8a1.681,1.681,0,0,1,0,2.384L17.339,32.857a1.681,1.681,0,0,1-2.384,0L13.395,31.3a1.689,1.689,0,0,1,.028-2.412L21.9,20.813H1.688A1.683,1.683,0,0,1,0,19.125v-2.25a1.683,1.683,0,0,1,1.688-1.687H21.9L13.423,7.116A1.677,1.677,0,0,1,13.395,4.7Z'%20transform='translate(0%20-2.647)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='31.504'%20height='30.705'%20viewBox='0%200%2031.504%2030.705'%3e%3cpath%20id='Icon_awesome-arrow-right'%20data-name='Icon%20awesome-arrow-right'%20d='M13.395,4.7l1.561-1.561a1.681,1.681,0,0,1,2.384,0L31.008,16.8a1.681,1.681,0,0,1,0,2.384L17.339,32.857a1.681,1.681,0,0,1-2.384,0L13.395,31.3a1.689,1.689,0,0,1,.028-2.412L21.9,20.813H1.688A1.683,1.683,0,0,1,0,19.125v-2.25a1.683,1.683,0,0,1,1.688-1.687H21.9L13.423,7.116A1.677,1.677,0,0,1,13.395,4.7Z'%20transform='translate(0%20-2.647)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></span></a></li></ul></nav></div></div><div class="TwoColumnLayout-Sidebar"><div class="Sidebar" data-module="sidebar"><div class="Sidebar-SidebarItem" data-testid="sidebar-item"><div data-module="content-cards" class="ContentCards ContentCards_sidebar"><div class="ContentCards-CardsWrapper ContentCards-CardsWrapper_default"><div class="ContentCards-Header ContentCards-Header_default" data-testid="content-cards-header"><h3 class="ContentCards-Title" data-testid="contentCardsTitle">Editor's Choice</h3></div><div class="ContentCards-Content ContentCards-Content_default"><div class="ContentCards-ContentPreview ContentCards-ContentPreview_default" data-testid="content-preview-default"><div class="ContentPreview" data-module="content-preview" data-variant="card-horizontal"><div class="HorizontalCard"><div class="HorizontalCard-ImageWrapper"><a href="/career-management/it-jobs-outlook-2025-evolving-skills-ai-workplace-flexibility-will-shape-it-workforce" data-discover="true"><span class="HorizontalCard-ImageScreenReaderText">jobs key on keyboard</span><img data-component="image" class="HorizontalCard-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blted009d53042b6a96/673dc873f59c3326ad835a0e/jobs-key-1716x965_-_2024-08-21.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blted009d53042b6a96/673dc873f59c3326ad835a0e/jobs-key-1716x965_-_2024-08-21.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></a></div><div class="HorizontalCard-ContentWrapper"><div class="HorizontalCard-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_careerManagement HorizontalCard-Keyword" href="/career-management" data-discover="true">Career Management</a></div><div class="HorizontalCard-TitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-default-title" href="/career-management/it-jobs-outlook-2025-evolving-skills-ai-workplace-flexibility-will-shape-it-workforce" data-discover="true">IT Jobs Outlook 2025: Evolving Skills, AI, Workplace Flexibility Will Shape IT Workforce</a></div><div class="HorizontalCard-MobileTitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-mobile-title" href="/career-management/it-jobs-outlook-2025-evolving-skills-ai-workplace-flexibility-will-shape-it-workforce" data-discover="true">IT Jobs Outlook 2025: Evolving Skills, AI, Workplace Flexibility Will Shape IT Workforce</a></div><p class="HorizontalCard-Date" data-testid="horizontalCardDate">Nov 20, 2024</p></div></div></div></div><div class="ContentCards-ContentPreview ContentCards-ContentPreview_default" data-testid="content-preview-default"><div class="ContentPreview" data-module="content-preview" data-variant="card-horizontal"><div class="HorizontalCard"><div class="HorizontalCard-ImageWrapper"><a href="/green-it/how-do-i-advocate-for-green-it-without-being-dismissed-as-a-lorax-" data-discover="true"><span class="HorizontalCard-ImageScreenReaderText">an it pro is disappointed as a poster for sustainability is switched with one for financial results and garbage piles up next to a recycling bin</span><img data-component="image" class="HorizontalCard-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt8e3cff5562b9ae01/67462526b7779a7c7bca6346/green_IT_sustainability_hero.gif?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt8e3cff5562b9ae01/67462526b7779a7c7bca6346/green_IT_sustainability_hero.gif?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></a></div><div class="HorizontalCard-ContentWrapper"><div class="HorizontalCard-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_greenIt HorizontalCard-Keyword" href="/it-management/it-sustainability/green-it" data-discover="true">Green IT</a></div><div class="HorizontalCard-TitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-default-title" href="/green-it/how-do-i-advocate-for-green-it-without-being-dismissed-as-a-lorax-" data-discover="true">How Do I Advocate for Green IT Without Being Dismissed as a Lorax?</a></div><div class="HorizontalCard-MobileTitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-mobile-title" href="/green-it/how-do-i-advocate-for-green-it-without-being-dismissed-as-a-lorax-" data-discover="true">How Do I Advocate for Green IT Without Being Dismissed as a Lorax?</a></div><p class="HorizontalCard-Date" data-testid="horizontalCardDate">Nov 27, 2024</p></div></div></div></div><div class="ContentCards-ContentPreview ContentCards-ContentPreview_default" data-testid="content-preview-default"><div class="ContentPreview" data-module="content-preview" data-variant="card-horizontal"><div class="HorizontalCard"><div class="HorizontalCard-ImageWrapper"><a href="/it-operations/3-simple-ways-to-install-and-run-a-virtual-machine-on-ubuntu" data-discover="true"><span class="HorizontalCard-ImageScreenReaderText">person using a laptop with the Ubuntu logo on its scree</span><img data-component="image" class="HorizontalCard-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt169bb0721a0b9a6d/67401d99c70a870d4f57da8d/Ubuntu-1716x965_-_2024-11-22.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt169bb0721a0b9a6d/67401d99c70a870d4f57da8d/Ubuntu-1716x965_-_2024-11-22.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></a></div><div class="HorizontalCard-ContentWrapper"><div class="HorizontalCard-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_itOperations HorizontalCard-Keyword" href="/it-management/it-operations" data-discover="true">IT Operations</a></div><div class="HorizontalCard-TitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-default-title" href="/it-operations/3-simple-ways-to-install-and-run-a-virtual-machine-on-ubuntu" data-discover="true">3 Simple Ways to Install and Run a Virtual Machine on Ubuntu</a></div><div class="HorizontalCard-MobileTitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-mobile-title" href="/it-operations/3-simple-ways-to-install-and-run-a-virtual-machine-on-ubuntu" data-discover="true">3 Simple Ways to Install and Run a Virtual Machine on Ubuntu</a></div><p class="HorizontalCard-Date" data-testid="horizontalCardDate">Nov 22, 2024</p></div></div></div></div></div></div></div></div><div class="Sidebar-SidebarItem" data-testid="sidebar-item"><div data-component="content-list" class="ContentList"><div class="ContentList-Header"><span data-component="icon" data-name="Document" class="ContentList-Icon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='10.5'%20height='14'%20viewBox='0%200%2010.5%2014'%3e%3cpath%20id='Icon_awesome-file-alt'%20data-name='Icon%20awesome-file-alt'%20d='M6.125,3.719V0H.656A.655.655,0,0,0,0,.656V13.344A.655.655,0,0,0,.656,14H9.844a.655.655,0,0,0,.656-.656V4.375H6.781A.658.658,0,0,1,6.125,3.719Zm1.75,6.453a.329.329,0,0,1-.328.328H2.953a.329.329,0,0,1-.328-.328V9.953a.329.329,0,0,1,.328-.328H7.547a.329.329,0,0,1,.328.328Zm0-1.75a.329.329,0,0,1-.328.328H2.953a.329.329,0,0,1-.328-.328V8.2a.329.329,0,0,1,.328-.328H7.547a.329.329,0,0,1,.328.328Zm0-1.969v.219A.329.329,0,0,1,7.547,7H2.953a.329.329,0,0,1-.328-.328V6.453a.329.329,0,0,1,.328-.328H7.547A.329.329,0,0,1,7.875,6.453ZM10.5,3.333V3.5H7V0h.167a.656.656,0,0,1,.465.191l2.677,2.68A.654.654,0,0,1,10.5,3.333Z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='10.5'%20height='14'%20viewBox='0%200%2010.5%2014'%3e%3cpath%20id='Icon_awesome-file-alt'%20data-name='Icon%20awesome-file-alt'%20d='M6.125,3.719V0H.656A.655.655,0,0,0,0,.656V13.344A.655.655,0,0,0,.656,14H9.844a.655.655,0,0,0,.656-.656V4.375H6.781A.658.658,0,0,1,6.125,3.719Zm1.75,6.453a.329.329,0,0,1-.328.328H2.953a.329.329,0,0,1-.328-.328V9.953a.329.329,0,0,1,.328-.328H7.547a.329.329,0,0,1,.328.328Zm0-1.75a.329.329,0,0,1-.328.328H2.953a.329.329,0,0,1-.328-.328V8.2a.329.329,0,0,1,.328-.328H7.547a.329.329,0,0,1,.328.328Zm0-1.969v.219A.329.329,0,0,1,7.547,7H2.953a.329.329,0,0,1-.328-.328V6.453a.329.329,0,0,1,.328-.328H7.547A.329.329,0,0,1,7.875,6.453ZM10.5,3.333V3.5H7V0h.167a.656.656,0,0,1,.465.191l2.677,2.68A.654.654,0,0,1,10.5,3.333Z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span><span class="ContentList-Title" data-testid="content-list-title">Exclusive ITPro Resources</span></div><ul class="ContentList-List"><li class="ContentList-ListItem"><a data-testid="content-list-item-title" href="/devops/itpro-today-s-2024-state-of-devops-report" target="" data-discover="true"><p class="ContentList-ListItemTitle">ITPro Today’s 2024 State of DevOps Report</p></a><span class="ContentList-ListItemDate" data-testid="content-list-item-date">Dec 16, 2024<div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>2 Min<!-- --> <!-- -->Read</span></div></div></span></li><li class="ContentList-ListItem"><a data-testid="content-list-item-title" href="/disaster-recovery/bcdr-basics-a-quick-reference-guide-for-business-continuity-disaster-recovery" target="" data-discover="true"><p class="ContentList-ListItemTitle">BCDR Basics: A Quick Reference Guide for Business Continuity & Disaster Recovery</p></a><span class="ContentList-ListItemDate" data-testid="content-list-item-date">Oct 10, 2024<div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></span></li><li class="ContentList-ListItem"><a data-testid="content-list-item-title" href="/career-management/itpro-today-s-2024-it-priorities-report" target="" data-discover="true"><p class="ContentList-ListItemTitle">ITPro Today’s 2024 IT Priorities Report</p></a><span class="ContentList-ListItemDate" data-testid="content-list-item-date">Sep 25, 2024<div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></span></li><li class="ContentList-ListItem"><a data-testid="content-list-item-title" href="/career-management/tech-careers-quick-reference-guide-to-it-job-titles" target="" data-discover="true"><p class="ContentList-ListItemTitle">Tech Careers: Quick Reference Guide to IT Job Titles</p></a><span class="ContentList-ListItemDate" data-testid="content-list-item-date">Sep 13, 2024<div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></span></li></ul><div class="ContentList-CTAButton"><span data-component="button" role="presentation" class="Button Button_size_medium Button_variant_textLink"><span class="Button-ContentWrapper"><a class="ContentList-CTAText" rel="noreferrer" href="/documents" target="_blank" data-discover="true">See all ITPro Resources</a></span><span data-component="icon" data-name="ChevronRight" class="Button-Icon Button-Icon_position_right" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='13'%20height='21'%20viewBox='0%200%2013%2021'%3e%3cpath%20id='Icon_awesome-chevron-right'%20data-name='Icon%20awesome-chevron-right'%20d='M12.655,11.316,3.122,20.662a1.194,1.194,0,0,1-1.665,0L.345,19.572a1.138,1.138,0,0,1,0-1.63L7.9,10.5.343,3.058a1.138,1.138,0,0,1,0-1.63L1.457.338a1.194,1.194,0,0,1,1.665,0l9.533,9.346A1.138,1.138,0,0,1,12.655,11.316Z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div></div></div><div class="Sidebar-SidebarItem" data-testid="sidebar-item"><div data-module="content-cards" class="ContentCards ContentCards_sidebar"><div class="ContentCards-CardsWrapper ContentCards-CardsWrapper_default"><div class="ContentCards-Header ContentCards-Header_default" data-testid="content-cards-header"><h3 class="ContentCards-Title" data-testid="contentCardsTitle">Featured Technical Explainers</h3></div><div class="ContentCards-Content ContentCards-Content_default"><div class="ContentCards-ContentPreview ContentCards-ContentPreview_default" data-testid="content-preview-default"><div class="ContentPreview" data-module="content-preview" data-variant="card-horizontal"><div class="HorizontalCard"><div class="HorizontalCard-ImageWrapper"><a href="/cloud-computing/cloud-vs-on-prem-ai-accelerators-choosing-the-best-fit-for-your-ai-workloads" data-discover="true"><span class="HorizontalCard-ImageScreenReaderText">AI chip</span><img data-component="image" class="HorizontalCard-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfec5fcbd31c7f2a6/673b100cd675084d0707e288/AI-chip-1716x965_-_2024-11-18.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfec5fcbd31c7f2a6/673b100cd675084d0707e288/AI-chip-1716x965_-_2024-11-18.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></a></div><div class="HorizontalCard-ContentWrapper"><div class="HorizontalCard-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_cloudComputing HorizontalCard-Keyword" href="/cloud-computing" data-discover="true">Cloud Computing</a></div><div class="HorizontalCard-TitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-default-title" href="/cloud-computing/cloud-vs-on-prem-ai-accelerators-choosing-the-best-fit-for-your-ai-workloads" data-discover="true">Cloud vs. On-Prem AI Accelerators: Choosing the Best Fit for Your AI Workloads</a></div><div class="HorizontalCard-MobileTitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-mobile-title" href="/cloud-computing/cloud-vs-on-prem-ai-accelerators-choosing-the-best-fit-for-your-ai-workloads" data-discover="true">Cloud vs. On-Prem AI Accelerators: Choosing the Best Fit for Your AI Workloads</a></div></div></div></div></div><div class="ContentCards-ContentPreview ContentCards-ContentPreview_default" data-testid="content-preview-default"><div class="ContentPreview" data-module="content-preview" data-variant="card-horizontal"><div class="HorizontalCard"><div class="HorizontalCard-ImageWrapper"><a href="/cloud-computing/why-saas-backup-matters-protecting-data-beyond-vendor-guarantees" data-discover="true"><span class="HorizontalCard-ImageScreenReaderText">SaaS concept on a tablet</span><img data-component="image" class="HorizontalCard-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd277e0c4548d3c42/673278ac8d8bc463268a48b4/SaaS-1716x965_-_2024-11-11.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd277e0c4548d3c42/673278ac8d8bc463268a48b4/SaaS-1716x965_-_2024-11-11.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></a></div><div class="HorizontalCard-ContentWrapper"><div class="HorizontalCard-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_cloudComputing HorizontalCard-Keyword" href="/cloud-computing" data-discover="true">Cloud Computing</a></div><div class="HorizontalCard-TitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-default-title" href="/cloud-computing/why-saas-backup-matters-protecting-data-beyond-vendor-guarantees" data-discover="true">Why SaaS Backup Matters: Protecting Data Beyond Vendor Guarantees</a></div><div class="HorizontalCard-MobileTitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-mobile-title" href="/cloud-computing/why-saas-backup-matters-protecting-data-beyond-vendor-guarantees" data-discover="true">Why SaaS Backup Matters: Protecting Data Beyond Vendor Guarantees</a></div></div></div></div></div><div class="ContentCards-ContentPreview ContentCards-ContentPreview_default" data-testid="content-preview-default"><div class="ContentPreview" data-module="content-preview" data-variant="card-horizontal"><div class="HorizontalCard"><div class="HorizontalCard-ImageWrapper"><a href="/devops/devops-key-to-faster-more-efficient-government-software-development" data-discover="true"><span class="HorizontalCard-ImageScreenReaderText">DevOps logo on top of code</span><img data-component="image" class="HorizontalCard-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltdf272a7a39b366c2/672b48253c936766d5282090/DevOps-code-1716x965_-_2024-09-06.jpg?width=300&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltdf272a7a39b366c2/672b48253c936766d5282090/DevOps-code-1716x965_-_2024-09-06.jpg?width=300&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></a></div><div class="HorizontalCard-ContentWrapper"><div class="HorizontalCard-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_devOps HorizontalCard-Keyword" href="/it-management/devops" data-discover="true">DevOps</a></div><div class="HorizontalCard-TitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-default-title" href="/devops/devops-key-to-faster-more-efficient-government-software-development" data-discover="true">DevOps: Key to Faster, More Efficient Government Software Development</a></div><div class="HorizontalCard-MobileTitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-mobile-title" href="/devops/devops-key-to-faster-more-efficient-government-software-development" data-discover="true">DevOps: Key to Faster, More Efficient Government Software Development</a></div></div></div></div></div></div></div></div></div><div class="Sidebar-SidebarItem" data-testid="sidebar-item"><div data-module="newsletter-signup-promo"><div class="SubscribeBanner SubscribeBanner_mode_dark SubscribeBanner_variant_vertical"><div class="SubscribeBanner-Wrapper"><div class="SubscribeBanner-Title" data-testid="subscribeBanner_title">Sign up for the ITPro Today newsletter</div><div class="SubscribeBanner-Message" data-testid="subscribeBanner_message">Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.</div><div class="SubscribeBanner-Button"><a data-component="button" data-testid="bannerNewsletterbutton" class="Button Button_size_medium Button_variant_secondaryFilled" rel="nofollow" data-action-type="sign-up" data-name="subscribe-banner" href="https://itp-resources.itprotoday.com/c/pubRD.mpl?secure=1&sr=pp&_t=pp:&qf=w_itpb86&ch=itpsitebtn" target="_blank"><span class="Button-ContentWrapper">Newsletter Sign-Up</span></a></div></div></div></div></div><div class="Sidebar-SidebarItem" data-testid="sidebar-item"><div data-module="content-cards" class="ContentCards ContentCards_sidebar"><div class="ContentCards-CardsWrapper ContentCards-CardsWrapper_column"><div class="ContentCards-Header ContentCards-Header_column" data-testid="content-cards-header"><h3 class="ContentCards-Title" data-testid="contentCardsTitle">Recent What Is</h3></div><div class="ContentCards-Content ContentCards-Content_column"><div class="ContentCards-ContentPreview ContentCards-ContentPreview_column" data-testid="content-preview-column"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/disaster-recovery/bcdr-basics-a-quick-reference-guide-for-business-continuity-disaster-recovery" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">cartoon shows a person next to a checklist and several icons that represent disaster scenarios</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd6267f0056e427cb/6707f1e94c215e0bdbe8db2f/image-1795x965_(2).jpg?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd6267f0056e427cb/6707f1e94c215e0bdbe8db2f/image-1795x965_(2).jpg?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_disasterRecovery ContentPreview-Category" href="/data-storage/disaster-recovery" data-discover="true">Disaster Recovery</a><a class="ContentPreview-IconWrapper" title="Link to all document" data-testid="content-preview-icon-link" href="/disaster-recovery/bcdr-basics-a-quick-reference-guide-for-business-continuity-disaster-recovery" data-discover="true"><span data-component="icon" data-name="Document" class="ContentPreview-Icon" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='10.5'%20height='14'%20viewBox='0%200%2010.5%2014'%3e%3cpath%20id='Icon_awesome-file-alt'%20data-name='Icon%20awesome-file-alt'%20d='M6.125,3.719V0H.656A.655.655,0,0,0,0,.656V13.344A.655.655,0,0,0,.656,14H9.844a.655.655,0,0,0,.656-.656V4.375H6.781A.658.658,0,0,1,6.125,3.719Zm1.75,6.453a.329.329,0,0,1-.328.328H2.953a.329.329,0,0,1-.328-.328V9.953a.329.329,0,0,1,.328-.328H7.547a.329.329,0,0,1,.328.328Zm0-1.75a.329.329,0,0,1-.328.328H2.953a.329.329,0,0,1-.328-.328V8.2a.329.329,0,0,1,.328-.328H7.547a.329.329,0,0,1,.328.328Zm0-1.969v.219A.329.329,0,0,1,7.547,7H2.953a.329.329,0,0,1-.328-.328V6.453a.329.329,0,0,1,.328-.328H7.547A.329.329,0,0,1,7.875,6.453ZM10.5,3.333V3.5H7V0h.167a.656.656,0,0,1,.465.191l2.677,2.68A.654.654,0,0,1,10.5,3.333Z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='10.5'%20height='14'%20viewBox='0%200%2010.5%2014'%3e%3cpath%20id='Icon_awesome-file-alt'%20data-name='Icon%20awesome-file-alt'%20d='M6.125,3.719V0H.656A.655.655,0,0,0,0,.656V13.344A.655.655,0,0,0,.656,14H9.844a.655.655,0,0,0,.656-.656V4.375H6.781A.658.658,0,0,1,6.125,3.719Zm1.75,6.453a.329.329,0,0,1-.328.328H2.953a.329.329,0,0,1-.328-.328V9.953a.329.329,0,0,1,.328-.328H7.547a.329.329,0,0,1,.328.328Zm0-1.75a.329.329,0,0,1-.328.328H2.953a.329.329,0,0,1-.328-.328V8.2a.329.329,0,0,1,.328-.328H7.547a.329.329,0,0,1,.328.328Zm0-1.969v.219A.329.329,0,0,1,7.547,7H2.953a.329.329,0,0,1-.328-.328V6.453a.329.329,0,0,1,.328-.328H7.547A.329.329,0,0,1,7.875,6.453ZM10.5,3.333V3.5H7V0h.167a.656.656,0,0,1,.465.191l2.677,2.68A.654.654,0,0,1,10.5,3.333Z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/disaster-recovery/bcdr-basics-a-quick-reference-guide-for-business-continuity-disaster-recovery" data-discover="true">BCDR Basics: A Quick Reference Guide for Business Continuity & Disaster Recovery</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/disaster-recovery/bcdr-basics-a-quick-reference-guide-for-business-continuity-disaster-recovery" data-discover="true">BCDR Basics: A Quick Reference Guide for IT Pros</a></div></div></div></div></div><div class="ContentCards-ContentPreview ContentCards-ContentPreview_column" data-testid="content-preview-column"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/powershell/introduction-to-powershell-environment-variables" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">technology interface with a person's hand drawing gears and cogs</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfffa964ee37aaf1e/66f6ee6fe8a6b02af4dab7fe/powershell_environment_variables_chart.png?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfffa964ee37aaf1e/66f6ee6fe8a6b02af4dab7fe/powershell_environment_variables_chart.png?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_powerShell ContentPreview-Category" href="/operating-systems/powershell" data-discover="true">PowerShell</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/powershell/introduction-to-powershell-environment-variables" data-discover="true">Introduction To PowerShell Environment Variables</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/powershell/introduction-to-powershell-environment-variables" data-discover="true">Introduction To PowerShell Environment Variables</a></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="ListContent-NewsletterSignupPromo"><div data-module="newsletter-signup-promo"><div class="SubscribeBanner SubscribeBanner_mode_dark SubscribeBanner_variant_vertical"><div class="SubscribeBanner-Wrapper"><div class="SubscribeBanner-Title" data-testid="subscribeBanner_title">Sign up for the ITPro Today newsletter</div><div class="SubscribeBanner-Message" data-testid="subscribeBanner_message">Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.</div><div class="SubscribeBanner-Button"><a data-component="button" data-testid="bannerNewsletterbutton" class="Button Button_size_medium Button_variant_secondaryFilled" rel="nofollow" data-action-type="sign-up" data-name="subscribe-banner" href="https://itp-resources.itprotoday.com/c/pubRD.mpl?secure=1&sr=pp&_t=pp:&qf=w_itpb86&ch=itpsitebtn" target="_blank"><span class="Button-ContentWrapper">Newsletter Sign-Up</span></a></div></div></div></div></div></div></div></section><footer data-module="footer" class="Footer"><div class="Footer-Background"></div><div data-testid="logo" class="Footer-LogoContainer Footer-LogoContainer_length_2"><a href="/" data-discover="true"><img title="ITPro Today Logo" data-component="image" class="Footer-LogoImage Footer-LogoImage_length_2" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6988047454ea0f07/65def58180429104075f67f7/Logo_-_IT_Pro_Today@2x.png?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6988047454ea0f07/65def58180429104075f67f7/Logo_-_IT_Pro_Today@2x.png?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="ITPro Today Logo"/></a></div><div data-testid="LinkSection" class="LinkSection LinkSection_length_2"><h5 class="LinkSection-Title" data-testid="link-section-title">Discover More</h5><div class="LinkSection-LinksWrapper"><a class="LinkSection-Link" target="_blank" rel="noreferrer" href="https://www.datacenterknowledge.com/">Data Center Knowledge</a><a class="LinkSection-Link" target="_blank" rel="noreferrer" href="https://www.informationweek.com/">InformationWeek</a><a class="LinkSection-Link" target="_blank" rel="noreferrer" href="https://www.networkcomputing.com/">Network Computing</a><a class="LinkSection-Link" target="_blank" rel="noreferrer" href="https://www.nojitter.com/">No Jitter</a><a class="LinkSection-Link" target="_blank" rel="noreferrer" href="https://afcom.com/">AFCOM</a></div></div><div data-testid="LinkSection" class="LinkSection LinkSection_length_2"><h5 class="LinkSection-Title" data-testid="link-section-title">Working With Us</h5><div class="LinkSection-LinksWrapper"><a class="LinkSection-Link" rel="noreferrer" href="/about-us" target="_blank" data-discover="true">About Us</a><a class="LinkSection-Link" target="_blank" rel="noreferrer" href="https://info.wrightsmedia.com/informa-licensing-reprints-request">Reprints</a><a class="LinkSection-Link" rel="noreferrer" href="/advertise" target="_blank" data-discover="true">Advertise</a><a class="LinkSection-Link" rel="noreferrer" href="/contact-us" target="_blank" data-discover="true">Contact Us</a></div></div><div data-testid="registration" class="Footer-RegistrationWrapper"><div class="RegistrationSection RegistrationSection_linkSectionLength_2"><h5 class="RegistrationSection-Title">Join Us</h5><div class="Layout-Register Layout-Register_variant_footer"></div><div class="Layout-NewsLetter Layout-NewsLetter_variant_footer"><div data-module="newsletter-signup-promo"><a data-component="button" data-testid="footerNewsletterButton" class="Button Button_size_medium Button_variant_primaryFilled" rel="nofollow" data-action-type="sign-up" data-name="subscribe-footer" href="https://itp-resources.itprotoday.com/c/pubRD.mpl?secure=1&sr=pp&_t=pp:&qf=w_itpb86&ch=itpsitebtn" target="_blank"><span class="Button-ContentWrapper">Newsletter Sign-Up</span></a></div></div></div></div><div data-testid="social" class="SocialSection SocialSection_linkSectionLength_2"><h5 class="SocialSection-Title">Follow Us</h5><div data-component="social-share" class="SocialShare SocialShare_variant_layout"><a target="_blank" rel="noreferrer" aria-label="Facebook" href="https://www.facebook.com/ITProToday/"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Facebook" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_facebook" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%20320%20512'%3e%3cpath%20d='M279.14%20288l14.22-92.66h-88.91v-60.13c0-25.35%2012.42-50.06%2052.24-50.06h40.42V6.26S260.43%200%20225.36%200c-73.22%200-121.08%2044.38-121.08%20124.72v70.62H22.89V288h81.39v224h100.17V288z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%20320%20512'%3e%3cpath%20d='M279.14%20288l14.22-92.66h-88.91v-60.13c0-25.35%2012.42-50.06%2052.24-50.06h40.42V6.26S260.43%200%20225.36%200c-73.22%200-121.08%2044.38-121.08%20124.72v70.62H22.89V288h81.39v224h100.17V288z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Twitter" href="https://twitter.com/ITProToday"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Twitter" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_twitter" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3e%3c!--!%20Font%20Awesome%20Pro%206.4.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license%20(Commercial%20License)%20Copyright%202023%20Fonticons,%20Inc.%20--%3e%3cpath%20d='M389.2%2048h70.6L305.6%20224.2%20487%20464H345L233.7%20318.6%20106.5%20464H35.8L200.7%20275.5%2026.8%2048H172.4L272.9%20180.9%20389.2%2048zM364.4%20421.8h39.1L151.1%2088h-42L364.4%20421.8z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3e%3c!--!%20Font%20Awesome%20Pro%206.4.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license%20(Commercial%20License)%20Copyright%202023%20Fonticons,%20Inc.%20--%3e%3cpath%20d='M389.2%2048h70.6L305.6%20224.2%20487%20464H345L233.7%20318.6%20106.5%20464H35.8L200.7%20275.5%2026.8%2048H172.4L272.9%20180.9%20389.2%2048zM364.4%20421.8h39.1L151.1%2088h-42L364.4%20421.8z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Linkedin" href="https://www.linkedin.com/company/itpro-today/"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Linkedin" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_linkedin" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%20448%20512'%3e%3cpath%20d='M100.28%20448H7.4V148.9h92.88zM53.79%20108.1C24.09%20108.1%200%2083.5%200%2053.8a53.79%2053.79%200%200%201%20107.58%200c0%2029.7-24.1%2054.3-53.79%2054.3zM447.9%20448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29%200-55.69%2037.7-55.69%2076.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5%2042.69-48.3%2087.88-48.3%2094%200%20111.28%2061.9%20111.28%20142.3V448z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%20448%20512'%3e%3cpath%20d='M100.28%20448H7.4V148.9h92.88zM53.79%20108.1C24.09%20108.1%200%2083.5%200%2053.8a53.79%2053.79%200%200%201%20107.58%200c0%2029.7-24.1%2054.3-53.79%2054.3zM447.9%20448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29%200-55.69%2037.7-55.69%2076.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5%2042.69-48.3%2087.88-48.3%2094%200%20111.28%2061.9%20111.28%20142.3V448z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Youtube" href="https://www.youtube.com/channel/UCedUgT8R7qC3vsOSxXS5-ZA"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Youtube" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_youtube" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%20576%20512'%3e%3cpath%20d='M549.655%20124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781%2064%20288%2064%20288%2064S117.22%2064%2074.629%2075.486c-23.497%206.322-42.003%2024.947-48.284%2048.597-11.412%2042.867-11.412%20132.305-11.412%20132.305s0%2089.438%2011.412%20132.305c6.281%2023.65%2024.787%2041.5%2048.284%2047.821C117.22%20448%20288%20448%20288%20448s170.78%200%20213.371-11.486c23.497-6.321%2042.003-24.171%2048.284-47.821%2011.412-42.867%2011.412-132.305%2011.412-132.305s0-89.438-11.412-132.305zm-317.51%20213.508V175.185l142.739%2081.205-142.739%2081.201z'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20viewBox='0%200%20576%20512'%3e%3cpath%20d='M549.655%20124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781%2064%20288%2064%20288%2064S117.22%2064%2074.629%2075.486c-23.497%206.322-42.003%2024.947-48.284%2048.597-11.412%2042.867-11.412%20132.305-11.412%20132.305s0%2089.438%2011.412%20132.305c6.281%2023.65%2024.787%2041.5%2048.284%2047.821C117.22%20448%20288%20448%20288%20448s170.78%200%20213.371-11.486c23.497-6.321%2042.003-24.171%2048.284-47.821%2011.412-42.867%2011.412-132.305%2011.412-132.305s0-89.438-11.412-132.305zm-317.51%20213.508V175.185l142.739%2081.205-142.739%2081.201z'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="GoogleNews" href="https://news.google.com/publications/CAAqKQgKIiNDQklTRkFnTWFoQUtEbWwwY0hKdmRHOWtZWGt1WTI5dEtBQVAB"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="GoogleNews" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_googleNews" style="mask-image:url("data:image/svg+xml,%3csvg%20id='Capa_1'%20enable-background='new%200%200%20512.288%20512.288'%20height='512'%20viewBox='0%200%20512.288%20512.288'%20width='512'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%3e%3cpath%20d='m91.734%20118.863%2012.516-62.917%20151.894%2030.213%20151.895-30.213%2012.515%2062.917%2024.09%204.791v-107.991h-377v107.991z'/%3e%3cpath%20d='m512.288%20167.697-85.399-16.987%2010.127%2050.915h37.628v155.322z'/%3e%3cpath%20d='m179.256%20101.453-51.436-10.231-4.238%2021.306z'/%3e%3cpath%20d='m406.429%20201.625-21.961-110.403-384.468%2076.475%2037.644%20189.25v-155.322z'/%3e%3cpath%20d='m444.644%20231.625h-377v265h377zm-127%20117.5h82v30h-82zm82-60v30h-82v-30zm-199.5%20162.5c-48.248%200-87.5-39.252-87.5-87.5s39.252-87.5%2087.5-87.5c22.574%200%2044.005%208.572%2060.345%2024.138l-20.692%2021.722c-10.736-10.228-24.818-15.86-39.653-15.86-31.706%200-57.5%2025.794-57.5%2057.5s25.794%2057.5%2057.5%2057.5c26.518%200%2048.901-18.046%2055.516-42.5h-55.516v-30h87.5v15c0%2048.248-39.252%2087.5-87.5%2087.5zm117.5-42.5h82v30h-82z'/%3e%3c/g%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20id='Capa_1'%20enable-background='new%200%200%20512.288%20512.288'%20height='512'%20viewBox='0%200%20512.288%20512.288'%20width='512'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%3e%3cpath%20d='m91.734%20118.863%2012.516-62.917%20151.894%2030.213%20151.895-30.213%2012.515%2062.917%2024.09%204.791v-107.991h-377v107.991z'/%3e%3cpath%20d='m512.288%20167.697-85.399-16.987%2010.127%2050.915h37.628v155.322z'/%3e%3cpath%20d='m179.256%20101.453-51.436-10.231-4.238%2021.306z'/%3e%3cpath%20d='m406.429%20201.625-21.961-110.403-384.468%2076.475%2037.644%20189.25v-155.322z'/%3e%3cpath%20d='m444.644%20231.625h-377v265h377zm-127%20117.5h82v30h-82zm82-60v30h-82v-30zm-199.5%20162.5c-48.248%200-87.5-39.252-87.5-87.5s39.252-87.5%2087.5-87.5c22.574%200%2044.005%208.572%2060.345%2024.138l-20.692%2021.722c-10.736-10.228-24.818-15.86-39.653-15.86-31.706%200-57.5%2025.794-57.5%2057.5s25.794%2057.5%2057.5%2057.5c26.518%200%2048.901-18.046%2055.516-42.5h-55.516v-30h87.5v15c0%2048.248-39.252%2087.5-87.5%2087.5zm117.5-42.5h82v30h-82z'/%3e%3c/g%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_self" rel="noreferrer" aria-label="RSS" href="https://www.itprotoday.com/rss.xml"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="RSS" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_rss" style="mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='25'%20height='25'%20viewBox='0%200%2025%2025'%3e%3cpath%20id='Icon_awesome-rss'%20data-name='Icon%20awesome-rss'%20d='M7.147,23.676A3.574,3.574,0,1,1,3.574,20.1,3.574,3.574,0,0,1,7.147,23.676Zm9.8,2.637A16.968,16.968,0,0,0,.937,10.3.892.892,0,0,0,0,11.193v2.682a.893.893,0,0,0,.831.894,12.5,12.5,0,0,1,11.65,11.65.893.893,0,0,0,.894.831h2.682a.892.892,0,0,0,.893-.937Zm8.05.016A25.017,25.017,0,0,0,.921,2.251.892.892,0,0,0,0,3.144V5.826a.9.9,0,0,0,.862.893A20.539,20.539,0,0,1,20.531,26.388a.9.9,0,0,0,.893.862h2.682A.892.892,0,0,0,25,26.329Z'%20transform='translate(0%20-2.25)'/%3e%3c/svg%3e");-webkit-mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='25'%20height='25'%20viewBox='0%200%2025%2025'%3e%3cpath%20id='Icon_awesome-rss'%20data-name='Icon%20awesome-rss'%20d='M7.147,23.676A3.574,3.574,0,1,1,3.574,20.1,3.574,3.574,0,0,1,7.147,23.676Zm9.8,2.637A16.968,16.968,0,0,0,.937,10.3.892.892,0,0,0,0,11.193v2.682a.893.893,0,0,0,.831.894,12.5,12.5,0,0,1,11.65,11.65.893.893,0,0,0,.894.831h2.682a.892.892,0,0,0,.893-.937Zm8.05.016A25.017,25.017,0,0,0,.921,2.251.892.892,0,0,0,0,3.144V5.826a.9.9,0,0,0,.862.893A20.539,20.539,0,0,1,20.531,26.388a.9.9,0,0,0,.893.862h2.682A.892.892,0,0,0,25,26.329Z'%20transform='translate(0%20-2.25)'/%3e%3c/svg%3e");mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a></div></div><div class="CopyrightsSection"><div class="CopyrightsSection-Background"></div><div data-testid="copyrights" class="CopyrightsSection-Wrapper"><a data-testid="businessUnit" class="CopyrightsSection-BusinessLink" target="_blank" href="https://www.informa.com/"><img title="Informa" data-component="image" class="CopyrightsSection-BusinessImage" data-src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt3cbaa492998ab75f/674ef556a2308a7b8e6c5d5f/Informa_Logo_OneLine_Graduated_White_RGB.png?width=700&auto=webp&quality=80&disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt3cbaa492998ab75f/674ef556a2308a7b8e6c5d5f/Informa_Logo_OneLine_Graduated_White_RGB.png?width=700&auto=webp&quality=80&disable=upscale" loading="lazy" alt="Informa"/></a><div class="CopyrightsSection-TextWrapper"><p data-testid="copyrightText" class="CopyrightsSection-Text"><span class="CopyrightsSection-TextBlock"></span>Copyright © 2025. This website is owned and operated by Informa TechTarget, part of a global network that informs, influences and connects the world’s technology buyers and sellers. All copyright resides with them. Informa PLC’s registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. TechTarget, Inc.’s registered office is 275 Grove St. Newton, MA 02466.</p><div data-testid="copyrightLinks" class="CopyrightsSection-LinksWrapper CopyrightsSection-LinksWrapper_hasLinks"><a class="CopyrightsSection-Link" target="_blank" href="https://www.techtarget.com/">Home<span class="CopyrightsSection-LinkSeparator">|</span></a><a class="CopyrightsSection-Link" rel="noreferrer" target="_blank" href="https://privacyportal-eu-cdn.onetrust.com/dsarwebform/c1f53e84-9f05-4169-a854-85052b63c50b/5f26b553-52cc-4973-a761-295d5634a6b6.html">CCPA: Do not sell my personal info<span class="CopyrightsSection-LinkSeparator">|</span></a><a class="CopyrightsSection-Link" rel="noreferrer" href="/cookie-policy" target="_blank" data-discover="true">Cookies<span class="CopyrightsSection-LinkSeparator">|</span></a><a class="CopyrightsSection-Link" rel="noreferrer" target="_blank" href="https://www.techtarget.com/privacy-policy/">Privacy<span class="CopyrightsSection-LinkSeparator">|</span></a><a class="CopyrightsSection-Link" rel="noreferrer" target="_blank" href="https://tech.informa.com/terms-and-conditions">Terms</a></div></div></div></div></footer></div></div></main><script>((storageKey2, restoreKey) => { if (!window.history.state || !window.history.state.key) { let key = Math.random().toString(32).slice(2); window.history.replaceState({ key }, ""); } try { let positions = JSON.parse(sessionStorage.getItem(storageKey2) || "{}"); let storedY = positions[restoreKey || window.history.state.key]; if (typeof storedY === "number") { window.scrollTo(0, storedY); } } catch (error) { console.error(error); sessionStorage.removeItem(storageKey2); } })("react-router-scroll-positions", null)</script><script>window.__reactRouterContext = {"basename":"/","future":{"unstable_optimizeDeps":false},"isSpaMode":false};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());</script><script type="module" async="">; import * as route0 from "/assets/root-BIuf-57F.js"; import * as route1 from "/assets/author._slug-Dti0AzMH.js"; window.__reactRouterManifest = { "entry": { "module": "/assets/entry.client-fWB18xdV.js", "imports": [ "/assets/chunk-K6AXKMTT-D00r_oVc.js", "/assets/index-BlRIwUgC.js" ], "css": [] }, "routes": { "root": { "id": "root", "path": "", "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/root-BIuf-57F.js", "imports": [ "/assets/chunk-K6AXKMTT-D00r_oVc.js", "/assets/index-BlRIwUgC.js", "/assets/with-props-C4rFUyxV.js", "/assets/gtm-DGm0KW_T.js", "/assets/contentPreview-raReixWB.js", "/assets/_-BJdr63HM.js", "/assets/useArticleProps-B5v1naMg.js", "/assets/provider-vRHVWpv0.js", "/assets/newsletterSignupPromo-C5ZmaayE.js", "/assets/socialShare-BbqkDzDu.js", "/assets/link-C1MkzDH5.js", "/assets/button-DlgCHeeG.js", "/assets/util-BlbSWXsE.js", "/assets/searchBar-CEbzLjII.js", "/assets/useSearchBar-B0qpfoK9.js", "/assets/navigation-BPrJWSO7.js", "/assets/redirection-DiAII56c.js", "/assets/meta-DL0KpjEK.js", "/assets/form-5uUV5058.js" ], "css": [] }, "routes/author.$slug": { "id": "routes/author.$slug", "parentId": "root", "path": "author/:slug", "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/author._slug-Dti0AzMH.js", "imports": [ "/assets/with-props-C4rFUyxV.js", "/assets/chunk-K6AXKMTT-D00r_oVc.js", "/assets/_-BJdr63HM.js", "/assets/gtm-DGm0KW_T.js", "/assets/breadcrumb-D99WjBeI.js", "/assets/contributorSummary-CYbbZoZR.js", "/assets/socialShare-BbqkDzDu.js", "/assets/useArticleProps-B5v1naMg.js", "/assets/listContent-DPrFxO8G.js", "/assets/useWeatherWidget-CqdUxz0N.js", "/assets/meta-DL0KpjEK.js", "/assets/link-C1MkzDH5.js", "/assets/button-DlgCHeeG.js", "/assets/contentPreview-raReixWB.js", "/assets/utils-Bn24zYNJ.js", "/assets/gridLayout-wIbp2Hs_.js", "/assets/pagination-CotFOi0g.js", "/assets/commodityPrices-CuYN6Jxx.js", "/assets/newsletterSignupPromo-C5ZmaayE.js", "/assets/sidebar-C38SyLXI.js", "/assets/weatherWidget-BYzhjHC9.js", "/assets/changeLocationBar-BNl0rC1C.js", "/assets/form-5uUV5058.js", "/assets/contentCards-aFwo1o7S.js", "/assets/videoPlaylist-BaLxtSEs.js", "/assets/contentDomain.generated-DIEwSG95.js", "/assets/toNumber-DCajaT_r.js", "/assets/index-BlRIwUgC.js", "/assets/_getPrototype-3cCw-LUg.js", "/assets/useStorage-gorQNo4e.js" ], "css": [] }, "routes/_index": { "id": "routes/_index", "parentId": "root", "index": true, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_index-fCp8yBJU.js", "imports": [ "/assets/with-props-C4rFUyxV.js", "/assets/chunk-K6AXKMTT-D00r_oVc.js", "/assets/_-BJdr63HM.js", "/assets/gtm-DGm0KW_T.js", "/assets/useArticleProps-B5v1naMg.js", "/assets/moduleSection-BD4rkMdo.js", "/assets/contentDomain.generated-DIEwSG95.js", "/assets/useStorage-gorQNo4e.js", "/assets/meta-DL0KpjEK.js", "/assets/link-C1MkzDH5.js", "/assets/contentCards-aFwo1o7S.js", "/assets/contentPreview-raReixWB.js", "/assets/weatherHomepage-CnI474xN.js", "/assets/button-DlgCHeeG.js", "/assets/socialShare-BbqkDzDu.js", "/assets/index-BObwWQ7a.js", "/assets/weatherWidget-BYzhjHC9.js", "/assets/changeLocationBar-BNl0rC1C.js", "/assets/form-5uUV5058.js", "/assets/commodityPrices-CuYN6Jxx.js", "/assets/videoPlaylist-BaLxtSEs.js", "/assets/toNumber-DCajaT_r.js", "/assets/newsletterSignupPromo-C5ZmaayE.js", "/assets/resources-DIZqnfs4.js" ], "css": [] }, "routes/$topic._index": { "id": "routes/$topic._index", "parentId": "root", "path": ":topic", "index": true, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_topic._index-DgKjDyGQ.js", "imports": [ "/assets/with-props-C4rFUyxV.js", "/assets/chunk-K6AXKMTT-D00r_oVc.js", "/assets/_-BJdr63HM.js", "/assets/gtm-DGm0KW_T.js", "/assets/useArticleProps-B5v1naMg.js", "/assets/breadcrumb-D99WjBeI.js", "/assets/categoryHeader-BNorRpUl.js", "/assets/listContent-DPrFxO8G.js", "/assets/searchBar-CEbzLjII.js", "/assets/useSearchBar-B0qpfoK9.js", "/assets/newsletterSignupPromo-C5ZmaayE.js", "/assets/contentPreview-raReixWB.js", "/assets/utils-Bn24zYNJ.js", "/assets/pagination-CotFOi0g.js", "/assets/button-DlgCHeeG.js", "/assets/filterSection-B0_8V9sY.js", "/assets/topicList-DLI_z99T.js", "/assets/gridLayout-wIbp2Hs_.js", "/assets/featureImageHeader-B2n6UlsK.js", "/assets/moduleSection-BD4rkMdo.js", "/assets/articleMultiSection-B_lQ5uys.js", "/assets/provider-vRHVWpv0.js", "/assets/string-BS_NwYxO.js", "/assets/meta-DL0KpjEK.js", "/assets/useWeatherWidget-CqdUxz0N.js", "/assets/link-C1MkzDH5.js", "/assets/commodityPrices-CuYN6Jxx.js", "/assets/sidebar-C38SyLXI.js", "/assets/weatherWidget-BYzhjHC9.js", "/assets/changeLocationBar-BNl0rC1C.js", "/assets/form-5uUV5058.js", "/assets/contentCards-aFwo1o7S.js", "/assets/videoPlaylist-BaLxtSEs.js", "/assets/contentDomain.generated-DIEwSG95.js", "/assets/toNumber-DCajaT_r.js", "/assets/index-BlRIwUgC.js", "/assets/_getPrototype-3cCw-LUg.js", "/assets/util-BlbSWXsE.js", "/assets/input-zB_nkUn5.js", "/assets/_baseForOwn-ClWWO-WO.js", "/assets/index-BObwWQ7a.js", "/assets/socialShare-BbqkDzDu.js", "/assets/weatherHomepage-CnI474xN.js", "/assets/resources-DIZqnfs4.js", "/assets/contributorSummary-CYbbZoZR.js", "/assets/programHeader-UEd8-rbR.js", "/assets/redirection-DiAII56c.js", "/assets/useStorage-gorQNo4e.js" ], "css": [] } }, "url": "/assets/manifest-c120b55d.js", "version": "c120b55d" }; window.__reactRouterRouteModules = {"root":route0,"routes/author.$slug":route1}; import("/assets/entry.client-fWB18xdV.js");</script><!--$?--><template id="B:0"></template><!--/$--><div hidden id="S:0"><script>window.__reactRouterContext.streamController.enqueue("[{\"_1\":2,\"_1664\":-5,\"_1665\":-5},\"loaderData\",{\"_3\":4,\"_921\":922},\"root\",{\"_5\":6,\"_7\":8,\"_9\":10,\"_11\":12,\"_13\":14,\"_15\":16,\"_27\":28,\"_33\":34,\"_37\":24,\"_38\":39,\"_42\":-7,\"_43\":44,\"_49\":-7,\"_50\":51,\"_62\":63,\"_64\":65,\"_83\":84,\"_809\":810,\"_811\":-7,\"_812\":813,\"_826\":827,\"_857\":858},\"href\",\"http://www.itprotoday.com/author/grant-knoetze\",\"brand\",\"itprotoday\",\"domainUrl\",\"https://www.itprotoday.com\",\"authenticationStatus\",\"anonymous\",\"siteName\",\"ITPro Today\",\"ads\",{\"_17\":18,\"_19\":20,\"_21\":22,\"_23\":24,\"_25\":26},\"networkId\",3834,\"parentAdUnit\",\"itprotoday.home\",\"enabledAds\",\"all\",\"checkClientIP\",false,\"disableSponsorBar\",true,\"authConfig\",{\"_29\":24,\"_30\":-7,\"_31\":-7,\"_32\":24},\"enabled\",\"authenticationConfigId\",\"standaloneRegistrationPage\",\"disableCaptcha\",\"vwo\",{\"_29\":26,\"_35\":36},\"accountId\",\"734041\",\"isDctsTurnOn\",\"oneTrust\",{\"_40\":41},\"siteId\",\"dfd08c13-c8cf-43d1-8ccc-a1ca99dc6d5e\",\"cookieBanner\",\"gtmIds\",{\"_45\":46,\"_47\":48},\"primary\",\"GTM-5523ZCM\",\"secondary\",\"GTM-MTN2X7K\",\"pageContent\",\"ui\",{\"_7\":8,\"_52\":53,\"_54\":55},\"theme\",\"theme1\",\"font\",{\"_45\":56,\"_47\":61},{\"_57\":58,\"_59\":60},\"name\",\"Inter\",\"url\",\"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900\u0026display=swap\",{\"_57\":58,\"_59\":60},\"environment\",\"prod\",\"featureToggles\",{\"_66\":24,\"_67\":24,\"_68\":24,\"_69\":24,\"_70\":24,\"_71\":24,\"_72\":24,\"_73\":24,\"_74\":24,\"_75\":24,\"_76\":77,\"_78\":24,\"_79\":24,\"_80\":26,\"_81\":26,\"_82\":26},\"elnNewsletter\",\"elnWithoutNewsletter\",\"iirisAuthentication\",\"subBrand\",\"useSettingsRedirectAPIVersion1\",\"gatingEnabled\",\"iirisRecommendationDisabled\",\"iasPetEnabled\",\"bridgedMediaEnabled\",\"ecommerceEnabled\",\"iirisRecommendationVer\",\"version4\",\"weather3MonthForecastEnabled\",\"legacyHomepage\",\"oneTrustEnabled\",\"transcendEnabled\",\"useTechInformaBar\",\"layout\",{\"_85\":86,\"_106\":107,\"_130\":131,\"_615\":616,\"_733\":734,\"_740\":741,\"_807\":26,\"_808\":24},\"socialLinks\",[87,91,94,97,100,103],{\"_88\":89,\"_59\":90},\"type\",\"Facebook\",\"https://www.facebook.com/ITProToday/\",{\"_88\":92,\"_59\":93},\"Twitter\",\"https://twitter.com/ITProToday\",{\"_88\":95,\"_59\":96},\"Linkedin\",\"https://www.linkedin.com/company/itpro-today/\",{\"_88\":98,\"_59\":99},\"Youtube\",\"https://www.youtube.com/channel/UCedUgT8R7qC3vsOSxXS5-ZA\",{\"_88\":101,\"_59\":102},\"GoogleNews\",\"https://news.google.com/publications/CAAqKQgKIiNDQklTRkFnTWFoQUtEbWwwY0hKdmRHOWtZWGt1WTI5dEtBQVAB\",{\"_88\":104,\"_59\":105},\"RSS\",\"https://www.itprotoday.com/rss.xml\",\"informaBar\",{\"_29\":26,\"_108\":109,\"_127\":128},\"leftSection\",{\"_110\":111,\"_112\":113},\"description\",\"Together, we power an unparalleled network of 220+ online properties covering 10,000+ granular topics, serving an audience of 50+ million professionals with original, objective content from trusted sources. We help you gain critical insights and make more informed decisions across your business priorities.\",\"subMenu\",[114,118,121,124],{\"_115\":116,\"_59\":117},\"title\",\"INFORMA PLC\",\"https://informa.com/\",{\"_115\":119,\"_59\":120},\"ABOUT US\",\"https://informa.com/about-us/\",{\"_115\":122,\"_59\":123},\"INVESTOR RELATIONS\",\"https://informa.com/investors/\",{\"_115\":125,\"_59\":126},\"TALENT\",\"https://informa.com/talent/\",\"rightSection\",{\"_110\":129},\"This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.\",\"nav\",{\"_132\":133,\"_605\":606},\"mainMenuItems\",[134,213,279,323,368,408,449,487,532,569],{\"_115\":135,\"_59\":136,\"_137\":138,\"_139\":136,\"_140\":26,\"_112\":141,\"_154\":155},\"Cloud\",\"/cloud-computing\",\"seeAllLink\",\"SEE ALL Cloud\",\"seeAllLinkUrl\",\"hasSubMenu\",[142,145,148,151],{\"_115\":143,\"_59\":144},\"Cloud Services\",\"/cloud-computing/cloud-services\",{\"_115\":146,\"_59\":147},\"Hybrid Cloud\",\"/cloud-computing/hybrid-cloud\",{\"_115\":149,\"_59\":150},\"Private Cloud\",\"/cloud-computing/private-cloud\",{\"_115\":152,\"_59\":153},\"Public Cloud\",\"/cloud-computing/public-cloud\",\"recentContents\",[156,197],{\"_157\":158,\"_163\":164,\"_165\":164,\"_166\":167,\"_168\":169,\"_170\":171,\"_172\":173,\"_174\":171,\"_175\":146,\"_176\":147,\"_177\":178,\"_179\":180,\"_191\":192,\"_193\":194,\"_195\":196},\"thumbnail\",{\"_159\":160,\"_161\":162},\"src\",\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltbbbd88e5773ffc6b/67ac97b77c6ab0666ea09ca5/hybrid-cloud-1716x965_-_2024-12-27.jpg\",\"alt\",\"hybrid cloud spelled out above a tablet\",\"articleName\",\"How to Avoid Common Hybrid Cloud Pitfalls\",\"mobileHeadline\",\"articleSummary\",\"Some data and workloads are moving back from cloud to on-premises. It isn't a return to the days of yore, so thoughtful strategy and implementation matter greatly.\",\"articleUrl\",\"/hybrid-cloud/how-to-avoid-common-hybrid-cloud-pitfalls\",\"listPageUrl\",\"\",\"date\",\"Feb 12, 2025\",\"webinarStartTime\",\"categoryName\",\"categoryUrl\",\"contentType\",\"Article\",\"contributors\",[181,187],{\"_57\":182,\"_183\":184,\"_185\":186},\"Lisa Morgan\",\"link\",\"/author/lisa-morgan\",\"avatar\",\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb11c8ae625be7abe/6613c9bdd9d6083199a9aceb/lisamorgan.jpg\",{\"_57\":188,\"_183\":189,\"_185\":190},\"InformationWeek\",\"/author/informationweek\",\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfe700963d293545b/662c186ab6e73c2096cb1da7/251403_Favicon_512x512.png\",\"timeRead\",1,\"variant\",\"card-vertical\",\"layoutVariant\",\"vertical\",{\"_157\":198,\"_163\":201,\"_165\":201,\"_166\":202,\"_168\":203,\"_170\":171,\"_172\":204,\"_174\":171,\"_175\":205,\"_176\":206,\"_177\":178,\"_179\":207,\"_191\":212,\"_193\":194,\"_195\":196},{\"_159\":199,\"_161\":200},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blta45a8c9dbba64a0f/67aa44ccfa3009459556d2c5/cloud-migration-1716x965_-_2025-02-10.jpg\",\"birds flying in a V formation migrating\",\"Moving Off VMware? 5 Things That Can Ruin Your Migration\",\"For organizations looking to move away from VMware, here are five major migration pitfalls and strategies to ensure a smooth transition.\",\"/vmware/moving-off-vmware-5-things-that-can-ruin-your-migration\",\"Feb 10, 2025\",\"VMWare\",\"/cloud-computing/private-cloud/vmware\",[208],{\"_57\":209,\"_183\":210,\"_185\":211},\"Industry Perspectives\",\"/author/industry-perspectives\",\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd7fa51c8929351c1/6659df384bcb3c8c0e786295/ITP_IP.png\",4,{\"_115\":214,\"_59\":215,\"_137\":216,\"_139\":215,\"_140\":26,\"_112\":217,\"_154\":248},\"OS\",\"/operating-systems\",\"See All OS\",[218,221,224,227,230,233,236,239,242,245],{\"_115\":219,\"_59\":220},\"Microsoft Windows\",\"/operating-systems/microsoft-windows\",{\"_115\":222,\"_59\":223},\"Windows Server\",\"/operating-systems/windows-server\",{\"_115\":225,\"_59\":226},\"PowerShell\",\"/operating-systems/powershell\",{\"_115\":228,\"_59\":229},\"Linux OS\",\"/operating-systems/linux-os\",{\"_115\":231,\"_59\":232},\"SQL Server\",\"/operating-systems/sql-server\",{\"_115\":234,\"_59\":235},\"MacOS\",\"/operating-systems/macos\",{\"_115\":237,\"_59\":238},\"Android OS\",\"/operating-systems/android-os\",{\"_115\":240,\"_59\":241},\"ChromeOS\",\"/operating-systems/chromeos\",{\"_115\":243,\"_59\":244},\"Ubuntu\",\"/operating-systems/ubuntu\",{\"_115\":246,\"_59\":247},\"Red Hat OS\",\"/operating-systems/red-hat-os\",[249,263],{\"_157\":250,\"_163\":253,\"_165\":253,\"_166\":254,\"_168\":255,\"_170\":171,\"_172\":256,\"_174\":171,\"_175\":228,\"_176\":229,\"_177\":178,\"_179\":257,\"_191\":262,\"_193\":194,\"_195\":196},{\"_159\":251,\"_161\":252},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt55c34441e4c5f4cf/67ae572a2ba611390a866d2b/image-1716x965_-_2025-02-13T153328.829.jpg\",\"a magnifying glass being help up to an open padlock icon that is set within rows of locked padlocks\",\"Beyond the Basics: Advanced Linux Hardening Techniques\",\"This guide explores advanced hardening techniques, including MAC frameworks, network security enhancements, proactive vulnerability management, container security, and the use of AI for threat detection.\",\"/linux-os/beyond-the-basics-advanced-linux-hardening-techniques\",\"Feb 14, 2025\",[258],{\"_57\":259,\"_183\":260,\"_185\":261},\"Grant Knoetze\",\"/author/grant-knoetze\",\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb840b8274b6e83ca/6613c9f9ddf6623b6265761c/Grant-Knoetze-cropped.jpg\",7,{\"_157\":264,\"_163\":267,\"_165\":267,\"_166\":268,\"_168\":269,\"_170\":270,\"_172\":271,\"_174\":171,\"_175\":225,\"_176\":226,\"_177\":272,\"_179\":273,\"_191\":278,\"_193\":194,\"_195\":196},{\"_159\":265,\"_161\":266},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blta4f99c73f4ce4151/67acbf0caff11157e688512b/hero_powershell_screenshots_(1716_x_965_px).png\",\"an illustration of a laptop open to a PowerShell session with an overlay of text that says fix powershell mapped drive issue\",\"How To Fix Network Drive Issues in Elevated PowerShell Sessions\",\"Watch this tutorial to learn about handling drive mappings in PowerShell, focusing on fixing inaccessible network drives in elevated sessions. \",\"/powershell/how-to-fix-network-drive-issues-in-elevated-powershell-sessions\",\"/videos\",\"Feb 13, 2025\",\"Video\",[274],{\"_57\":275,\"_183\":276,\"_185\":277},\"Brien Posey\",\"/author/brien-posey\",\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltbd2d61ed5b87072c/6613c9a9bce8e3a5a1d68782/Brien_Posey.jpg\",12,{\"_115\":280,\"_59\":281,\"_137\":282,\"_139\":281,\"_140\":26,\"_112\":283,\"_154\":299},\"IT Mgmt\",\"/it-management\",\"See All IT Mgmt\",[284,287,290,293,296],{\"_115\":285,\"_59\":286},\"IT Operations\",\"/it-management/it-operations\",{\"_115\":288,\"_59\":289},\"DevOps\",\"/it-management/devops\",{\"_115\":291,\"_59\":292},\"Ops and More\",\"/it-management/ops-and-more\",{\"_115\":294,\"_59\":295},\"IT Sustainability\",\"/it-management/it-sustainability\",{\"_115\":297,\"_59\":298},\"IT Automation\",\"/it-management/it-automation\",[300,310],{\"_157\":301,\"_163\":304,\"_165\":304,\"_166\":305,\"_168\":306,\"_170\":171,\"_172\":307,\"_174\":171,\"_175\":285,\"_176\":286,\"_177\":178,\"_179\":308,\"_191\":212,\"_193\":194,\"_195\":196},{\"_159\":302,\"_161\":303},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt25e3c89a04824976/67a39988e7f8850fe4b1a343/legacy-systems-1716x965_-_2025-02-05.jpg\",\"legacy system concept art\",\"Rethink, Retain, Revise: Modernizing Legacy Technology in 2025\",\"Enterprises are shifting from chasing trends to strategically modernizing legacy systems, leveraging existing infrastructure with modern enhancements to maximize business value and future-proof operations.\",\"/it-operations/rethink-retain-revise-modernizing-legacy-technology-in-2025\",\"Feb 5, 2025\",[309],{\"_57\":209,\"_183\":210,\"_185\":211},{\"_157\":311,\"_163\":314,\"_165\":314,\"_166\":315,\"_168\":316,\"_170\":171,\"_172\":307,\"_174\":171,\"_175\":285,\"_176\":286,\"_177\":178,\"_179\":317,\"_191\":322,\"_193\":194,\"_195\":196},{\"_159\":312,\"_161\":313},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb2ffdd0054e1271e/67a3663f06b7ea6c8a710f30/accessibility-1716x965_-_2025-02-05.jpg\",\"accessibility key on keyboard\",\"Accessibility Is Still Vital for Businesses\",\"Accessibility is still vital for businesses despite recent federal actions.\",\"/it-operations/accessibility-is-still-vital-for-businesses\",[318],{\"_57\":319,\"_183\":320,\"_185\":321},\"Forrester Blog Network\",\"/author/forrester-blog-network\",\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfaedff1acefcdf54/665892e6ca5ec11c141bd360/forrester-logo.png\",3,{\"_115\":324,\"_59\":325,\"_137\":326,\"_139\":325,\"_140\":26,\"_112\":327,\"_154\":337},\"Career\",\"/career-management\",\"See All Career Mgmt\",[328,331,334],{\"_115\":329,\"_59\":330},\"Career Tips\",\"/career-management/career-tips\",{\"_115\":332,\"_59\":333},\"Certifications\",\"/career-management/certifications\",{\"_115\":335,\"_59\":336},\"Training\",\"/career-management/training\",[338,353],{\"_157\":339,\"_163\":342,\"_165\":342,\"_166\":343,\"_168\":344,\"_170\":171,\"_172\":345,\"_174\":171,\"_175\":346,\"_176\":347,\"_177\":178,\"_179\":348,\"_191\":322,\"_193\":194,\"_195\":196},{\"_159\":340,\"_161\":341},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt9559a8f9078d3a4e/67aa33c656339648630cc13d/Process_Compliance_(1).gif\",\"an annoyed-looking software developer is covered by red tape and the words \\\"process compliance\\\"\",\"Process Standardization Is Stifling My Creativity\",\"A software developer seeks advice about a new manager’s rigid obsession with process standardization, replacing creative problem-solving with excessive bureaucracy. \",\"/software-development/process-standardization-is-stifling-my-creativity\",\"Feb 11, 2025\",\"Software Development\",\"/software-development\",[349],{\"_57\":350,\"_183\":351,\"_185\":352},\"Danielle Meinert\",\"/author/danielle-meinert\",\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6cea48e7fba9fe0c/66744228de07df7824ca2798/danielle-profile-photo.jpeg\",{\"_157\":354,\"_163\":357,\"_165\":357,\"_166\":358,\"_168\":359,\"_170\":171,\"_172\":360,\"_174\":171,\"_175\":361,\"_176\":325,\"_177\":178,\"_179\":362,\"_191\":192,\"_193\":194,\"_195\":196},{\"_159\":355,\"_161\":356},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltc0f0118637589aa8/6617f8529ff5daa897795e23/balloon.jpg\",\"balloon popped by pin\",\"Tech Company Layoffs: The COVID Tech Bubble Bursts\",\"UPDATED Feb. 5, 2025 — As COVID-19 drove everyone online, tech companies hired like crazy. Call it the COVID Tech Bubble. Now we are hitting the COVID tech bust as tech giants shed jobs by the thousands. Check back regularly for updates to our IT job layoffs tracker.\",\"/career-management/tech-company-layoffs-the-covid-tech-bubble-bursts\",\"Feb 6, 2025\",\"Career Management\",[363,367],{\"_57\":364,\"_183\":365,\"_185\":366},\"Brandon Taylor\",\"/author/brandon-taylor\",\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blte8d1693765e9e98a/661d3e06f6197395e0dc3b59/BT_Headshot_cropped.jpg\",{\"_57\":188,\"_183\":189,\"_185\":190},{\"_115\":369,\"_59\":370,\"_137\":371,\"_139\":370,\"_140\":26,\"_112\":372,\"_154\":385},\"Storage\",\"/data-storage\",\"See All Data Storage\",[373,376,379,382],{\"_115\":374,\"_59\":375},\"Cloud Storage\",\"/data-storage/cloud-storage\",{\"_115\":377,\"_59\":378},\"High Speed Storage\",\"/data-storage/high-speed-storage\",{\"_115\":380,\"_59\":381},\"Data Backup\",\"/data-storage/data-backup\",{\"_115\":383,\"_59\":384},\"Disaster Recovery\",\"/data-storage/disaster-recovery\",[386,397],{\"_157\":387,\"_163\":390,\"_165\":390,\"_166\":391,\"_168\":392,\"_170\":171,\"_172\":393,\"_174\":171,\"_175\":228,\"_176\":229,\"_177\":178,\"_179\":394,\"_191\":396,\"_193\":194,\"_195\":196},{\"_159\":388,\"_161\":389},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt88f81fb36d6cbe4a/67a4e82ca4ff164b53d978f6/image-1716x965_-_2025-02-06T113039.208.jpg\",\"the word malware on top of a digital background\",\"How To Identify and Remove Linux Malware Infections\",\"Explore common Linux malware types, how to detect infections, and best practices for removal, recovery, and prevention.\",\"/linux-os/how-to-identify-and-remove-linux-malware-infections\",\"Feb 7, 2025\",[395],{\"_57\":259,\"_183\":260,\"_185\":261},6,{\"_157\":398,\"_163\":401,\"_165\":401,\"_166\":402,\"_168\":403,\"_170\":171,\"_172\":404,\"_174\":171,\"_175\":369,\"_176\":405,\"_177\":178,\"_179\":406,\"_191\":322,\"_193\":194,\"_195\":196},{\"_159\":399,\"_161\":400},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6b8e4fdc01766176/6797b16260c896ce799c7d60/waiting_for_an_IT_process_to_complete.gif\",\"an IT worker is asleep waiting for a long IT process to complete\",\"Can I Speed Up Our Windows Storage Spaces Recovery?\",\"An IT pro seeks advice on speeding up rebuild times after a drive failure in Windows Storage Spaces.\",\"/storage/can-i-speed-up-our-windows-storage-spaces-recovery-\",\"Jan 28, 2025\",\"/operating-systems/windows-server/storage\",[407],{\"_57\":275,\"_183\":276,\"_185\":277},{\"_115\":409,\"_59\":410,\"_137\":411,\"_139\":410,\"_140\":26,\"_112\":412,\"_154\":434},\"Security\",\"/it-security\",\"See All IT Security\",[413,416,419,422,425,428,431],{\"_115\":414,\"_59\":415},\"Vulnerabilities \u0026 Threats\",\"/it-security/vulnerabilities-threats\",{\"_115\":417,\"_59\":418},\"Attacks \u0026 Breaches\",\"/it-security/attacks-breaches\",{\"_115\":420,\"_59\":421},\"Regulatory Compliance\",\"/it-security/regulatory-compliance\",{\"_115\":423,\"_59\":424},\"Data Privacy\",\"/it-security/data-privacy\",{\"_115\":426,\"_59\":427},\"Cloud Security\",\"/it-security/cloud-security\",{\"_115\":429,\"_59\":430},\"Endpoint Security\",\"/it-security/endpoint-security\",{\"_115\":432,\"_59\":433},\"Identity Mgmt \u0026 Access Control\",\"/it-security/identity-management-access-control\",[435,439],{\"_157\":436,\"_163\":253,\"_165\":253,\"_166\":254,\"_168\":255,\"_170\":171,\"_172\":256,\"_174\":171,\"_175\":228,\"_176\":229,\"_177\":178,\"_179\":437,\"_191\":262,\"_193\":194,\"_195\":196},{\"_159\":251,\"_161\":252},[438],{\"_57\":259,\"_183\":260,\"_185\":261},{\"_157\":440,\"_163\":443,\"_165\":443,\"_166\":444,\"_168\":445,\"_170\":171,\"_172\":256,\"_174\":171,\"_175\":446,\"_176\":410,\"_177\":178,\"_179\":447,\"_191\":322,\"_193\":194,\"_195\":196},{\"_159\":441,\"_161\":442},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltc515a852cf3dcfc1/67abc60665fd0460b7f131c6/security-digital-locks-1716x965_-_2025-01-23.jpg\",\"green locks among green code\",\"4 Key Cybersecurity Predictions for 2025 — and What to Do About Them\",\"With cyber breaches reaching record highs in 2024, businesses face increasingly sophisticated threats in 2025 — emphasizing the need for proactive cybersecurity strategies.\",\"/it-security/4-key-cybersecurity-predictions-for-2025-and-what-to-do-about-them\",\"IT Security\",[448],{\"_57\":209,\"_183\":210,\"_185\":211},{\"_115\":450,\"_59\":347,\"_137\":451,\"_139\":347,\"_140\":26,\"_112\":452,\"_154\":465},\"Dev\",\"See All Software Dev\",[453,456,459,462],{\"_115\":454,\"_59\":455},\"Cloud Native\",\"/software-development/cloud-native\",{\"_115\":457,\"_59\":458},\"Programming Languages\",\"/software-development/programming-languages\",{\"_115\":460,\"_59\":461},\"No-Code/Low-Code\",\"/software-development/no-code-low-code\",{\"_115\":463,\"_59\":464},\"Software Development Techniques\",\"/software-development/software-development-techniques\",[466,475],{\"_157\":467,\"_163\":470,\"_165\":470,\"_166\":471,\"_168\":472,\"_170\":171,\"_172\":271,\"_174\":171,\"_175\":463,\"_176\":464,\"_177\":178,\"_179\":473,\"_191\":262,\"_193\":194,\"_195\":196},{\"_159\":468,\"_161\":469},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blta837190fc0e7c602/67ade2fd64f859b14b05f5fd/software-developer-code-1716x965_-_2024-10-18.jpg\",\"software developer writing code on a laptop\",\"The Overlooked Art of Software Localization for Non-Traditional Markets\",\"Despite software's global reach, many companies overlook a critical aspect of their development process: localization for non-traditional markets.\",\"/software-development-techniques/the-overlooked-art-of-software-localization-for-non-traditional-markets\",[474],{\"_57\":209,\"_183\":210,\"_185\":211},{\"_157\":476,\"_163\":479,\"_165\":479,\"_166\":480,\"_168\":481,\"_170\":171,\"_172\":173,\"_174\":171,\"_175\":457,\"_176\":458,\"_177\":178,\"_179\":482,\"_191\":212,\"_193\":194,\"_195\":196},{\"_159\":477,\"_161\":478},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt5909abfc937d3424/67ac2a0b0353bd52ccfa61c0/Rust-1716x965_-_2025-02-11.jpg\",\"Rust inscription against a laptop and code background\",\"Rust Isn't New. Why Is It Suddenly So Popular?\",\"Rust's surge in popularity isn't just about security — it's also driven by developer fatigue with traditional languages like C and Java, as Rust offers a modern, efficient, and safer alternative.\",\"/programming-languages/rust-isn-t-new-why-is-it-suddenly-so-popular-\",[483],{\"_57\":484,\"_183\":485,\"_185\":486},\"Christopher Tozzi\",\"/author/christopher-tozzi\",\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt363e2b757d4697ca/6613c9a4e92bcfe48a891995/christophertozzi_2.jpg\",{\"_115\":488,\"_59\":489,\"_137\":490,\"_139\":489,\"_140\":26,\"_112\":491,\"_154\":501},\"DX\",\"/digital-transformation\",\"See All Digital Transformation\",[492,495,498],{\"_115\":493,\"_59\":494},\"AI \u0026 Machine Learning\",\"/digital-transformation/ai-machine-learning\",{\"_115\":496,\"_59\":497},\"Edge Computing\",\"/digital-transformation/edge-computing\",{\"_115\":499,\"_59\":500},\"IoT\",\"/digital-transformation/iot\",[502,520],{\"_157\":503,\"_163\":506,\"_165\":506,\"_166\":507,\"_168\":508,\"_170\":171,\"_172\":271,\"_174\":171,\"_175\":509,\"_176\":510,\"_177\":178,\"_179\":511,\"_191\":192,\"_193\":194,\"_195\":196},{\"_159\":504,\"_161\":505},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt69d94dcd72a4db9f/67ae1100ad887dd518e25db4/image-1716x965_-_2025-02-13T103415.639.jpg\",\"a worker wearing a headset and communicating in a virtual meeting\",\"How AI Is Set To Transform Enterprise Communications\",\"By dynamically providing relevant information in real time, assorted AI applications can ease friction in collaborative workspaces.\",\"/unified-communications/how-ai-is-set-to-transform-enterprise-communications\",\"Unified Communications\",\"/cloud-computing/cloud-services/unified-communications\",[512,516],{\"_57\":513,\"_183\":514,\"_185\":515},\"Nathan Eddy\",\"/author/nathan-eddy\",\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd76bf4740a6e8198/6658946837ce132abb475f63/nathan-eddy-pic.webp\",{\"_57\":517,\"_183\":518,\"_185\":519},\"No Jitter\",\"/author/no-jitter\",\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltbc339c03bce0d3c3/667a03d1c162ae7af22b4acb/NoJitterIcon.png\",{\"_157\":521,\"_163\":524,\"_165\":524,\"_166\":525,\"_168\":526,\"_170\":171,\"_172\":173,\"_174\":171,\"_175\":414,\"_176\":415,\"_177\":178,\"_179\":527,\"_191\":192,\"_193\":194,\"_195\":196},{\"_159\":522,\"_161\":523},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt9c875e3785f04fb5/67acc4fefe3daf3f035e4212/image-1716x965_-_2025-02-12T105740.899.jpg\",\"magnifying glass over the deepseek logo\",\"DeepSeek AI Fails Multiple Security Tests, Raising Red Flag for Businesses\",\"The popular generative AI (GenAI) model allows hallucinations, easily avoidable guardrails, susceptibility to jailbreaking and malware creation requests, and more at critically high rates, researchers find.\",\"/vulnerabilities-threats/deepseek-ai-fails-multiple-security-tests-raising-red-flag-for-businesses\",[528],{\"_57\":529,\"_183\":530,\"_185\":531},\"Elizabeth Montalbano\",\"/author/elizabeth-montalbano\",\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt0a86a6caebda728d/6679e892e2996e5af7f7d1a5/ElizabethMontalbano.png\",{\"_115\":533,\"_59\":534,\"_137\":535,\"_139\":534,\"_140\":26,\"_112\":536,\"_154\":546},\"Infrastructure\",\"/it-infrastructure\",\"See All Infrastructure\",[537,540,543],{\"_115\":538,\"_59\":539},\"High Performance Computing\",\"/it-infrastructure/high-performance-computing\",{\"_115\":541,\"_59\":542},\"Containerization\",\"/it-infrastructure/containerization\",{\"_115\":544,\"_59\":545},\"Server Virtualization\",\"/it-infrastructure/server-virtualization\",[547,556],{\"_157\":548,\"_163\":551,\"_165\":551,\"_166\":552,\"_168\":553,\"_170\":171,\"_172\":393,\"_174\":171,\"_175\":493,\"_176\":494,\"_177\":178,\"_179\":554,\"_191\":212,\"_193\":194,\"_195\":196},{\"_159\":549,\"_161\":550},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blte1ae920643569ab5/67a52cba2f8fd4865d38e4c5/silicon-1716x965_-_2025-02-06.jpg\",\"computer CPU\",\"How Silicon Diversity Optimizes Cost, Performance Across the AI Lifecycle\",\"Strategically matching AI workloads to the right compute resources — through training, inference, and serverless inference — helps organizations control costs while maximizing performance.\",\"/ai-machine-learning/how-silicon-diversity-optimizes-cost-performance-across-the-ai-lifecycle\",[555],{\"_57\":209,\"_183\":210,\"_185\":211},{\"_157\":557,\"_163\":560,\"_165\":560,\"_166\":561,\"_168\":562,\"_170\":171,\"_172\":360,\"_174\":171,\"_175\":563,\"_176\":136,\"_177\":178,\"_179\":564,\"_191\":212,\"_193\":194,\"_195\":196},{\"_159\":558,\"_161\":559},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt298830a6ef315a10/67a499ad7dd653a5eef998b6/containers-1716x965_-_2025-02-06.jpg\",\"large containers being moved\",\"Cloud Infrastructure Reaches Turning Point as Container Adoption Becomes Universal\",\"Container adoption hits 90% as enterprises grapple with the complexity of Kubernetes, a new Nutanix study finds.\",\"/cloud-computing/cloud-infrastructure-reaches-turning-point-as-container-adoption-becomes-universal\",\"Cloud Computing\",[565],{\"_57\":566,\"_183\":567,\"_185\":568},\"Sean Michael Kerner\",\"/author/sean-michael-kerner\",\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltee90581768c0b698/661d3e06d44b2446681f4a1d/SM-kerner.png\",{\"_115\":570,\"_59\":571,\"_137\":572,\"_139\":571,\"_140\":26,\"_112\":573,\"_154\":604},\"More\",\"/resources\",\"Resource Library\",[574,577,580,582,584,587,590,593,595,598,601],{\"_115\":575,\"_59\":576},\"Newsletters\",\"https://itp-resources.itprotoday.com/c/pubRD.mpl?secure=1\u0026sr=pp\u0026_t=pp:\u0026qf=w_itpb86\u0026ch=itpnav\",{\"_115\":578,\"_59\":579},\"How To…?\",\"/latest-how-to\",{\"_115\":209,\"_59\":581},\"/program/industry-perspectives\",{\"_115\":583,\"_59\":571},\"Business Resources\",{\"_115\":585,\"_59\":586},\"Reports/Research\",\"/resources?types=Survey+Report\u0026page=1\",{\"_115\":588,\"_59\":589},\"Online Events\",\"/resources?page=1\u0026types=Virtual+Event\u0026types=Webinar\",{\"_115\":591,\"_59\":592},\"Live Events\",\"/events\",{\"_115\":594,\"_59\":270},\"Videos\",{\"_115\":596,\"_59\":597},\"White Papers\",\"/resources?page=1\u0026types=White+Paper\",{\"_115\":599,\"_59\":600},\"Advertise With Us\",\"/advertise\",{\"_115\":602,\"_59\":603},\"About Us\",\"/about-us\",[],\"secondaryMenu\",[607,610,611,613],{\"_115\":608,\"_59\":609},\"Documents\",\"/documents\",{\"_115\":588,\"_59\":589},{\"_115\":612,\"_59\":600},\"Advertise\",{\"_115\":614,\"_59\":603},\"About\",\"megaMenu\",{\"_617\":618,\"_693\":694,\"_724\":725},\"largeMenu\",[619,625,637,644,649,655,664,670,675,680],{\"_115\":135,\"_59\":136,\"_112\":620,\"_137\":138,\"_139\":136},[621,622,623,624],{\"_115\":143,\"_59\":144},{\"_115\":146,\"_59\":147},{\"_115\":149,\"_59\":150},{\"_115\":152,\"_59\":153},{\"_115\":214,\"_59\":215,\"_112\":626,\"_137\":216,\"_139\":215},[627,628,629,630,631,632,633,634,635,636],{\"_115\":219,\"_59\":220},{\"_115\":222,\"_59\":223},{\"_115\":225,\"_59\":226},{\"_115\":228,\"_59\":229},{\"_115\":231,\"_59\":232},{\"_115\":234,\"_59\":235},{\"_115\":237,\"_59\":238},{\"_115\":240,\"_59\":241},{\"_115\":243,\"_59\":244},{\"_115\":246,\"_59\":247},{\"_115\":280,\"_59\":281,\"_112\":638,\"_137\":282,\"_139\":281},[639,640,641,642,643],{\"_115\":285,\"_59\":286},{\"_115\":288,\"_59\":289},{\"_115\":291,\"_59\":292},{\"_115\":294,\"_59\":295},{\"_115\":297,\"_59\":298},{\"_115\":324,\"_59\":325,\"_112\":645,\"_137\":326,\"_139\":325},[646,647,648],{\"_115\":329,\"_59\":330},{\"_115\":332,\"_59\":333},{\"_115\":335,\"_59\":336},{\"_115\":369,\"_59\":370,\"_112\":650,\"_137\":371,\"_139\":370},[651,652,653,654],{\"_115\":374,\"_59\":375},{\"_115\":377,\"_59\":378},{\"_115\":380,\"_59\":381},{\"_115\":383,\"_59\":384},{\"_115\":409,\"_59\":410,\"_112\":656,\"_137\":411,\"_139\":410},[657,658,659,660,661,662,663],{\"_115\":414,\"_59\":415},{\"_115\":417,\"_59\":418},{\"_115\":420,\"_59\":421},{\"_115\":423,\"_59\":424},{\"_115\":426,\"_59\":427},{\"_115\":429,\"_59\":430},{\"_115\":432,\"_59\":433},{\"_115\":450,\"_59\":347,\"_112\":665,\"_137\":451,\"_139\":347},[666,667,668,669],{\"_115\":454,\"_59\":455},{\"_115\":457,\"_59\":458},{\"_115\":460,\"_59\":461},{\"_115\":463,\"_59\":464},{\"_115\":488,\"_59\":489,\"_112\":671,\"_137\":490,\"_139\":489},[672,673,674],{\"_115\":493,\"_59\":494},{\"_115\":496,\"_59\":497},{\"_115\":499,\"_59\":500},{\"_115\":533,\"_59\":534,\"_112\":676,\"_137\":535,\"_139\":534},[677,678,679],{\"_115\":538,\"_59\":539},{\"_115\":541,\"_59\":542},{\"_115\":544,\"_59\":545},{\"_115\":570,\"_59\":571,\"_112\":681,\"_137\":572,\"_139\":571},[682,683,684,685,686,687,688,689,690,691,692],{\"_115\":575,\"_59\":576},{\"_115\":578,\"_59\":579},{\"_115\":209,\"_59\":581},{\"_115\":583,\"_59\":571},{\"_115\":585,\"_59\":586},{\"_115\":588,\"_59\":589},{\"_115\":591,\"_59\":592},{\"_115\":594,\"_59\":270},{\"_115\":596,\"_59\":597},{\"_115\":599,\"_59\":600},{\"_115\":602,\"_59\":603},\"smallMenu\",[695,704,708],{\"_115\":696,\"_59\":171,\"_112\":697},\"Browse\",[698,699,700,701,702,703],{\"_115\":608,\"_59\":609},{\"_115\":588,\"_59\":589},{\"_115\":591,\"_59\":592},{\"_115\":594,\"_59\":270},{\"_115\":209,\"_59\":581},{\"_115\":583,\"_59\":571},{\"_115\":612,\"_59\":171,\"_112\":705},[706],{\"_115\":707,\"_59\":600},\"Explore Marketing Solutions\",{\"_115\":709,\"_59\":171,\"_112\":710},\"Discover More\",[711,714,716,719,721],{\"_115\":712,\"_59\":713},\"Data Center Knowledge\",\"https://www.datacenterknowledge.com/\",{\"_115\":188,\"_59\":715},\"https://www.informationweek.com/\",{\"_115\":717,\"_59\":718},\"Network Computing\",\"https://www.networkcomputing.com/\",{\"_115\":517,\"_59\":720},\"https://www.nojitter.com/\",{\"_115\":722,\"_59\":723},\"AFCOM\",\"https://afcom.com/\",\"sideNavSections\",[726],{\"_115\":727,\"_59\":171,\"_112\":728,\"_137\":171,\"_139\":171},\"Communicate\",[729,730],{\"_115\":602,\"_59\":603},{\"_115\":731,\"_59\":732},\"Contact Us\",\"/contact-us\",\"navBase\",{\"_735\":736},\"logo\",{\"_59\":737,\"_738\":739},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6a28f214e959257b/65dc5966d7e7df040ab9cb3f/Logo_-_IT_Pro_Today.svg\",\"altText\",\"ITPro Today Logo\",\"footer\",{\"_735\":742,\"_744\":745,\"_775\":776,\"_777\":778},{\"_59\":743,\"_738\":739},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6988047454ea0f07/65def58180429104075f67f7/Logo_-_IT_Pro_Today@2x.png\",\"linkSections\",[746,762],{\"_747\":748,\"_115\":709,\"_88\":761},\"links\",[749,753,755,757,759],{\"_750\":751,\"_752\":26,\"_115\":712,\"_59\":713},\"image\",{\"_738\":171,\"_59\":743},\"openInNewTab\",{\"_750\":754,\"_752\":26,\"_115\":188,\"_59\":715},{\"_738\":171,\"_59\":743},{\"_750\":756,\"_752\":26,\"_115\":717,\"_59\":718},{\"_738\":171,\"_59\":743},{\"_750\":758,\"_752\":26,\"_115\":517,\"_59\":720},{\"_738\":171,\"_59\":743},{\"_750\":760,\"_752\":26,\"_115\":722,\"_59\":723},{\"_738\":171,\"_59\":743},\"1\",{\"_747\":763,\"_115\":774,\"_88\":761},[764,766,770,772],{\"_750\":765,\"_752\":26,\"_115\":602,\"_59\":603},{\"_738\":171,\"_59\":743},{\"_750\":767,\"_752\":26,\"_115\":768,\"_59\":769},{\"_738\":171,\"_59\":743},\"Reprints\",\"https://info.wrightsmedia.com/informa-licensing-reprints-request\",{\"_750\":771,\"_752\":26,\"_115\":612,\"_59\":600},{\"_738\":171,\"_59\":743},{\"_750\":773,\"_752\":26,\"_115\":731,\"_59\":732},{\"_738\":171,\"_59\":743},\"Working With Us\",\"brandLinks\",[],\"copyright\",{\"_779\":780,\"_747\":785,\"_115\":806},\"businessUnit\",{\"_59\":781,\"_57\":782,\"_783\":784},\"https://www.informa.com/\",\"Informa\",\"logoUrl\",\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt3cbaa492998ab75f/674ef556a2308a7b8e6c5d5f/Informa_Logo_OneLine_Graduated_White_RGB.png\",[786,790,794,798,802],{\"_750\":787,\"_752\":24,\"_115\":788,\"_59\":789},{\"_738\":788,\"_59\":789},\"Home\",\"https://www.techtarget.com/\",{\"_750\":791,\"_752\":26,\"_115\":792,\"_59\":793},{\"_738\":792,\"_59\":793},\"CCPA: Do not sell my personal info\",\"https://privacyportal-eu-cdn.onetrust.com/dsarwebform/c1f53e84-9f05-4169-a854-85052b63c50b/5f26b553-52cc-4973-a761-295d5634a6b6.html\",{\"_750\":795,\"_752\":26,\"_115\":796,\"_59\":797},{\"_738\":796,\"_59\":797},\"Cookies\",\"/cookie-policy\",{\"_750\":799,\"_752\":26,\"_115\":800,\"_59\":801},{\"_738\":800,\"_59\":801},\"Privacy\",\"https://www.techtarget.com/privacy-policy/\",{\"_750\":803,\"_752\":26,\"_115\":804,\"_59\":805},{\"_738\":804,\"_59\":805},\"Terms\",\"https://tech.informa.com/terms-and-conditions\",\". This website is owned and operated by Informa TechTarget, part of a global network that informs, influences and connects the world’s technology buyers and sellers. All copyright resides with them. Informa PLC’s registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. TechTarget, Inc.’s registered office is 275 Grove St. Newton, MA 02466.\",\"isSponsorBarEnabled\",\"isPaidContent\",\"newRelicJs\",\"window.NREUM||(NREUM={});NREUM.info = {\\\"agent\\\":\\\"\\\",\\\"beacon\\\":\\\"bam.eu01.nr-data.net\\\",\\\"errorBeacon\\\":\\\"bam.eu01.nr-data.net\\\",\\\"licenseKey\\\":\\\"NRJS-26ae6a3b09493bbcc87\\\",\\\"applicationID\\\":\\\"514059305\\\",\\\"agentToken\\\":null,\\\"applicationTime\\\":8.507647,\\\"transactionName\\\":\\\"MhBSZQoZWEEDU0ZaXgtac0QLDFlfTR9TRkUNGkIeHwpXXBYdWV1eAAFKVA==\\\",\\\"queueTime\\\":0,\\\"ttGuid\\\":\\\"3608892ae4f0aaf5\\\"}; (window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:[\\\"bam.eu01.nr-data.net\\\"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:\\\"538480682\\\",accountID:\\\"3936348\\\",trustKey:\\\"3288925\\\",xpid:\\\"Vw8EV1VXABAFVVVSAggEVlE=\\\",licenseKey:\\\"NRJS-26ae6a3b09493bbcc87\\\",applicationID:\\\"514059305\\\"};;/*! For license information please see nr-loader-spa-1.281.0.min.js.LICENSE.txt */\\n(()=\u003e{var e,t,r={8122:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{a:()=\u003ei});var n=r(944);function i(e,t){try{if(!e||\\\"object\\\"!=typeof e)return(0,n.R)(3);if(!t||\\\"object\\\"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])\u0026\u0026Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):\\\"object\\\"==typeof e[a]\u0026\u0026\\\"object\\\"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{Vp:()=\u003ec,fn:()=\u003es,x1:()=\u003eu});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey\u0026\u0026!!t.errorBeacon\u0026\u0026!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error(\\\"All info objects require an agent identifier!\\\");if(!a[e])throw new Error(\\\"Info for \\\".concat(e,\\\" was never set\\\"));return a[e]}function u(e,t){if(!e)throw new Error(\\\"All info objects require an agent identifier!\\\");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r\u0026\u0026(r.info=a[e])}},9417:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{D0:()=\u003ep,gD:()=\u003em,xN:()=\u003eg});var n=r(3333),i=r(993);const o=e=\u003e{if(!e||\\\"string\\\"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var a=r(2614),s=r(944),c=r(384),u=r(8122);const d=\\\"[data-nr-mask]\\\",l=()=\u003e{const e={feature_flags:[],experimental:{marks:!1,measures:!1,resources:!1},mask_selector:\\\"*\\\",block_selector:\\\"[data-nr-block]\\\",mask_input_options:{color:!1,date:!1,\\\"datetime-local\\\":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0,level:i.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{get capture_marks(){return e.feature_flags.includes(n.$v.MARKS)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(n.$v.MEASURES)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(n.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:a.wk,inactiveMs:a.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){o(t)?e.mask_selector=\\\"\\\".concat(t,\\\",\\\").concat(d):\\\"\\\"===t||null===t?e.mask_selector=d:(0,s.R)(5,t)},get block_class(){return\\\"nr-block\\\"},get ignore_class(){return\\\"nr-ignore\\\"},get mask_text_class(){return\\\"nr-mask\\\"},get block_selector(){return e.block_selector},set block_selector(t){o(t)?e.block_selector+=\\\",\\\".concat(t):\\\"\\\"!==t\u0026\u0026(0,s.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t\u0026\u0026\\\"object\\\"==typeof t?e.mask_input_options={...t,password:!0}:(0,s.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:[\\\"id\\\",\\\"className\\\",\\\"tagName\\\",\\\"type\\\"]}}},f={},h=\\\"All configuration objects require an agent identifier!\\\";function p(e){if(!e)throw new Error(h);if(!f[e])throw new Error(\\\"Configuration for \\\".concat(e,\\\" was never set\\\"));return f[e]}function g(e,t){if(!e)throw new Error(h);f[e]=(0,u.a)(t,l());const r=(0,c.nY)(e);r\u0026\u0026(r.init=f[e])}function m(e,t){if(!e)throw new Error(h);var r=p(e);if(r){for(var n=t.split(\\\".\\\"),i=0;i\u003cn.length-1;i++)if(\\\"object\\\"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{a:()=\u003ec,o:()=\u003es});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error(\\\"All loader-config objects require an agent identifier!\\\");if(!a[e])throw new Error(\\\"LoaderConfig for \\\".concat(e,\\\" was never set\\\"));return a[e]}function c(e,t){if(!e)throw new Error(\\\"All loader-config objects require an agent identifier!\\\");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r\u0026\u0026(r.loader_config=a[e])}},3371:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{V:()=\u003ef,f:()=\u003el});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0,harvester:void 0},d={};function l(e){if(!e)throw new Error(\\\"All runtime objects require an agent identifier!\\\");if(!d[e])throw new Error(\\\"Runtime for \\\".concat(e,\\\" was never set\\\"));return d[e]}function f(e,t){if(!e)throw new Error(\\\"All runtime objects require an agent identifier!\\\");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],\\\"harvestCount\\\")||Object.defineProperty(d[e],\\\"harvestCount\\\",{get:()=\u003e++s});const r=(0,i.nY)(e);r\u0026\u0026(r.runtime=d[e])}},9324:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{F3:()=\u003ei,Xs:()=\u003eo,Yq:()=\u003ea,xv:()=\u003en});const n=\\\"1.281.0\\\",i=\\\"PROD\\\",o=\\\"CDN\\\",a=\\\"^2.0.0-alpha.17\\\"},6154:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{A4:()=\u003es,OF:()=\u003ed,RI:()=\u003ei,WN:()=\u003eh,bv:()=\u003eo,gm:()=\u003ea,lR:()=\u003ef,m:()=\u003eu,mw:()=\u003ec,sb:()=\u003el});var n=r(1863);const i=\\\"undefined\\\"!=typeof window\u0026\u0026!!window.document,o=\\\"undefined\\\"!=typeof WorkerGlobalScope\u0026\u0026(\\\"undefined\\\"!=typeof self\u0026\u0026self instanceof WorkerGlobalScope\u0026\u0026self.navigator instanceof WorkerNavigator||\\\"undefined\\\"!=typeof globalThis\u0026\u0026globalThis instanceof WorkerGlobalScope\u0026\u0026globalThis.navigator instanceof WorkerNavigator),a=i?window:\\\"undefined\\\"!=typeof WorkerGlobalScope\u0026\u0026(\\\"undefined\\\"!=typeof self\u0026\u0026self instanceof WorkerGlobalScope\u0026\u0026self||\\\"undefined\\\"!=typeof globalThis\u0026\u0026globalThis instanceof WorkerGlobalScope\u0026\u0026globalThis),s=\\\"complete\\\"===a?.document?.readyState,c=Boolean(\\\"hidden\\\"===a?.document?.visibilityState),u=\\\"\\\"+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d\u0026\u0026\\\"undefined\\\"==typeof SharedWorker,f=(()=\u003e{const e=a.navigator?.userAgent?.match(/Firefox[/\\\\s](\\\\d+\\\\.\\\\d+)/);return Array.isArray(e)\u0026\u0026e.length\u003e=2?+e[1]:0})(),h=Date.now()-(0,n.t)()},7295:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{Xv:()=\u003ea,gX:()=\u003ei,iW:()=\u003eo});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t\u003cn.length;t++){var r=n[t];if(\\\"*\\\"===r.hostname)return!1;if(s(r.hostname,e.hostname)\u0026\u0026c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e\u0026\u0026e.length)for(var t=0;t\u003ce.length;t++){let r=e[t];if(!r)continue;0===r.indexOf(\\\"http://\\\")?r=r.substring(7):0===r.indexOf(\\\"https://\\\")\u0026\u0026(r=r.substring(8));const i=r.indexOf(\\\"/\\\");let o,a;i\u003e0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a=\\\"\\\");let[s]=o.split(\\\":\\\");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length\u003et.length)\u0026\u0026t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf(\\\"/\\\")\u0026\u0026(e=e.substring(1)),0===t.indexOf(\\\"/\\\")\u0026\u0026(t=t.substring(1)),\\\"\\\"===e||e===t}},1687:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{Ak:()=\u003ec,Ze:()=\u003el,x3:()=\u003eu});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e\u0026\u0026s[e]\u0026\u0026(s[e].get(t)\u0026\u0026s[e].delete(t),h(e,t,!1),s[e].size\u0026\u0026f(e))}function d(e){if(!e)throw new Error(\\\"agentIdentifier required\\\");s[e]||(s[e]=new Map)}function l(e=\\\"\\\",t=\\\"feature\\\",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=\u003et.staged))\u0026\u0026(t.sort(((e,t)=\u003ee[1].priority-t[1].priority)),t.forEach((([t])=\u003e{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted\u0026\u0026o.backlog\u0026\u0026s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e\u0026\u0026t\u003ce.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=\u003e{Object.values(t||{}).forEach((t=\u003e{t[0]?.on\u0026\u0026t[0]?.context()instanceof a.y\u0026\u0026t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit(\\\"drain-\\\"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=\u003e{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{P:()=\u003ec,ee:()=\u003eu});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c=\\\"nr@context:\\\".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length\u0026\u0026(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i\u003cr.length;i++)r[i]===t\u0026\u0026r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o\u0026\u0026(o=!0);if(u.aborted\u0026\u0026!i)return;t\u0026\u0026o\u0026\u0026t.emit(e,r,n);for(var a=h(n),c=g(e),d=c.length,l=0;l\u003cd;l++)c[l].apply(a,r);var p=v()[s[e]];p\u0026\u0026p.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||\\\"feature\\\",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=\u003e{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=\u003e{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t\u0026\u0026\\\"object\\\"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,\\\"aborted\\\",{get:()=\u003e{let e=f._aborted||!1;return e||(t\u0026\u0026(e=t.aborted),e)}}),f;function h(e){return e\u0026\u0026e instanceof a.y?e:e?(0,i.I)(e,c,(()=\u003enew a.y(c))):new a.y(c)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,\\\"globalEE\\\"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{y:()=\u003en});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{d:()=\u003en,p:()=\u003ei});var n=r(7836).ee.get(\\\"handle\\\");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{i:()=\u003eo});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o=\\\"feature\\\"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=\u003e{\\\"use strict\\\";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=\u003eo,jT:()=\u003en,sp:()=\u003ei})},5607:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{W:()=\u003en});const n=(0,r(9566).bz)()},9566:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{LA:()=\u003es,ZF:()=\u003ec,bz:()=\u003ea,el:()=\u003eu});var n=r(6154);const i=\\\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\\\";function o(e,t){return e?15\u0026e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e\u0026\u0026e.getRandomValues\u0026\u0026(t=e.getRandomValues(new Uint8Array(30))),i.split(\\\"\\\").map((e=\u003e\\\"x\\\"===e?o(t,r++).toString(16):\\\"y\\\"===e?(3\u0026o()|8).toString(16):e)).join(\\\"\\\")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t\u0026\u0026t.getRandomValues\u0026\u0026(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s\u003ce;s++)a.push(o(r,i++).toString(16));return a.join(\\\"\\\")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{BB:()=\u003ea,H3:()=\u003en,g:()=\u003eu,iL:()=\u003ec,tS:()=\u003es,uh:()=\u003ei,wk:()=\u003eo});const n=\\\"NRBA\\\",i=\\\"SESSION\\\",o=144e5,a=18e5,s={STARTED:\\\"session-started\\\",PAUSE:\\\"session-pause\\\",RESET:\\\"session-reset\\\",RESUME:\\\"session-resume\\\",UPDATE:\\\"session-update\\\"},c={SAME_TAB:\\\"same-tab\\\",CROSS_TAB:\\\"cross-tab\\\"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=\u003e{\\\"use strict\\\";function n(){return Math.floor(performance.now())}r.d(t,{t:()=\u003en})},7485:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{D:()=\u003ei});var n=r(6154);function i(e){if(0===(e||\\\"\\\").indexOf(\\\"data:\\\"))return{protocol:\\\"data\\\"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(\\\":\\\")),sameOrigin:t.protocol===n.gm?.location?.protocol\u0026\u0026t.host===n.gm?.location?.host};return r.port\u0026\u0026\\\"\\\"!==r.port||(\\\"http:\\\"===t.protocol\u0026\u0026(r.port=\\\"80\\\"),\\\"https:\\\"===t.protocol\u0026\u0026(r.port=\\\"443\\\")),r.pathname\u0026\u0026\\\"\\\"!==r.pathname?r.pathname.startsWith(\\\"/\\\")||(r.pathname=\\\"/\\\".concat(r.pathname)):r.pathname=\\\"/\\\",r}catch(e){return{}}}},944:(e,t,r)=\u003e{\\\"use strict\\\";function n(e,t){\\\"function\\\"==typeof console.debug\u0026\u0026console.debug(\\\"New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#\\\".concat(e),t)}r.d(t,{R:()=\u003en})},5284:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{t:()=\u003ec,B:()=\u003es});var n=r(7836),i=r(6154);const o=\\\"newrelic\\\";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e\u0026\u0026\\\"object\\\"==typeof e\u0026\u0026(a.has(t)||(r.emit(\\\"rumresp\\\",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{I:()=\u003ei});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty\u0026\u0026Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=\u003e{\\\"use strict\\\";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=\u003e{n\u0026\u0026void 0===i\u0026\u0026(e.apply(this,r),i=setTimeout((()=\u003e{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=\u003e{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=\u003e{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=\u003ei,s:()=\u003en})},3304:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{A:()=\u003eo});var n=r(7836);const i=()=\u003e{const e=new WeakSet;return(t,r)=\u003e{if(\\\"object\\\"==typeof r\u0026\u0026null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??\\\"\\\"}catch(e){try{n.ee.emit(\\\"internal-error\\\",[e])}catch(e){}return\\\"\\\"}}},5289:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{GG:()=\u003eo,sB:()=\u003ea});var n=r(3878);function i(){return\\\"undefined\\\"==typeof document||\\\"complete\\\"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)(\\\"load\\\",e,t)}function a(e){if(i())return e();(0,n.DD)(\\\"DOMContentLoaded\\\",e)}},384:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{NT:()=\u003eo,US:()=\u003ed,Zm:()=\u003ea,bQ:()=\u003ec,dV:()=\u003es,nY:()=\u003eu,pV:()=\u003el});var n=r(6154),i=r(1863);const o={beacon:\\\"bam.nr-data.net\\\",errorBeacon:\\\"bam.nr-data.net\\\"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic\u0026\u0026(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{u:()=\u003ei});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)(\\\"visibilitychange\\\",(function(){if(t)return void(\\\"hidden\\\"===document.visibilityState\u0026\u0026e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{u:()=\u003ef});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u=\\\"addEventListener\\\",d=\\\"removeEventListener\\\",l=\\\"nr@wrapped:\\\".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get(\\\"events\\\")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],\\\"-\\\",p)}function p(e,t){return e[1]}return\\\"getPrototypeOf\\\"in Object\u0026\u0026(a.RI\u0026\u0026h(document,f),c\u0026\u0026h(c.prototype,f),h(a.gm,f)),t.on(u+\\\"-start\\\",(function(e,t){var n=e[1];if(null!==n\u0026\u0026(\\\"function\\\"==typeof n||\\\"object\\\"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if(\\\"function\\\"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,\\\"fn-\\\",null,e.name||\\\"anonymous\\\"):n}));this.wrapped=e[1]=i}})),t.on(d+\\\"-start\\\",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;\\\"object\\\"==typeof n\u0026\u0026!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n\u0026\u0026t(n,...r)}},3434:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{Jt:()=\u003eo,YM:()=\u003ec});var n=r(7836),i=r(5607);const o=\\\"nr@original:\\\".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n=\\\"\\\");const a=\\\"-\\\"===n.charAt(0);for(let s=0;s\u003ct.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=\\\"\\\"),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty\u0026\u0026Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)\u0026\u0026(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d=\\\"function\\\"==typeof n?n(o,a):n||{}}catch(t){u([t,\\\"\\\",[o,a,s],d],e)}i(r+\\\"start\\\",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+\\\"err\\\",[o,a,e],d,c),e}finally{i(r+\\\"end\\\",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit(\\\"internal-error\\\",e)}catch(e){}}function d(e){return!(e\u0026\u0026\\\"function\\\"==typeof e\u0026\u0026e.apply\u0026\u0026!e[o])}},9300:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{T:()=\u003en});const n=r(860).K7.ajax},3333:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{$v:()=\u003eu,TZ:()=\u003en,Zp:()=\u003ei,kd:()=\u003ec,mq:()=\u003es,nf:()=\u003ea,qN:()=\u003eo});const n=r(860).K7.genericEvents,i=[\\\"auxclick\\\",\\\"click\\\",\\\"copy\\\",\\\"keydown\\\",\\\"paste\\\",\\\"scrollend\\\"],o=[\\\"focus\\\",\\\"blur\\\"],a=4,s=1e3,c=[\\\"PageAction\\\",\\\"UserAction\\\",\\\"BrowserPerformance\\\"],u={MARKS:\\\"experimental.marks\\\",MEASURES:\\\"experimental.measures\\\",RESOURCES:\\\"experimental.resources\\\"}},6774:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{T:()=\u003en});const n=r(860).K7.jserrors},993:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{ET:()=\u003eo,TZ:()=\u003ea,p_:()=\u003ei});var n=r(860);const i={ERROR:\\\"ERROR\\\",WARN:\\\"WARN\\\",INFO:\\\"INFO\\\",DEBUG:\\\"DEBUG\\\",TRACE:\\\"TRACE\\\"},o=\\\"log\\\",a=n.K7.logging},3785:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{R:()=\u003ec,b:()=\u003eu});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,[\\\"API/logging/\\\".concat(c.toLowerCase(),\\\"/called\\\")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return\\\"string\\\"==typeof e\u0026\u0026Object.values(s.p_).some((t=\u003et===e.toUpperCase().trim()))}},3969:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{TZ:()=\u003en,XG:()=\u003es,rs:()=\u003ei,xV:()=\u003ea,z_:()=\u003eo});const n=r(860).K7.metrics,i=\\\"sm\\\",o=\\\"cm\\\",a=\\\"storeSupportabilityMetrics\\\",s=\\\"storeEventMetrics\\\"},6630:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{T:()=\u003en});const n=r(860).K7.pageViewEvent},782:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{T:()=\u003en});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{BB:()=\u003ed,G4:()=\u003eo,Qb:()=\u003el,TZ:()=\u003ei,Ug:()=\u003ea,_s:()=\u003es,bc:()=\u003eu,yP:()=\u003ec});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:\\\"recordReplay\\\",PAUSE:\\\"pauseReplay\\\",REPLAY_RUNNING:\\\"replayRunning\\\",ERROR_DURING_REPLAY:\\\"errorDuringReplay\\\"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={RESET:{message:\\\"Session was reset\\\",sm:\\\"Reset\\\"},IMPORT:{message:\\\"Recorder failed to import\\\",sm:\\\"Import\\\"},TOO_MANY:{message:\\\"429: Too Many Requests\\\",sm:\\\"Too-Many\\\"},TOO_BIG:{message:\\\"Payload was too large\\\",sm:\\\"Too-Big\\\"},CROSS_TAB:{message:\\\"Session Entity was set to OFF on another tab\\\",sm:\\\"Cross-Tab\\\"},ENTITLEMENTS:{message:\\\"Session Replay is not allowed and will not be started\\\",sm:\\\"Entitlement\\\"}},d=5e3,l={API:\\\"api\\\"}},5270:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{Aw:()=\u003ec,CT:()=\u003eu,SR:()=\u003es});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO\u0026\u0026(0,o.V)(e)\u0026\u0026!0===(0,i.gD)(e,\\\"session_trace.enabled\\\")}function c(e){return!0===(0,i.gD)(e,\\\"session_replay.preload\\\")\u0026\u0026s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{He:()=\u003ei,Kp:()=\u003es,Lc:()=\u003eu,Rz:()=\u003ed,TZ:()=\u003en,bD:()=\u003eo,d3:()=\u003ea,jx:()=\u003el,uP:()=\u003ec});const n=r(860).K7.sessionTrace,i=\\\"bstResource\\\",o=\\\"resource\\\",a=\\\"-start\\\",s=\\\"-end\\\",c=\\\"fn\\\"+a,u=\\\"fn\\\"+s,d=\\\"pushState\\\",l=1e3},3962:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{AM:()=\u003eo,O2:()=\u003ec,Qu:()=\u003eu,TZ:()=\u003es,ih:()=\u003ed,pP:()=\u003ea,tC:()=\u003ei});var n=r(860);const i=[\\\"click\\\",\\\"keydown\\\",\\\"submit\\\",\\\"popstate\\\"],o=\\\"api\\\",a=\\\"initialPageLoad\\\",s=n.K7.softNav,c={INITIAL_PAGE_LOAD:\\\"\\\",ROUTE_CHANGE:1,UNSPECIFIED:2},u={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},d={IP:\\\"in progress\\\",FIN:\\\"finished\\\",CAN:\\\"cancelled\\\"}},7378:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{$p:()=\u003ex,BR:()=\u003eb,Kp:()=\u003eR,L3:()=\u003ey,Lc:()=\u003ec,NC:()=\u003eo,SG:()=\u003ed,TZ:()=\u003ei,U6:()=\u003ep,UT:()=\u003em,d3:()=\u003ew,dT:()=\u003ef,e5:()=\u003eT,gx:()=\u003ev,l9:()=\u003el,oW:()=\u003eh,op:()=\u003eg,rw:()=\u003eu,tH:()=\u003eA,uP:()=\u003es,wW:()=\u003eE,xq:()=\u003ea});var n=r(384);const i=r(860).K7.spa,o=[\\\"click\\\",\\\"submit\\\",\\\"keypress\\\",\\\"keydown\\\",\\\"keyup\\\",\\\"change\\\"],a=999,s=\\\"fn-start\\\",c=\\\"fn-end\\\",u=\\\"cb-start\\\",d=\\\"api-ixn-\\\",l=\\\"remaining\\\",f=\\\"interaction\\\",h=\\\"spaNode\\\",p=\\\"jsonpNode\\\",g=\\\"fetch-start\\\",m=\\\"fetch-done\\\",v=\\\"fetch-body-\\\",b=\\\"jsonp-end\\\",y=(0,n.dV)().o.ST,w=\\\"-start\\\",R=\\\"-end\\\",x=\\\"-body\\\",E=\\\"cb\\\"+R,T=\\\"jsTime\\\",A=\\\"fetch\\\"},4234:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{W:()=\u003eo});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{V:()=\u003eo});var n=r(9417),i=r(6154);const o=e=\u003ei.RI\u0026\u0026!0===(0,n.gD)(e,\\\"privacy.cookies_enabled\\\")},425:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{j:()=\u003ej});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),h=r(384),p=r(6344);const g=[\\\"setErrorHandler\\\",\\\"finished\\\",\\\"addToTrace\\\",\\\"addRelease\\\",\\\"recordCustomEvent\\\",\\\"addPageAction\\\",\\\"setCurrentRouteName\\\",\\\"setPageViewName\\\",\\\"setCustomAttribute\\\",\\\"interaction\\\",\\\"noticeError\\\",\\\"setUserId\\\",\\\"setApplicationVersion\\\",\\\"start\\\",p.G4.RECORD,p.G4.PAUSE,\\\"log\\\",\\\"wrapLogger\\\"],m=[\\\"setErrorHandler\\\",\\\"finished\\\",\\\"addToTrace\\\",\\\"addRelease\\\"];var v=r(1863),b=r(2614),y=r(993),w=r(3785),R=r(2646),x=r(3434);const E=new Map;function T(e,t,r,n){if(\\\"object\\\"!=typeof t||!t||\\\"string\\\"!=typeof r||!r||\\\"function\\\"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get(\\\"logger\\\")}(e),o=(0,x.YM)(i),a=new R.y(s.P);a.level=n.level,a.customAttributes=n.customAttributes;const c=t[r]?.[x.Jt]||t[r];return E.set(c,a),o.inPlace(t,[r],\\\"wrap-logger-\\\",(()=\u003eE.get(c))),i}function A(){const e=(0,h.pV)();g.forEach((t=\u003e{e[t]=(...r)=\u003efunction(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=\u003e{e\u0026\u0026e.api?e.exposed\u0026\u0026e.api[t]\u0026\u0026n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length\u003e1?n:n[0]}(t,...r)}))}const S={};var N=r(9417),_=r(5603),O=r(5284);const I=e=\u003e{const t=e.startsWith(\\\"http\\\");e+=\\\"/\\\",r.p=t?e:\\\"https://\\\"+e};let P=!1;function j(e,t={},g,R){let{init:x,info:E,loader_config:j,runtime:C={},exposed:k=!0}=t;C.loaderType=g;const L=(0,h.pV)();E||(x=L.init,E=L.info,j=L.loader_config),(0,N.xN)(e.agentIdentifier,x||{}),(0,_.a)(e.agentIdentifier,j||{}),E.jsAttributes??={},d.bv\u0026\u0026(E.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,E);const H=(0,N.D0)(e.agentIdentifier),M=[E.beacon,E.errorBeacon];P||(H.proxy.assets\u0026\u0026(I(H.proxy.assets),M.push(H.proxy.assets)),H.proxy.beacon\u0026\u0026M.push(H.proxy.beacon),A(),(0,h.US)(\\\"activatedFeatures\\\",O.B),e.runSoftNavOverSpa\u0026\u0026=!0===H.soft_navigations.enabled\u0026\u0026H.feature_flags.includes(\\\"soft_nav\\\")),C.denyList=[...H.ajax.deny_list||[],...H.ajax.block_internal?M:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api\u0026\u0026(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,\\\"api\\\");const g={};var R=s.ee.get(e),x=R.get(\\\"tracer\\\");S[e]=b.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t=\u003e{S[e]=t}));var E=\\\"api-\\\",A=E+\\\"ixn-\\\";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(E,n,!0,o||null===r?\\\"session\\\":void 0)(t,r)}function _(){}g.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,[\\\"API/log/called\\\"],void 0,n.K7.metrics,R),(0,w.R)(R,e,t,r)},g.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=\u003e{(0,a.p)(f.xV,[\\\"API/wrapLogger/called\\\"],void 0,n.K7.metrics,R),T(R,e,t,{customAttributes:r,level:i})},m.forEach((e=\u003e{g[e]=I(E,e,!0,\\\"api\\\")})),g.addPageAction=I(E,\\\"addPageAction\\\",!0,n.K7.genericEvents),g.recordCustomEvent=I(E,\\\"recordCustomEvent\\\",!0,n.K7.genericEvents),g.setPageViewName=function(t,r){if(\\\"string\\\"==typeof t)return\\\"/\\\"!==t.charAt(0)\u0026\u0026(t=\\\"/\\\"+t),(0,o.f)(e).customTransaction=(r||\\\"http://custom.transaction\\\")+t,I(E,\\\"setPageViewName\\\",!0)()},g.setCustomAttribute=function(e,t,r=!1){if(\\\"string\\\"==typeof e){if([\\\"string\\\",\\\"number\\\",\\\"boolean\\\"].includes(typeof t)||null===t)return N(e,t,\\\"setCustomAttribute\\\",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},g.setUserId=function(e){if(\\\"string\\\"==typeof e||null===e)return N(\\\"enduser.id\\\",e,\\\"setUserId\\\",!0);(0,l.R)(41,typeof e)},g.setApplicationVersion=function(e){if(\\\"string\\\"==typeof e||null===e)return N(\\\"application.version\\\",e,\\\"setApplicationVersion\\\",!1);(0,l.R)(42,typeof e)},g.start=()=\u003e{try{(0,a.p)(f.xV,[\\\"API/start/called\\\"],void 0,n.K7.metrics,R),R.emit(\\\"manual-start-all\\\")}catch(e){(0,l.R)(23,e)}},g[p.G4.RECORD]=function(){(0,a.p)(f.xV,[\\\"API/recordReplay/called\\\"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,R)},g[p.G4.PAUSE]=function(){(0,a.p)(f.xV,[\\\"API/pauseReplay/called\\\"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,R)},g.interaction=function(e){return(new _).get(\\\"object\\\"==typeof e?e:{})};const O=_.prototype={createTracer:function(e,t){var r={},i=this,o=\\\"function\\\"==typeof t;return(0,a.p)(f.xV,[\\\"API/createTracer/called\\\"],void 0,n.K7.metrics,R),h||(0,a.p)(A+\\\"tracer\\\",[(0,v.t)(),e,r],i,n.K7.spa,R),function(){if(x.emit((o?\\\"\\\":\\\"no-\\\")+\\\"fn-start\\\",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t=\\\"string\\\"==typeof e?new Error(e):e;throw x.emit(\\\"fn-err\\\",[arguments,this,t],r),t}finally{x.emit(\\\"fn-end\\\",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,[\\\"API/\\\"+t+\\\"/called\\\"],void 0,n.K7.metrics,R),i\u0026\u0026(0,a.p)(e+t,[r?(0,v.t)():performance.now(),...arguments],r?null:this,i,R),r?void 0:this}}function P(){r.e(478).then(r.bind(r,8778)).then((({setAPI:t})=\u003e{t(e),(0,c.Ze)(e,\\\"api\\\")})).catch((e=\u003e{(0,l.R)(27,e),R.abort()}))}return[\\\"actionText\\\",\\\"setName\\\",\\\"setAttribute\\\",\\\"save\\\",\\\"ignore\\\",\\\"onEnd\\\",\\\"getContext\\\",\\\"end\\\",\\\"get\\\"].forEach((e=\u003e{O[e]=I(A,e,void 0,h?n.K7.softNav:n.K7.spa)})),g.setCurrentRouteName=h?I(A,\\\"routeName\\\",void 0,n.K7.softNav):I(E,\\\"routeName\\\",!0,n.K7.spa),g.noticeError=function(t,r){\\\"string\\\"==typeof t\u0026\u0026(t=new Error(t)),(0,a.p)(f.xV,[\\\"API/noticeError/called\\\"],void 0,n.K7.metrics,R),(0,a.p)(\\\"err\\\",[t,(0,v.t)(),!1,r,!!S[e]],void 0,n.K7.jserrors,R)},d.RI?(0,u.GG)((()=\u003eP()),!0):P(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0===e.exposed\u0026\u0026(e.exposed=k),P=!0}},8374:(e,t,r)=\u003e{r.nc=(()=\u003e{try{return document?.currentScript?.nonce}catch(e){}return\\\"\\\"})()},860:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{$J:()=\u003eu,K7:()=\u003es,P3:()=\u003ec,XX:()=\u003ei,qY:()=\u003en,v4:()=\u003ea});const n=\\\"events\\\",i=\\\"jserrors\\\",o=\\\"browser/blobs\\\",a=\\\"rum\\\",s={ajax:\\\"ajax\\\",genericEvents:\\\"generic_events\\\",jserrors:i,logging:\\\"logging\\\",metrics:\\\"metrics\\\",pageAction:\\\"page_action\\\",pageViewEvent:\\\"page_view_event\\\",pageViewTiming:\\\"page_view_timing\\\",sessionReplay:\\\"session_replay\\\",sessionTrace:\\\"session_trace\\\",softNav:\\\"soft_navigations\\\",spa:\\\"spa\\\"},c={[s.pageViewEvent]:1,[s.pageViewTiming]:2,[s.metrics]:3,[s.jserrors]:4,[s.spa]:5,[s.ajax]:6,[s.sessionTrace]:7,[s.softNav]:8,[s.sessionReplay]:9,[s.logging]:10,[s.genericEvents]:11},u={[s.pageViewEvent]:a,[s.pageViewTiming]:n,[s.ajax]:n,[s.spa]:n,[s.softNav]:n,[s.metrics]:i,[s.jserrors]:i,[s.sessionTrace]:o,[s.sessionReplay]:o,[s.logging]:\\\"browser/logs\\\",[s.genericEvents]:\\\"ins\\\"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=\u003e{for(var r in t)i.o(t,r)\u0026\u0026!i.o(e,r)\u0026\u0026Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=\u003ePromise.all(Object.keys(i.f).reduce(((t,r)=\u003e(i.f[r](e,t),t)),[])),i.u=e=\u003e({212:\\\"nr-spa-compressor\\\",249:\\\"nr-spa-recorder\\\",478:\\\"nr-spa\\\"}[e]+\\\"-1.281.0.min.js\\\"),i.o=(e,t)=\u003eObject.prototype.hasOwnProperty.call(e,t),e={},t=\\\"NRBA-1.281.0.PROD:\\\",i.l=(r,n,o,a)=\u003e{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName(\\\"script\\\"),d=0;d\u003cu.length;d++){var l=u[d];if(l.getAttribute(\\\"src\\\")==r||l.getAttribute(\\\"data-webpack\\\")==t+o){s=l;break}}if(!s){c=!0;var f={478:\\\"sha512-jmvAlmjCn64ans8tLueqHRlBI/iWekylsDWb94A77CG0ukSriVDvgD3dThx+XjUSBBBMYhFn8B1a18fViyBPEQ==\\\",249:\\\"sha512-ICY/ZrcytM/86t5KFy+9OAWVYmNNJy10EBtxoSUGjQWuZx53p/eLo+L8HfrGjvHuRHRnutqLTGSnvNttffJkaA==\\\",212:\\\"sha512-pQSn+X/RfBOvx/49HvlghaiXMLhhDQXTi13n1N2XMpDquWJgs9U0pbqE3RbAnYC9nsdaTu/RVGvneEPv1fpCxA==\\\"};(s=document.createElement(\\\"script\\\")).charset=\\\"utf-8\\\",s.timeout=120,i.nc\u0026\u0026s.setAttribute(\\\"nonce\\\",i.nc),s.setAttribute(\\\"data-webpack\\\",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+\\\"/\\\")\u0026\u0026(s.crossOrigin=\\\"anonymous\\\"),f[a]\u0026\u0026(s.integrity=f[a])}e[r]=[n];var h=(t,n)=\u003e{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode\u0026\u0026s.parentNode.removeChild(s),i\u0026\u0026i.forEach((e=\u003ee(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:\\\"timeout\\\",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c\u0026\u0026document.head.appendChild(s)}},i.r=e=\u003e{\\\"undefined\\\"!=typeof Symbol\u0026\u0026Symbol.toStringTag\u0026\u0026Object.defineProperty(e,Symbol.toStringTag,{value:\\\"Module\\\"}),Object.defineProperty(e,\\\"__esModule\\\",{value:!0})},i.p=\\\"https://js-agent.newrelic.com/\\\",(()=\u003e{var e={38:0,788:0};i.f.j=(t,r)=\u003e{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=\u003en=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=\u003e{if(i.o(e,t)\u0026\u0026(0!==(n=e[t])\u0026\u0026(e[t]=void 0),n)){var o=r\u0026\u0026(\\\"load\\\"===r.type?\\\"missing\\\":r.type),a=r\u0026\u0026r.target\u0026\u0026r.target.src;s.message=\\\"Loading chunk \\\"+t+\\\" failed.\\\\n(\\\"+o+\\\": \\\"+a+\\\")\\\",s.name=\\\"ChunkLoadError\\\",s.type=o,s.request=a,n[1](s)}}),\\\"chunk-\\\"+t,t)}};var t=(t,r)=\u003e{var n,o,[a,s,c]=r,u=0;if(a.some((t=\u003e0!==e[t]))){for(n in s)i.o(s,n)\u0026\u0026(i.m[n]=s[n]);if(c)c(i)}for(t\u0026\u0026t(r);u\u003ca.length;u++)o=a[u],i.o(e,o)\u0026\u0026e[o]\u0026\u0026e[o][0](),e[o]=0},r=self[\\\"webpackChunk:NRBA-1.281.0.PROD\\\"]=self[\\\"webpackChunk:NRBA-1.281.0.PROD\\\"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=\u003e{\\\"use strict\\\";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(){this.agentIdentifier=(0,r.LA)(16)}#e(t,...r){if(\\\"function\\\"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e(\\\"addPageAction\\\",e,t)}recordCustomEvent(e,t){return this.#e(\\\"recordCustomEvent\\\",e,t)}setPageViewName(e,t){return this.#e(\\\"setPageViewName\\\",e,t)}setCustomAttribute(e,t,r){return this.#e(\\\"setCustomAttribute\\\",e,t,r)}noticeError(e,t){return this.#e(\\\"noticeError\\\",e,t)}setUserId(e){return this.#e(\\\"setUserId\\\",e)}setApplicationVersion(e){return this.#e(\\\"setApplicationVersion\\\",e)}setErrorHandler(e){return this.#e(\\\"setErrorHandler\\\",e)}addRelease(e,t){return this.#e(\\\"addRelease\\\",e,t)}log(e,t){return this.#e(\\\"log\\\",e,t)}}class o extends n{#e(t,...r){if(\\\"function\\\"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e(\\\"start\\\")}finished(e){return this.#e(\\\"finished\\\",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e(\\\"addToTrace\\\",e)}setCurrentRouteName(e){return this.#e(\\\"setCurrentRouteName\\\",e)}interaction(){return this.#e(\\\"interaction\\\")}wrapLogger(e,t,r){return this.#e(\\\"wrapLogger\\\",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=\u003e{t[r]=function(e,t){return!0===(0,s.gD)(t,\\\"\\\".concat(e,\\\".enabled\\\"))}(r,e)})),t}var d=i(425);var l=i(1687),f=i(4234),h=i(5289),p=i(6154),g=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart\u0026\u0026(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on(\\\"manual-start-all\\\",(0,v.J)((()=\u003e{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=\u003e{n=e}));const o=async()=\u003e{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(478).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit(\\\"internal-error\\\",[t]),this.featureName===a.K7.sessionReplay\u0026\u0026this.abortHandler?.()}try{if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(478).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,\\\"aggregate\\\");this.featAggregate=new a(t,r),t.runtime.harvester.initializedAggregates.push(this.featAggregate),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee\u0026\u0026this.ee.abort()}};p.RI?(0,h.GG)((()=\u003eo()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,g.SR)(this.agentIdentifier)\u0026\u0026!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class w extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var R=i(384);var x=i(9908),E=i(2843),T=i(3878),A=i(782),S=i(1863);class N extends b{static featureName=A.T;constructor(e,t=!0){super(e,A.T,t),p.RI\u0026\u0026((0,E.u)((()=\u003e(0,x.p)(\\\"docHidden\\\",[(0,S.t)()],void 0,A.T,this.ee)),!0),(0,T.sp)(\\\"pagehide\\\",(()=\u003e(0,x.p)(\\\"winPagehide\\\",[(0,S.t)()],void 0,A.T,this.ee))),this.importAggregator(e))}}var _=i(3969);class O extends b{static featureName=_.TZ;constructor(e,t=!0){super(e,_.TZ,t),this.importAggregator(e)}}var I=i(6774),P=i(3304);class j{constructor(e,t,r,n,i){this.name=\\\"UncaughtError\\\",this.message=\\\"string\\\"==typeof e?e:(0,P.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new j(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t=\\\"Unhandled Promise Rejection\\\";if(!e?.reason)return;if(H(e.reason))try{return e.reason.message=t+\\\": \\\"+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+\\\": \\\"+r?.message,r}function L(e){if(e.error instanceof SyntaxError\u0026\u0026!/:\\\\d+$/.test(e.error.stack?.trim())){const t=new j(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return H(e.error)?e.error:C(e)}function H(e){return e instanceof Error\u0026\u0026!!e.stack}class M extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on(\\\"internal-error\\\",((e,t)=\u003e{this.abortHandler\u0026\u0026(0,x.p)(\\\"ierr\\\",[C(e),(0,S.t)(),!0,{},this.#r,t],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=\u003e{this.#r=e})),p.gm.addEventListener(\\\"unhandledrejection\\\",(e=\u003e{this.abortHandler\u0026\u0026(0,x.p)(\\\"err\\\",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),p.gm.addEventListener(\\\"error\\\",(e=\u003e{this.abortHandler\u0026\u0026(0,x.p)(\\\"err\\\",[L(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var D=i(8990);let K=1;const U=\\\"nr@id\\\";function V(e){const t=typeof e;return!e||\\\"object\\\"!==t\u0026\u0026\\\"function\\\"!==t?-1:e===p.gm?0:(0,D.I)(e,U,(function(){return K++}))}function G(e){if(\\\"string\\\"==typeof e\u0026\u0026e.length)return e.length;if(\\\"object\\\"==typeof e){if(\\\"undefined\\\"!=typeof ArrayBuffer\u0026\u0026e instanceof ArrayBuffer\u0026\u0026e.byteLength)return e.byteLength;if(\\\"undefined\\\"!=typeof Blob\u0026\u0026e instanceof Blob\u0026\u0026e.size)return e.size;if(!(\\\"undefined\\\"!=typeof FormData\u0026\u0026e instanceof FormData))try{return(0,P.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=[\\\"open\\\",\\\"send\\\"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get(\\\"xhr\\\")}(r);if(void 0===p.gm.XMLHttpRequest)return n;if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=p.gm.XMLHttpRequest,a=p.gm.MutationObserver,s=p.gm.Promise,c=p.gm.setInterval,u=\\\"readystatechange\\\",d=[\\\"onload\\\",\\\"onerror\\\",\\\"onabort\\\",\\\"onloadstart\\\",\\\"onloadend\\\",\\\"onprogress\\\",\\\"ontimeout\\\"],l=[],f=p.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit(\\\"new-xhr\\\",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState\u003e3\u0026\u0026!s.resolved\u0026\u0026(s.resolved=!0,n.emit(\\\"xhr-resolved\\\",[],e)),i.inPlace(e,d,\\\"fn-\\\",y)}),(0,T.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit(\\\"internal-error\\\",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,[\\\"onreadystatechange\\\"],\\\"fn-\\\",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,\\\"-xhr-\\\",y),n.on(\\\"send-xhr-start\\\",(function(e,t){h(e,t),function(e){l.push(e),a\u0026\u0026(g?g.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on(\\\"open-xhr-start\\\",h),a){var g=s\u0026\u0026s.resolve();if(!c\u0026\u0026!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on(\\\"fn-end\\\",(function(e){e[0]\u0026\u0026e[0].type===u||b()}));function b(){for(var e=0;e\u003cl.length;e++)h(0,l[e]);l.length\u0026\u0026(l=[])}function y(e,t){return t}return n}var Y=\\\"fetch-\\\",X=Y+\\\"body-\\\",J=[\\\"arrayBuffer\\\",\\\"blob\\\",\\\"json\\\",\\\"text\\\",\\\"formData\\\"],Q=p.gm.Request,ee=p.gm.Response,te=\\\"prototype\\\";const re={};function ne(e){const t=function(e){return(e||B.ee).get(\\\"fetch\\\")}(e);if(!(Q\u0026\u0026ee\u0026\u0026p.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];\\\"function\\\"==typeof i\u0026\u0026(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+\\\"before-start\\\",[r],o),o[B.P]\u0026\u0026o[B.P].dt\u0026\u0026(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+\\\"start\\\",[r,e],a),a.then((function(e){return t.emit(n+\\\"end\\\",[null,e],a),e}),(function(e){throw t.emit(n+\\\"end\\\",[e],a),e}))})}return re[t.debugId]=1,J.forEach((e=\u003e{r(Q[te],e,X),r(ee[te],e,X)})),r(p.gm,\\\"fetch\\\",Y),t.on(Y+\\\"end\\\",(function(e,r){var n=this;if(r){var i=r.headers.get(\\\"content-length\\\");null!==i\u0026\u0026(n.rxSize=i),t.emit(Y+\\\"done\\\",[null,r],n)}else t.emit(Y+\\\"done\\\",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||\\\"\\\").toString()||null,i=(t.agentID||\\\"\\\").toString()||null,o=(t.trustKey||\\\"\\\").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)\u0026\u0026this.useTraceContextHeadersForCors())\u0026\u0026(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin\u0026\u0026!this.excludeNewrelicHeader()||!e.sameOrigin\u0026\u0026this.isAllowedOrigin(e)\u0026\u0026this.useNewrelicHeaderForCors())\u0026\u0026(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return\\\"00-\\\"+t+\\\"-\\\"+e+\\\"-01\\\"}generateTraceContextStateHeader(e,t,r,n,i){return i+\\\"@nr=0-1-\\\"+r+\\\"-\\\"+n+\\\"-\\\"+e+\\\"----\\\"+t}generateTraceHeader(e,t,r,n,i,o){if(!(\\\"function\\\"==typeof p.gm?.btoa))return null;var a={v:[0,1],d:{ty:\\\"Browser\\\",ac:n,ap:i,id:e,tr:t,ti:r}};return o\u0026\u0026n!==o\u0026\u0026(a.d.tk=o),btoa((0,P.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()\u0026\u0026this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,\\\"distributed_tracing\\\")\u0026\u0026(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n\u003cr.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname\u0026\u0026e.protocol===i.protocol\u0026\u0026e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,\\\"distributed_tracing\\\");return!!e\u0026\u0026!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,\\\"distributed_tracing\\\");return!!e\u0026\u0026!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,\\\"distributed_tracing\\\");return!!e\u0026\u0026!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,\\\"distributed_tracing\\\");return!!e\u0026\u0026!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=[\\\"load\\\",\\\"error\\\",\\\"abort\\\",\\\"timeout\\\"],de=ue.length,le=(0,R.dV)().o.REQ,fe=(0,R.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=\u003e(0,x.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:\\\"xhr\\\",fetch:\\\"fetch\\\",beacon:\\\"beacon\\\"};p.gm?.performance?.getEntriesByType(\\\"resource\\\").forEach((t=\u003e{if(t.initiatorType in e\u0026\u00260!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};pe(r,t.name),this.handler(\\\"xhr\\\",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener(\\\"load\\\",(function(r){E(t,e)}),(0,T.jT)(!1)),p.lR||e.addEventListener(\\\"progress\\\",(function(e){t.lastSize=e.loaded}),(0,T.jT)(!1))}function o(e){this.params={method:e[0]},pe(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid\u0026\u0026this.sameOrigin\u0026\u0026r.setRequestHeader(\\\"X-NewRelic-ID\\\",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader\u0026\u0026(r.setRequestHeader(\\\"newrelic\\\",i.newrelicHeader),o=!0),i.traceContextParentHeader\u0026\u0026(r.setRequestHeader(\\\"traceparent\\\",i.traceContextParentHeader),i.traceContextStateHeader\u0026\u0026r.setRequestHeader(\\\"tracestate\\\",i.traceContextStateHeader),o=!0),o\u0026\u0026(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n\u0026\u0026i){var a=G(i);a\u0026\u0026(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{\\\"abort\\\"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),(\\\"load\\\"!==e.type||o.called===o.totalCbs\u0026\u0026(o.onloadCalled||\\\"function\\\"!=typeof r.onload)\u0026\u0026\\\"function\\\"==typeof o.end)\u0026\u0026o.end(r)}catch(e){try{t.emit(\\\"internal-error\\\",[e])}catch(e){}}};for(var s=0;s\u003cde;s++)r.addEventListener(ue[s],this.listener,(0,T.jT)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled\u0026\u0026\\\"function\\\"==typeof r.onload||\\\"function\\\"!=typeof this.end||this.end(r)}function d(e,t){var r=\\\"\\\"+V(e)+!!t;this.xhrGuids\u0026\u0026!this.xhrGuids[r]\u0026\u0026(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=\\\"\\\"+V(e)+!!t;this.xhrGuids\u0026\u0026this.xhrGuids[r]\u0026\u0026(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe\u0026\u0026\\\"load\\\"===e[0]\u0026\u0026t.emit(\\\"xhr-load-added\\\",[e[1],e[2]],r)}function g(e,r){r instanceof fe\u0026\u0026\\\"load\\\"===e[0]\u0026\u0026t.emit(\\\"xhr-load-removed\\\",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe\u0026\u0026(\\\"onload\\\"===r\u0026\u0026(this.onload=!0),(\\\"load\\\"===(e[0]\u0026\u0026e[0].type)||this.onload)\u0026\u0026(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart\u0026\u0026t.emit(\\\"xhr-cb-time\\\",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if(\\\"string\\\"==typeof e[0]?0===(t=e[0]).length\u0026\u0026p.RI\u0026\u0026(t=\\\"\\\"+p.gm.location.href):e[0]\u0026\u0026e[0].url?t=e[0].url:p.gm?.URL\u0026\u0026e[0]\u0026\u0026e[0]instanceof URL?t=e[0].href:\\\"function\\\"==typeof e[0].toString\u0026\u0026(t=e[0].toString()),\\\"string\\\"==typeof t\u0026\u00260!==t.length){t\u0026\u0026(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i\u0026\u0026(i.newrelicHeader||i.traceContextParentHeader))if(e[0]\u0026\u0026e[0].headers)s(e[0].headers,i)\u0026\u0026(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)\u0026\u0026(this.dt=i),e.length\u003e1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader\u0026\u0026(e.set(\\\"newrelic\\\",t.newrelicHeader),r=!0),t.traceContextParentHeader\u0026\u0026(e.set(\\\"traceparent\\\",t.traceContextParentHeader),t.traceContextStateHeader\u0026\u0026e.set(\\\"tracestate\\\",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,S.t)(),this.dt=t,e.length\u003e=1\u0026\u0026(this.target=e[0]),e.length\u003e=2\u0026\u0026(this.opts=e[1]);var r,n=this.opts||{},i=this.target;\\\"string\\\"==typeof i?r=i:\\\"object\\\"==typeof i\u0026\u0026i instanceof le?r=i.url:p.gm?.URL\u0026\u0026\\\"object\\\"==typeof i\u0026\u0026i instanceof URL\u0026\u0026(r=i.href),pe(this,r);var o=(\\\"\\\"+(i\u0026\u0026i instanceof le\u0026\u0026i.method||n.method||\\\"GET\\\")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function w(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,\\\"string\\\"==typeof this.rxSize\u0026\u0026this.rxSize.length\u003e0\u0026\u0026(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r(\\\"xhr\\\",[this.params,i,this.startTime,this.endTime,\\\"fetch\\\"],this,a.K7.ajax)}function R(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t\u003cde;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status\u0026\u0026(t.status=0):E(this,e),n.cbTime=this.cbTime,r(\\\"xhr\\\",[t,n,this.startTime,this.endTime,\\\"xhr\\\"],this,a.K7.ajax))}}function E(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return\\\"json\\\"===r\u0026\u0026null!==t?t:\\\"arraybuffer\\\"===r||\\\"blob\\\"===r||\\\"json\\\"===r?G(e.response):\\\"text\\\"===r||\\\"\\\"===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n\u0026\u0026(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader(\\\"X-NewRelic-App-Data\\\");i\u0026\u0026((0,x.p)(_.rs,[\\\"Ajax/CrossApplicationTracing/Header/Seen\\\"],void 0,a.K7.metrics,t),e.params.cat=i.split(\\\", \\\").pop())}e.loadCaptureCalled=!0}t.on(\\\"new-xhr\\\",i),t.on(\\\"open-xhr-start\\\",o),t.on(\\\"open-xhr-end\\\",s),t.on(\\\"send-xhr-start\\\",c),t.on(\\\"xhr-cb-time\\\",u),t.on(\\\"xhr-load-added\\\",d),t.on(\\\"xhr-load-removed\\\",l),t.on(\\\"xhr-resolved\\\",f),t.on(\\\"addEventListener-end\\\",h),t.on(\\\"removeEventListener-end\\\",g),t.on(\\\"fn-end\\\",v),t.on(\\\"fetch-before-start\\\",b),t.on(\\\"fetch-start\\\",y),t.on(\\\"fn-start\\\",m),t.on(\\\"fetch-done\\\",w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function pe(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+\\\":\\\"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const ge={},me=[\\\"pushState\\\",\\\"replaceState\\\"];function ve(e){const t=function(e){return(e||B.ee).get(\\\"history\\\")}(e);return!p.RI||ge[t.debugId]++||(ge[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,\\\"-\\\")),t}var be=i(3738);const{He:ye,bD:we,d3:Re,Kp:xe,TZ:Ee,Lc:Te,uP:Ae,Rz:Se}=be;class Ne extends b{static featureName=Ee;constructor(e,t=!0){super(e,Ee,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Ae,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Te,(function(e,t){(0,x.p)(\\\"bst\\\",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Se+Re,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Se+xe,(function(e){(0,x.p)(\\\"bstHist\\\",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=\u003e{const t=e.getEntries();(0,x.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:we,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var _e=i(2614);class Oe extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem(\\\"\\\".concat(_e.H3,\\\"_\\\").concat(_e.uh)))}catch(e){}(0,g.SR)(e.agentIdentifier)\u0026\u0026this.ee.on(t.G4.RECORD,(()=\u003ethis.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on(\\\"err\\\",(e=\u003e{this.replayRunning\u0026\u0026(this.errorNoticed=!0,(0,x.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=\u003e{this.replayRunning=e}))}#s(e){return e\u0026\u0026(e.sessionReplayMode===_e.g.FULL||e.sessionReplayMode===_e.g.ERROR)||(0,g.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(478),i.e(249)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee,agentRef:this.#o}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==_e.g.FULL\u0026\u0026this.featAggregate.initializeRecording(_e.g.FULL,!0):(this.#i=_e.g.FULL,this.#c(t.Qb.API),this.recorder\u0026\u0026this.recorder.parent.mode!==_e.g.FULL\u0026\u0026(this.recorder.parent.mode=_e.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3962);class Pe extends b{static featureName=Ie.TZ;constructor(e,t=!0){if(super(e,Ie.TZ,t),!p.RI||!(0,R.dV)().o.MO)return;const r=ve(this.ee);Ie.tC.forEach((e=\u003e{(0,T.sp)(e,(e=\u003e{a(e)}),!0)}));const n=()=\u003e(0,x.p)(\\\"newURL\\\",[(0,S.t)(),\\\"\\\"+window.location],void 0,this.featureName,this.ee);r.on(\\\"pushState-end\\\",n),r.on(\\\"replaceState-end\\\",n);try{this.removeOnAbort=new AbortController}catch(e){}(0,T.sp)(\\\"popstate\\\",(e=\u003e(0,x.p)(\\\"newURL\\\",[e.timeStamp,\\\"\\\"+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let i=!1;const o=new((0,R.dV)().o.MO)(((e,t)=\u003e{i||(i=!0,requestAnimationFrame((()=\u003e{(0,x.p)(\\\"newDom\\\",[(0,S.t)()],void 0,this.featureName,this.ee),i=!1})))})),a=(0,v.s)((e=\u003e{(0,x.p)(\\\"newUIEvent\\\",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,{domObserver:o})}}var je=i(7378);const Ce={},ke=[\\\"appendChild\\\",\\\"insertBefore\\\",\\\"replaceChild\\\"];function Le(e){const t=function(e){return(e||B.ee).get(\\\"jsonp\\\")}(e);if(!p.RI||Ce[t.debugId])return t;Ce[t.debugId]=!0;var r=(0,W.YM)(t),n=/[?\u0026](?:callback|cb)=([^\u0026#]+)/,i=/(.*)\\\\.([^.]+)/,o=/^(\\\\w+)(\\\\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,ke,\\\"dom-\\\"),t.on(\\\"dom-start\\\",(function(e){!function(e){if(!e||\\\"string\\\"!=typeof e.nodeName||\\\"script\\\"!==e.nodeName.toLowerCase())return;if(\\\"function\\\"!=typeof e.addEventListener)return;var o=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t\u0026\u0026t.length\u003e=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if(\\\"function\\\"!=typeof u.parent[u.key])return;var d={};function l(){t.emit(\\\"jsonp-end\\\",[],d),e.removeEventListener(\\\"load\\\",l,(0,T.jT)(!1)),e.removeEventListener(\\\"error\\\",f,(0,T.jT)(!1))}function f(){t.emit(\\\"jsonp-error\\\",[],d),t.emit(\\\"jsonp-end\\\",[],d),e.removeEventListener(\\\"load\\\",l,(0,T.jT)(!1)),e.removeEventListener(\\\"error\\\",f,(0,T.jT)(!1))}r.inPlace(u.parent,[u.key],\\\"cb-\\\",d),e.addEventListener(\\\"load\\\",l,(0,T.jT)(!1)),e.addEventListener(\\\"error\\\",f,(0,T.jT)(!1)),t.emit(\\\"new-jsonp\\\",[e.src],d)}(e[0])})),t}const He={};function Me(e){const t=function(e){return(e||B.ee).get(\\\"promise\\\")}(e);if(He[t.debugId])return t;He[t.debugId]=!0;var r=t.context,n=(0,W.YM)(t),i=p.gm.Promise;return i\u0026\u0026function(){function e(r){var o=t.context(),a=n(r,\\\"executor-\\\",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}p.gm.Promise=e,Object.defineProperty(e,\\\"name\\\",{value:\\\"Promise\\\"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),[\\\"all\\\",\\\"race\\\"].forEach((function(r){const n=i[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=\u003e{this.resolve(e).then(a(\\\"all\\\"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit(\\\"propagate\\\",[null,!i],o,!1,!1),i=i||!e}}}})),[\\\"resolve\\\",\\\"reject\\\"].forEach((function(r){const n=i[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r\u0026\u0026t.emit(\\\"propagate\\\",[e,!0],r,!1,!1),r}})),e.prototype=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],\\\"cb-\\\",a,null,!1),e[1]=n(e[1],\\\"cb-\\\",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit(\\\"propagate\\\",[i,!0],s,!1,!1),s},i.prototype.then[W.Jt]=o,t.on(\\\"executor-start\\\",(function(e){e[0]=n(e[0],\\\"resolve-\\\",this,null,!1),e[1]=n(e[1],\\\"resolve-\\\",this,null,!1)})),t.on(\\\"executor-err\\\",(function(e,t,r){e[1](r)})),t.on(\\\"cb-end\\\",(function(e,r,n){t.emit(\\\"propagate\\\",[n,!0],this.nextPromise,!1,!1)})),t.on(\\\"propagate\\\",(function(e,r,n){this.getCtx\u0026\u0026!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r\u0026\u0026r.getCtx?r.getCtx():this})}))}(),t}const De={},Ke=\\\"setTimeout\\\",Ue=\\\"setInterval\\\",Ve=\\\"clearTimeout\\\",Ge=\\\"-start\\\",Fe=[Ke,\\\"setImmediate\\\",Ue,Ve,\\\"clearImmediate\\\"];function Be(e){const t=function(e){return(e||B.ee).get(\\\"timer\\\")}(e);if(De[t.debugId]++)return t;De[t.debugId]=1;var r=(0,W.YM)(t);return r.inPlace(p.gm,Fe.slice(0,2),Ke+\\\"-\\\"),r.inPlace(p.gm,Fe.slice(2,3),Ue+\\\"-\\\"),r.inPlace(p.gm,Fe.slice(3),Ve+\\\"-\\\"),t.on(Ue+Ge,(function(e,t,n){e[0]=r(e[0],\\\"fn-\\\",null,n)})),t.on(Ke+Ge,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],\\\"fn-\\\",this,n)})),t}const We={};function ze(e){const t=function(e){return(e||B.ee).get(\\\"mutation\\\")}(e);if(!p.RI||We[t.debugId])return t;We[t.debugId]=!0;var r=(0,W.YM)(t),n=p.gm.MutationObserver;return n\u0026\u0026(window.MutationObserver=function(e){return this instanceof n?new n(r(e,\\\"fn-\\\")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:qe,d3:Ze,Kp:Ye,$p:Xe,wW:$e,e5:Je,tH:Qe,uP:et,rw:tt,Lc:rt}=je;class nt extends b{static featureName=qe;constructor(e,t=!0){if(super(e,qe,t),!p.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get(\\\"tracer\\\"),o=Le(this.ee),a=Me(this.ee),s=Be(this.ee),c=Z(this.ee),u=this.ee.get(\\\"events\\\"),d=ne(this.ee),l=ve(this.ee),f=ze(this.ee);function h(e,t){l.emit(\\\"newURL\\\",[\\\"\\\"+window.location,t])}function g(){n++,r=window.location.hash,this[et]=(0,S.t)()}function m(){n--,window.location.hash!==r\u0026\u0026h(0,!0);var e=(0,S.t)();this[Je]=~~this[Je]+e-this[et],this[rt]=e}function v(e,t){e.on(t,(function(){this[t]=(0,S.t)()}))}this.ee.on(et,g),a.on(tt,g),o.on(tt,g),this.ee.on(rt,m),a.on($e,m),o.on($e,m),this.ee.on(\\\"fn-err\\\",((...t)=\u003e{t[2]?.__newrelic?.[e.agentIdentifier]||(0,x.p)(\\\"function-err\\\",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([et,rt,\\\"xhr-resolved\\\"],this.featureName),u.buffer([et],this.featureName),s.buffer([\\\"setTimeout\\\"+Ye,\\\"clearTimeout\\\"+Ze,et],this.featureName),c.buffer([et,\\\"new-xhr\\\",\\\"send-xhr\\\"+Ze],this.featureName),d.buffer([Qe+Ze,Qe+\\\"-done\\\",Qe+Xe+Ze,Qe+Xe+Ye],this.featureName),l.buffer([\\\"newURL\\\"],this.featureName),f.buffer([et],this.featureName),a.buffer([\\\"propagate\\\",tt,$e,\\\"executor-err\\\",\\\"resolve\\\"+Ze],this.featureName),i.buffer([et,\\\"no-\\\"+et],this.featureName),o.buffer([\\\"new-jsonp\\\",\\\"cb-start\\\",\\\"jsonp-error\\\",\\\"jsonp-end\\\"],this.featureName),v(d,Qe+Ze),v(d,Qe+\\\"-done\\\"),v(o,\\\"new-jsonp\\\"),v(o,\\\"jsonp-end\\\"),v(o,\\\"cb-start\\\"),l.on(\\\"pushState-end\\\",h),l.on(\\\"replaceState-end\\\",h),window.addEventListener(\\\"hashchange\\\",h,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener(\\\"load\\\",h,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener(\\\"popstate\\\",(function(){h(0,n\u003e1)}),(0,T.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var it=i(3333);class ot extends b{static featureName=it.TZ;constructor(e,t=!0){super(e,it.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled,e.init.performance.resources.enabled];if(p.RI\u0026\u0026(e.init.user_actions.enabled\u0026\u0026(it.Zp.forEach((e=\u003e(0,T.sp)(e,(e=\u003e(0,x.p)(\\\"ua\\\",[e],void 0,this.featureName,this.ee)),!0))),it.qN.forEach((e=\u003e{const t=(0,v.s)((e=\u003e{(0,x.p)(\\\"ua\\\",[e],void 0,this.featureName,this.ee)}),500,{leading:!0});(0,T.sp)(e,t)}))),e.init.performance.resources.enabled\u0026\u0026p.gm.PerformanceObserver?.supportedEntryTypes.includes(\\\"resource\\\"))){new PerformanceObserver((e=\u003e{e.getEntries().forEach((e=\u003e{(0,x.p)(\\\"browserPerformance.resource\\\",[e],void 0,this.featureName,this.ee)}))})).observe({type:\\\"resource\\\",buffered:!0})}r.some((e=\u003ee))?this.importAggregator(e):this.deregisterDrain()}}var at=i(993),st=i(3785);class ct extends b{static featureName=at.TZ;constructor(e,t=!0){super(e,at.TZ,t);const r=this.ee;this.ee.on(\\\"wrap-logger-end\\\",(function([e]){const{level:t,customAttributes:n}=this;(0,st.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t){super(),p.gm?(this.features={},(0,R.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(w),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=\u003ee.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||\\\"agent\\\"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=\u003ea.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=\u003e{if(!t[r.featureName]\u0026\u0026r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa\u0026\u0026r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa\u0026\u0026r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=\u003e!(e in this.features)));n.length\u003e0\u0026\u0026(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,R.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[he,w,N,Ne,Oe,O,M,ot,ct,Pe,nt],loaderType:\\\"spa\\\"})})()})();\",\"google\",\"testAutomationFlags\",{\"_814\":24,\"_815\":24,\"_816\":24,\"_817\":24,\"_818\":24,\"_819\":24,\"_820\":24,\"_821\":24,\"_822\":24,\"_32\":24,\"_823\":24,\"_824\":171,\"_825\":171},\"disableAds\",\"disableIirisAuth\",\"disableWelcomeAd\",\"disableBigskyAd\",\"disableIirisRecommend\",\"disableDcts\",\"disableWeatherWidget\",\"disableCashGrainWidget\",\"disableCommoditiesWidget\",\"disableCookieBanner\",\"overrideBrandStyling\",\"overrideThemeStyling\",\"configState\",{\"_54\":55,\"_52\":53,\"_828\":8,\"_829\":-7,\"_830\":24,\"_750\":831,\"_835\":836,\"_838\":839,\"_853\":854},\"uiBrand\",\"colors\",\"isMarketsDivision\",{\"_7\":832,\"_833\":834},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt06f49c53183e1192/65def48d237abe040a0cdb1b/Placeholder_Image.svg\",\"contributor\",\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltae99c6600909049d/6582ebe1e746c5040a189f2b/theme1_placeholder_avatar.png\",\"media\",{\"_837\":171},\"brightcoveAccountId\",\"newsletterSignupPromo\",{\"_840\":841,\"_842\":843},\"unbounceURL\",\"https://itp-resources.itprotoday.com/c/pubRD.mpl?secure=1\u0026sr=pp\u0026_t=pp:\u0026qf=w_itpb86\u0026ch=itpsitebtn\",\"elnConfig\",{\"_844\":845},\"newsletter\",{\"_846\":847,\"_851\":852},\"subscribeForm\",{\"_115\":848,\"_849\":850},\"Subscribe to Our Newsletters\",\"subtitle\",\"Subtitle\",\"subscribeConfirm\",{\"_115\":848,\"_849\":850},\"proxyConfigs\",{\"_855\":24,\"_856\":171},\"proxyEnabled\",\"proxyRootPath\",\"brandConfig\",{\"_13\":14,\"_859\":14,\"_860\":10,\"_861\":862,\"_15\":16,\"_33\":34,\"_863\":864,\"_38\":865,\"_874\":875,\"_837\":171,\"_43\":44,\"_50\":880,\"_881\":882,\"_886\":843,\"_777\":806,\"_887\":888,\"_916\":917},\"siteFullName\",\"siteUrl\",\"siteDivision\",\"Informa Tech\",\"authentication\",{},{\"_866\":867,\"_869\":870,\"_871\":872,\"_63\":873},\"local\",{\"_40\":868},\"dfd08c13-c8cf-43d1-8ccc-a1ca99dc6d5e-test\",\"preview\",{\"_40\":868},\"staging\",{\"_40\":41},{\"_40\":41},\"unbounce\",{\"_866\":876,\"_869\":877,\"_871\":878,\"_63\":879},{},{},{},{},{\"_7\":8,\"_52\":53,\"_54\":55},\"newsletterSignupPromoContent\",{\"_115\":848,\"_883\":171,\"_884\":885},\"message\",\"buttonText\",\"Sign Me Up\",\"eln\",\"iirisRecommendation\",{\"_889\":890,\"_891\":892,\"_893\":894,\"_895\":896,\"_897\":171,\"_898\":171,\"_899\":900,\"_901\":902,\"_903\":904,\"_905\":196,\"_906\":907,\"_908\":909,\"_910\":911,\"_912\":913,\"_914\":915,\"_7\":8},\"id\",\"widget-1717150909887\",\"division\",\"it\",\"brandFamily\",\"enterpriseit\",\"entityTagBackground\",\"#333333BF\",\"showBy\",\"showTime\",\"borderRadius\",\"4\",\"imageWidth\",\"324\",\"imageHeight\",\"182\",\"imagePosition\",\"dropShadow\",\"#FFEB00\",\"entityTagBorderColor\",\"#333333\",\"borderColor\",\"#e6e6e6\",\"redirectMode\",\"same\",\"recipe\",\"related-items\",\"articleSocialShareToggle\",{\"_918\":26,\"_919\":26,\"_920\":26},\"print\",\"email\",\"reddit\",\"routes/author.$slug\",{\"_923\":924,\"_1634\":1635,\"_1639\":1640,\"_1652\":1653,\"_1663\":-7},\"template\",{\"_925\":926,\"_976\":977,\"_981\":982,\"_986\":987,\"_1432\":1433,\"_1632\":1633},\"author\",{\"_159\":261,\"_161\":259,\"_59\":260,\"_115\":259,\"_927\":928,\"_929\":930,\"_968\":969},\"subTitle\",\"Contributor\",\"content\",[931,941,955,963],{\"_88\":932,\"_933\":934,\"_929\":937},\"paragraph\",\"attrs\",{\"_935\":936},\"textAlign\",\"left\",[938],{\"_88\":939,\"_939\":940},\"text\",\"Grant Knoetze is a cybersecurity analyst with a special interest in DFIR, programming languages, incident response, red-teaming, and malware analysis. His full-time job includes teaching and instructing in various topics from basic Linux all the way through to malware incident response, and other advanced topics. He is also a speaker at various conferences worldwide.\",{\"_88\":932,\"_933\":942,\"_929\":943},{\"_935\":936},[944],{\"_88\":939,\"_945\":946,\"_939\":954},\"marks\",[947],{\"_88\":183,\"_933\":948},{\"_5\":949,\"_950\":951,\"_952\":-5,\"_953\":-5},\"http://www.grantknoetze.com\",\"target\",\"_self\",\"rel\",\"class\",\"www.grantknoetze.com\",{\"_88\":932,\"_933\":956,\"_929\":957},{\"_935\":936},[958],{\"_88\":939,\"_945\":959,\"_939\":962},[960],{\"_88\":183,\"_933\":961},{\"_5\":962,\"_950\":951,\"_952\":-5,\"_953\":-5},\"https://github.com/Grant-Knoetze\",{\"_88\":932,\"_933\":964,\"_929\":965},{\"_935\":936},[966],{\"_88\":939,\"_939\":967},\"https://www.linkedin.com/in/grant-knoetze-563b0b1b6/\",\"socialInfo\",[970,972,974,975],{\"_59\":971,\"_88\":89},\"#\",{\"_59\":971,\"_88\":973},\"Instagram\",{\"_59\":967,\"_88\":95},{\"_59\":971,\"_88\":92},\"breadcrumbs\",[978,980],{\"_115\":788,\"_59\":979},\"/\",{\"_115\":259,\"_59\":260},\"pagination\",{\"_983\":984,\"_985\":192},\"totalCount\",2,\"currentPage\",\"contents\",[988,1005,1012,1026,1040,1053,1066,1080,1094,1107,1121,1135,1149,1163,1177,1190,1203,1216,1227,1240,1253,1266,1280,1293,1304,1315,1326,1339,1351,1364,1375,1386,1397,1408,1421],{\"_177\":178,\"_157\":989,\"_179\":990,\"_163\":253,\"_165\":993,\"_168\":255,\"_994\":995,\"_170\":171,\"_172\":256,\"_174\":171,\"_166\":254,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":262,\"_998\":999,\"_1003\":1004},{\"_159\":251,\"_161\":252},[991],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"role\",\"Beyond the Basics: Advanced Linux Hardening Techniques \",\"linkAttrs\",{},\"articleBodyJsonSummary\",\"normal\",\"paidGating\",{\"_1000\":24,\"_1001\":1002},\"paidContent\",\"paidProductTaxonomy\",[],\"articleSize\",\"big\",{\"_177\":178,\"_157\":1006,\"_179\":1007,\"_163\":390,\"_165\":390,\"_168\":392,\"_994\":1009,\"_170\":171,\"_172\":393,\"_174\":171,\"_166\":391,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":396,\"_998\":1010,\"_1003\":1004},{\"_159\":388,\"_161\":389},[1008],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},{},{\"_1000\":24,\"_1001\":1011},[],{\"_177\":272,\"_157\":1013,\"_179\":1016,\"_163\":1018,\"_165\":1018,\"_168\":1019,\"_994\":1020,\"_170\":270,\"_172\":1021,\"_174\":171,\"_166\":1022,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":1023,\"_998\":1024,\"_1003\":1004},{\"_159\":1014,\"_161\":1015},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt61427285d9637776/679ba06eea537e2d79e9d7a2/Lynis_(1716_x_965_px).png\",\"a thumbnail for the lynus tutorial featuring text about what the tutorial covers and a picture of a laptop with the lynus website opened on its screen\",[1017],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"Using Lynis for Linux Security Audits (Video Tutorial)\",\"/linux-os/using-lynix-for-linux-security-audits-video-tutorial-\",{},\"Jan 31, 2025\",\"Watch this tutorial to learn how to use Lynis, an open source security auditing tool, to audit and enhance Linux security. \",10,{\"_1000\":24,\"_1001\":1025},[],{\"_177\":272,\"_157\":1027,\"_179\":1030,\"_163\":1032,\"_165\":1032,\"_168\":1033,\"_994\":1034,\"_170\":270,\"_172\":1035,\"_174\":171,\"_166\":1036,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":1037,\"_998\":1038,\"_1003\":1004},{\"_159\":1028,\"_161\":1029},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt29ac07e9aa1af956/6781343c37fb04124faba3f3/apparmor_thumbnail.png\",\"a graphic with the words get started with apparmor ubuntu tutorial against a metallic background and a screenshot of the linux terminal window\",[1031],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"How To Use AppArmor to Lock Down Linux Applications\",\"/linux-os/how-to-use-apparmor-to-lock-down-linux-applications\",{},\"Jan 13, 2025\",\"Watch this video tutorial to learn how to install, configure, and manage AppArmor for enhanced Linux security.\",8,{\"_1000\":24,\"_1001\":1039},[],{\"_177\":178,\"_157\":1041,\"_179\":1044,\"_163\":1046,\"_165\":1046,\"_168\":1047,\"_994\":1048,\"_170\":171,\"_172\":1049,\"_174\":171,\"_166\":1050,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":262,\"_998\":1051,\"_1003\":1004},{\"_159\":1042,\"_161\":1043},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt624af8d0d883615c/674f615cba6fbcc4c0846aab/linux_container_security_hero.png\",\"a collage of featuring storage unit stacks, the word Linux spelled with wooden alphabet blocks, a padlock icon, and the words container security\",[1045],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"10 Ways To Harden Your Linux Containers Against Attacks\",\"/linux-os/10-ways-to-harden-your-linux-containers-against-attacks\",{},\"Dec 4, 2024\",\"Learn practical strategies for protecting containerized applications on Linux.\",{\"_1000\":24,\"_1001\":1052},[],{\"_177\":178,\"_157\":1054,\"_179\":1057,\"_163\":1059,\"_165\":1059,\"_168\":1060,\"_994\":1061,\"_170\":171,\"_172\":1062,\"_174\":171,\"_166\":1063,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":396,\"_998\":1064,\"_1003\":1004},{\"_159\":1055,\"_161\":1056},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blta5bc7718637c3441/6733a1495bd1c22c7043fe50/image-1716x1000_(4).jpg\",\"a security padlock icon in front of a dark server room\",[1058],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"Linux Server Security: Essential Guide for Hardening Servers\",\"/linux-os/linux-server-security-essential-guide-for-hardening-servers\",{},\"Nov 13, 2024\",\"With Linux systems increasingly under threat, this guide outlines essential security practices to harden Linux servers.\",{\"_1000\":24,\"_1001\":1065},[],{\"_177\":178,\"_157\":1067,\"_179\":1070,\"_163\":1072,\"_165\":1073,\"_168\":1074,\"_994\":1075,\"_170\":171,\"_172\":1076,\"_174\":171,\"_166\":1077,\"_996\":171,\"_193\":997,\"_175\":414,\"_176\":415,\"_191\":396,\"_998\":1078,\"_1003\":1004},{\"_159\":1068,\"_161\":1069},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf99e8de69c884e47/6703e85e7c36d207b980a3fa/Linux_Kernel_Security.png\",\"a digital shield icon with a keyhole next to text that says linux kernel security\",[1071],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"Linux Kernel Exploits: How Attackers Gain Root Access and How To Defend Against It\",\"Linux Kernel Exploits: Common Threats and How To Prevent Them\",\"/vulnerabilities-threats/linux-kernel-exploits-how-attackers-gain-root-access-and-how-to-defend-against-it\",{},\"Oct 8, 2024\",\"Learn about Linux kernel threats, including buffer overflows and use-after-free vulnerabilities, and implement effective defense strategies.\",{\"_1000\":24,\"_1001\":1079},[],{\"_177\":272,\"_157\":1081,\"_179\":1084,\"_163\":1086,\"_165\":1086,\"_168\":1087,\"_994\":1088,\"_170\":270,\"_172\":1089,\"_174\":171,\"_166\":1090,\"_996\":171,\"_193\":997,\"_175\":243,\"_176\":244,\"_191\":1091,\"_998\":1092,\"_1003\":1004},{\"_159\":1082,\"_161\":1083},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd604dd5379c2845e/66fc0395f7ab65a38e7c36e8/SSH_Security_for_Ubuntu_Servers_(1716_x_965_px).png\",\"text says securing sshs access linux tutorial and shows cartoon padlock, laptop, and computer user\",[1085],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"How To Secure SSH Access on Ubuntu Servers (Video Tutorial)\",\"/ubuntu/how-to-secure-ssh-access-on-ubuntu-servers-video-tutorial-\",{},\"Oct 2, 2024\",\"SSH (Secure Shell) is a powerful tool for managing servers remotely, but it can be vulnerable to attacks without proper security measures. Follow these 10 steps to secure SSH access on Ubuntu servers.\\n\",11,{\"_1000\":24,\"_1001\":1093},[],{\"_177\":178,\"_157\":1095,\"_179\":1098,\"_163\":1100,\"_165\":1100,\"_168\":1101,\"_994\":1102,\"_170\":171,\"_172\":1103,\"_174\":171,\"_166\":1104,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":1037,\"_998\":1105,\"_1003\":1004},{\"_159\":1096,\"_161\":1097},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltb1972aa79e23c1a8/66d724523a8d485776e1e487/linux_ransomware.png\",\"a laptop infected with a virus and above it the words linux ransomware\",[1099],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"Linux Ransomware Threats: How Attackers Target Linux Systems\",\"/linux-os/linux-ransomware-threats-how-attackers-target-linux-systems\",{},\"Sep 4, 2024\",\"Ransomware has evolved to target Linux systems. Learn about methods for infection and how to protect your IT environments from attacks.\",{\"_1000\":24,\"_1001\":1106},[],{\"_177\":272,\"_157\":1108,\"_179\":1111,\"_163\":1113,\"_165\":1113,\"_168\":1114,\"_994\":1115,\"_170\":270,\"_172\":1116,\"_174\":171,\"_166\":1117,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":1118,\"_998\":1119,\"_1003\":1004},{\"_159\":1109,\"_161\":1110},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt3cbd7c8f7dbc67e2/66c8c7eb9aeab424dd358da0/linux_ufw_hero.png\",\"a wall and fire with the words linux uncomplicated firewall (ufw) tutorial, configure and manage\",[1112],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"Linux UFW (Uncomplicated Firewall) Configuration Made Easy\",\"/linux-os/linux-ufw-uncomplicated-firewall-configuration-made-easy\",{},\"Aug 28, 2024\",\"Learn how to configure and manage a firewall using UFW, a critical skill for securing Linux systems.\",13,{\"_1000\":24,\"_1001\":1120},[],{\"_177\":178,\"_157\":1122,\"_179\":1125,\"_163\":1127,\"_165\":1127,\"_168\":1128,\"_994\":1129,\"_170\":171,\"_172\":1130,\"_174\":171,\"_166\":1131,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":1132,\"_998\":1133,\"_1003\":1004},{\"_159\":1123,\"_161\":1124},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt9885a6803382a6af/66b39a0dc20b717ac496de15/digital_shield_with_a_keyhole.jpg\",\"digital shield with a keyhole\",[1126],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"Introduction To Writing eBPF Programs for Linux Security\",\"/linux-os/introduction-to-writing-ebpf-programs-for-linux-security\",{},\"Aug 8, 2024\",\"eBPF is a versatile tool for improving Linux kernel security. This guide shows you how to write eBPF programs and discusses potential challenges.\",5,{\"_1000\":24,\"_1001\":1134},[],{\"_177\":178,\"_157\":1136,\"_179\":1139,\"_163\":1141,\"_165\":1142,\"_168\":1143,\"_994\":1144,\"_170\":171,\"_172\":1145,\"_174\":171,\"_166\":1146,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":396,\"_998\":1147,\"_1003\":1004},{\"_159\":1137,\"_161\":1138},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt9ac44d9e804b5f31/668ed43f6b429cc16b8ad68a/image-1716x965_(48).jpg\",\"a hand typing on a keyboard and a cybersecurity shield icon\",[1140],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"Enhance Linux Kernel Security Using Lockdown Mode and Kernel Self-Protection\",\"Two Linux Kernel Security Features You Should Implement \",\"/linux-os/enhance-linux-kernel-security-using-lockdown-mode-and-kernel-self-protection\",{},\"Jul 11, 2024\",\"Protecting the Linux kernel is a high-stakes endeavor. Discover how features like Lockdown Mode and Kernel Self-Protection enhance security in Linux environments.\",{\"_1000\":24,\"_1001\":1148},[],{\"_177\":178,\"_157\":1150,\"_179\":1153,\"_163\":1155,\"_165\":1155,\"_168\":1156,\"_994\":1157,\"_170\":171,\"_172\":1158,\"_174\":171,\"_166\":1159,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":1160,\"_998\":1161,\"_1003\":1004},{\"_159\":1151,\"_161\":1152},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt5546d6a7d5ac1003/667ad43de161e59e79ce9f89/image-1716x965_(32).jpg\",\"pins with words zero trust on a cybernetic board\",[1154],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"How To Implement Zero-Trust Security in Linux Environments\",\"/linux-os/how-to-implement-zero-trust-security-in-linux-environments\",{},\"Jun 26, 2024\",\"Unlike traditional security models, zero trust assumes that threats can exist inside and outside the network, requiring continuous verification of every access request regardless of origin.\",9,{\"_1000\":24,\"_1001\":1162},[],{\"_177\":178,\"_157\":1164,\"_179\":1167,\"_163\":1169,\"_165\":1170,\"_168\":1171,\"_994\":1172,\"_170\":171,\"_172\":1173,\"_174\":171,\"_166\":1174,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":262,\"_998\":1175,\"_1003\":1004},{\"_159\":1165,\"_161\":1166},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt9b6dca757060e7b9/6673362a82783258b89c60e6/image-1716x965_(22).jpg\",\"icons of padlocks and shield on puzzle background\",[1168],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"Securing Linux Systems with eBPF: The Future of In-Kernel Observability and Security\",\"How eBPF Enhances Linux Security and Monitoring\",\"/linux-os/securing-linux-systems-with-ebpf-the-future-of-in-kernel-observability-and-security\",{},\"Jun 20, 2024\",\"Learn about eBPF, its integration with Linux, applications in monitoring and securing systems, and more.\",{\"_1000\":24,\"_1001\":1176},[],{\"_177\":178,\"_157\":1178,\"_179\":1181,\"_163\":1183,\"_165\":1183,\"_168\":1184,\"_994\":1185,\"_170\":171,\"_172\":1186,\"_174\":171,\"_166\":1187,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":1132,\"_998\":1188,\"_1003\":1004},{\"_159\":1179,\"_161\":1180},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf6ff13db8e4226c5/666b0b27a15e2965d02272a4/Modern_smart_home_connected_to_wireless_control_system.jpg\",\"modern smart home connected to wireless control system\",[1182],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"The Evolution of Linux-Based Smart Home Operating Systems\",\"/linux-os/the-evolution-of-linux-based-smart-home-operating-systems\",{},\"Jun 14, 2024\",\"Linux-based operating systems are pivotal in meeting the evolving demands of smart homes. Learn how Linux supports innovation in home automation.\",{\"_1000\":24,\"_1001\":1189},[],{\"_177\":178,\"_157\":1191,\"_179\":1194,\"_163\":1196,\"_165\":1196,\"_168\":1197,\"_994\":1198,\"_170\":171,\"_172\":1199,\"_174\":171,\"_166\":1200,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":212,\"_998\":1201,\"_1003\":1004},{\"_159\":1192,\"_161\":1193},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blteee152294d8961c9/66564ca1f1f6e21f40cbeda8/glowing_silhouettes_of_people_in_a_dark_cyber_domain.jpg\",\"glowing silhouettes of people in a dark cyber domain\",[1195],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"Linux in the Metaverse: Building Virtual Worlds With Open-Source Tools\",\"/linux-os/linux-in-the-metaverse-building-virtual-worlds-with-open-source-tools\",{},\"May 29, 2024\",\"Explore how Linux-based platforms and tools are shaping immersive virtual experiences, highlighting recent advancements, open-source developments, and future trends.\",{\"_1000\":24,\"_1001\":1202},[],{\"_177\":178,\"_157\":1204,\"_179\":1207,\"_163\":1209,\"_165\":1209,\"_168\":1210,\"_994\":1211,\"_170\":171,\"_172\":1212,\"_174\":171,\"_166\":1213,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":396,\"_998\":1214,\"_1003\":1004},{\"_159\":1205,\"_161\":1206},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt7911221f00fc7df1/6650a0e1b2bae16f3ee5b47a/close-up_20of_20a_20quantum_20computer.jpg\",\"close-up of a quantum computer\",[1208],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"Explore the Growing Role of Linux in Quantum Computing\",\"/linux-os/explore-the-growing-role-of-linux-in-quantum-computing\",{},\"May 16, 2024\",\"Learn about how Linux and quantum computing intersect. This guide explores both the technical aspects and broader implications for the future of computing.\",{\"_1000\":24,\"_1001\":1215},[],{\"_177\":178,\"_157\":1217,\"_179\":1220,\"_163\":1222,\"_165\":1222,\"_168\":1223,\"_994\":1224,\"_170\":171,\"_172\":1225,\"_174\":171,\"_166\":1226,\"_996\":171,\"_193\":997,\"_175\":541,\"_176\":542,\"_191\":262,\"_998\":-5,\"_1003\":1004},{\"_159\":1218,\"_161\":1219},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt02c6f9ff9e310506/6650a283f7adf7b5fbe465f3/Shipping_20transport_20containers_20stacked_20like_20bricks.jpg\",\"shipping transport containers stacked like bricks\",[1221],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"Comparing Container Orchestration Tools: Kubernetes, Docker Swarm, Apache Mesos\",\"/containerization/comparing-container-orchestration-tools-kubernetes-docker-swarm-apache-mesos\",{},\"Apr 5, 2024\",\"When selecting a container orchestration tool, considerations such as project size, resource constraints, and team expertise should guide the decision.\",{\"_177\":178,\"_157\":1228,\"_179\":1231,\"_163\":1233,\"_165\":1233,\"_168\":1234,\"_994\":1235,\"_170\":171,\"_172\":1236,\"_174\":171,\"_166\":1237,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":1160,\"_998\":1238,\"_1003\":1004},{\"_159\":1229,\"_161\":1230},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf4ea07f5964a0f1f/675b75b78adfae14735f0c6b/image-1716x965_-_2024-12-12T184552.734.jpg\",\"glowing cloud icon depicted in blue circuitry pattern\",[1232],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"Linux Security in the Cloud Era: Best Practices for Protecting Your Cloud Workloads\",\"/linux-os/linux-security-in-the-cloud-era-best-practices-for-protecting-your-cloud-workloads\",{},\"Feb 23, 2024\",\"Learn about the unique security challenges of Linux workloads in the cloud. We cover best practices and more in this comprehensive guide.\",{\"_1000\":24,\"_1001\":1239},[],{\"_177\":178,\"_157\":1241,\"_179\":1244,\"_163\":1246,\"_165\":1246,\"_168\":1247,\"_994\":1248,\"_170\":171,\"_172\":1249,\"_174\":171,\"_166\":1250,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":1132,\"_998\":1251,\"_1003\":1004},{\"_159\":1242,\"_161\":1243},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt5fca873c7c0d5da7/6617f8fcd9d608ec55a9c973/KN8JFE.jpg\",\"Linux text over 1's and 0's\",[1245],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"The Rise of Linux in Edge Computing and IoT\",\"/linux-os/the-rise-of-linux-in-edge-computing-and-iot\",{},\"Jan 3, 2024\",\"Linux’s effectiveness positions it as a crucial player in the evolving landscape of distributed computing.\",{\"_1000\":24,\"_1001\":1252},[],{\"_177\":178,\"_157\":1254,\"_179\":1257,\"_163\":1259,\"_165\":1259,\"_168\":1260,\"_994\":1261,\"_170\":171,\"_172\":1262,\"_174\":171,\"_166\":1263,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":262,\"_998\":1264,\"_1003\":1004},{\"_159\":1255,\"_161\":1256},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt333aca08b3cc553b/6617f956344ee47a8e7bc474/Pilot_20and_20copilot_20in_20cockpit.jpg\",\"Pilot and copilot in cockpit\",[1258],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"How To Install and Use the Cockpit Linux Management Console\",\"/linux-os/how-to-install-and-use-the-cockpit-linux-management-console\",{},\"Dec 12, 2023\",\"This guide covers key Cockpit features, step-by-step instructions on how to install and configure Cockpit on various Linux distributions, and much more.\",{\"_1000\":24,\"_1001\":1265},[],{\"_177\":1267,\"_157\":1268,\"_179\":1271,\"_163\":1273,\"_165\":1273,\"_168\":1274,\"_994\":1275,\"_170\":609,\"_172\":1276,\"_174\":171,\"_166\":1277,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":192,\"_998\":1278,\"_1003\":1004},\"Document\",{\"_159\":1269,\"_161\":1270},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt943f9449a8766020/6617f9cc8bf06782601d4177/GettyImages-1315143480-1201x789-3a878e4.jpeg\",\"hand circling people icons in red marker\",[1272],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"Advanced Linux User Management: A Guide for IT Pros\",\"/linux-os/advanced-linux-user-management-a-guide-for-it-pros\",{},\"Nov 8, 2023\",\"If you are looking to set up well-orchestrated Linux environments, this guide explains the essential concepts and practices for advanced user management.\",{\"_1000\":24,\"_1001\":1279},[],{\"_177\":1267,\"_157\":1281,\"_179\":1284,\"_163\":1286,\"_165\":1286,\"_168\":1287,\"_994\":1288,\"_170\":609,\"_172\":1289,\"_174\":171,\"_166\":1290,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":192,\"_998\":1291,\"_1003\":1004},{\"_159\":1282,\"_161\":1283},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt871b43a1f079f10a/6617fa2546b1e945a04ec81b/2K09GJX_0.jpg\",\"Linux building blocks\",[1285],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"ITPro Today's Linux Commands Cheat Sheet\",\"/linux-os/itpro-today-s-linux-commands-cheat-sheet\",{},\"Oct 23, 2023\",\"This cheat sheet covers common Linux commands and their basic usage, making it a valuable resource for both newcomers and experienced users seeking a handy reference.\",{\"_1000\":24,\"_1001\":1292},[],{\"_177\":178,\"_157\":1294,\"_179\":1297,\"_163\":1299,\"_165\":1299,\"_168\":1300,\"_994\":1301,\"_170\":171,\"_172\":1302,\"_174\":171,\"_166\":1303,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":212,\"_998\":-5,\"_1003\":1004},{\"_159\":1295,\"_161\":1296},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt4a4a679fc74dc770/6617fa5583dd3057bb2c29ed/open_20source_20phrase_20made_20from_20metallic_20letterpress_20blocks_20on_20the_20pc_20board_20background.jpg\",\"open source phrase made from metallic letterpress blocks on the pc board background\",[1298],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"What To Know About the Open Enterprise Linux Association\",\"/linux-os/what-to-know-about-the-open-enterprise-linux-association\",{},\"Oct 13, 2023\",\"OpenELA was established in response to Red Hat’s policy change and focuses on ensuring open and transparent access to Linux source code.\",{\"_177\":178,\"_157\":1305,\"_179\":1308,\"_163\":1310,\"_165\":1310,\"_168\":1311,\"_994\":1312,\"_170\":171,\"_172\":1313,\"_174\":171,\"_166\":1314,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":1160,\"_998\":-5,\"_1003\":1004},{\"_159\":1306,\"_161\":1307},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt14b384b46fd50e74/6617fab7b691ed0ced2c904b/2HE1BR5_0.jpg\",\"keylock in a blue digital space\",[1309],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"Linux User and Group Management Security Best Practices\",\"/linux-os/linux-user-and-group-management-security-best-practices\",{},\"Sep 22, 2023\",\"This guide explores how to manage Linux users and groups for better system security.\",{\"_177\":178,\"_157\":1316,\"_179\":1319,\"_163\":1321,\"_165\":1321,\"_168\":1322,\"_994\":1323,\"_170\":171,\"_172\":1324,\"_174\":171,\"_166\":1325,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":1091,\"_998\":-5,\"_1003\":1004},{\"_159\":1317,\"_161\":1318},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt9e29c809887282c9/6617fac42789f420068d8f31/structure_20of_20user_20icons.jpg\",\"structure of user icons\",[1320],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"Advanced Linux User Management: Privileges, Resource Limits, and More\",\"/linux-os/advanced-linux-user-management-privileges-resource-limits-and-more\",{},\"Sep 20, 2023\",\"If you are looking to better manage Linux environments, this guide explains essential concepts and security practices for advanced user management.\",{\"_177\":178,\"_157\":1327,\"_179\":1330,\"_163\":1332,\"_165\":1332,\"_168\":1333,\"_994\":1334,\"_170\":171,\"_172\":1335,\"_174\":171,\"_166\":1336,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":1118,\"_998\":1337,\"_1003\":1004},{\"_159\":1328,\"_161\":1329},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt4d4a31ca5d6134f5/6617fade85848973f9d1951c/2D89TNG_1.jpg\",\"padlock icons overlay people typing on laptops\",[1331],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"How To Remotely Manage Linux Users and Groups\",\"/linux-os/how-to-remotely-manage-linux-users-and-groups\",{},\"Sep 14, 2023\",\"This guide provides detailed explanations, practical tips, and recommended tools and practices for the remote management of Linux users and groups.\",{\"_1000\":24,\"_1001\":1338},[],{\"_177\":178,\"_157\":1340,\"_179\":1343,\"_163\":1345,\"_165\":1345,\"_168\":1346,\"_994\":1347,\"_170\":171,\"_172\":1348,\"_174\":171,\"_166\":1349,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":1350,\"_998\":-5,\"_1003\":1004},{\"_159\":1341,\"_161\":1342},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfa1afc179dac1e89/6617fb354cef4fc3f2385f56/linux_neon_2.jpg\",\"neon linux sign\",[1344],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"The Best Linux Commands: A Comprehensive Guide for All Users\",\"/linux-os/the-best-linux-commands-a-comprehensive-guide-for-all-users\",{},\"Aug 24, 2023\",\"This guide offers explanations and examples for important Linux commands. You will learn each command’s capabilities and practical use cases.\",16,{\"_177\":178,\"_157\":1352,\"_179\":1355,\"_163\":1357,\"_165\":1357,\"_168\":1358,\"_994\":1359,\"_170\":171,\"_172\":1360,\"_174\":171,\"_166\":1361,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":278,\"_998\":1362,\"_1003\":1004},{\"_159\":1353,\"_161\":1354},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt997ac831dfd0ff43/6617fb4e8bf0672ef21d417b/Hand_20holds_20a_20padlock_20hologram_0.jpg\",\"Hand holds a padlock hologram\",[1356],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"How To Set up a Secure VPN Connection in Linux\",\"/linux-os/how-to-set-up-a-secure-vpn-connection-in-linux\",{},\"Aug 23, 2023\",\"This guide explains VPN installation and configuration processes on Linux systems. We demonstrate these processes for OpenVPN, ProtonVPN, and NordVPN.\",{\"_1000\":24,\"_1001\":1363},[],{\"_177\":178,\"_157\":1365,\"_179\":1368,\"_163\":1370,\"_165\":1370,\"_168\":1371,\"_994\":1372,\"_170\":171,\"_172\":1373,\"_174\":171,\"_166\":1374,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":1023,\"_998\":-5,\"_1003\":1004},{\"_159\":1366,\"_161\":1367},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt280b703c0f167635/6617fb62e92bcf7caa8936e9/cyber_crime_alamy_5.jpg\",\"a swarm of malware and viruses\",[1369],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"Linux Malware: What To Know About the Malware Threat\",\"/linux-os/linux-malware-what-to-know-about-the-malware-threat\",{},\"Aug 18, 2023\",\"Although Linux offers security advantages, users must remain vigilant against various forms of malware and cyberattacks.\",{\"_177\":178,\"_157\":1376,\"_179\":1379,\"_163\":1381,\"_165\":1381,\"_168\":1382,\"_994\":1383,\"_170\":171,\"_172\":1384,\"_174\":171,\"_166\":1385,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":1023,\"_998\":-5,\"_1003\":1004},{\"_159\":1377,\"_161\":1378},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltf0c175acd798386a/6617fb72fe9740608682b4e1/2K09GJX.jpg\",\"Linux spelled out on wooden blocks\",[1380],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"How To Add Users to a Group in Linux: A Step-by-Step Guide\",\"/linux-os/how-to-add-users-to-a-group-in-linux-a-step-by-step-guide\",{},\"Aug 15, 2023\",\"Learn about creating, managing, and removing users from groups in Linux. This guide covers both GUI and command-line approaches.\",{\"_177\":178,\"_157\":1387,\"_179\":1390,\"_163\":1392,\"_165\":1392,\"_168\":1393,\"_994\":1394,\"_170\":171,\"_172\":1395,\"_174\":171,\"_166\":1396,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":1160,\"_998\":-5,\"_1003\":1004},{\"_159\":1388,\"_161\":1389},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blta133aa79a27be6bb/6617fbd3d9d60850aca9c991/HRY5XK_20(1).jpg\",\"business person looking at the scheme of hierarchy\",[1391],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"An In-Depth Overview of the Linux File System Hierarchy\",\"/linux-os/an-in-depth-overview-of-the-linux-file-system-hierarchy\",{},\"Jul 21, 2023\",\"Understanding the Linux File System Hierarchy is important for Linux users, particularly system administrators and developers.\",{\"_177\":178,\"_157\":1398,\"_179\":1401,\"_163\":1403,\"_165\":1403,\"_168\":1404,\"_994\":1405,\"_170\":171,\"_172\":1406,\"_174\":171,\"_166\":1407,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":278,\"_998\":-5,\"_1003\":1004},{\"_159\":1399,\"_161\":1400},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt86847eddde85afe6/6617fbe3671f1119da8ca758/computer_20keyboard_20close_20up.jpg\",\"computer keyboard close up\",[1402],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"Mastering File Permissions in Linux\",\"/linux-os/mastering-file-permissions-in-linux\",{},\"Jul 14, 2023\",\"Here’s everything you need to know about setting file permissions in Linux. This guide covers both the GUI and command line approaches.\",{\"_177\":178,\"_157\":1409,\"_179\":1412,\"_163\":1414,\"_165\":1414,\"_168\":1415,\"_994\":1416,\"_170\":171,\"_172\":1417,\"_174\":171,\"_166\":1418,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":1160,\"_998\":1419,\"_1003\":1004},{\"_159\":1410,\"_161\":1411},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt6318f53fb81f6207/6617fbdf4e0430620c10ec3b/logos_20of_20linux_20penguin_20on_20a_20heap_20on_20a_20table.jpg\",\"logos of linux penguin in a heap on a table\",[1413],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"How To Check Linux Disk Space Usage: Classic SysAdmin Tips and Commands\",\"/linux-os/how-to-check-linux-disk-space-usage-classic-sysadmin-tips-and-commands\",{},\"Jun 6, 2023\",\"This guide explains Linux commands and utilities for checking disk space and usage.\",{\"_1000\":24,\"_1001\":1420},[],{\"_177\":178,\"_157\":1422,\"_179\":1425,\"_163\":1427,\"_165\":1427,\"_168\":1428,\"_994\":1429,\"_170\":171,\"_172\":1430,\"_174\":171,\"_166\":1431,\"_996\":171,\"_193\":997,\"_175\":228,\"_176\":229,\"_191\":1037,\"_998\":-5,\"_1003\":1004},{\"_159\":1423,\"_161\":1424},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt36ddbb50b187fa3f/6617fbe21939a6e46b379664/Screen_20Shot_202023-05-31_20at_204.06.22_20PM.png\",\"Standing Linux text with several people\",[1426],{\"_57\":259,\"_183\":260,\"_185\":261,\"_992\":928},\"The Best Linux File Managers for Managing Your Files\",\"/linux-os/the-best-linux-file-managers-for-managing-your-files\",{},\"Jun 1, 2023\",\"Learn about selecting file managers for Linux operating systems.\",\"sidebarModules\",[1434,1501,1537,1583,1597],{\"_88\":1435,\"_1436\":1437,\"_1498\":1499},\"module_content_cards\",\"data\",{\"_115\":1438,\"_1439\":1438,\"_193\":1440,\"_986\":1441,\"_1494\":1495,\"_1496\":1495,\"_1497\":-7},\"Editor's Choice\",\"moduleLabel\",\"default\",[1442,1457,1462,1478,1491],{\"_88\":1443,\"_1436\":1444},\"contentPreview\",{\"_177\":178,\"_193\":1445,\"_157\":1446,\"_163\":1449,\"_165\":1449,\"_168\":1450,\"_170\":1450,\"_994\":1451,\"_172\":1452,\"_174\":171,\"_175\":361,\"_176\":325,\"_179\":1453,\"_191\":1037,\"_998\":1455},\"card-horizontal\",{\"_159\":1447,\"_161\":1448},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blted009d53042b6a96/673dc873f59c3326ad835a0e/jobs-key-1716x965_-_2024-08-21.jpg\",\"jobs key on keyboard\",\"IT Jobs Outlook 2025: Evolving Skills, AI, Workplace Flexibility Will Shape IT Workforce\",\"/career-management/it-jobs-outlook-2025-evolving-skills-ai-workplace-flexibility-will-shape-it-workforce\",{},\"Nov 20, 2024\",[1454],{\"_57\":513,\"_183\":514,\"_185\":515},{\"_1000\":24,\"_1001\":1456},[],{\"_88\":1458,\"_1436\":1459},\"ad\",{\"_1460\":1461},\"pos\",\"native_right_1v\",{\"_88\":1443,\"_1436\":1463},{\"_177\":178,\"_193\":1445,\"_157\":1464,\"_163\":1467,\"_165\":1468,\"_168\":1469,\"_170\":1469,\"_994\":1470,\"_172\":1471,\"_174\":171,\"_175\":1472,\"_176\":1473,\"_179\":1474,\"_191\":322,\"_998\":1476},{\"_159\":1465,\"_161\":1466},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt8e3cff5562b9ae01/67462526b7779a7c7bca6346/green_IT_sustainability_hero.gif\",\"an it pro is disappointed as a poster for sustainability is switched with one for financial results and garbage piles up next to a recycling bin\",\"How Do I Advocate for Green IT Without Being Dismissed as a Lorax?\",\"How Do I Advocate for Green IT Without Being Dismissed as a Lorax? \",\"/green-it/how-do-i-advocate-for-green-it-without-being-dismissed-as-a-lorax-\",{},\"Nov 27, 2024\",\"Green IT\",\"/it-management/it-sustainability/green-it\",[1475],{\"_57\":350,\"_183\":351,\"_185\":352},{\"_1000\":24,\"_1001\":1477},[],{\"_88\":1443,\"_1436\":1479},{\"_177\":178,\"_193\":1445,\"_157\":1480,\"_163\":1483,\"_165\":1483,\"_168\":1484,\"_170\":1484,\"_994\":1485,\"_172\":1486,\"_174\":171,\"_175\":285,\"_176\":286,\"_179\":1487,\"_191\":1132,\"_998\":1489},{\"_159\":1481,\"_161\":1482},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/blt169bb0721a0b9a6d/67401d99c70a870d4f57da8d/Ubuntu-1716x965_-_2024-11-22.jpg\",\"person using a laptop with the Ubuntu logo on its scree\",\"3 Simple Ways to Install and Run a Virtual Machine on Ubuntu\",\"/it-operations/3-simple-ways-to-install-and-run-a-virtual-machine-on-ubuntu\",{},\"Nov 22, 2024\",[1488],{\"_57\":484,\"_183\":485,\"_185\":486},{\"_1000\":24,\"_1001\":1490},[],{\"_88\":1458,\"_1436\":1492},{\"_1460\":1493},\"native_right_2v\",\"dateDisplay\",\"show\",\"contributorDisplay\",\"displayAd\",\"adConfig\",{\"_1500\":26},\"nativeAdOption\",{\"_88\":1502,\"_1436\":1503},\"module_link_list\",{\"_1504\":1505,\"_1506\":1507,\"_1508\":1267,\"_1509\":171,\"_1510\":1511,\"_752\":24,\"_1515\":1516},\"listOption\",\"Dynamic\",\"listTitle\",\"Exclusive ITPro Resources\",\"icon\",\"externalFeed\",\"ctaButton\",{\"_1512\":609,\"_1513\":1514},\"ctaButtonLink\",\"ctaButtonText\",\"See all ITPro Resources\",\"articles\",[1517,1525,1529,1533],{\"_177\":1267,\"_115\":1518,\"_59\":1519,\"_1520\":24,\"_1521\":984,\"_1522\":1523,\"_1524\":171,\"_174\":171},\"ITPro Today’s 2024 State of DevOps Report\",\"/devops/itpro-today-s-2024-state-of-devops-report\",\"isExternalLink\",\"readTime\",\"publishedDate\",\"2024-12-16T13:00:00.000Z\",\"eventDate\",{\"_177\":1267,\"_115\":1526,\"_59\":1527,\"_1520\":24,\"_1521\":192,\"_1522\":1528,\"_1524\":171,\"_174\":171},\"BCDR Basics: A Quick Reference Guide for Business Continuity \u0026 Disaster Recovery\",\"/disaster-recovery/bcdr-basics-a-quick-reference-guide-for-business-continuity-disaster-recovery\",\"2024-10-10T15:22:31.000Z\",{\"_177\":1267,\"_115\":1530,\"_59\":1531,\"_1520\":24,\"_1521\":192,\"_1522\":1532,\"_1524\":171,\"_174\":171},\"ITPro Today’s 2024 IT Priorities Report\",\"/career-management/itpro-today-s-2024-it-priorities-report\",\"2024-09-25T10:00:00.000Z\",{\"_177\":1267,\"_115\":1534,\"_59\":1535,\"_1520\":24,\"_1521\":192,\"_1522\":1536,\"_1524\":171,\"_174\":171},\"Tech Careers: Quick Reference Guide to IT Job Titles\",\"/career-management/tech-careers-quick-reference-guide-to-it-job-titles\",\"2024-09-13T10:45:00.000Z\",{\"_88\":1435,\"_1436\":1538,\"_1498\":1582},{\"_115\":1539,\"_1439\":1540,\"_193\":1440,\"_986\":1541,\"_1494\":1581,\"_1496\":1581,\"_1497\":-7},\"Technical Explainers\",\"Featured Technical Explainers\",[1542,1555,1568],{\"_88\":1443,\"_1436\":1543},{\"_177\":178,\"_193\":1445,\"_157\":1544,\"_163\":1547,\"_165\":1547,\"_168\":1548,\"_170\":1548,\"_994\":1549,\"_172\":1550,\"_174\":171,\"_175\":563,\"_176\":136,\"_179\":1551,\"_191\":212,\"_998\":1553},{\"_159\":1545,\"_161\":1546},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfec5fcbd31c7f2a6/673b100cd675084d0707e288/AI-chip-1716x965_-_2024-11-18.jpg\",\"AI chip\",\"Cloud vs. On-Prem AI Accelerators: Choosing the Best Fit for Your AI Workloads\",\"/cloud-computing/cloud-vs-on-prem-ai-accelerators-choosing-the-best-fit-for-your-ai-workloads\",{},\"Nov 18, 2024\",[1552],{\"_57\":484,\"_183\":485,\"_185\":486},{\"_1000\":24,\"_1001\":1554},[],{\"_88\":1443,\"_1436\":1556},{\"_177\":178,\"_193\":1445,\"_157\":1557,\"_163\":1560,\"_165\":1560,\"_168\":1561,\"_170\":1561,\"_994\":1562,\"_172\":1563,\"_174\":171,\"_175\":563,\"_176\":136,\"_179\":1564,\"_191\":1132,\"_998\":1566},{\"_159\":1558,\"_161\":1559},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd277e0c4548d3c42/673278ac8d8bc463268a48b4/SaaS-1716x965_-_2024-11-11.jpg\",\"SaaS concept on a tablet\",\"Why SaaS Backup Matters: Protecting Data Beyond Vendor Guarantees\",\"/cloud-computing/why-saas-backup-matters-protecting-data-beyond-vendor-guarantees\",{},\"Nov 12, 2024\",[1565],{\"_57\":484,\"_183\":485,\"_185\":486},{\"_1000\":24,\"_1001\":1567},[],{\"_88\":1443,\"_1436\":1569},{\"_177\":178,\"_193\":1445,\"_157\":1570,\"_163\":1573,\"_165\":1573,\"_168\":1574,\"_170\":1574,\"_994\":1575,\"_172\":1576,\"_174\":171,\"_175\":288,\"_176\":289,\"_179\":1577,\"_191\":212,\"_998\":1579},{\"_159\":1571,\"_161\":1572},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltdf272a7a39b366c2/672b48253c936766d5282090/DevOps-code-1716x965_-_2024-09-06.jpg\",\"DevOps logo on top of code\",\"DevOps: Key to Faster, More Efficient Government Software Development\",\"/devops/devops-key-to-faster-more-efficient-government-software-development\",{},\"Nov 6, 2024\",[1578],{\"_57\":484,\"_183\":485,\"_185\":486},{\"_1000\":24,\"_1001\":1580},[],\"hide\",{\"_1500\":24},{\"_88\":1584,\"_1585\":1586,\"_1436\":1587},\"module_newsletter_promo\",\"uid\",\"blt96562e27e259477c\",{\"_115\":1588,\"_883\":1589,\"_1590\":1586,\"_884\":1591,\"_193\":196,\"_1592\":1593,\"_1594\":24,\"_1595\":1596},\"Sign up for the ITPro Today newsletter\",\"Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.\",\"newsletterId\",\"Newsletter Sign-Up\",\"mode\",\"dark\",\"isOnHomepage\",\"moduleLocation\",\"sidebar\",{\"_88\":1435,\"_1436\":1598,\"_1498\":1631},{\"_115\":1599,\"_1439\":1600,\"_193\":1601,\"_986\":1602,\"_1494\":1581,\"_1496\":1581,\"_1497\":-7},\"What Is\",\"Recent What Is\",\"column\",[1603,1618],{\"_88\":1443,\"_1436\":1604},{\"_177\":1267,\"_193\":194,\"_157\":1605,\"_163\":1526,\"_165\":1608,\"_168\":1527,\"_170\":1527,\"_994\":1609,\"_172\":1610,\"_174\":171,\"_175\":383,\"_176\":384,\"_179\":1611,\"_191\":192,\"_998\":1616},{\"_159\":1606,\"_161\":1607},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltd6267f0056e427cb/6707f1e94c215e0bdbe8db2f/image-1795x965_(2).jpg\",\"cartoon shows a person next to a checklist and several icons that represent disaster scenarios\",\"BCDR Basics: A Quick Reference Guide for IT Pros\",{},\"Oct 10, 2024\",[1612],{\"_57\":1613,\"_183\":1614,\"_185\":1615},\"Ian Horowitz\",\"/author/ian-horowitz\",\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltc93aa705007174ee/66a10526893fa79494559f62/itpro-contributor-icon2.png\",{\"_1000\":24,\"_1001\":1617},[],{\"_88\":1443,\"_1436\":1619},{\"_177\":178,\"_193\":194,\"_157\":1620,\"_163\":1623,\"_165\":1623,\"_168\":1624,\"_170\":1624,\"_994\":1625,\"_172\":1626,\"_174\":171,\"_175\":225,\"_176\":226,\"_179\":1627,\"_191\":212,\"_998\":1629},{\"_159\":1621,\"_161\":1622},\"https://eu-images.contentstack.com/v3/assets/blt07f68461ccd75245/bltfffa964ee37aaf1e/66f6ee6fe8a6b02af4dab7fe/powershell_environment_variables_chart.png\",\"technology interface with a person's hand drawing gears and cogs\",\"Introduction To PowerShell Environment Variables\",\"/powershell/introduction-to-powershell-environment-variables\",{},\"Sep 30, 2024\",[1628],{\"_57\":275,\"_183\":276,\"_185\":277},{\"_1000\":24,\"_1001\":1630},[],{\"_1500\":24},\"newsletterSignUpPromo\",{\"_115\":1588,\"_883\":1589,\"_1590\":1586,\"_884\":1591,\"_193\":196,\"_1592\":1593},\"metadata\",{\"_1585\":1636,\"_1637\":1638},\"blt5c6c87b85ab98267\",\"aid\",\"995984\",\"schema\",[1641],{\"_1642\":1643,\"_1644\":1645,\"_1646\":1647},\"@context\",\"https://schema.org\",\"@type\",\"ProfilePage\",\"mainEntity\",{\"_1644\":1648,\"_57\":259,\"_110\":940,\"_750\":261,\"_1649\":259,\"_1650\":1651},\"Person\",\"disambiguatingDescription\",\"sameAs\",[967],\"seo\",{\"_1654\":1655,\"_1656\":1657,\"_1658\":1659,\"_1660\":24,\"_1661\":1662,\"_13\":14},\"canonicalUrl\",\"https://www.itprotoday.com/author/grant-knoetze\",\"metaDescription\",\"Explore the latest news and expert commentary by Grant Knoetze, brought to you by the Contributor of ITPro Today\",\"metaTitle\",\"Grant Knoetze | ITPro Today\",\"noIndex\",\"imageUrl\",\"https://www.itprotoday.com/assets/itprotoday-DWmeQ76g.ico\",\"weatherWidgetConfig\",\"actionData\",\"errors\"]\n");</script><!--$?--><template id="B:1"></template><!--/$--></div><script>$RC=function(b,c,e){c=document.getElementById(c);c.parentNode.removeChild(c);var a=document.getElementById(b);if(a){b=a.previousSibling;if(e)b.data="$!",a.setAttribute("data-dgst",e);else{e=b.parentNode;a=b.nextSibling;var f=0;do{if(a&&8===a.nodeType){var d=a.data;if("/$"===d)if(0===f)break;else f--;else"$"!==d&&"$?"!==d&&"$!"!==d||f++}d=a.nextSibling;e.removeChild(a);a=d}while(a);for(;c.firstChild;)e.insertBefore(c.firstChild,a);b.data="$"}b._reactRetry&&b._reactRetry()}};$RC("B:0","S:0")</script><div hidden id="S:1"><script>window.__reactRouterContext.streamController.close();</script></div><script>$RC("B:1","S:1")</script></body></html>