CINXE.COM

Author: Scharon Harding - Ars Technica

<!doctype html> <html lang="en-US" class="view-grid"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Author: Scharon Harding &#x2d; Ars Technica</title> <link rel="preconnect" href="https://c.arstechnica.com"> <!-- The SEO Framework by Sybre Waaijer --> <meta name="robots" content="max-snippet:-1,max-image-preview:large,max-video-preview:-1" /> <link rel="canonical" href="https://arstechnica.com/author/scharonharding/" /> <meta name="description" content="Scharon is Ars Technica&rsquo;s Senior Product Reviewer writing news, reviews, and analysis on consumer technology, including laptops, mechanical keyboards&#8230;" /> <meta property="og:type" content="profile" /> <meta property="og:locale" content="en_US" /> <meta property="og:site_name" content="Ars Technica" /> <meta property="og:title" content="Author: Scharon Harding" /> <meta property="og:description" content="Scharon is Ars Technica&rsquo;s Senior Product Reviewer writing news, reviews, and analysis on consumer technology, including laptops, mechanical keyboards, and monitors. Before joining Ars Technica&#8230;" /> <meta property="og:url" content="https://arstechnica.com/author/scharonharding/" /> <meta property="og:image" content="https://cdn.arstechnica.net/wp-content/uploads/2016/10/cropped-ars-logo-512_480.png" /> <meta property="og:image:width" content="512" /> <meta property="og:image:height" content="512" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:title" content="Author: Scharon Harding" /> <meta name="twitter:description" content="Scharon is Ars Technica&rsquo;s Senior Product Reviewer writing news, reviews, and analysis on consumer technology, including laptops, mechanical keyboards, and monitors. Before joining Ars Technica&#8230;" /> <meta name="twitter:image" content="https://cdn.arstechnica.net/wp-content/uploads/2016/10/cropped-ars-logo-512_480.png" /> <script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://arstechnica.com/#/schema/WebSite","url":"https://arstechnica.com/","name":"Ars Technica","description":"Serving the Technologist since 1998. News, reviews, and analysis.","inLanguage":"en-US","potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://arstechnica.com/search/{search_term_string}/"},"query-input":"required name=search_term_string"},"publisher":{"@type":"Organization","@id":"https://arstechnica.com/#/schema/Organization","name":"Ars Technica","url":"https://arstechnica.com/","logo":{"@type":"ImageObject","url":"https://cdn.arstechnica.net/wp-content/uploads/2016/10/cropped-ars-logo-512_480.png","contentUrl":"https://cdn.arstechnica.net/wp-content/uploads/2016/10/cropped-ars-logo-512_480.png","width":512,"height":512,"contentSize":"34417"}}},{"@type":"CollectionPage","@id":"https://arstechnica.com/author/scharonharding/","url":"https://arstechnica.com/author/scharonharding/","name":"Author: Scharon Harding &#x2d; Ars Technica","description":"Scharon is Ars Technica&rsquo;s Senior Product Reviewer writing news, reviews, and analysis on consumer technology, including laptops, mechanical keyboards&#8230;","inLanguage":"en-US","isPartOf":{"@id":"https://arstechnica.com/#/schema/WebSite"},"breadcrumb":{"@type":"BreadcrumbList","@id":"https://arstechnica.com/#/schema/BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":"https://arstechnica.com/","name":"Ars Technica"},{"@type":"ListItem","position":2,"name":"Author: Scharon Harding"}]}}]}</script> <!-- / The SEO Framework by Sybre Waaijer | 3.80ms meta | 0.26ms boot --> <link rel="preconnect" href="https://cdn.cookielaw.org"> <link rel="preconnect" href="https://geolocation.onetrust.com"> <!-- OneTrust Cookies Consent Notice start --> <script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" data-domain-script="b10882a1-8446-4e7d-bfb2-ce2c770ad910" ></script> <script id="oneTrustScripts"> window.OptanonWrapper = function() { var CCPAButton = document.getElementById('ot-sdk-btn'); CCPAButton && CCPAButton.classList.add('ot-sdk-btn--visible'); window.dataLayer && window.dataLayer.push({ event: 'OneTrustGroupsUpdated' }); window.cnBus && window.cnBus.emit('onetrust.OneTrustGroupsUpdated'); }; </script> <script src="https://cdn.cookielaw.org/opt-out/otCCPAiab.js" ccpa-opt-out-ids="C0002,C0003,C0004,C0005" ccpa-opt-out-geo="ca" ccpa-opt-out-lspa="true" ></script> <!-- OneTrust Cookies Consent Notice end --> <link rel="alternate" type="application/rss+xml" title="Ars Technica &raquo; Posts by Scharon Harding Feed" href="https://arstechnica.com/author/scharonharding/feed/" /> <!-- Google Tag Manager DataLayer --> <script> window.dataLayer = window.dataLayer || []; window.dataLayer.push({"event":"data-layer-loaded","user":{"ars_userId":undefined,"amg_userId":undefined,"uID":undefined,"sID":undefined,"loginStatus":false,"subscriberStatus":"none","infinityId":undefined,"registrationSource":undefined,"mdw_cnd_id":undefined,"monthlyVisits":undefined,"accessPaywall":undefined,"view":"grid","theme":"system","show_comments":undefined},"content":{"pageTemplate":"author","pageType":"author","contentCategory":undefined,"section":undefined,"subsection":undefined,"contributor":"Scharon Harding","contentID":undefined,"contentLength":undefined,"display":"Scharon Harding","contentSource":"web","pageAssets":undefined,"uniqueContentCount":undefined,"monthlyContentCount":undefined,"publishDate":undefined,"modifiedDate":undefined,"keywords":undefined,"dataSource":undefined},"marketing":{"campaignName":undefined,"circCampaignId":undefined,"internalCampaignId":undefined,"brand":"Ars Technica","certified_mrc_data":undefined,"condeNastId":undefined},"page":{"pID":undefined,"syndicatorUrl":undefined,"pageURL":"https:\/\/arstechnica.com\/author\/scharonharding\/","canonical":"https:\/\/arstechnica.com\/author\/scharonharding\/","canonicalPathName":"\/author\/scharonharding\/"},"search":{"facets":undefined,"searchTerms":undefined},"site":{"appVersion":"1.0.0"}}); </script> <!-- End Google Tag Manager DataLayer --> <!-- Google Tag Manager --> <script> (function(w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-NLXNPCQ'); </script> <!-- End Google Tag Manager --> <style id='elasticpress-related-posts-style-inline-css'> .editor-styles-wrapper .wp-block-elasticpress-related-posts ul,.wp-block-elasticpress-related-posts ul{list-style-type:none;padding:0}.editor-styles-wrapper .wp-block-elasticpress-related-posts ul li a>div{display:inline} </style> <link rel='stylesheet' id='elasticpress-facets-css' href='https://cdn.arstechnica.net/wp-content/plugins/_composer_elasticpress/dist/css/facets-styles.css?ver=7d568203f3965dc85d8a' media='all' /> <link rel='stylesheet' id='searchterm-highlighting-css' href='https://cdn.arstechnica.net/wp-content/plugins/_composer_elasticpress/dist/css/highlighting-styles.css?ver=252562c4ed9241547293' media='all' /> <link rel='stylesheet' id='app/0-css' href='https://cdn.arstechnica.net/wp-content/themes/ars-v9/public/css/app.eec9eb.css' media='all' /> <link rel='stylesheet' id='ads/0-css' href='https://cdn.arstechnica.net/wp-content/themes/ars-v9/public/css/ads.872a06.css' media='all' /> <script src="https://cdn.arstechnica.net/wp-content/themes/ars-v9/resources/scripts/jquery-3.7.1.min.js?ver=3.7.1" id="jquery-js"></script> <script>window.ars = {"subscriber":false,"hasAdFree":false,"hasTrackerFree":false,"loggedIn":false}</script> <script> const theme = "system"; let darkMode = false; if (theme === "dark" || (theme === "system" && (window.matchMedia("(prefers-color-scheme: dark)").matches))) { darkMode = true; document.documentElement.classList.add("dark"); } window.darkMode = darkMode; </script> <script> const settings = JSON.parse(localStorage.getItem("text-settings")) || {}; const { size = "standard", links = "standard", width = "standard", position="story" } = settings; const html = document.querySelector("html"); html.classList.add(`text-settings-size-${size}`); html.classList.add(`text-settings-links-${links}`); html.classList.add(`text-settings-width-${width}`); html.classList.add(`text-settings-position-${position}`); </script> <meta name="twitter:site" content="@arstechnica" /> <meta name="twitter:domain" content="arstechnica.com" /> <meta property="facebook-domain-verification" content="qptjyerza2q11uv3fe6aay6hbsncr8" /> <style>[x-cloak] { display: none !important; }</style> <link rel="preconnect" href="https://globalservices.conde.digital"> <link rel="preconnect" href="https://player.cnevids.com"> <script> window.permutiveCohorts = {"cached_until":{"date":"2024-11-28 06:55:30.037499","timezone_type":3,"timezone":"UTC"},"cohorts":["bjfa"],"gam":["bjfa"],"xandr":[]}; window.permutiveContextInfo = {"pageProperties":{"client":{"url":"https:\/\/arstechnica.com\/author\/scharonharding\/","referrer":"","type":"web","user_agent":"Mozilla\/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 3.5.21022; .NET CLR 1.0.3705; .NET CLR 1.1.4322)","domain":"arstechnica.com","title":"Author: Scharon Harding &#x2d; Ars Technica"},"type":"contributor"},"url":"https:\/\/arstechnica.com\/author\/scharonharding\/"}; </script> <script src="https://www.googletagservices.com/tag/js/gpt.js" id="gpt-script" async ></script> <script> window.googletag = window.googletag || {}; window.googletag.cmd = window.googletag.cmd || []; window.cns = window.cns || {}; window.cns.queue = []; window.cns.async = function(s, c) { cns.queue.push({ service: s, callback: c }) }; window.cns.pageContext = {"contentType":"contributor","templateType":"default","channel":"misc","subChannel":"","slug":"scharonharding","server":"production","keywords":{"tags":["index"],"cm":[],"platform":["wordpress"],"copilotid":""}}; </script> <script src="https://ads-static.conde.digital/production/cns/builds/ars-technica/ars-technica.min.js" async ></script> <script type="text/javascript"> window._taboola = window._taboola || []; _taboola.push({ article: 'auto' }); ! function(e, f, u, i) { if (!document.getElementById(i)) { e.async = 1; e.src = u; e.id = i; f.parentNode.insertBefore(e, f); } }(document.createElement('script'), document.getElementsByTagName('script')[0], '//cdn.taboola.com/libtrc/condenast1-network/loader.js', 'tb_loader_script'); if (window.performance && typeof window.performance.mark == 'function') { window.performance.mark('tbl_ic'); } </script> <script type="text/javascript">!(function(o,_name){function n(){(n.q=n.q||[]).push(arguments)}n.v=1,o[_name]=o[_name]||n;!(function(o,t,n,c){function e(n){(function(){try{return(localStorage.getItem("v4ac1eiZr0")||"").split(",")[4]>0}catch(o){}return!1})()&&(n=o[t].pubads())&&n.setTargeting("admiral-engaged","true")}(c=o[t]=o[t]||{}).cmd=c.cmd||[],typeof c.pubads===n?e():typeof c.cmd.unshift===n?c.cmd.unshift(e):c.cmd.push(e)})(window,"googletag","function");})(window,String.fromCharCode(97,100,109,105,114,97,108));!(function(t,c,i){i=t.createElement(c),t=t.getElementsByTagName(c)[0],i.async=1,i.src="https://shiverscissors.com/v2fumwIJOo-LsCB0dlG18VSTW43CpWhUEPJuKeRTzrEQdSPPlMr5GymU",t.parentNode.insertBefore(i,t)})(document,"script");</script> <meta name="twitter:partner" content="tfwp"><!-- Start Headline A/B --> <script type="text/javascript"> class ABTest { constructor(post_id, init_method) { this.post_id = post_id; this.ajaxurl = '/services/ars-ajax-handler.php'; this.expireDays = 1 / 48; // 30 min this.group = this.getGroup(); this.uid = this.getUid(); this.init_method = init_method; this.setTitle(); if (this.init_method === 'click') { this.click(); } else { this.impression(); } } setCookie(name, value, days) { var expires = ""; if (days) { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); expires = "; expires=" + date.toUTCString(); } document.cookie = name + "=" + (value || "") + expires + "; path=/"; } getCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') c = c.substring(1, c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); } return null; } // Retrieves a unique id for determining whether the event should be recorded getUid() { var uid = this.getCookie('ars_ab_' + this.post_id + '_uid'); if (!uid) { uid = (Math.random() + 1).toString(36).substring(2, 7); this.setCookie('ars_ab_' + this.post_id + '_uid', uid, this.expireDays); } return uid; }; // Places the user in either A or B for this post id getGroup() { var group = this.getCookie('ars_ab_' + this.post_id + '_group'); if (!group) { group = String.fromCharCode(Math.floor(Math.random() * 2) + 65).toLowerCase(); this.setCookie('ars_ab_' + this.post_id + '_group', group, this.expireDays); } return group; }; // Records a headline impression (from homepage or other listing) impression() { // Send fake ajax var params = { nonce: '8c5d2ceb3b', action: 'ars_ab_impression', id: this.post_id, group: this.group, uid: this.uid, ts: (new Date()).getTime() }; var url = this.ajaxurl + '?' + this.encodeParams(params); document.write('\x3Cscript type="text/javascript" src="' + url + '">\x3C/script>'); }; // Records a headline click from the actual post page click() { // Send fake ajax var params = { nonce: '99f94cc764', action: 'ars_ab_click', id: this.post_id, group: this.group, uid: this.uid, ts: (new Date()).getTime() }; var url = this.ajaxurl + '?' + this.encodeParams(params); document.write('\x3Cscript type="text/javascript" src="' + url + '">\x3C/script>'); }; // If user is in B group, dynamically set title setTitle() { if (this.group == 'b') { var span = document.getElementById('ars_ab_' + this.post_id); var title = span.parentNode; title.innerHTML = span.getAttribute('data-title-b'); } }; encodeParams(data) { var ret = []; for (var d in data) ret.push(encodeURIComponent(d) + "=" + encodeURIComponent(data[d])); return ret.join("&"); }; }; </script> <!-- End Headline A/B --> <link rel="icon" href="https://cdn.arstechnica.net/wp-content/uploads/2016/10/cropped-ars-logo-512_480-60x60.png" sizes="32x32" /> <link rel="icon" href="https://cdn.arstechnica.net/wp-content/uploads/2016/10/cropped-ars-logo-512_480-300x300.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://cdn.arstechnica.net/wp-content/uploads/2016/10/cropped-ars-logo-512_480-300x300.png" /> <meta name="msapplication-TileImage" content="https://cdn.arstechnica.net/wp-content/uploads/2016/10/cropped-ars-logo-512_480-300x300.png" /> <!-- generated in 0.280 seconds 256916 bytes batcached for 300 seconds view: grid xf_style_id: 3 --> </head> <body class="archive author author-scharonharding author-46018 wp-embed-responsive bg-gray-100 text-gray-700 dark:text-gray-250 dark:bg-gray-50"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NLXNPCQ" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div id="app"> <a class="sr-only focus:not-sr-only" href="#main"> Skip to content </a> <div class="ad-wrapper is-fullwidth is-hero"> <div class="ad-wrapper-inner"> <div class="ad ad--hero"></div> </div> </div> <header class="banner font-impact xxl:max-w-xxl mdl:rounded-sm sticky top-0 z-30 mx-auto flex h-14 max-w-6xl flex-row flex-nowrap items-center justify-between bg-gray-700 px-[15px] font-semibold uppercase transition-[top] duration-500 dark:bg-black sm:px-5 md:my-5 md:h-10 lg:my-10" id="site-header"> <a id = "header-logo" href="https://arstechnica.com/" aria-label="Ars Technica home"> <span class="sr-only">Ars Technica home</span> <svg class="h-[36px] w-[109px] md:h-[65px] md:w-[197px]" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 436 144.1"><defs><clipPath id="ars-full_svg__a"><path fill="none" d="M0 0h436v144.1H0z"/></clipPath><clipPath id="ars-full_svg__b"><path fill="none" d="M0 0h436v144.1H0z"/></clipPath></defs><g clip-path="url(#ars-full_svg__a)"><g fill="none" clip-path="url(#ars-full_svg__b)"><path fill="#ff4e00" d="M72 0c39.8 0 72.1 32.3 72.1 72.1s-32.3 72.1-72.1 72.1S0 111.8 0 72.1 32.3 0 72 0"/><path fill="#fff" d="m46.5 94-.9-5.9c-4 4.4-9.6 6.8-15.6 6.8-8 0-13-4.8-13-12.3 0-11 9.4-15.4 27.8-17.3v-1.9c0-5.6-3.3-7.5-8.4-7.5s-10.5 1.7-15.3 3.8L20 52.6c5.3-2.1 10.3-3.7 17.1-3.7 10.7 0 15.9 4.3 15.9 14.2v30.8h-6.7Zm-1.6-22.4c-16.3 1.6-19.7 6-19.7 10.6s2.4 5.9 6.6 5.9 9.4-2.4 13.1-6.2zm27.3-3.7v26H64v-44h6.6l1.4 9c3.1-5 8.2-9.5 15.5-9.9l1.3 7.9c-7.4.3-13.6 5.2-16.6 11m37.2 26.9c-5.6-.1-11.1-1.6-16.1-4.2l1.2-7.8c4.6 3.2 10 5 15.6 5.1 5.6 0 9-2.1 9-5.8s-2.5-5.6-10.5-7.5C98.2 72 94.1 68.9 94.1 61s5.9-12.2 15.6-12.2c5 0 9.9 1 14.5 3l-1.3 7.8c-4.1-2.4-8.7-3.7-13.4-3.8-5 0-7.6 1.9-7.6 5.1s2.2 4.6 9.2 6.4c10.9 2.8 15.8 5.9 15.8 14.3s-6.1 13.2-17.5 13.2m109.4-11.1c-4.4 3.7-8.4 5-12.8 5-7.7 0-12.7-5.3-13.5-14h24.8l.9-5.5h-25.7c.8-8.7 5.7-14.1 12.9-14.1s8.8 1.7 12.9 5.1l1-5.9c-4-2.9-8.8-4.4-13.7-4.3-10.7 0-19.2 7.8-19.2 21.9s8.3 21.9 18.9 21.9c5.2.1 10.2-1.6 14.3-4.8zm-48.7-27.5v36.9h-5.8V56.2h-13.4v-5.3H183l.9 5.3H170Zm74.5 37.6c-11.9 0-19.5-8.8-19.5-21.8s7.8-22 19.6-22c4.3-.1 8.5 1.1 12 3.5l-.9 5.9c-3.2-2.6-7.1-4-11.2-4.1-8.6 0-13.6 6.5-13.6 16.6s5.1 16.6 13.6 16.6c4.3 0 8.5-1.6 11.9-4.2l.9 5.4c-3.7 2.6-8.2 4.1-12.8 4.1M292 93V73.5h-21.4V93h-5.8V50.9h5.8v17.5H292V50.9h5.8V93zm42.9 0-23.2-32.8V93h-5.3V50.9h5.1l22.4 31.5V50.9h5.3V93zm13.4-42.1h5.8V93h-5.8zm32.6 42.9c-11.9 0-19.5-8.8-19.5-21.8s7.8-22 19.6-22c4.3-.1 8.5 1.1 12 3.5l-.9 5.9c-3.2-2.6-7.1-4-11.2-4.1-8.6 0-13.6 6.5-13.6 16.6s5.1 16.6 13.6 16.6c4.3 0 8.5-1.6 11.9-4.2l.9 5.4c-3.7 2.6-8.2 4.1-12.8 4.1m32.9-43.1h5.8l16.3 41.5-5.6 1.2-5-13.1h-17.4L403.1 93h-5.8zm-4 24.6h13.5l-6.8-17.9z"/></g></g></svg> </a> <div class="flex flex-row flex-nowrap items-center gap-3 md:gap-5 xl:gap-4"> <div class="xxl:hidden"> <div x-data="{ open: false, toggle() { if (this.open) { return this.close() } // If we're inside main header, add a data attribute to the header if (this.$el.closest('#site-header')) { this.$el.closest('#site-header').dataset.dropdownOpen = 'true'; } this.open = true }, close() { if (!this.open) { return; } // If we're inside main header, add a data attribute to the header if (this.$el.closest('#site-header')) { this.$el.closest('#site-header').dataset.dropdownOpen = 'false'; } this.open = false } }" @keydown.escape.prevent.stop="close($refs.button)" @focusin.window="! $refs.panel.contains($event.target) && close()" x-id="['dropdown-button']"> <!-- Button --> <button type="button" x-ref="button" x-on:click=" toggle(); $dispatch('dropdown-opened', { panel: $refs.panel }); " :aria-expanded="open" :aria-controls="$id('dropdown-button')" :class="{ selected: open }" class="group flex items-center focus:outline-none" arial-label="" aria-label="Open Sections menu dropdown"> <svg class="group-with-selected:text-gray-200 h-5 w-5 text-gray-300 hover:text-gray-100 group-focus:text-gray-100 sm:hidden" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><path fill="currentColor" d="M0 0h40v8H0zm0 16h40v8H0zm24 24H0v-8h16z"/><path fill="#04cc74" d="M23 32h17l-8 8h-.3z"/></svg> <span class="group-with-selected:text-gray-100 hidden flex-row flex-nowrap items-center gap-1 uppercase text-gray-300 hover:text-gray-100 group-focus:text-gray-100 sm:flex xl:text-sm"> Sections <svg class="h-1 text-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 19.3"><defs><clipPath id="arrow-down_svg__a"><path fill="none" d="M0 0h40v19.3H0z"/></clipPath><clipPath id="arrow-down_svg__b"><path fill="none" d="M0 0h40v19.3H0z"/></clipPath></defs><g clip-path="url(#arrow-down_svg__a)"><g fill="none" clip-path="url(#arrow-down_svg__b)"><path fill="currentColor" d="m0 0 18.9 18.9c.6.6 1.6.6 2.2 0L40 0z"/></g></g></svg> </span> </button> <!-- Panel --> <div x-cloak x-ref="panel" x-show="open" x-transition.origin.top.center x-on:click.outside="close()" :id="$id('dropdown-button')" class="absolute overflow-hidden z-50 bg-gray-550 xxs:max-w-[400px] absolute right-0 top-14 mt-[1px] w-full rounded-sm sm:right-auto sm:max-w-[200px] md:top-10"> <nav class="topnav-sections"> <div class="flex flex-row flex-nowrap items-center justify-between bg-gray-700 px-10 py-2 sm:hidden sm:flex-col sm:items-start"> <a class="text-green-400 hover:text-green-500 focus:text-green-500" href="/civis/"> Forum </a> <div class="h-5 w-[1px] bg-gray-400"></div> <a class="text-orange-400 hover:text-orange-500 focus:text-orange-500" href="/store/product/subscriptions/"> Subscribe </a> <div class="h-5 w-[1px] bg-gray-400"></div> <a class="flex flex-row flex-nowrap items-center gap-2 text-gray-300 hover:text-gray-100 focus:text-gray-100" href="/search/"> <svg class="h-5 w-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="magnify_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="magnify_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#magnify_svg__a)"><g fill="none" clip-path="url(#magnify_svg__b)"><path fill="currentColor" d="M39.2 35.4 29 25.2c4.4-6.2 3.9-15-1.7-20.6C24.2 1.6 20.1 0 16 0S7.8 1.6 4.7 4.7c-6.2 6.2-6.2 16.4 0 22.6C7.8 30.4 11.9 32 16 32s6.5-1 9.3-3l10.2 10.2c.5.5 1.2.8 1.9.8s1.4-.3 1.9-.8c1-1 1-2.7 0-3.8M8.5 23.5c-2-2-3.1-4.7-3.1-7.5s1.1-5.5 3.1-7.5 4.7-3.1 7.5-3.1 5.5 1.1 7.5 3.1c4.2 4.2 4.2 10.9 0 15.1-2 2-4.7 3.1-7.5 3.1s-5.5-1.1-7.5-3.1"/></g></g></svg> </a> </div> <ul class="my-3 grid grid-cols-2 sm:grid-cols-1"> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="https://arstechnica.com/ai/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-ai_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-ai_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-ai_svg__a)"><g fill="currentColor" clip-path="url(#section-ai_svg__b)"><path d="M20 2.4c9.7 0 17.6 7.9 17.6 17.6S29.7 37.6 20 37.6 2.4 29.7 2.4 20 10.3 2.4 20 2.4M20 0C9 0 0 9 0 20s9 20 20 20 20-9 20-20S31 0 20 0"/><path d="M20 13q2.85 0 5.4.9c.7.2 1.4-.1 1.6-.9l1.4-5.5C26 5.9 23.1 4.9 20 4.9s-6 .9-8.4 2.6L13 13c.2.7.9 1.1 1.6.9Q17 13 20 13M8.9 18.3c.4-.8 1-1.5 1.7-2.1l-2.2-5.7C7 12.2 6 14.1 5.5 16.3l1.3 2.1c.5.8 1.7.8 2.2 0m24.3 0 1.3-2.1c-.5-2.2-1.5-4.1-2.9-5.8l-2.2 5.7c.7.6 1.3 1.3 1.7 2.1.5.8 1.6.9 2.2 0M23.2 20c0 1.8-1.5 3.2-3.2 3.2s-3.2-1.4-3.2-3.2 1.5-3.2 3.2-3.2 3.2 1.4 3.2 3.2"/></g></g></svg> AI </a> </li> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="https://arstechnica.com/information-technology/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-information-technology_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-information-technology_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-information-technology_svg__a)"><g fill="currentColor" clip-path="url(#section-information-technology_svg__b)"><path d="M35 0H5C2.2 0 0 2.2 0 5s2.2 5 5 5h30c2.8 0 5-2.2 5-5s-2.2-5-5-5m-6.9 7c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m6 0c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m.9 8H5c-2.8 0-5 2.2-5 5s2.2 5 5 5h30c2.8 0 5-2.2 5-5s-2.2-5-5-5m-6.9 7.2c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m6 0c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2M35 30H5c-2.8 0-5 2.2-5 5s2.2 5 5 5h30c2.8 0 5-2.2 5-5s-2.2-5-5-5m-6.9 7.4c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m6 0c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2"/></g></g></svg> Biz &amp; IT </a> </li> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="https://arstechnica.com/cars/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-cars_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-cars_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-cars_svg__a)"><g fill="none" clip-path="url(#section-cars_svg__b)"><path fill="currentColor" d="M39.7 23.5c.2-1.2.3-2.3.3-3.5s-.1-2.4-.3-3.5l-1.3-.4c-.1-.6-.3-1.2-.5-1.8l.9-1c-.8-2.3-2-4.3-3.5-6.1l-1.3.3c-.4-.4-.8-.9-1.3-1.3l.3-1.3a20.6 20.6 0 0 0-6.1-3.5l-1 .9c-.6-.2-1.2-.3-1.8-.5L23.7.5C22.4.1 21.2 0 20 0s-2.4.1-3.5.3l-.4 1.3c-.6.1-1.2.3-1.8.5l-1-.9C11 2 9 3.2 7.2 4.7L7.5 6c-.4.4-.9.8-1.3 1.3L4.9 7a20.6 20.6 0 0 0-3.5 6.1l.9 1c-.2.6-.3 1.2-.5 1.8l-1.3.4C.1 17.6 0 18.8 0 20s.1 2.4.3 3.5l1.3.4c.1.6.3 1.2.5 1.8l-.9 1c.8 2.3 2 4.3 3.5 6.1l1.3-.3c.4.4.8.9 1.3 1.3L7 35.1c1.8 1.5 3.9 2.7 6.1 3.5l1-.9c.6.2 1.2.3 1.8.5l.4 1.3c1.1.2 2.3.3 3.5.3s2.4-.1 3.5-.3l.4-1.3c.6-.1 1.2-.3 1.8-.5l1 .9c2.3-.8 4.3-2 6.1-3.5l-.3-1.3c.4-.4.9-.8 1.3-1.3l1.3.3c1.5-1.8 2.7-3.9 3.5-6.1l-.9-1c.2-.6.3-1.2.5-1.8l1.3-.4ZM25.9 8.2c1.3.6 2.4 1.5 3.4 2.5l-3.1 6.2-2.6.9c-.6-.9-1.5-1.6-2.6-1.9v-2.8zM22 19.9c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2M20 6.8q2.1 0 3.9.6L20 11.3l-3.9-3.9q1.8-.6 3.9-.6m-5.9 1.4 4.9 4.9v2.8c-1.1.3-2 .9-2.6 1.9l-2.6-.9-3.1-6.2c1-1 2.2-1.9 3.4-2.5m-4.8 4.2 2.5 4.9-4.9 2.5c0-2.7.9-5.3 2.4-7.4m.2 15.4 5.4-.9.9 5.4c-2.5-.9-4.7-2.5-6.3-4.5m5.7-2.9L8.4 26c-.6-1.2-1.1-2.6-1.3-4.1l6.2-3.1 2.6.9v.3c0 1 .4 2 1 2.7l-1.6 2.2Zm7 8c-.7.1-1.4.2-2.1.2s-1.4 0-2.1-.2l-1.1-6.8 1.6-2.2c.5.2 1 .3 1.6.3s1.1-.1 1.6-.3l1.6 2.2zm2.1-.5.9-5.4 5.4.9c-1.6 2.1-3.7 3.7-6.3 4.5m7.4-6.4-6.8-1.1-1.6-2.2c.6-.7 1-1.7 1-2.7v-.3l2.6-.9 6.2 3.1c-.2 1.4-.7 2.8-1.3 4.1m-3.4-8.7 2.5-4.9c1.5 2.1 2.4 4.6 2.4 7.4z"/></g></g></svg> Cars </a> </li> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="https://arstechnica.com/culture/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-culture_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-culture_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-culture_svg__a)"><g fill="currentColor" clip-path="url(#section-culture_svg__b)"><path d="M19 32v7.1c0 .5.4 1 1 1s1-.4 1-1V32zm2-24V1c0-.6-.5-1-1-1s-1 .4-1 1v7.1h2m-8.3 22.6L9.6 36c-.3.5-.1 1 .3 1.3.5.3 1 .1 1.3-.3l3.3-5.7c-.5-.1-1-.3-1.5-.4-.1 0-.3 0-.4-.1M27.3 9.3 30.4 4c.3-.5.1-1-.3-1.3-.5-.3-1-.1-1.3.3l-3.3 5.7c.5.1 1 .2 1.5.4.1 0 .3 0 .4.1m-21.8 18L3 28.7c-.5.3-.6.8-.3 1.3s.8.6 1.3.3l3.5-2-.9-.6-.9-.6m28.7-14.3 2.6-1.5c.5-.3.6-.8.3-1.3s-.8-.6-1.3-.3l-3.5 2c.3.2.6.3 1 .5zm-9 18.5 3.3 5.7c.3.5.8.6 1.3.3s.6-.8.3-1.3l-3.1-5.3c-.1 0-.3 0-.4.1-.5.2-1 .3-1.5.4M14.6 8.7 11.3 3c-.3-.5-.8-.6-1.3-.3s-.6.8-.3 1.3l3.1 5.3c.1 0 .3 0 .4-.1.5-.2 1-.3 1.5-.4m17.9 19.6 3.5 2c.5.3 1 .1 1.3-.3.3-.5.1-1-.3-1.3l-2.6-1.5-.9.6-.9.6M7.4 11.6l-3.5-2c-.5-.3-1-.1-1.3.3-.3.5-.1 1 .3 1.3l2.6 1.5.9-.6.9-.6m25.2 2.4c-.6-.4-1.3-.7-1.9-1.1-1.3-.7-2.7-1.3-4.3-1.8-.6-.2-1.3-.4-1.9-.5-1.1-.3-2.3-.4-3.4-.5h-2c-1.2 0-2.3.2-3.4.5-.6.1-1.3.3-1.9.5-1.5.5-2.9 1.1-4.3 1.8-.7.3-1.3.7-1.9 1.1C2.9 16.7 0 20 0 20s2.9 3.3 7.5 6.1c.6.4 1.3.7 1.9 1.1 1.3.7 2.7 1.3 4.3 1.8.6.2 1.3.4 1.9.5 1.1.3 2.3.4 3.4.5h2c1.2 0 2.3-.2 3.4-.5.6-.1 1.3-.3 1.9-.5 1.5-.5 2.9-1.1 4.3-1.8.7-.3 1.3-.7 1.9-1.1C37.1 23.3 40 20 40 20s-2.9-3.3-7.5-6.1M20 28c-4.4 0-8-3.6-8-8s3.6-8 8-8 8 3.6 8 8-3.6 8-8 8"/><path d="M25 20c0 2.8-2.2 5-5 5s-5-2.2-5-5 2.2-5 5-5 5 2.2 5 5"/></g></g></svg> Culture </a> </li> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="https://arstechnica.com/gaming/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-gaming_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-gaming_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-gaming_svg__a)"><g fill="none" clip-path="url(#section-gaming_svg__b)"><path fill="currentColor" d="M30.7 39.7c-.7-1.1-1.7-1.8-2.5-2.8-.9-1.2 0-2 .8-3 .6-.9 1-1.9.8-3-.6-2.7-3.4-3.3-5.8-3.6-.7-.1-1.8-.2-2.3-.7s-.5-1.4-.5-2.1v-.4l15.5-3.6c2.3-.5 3.7-2.8 3.2-5.1l-2.8-12C36.6 1.1 34.3-.3 32 .2L3.3 6.8C1 7.4-.4 9.7.1 12l2.8 12c.5 2.3 2.8 3.7 5.1 3.2l11.1-2.6c0 1 .2 2.1.7 2.9 1.7 2.7 6 .8 7.6 3.3.8 1.2-.5 2.3-1.1 3.3-.6.9-.9 2-.4 3 .4 1.1 1.4 1.8 2.2 2.6 0 .1.2.2.3.3h2.4c0-.1-.1-.2-.2-.3m.7-28.7c1.3-.3 2.7.5 3 1.9.3 1.3-.5 2.7-1.9 3-1.3.3-2.7-.5-3-1.9-.3-1.3.5-2.7 1.9-3m-6-3.7c1.3-.3 2.7.5 3 1.9.3 1.3-.5 2.7-1.9 3-1.3.3-2.7-.5-3-1.9-.3-1.3.5-2.7 1.9-3m-9.9 13.2-2.7.6-1-4.1-4.1 1-.6-2.7 4.1-1-1-4.1 2.7-.6 1 4.1 4.1-1 .6 2.7-4.1 1z"/></g></g></svg> Gaming </a> </li> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="https://arstechnica.com/health/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-health_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-health_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-health_svg__a)"><g fill="currentColor" clip-path="url(#section-health_svg__b)"><path d="M10.4 21.6c-.4-.4-1-.4-1.4 0l-3.9 3.9c-.4.4-.4 1 0 1.4s1 .4 1.4 0l3.9-3.9c.4-.4.4-1 0-1.4"/><path d="M40 10.6c0-2.7-1-5.4-3.1-7.5C33.8 0 29.2-.8 25.4.8c-1.3.5-2.5 1.3-3.5 2.3L3.1 21.9c-4.2 4.2-4.2 10.9 0 15C5.2 39 7.9 40 10.6 40s5.4-1 7.5-3.1l18.7-18.7c2.1-2.1 3.1-4.8 3.1-7.5m-6.6-4c-.4-.4-.4-1 0-1.4s1-.4 1.4 0c3 3 3 7.8 0 10.8L26 24.8c-.4.4-1 .4-1.4 0s-.4-1 0-1.4l8.7-8.7c2.2-2.2 2.2-5.8 0-8M10.6 38.1c-2.3 0-4.5-.9-6.1-2.5-3.4-3.4-3.4-8.8 0-12.2l7.6-7.6c.6 2.1 2.3 4.9 4.8 7.4s5.2 4.2 7.4 4.8l-7.6 7.6c-1.6 1.6-3.8 2.5-6.1 2.5"/></g></g></svg> Health </a> </li> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="https://arstechnica.com/tech-policy/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-tech-policy_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-tech-policy_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-tech-policy_svg__a)"><path fill="currentColor" d="M12.8 0 6.4 6.4 0 12.8l4 1.4L14.2 4z"/><g clip-path="url(#section-tech-policy_svg__b)"><path fill="currentColor" d="M34.8 31.7c-4.4-10.4-6.1-23.6-6.1-23.6L15.4 5.4l-9.9 10 2.7 13.3s13.2 1.6 23.6 6.1c-.4 1.4 0 2.9 1.1 4 1.4 1.4 3.6 1.6 5.2.6L18.5 19.8c-1.6 1-3.8.8-5.2-.6-1.6-1.6-1.6-4.3 0-5.9s4.3-1.6 5.9 0c1.4 1.4 1.6 3.6.6 5.2L39.3 38c1-1.6.8-3.8-.6-5.2-1.1-1.1-2.6-1.4-4-1.1"/></g></g></svg> Policy </a> </li> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="https://arstechnica.com/science/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-science_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-science_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-science_svg__a)"><g fill="none" clip-path="url(#section-science_svg__b)"><path fill="currentColor" d="M39.6 34.5 28 14.6V4h1.1c.5 0 .9-.4.9-.9V.9c0-.5-.4-.9-.9-.9H10.9c-.5 0-.9.4-.9.9V3c0 .5.4.9.9.9H12v10.6L.4 34.5C-.9 37 .8 40 3.6 40h32.8c2.7 0 4.5-3 3.2-5.5M21.9 13.2c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3m-5-6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2M4.1 36l6-10.3c.2-.3.5-.5.8-.5H13c-.1-.3-.2-.6-.2-1 0-1.7 1.3-3 3-3s3 1.3 3 3 0 .7-.2 1h4.2c0-1.1.9-2 2-2s2 .9 2 2h2.1c.3 0 .6.2.8.5l6 10.3H4.2Z"/></g></g></svg> Science </a> </li> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="https://arstechnica.com/security/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-security_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-security_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-security_svg__a)"><g fill="none" clip-path="url(#section-security_svg__b)"><path fill="currentColor" d="M37.7 21.1C39.7 10.4 32.8 0 20.8 0h-1.6C7.2 0 .3 10.4 2.3 21.1c.5 2.6-2.3 3.5-2.3 6.6 0 3.2 3.5 4 5.9 4.1h2.8c1.3 0 1.8.5 1.8 1.6 0 1.5.2 4.1.3 5.6 0 .2.7.4 1.9.5v-3.4c0-.4.3-.8.7-.8s.8.3.8.8v3.5c.9 0 1.8.1 2.9.1v-3.6c0-.4.3-.8.8-.8s.8.3.8.8v3.7h2.9v-3.7c0-.4.3-.8.8-.8s.8.3.8.8v3.6c1 0 2 0 2.9-.1v-3.5c0-.4.3-.8.8-.8s.8.3.8.8v3.4c1.1-.1 1.8-.3 1.9-.5.1-1.5.3-4.1.3-5.6 0-1.1.5-1.7 1.8-1.6h2.8c2.4-.1 5.9-.9 5.9-4.1 0-3.1-2.8-4-2.3-6.7m-26.7 4.7c-4 0-6.6-4-4.9-7.2 1.1-2 3.1-3.2 5.2-3.7 4.1-.9 7.6 2.9 6.7 6.6-.7 2.7-3.5 3.9-7 4.2m8.6 2.1-1 3c-.2.5-.7.8-1.1.6s-.7-.8-.5-1.3l.9-3c.2-.5.7-.8 1.1-.6s.7.8.5 1.3m2.8 3.6c-.4.2-.9 0-1.1-.6l-1-3c-.2-.5 0-1.1.5-1.3.4-.2.9 0 1.1.6l.9 3c.2.5 0 1.1-.5 1.3m6.6-5.7c-3.5-.4-6.3-1.5-7-4.2-.9-3.7 2.6-7.6 6.7-6.6 2.1.5 4.1 1.7 5.2 3.7 1.8 3.2-.9 7.2-4.9 7.2"/></g></g></svg> Security </a> </li> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="https://arstechnica.com/space/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-space_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-space_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-space_svg__a)"><g fill="currentColor" clip-path="url(#section-space_svg__b)"><path d="M32.9 13.1c-2.5-4.7-7.5-7.8-13.2-7.8-8.3 0-15 6.7-15 15s3.1 10.6 7.7 13.1c3.1-2.5 6.9-5.8 11-10 3.9-3.9 7-7.4 9.4-10.3M14.4 34.3c1.6.6 3.4 1 5.2 1 8.3 0 15-6.7 15-15s-.3-3.5-.9-5.2c-2.5 3-5.5 6.4-8.9 9.7-3.6 3.6-7.2 6.9-10.4 9.5"/><path d="M28.5 5.8c.6.4 1.2.8 1.7 1.2 3.5-2.7 6.1-4.2 7.6-4.8-.5 1.4-2.1 4.1-4.8 7.6-2.6 3.4-6.2 7.5-10.9 12.3s-9.6 8.9-13 11.5c-3.2 2.4-5.5 3.7-6.9 4.2.5-1.3 1.9-3.7 4.2-6.9-.4-.5-.8-1.1-1.2-1.7-4 5.4-6 9.4-4.9 10.5s5.1-.9 10.5-4.9c3.8-2.9 8.2-6.8 12.7-11.3s7.9-8.4 10.7-12c4.4-5.7 6.7-10 5.5-11.2s-5.5 1.1-11.2 5.5"/></g></g></svg> Space </a> </li> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="https://arstechnica.com/gadgets/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-gadgets_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-gadgets_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-gadgets_svg__a)"><g fill="currentColor" clip-path="url(#section-gadgets_svg__b)"><path d="M38 22c1.1 0 2-.9 2-2s-.9-2-2-2h-2v-6h2c1.1 0 2-.9 2-2s-.9-2-2-2h-2V4h-4V2c0-1.1-.9-2-2-2s-2 .9-2 2v2h-6V2c0-1.1-.9-2-2-2s-2 .9-2 2v2h-6V2c0-1.1-.9-2-2-2S8 .9 8 2v2H4v4H2c-1.1 0-2 .9-2 2s.9 2 2 2h2v6H2c-1.1 0-2 .9-2 2s.9 2 2 2h2v6H2c-1.1 0-2 .9-2 2s.9 2 2 2h2v4h4v2c0 1.1.9 2 2 2s2-.9 2-2v-2h6v2c0 1.1.9 2 2 2s2-.9 2-2v-2h6v2c0 1.1.9 2 2 2s2-.9 2-2v-2h4v-4h2c1.1 0 2-.9 2-2s-.9-2-2-2h-2v-6zm-6 10H8V8h24z"/><path d="M24.7 17.3 20 12h-7.1c-.6 0-1 .4-1 1s.4 1 1 1h6.3l4.1 4.7L20 22h8v-8z"/><path d="m15.2 22.7 4.7 5.3H27c.6 0 1-.4 1-1s-.4-1-1-1h-6.3l-4.1-4.7 3.3-3.3h-8v8z"/></g></g></svg> Tech </a> </li> </ul> <div class="mx-3 h-[1px] bg-gray-400"></div> <ul class="my-3 grid grid-cols-2 sm:grid-cols-1"> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="/features/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 37.8"><defs><clipPath id="star_svg__a"><path fill="none" d="M0 0h40v37.8H0z"/></clipPath></defs><g fill="none" clip-path="url(#star_svg__a)"><path fill="currentColor" d="m20 0-6.2 12.4-13.8 2L10 24 7.6 37.8 20 31.3l12.4 6.5L30 24l10-9.6-13.8-2z"/></g></svg> Feature </a> </li> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="/reviews/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-reviews_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-reviews_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-reviews_svg__a)"><g fill="currentColor" clip-path="url(#section-reviews_svg__b)"><path d="M19.3 9.4V16l4.7 4.7h6.6l4.7-4.7V9.4l-4.7-4.7H24zm10.8.5c1.6 1.6 1.6 4.1 0 5.7s-4.1 1.6-5.7 0-1.6-4.1 0-5.7 4.1-1.6 5.7 0"/><path d="M31.4 22.7h-8.3l-5.9-5.9V8.5L25.9 0H12L6.9 5.1V19L0 25.9C0 33.7 6.3 40 14.1 40l6.9-6.9h13.9L40 28V14.1z"/></g></g></svg> Reviews </a> </li> <li> <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" href="/store/"> <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-store_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-store_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-store_svg__a)"><g fill="none" clip-path="url(#section-store_svg__b)"><path fill="currentColor" d="M37.9 8.5h-9.4C28.5 3.8 24.7 0 20 0s-8.5 3.8-8.5 8.5H2.1L0 40h40zM20 2c3.6 0 6.5 2.9 6.5 6.5h-13C13.5 4.9 16.4 2 20 2m0 17c-4.7 0-8.5-3.8-8.5-8.5h2c0 3.6 2.9 6.5 6.5 6.5s6.5-2.9 6.5-6.5h2c0 4.7-3.8 8.5-8.5 8.5"/></g></g></svg> Store </a> </li> </ul> </nav> </div> </div> </div> <ul class="xxl:flex hidden gap-4 text-sm"> <li> <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/ai/"> AI </a> </li> <li> <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/information-technology/"> Biz &amp; IT </a> </li> <li> <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/cars/"> Cars </a> </li> <li> <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/culture/"> Culture </a> </li> <li> <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/gaming/"> Gaming </a> </li> <li> <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/health/"> Health </a> </li> <li> <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/tech-policy/"> Policy </a> </li> <li> <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/science/"> Science </a> </li> <li> <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/security/"> Security </a> </li> <li> <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/space/"> Space </a> </li> <li> <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/gadgets/"> Tech </a> </li> </ul> <a class="hidden text-green-400 sm:block xl:text-sm" href="/civis/"> Forum </a> <div class="hidden h-5 w-[1px] bg-gray-400 lg:block"></div> <a class="hidden text-orange-400 lg:block xl:text-sm" href="/store/product/subscriptions/"> Subscribe </a> <div class="h-5 w-[1px] bg-gray-400"></div> <div class=""> <div x-data="{ open: false, toggle() { if (this.open) { return this.close() } // If we're inside main header, add a data attribute to the header if (this.$el.closest('#site-header')) { this.$el.closest('#site-header').dataset.dropdownOpen = 'true'; } this.open = true }, close() { if (!this.open) { return; } // If we're inside main header, add a data attribute to the header if (this.$el.closest('#site-header')) { this.$el.closest('#site-header').dataset.dropdownOpen = 'false'; } this.open = false } }" @keydown.escape.prevent.stop="close($refs.button)" @focusin.window="! $refs.panel.contains($event.target) && close()" x-id="['dropdown-button']"> <!-- Button --> <button type="button" x-ref="button" x-on:click=" toggle(); $dispatch('dropdown-opened', { panel: $refs.panel }); " :aria-expanded="open" :aria-controls="$id('dropdown-button')" :class="{ selected: open }" class="group flex items-center group" arial-label="" aria-label="Open Theme selection dropdown"> <span class="sr-only">Theme</span> <span x-data="{ placeholder: true }"> <span class="inline-block h-5 w-5" x-show="placeholder"></span> <span x-show="darkMode" x-cloak x-init="placeholder = false"> <svg class="h-5 w-5 text-yellow-100 group-hover:text-yellow-200" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38.4 38.4"><defs><clipPath id="theme-dark_svg__a"><path fill="none" d="M0 0h38.4v38.4H0z"/></clipPath><clipPath id="theme-dark_svg__b"><path fill="none" d="M0 0h38.4v38.4H0z"/></clipPath></defs><g clip-path="url(#theme-dark_svg__a)"><g fill="currentColor" clip-path="url(#theme-dark_svg__b)"><path d="M14.5 11.4c0-4.3 1.4-8.2 3.7-11.4C8.8 1.3 1.6 9.3 1.6 19.1s8.6 19.3 19.3 19.3 12.1-3.1 15.6-7.9c-.9.1-1.8.2-2.7.2-10.7 0-19.3-8.6-19.3-19.3m17.8-6.8v2.1c0 .8-.6 1.4-1.4 1.4s-1.4-.6-1.4-1.4V4.6c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4m0 6.8v2.1c0 .8-.6 1.4-1.4 1.4s-1.4-.6-1.4-1.4v-2.1c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4m-5.8-3.7h2.1c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4h-2.1c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4m6.8 0h2.1c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4h-2.1c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4"/></g></g></svg> </span> <span x-show="!darkMode" x-cloak x-init="placeholder = false"> <svg class="h-5 w-5 text-yellow-400 group-hover:text-yellow-200" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="theme-light_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="theme-light_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#theme-light_svg__a)"><g fill="currentColor" clip-path="url(#theme-light_svg__b)"><path d="M30 20c0 5.5-4.5 10-10 10s-10-4.5-10-10 4.5-10 10-10 10 4.5 10 10m8.6 1.4h-2.2c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4h2.2c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4M34.1 7.9l-1.5 1.5c-.6.6-1.5.6-2 0-.6-.6-.6-1.5 0-2l1.5-1.5c.6-.6 1.5-.6 2 0 .6.6.6 1.5 0 2M21.4 1.4v2.2c0 .8-.6 1.4-1.4 1.4s-1.4-.6-1.4-1.4V1.4c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4M7.9 5.9l1.5 1.5c.6.6.6 1.5 0 2-.6.6-1.5.6-2 0L5.9 7.9c-.6-.6-.6-1.5 0-2 .6-.6 1.5-.6 2 0M1.4 18.6h2.2c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4H1.4C.6 21.4 0 20.8 0 20s.6-1.4 1.4-1.4m4.5 13.5 1.5-1.5c.6-.6 1.4-.6 2 0s.6 1.5 0 2l-1.5 1.5c-.6.6-1.5.6-2 0-.6-.6-.6-1.5 0-2m12.7 6.5v-2.2c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4v2.2c0 .8-.6 1.4-1.4 1.4s-1.4-.6-1.4-1.4m13.5-4.5-1.5-1.5c-.6-.6-.6-1.4 0-2s1.5-.6 2 0l1.5 1.5c.6.6.6 1.5 0 2-.6.6-1.5.6-2 0"/></g></g></svg> </span> </span> </button> <!-- Panel --> <div x-cloak x-ref="panel" x-show="open" x-transition.origin.top.center x-on:click.outside="close()" :id="$id('dropdown-button')" class="absolute overflow-hidden z-50 bg-gray-550 absolute right-0 top-14 mt-[1px] min-w-[200px] rounded-sm py-3 md:top-10"> <form action="." method="post"> <nav> <ul class=""> <li> <button class=" group flex w-full flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" name="theme" type="submit" value="light" aria-label="Set theme to Light"> <svg class="group-with-selected:text-green-400 mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="theme-light_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="theme-light_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#theme-light_svg__a)"><g fill="currentColor" clip-path="url(#theme-light_svg__b)"><path d="M30 20c0 5.5-4.5 10-10 10s-10-4.5-10-10 4.5-10 10-10 10 4.5 10 10m8.6 1.4h-2.2c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4h2.2c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4M34.1 7.9l-1.5 1.5c-.6.6-1.5.6-2 0-.6-.6-.6-1.5 0-2l1.5-1.5c.6-.6 1.5-.6 2 0 .6.6.6 1.5 0 2M21.4 1.4v2.2c0 .8-.6 1.4-1.4 1.4s-1.4-.6-1.4-1.4V1.4c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4M7.9 5.9l1.5 1.5c.6.6.6 1.5 0 2-.6.6-1.5.6-2 0L5.9 7.9c-.6-.6-.6-1.5 0-2 .6-.6 1.5-.6 2 0M1.4 18.6h2.2c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4H1.4C.6 21.4 0 20.8 0 20s.6-1.4 1.4-1.4m4.5 13.5 1.5-1.5c.6-.6 1.4-.6 2 0s.6 1.5 0 2l-1.5 1.5c-.6.6-1.5.6-2 0-.6-.6-.6-1.5 0-2m12.7 6.5v-2.2c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4v2.2c0 .8-.6 1.4-1.4 1.4s-1.4-.6-1.4-1.4m13.5-4.5-1.5-1.5c-.6-.6-.6-1.4 0-2s1.5-.6 2 0l1.5 1.5c.6.6.6 1.5 0 2-.6.6-1.5.6-2 0"/></g></g></svg> Light </button> </li> <li> <button class=" group flex w-full flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" name="theme" type="submit" value="dark" aria-label="Set theme to Dark"> <svg class="group-with-selected:text-green-400 mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38.4 38.4"><defs><clipPath id="theme-dark_svg__a"><path fill="none" d="M0 0h38.4v38.4H0z"/></clipPath><clipPath id="theme-dark_svg__b"><path fill="none" d="M0 0h38.4v38.4H0z"/></clipPath></defs><g clip-path="url(#theme-dark_svg__a)"><g fill="currentColor" clip-path="url(#theme-dark_svg__b)"><path d="M14.5 11.4c0-4.3 1.4-8.2 3.7-11.4C8.8 1.3 1.6 9.3 1.6 19.1s8.6 19.3 19.3 19.3 12.1-3.1 15.6-7.9c-.9.1-1.8.2-2.7.2-10.7 0-19.3-8.6-19.3-19.3m17.8-6.8v2.1c0 .8-.6 1.4-1.4 1.4s-1.4-.6-1.4-1.4V4.6c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4m0 6.8v2.1c0 .8-.6 1.4-1.4 1.4s-1.4-.6-1.4-1.4v-2.1c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4m-5.8-3.7h2.1c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4h-2.1c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4m6.8 0h2.1c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4h-2.1c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4"/></g></g></svg> Dark </button> </li> <li> <button class="selected bg-gray-700 text-green-400 group flex w-full flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" name="theme" type="submit" value="system" aria-label="Set theme to System"> <svg class="group-with-selected:text-green-400 mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="theme-system_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="theme-system_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#theme-system_svg__a)"><g fill="currentColor" clip-path="url(#theme-system_svg__b)"><path d="M32 4c2.2 0 4 1.8 4 4v24c0 2.2-1.8 4-4 4H8c-2.2 0-4-1.8-4-4V8c0-2.2 1.8-4 4-4zm0-4H8C3.6 0 0 3.6 0 8v24c0 4.4 3.6 8 8 8h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8"/><path d="M8 8h8v8H8z"/></g></g></svg> System </button> </li> </ul> </nav> </form> </div> </div> </div> <div class="hidden md:flex md:justify-center" data-modal-id="search" x-data="{ open: false, init() { this.modalId = this.$el.dataset.modalId; }, show() { console.log(this.data); this.open = true; this.$dispatch('modal-opened', { panel: this.$refs.panel, modalId: this.modalId, }); }, hide() { this.open = false }, }"> <button type="button" aria-label="Search dialog..." class="search-button flex flex-row items-center text-gray-300 hover:text-gray-100" aria-label="Open search dialog" x-on:click="show()"> <svg class="h-5 w-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="magnify_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="magnify_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#magnify_svg__a)"><g fill="none" clip-path="url(#magnify_svg__b)"><path fill="currentColor" d="M39.2 35.4 29 25.2c4.4-6.2 3.9-15-1.7-20.6C24.2 1.6 20.1 0 16 0S7.8 1.6 4.7 4.7c-6.2 6.2-6.2 16.4 0 22.6C7.8 30.4 11.9 32 16 32s6.5-1 9.3-3l10.2 10.2c.5.5 1.2.8 1.9.8s1.4-.3 1.9-.8c1-1 1-2.7 0-3.8M8.5 23.5c-2-2-3.1-4.7-3.1-7.5s1.1-5.5 3.1-7.5 4.7-3.1 7.5-3.1 5.5 1.1 7.5 3.1c4.2 4.2 4.2 10.9 0 15.1-2 2-4.7 3.1-7.5 3.1s-5.5-1.1-7.5-3.1"/></g></g></svg> </button> <template x-teleport="body"> <div class="fixed inset-0 z-[99999] overflow-y-auto" role="dialog" aria-modal="true" x-cloak x-show="open" x-on:keydown.escape.window.prevent.stop="open = false" x-id="['modal-title']" x-ref="panel" :aria-labelledby="$id('modal-title')"> <div class="fixed inset-0 bg-slate-900/80 opacity-100 backdrop-blur" x-show="open" x-transition.duration.150ms> </div> <div class="relative flex min-h-screen items-center justify-center" x-on:click="open = false" x-show="open" x-transition.duration.150ms> <div x-on:click.stop x-trap.noscroll.inert="open"> <span class="sr-only" :id="$id('modal-title')"> Search dialog... </span> <div class="search-wrapper relative z-[99999] w-screen p-5"> <div class="gcse-search"></div> </div> </div> </div> </div> </template> </div> <div class="h-5 w-[1px] bg-gray-400"></div> <div class="flex md:justify-center" data-modal-id="sign-in" x-data="{ open: false, init() { this.modalId = this.$el.dataset.modalId; }, show() { console.log(this.data); this.open = true; this.$dispatch('modal-opened', { panel: this.$refs.panel, modalId: this.modalId, }); }, hide() { this.open = false }, }"> <button type="button" aria-label="Sign in dialog..." class="whitespace-nowrap text-gray-300 hover:text-gray-100" aria-label="Open sign in dialog" x-on:click="show()"> Sign In </button> <template x-teleport="body"> <div class="fixed inset-0 z-[99999] overflow-y-auto" role="dialog" aria-modal="true" x-cloak x-show="open" x-on:keydown.escape.window.prevent.stop="open = false" x-id="['modal-title']" x-ref="panel" :aria-labelledby="$id('modal-title')"> <div class="fixed inset-0 bg-slate-900/80 opacity-100 backdrop-blur" x-show="open" x-transition.duration.150ms> </div> <div class="relative flex min-h-screen items-center justify-center" x-on:click="open = false" x-show="open" x-transition.duration.150ms> <div x-on:click.stop x-trap.noscroll.inert="open"> <span class="sr-only" :id="$id('modal-title')"> Sign in dialog... </span> <div class="sign-in-panel absolute left-1/2 top-1/2 w-3/4 min-w-[320px] max-w-xl -translate-x-1/2 -translate-y-1/2" > <header class="font-impact flex items-center justify-between bg-gray-600 px-7 py-4 font-semibold uppercase" > <div class="text-gray-350 flex items-center gap-3"> <svg class="h-3 w-3 text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="arrow-blocks-right_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g fill="currentColor" clip-path="url(#arrow-blocks-right_svg__a)"><path d="M32 16h8v8h-8zm-8 8h8v8h-8zm-8 8h8v8h-8zm8-24h8v8h-8zm-8-8h8v8h-8zM0 16h16v8H0z"/></g></svg> Sign in </div> <button class="text-gray-300 hover:text-gray-100 focus:text-gray-100" x-on:click="open = false" > <svg class="h-3 w-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34.7 40"><defs><clipPath id="x_svg__a"><path fill="none" d="M0 0h34.7v40H0z"/></clipPath></defs><g fill="none" clip-path="url(#x_svg__a)"><path fill="currentColor" d="m26.4 0-8.5 16.9h-1.1L8.3 0H.8l10.1 19.4L0 40h7.6l9.2-18.3h1.1L27.1 40h7.6L23.8 19.4 33.9 0z"/></g></svg> </button> </header> <div class="sign-in-panel-body bg-gray-700 px-7 py-4"> <div class="col-span-3 normal-case text-gray-300" x-data="{ html: '', form: '', triggered: false }" x-on:modal-opened.window=" panel = $el.parentElement.parentElement.parentElement.parentElement.parentElement; if (triggered || panel !== event.detail.panel) { return; } triggered = true; html = await (await fetch('/civis/login')).text(); // Parse html for form with action=/civis/login/login parser = new DOMParser(); doc = parser.parseFromString(html, 'text/html'); form = doc.querySelector('form[action=&quot;/civis/login/login&quot;]'); // Remove autofocus and set focus to username field username = form.querySelector('input[name=&quot;login&quot;]'); username.removeAttribute('autofocus'); document.querySelector('.sign-in-form').appendChild(form); username.focus(); " > <div class="sign-in-form"></div> </div> </div> </div> </div> </div> </div> </template> </div> </div> </header> <main class="main relative -mt-4 lg:mt-6" id="main"> <div class="mx-auto mb-5 mt-8 max-w-md px-5 sm:max-w-3xl lg:max-w-6xl xl:px-0"> <div class="items-start gap-5 sm:flex"> <div class="relative mb-2 aspect-square h-20 w-20 shrink-0 overflow-hidden rounded-full border-4 border-green-400 sm:h-48 sm:w-48 md:mb-10 lg:h-64 lg:w-64"> <img class="absolute min-h-full min-w-full object-cover" src="https://cdn.arstechnica.net/wp-content/uploads/2021/09/scharon-harding-headshot.jpg" alt="Scharon Harding"> </div> <div class=""> <h1 class="font-impact text-2xl font-semibold uppercase md:text-3xl"> Scharon Harding </h1> <div class="font-impact -mt-1 text-base font-semibold uppercase text-gray-400 md:text-lg"> Senior Product Reviewer </div> <a class="font-impact -mt-1 block text-lg font-semibold" href="mailto:scharon.harding@arstechnica.com"> scharon.harding@arstechnica.com </a> <div class="mb-9 mt-4 max-w-2xl text-lg leading-tight text-gray-400"> Scharon is Ars Technica’s Senior Product Reviewer writing news, reviews, and analysis on consumer technology, including laptops, mechanical keyboards, and monitors. Before joining Ars Technica, she managed computer peripherals coverage and reviewed laptops and gadgets for Tom’s Hardware. Previous roles also include covering news and writing research reports about the IT channel with bylines at Channelnomics and CRN UK. </div> </div> </div> <div class="bg-gray-250 mb-9 h-[4px] dark:bg-gray-700"></div> <div class="font-impact dark:text-gray-250 mb-4 text-xl font-semibold uppercase text-gray-400 sm:text-2xl lg:text-3xl"> <span class="font-bold text-gray-700 dark:text-gray-400">Recent stories by </span> <span>Scharon Harding</span> </div> </div> <div class="mx-auto my-5 px-[15px] sm:px-5 sm:px-5 lg:grid lg:max-w-6xl lg:grid-cols-3 lg:gap-8 xl:px-0"> <div class="grid grid-cols-1 gap-5 lg:col-span-2"> <article id="card-2063870" data-id="2063870" class="relative group card-list-square post-2063870 post type-post status-publish format-standard has-post-thumbnail hentry category-gadgets tag-smart-home"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/gadgets/2024/11/smart-gadgets-failure-to-commit-to-software-support-could-be-illegal-ftc-warns/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/08/snoo-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Picture of the Snoo" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/08/snoo-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/08/snoo-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/08/snoo-1000x1000.jpg 1000w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/gadgets/2024/11/smart-gadgets-failure-to-commit-to-software-support-could-be-illegal-ftc-warns/">Smart gadgets’ failure to commit to software support could be illegal, FTC warns</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> "When we don’t own what we buy, everything becomes disposable..." </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-27T12:24:41-05:00" datetime="2024-11-27T12:24:41-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-27T12:24:41-05:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 11/27/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/gadgets/2024/11/smart-gadgets-failure-to-commit-to-software-support-could-be-illegal-ftc-warns/#comments" title="71 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 71 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2063246" data-id="2063246" class="relative group card-list-square post-2063246 post type-post status-publish format-standard has-post-thumbnail hentry category-apple category-gadgets tag-amazon-2 tag-apple tag-google-2 tag-monitors tag-smart-home"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/gadgets/2024/11/the-good-the-bad-and-the-ugly-behind-the-push-for-more-smart-displays/"><img width="300" height="300" src="https://cdn.arstechnica.net/wp-content/uploads/2024/11/echo-show-21-16-9-300x300.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Amazon&#039;s Echo Show 21 with a remote." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/11/echo-show-21-16-9-300x300.jpg 300w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/echo-show-21-16-9-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/echo-show-21-16-9-1000x1000.jpg 1000w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/gadgets/2024/11/the-good-the-bad-and-the-ugly-behind-the-push-for-more-smart-displays/">The good, the bad, and the ugly behind the push for more smart displays</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Opinion: Apple could really change the game here. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-22T17:40:26-05:00" datetime="2024-11-22T17:40:26-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-22T17:40:26-05:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 11/22/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/gadgets/2024/11/the-good-the-bad-and-the-ugly-behind-the-push-for-more-smart-displays/#comments" title="178 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 178 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2063128" data-id="2063128" class="relative group card-list-square post-2063128 post type-post status-publish format-standard has-post-thumbnail hentry category-gadgets tag-ads tag-software tag-sonos tag-tvs"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/gadgets/2024/11/an-ad-giant-wants-to-control-your-next-tvs-operating-system/"><img width="300" height="300" src="https://cdn.arstechnica.net/wp-content/uploads/2024/11/GettyImages-1301753219-300x300.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Someone watching a TV that has hands coming out of it which are holding a sign that says &quot;BUY.&quot;" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/11/GettyImages-1301753219-300x300.jpg 300w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/GettyImages-1301753219-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/GettyImages-1301753219-1000x1000.jpg 1000w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/gadgets/2024/11/an-ad-giant-wants-to-control-your-next-tvs-operating-system/">An ad giant wants to run your next TV’s operating system</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Sonos is rumored to be building a streaming box running The Trade Desk's OS. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-21T13:57:09-05:00" datetime="2024-11-21T13:57:09-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-21T13:57:09-05:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 11/21/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/gadgets/2024/11/an-ad-giant-wants-to-control-your-next-tvs-operating-system/#comments" title="290 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 290 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2062706" data-id="2062706" class="relative group card-list-square post-2062706 post type-post status-publish format-standard has-post-thumbnail hentry category-apple category-gadgets tag-apple tag-apple-tv-plus tag-streaming"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/apple/2024/11/apple-tv-spent-20b-on-original-content-if-only-people-actually-watched/"><img width="300" height="300" src="https://cdn.arstechnica.net/wp-content/uploads/2024/11/Slow_Horses_Photo_040301-300x300.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Gary Oldman in a scene from Slow Horses." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/11/Slow_Horses_Photo_040301-300x300.jpg 300w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/Slow_Horses_Photo_040301-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/Slow_Horses_Photo_040301-1000x1000.jpg 1000w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/apple/2024/11/apple-tv-spent-20b-on-original-content-if-only-people-actually-watched/">Apple TV+ spent $20B on original content. If only people actually watched.</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Reportedly high budget has brought Apple TV+ a lot of prestige, but not a lot of viewers. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-19T14:14:31-05:00" datetime="2024-11-19T14:14:31-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-19T14:14:31-05:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 11/19/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/apple/2024/11/apple-tv-spent-20b-on-original-content-if-only-people-actually-watched/#comments" title="420 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 420 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2058292" data-id="2058292" class="relative group card-list-square post-2058292 post type-post status-publish format-standard has-post-thumbnail hentry category-reviews category-gadgets tag-laptops tag-monitors tag-reviews"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/gadgets/2024/11/after-working-with-a-dual-screen-portable-monitor-for-a-month-im-a-believer/"><img width="300" height="300" src="https://cdn.arstechnica.net/wp-content/uploads/2024/11/cover-scaled-300x300-1731348721.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Dual-screen portable monitor" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/11/cover-scaled-300x300-1731348721.jpg 300w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/cover-scaled-500x500-1731348722.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/cover-scaled-1000x1000-1731348722.jpg 1000w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/gadgets/2024/11/after-working-with-a-dual-screen-portable-monitor-for-a-month-im-a-believer/">After working with a dual-screen portable monitor for a month, I’m a believer</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> More pixels and versatility, but without the sacrifices of dual-screen PCs. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-14T08:00:45-05:00" datetime="2024-11-14T08:00:45-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-14T08:00:45-05:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 11/14/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/gadgets/2024/11/after-working-with-a-dual-screen-portable-monitor-for-a-month-im-a-believer/#comments" title="72 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 72 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2062180" data-id="2062180" class="relative group card-list-square post-2062180 post type-post status-publish format-standard has-post-thumbnail hentry category-gadgets tag-ads tag-amazon-2 tag-amazon-prime-video tag-streaming"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/gadgets/2024/11/amazon-ends-free-ad-supported-streaming-service-after-prime-video-with-ads-debuts/"><img width="300" height="300" src="https://cdn.arstechnica.net/wp-content/uploads/2024/11/bosch-300x300.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/11/bosch-300x300.jpg 300w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/bosch-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/bosch-1000x1000.jpg 1000w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/gadgets/2024/11/amazon-ends-free-ad-supported-streaming-service-after-prime-video-with-ads-debuts/">Amazon ends free ad-supported streaming service after Prime Video with ads debuts</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Selling subscriptions to Prime Video with ads is more lucrative for Amazon. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-13T15:56:40-05:00" datetime="2024-11-13T15:56:40-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-13T15:56:40-05:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 11/13/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/gadgets/2024/11/amazon-ends-free-ad-supported-streaming-service-after-prime-video-with-ads-debuts/#comments" title="102 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 102 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2061202" data-id="2061202" class="relative group card-list-square post-2061202 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology tag-broadcom tag-vmware-2"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/information-technology/2024/11/new-smb-friendly-subscription-tier-may-be-too-late-to-stop-vmware-migrations/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/01/GettyImages-474325206-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="VMware logo on a glass building" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/01/GettyImages-474325206-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/01/GettyImages-474325206-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/01/GettyImages-474325206-1000x1000.jpg 1000w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/information-technology/2024/11/new-smb-friendly-subscription-tier-may-be-too-late-to-stop-vmware-migrations/">New SMB-friendly subscription tier may be too late to stop VMware migrations</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Broadcom acquisition was a "wake-up call" for VMware-dependent SMBs. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-08T16:59:21-05:00" datetime="2024-11-08T16:59:21-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-08T16:59:21-05:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 11/8/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/information-technology/2024/11/new-smb-friendly-subscription-tier-may-be-too-late-to-stop-vmware-migrations/#comments" title="84 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 84 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2060975" data-id="2060975" class="relative group card-list-square post-2060975 post type-post status-publish format-standard has-post-thumbnail hentry category-uncategorized tag-ads tag-max tag-streaming tag-warner-bros-discovery"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/uncategorized/2024/11/why-you-can-expect-higher-prices-more-ads-from-max-next-year/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/11/joker-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/11/joker-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/joker-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/joker-1000x1000.jpg 1000w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/uncategorized/2024/11/why-you-can-expect-higher-prices-more-ads-from-max-next-year/">Max needs higher prices, more ads to help support WBD’s flailing businesses</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> WBD chief hopeful that Trump administration could enable more streaming M&As. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-07T16:36:55-05:00" datetime="2024-11-07T16:36:55-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-07T16:36:55-05:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 11/7/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/uncategorized/2024/11/why-you-can-expect-higher-prices-more-ads-from-max-next-year/#comments" title="158 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 158 </a> </span></div> </div> </div> </div> </div> </article> </div> <div class="hidden justify-self-end bg-gray-100 dark:bg-gray-50 lg:block"> <div class="component-most-read font-impact flex h-full min-h-[300px] flex-col flex-nowrap gap-5 pb-5 uppercase text-white"> <div> <header class="flex flex-row flex-nowrap items-center justify-center gap-2 bg-gray-600 px-5 py-2"> <svg class="h-[20px] w-[30px] text-gray-100" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 26"><defs><clipPath id="most-read_svg__a"><path fill="none" d="M0 0h40v26H0z"/></clipPath><clipPath id="most-read_svg__b"><path fill="none" d="M0 0h40v26H0z"/></clipPath></defs><g clip-path="url(#most-read_svg__a)"><g fill="none" clip-path="url(#most-read_svg__b)"><path fill="currentColor" d="M20 2h.8q1.5 0 3 .6c.6.2 1.1.4 1.7.6 1.3.5 2.6 1.3 3.9 2.1.6.4 1.2.8 1.8 1.3 2.9 2.3 5.1 4.9 6.3 6.4-1.1 1.5-3.4 4-6.3 6.4-.6.5-1.2.9-1.8 1.3q-1.95 1.35-3.9 2.1c-.6.2-1.1.4-1.7.6q-1.5.45-3 .6h-1.6q-1.5 0-3-.6c-.6-.2-1.1-.4-1.7-.6-1.3-.5-2.6-1.3-3.9-2.1-.6-.4-1.2-.8-1.8-1.3-2.9-2.3-5.1-4.9-6.3-6.4 1.1-1.5 3.4-4 6.3-6.4.6-.5 1.2-.9 1.8-1.3q1.95-1.35 3.9-2.1c.6-.2 1.1-.4 1.7-.6q1.5-.45 3-.6zm0-2h-1c-1.2 0-2.3.3-3.4.6-.6.2-1.3.4-1.9.7-1.5.6-2.9 1.4-4.3 2.3-.7.5-1.3.9-1.9 1.4C2.9 8.7 0 13 0 13s2.9 4.3 7.5 7.9c.6.5 1.3 1 1.9 1.4 1.3.9 2.7 1.7 4.3 2.3.6.3 1.3.5 1.9.7 1.1.3 2.3.6 3.4.6h2c1.2 0 2.3-.3 3.4-.6.6-.2 1.3-.4 1.9-.7 1.5-.6 2.9-1.4 4.3-2.3.7-.5 1.3-.9 1.9-1.4C37.1 17.3 40 13 40 13s-2.9-4.3-7.5-7.9c-.6-.5-1.3-1-1.9-1.4-1.3-.9-2.8-1.7-4.3-2.3-.6-.3-1.3-.5-1.9-.7C23.3.4 22.1.1 21 .1h-1"/><path fill="#ff4e00" d="M20 5c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8m0 11c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3"/></g></g></svg> <div class="font-impact inline text-xl font-extrabold uppercase text-green-400"> Most Read</div> </header> <ol> <li class="group relative"> <a href="https://arstechnica.com/space/2024/11/with-dragonfly-contract-nasa-will-certify-spacex-for-nuclear-powered-payloads/"> <img class="h-auto w-full rounded-sm group-hover:saturate-150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/11/graphite-impact-shell-gis-768x432.jpg" alt="Listing image for first story in Most Read: NASA awards SpaceX a contract for one of the few things it hasn’t done yet" decoding="async" loading="lazy"> </a> <div class="relative px-[15px] py-4 sm:px-5"> <div class="most-read-divider absolute left-5 top-[-3px] h-[5px] w-1/4 bg-green-400"> </div> <span class="flex flex-row flex-nowrap items-start gap-4 font-serif text-xl font-bold normal-case leading-tight"> <span class="shrink-0 text-green-400">1.</span> <a class="most-read-title text-gray-100 visited:text-gray-400 hover:text-orange-400" href="https://arstechnica.com/space/2024/11/with-dragonfly-contract-nasa-will-certify-spacex-for-nuclear-powered-payloads/">NASA awards SpaceX a contract for one of the few things it hasn’t done yet</a> </span> </div> </li> <li class="group relative"> <div class="relative px-[15px] py-4 sm:px-5"> <div class="most-read-divider absolute left-5 top-0 h-[1px] w-1/4 bg-gray-400"> </div> <span class="flex flex-row flex-nowrap items-start gap-4 font-serif text-xl font-bold normal-case leading-tight"> <span class="shrink-0 text-green-400">2.</span> <a class="most-read-title text-gray-100 visited:text-gray-400 hover:text-orange-400" href="https://arstechnica.com/space/2024/11/after-russian-ship-docks-to-space-station-astronauts-report-a-foul-smell/">After Russian ship docks to space station, astronauts report a foul smell</a> </span> </div> </li> <li class="group relative"> <div class="relative px-[15px] py-4 sm:px-5"> <div class="most-read-divider absolute left-5 top-0 h-[1px] w-1/4 bg-gray-400"> </div> <span class="flex flex-row flex-nowrap items-start gap-4 font-serif text-xl font-bold normal-case leading-tight"> <span class="shrink-0 text-green-400">3.</span> <a class="most-read-title text-gray-100 visited:text-gray-400 hover:text-orange-400" href="https://arstechnica.com/ai/2024/11/nvidias-new-ai-audio-model-can-synthesize-sounds-that-have-never-existed/">Nvidia’s new AI audio model can synthesize sounds that have never existed</a> </span> </div> </li> <li class="group relative"> <div class="relative px-[15px] py-4 sm:px-5"> <div class="most-read-divider absolute left-5 top-0 h-[1px] w-1/4 bg-gray-400"> </div> <span class="flex flex-row flex-nowrap items-start gap-4 font-serif text-xl font-bold normal-case leading-tight"> <span class="shrink-0 text-green-400">4.</span> <a class="most-read-title text-gray-100 visited:text-gray-400 hover:text-orange-400" href="https://arstechnica.com/security/2024/11/found-in-the-wild-the-worlds-first-unkillable-uefi-bootkit-for-linux/">Found in the wild: The world’s first unkillable UEFI bootkit for Linux</a> </span> </div> </li> <li class="group relative"> <div class="relative px-[15px] py-4 sm:px-5"> <div class="most-read-divider absolute left-5 top-0 h-[1px] w-1/4 bg-gray-400"> </div> <span class="flex flex-row flex-nowrap items-start gap-4 font-serif text-xl font-bold normal-case leading-tight"> <span class="shrink-0 text-green-400">5.</span> <a class="most-read-title text-gray-100 visited:text-gray-400 hover:text-orange-400" href="https://arstechnica.com/tech-policy/2024/11/workers-demand-more-transparency-after-intel-secures-8b-chips-funding/">Workers demand more transparency after Intel secures $8B CHIPS funding</a> </span> </div> </li> </ol> </div> <div class="most-read-customize text-center"> <button class="btn-customize font-impact mt-5 inline-flex flex-row flex-nowrap items-center justify-center gap-2 font-semibold uppercase text-gray-300 hover:text-gray-100" aria-label="Customize view settings" x-data x-on:click="$dispatch('view-settings-bar-open');"> <svg class="h-5 w-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 39.8 40"><defs><clipPath id="settings_svg__a"><path fill="none" d="M0 0h39.8v40H0z"/></clipPath><clipPath id="settings_svg__b"><path fill="none" d="M0 0h39.8v40H0z"/></clipPath></defs><g clip-path="url(#settings_svg__a)"><g fill="currentColor" clip-path="url(#settings_svg__b)"><path d="M17.4 3c-.8-1.8-2.5-3-4.5-3S9.1 1.2 8.3 3H0v4h8.3c.8 1.8 2.5 3 4.6 3s3.8-1.2 4.6-3h22.4V3H17.5Zm-4.6 4.5c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5M27 15c-2 0-3.8 1.2-4.6 3H0v4h22.4c.8 1.8 2.5 3 4.6 3s3.8-1.2 4.6-3h8.3v-4h-8.3c-.8-1.8-2.5-3-4.6-3m0 7.5c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5M12.9 30c-2 0-3.8 1.2-4.6 3H0v4h8.3c.8 1.8 2.5 3 4.6 3s3.8-1.2 4.6-3h22.4v-4H17.5c-.8-1.8-2.5-3-4.6-3m0 7.5c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5"/></g></g></svg> <span>Customize</span> </button> </div> </div> </div> </div> <div class="ad-wrapper with-label is-fullwidth"> <div class="ad-wrapper-inner"> <div class="ad ad--mid-content"> </div> </div> </div> <div class="mx-auto my-5 px-[15px] sm:px-5 sm:px-5 lg:grid lg:max-w-6xl lg:grid-cols-3 lg:gap-8 xl:px-0"> <div class="grid grid-cols-1 gap-5 lg:col-span-2"> <article id="card-2060488" data-id="2060488" class="relative group card-list-square post-2060488 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-grindr tag-nlrb tag-return-to-office tag-unions"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/tech-policy/2024/11/rto-mandate-was-attempt-at-thwarting-grindr-workers-unionizing-us-labor-board/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/04/grindr-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="A person&#039;s finger hovering over a Grindr app icon on a phone screen" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/04/grindr-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/04/grindr-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/04/grindr-1000x1000.jpg 1000w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/tech-policy/2024/11/rto-mandate-was-attempt-at-thwarting-grindr-workers-unionizing-us-labor-board/">RTO mandate was attempt at thwarting Grindr workers unionizing: US labor board</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> 80 out of 120 workers trying to unionize reportedly quit due to RTO mandate. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-05T17:33:47-05:00" datetime="2024-11-05T17:33:47-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-05T17:33:47-05:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 11/5/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/tech-policy/2024/11/rto-mandate-was-attempt-at-thwarting-grindr-workers-unionizing-us-labor-board/#comments" title="32 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 32 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2059828" data-id="2059828" class="relative group card-list-square post-2059828 post type-post status-publish format-standard has-post-thumbnail hentry category-ai category-gadgets tag-ai tag-recall tag-wearables"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/gadgets/2024/11/charger-recall-spells-more-bad-news-for-humanes-maligned-ai-pin/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/06/14-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Someone wearing and pressing a Humane AI Pin" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/06/14-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/06/14-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/gadgets/2024/11/charger-recall-spells-more-bad-news-for-humanes-maligned-ai-pin/">Charger recall spells more bad news for Humane’s maligned AI Pin</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Humane first reported overheating problems with the portable charger in June. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-01T13:33:44-04:00" datetime="2024-11-01T13:33:44-04:00" x-data="{ compact: true, open: false, date: new Date('2024-11-01T13:33:44-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 11/1/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/gadgets/2024/11/charger-recall-spells-more-bad-news-for-humanes-maligned-ai-pin/#comments" title="50 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 50 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2059550" data-id="2059550" class="relative group card-list-square post-2059550 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy category-gadgets tag-amazon-2 tag-return-to-office"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/tech-policy/2024/10/over-500-amazon-workers-decry-non-data-driven-logic-for-5-day-rto-policy/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/GettyImages-535059003-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="An Amazon corporate office building in Sunnyvale, California." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/GettyImages-535059003-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/GettyImages-535059003-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/tech-policy/2024/10/over-500-amazon-workers-decry-non-data-driven-logic-for-5-day-rto-policy/">Over 500 Amazon workers decry “non-data-driven” logic for 5-day RTO policy</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> “I used to be proud of my work and excited about my future here. I don't feel that anymore." </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-31T13:16:04-04:00" datetime="2024-10-31T13:16:04-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-31T13:16:04-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/31/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/tech-policy/2024/10/over-500-amazon-workers-decry-non-data-driven-logic-for-5-day-rto-policy/#comments" title="203 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 203 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2051532" data-id="2051532" class="relative group card-list-square post-2051532 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology category-features tag-acquisition tag-broadcom tag-vmware-2"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/information-technology/2024/10/a-year-after-broadcoms-vmware-buy-customers-eye-exit-strategies/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/broadcom-vmware-eject-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="An emergency VMWare eject box in case of Broadcom" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/broadcom-vmware-eject-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/broadcom-vmware-eject-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/broadcom-vmware-eject-1000x1000.jpg 1000w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/information-technology/2024/10/a-year-after-broadcoms-vmware-buy-customers-eye-exit-strategies/">300 percent price hikes push disgruntled VMware customers toward Broadcom rivals</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Ars speaks with users and partners unhappy with Broadcom's changes. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-31T07:00:27-04:00" datetime="2024-10-31T07:00:27-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-31T07:00:27-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/31/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/information-technology/2024/10/a-year-after-broadcoms-vmware-buy-customers-eye-exit-strategies/#comments" title="171 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 171 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2059283" data-id="2059283" class="relative group card-list-square post-2059283 post type-post status-publish format-standard has-post-thumbnail hentry category-gadgets tag-ads tag-ai tag-google-2 tag-reddit tag-social-media"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/gadgets/2024/10/amid-controversial-changes-reddit-is-getting-more-popular-and-profitable/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2023/06/GettyImages-1232875671-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="In this photo illustration the American social news" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2023/06/GettyImages-1232875671-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2023/06/GettyImages-1232875671-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2023/06/GettyImages-1232875671-1000x1000.jpg 1000w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/gadgets/2024/10/amid-controversial-changes-reddit-is-getting-more-popular-and-profitable/">Amid controversial changes, Reddit is getting more popular—and profitable</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> With Reddit finally making money, the Reddit of yesteryear isn't coming back. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-30T14:13:15-04:00" datetime="2024-10-30T14:13:15-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-30T14:13:15-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/30/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/gadgets/2024/10/amid-controversial-changes-reddit-is-getting-more-popular-and-profitable/#comments" title="121 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 121 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2058416" data-id="2058416" class="relative group card-list-square post-2058416 post type-post status-publish format-standard has-post-thumbnail hentry category-ai category-google category-gadgets tag-ai-overview tag-google-2 tag-reddit tag-social-media"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/gadgets/2024/10/fake-restaurant-tips-on-reddit-a-reminder-of-google-ai-overviews-inherent-flaws/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/GettyImages-1663544113-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Leicester Square, LONDON,ENGLAND - September 2023:Angus Steakhouse store sign External Store Sign London, England." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/GettyImages-1663544113-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/GettyImages-1663544113-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/gadgets/2024/10/fake-restaurant-tips-on-reddit-a-reminder-of-google-ai-overviews-inherent-flaws/">Annoyed Redditors tanking Google Search results illustrates perils of AI scrapers</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> "Spreading misinformation suddenly becomes a noble goal," Redditor says. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-25T14:29:10-04:00" datetime="2024-10-25T14:29:10-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-25T14:29:10-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/25/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/gadgets/2024/10/fake-restaurant-tips-on-reddit-a-reminder-of-google-ai-overviews-inherent-flaws/#comments" title="209 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 209 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2057935" data-id="2057935" class="relative group card-list-square post-2057935 post type-post status-publish format-standard has-post-thumbnail hentry category-gadgets tag-california tag-floppy-disks tag-san-francisco tag-trains"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/gadgets/2024/10/212-million-contract-will-finally-get-san-francisco-trains-off-floppy-disks/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/GettyImages-182661978-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="A 5.25-inch black floppy disk on a white background" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/GettyImages-182661978-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/GettyImages-182661978-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/GettyImages-182661978-1000x1000.jpg 1000w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/gadgets/2024/10/212-million-contract-will-finally-get-san-francisco-trains-off-floppy-disks/">San Francisco to pay $212 million to end reliance on 5.25-inch floppy disks</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Muni Metro also plans to ditch super-slow loop cable communication system. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-23T13:36:31-04:00" datetime="2024-10-23T13:36:31-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-23T13:36:31-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/23/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/gadgets/2024/10/212-million-contract-will-finally-get-san-francisco-trains-off-floppy-disks/#comments" title="272 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 272 </a> </span></div> </div> </div> </div> </div> </article> </div> <div class="hidden justify-self-end bg-gray-100 dark:bg-gray-50 lg:block"> <div class="ad-wrapper is-sticky is-rail"> <div class="ad-wrapper-inner"> <div class="ad ad--rail"></div> </div> </div> </div> </div> <div class="ad-wrapper with-label is-fullwidth"> <div class="ad-wrapper-inner"> <div class="ad ad--mid-content"> </div> </div> </div> <div class="mx-auto my-5 px-[15px] sm:px-5 sm:px-5 lg:grid lg:max-w-6xl lg:grid-cols-3 lg:gap-8 xl:px-0"> <div class="grid grid-cols-1 gap-5 lg:col-span-2"> <article id="card-2057718" data-id="2057718" class="relative group card-list-square post-2057718 post type-post status-publish format-standard has-post-thumbnail hentry category-culture category-gadgets tag-netflix-2 tag-streaming"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/gadgets/2024/10/subscribers-are-paying-more-for-streaming-content-that-they-are-enjoying-less/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/GettyImages-520220499-150x150-1729628490.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="oman holding a TV remote control gestures in frustrated irritation at something she has seen - or not seen - on the screen" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/GettyImages-520220499-150x150-1729628490.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/GettyImages-520220499-500x500-1729628490.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/GettyImages-520220499-1000x1000-1729628491.jpg 1000w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/gadgets/2024/10/subscribers-are-paying-more-for-streaming-content-that-they-are-enjoying-less/">Streaming subscription fees have been rising while content quality is dropping</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Surveys show decline in customer satisfaction with what is available to stream. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-22T18:10:24-04:00" datetime="2024-10-22T18:10:24-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-22T18:10:24-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/22/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/gadgets/2024/10/subscribers-are-paying-more-for-streaming-content-that-they-are-enjoying-less/#comments" title="219 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 219 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2057245" data-id="2057245" class="relative group card-list-square post-2057245 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-amazon-2 tag-aws tag-return-to-office"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/tech-policy/2024/10/amazon-exec-tells-employees-to-work-elsewhere-if-they-dislike-rto-policy/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/GettyImages-1317474419-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="The Amazon logo seen at Amazon campus in Palo Alto, California." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/GettyImages-1317474419-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/GettyImages-1317474419-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/GettyImages-1317474419-1000x1000.jpg 1000w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/tech-policy/2024/10/amazon-exec-tells-employees-to-work-elsewhere-if-they-dislike-rto-policy/">Amazon exec tells employees to work elsewhere if they dislike RTO policy</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Using RTO to push quitting could result in an "array of legal consequences." </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-18T14:30:56-04:00" datetime="2024-10-18T14:30:56-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-18T14:30:56-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/18/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/tech-policy/2024/10/amazon-exec-tells-employees-to-work-elsewhere-if-they-dislike-rto-policy/#comments" title="389 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 389 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2056978" data-id="2056978" class="relative group card-list-square post-2056978 post type-post status-publish format-standard has-post-thumbnail hentry category-gadgets tag-dvd tag-privacy tag-redbox"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/gadgets/2024/10/redbox-hard-drive-hacked-to-reveal-customer-information-from-2471-rentals/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/GettyImages-89789724-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/GettyImages-89789724-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/GettyImages-89789724-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/gadgets/2024/10/redbox-hard-drive-hacked-to-reveal-customer-information-from-2471-rentals/">Redbox easily reverse-engineered to reveal customers’ names, zip codes, rentals</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> The bankrupt company may not see any consequences. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-17T17:38:39-04:00" datetime="2024-10-17T17:38:39-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-17T17:38:39-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/17/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/gadgets/2024/10/redbox-hard-drive-hacked-to-reveal-customer-information-from-2471-rentals/#comments" title="51 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 51 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2056235" data-id="2056235" class="relative group card-list-square post-2056235 post type-post status-publish format-standard has-post-thumbnail hentry category-gadgets tag-smart-home"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/gadgets/2024/10/smart-gardening-firms-shutdown-a-reminder-of-internet-of-things-fickle-nature/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/Bounty_BLK_Lifestyle_NapalatanoBasil02-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="A marketing image for the AeroGarden Bounty." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/Bounty_BLK_Lifestyle_NapalatanoBasil02-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/Bounty_BLK_Lifestyle_NapalatanoBasil02-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/gadgets/2024/10/smart-gardening-firms-shutdown-a-reminder-of-internet-of-things-fickle-nature/">Smart gardening firm’s shutdown a reminder of Internet of Things’ fickle nature</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Company closing "due to a number of challenges with this business." </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-14T14:39:31-04:00" datetime="2024-10-14T14:39:31-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-14T14:39:31-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/14/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/gadgets/2024/10/smart-gardening-firms-shutdown-a-reminder-of-internet-of-things-fickle-nature/#comments" title="60 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 60 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2055072" data-id="2055072" class="relative group card-list-square post-2055072 post type-post status-publish format-standard has-post-thumbnail hentry category-gadgets tag-foldable tag-foldable-phone tag-samsung-2 tag-samsung-galaxy tag-smartphones tag-software"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/gadgets/2024/10/samsung-foldable-that-debuted-at-2k-in-2020-stops-receiving-security-updates/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2020/08/02_galaxyzfold2_mysticbronze_back115-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Pictures of the Galaxy Fold 2." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2020/08/02_galaxyzfold2_mysticbronze_back115-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2020/08/02_galaxyzfold2_mysticbronze_back115-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2020/08/02_galaxyzfold2_mysticbronze_back115-1000x1000.jpg 1000w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/gadgets/2024/10/samsung-foldable-that-debuted-at-2k-in-2020-stops-receiving-security-updates/">Samsung quits updating Galaxy Z Fold 2 that came out in 2020 for $2,000</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Newer Samsung Galaxy phones are promised seven years of updates. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-08T15:31:37-04:00" datetime="2024-10-08T15:31:37-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-08T15:31:37-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/8/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/gadgets/2024/10/samsung-foldable-that-debuted-at-2k-in-2020-stops-receiving-security-updates/#comments" title="56 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 56 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2054514" data-id="2054514" class="relative group card-list-square post-2054514 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy category-gadgets tag-ads tag-fcc tag-ftc tag-generative-ai tag-streaming tag-tvs"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/gadgets/2024/10/streaming-industry-has-unprecedented-surveillance-manipulation-capabilities/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2022/03/getty-netflix-remote-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="A person&#039;s hand holding a TV remote control with a Netflix button." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2022/03/getty-netflix-remote-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2022/03/getty-netflix-remote-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2022/03/getty-netflix-remote-1000x1000.jpg 1000w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/gadgets/2024/10/streaming-industry-has-unprecedented-surveillance-manipulation-capabilities/">Smart TVs are like “a digital Trojan Horse” in people’s homes</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> 48-page report urges FTC, FCC to investigate connected TV industry data harvesting. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-07T13:55:58-04:00" datetime="2024-10-07T13:55:58-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-07T13:55:58-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/7/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/gadgets/2024/10/streaming-industry-has-unprecedented-surveillance-manipulation-capabilities/#comments" title="168 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 168 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2054359" data-id="2054359" class="relative group card-list-square post-2054359 post type-post status-publish format-standard has-post-thumbnail hentry category-gadgets tag-samsung-2 tag-samsung-galaxy tag-smartphones tag-software"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/gadgets/2024/10/samsung-update-bricks-phones-giving-harsh-reminder-of-data-backup-importance/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2019/02/Samsung-Galaxy-S10e-front-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="The display on the Samsung Galaxy S10e." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2019/02/Samsung-Galaxy-S10e-front-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2019/02/Samsung-Galaxy-S10e-front-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2019/02/Samsung-Galaxy-S10e-front-1000x1000.jpg 1000w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/gadgets/2024/10/samsung-update-bricks-phones-giving-harsh-reminder-of-data-backup-importance/">Faulty Samsung update leaves owners of bricked Galaxy phones with few options</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> "I just really, really want my photos." </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-04T10:56:59-04:00" datetime="2024-10-04T10:56:59-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-04T10:56:59-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/4/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/gadgets/2024/10/samsung-update-bricks-phones-giving-harsh-reminder-of-data-backup-importance/#comments" title="127 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 127 </a> </span></div> </div> </div> </div> </div> </article> </div> <div class="hidden justify-self-end bg-gray-100 dark:bg-gray-50 lg:block"> <div class="ad-wrapper is-sticky is-rail"> <div class="ad-wrapper-inner"> <div class="ad ad--rail"></div> </div> </div> </div> </div> <div class="ad-wrapper with-label is-fullwidth"> <div class="ad-wrapper-inner"> <div class="ad ad--mid-content"> </div> </div> </div> <div class="mx-auto my-5 px-[15px] sm:px-5 sm:px-5 lg:grid lg:max-w-6xl lg:grid-cols-3 lg:gap-8 xl:px-0"> <div class="grid grid-cols-1 gap-5 lg:col-span-2"> <article id="card-2054008" data-id="2054008" class="relative group card-list-square post-2054008 post type-post status-publish format-standard has-post-thumbnail hentry category-gadgets tag-ads tag-amazon-2 tag-amazon-prime-video tag-streaming"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/gadgets/2024/10/amazon-prime-video-is-getting-more-ads-next-year/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/05/boysLIST-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="poster art detail" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/05/boysLIST-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/05/boysLIST-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/gadgets/2024/10/amazon-prime-video-is-getting-more-ads-next-year/">Amazon will “ramp up” Prime Video ads in 2025</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Subscribers tolerated the current ad load, so Amazon is adding more commercials. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-02T18:28:14-04:00" datetime="2024-10-02T18:28:14-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-02T18:28:14-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/2/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/gadgets/2024/10/amazon-prime-video-is-getting-more-ads-next-year/#comments" title="291 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 291 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2053878" data-id="2053878" class="relative group card-list-square post-2053878 post type-post status-publish format-standard has-post-thumbnail hentry category-gadgets tag-audio tag-software tag-sonos"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/gadgets/2024/10/sonos-ceo-admits-to-insufficient-app-testing-we-released-it-too-soon/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/08/06b240eb-6426-4160-8cea-d9fec64c224f_thumb-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Sonos app on a smartphone" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/08/06b240eb-6426-4160-8cea-d9fec64c224f_thumb-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/08/06b240eb-6426-4160-8cea-d9fec64c224f_thumb-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/gadgets/2024/10/sonos-ceo-admits-to-insufficient-app-testing-we-released-it-too-soon/">“Obviously a failure”: Sonos execs not getting bonuses due to app fiasco</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Sonos extends hardware warranties by a year as act of contrition. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-02T13:14:20-04:00" datetime="2024-10-02T13:14:20-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-02T13:14:20-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/2/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/gadgets/2024/10/sonos-ceo-admits-to-insufficient-app-testing-we-released-it-too-soon/#comments" title="82 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 82 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2053645" data-id="2053645" class="relative group card-list-square post-2053645 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology tag-att tag-broadcom tag-vmware-2"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/information-technology/2024/10/broadcom-tried-to-jack-vmware-prices-by-1050-percent-att-claims/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2023/12/GettyImages-1247615915-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="The logo of American cloud computing and virtualization technology company VMware is seen at the Mobile World Congress (MWC), the telecom industry&#039;s biggest annual gathering, in Barcelona on March 2, 2023." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2023/12/GettyImages-1247615915-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2023/12/GettyImages-1247615915-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/information-technology/2024/10/broadcom-tried-to-jack-vmware-prices-by-1050-percent-att-claims/">“Extreme” Broadcom-proposed price hike would up VMware costs 1,050%, AT&#038;T says</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Broadcom "preventing some vendors from selling products to us," AT&T alleges. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-01T14:22:47-04:00" datetime="2024-10-01T14:22:47-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-01T14:22:47-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 10/1/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/information-technology/2024/10/broadcom-tried-to-jack-vmware-prices-by-1050-percent-att-claims/#comments" title="117 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 117 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2053478" data-id="2053478" class="relative group card-list-square post-2053478 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-reddit tag-social-media"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/tech-policy/2024/09/policy-change-lets-reddit-veto-user-protests/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/09/GettyImages-2151457756-150x150-1728085814.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="The Reddit application can be seen on the display of a smartphone." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/09/GettyImages-2151457756-150x150-1728085814.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/GettyImages-2151457756-500x500-1728085815.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/GettyImages-2151457756-1000x1000-1728085815.jpg 1000w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/tech-policy/2024/09/policy-change-lets-reddit-veto-user-protests/">In fear of more user protests, Reddit announces controversial policy change</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Moderators now need Reddit's permission to turn subreddits private, NSFW. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-09-30T17:05:51-04:00" datetime="2024-09-30T17:05:51-04:00" x-data="{ compact: true, open: false, date: new Date('2024-09-30T17:05:51-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 9/30/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/tech-policy/2024/09/policy-change-lets-reddit-veto-user-protests/#comments" title="170 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 170 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2053372" data-id="2053372" class="relative group card-list-square post-2053372 post type-post status-publish format-standard has-post-thumbnail hentry category-gaming tag-ads tag-playstation tag-playstation-5 tag-ps5 tag-sony-2"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/gaming/2024/09/ps5-home-screen-starts-showing-coming-soon-ads-for-already-released-content/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/09/GettyImages-2174565984-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="PlayStation 5" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/09/GettyImages-2174565984-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/GettyImages-2174565984-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/gaming/2024/09/ps5-home-screen-starts-showing-coming-soon-ads-for-already-released-content/">“So aggravating”: Outdated ads start appearing on PS5 home screen</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Players are annoyed as new home screen needs work. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-09-30T14:54:52-04:00" datetime="2024-09-30T14:54:52-04:00" x-data="{ compact: true, open: false, date: new Date('2024-09-30T14:54:52-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 9/30/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/gaming/2024/09/ps5-home-screen-starts-showing-coming-soon-ads-for-already-released-content/#comments" title="79 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 79 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2053090" data-id="2053090" class="relative group card-list-square post-2053090 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-dell tag-return-to-office"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/tech-policy/2024/09/dell-says-sales-team-must-work-on-site-5-days-a-week-to-drive-productivity/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/09/GettyImages-1454292872-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="The exterior of a Dell Technologies office building is seen on January 04, 2023 in Round Rock, Texas. (" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/09/GettyImages-1454292872-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/GettyImages-1454292872-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/tech-policy/2024/09/dell-says-sales-team-must-work-on-site-5-days-a-week-to-drive-productivity/">Dell sales team told to return to office 5 days a week, starting Monday</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> "... sales teams are more productive when onsite." </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-09-27T13:37:57-04:00" datetime="2024-09-27T13:37:57-04:00" x-data="{ compact: true, open: false, date: new Date('2024-09-27T13:37:57-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 9/27/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/tech-policy/2024/09/dell-says-sales-team-must-work-on-site-5-days-a-week-to-drive-productivity/#comments" title="158 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 158 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2052751" data-id="2052751" class="relative group card-list-square post-2052751 post type-post status-publish format-standard has-post-thumbnail hentry category-gadgets tag-hp tag-printers"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/gadgets/2024/09/in-rare-move-from-printing-industry-hp-actually-has-a-decent-idea/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2022/08/GettyImages-157481080-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Someone touching a piece of paper that&#039;s sitting in a printer" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2022/08/GettyImages-157481080-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2022/08/GettyImages-157481080-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2022/08/GettyImages-157481080-1000x1000.jpg 1000w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/gadgets/2024/09/in-rare-move-from-printing-industry-hp-actually-has-a-decent-idea/">In rare move from printing industry, HP actually has a decent idea</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Opinion: Printers have gotten boring and untrustworthy. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-09-26T16:09:44-04:00" datetime="2024-09-26T16:09:44-04:00" x-data="{ compact: true, open: false, date: new Date('2024-09-26T16:09:44-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 9/26/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/gadgets/2024/09/in-rare-move-from-printing-industry-hp-actually-has-a-decent-idea/#comments" title="258 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 258 </a> </span></div> </div> </div> </div> </div> </article> </div> <div class="hidden justify-self-end bg-gray-100 dark:bg-gray-50 lg:block"> <div class="ad-wrapper is-sticky is-rail"> <div class="ad-wrapper-inner"> <div class="ad ad--rail"></div> </div> </div> </div> </div> <div class="ad-wrapper with-label is-fullwidth"> <div class="ad-wrapper-inner"> <div class="ad ad--mid-content"> </div> </div> </div> <div class="mx-auto my-5 px-[15px] sm:px-5 sm:px-5 lg:grid lg:max-w-6xl lg:grid-cols-3 lg:gap-8 xl:px-0"> <div class="grid grid-cols-1 gap-5 lg:col-span-2"> <article id="card-2052484" data-id="2052484" class="relative group card-list-square post-2052484 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-amazon-2 tag-return-to-office"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/tech-policy/2024/09/91-percent-of-amazon-employees-are-dissatisfied-with-remote-work-ending-poll/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2015/10/amazon.1-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/tech-policy/2024/09/91-percent-of-amazon-employees-are-dissatisfied-with-remote-work-ending-poll/">Most Amazon workers considering job hunting due to 5-day in-office policy: Poll</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> “My morale for this job is gone..." </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-09-25T18:15:38-04:00" datetime="2024-09-25T18:15:38-04:00" x-data="{ compact: true, open: false, date: new Date('2024-09-25T18:15:38-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 9/25/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/tech-policy/2024/09/91-percent-of-amazon-employees-are-dissatisfied-with-remote-work-ending-poll/#comments" title="193 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 193 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2052278" data-id="2052278" class="relative group card-list-square post-2052278 post type-post status-publish format-standard has-post-thumbnail hentry category-gadgets tag-ads tag-lg-2 tag-tvs"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/gadgets/2024/09/lg-tvs-continue-down-advertising-rabbit-hole-with-new-screensaver-ads/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/09/LG-G4-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/09/LG-G4-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/LG-G4-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/gadgets/2024/09/lg-tvs-continue-down-advertising-rabbit-hole-with-new-screensaver-ads/">LG TVs start showing ads on screensavers</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> LG's TV business is heightening focus on selling ads and tracking. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-09-25T14:01:22-04:00" datetime="2024-09-25T14:01:22-04:00" x-data="{ compact: true, open: false, date: new Date('2024-09-25T14:01:22-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 9/25/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/gadgets/2024/09/lg-tvs-continue-down-advertising-rabbit-hole-with-new-screensaver-ads/#comments" title="314 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 314 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2052026" data-id="2052026" class="relative group card-list-square post-2052026 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology tag-att tag-broadcom tag-vmware-2"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/information-technology/2024/09/broadcom-accuses-att-of-sensationalism-after-vmware-perpetual-license-suit/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/09/GettyImages-1487796946-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Wooden gavel on table in a courtroom" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/09/GettyImages-1487796946-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/GettyImages-1487796946-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/GettyImages-1487796946-1000x1000.jpg 1000w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/information-technology/2024/09/broadcom-accuses-att-of-sensationalism-after-vmware-perpetual-license-suit/">Broadcom responds to AT&#038;T’s VMware support lawsuit: AT&#038;T has “other options”</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Broadcom defends against renewal, citing "End of Availability" provision. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-09-24T12:34:10-04:00" datetime="2024-09-24T12:34:10-04:00" x-data="{ compact: true, open: false, date: new Date('2024-09-24T12:34:10-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 9/24/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/information-technology/2024/09/broadcom-accuses-att-of-sensationalism-after-vmware-perpetual-license-suit/#comments" title="101 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 101 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2051728" data-id="2051728" class="relative group card-list-square post-2051728 post type-post status-publish format-standard has-post-thumbnail hentry category-gadgets tag-audio tag-software tag-sonos"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/gadgets/2024/09/it-was-the-wrong-decision-employees-discuss-sonos-rushed-app-debacle/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/09/sonos-redesigned-app-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="sonos-redesigned-app" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/09/sonos-redesigned-app-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/sonos-redesigned-app-500x500.jpg 500w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/gadgets/2024/09/it-was-the-wrong-decision-employees-discuss-sonos-rushed-app-debacle/">Sonos workers shed light on why the app update went so horribly</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Meetings with "yelling," "screaming" preceded app's release, Bloomberg reports. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-09-23T14:39:36-04:00" datetime="2024-09-23T14:39:36-04:00" x-data="{ compact: true, open: false, date: new Date('2024-09-23T14:39:36-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 9/23/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/gadgets/2024/09/it-was-the-wrong-decision-employees-discuss-sonos-rushed-app-debacle/#comments" title="200 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 200 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2041081" data-id="2041081" class="relative group card-list-square post-2041081 post type-post status-publish format-standard has-post-thumbnail hentry category-features category-gadgets tag-apple tag-dell tag-evergreen tag-ipads tag-laptops tag-lg-2 tag-monitors tag-oled tag-tvs"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/gadgets/2024/09/what-tandem-oled-can-and-probably-wont-do-for-consumer-gadgets/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/09/tandem-oled-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/09/tandem-oled-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/tandem-oled-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/tandem-oled-1000x1000.jpg 1000w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/gadgets/2024/09/what-tandem-oled-can-and-probably-wont-do-for-consumer-gadgets/">Tandem OLED is OLED’s latest weapon in holding off MicroLED, QDEL</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Brighter and tougher, Tandem RGB stacks may help OLED keep its display reign. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-09-23T07:00:38-04:00" datetime="2024-09-23T07:00:38-04:00" x-data="{ compact: true, open: false, date: new Date('2024-09-23T07:00:38-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 9/23/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/gadgets/2024/09/what-tandem-oled-can-and-probably-wont-do-for-consumer-gadgets/#comments" title="101 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 101 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2051402" data-id="2051402" class="relative group card-list-square post-2051402 post type-post status-publish format-standard has-post-thumbnail hentry category-gadgets tag-anker tag-iphone-2 tag-recall"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/gadgets/2024/09/anker-recalls-three-iphone-magsafe-power-banks-due-to-smoke-fire-risk/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/09/Anker-battery-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/09/Anker-battery-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/Anker-battery-300x299.jpg 300w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/Anker-battery-640x637.jpg 640w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/Anker-battery-768x765.jpg 768w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/Anker-battery-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/Anker-battery-1000x1000.jpg 1000w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/Anker-battery-980x976.jpg 980w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/Anker-battery-1440x1434.jpg 1440w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/Anker-battery.jpg 1506w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/gadgets/2024/09/anker-recalls-three-iphone-magsafe-power-banks-due-to-smoke-fire-risk/">Anker warns people to stop using some of its iPhone power banks, issues recall</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> "Manufacturing defect": Anker is recalling all units “out of an abundance of caution.” </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-09-20T13:52:58-04:00" datetime="2024-09-20T13:52:58-04:00" x-data="{ compact: true, open: false, date: new Date('2024-09-20T13:52:58-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 9/20/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/gadgets/2024/09/anker-recalls-three-iphone-magsafe-power-banks-due-to-smoke-fire-risk/#comments" title="43 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 43 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2051341" data-id="2051341" class="relative group card-list-square post-2051341 post type-post status-publish format-standard has-post-thumbnail hentry category-gadgets tag-software tag-streaming tag-tvs tag-united-kindgom"> <div class="overflow-hidden rounded-sm"> <div class="flex flex-nowrap items-start"> <a class="relative block aspect-square h-auto w-16 overflow-hidden rounded-sm md:w-24" href="https://arstechnica.com/gadgets/2024/09/telecom-accused-of-bricking-hundreds-of-tvs-streaming-sticks-with-bad-update/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/09/Glass-TV-e1726851946509-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Sky Glass TV" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/09/Glass-TV-e1726851946509-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/Glass-TV-e1726851946509-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/Glass-TV-e1726851946509-1000x1000.jpg 1000w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <div class="flex flex-1 flex-col justify-between pl-3 sm:pl-5"> <div> <h2 class="-mt-1 font-serif text-xl font-bold leading-none md:text-2xl md:leading-none"> <a class="text-gray-700 visited:text-gray-300 hover:text-orange-400 dark:text-gray-100 dark:visited:text-gray-400 dark:hover:text-orange-400" href="https://arstechnica.com/gadgets/2024/09/telecom-accused-of-bricking-hundreds-of-tvs-streaming-sticks-with-bad-update/">“A total lump of… ”: Customer frustration as ISP’s smart TVs won’t turn on</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Problems with UK Sky hardware started Thursday, seem partially fixed. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Scharon Harding</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-09-20T13:29:01-04:00" datetime="2024-09-20T13:29:01-04:00" x-data="{ compact: true, open: false, date: new Date('2024-09-20T13:29:01-04:00'), updatedTimestamp: false, format: function() { let dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; let timeFormat = { hour: 'numeric', minute: 'numeric' }; let formatted = this.date.toLocaleDateString(undefined, dateFormat) + ' ' + this.date.toLocaleTimeString(undefined, timeFormat); if (this.compact) { if (this.date.toDateString() === new Date().toDateString()) { formatted = this.date.toLocaleTimeString(undefined, timeFormat); if (this.updatedTimestamp) { formatted = 'at ' + formatted; } } else { formatted = this.date.toLocaleDateString(undefined, { year: 'numeric', month: 'numeric', day: 'numeric' }); } } if (this.updatedTimestamp) { formatted = 'Updated ' + formatted; } return formatted; } }" x-text="format()"> 9/20/2024 </time> <span class="text-gray-550">|</span> <a class="view-comments text-gray-300 hover:text-gray-500" href="https://arstechnica.com/gadgets/2024/09/telecom-accused-of-bricking-hundreds-of-tvs-streaming-sticks-with-bad-update/#comments" title="65 comments"> <svg class="-mt-1 ml-1 mr-[2px] inline-block h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80"><defs><clipPath id="bubble-zero_svg__a"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath><clipPath id="bubble-zero_svg__b"><path fill="none" stroke-width="0" d="M0 0h80v80H0z"/></clipPath></defs><g clip-path="url(#bubble-zero_svg__a)"><g fill="currentColor" clip-path="url(#bubble-zero_svg__b)"><path d="M80 40c0 22.09-17.91 40-40 40S0 62.09 0 40 17.91 0 40 0s40 17.91 40 40"/><path d="M40 40 .59 76.58C-.67 77.84.22 80 2.01 80H40z"/></g></g></svg> 65 </a> </span></div> </div> </div> </div> </div> </article> </div> <div class="hidden justify-self-end bg-gray-100 dark:bg-gray-50 lg:block"> <div class="ad-wrapper is-sticky is-rail"> <div class="ad-wrapper-inner"> <div class="ad ad--rail"></div> </div> </div> </div> </div> <div class="mx-auto my-5 max-w-md px-[15px] sm:max-w-3xl sm:px-5 lg:max-w-6xl xl:px-0"> <div class="mx-auto h-[1px] max-w-6xl bg-gray-300 dark:bg-gray-700"></div> <div class="post-navigation py-5"> <div class="flex w-full justify-center"> <div class="nav-more post-navigation-link-wrapper"> <a class="post-navigation-link" href="https://arstechnica.com/author/scharonharding/page/2/" title="Load older stories"><span class="post-navigation-link-text">Load more</span><svg class="text-orange-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="arrow-blocks-right_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g fill="currentColor" clip-path="url(#arrow-blocks-right_svg__a)"><path d="M32 16h8v8h-8zm-8 8h8v8h-8zm-8 8h8v8h-8zm8-24h8v8h-8zm-8-8h8v8h-8zM0 16h16v8H0z"/></g></svg> </a> </div> </div> </div> </div> </main> <div class="ad-wrapper is-fullwidth"> <div class="ad-wrapper-inner"> <div class="ad ad--footer"></div> </div> </div> <footer class="site-footer bg-black"> <div class="mx-auto max-w-6xl px-4 text-gray-300"> <div class="justify-between gap-10 py-8 md:flex"> <div class="site-footer-statement text-center md:w-3/5 md:text-left"> <svg class="mb-6 inline h-10 md:mb-4 md:h-12 lg:h-14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 436 144.1"><defs><clipPath id="ars-full-mono_svg__a"><path fill="none" d="M0 0h436v144.1H0z"/></clipPath><clipPath id="ars-full-mono_svg__b"><path fill="none" d="M0 0h436v144.1H0z"/></clipPath></defs><g clip-path="url(#ars-full-mono_svg__a)"><g fill="currentColor" clip-path="url(#ars-full-mono_svg__b)"><path d="M218.8 83.7c-4.4 3.7-8.4 5-12.8 5-7.7 0-12.7-5.3-13.5-14h24.8l.9-5.5h-25.7c.8-8.7 5.7-14.1 12.9-14.1s8.8 1.7 12.9 5.1l1-5.9c-4-2.9-8.8-4.4-13.7-4.3-10.7 0-19.2 7.8-19.2 21.9s8.3 21.9 18.9 21.9c5.2.1 10.2-1.6 14.3-4.8zm-48.7-27.5v36.9h-5.8V56.2h-13.4v-5.3H183l.9 5.3H170Zm74.5 37.6c-11.9 0-19.5-8.8-19.5-21.8s7.8-22 19.6-22c4.3-.1 8.5 1.1 12 3.5l-.9 5.9c-3.2-2.6-7.1-4-11.2-4.1-8.6 0-13.6 6.5-13.6 16.6s5.1 16.6 13.6 16.6c4.3 0 8.5-1.6 11.9-4.2l.9 5.4c-3.7 2.6-8.2 4.1-12.8 4.1M292 93V73.5h-21.4V93h-5.8V50.9h5.8v17.5H292V50.9h5.8V93zm42.9 0-23.2-32.8V93h-5.3V50.9h5.1l22.4 31.5V50.9h5.3V93zm13.4-42.1h5.8V93h-5.8zm32.6 42.9c-11.9 0-19.5-8.8-19.5-21.8s7.8-22 19.6-22c4.3-.1 8.5 1.1 12 3.5l-.9 5.9c-3.2-2.6-7.1-4-11.2-4.1-8.6 0-13.6 6.5-13.6 16.6s5.1 16.6 13.6 16.6c4.3 0 8.5-1.6 11.9-4.2l.9 5.4c-3.7 2.6-8.2 4.1-12.8 4.1m32.9-43.1h5.8l16.3 41.5-5.6 1.2-5-13.1h-17.4L403.1 93h-5.8zm-4 24.6h13.5l-6.8-17.9zM72 0C32.3 0 0 32.3 0 72.1s32.3 72.1 72 72.1 72.1-32.3 72.1-72.1S111.8 0 72 0M53 94h-6.6l-.9-5.9c-4 4.4-9.6 6.8-15.6 6.8-8 0-13-4.8-13-12.3 0-11 9.4-15.4 27.8-17.3v-1.9c0-5.6-3.3-7.5-8.4-7.5S25.8 57.6 21 59.7l-1.1-7.1c5.3-2.1 10.3-3.7 17.1-3.7 10.7 0 15.9 4.3 15.9 14.2v30.8Zm19.2-26v26H64V50h6.6l1.4 9c3.1-5 8.2-9.5 15.5-9.9l1.3 7.9c-7.4.3-13.6 5.2-16.6 11m37.2 26.9c-5.6-.1-11.1-1.6-16.1-4.2l1.2-7.8c4.6 3.2 10 5 15.6 5.1 5.6 0 9-2.1 9-5.8s-2.5-5.6-10.5-7.5C98.2 72.1 94.1 69 94.1 61.1s5.9-12.2 15.6-12.2c5 0 9.9 1 14.5 3l-1.3 7.8c-4.1-2.4-8.7-3.7-13.4-3.8-5 0-7.6 1.9-7.6 5.1s2.2 4.6 9.2 6.4c10.9 2.8 15.8 5.9 15.8 14.3s-6.1 13.2-17.5 13.2"/><path d="M25.2 82.2c0 4.6 2.4 5.9 6.6 5.9s9.4-2.4 13.1-6.2V71.6c-16.3 1.6-19.7 6-19.7 10.6"/></g></g></svg> <p>Ars Technica has been separating the signal from the noise for over 25 years. With our unique combination of technical savvy and wide-ranging interest in the technological arts and sciences, Ars is the trusted source in a sea of information. After all, you don’t need to know everything, only what’s important.</p> <p class="mt-4"> <a href="https://twitter.com/arstechnica" aria-label="Follow Ars Technica on Twitter/X"> <svg class="inline h-12 w-12" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="twitter_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="twitter_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#twitter_svg__a)"><g fill="none" clip-path="url(#twitter_svg__b)"><path fill="currentColor" d="M16.3 28.1c7.5 0 11.7-6.3 11.7-11.7v-.5c.8-.6 1.5-1.3 2-2.1q-1.05.45-2.4.6c.9-.5 1.5-1.3 1.8-2.3-.8.5-1.7.8-2.6 1-.6-.7-1.4-1.1-2.3-1.2s-1.8 0-2.6.4-1.4 1.1-1.8 1.9-.5 1.7-.3 2.6c-1.6 0-3.2-.5-4.7-1.2s-2.7-1.8-3.8-3c-.5.9-.7 2-.5 3s.9 1.9 1.7 2.5c-.7 0-1.3-.2-1.9-.5q0 1.5.9 2.7c.6.7 1.4 1.2 2.4 1.4-.6.2-1.2.2-1.9 0 .3.8.8 1.5 1.5 2s1.5.8 2.4.8c-1.5 1.1-3.2 1.8-5.1 1.8h-1c1.9 1.2 4.1 1.8 6.3 1.8"/></g></g></svg> </a> <a href="https://mastodon.social/@arstechnica" aria-label="Follow Ars Technica on Mastodon"> <svg class="inline h-12 w-12" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="mastodon_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="mastodon_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#mastodon_svg__a)"><g fill="none" clip-path="url(#mastodon_svg__b)"><path fill="currentColor" d="M29.3 16.6c0-4.3-2.8-5.6-2.8-5.6-1.4-.7-3.9-.9-6.5-1-2.6 0-5 .3-6.4 1 0 0-2.8 1.3-2.8 5.6V20c.1 4.2.8 8.4 4.7 9.5 1.8.5 3.4.6 4.6.5 2.3-.1 3.5-.8 3.5-.8v-1.6s-1.7.5-3.5.4c-1.8 0-3.7-.2-4-2.4V25s1.8.4 4 .5c1.4 0 2.7 0 4-.2 2.5-.3 4.7-1.8 5-3.3.4-2.2.4-5.4.4-5.4Zm-3.4 5.6h-2.1v-5.1c0-1.1-.5-1.6-1.4-1.6s-1.5.6-1.5 1.9v2.8h-2.1v-2.8c0-1.3-.5-1.9-1.5-1.9s-1.4.5-1.4 1.6v5.1h-2.1v-5.3c0-1.1.3-1.9.8-2.6.6-.6 1.3-1 2.2-1s1.9.4 2.4 1.2l.5.9.5-.9q.75-1.2 2.4-1.2c1.65 0 1.7.3 2.2 1 .6.6.8 1.5.8 2.6v5.3Z"/></g></g></svg> </a> <a href="https://www.facebook.com/arstechnica" aria-label="Follow Ars Technica on Facebook"> <svg class="inline h-12 w-12" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="facebook_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="facebook_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#facebook_svg__a)"><g fill="none" clip-path="url(#facebook_svg__b)"><path fill="currentColor" d="M17.3 13.9v2.8h-2v3.4h2v10h4.2v-10h2.8s.3-1.6.4-3.4h-3.2v-2.3c0-.3.5-.8.9-.8h2.3v-3.5h-3.1c-4.4 0-4.3 3.4-4.3 3.9"/></g></g></svg> </a> <a href="https://www.youtube.com/@arstechnica" aria-label="Follow Ars Technica on YouTube"> <svg class="inline h-12 w-12" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="youtube_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="youtube_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#youtube_svg__a)"><g fill="none" clip-path="url(#youtube_svg__b)"><path fill="currentColor" d="M29.6 15.2c-.1-.4-.3-.8-.6-1.1s-.7-.5-1.1-.7c-1.6-.4-7.8-.4-7.8-.4s-6.3 0-7.8.4c-.4.1-.8.3-1.1.7-.3.3-.5.7-.6 1.1-.4 1.6-.4 4.8-.4 4.8s0 3.3.4 4.8c.1.4.3.8.6 1.1s.7.5 1.1.7c1.6.4 7.8.4 7.8.4s6.3 0 7.8-.4c.4-.1.8-.3 1.1-.7s.5-.7.6-1.1c.4-1.6.4-4.8.4-4.8s0-3.3-.4-4.8M18 23v-5.9l5.2 3-5.2 3Z"/></g></g></svg> </a> <a href="https://www.instagram.com/arstechnica/" aria-label="Follow Ars Technica on Instagram"> <svg class="inline h-12 w-12" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="instagram_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="instagram_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#instagram_svg__a)"><g fill="none" clip-path="url(#instagram_svg__b)"><path fill="currentColor" d="M20 10h4.1c1.1 0 1.8.2 2.4.5.7.3 1.2.6 1.8 1.2s.9 1.1 1.2 1.8c.2.6.4 1.4.5 2.4v8.2c0 1.1-.2 1.8-.5 2.4-.3.7-.6 1.3-1.2 1.8-.6.6-1.1.9-1.8 1.2-.6.2-1.4.4-2.4.5h-8.2c-1.1 0-1.8-.2-2.4-.5-.7-.3-1.3-.6-1.8-1.2q-.75-.75-1.2-1.8c-.2-.6-.4-1.4-.5-2.4v-8.2c0-1.1.2-1.8.5-2.4.3-.7.6-1.2 1.2-1.8s1.1-.9 1.8-1.2c.6-.2 1.4-.4 2.4-.5zm0 2.5h-3.7c-.9 0-1.4.2-1.7.3-.4.1-.8.4-1.1.7s-.5.6-.7 1.1c-.1.3-.3.8-.3 1.7v7.4c0 .9.2 1.4.3 1.7.2.4.4.7.7 1.1.3.3.6.5 1.1.7.3.1.8.3 1.7.3h7.4c.9 0 1.4-.2 1.7-.3.4-.2.7-.4 1.1-.7.3-.3.5-.6.7-1.1.1-.3.3-.8.3-1.7v-7.4c0-.9-.2-1.4-.3-1.7-.1-.4-.4-.8-.7-1.1s-.7-.5-1.1-.7c-.3-.1-.8-.3-1.7-.3zm0 2.2c.7 0 1.4.1 2 .4s1.2.7 1.7 1.1c.5.5.9 1.1 1.1 1.7.3.6.4 1.3.4 2s-.1 1.4-.4 2-.7 1.2-1.1 1.7c-.5.5-1.1.9-1.7 1.1-.6.3-1.3.4-2 .4-1.4 0-2.7-.6-3.7-1.5-1-1-1.5-2.3-1.5-3.7s.6-2.7 1.5-3.7 2.3-1.5 3.7-1.5m0 8.3q1.2 0 2.1-.9T23 20c0-1.2-.3-1.5-.9-2.1q-.9-.9-2.1-.9c-1.2 0-1.5.3-2.1.9q-.9.9-.9 2.1c0 1.2.3 1.5.9 2.1q.9.9 2.1.9m6.6-8.1c0 .4-.2.7-.4 1s-.6.4-1 .4-.7-.2-1-.4c-.3-.3-.4-.6-.4-1s.2-.7.4-1c.3-.3.6-.4 1-.4s.7.2 1 .4c.3.3.4.6.4 1"/></g></g></svg> </a> </p> </div> <div class="text-center md:w-1/5 md:text-left"> <span class="font-impact mb-4 mt-6 block font-semibold uppercase">More from Ars </span> <ul id="menu-more_navigation" class="menu"><li id="menu-item-1971876" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1971876"><a href="https://arstechnica.com/about-us/">About Us</a></li> <li id="menu-item-1971877" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1971877"><a href="https://arstechnica.com/staff-directory/">Staff Directory</a></li> <li id="menu-item-1971878" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1971878"><a href="https://arstechnica.com/newsletters/">Newsletters</a></li> <li id="menu-item-1980432" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1980432"><a href="https://arstechnica.com/video/">Ars Videos</a></li> <li id="menu-item-1971879" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1971879"><a href="https://arstechnica.com/general-faq/">General FAQ</a></li> <li id="menu-item-1971880" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1971880"><a href="https://arstechnica.com/rss-feeds/">RSS Feeds</a></li> </ul> </div> <div class="text-center md:w-1/5 md:text-left"> <span class="font-impact mb-4 mt-6 block font-semibold uppercase">Contact</span> <ul id="menu-contact_navigation" class="menu"><li id="menu-item-1971881" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1971881"><a href="https://arstechnica.com/contact-us/">Contact us</a></li> <li id="menu-item-1971884" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1971884"><a target="_blank" href="https://www.condenast.com/brands/ars-technica">Advertise with us</a></li> <li id="menu-item-1971882" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1971882"><a href="https://arstechnica.com/reprints/">Reprints</a></li> </ul> </div> </div> <div class="pb-10 pt-5" id="copyright-terms"> <div class="mb-4 flex flex-row flex-nowrap items-center gap-2"> <svg class="h-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 14"><path d="M7.4 12.8h6.8l3.1-11.6H7.4C4.2 1.2 1.6 3.8 1.6 7s2.6 5.8 5.8 5.8" style="fill-rule:evenodd;clip-rule:evenodd;fill:#fff"/><path d="M22.6 0H7.4c-3.9 0-7 3.1-7 7s3.1 7 7 7h15.2c3.9 0 7-3.1 7-7s-3.2-7-7-7m-21 7c0-3.2 2.6-5.8 5.8-5.8h9.9l-3.1 11.6H7.4c-3.2 0-5.8-2.6-5.8-5.8" style="fill-rule:evenodd;clip-rule:evenodd;fill:#06f"/><path d="M24.6 4c.2.2.2.6 0 .8L22.5 7l2.2 2.2c.2.2.2.6 0 .8s-.6.2-.8 0l-2.2-2.2-2.2 2.2c-.2.2-.6.2-.8 0s-.2-.6 0-.8L20.8 7l-2.2-2.2c-.2-.2-.2-.6 0-.8s.6-.2.8 0l2.2 2.2L23.8 4c.2-.2.6-.2.8 0" style="fill:#fff"/><path d="M12.7 4.1c.2.2.3.6.1.8L8.6 9.8c-.1.1-.2.2-.3.2-.2.1-.5.1-.7-.1L5.4 7.7c-.2-.2-.2-.6 0-.8s.6-.2.8 0L8 8.6l3.8-4.5c.2-.2.6-.2.9 0" style="fill:#06f"/></svg> <a class="ot-sdk-show-settings" id="ot-sdk-btn">Do Not Sell My Personal Information</a> </div> © 2024 Condé Nast. All rights reserved. Use of and/or registration on any portion of this site constitutes acceptance of our <a href="https://www.condenast.com/user-agreement/">User Agreement</a> and <a href="https://www.condenast.com/privacy-policy/">Privacy Policy and Cookie Statement</a> and <a href="/amendment-to-conde-nast-user-agreement-privacy-policy/">Ars Technica Addendum</a> and <a href="https://www.condenast.com/privacy-policy/#california">Your California Privacy Rights</a>. Ars Technica may earn compensation on sales from links on this site. <a href="/affiliate-link-policy/">Read our affiliate link policy</a>. The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of Condé Nast. <a href="https://www.aboutads.info/">Ad Choices</a> </div> </div> </footer> </div> <script> (function() { const div = document.querySelector('.ars-interlude-container'); if (!div) { return; } // Exclude on sponsored posts if (document.querySelector('.single-ars_sponsored_post')) { return; } // If on an article page and the interlude container exists if (document.querySelector('body.single')) { const parent = div.parentElement; // Get all the top level elements in the parent that aren't the interlude container const elems = Array.from(parent.children).filter((elem) => elem !== div); // Loop over the elements in reverse order for (let i = elems.length - 1; i >= 0; i--) { const elem = elems[i]; // If the next element isn't one of: h1, h2, h3, h4, h5, h6, or div, insert the interlude container before it const nextElem = elems[i - 1]; if (nextElem && !['H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'DIV'].includes(nextElem.tagName)) { // Add .my-5 to the interlude container div.classList.add('my-5'); parent.insertBefore(div, elem); break; } } } const src = 'https://player.cnevids.com/interlude/arstechnica.js'; const s = document.createElement('script'); s.setAttribute('async', true); s.setAttribute('src', src); document.body.appendChild(s); })(); </script> <!-- Parse.ly start --> <script type="text/plain" class="optanon-category-C0002" id="parsely-cfg" src="//fpa-cdn.arstechnica.com/keys/arstechnica.com/p.js"></script> <!-- Parse.ly end --> <script id="snowplow-js-before"> window.snowplowQueue = window.snowplowQueue || []; window.snowplowContexts = {"site":{"orgId":"4gKgcFGUFUvCGFzHakTPfYp85Yi8","orgAppId":null,"appVersion":null,"env":"production"},"content":{"functionalTags":null,"hasBuyButtons":null,"noOfRevisions":null,"editorNames":null,"author_name":null,"contentId":null,"contentLength":null,"contentTitle":"Scharon Harding \u2013 Ars Technica","contentSource":"web","authorIds":null,"publishDate":null,"modifiedDate":null,"tags":null,"contentLang":"en-US","galleryName":null,"totalGalleryImages":null,"wordCount":null,"contentType":null,"templateType":null,"primaryTag":null,"contentFlag":null,"isCommerceContent":null,"pageTypeProperties":null,"section":"author","subsection":null,"subsection2":null,"dataSource":"web"},"syndication":{"content":null,"originalSource":null,"originalContentLanguage":null},"page":{"canonical":"https:\/\/arstechnica.com\/author\/scharonharding\/","syndicatorUrl":null},"user":{"amguuid":null}}; window.snowplowConfig = {"SNOWPLOW_COLLECTOR":"c.arstechnica.com","SNOWPLOW_SCRIPT":"https:\/\/globalservices.conde.digital\/p77xzrbz9z.js","AVO_API_KEY":"FTJO6mVPBIzdGhjn2Ruy","APP_ID":"ars-technica","APP_NAME":"ars-technica","APP_ENV":"production","APP_VERSION":"1.0.0","COOKIE_DOMAIN":".arstechnica.com"}; </script> <script src="https://cdn.arstechnica.net/wp-content/mu-plugins/ars-snowplow/ars-snowplow-js/dist/main-1-0-4.js?ver=1.0.4" id="snowplow-js"></script> <script src="https://cdn.arstechnica.net/wp-content/plugins/article-forum-connect/public/js/iframe-resizer.parent.js?ver=5.3.1" id="article_forum_connect_iframe_resizer-js"></script> <script src="https://cdn.arstechnica.net/wp-content/plugins/article-forum-connect/public/js/iframe.js?ver=1.2.4" id="article_forum_connect_iframe-js"></script> <script id="app/0-js-before"> (()=>{"use strict";var r,e={},o={};function t(r){var n=o[r];if(void 0!==n)return n.exports;var a=o[r]={exports:{}};return e[r](a,a.exports,t),a.exports}t.m=e,r=[],t.O=(e,o,n,a)=>{if(!o){var s=1/0;for(u=0;u<r.length;u++){o=r[u][0],n=r[u][1],a=r[u][2];for(var i=!0,f=0;f<o.length;f++)(!1&a||s>=a)&&Object.keys(t.O).every((r=>t.O[r](o[f])))?o.splice(f--,1):(i=!1,a<s&&(s=a));if(i){r.splice(u--,1);var l=n();void 0!==l&&(e=l)}}return e}a=a||0;for(var u=r.length;u>0&&r[u-1][2]>a;u--)r[u]=r[u-1];r[u]=[o,n,a]},t.d=(r,e)=>{for(var o in e)t.o(e,o)&&!t.o(r,o)&&Object.defineProperty(r,o,{enumerable:!0,get:e[o]})},t.o=(r,e)=>Object.prototype.hasOwnProperty.call(r,e),(()=>{var r={121:0};t.O.j=e=>0===r[e];var e=(e,o)=>{var n,a,s=o[0],i=o[1],f=o[2],l=0;if(s.some((e=>0!==r[e]))){for(n in i)t.o(i,n)&&(t.m[n]=i[n]);if(f)var u=f(t)}for(e&&e(o);l<s.length;l++)a=s[l],t.o(r,a)&&r[a]&&r[a][0](),r[a]=0;return t.O(u)},o=self.webpackChunk_roots_bud_sage=self.webpackChunk_roots_bud_sage||[];o.forEach(e.bind(null,0)),o.push=e.bind(null,o.push.bind(o))})()})(); </script> <script src="https://cdn.arstechnica.net/wp-content/themes/ars-v9/public/js/app.2f0f0b.js" id="app/0-js"></script> <script src="https://cdn.arstechnica.net/wp-content/themes/ars-v9/public/js/ads.b1f8e1.js" id="ads/0-js"></script> <script src="https://cdn.arstechnica.net/wp-content/themes/ars-v9/public/js/stats.ce8765.js" id="stats/0-js"></script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10