CINXE.COM
Author: Jon Brodkin - 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: Jon Brodkin - 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/jon-brodkin/" /> <meta name="description" content="Jon is a Senior IT Reporter for Ars Technica. He covers the telecom industry, Federal Communications Commission rulemakings, broadband consumer affairs…" /> <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: Jon Brodkin" /> <meta property="og:description" content="Jon is a Senior IT Reporter for Ars Technica. He covers the telecom industry, Federal Communications Commission rulemakings, broadband consumer affairs, court cases, and government regulation of the…" /> <meta property="og:url" content="https://arstechnica.com/author/jon-brodkin/" /> <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: Jon Brodkin" /> <meta name="twitter:description" content="Jon is a Senior IT Reporter for Ars Technica. He covers the telecom industry, Federal Communications Commission rulemakings, broadband consumer affairs, court cases, and government regulation of the…" /> <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/jon-brodkin/","url":"https://arstechnica.com/author/jon-brodkin/","name":"Author: Jon Brodkin - Ars Technica","description":"Jon is a Senior IT Reporter for Ars Technica. He covers the telecom industry, Federal Communications Commission rulemakings, broadband consumer affairs…","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: Jon Brodkin"}]}}]}</script> <!-- / The SEO Framework by Sybre Waaijer | 5.19ms 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 » Posts by Jon Brodkin Feed" href="https://arstechnica.com/author/jon-brodkin/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":"Jon Brodkin","contentID":undefined,"contentLength":undefined,"display":"Jon Brodkin","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\/jon-brodkin\/","canonical":"https:\/\/arstechnica.com\/author\/jon-brodkin\/","canonicalPathName":"\/author\/jon-brodkin\/"},"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 08:01:36.376351","timezone_type":3,"timezone":"UTC"},"cohorts":["bjfa"],"gam":["bjfa"],"xandr":[]}; window.permutiveContextInfo = {"pageProperties":{"client":{"url":"https:\/\/arstechnica.com\/author\/jon-brodkin\/","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: Jon Brodkin - Ars Technica"},"type":"contributor"},"url":"https:\/\/arstechnica.com\/author\/jon-brodkin\/"}; </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":"jon-brodkin","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.294 seconds 261143 bytes batcached for 300 seconds view: grid xf_style_id: 3 --> </head> <body class="archive author author-jon-brodkin author-11 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 & 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 & 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="/civis/login/login"]'); // Remove autofocus and set focus to username field username = form.querySelector('input[name="login"]'); 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/2016/05/j.brodkin-11_2.jpg" alt="Jon Brodkin"> </div> <div class=""> <h1 class="font-impact text-2xl font-semibold uppercase md:text-3xl"> Jon Brodkin </h1> <div class="font-impact -mt-1 text-base font-semibold uppercase text-gray-400 md:text-lg"> Senior IT Reporter </div> <a class="font-impact -mt-1 block text-lg font-semibold" href="mailto:jon.brodkin@arstechnica.com"> jon.brodkin@arstechnica.com </a> <div class="mb-9 mt-4 max-w-2xl text-lg leading-tight text-gray-400"> Jon is a Senior IT Reporter for Ars Technica. He covers the telecom industry, Federal Communications Commission rulemakings, broadband consumer affairs, court cases, and government regulation of the tech industry. Jon graduated from Boston University with a degree in journalism and has been a full-time journalist since 2000. He joined Ars in 2011 and previously worked for the Sentinel & Enterprise, MetroWest Daily News, and IDG's Network World. Jon lives in Massachusetts and likes to play beach volleyball. To send Jon encrypted email, his <a href="http://arstechnica.com/ars-staff-pgp-keys/#jon-brodkin">public key is here</a>; he can also be reached securely on <a href="https://keybase.io/jbrodkin">Keybase</a>. </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>Jon Brodkin</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-2063905" data-id="2063905" class="relative group card-list-square post-2063905 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-starlink"> <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/fcc-approves-starlink-plan-for-cellular-phone-service-with-some-limits/"><img width="300" height="300" src="https://cdn.arstechnica.net/wp-content/uploads/2024/01/starlink-direct-to-cell-scaled-300x300-1732726290.jpeg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="A batch of Starlink satellites prior to launch" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/01/starlink-direct-to-cell-scaled-300x300-1732726290.jpeg 300w, https://cdn.arstechnica.net/wp-content/uploads/2024/01/starlink-direct-to-cell-scaled-500x500-1732726291.jpeg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/01/starlink-direct-to-cell-scaled-1000x1000-1732726292.jpeg 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/tech-policy/2024/11/fcc-approves-starlink-plan-for-cellular-phone-service-with-some-limits/">FCC approves Starlink plan for cellular phone service, with some limits</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Starlink can provide cell service but FCC defers action on waiver of power limits. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-27T12:40:34-05:00" datetime="2024-11-27T12:40:34-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-27T12:40:34-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/tech-policy/2024/11/fcc-approves-starlink-plan-for-cellular-phone-service-with-some-limits/#comments" title="87 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> 87 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2063810" data-id="2063810" class="relative group card-list-square post-2063810 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-broadband tag-federal-communications-commission"> <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/isps-say-their-excellent-customer-service-is-why-users-dont-switch-providers/"><img width="300" height="300" src="https://cdn.arstechnica.net/wp-content/uploads/2024/11/call-center-robot-scaled-300x300-1732648816.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Illustration of a robot wearing a headset" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/11/call-center-robot-scaled-300x300-1732648816.jpg 300w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/call-center-robot-scaled-500x500-1732648817.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/call-center-robot-scaled-1000x1000-1732648817.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/tech-policy/2024/11/isps-say-their-excellent-customer-service-is-why-users-dont-switch-providers/">ISPs say their “excellent customer service” is why users don’t switch providers</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> ISPs tell FCC that mistreated users would switch to one of their many other options. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-26T15:05:09-05:00" datetime="2024-11-26T15:05:09-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-26T15:05: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/26/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/isps-say-their-excellent-customer-service-is-why-users-dont-switch-providers/#comments" title="222 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> 222 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2063679" data-id="2063679" class="relative group card-list-square post-2063679 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-copyright-infringement tag-record-labels tag-sony-v-cox"> <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/supreme-court-may-decide-whether-isps-must-terminate-users-accused-of-piracy/"><img width="300" height="300" src="https://cdn.arstechnica.net/wp-content/uploads/2024/02/music-pirate-300x300-1732568013.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="A man, surrounded by music CDs, uses a laptop while wearing a skull-and-crossbones pirate hat and holding one of the CDs in his mouth." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/02/music-pirate-300x300-1732568013.jpg 300w, https://cdn.arstechnica.net/wp-content/uploads/2024/02/music-pirate-500x500-1732568013.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/02/music-pirate-1000x1000-1732568014.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/tech-policy/2024/11/supreme-court-may-decide-whether-isps-must-terminate-users-accused-of-piracy/">Supreme Court wants US input on whether ISPs should be liable for users’ piracy</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> SCOTUS asks US government for its view on $1 billion <em>Sony v. Cox</em> case. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-25T16:15:53-05:00" datetime="2024-11-25T16:15:53-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-25T16:15:53-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/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/11/supreme-court-may-decide-whether-isps-must-terminate-users-accused-of-piracy/#comments" title="157 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> 157 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2063632" data-id="2063632" class="relative group card-list-square post-2063632 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-universal-service-fund"> <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/supreme-court-to-decide-whether-fcc-universal-service-fund-is-an-illegal-tax/"><img width="300" height="300" src="https://cdn.arstechnica.net/wp-content/uploads/2023/09/getty-supreme-court-300x300-1732556401.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="The United States Supreme Court building seen during daytime." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2023/09/getty-supreme-court-300x300-1732556401.jpg 300w, https://cdn.arstechnica.net/wp-content/uploads/2023/09/getty-supreme-court-500x500-1732556402.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2023/09/getty-supreme-court-1000x1000-1732556402.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/tech-policy/2024/11/supreme-court-to-decide-whether-fcc-universal-service-fund-is-an-illegal-tax/">Supreme Court to review 5th Circuit ruling that upends Universal Service Fund</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> 5th Circuit ruling threatens $8 billion program that expands broadband access. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-25T12:59:29-05:00" datetime="2024-11-25T12:59:29-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-25T12:59:29-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/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/11/supreme-court-to-decide-whether-fcc-universal-service-fund-is-an-illegal-tax/#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-2063468" data-id="2063468" class="relative group card-list-square post-2063468 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-access tag-and-deployment-program tag-broadband-equity tag-ted-cruz"> <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/ted-cruz-wants-to-overhaul-42b-broadband-program-nix-low-cost-requirement/"><img width="300" height="300" src="https://cdn.arstechnica.net/wp-content/uploads/2024/11/ted-cruz-300x300-1732309699.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Ted Cruz stands in front of a microphone surrounded by supporters and Ted Cruz signs" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/11/ted-cruz-300x300-1732309699.jpg 300w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/ted-cruz-500x500-1732309699.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/ted-cruz-1000x1000-1732309700.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/tech-policy/2024/11/ted-cruz-wants-to-overhaul-42b-broadband-program-nix-low-cost-requirement/">Ted Cruz wants to overhaul $42B broadband program, nix low-cost requirement</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Cruz claims grant program is "boondoggle," urges Biden admin to halt activities. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-22T16:31:12-05:00" datetime="2024-11-22T16:31:12-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-22T16:31:12-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/tech-policy/2024/11/ted-cruz-wants-to-overhaul-42b-broadband-program-nix-low-cost-requirement/#comments" title="190 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> 190 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2063343" data-id="2063343" class="relative group card-list-square post-2063343 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-direct tag-dish"> <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/directv-plan-to-buy-dish-for-1-is-off-as-satellite-rivals-remain-separate/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/dish-satellite-150x150-1727889407.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="A satellite TV dish with the Dish logo on a roof." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/dish-satellite-150x150-1727889407.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/dish-satellite-500x500-1727889408.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/dish-satellite-1000x1000-1727889409.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/directv-plan-to-buy-dish-for-1-is-off-as-satellite-rivals-remain-separate/">DirecTV announces termination of deal to buy Dish satellite business</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> DirecTV says it's ending deal after Dish debt holders refused to accept loss. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-22T11:44:26-05:00" datetime="2024-11-22T11:44:26-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-22T11:44: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/tech-policy/2024/11/directv-plan-to-buy-dish-for-1-is-off-as-satellite-rivals-remain-separate/#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-2063247" data-id="2063247" class="relative group card-list-square post-2063247 post type-post status-publish format-standard has-post-thumbnail hentry category-ai category-tech-policy tag-artificial-inteligence"> <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/school-did-nothing-wrong-when-it-punished-student-for-using-ai-court-rules/"><img width="300" height="300" src="https://cdn.arstechnica.net/wp-content/uploads/2024/11/robot-at-laptop-300x300-1732222504.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="A humanoid robot sitting at a table and typing on a laptop" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/11/robot-at-laptop-300x300-1732222504.jpg 300w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/robot-at-laptop-500x500-1732222505.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/robot-at-laptop-1000x1000-1732222505.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/tech-policy/2024/11/school-did-nothing-wrong-when-it-punished-student-for-using-ai-court-rules/">School did nothing wrong when it punished student for using AI, court rules</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Student "indiscriminately copied and pasted text," including AI hallucinations. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-21T16:06:05-05:00" datetime="2024-11-21T16:06:05-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-21T16:06:05-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/tech-policy/2024/11/school-did-nothing-wrong-when-it-punished-student-for-using-ai-court-rules/#comments" title="222 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> 222 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2063097" data-id="2063097" class="relative group card-list-square post-2063097 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-jessica-rosenworcel"> <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/fcc-chairwoman-announces-departure-paving-way-for-republican-majority/"><img width="300" height="300" src="https://cdn.arstechnica.net/wp-content/uploads/2024/11/jessica-rosenworcel-300x300-1732204343.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="FCC Chairwoman Jessica Rosenworcel sits in front of a microphone while testifying during a Congressional hearing." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/11/jessica-rosenworcel-300x300-1732204343.jpg 300w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/jessica-rosenworcel-500x500-1732204343.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/jessica-rosenworcel-1000x1000-1732204344.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/tech-policy/2024/11/fcc-chairwoman-announces-departure-paving-way-for-republican-majority/">FCC chairwoman announces departure, paving way for Republican majority</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Rosenworcel had to lead agency without Democratic majority for most of her term. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-21T11:11:36-05:00" datetime="2024-11-21T11:11:36-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-21T11:11:36-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/tech-policy/2024/11/fcc-chairwoman-announces-departure-paving-way-for-republican-majority/#comments" title="152 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> 152 </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/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">4.</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">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/fcc-approves-starlink-plan-for-cellular-phone-service-with-some-limits/">FCC approves Starlink plan for cellular phone service, with some limits</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-2062912" data-id="2062912" class="relative group card-list-square post-2062912 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-comcast tag-comcast-spinoff"> <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/comcast-to-ditch-cable-networks-in-partial-spinoff-of-nbcuniversal-assets/"><img width="300" height="300" src="https://cdn.arstechnica.net/wp-content/uploads/2023/03/getty-comcast-stock-300x300-1732122413.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 Comcast logo is displayed on a smartphone with a stock exchange index graph in the background." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2023/03/getty-comcast-stock-300x300-1732122413.jpg 300w, https://cdn.arstechnica.net/wp-content/uploads/2023/03/getty-comcast-stock-500x500-1732122414.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2023/03/getty-comcast-stock-1000x1000-1732122414.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/tech-policy/2024/11/comcast-to-ditch-cable-networks-in-partial-spinoff-of-nbcuniversal-assets/">Comcast to ditch cable TV networks in partial spinoff of NBCUniversal assets</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Comcast to spin off USA, CNBC, MSNBC, and others, will keep Peacock streaming. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-20T12:21:37-05:00" datetime="2024-11-20T12:21:37-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-20T12:21:37-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/20/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/comcast-to-ditch-cable-networks-in-partial-spinoff-of-nbcuniversal-assets/#comments" title="92 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> 92 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2062833" data-id="2062833" class="relative group card-list-square post-2062833 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology category-tech-policy tag-starlink"> <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/starlink-brings-back-waitlist-in-parts-of-us-says-service-is-sold-out/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/06/starlink-new-dish-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="A rectangular satellite dish sitting on the ground outdoors." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/06/starlink-new-dish-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/06/starlink-new-dish-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/06/starlink-new-dish-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/starlink-brings-back-waitlist-in-parts-of-us-says-service-is-sold-out/">A year after ditching waitlist, Starlink says it is “sold out” in parts of US</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> SpaceX's Starlink doesn't have enough capacity for everyone who wants it. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-19T17:11:56-05:00" datetime="2024-11-19T17:11:56-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-19T17:11:56-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/tech-policy/2024/11/starlink-brings-back-waitlist-in-parts-of-us-says-service-is-sold-out/#comments" title="177 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> 177 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2062730" data-id="2062730" class="relative group card-list-square post-2062730 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-data-caps tag-fcc"> <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/cable-companies-and-trumps-fcc-chair-agree-data-caps-are-good-for-you/"><img width="300" height="300" src="https://cdn.arstechnica.net/wp-content/uploads/2024/04/getty-network-300x300-1732040422.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Illustration of network data represented by curving lines flowing on a dark background." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/04/getty-network-300x300-1732040422.jpg 300w, https://cdn.arstechnica.net/wp-content/uploads/2024/04/getty-network-500x500-1732040422.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/04/getty-network-1000x1000-1732040423.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/tech-policy/2024/11/cable-companies-and-trumps-fcc-chair-agree-data-caps-are-good-for-you/">Cable companies and Trump’s FCC chair agree: Data caps are good for you</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Data caps reflect "highly competitive environment," cable lobby tells FCC. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-19T13:35:49-05:00" datetime="2024-11-19T13:35:49-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-19T13:35:49-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/tech-policy/2024/11/cable-companies-and-trumps-fcc-chair-agree-data-caps-are-good-for-you/#comments" title="259 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> 259 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2062475" data-id="2062475" class="relative group card-list-square post-2062475 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-brendan-carr tag-donald-trump tag-fcc tag-fcc-chairman"> <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/trumps-fcc-chair-is-brendan-carr-who-wants-to-regulate-everyone-except-isps/"><img width="300" height="300" src="https://cdn.arstechnica.net/wp-content/uploads/2024/11/brendan-carr-cpac-scaled-300x300-1731949655.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Federal Communications Commission member Brendan Carr sits on a stage and speaks while gesturing with his hand. Behind him is the CPAC logo for the Conservative Political Action Conference." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/11/brendan-carr-cpac-scaled-300x300-1731949655.jpg 300w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/brendan-carr-cpac-scaled-500x500-1731949655.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/brendan-carr-cpac-scaled-1000x1000-1731949656.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/tech-policy/2024/11/trumps-fcc-chair-is-brendan-carr-who-wants-to-regulate-everyone-except-isps/">Trump’s FCC chair is Brendan Carr, who wants to regulate everyone except ISPs</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Carr says he wants to punish broadcast media and dismantle "censorship cartel." </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-18T12:20:27-05:00" datetime="2024-11-18T12:20:27-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-18T12:20:27-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/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/11/trumps-fcc-chair-is-brendan-carr-who-wants-to-regulate-everyone-except-isps/#comments" title="206 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> 206 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2062182" data-id="2062182" class="relative group card-list-square post-2062182 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-department-of-government-efficiency tag-doge tag-donald-trump tag-elon-musk"> <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/trump-says-elon-musk-will-lead-doge-a-new-department-of-government-efficiency/"><img width="300" height="300" src="https://cdn.arstechnica.net/wp-content/uploads/2024/11/musk-doge-300x300-1731526199.jpeg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="A logo with a cartoon dog, the word "DOGE," and the phrase "Department of Government Efficiency."" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/11/musk-doge-300x300-1731526199.jpeg 300w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/musk-doge-500x500-1731526200.jpeg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/musk-doge-1000x1000-1731526200.jpeg 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/tech-policy/2024/11/trump-says-elon-musk-will-lead-doge-a-new-department-of-government-efficiency/">Trump says Elon Musk will lead “DOGE,” a new Department of Government Efficiency</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Musk's Department of Government Efficiency to target "massive waste and fraud." </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-13T15:07:14-05:00" datetime="2024-11-13T15:07:14-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-13T15:07:14-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/tech-policy/2024/11/trump-says-elon-musk-will-lead-doge-a-new-department-of-government-efficiency/#comments" title="1,285 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> 1.3k </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2061856" data-id="2061856" class="relative group card-list-square post-2061856 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-copyright-infringement tag-piracy"> <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/record-labels-unhappy-with-court-win-say-isp-should-pay-more-for-user-piracy/"><img width="300" height="300" src="https://cdn.arstechnica.net/wp-content/uploads/2024/11/record-player-300x300-1731437703.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="A music record playing on a turntable" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/11/record-player-300x300-1731437703.jpg 300w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/record-player-500x500-1731437704.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/record-player-1000x1000-1731437704.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/tech-policy/2024/11/record-labels-unhappy-with-court-win-say-isp-should-pay-more-for-user-piracy/">Record labels unhappy with court win, say ISP should pay more for user piracy</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Music companies appeal, demanding payment for each song instead of each album. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-12T14:36:24-05:00" datetime="2024-11-12T14:36:24-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-12T14:36:24-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/12/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/record-labels-unhappy-with-court-win-say-isp-should-pay-more-for-user-piracy/#comments" title="107 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> 107 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2061520" data-id="2061520" class="relative group card-list-square post-2061520 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-binance tag-ftx"> <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/ftx-sues-binance-for-1-76b-in-battle-of-crypto-exchanges-founded-by-convicts/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/04/Changpeng-Zhao-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Former Binance CEO Changpeng Zhao walking outside a court house." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/04/Changpeng-Zhao-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/04/Changpeng-Zhao-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/04/Changpeng-Zhao-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/ftx-sues-binance-for-1-76b-in-battle-of-crypto-exchanges-founded-by-convicts/">FTX sues Binance for $1.76B in battle of crypto exchanges founded by convicts</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Lawsuit seeks "at least $1.76 billion that was fraudulently transferred" by SBF. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-11T14:14:02-05:00" datetime="2024-11-11T14:14:02-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-11T14:14:02-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/11/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/ftx-sues-binance-for-1-76b-in-battle-of-crypto-exchanges-founded-by-convicts/#comments" title="124 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> 124 </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-2061233" data-id="2061233" class="relative group card-list-square post-2061233 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-att tag-fcc tag-location-data tag-t-mobile tag-verizon"> <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/verizon-att-tell-courts-fcc-cant-punish-us-for-selling-user-location-data/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/08/city-network-150x150-1731094956.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Illustration of map pins on a cityscape in an abstract representation of network connections" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/08/city-network-150x150-1731094956.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/08/city-network-500x500-1731094957.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/08/city-network-1000x1000-1731094958.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/verizon-att-tell-courts-fcc-cant-punish-us-for-selling-user-location-data/">Verizon, AT&T tell courts: FCC can’t punish us for selling user location data</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Carriers claim location data isn't protected, say they have right to jury trial. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-08T14:54:35-05:00" datetime="2024-11-08T14:54:35-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-08T14:54:35-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/tech-policy/2024/11/verizon-att-tell-courts-fcc-cant-punish-us-for-selling-user-location-data/#comments" title="115 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> 115 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2061008" data-id="2061008" class="relative group card-list-square post-2061008 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-fcc-brendan-carr"> <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/trumps-likely-fcc-chair-wrote-project-2025-chapter-on-how-hed-run-the-agency/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2020/05/getty-brendan-carr-150x150-1731010848.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="FCC Commissioner Brendan Carr speaking at a conference and gesturing with his hands." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2020/05/getty-brendan-carr-150x150-1731010848.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2020/05/getty-brendan-carr-500x500-1731010848.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2020/05/getty-brendan-carr-1000x1000-1731010849.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/trumps-likely-fcc-chair-wrote-project-2025-chapter-on-how-hed-run-the-agency/">Trump’s likely FCC chair wrote Project 2025 chapter on how he’d run the agency</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Brendan Carr wants to preserve data caps, punish NBC, and give money to SpaceX. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-07T16:18:22-05:00" datetime="2024-11-07T16:18:22-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-07T16:18:22-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/tech-policy/2024/11/trumps-likely-fcc-chair-wrote-project-2025-chapter-on-how-hed-run-the-agency/#comments" title="505 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> 505 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2060483" data-id="2060483" class="relative group card-list-square post-2060483 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-copyright tag-universal-music-group"> <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/umg-says-rival-firm-pirated-songs-under-names-jutin-biber-and-arriana-gramde/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/11/bieber-grande-scaled-150x150-1730832345.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Justin Bieber performs with Ariana Grande on a music festival stage. The singers are facing each other and holding microphones." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/11/bieber-grande-scaled-150x150-1730832345.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/bieber-grande-300x300.jpg 300w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/bieber-grande-640x640.jpg 640w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/bieber-grande-768x768.jpg 768w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/bieber-grande-1536x1536.jpg 1536w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/bieber-grande-2048x2048.jpg 2048w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/bieber-grande-scaled-500x500-1730832345.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/bieber-grande-scaled-1000x1000-1730832346.jpg 1000w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/bieber-grande-980x980.jpg 980w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/bieber-grande-1440x1440.jpg 1440w" 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/umg-says-rival-firm-pirated-songs-under-names-jutin-biber-and-arriana-gramde/">Ever heard of “Llady Gaga”? Universal files piracy suit over alleged knockoffs.</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Universal sues Believe, a music distributor in over 50 countries. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-05T14:21:29-05:00" datetime="2024-11-05T14:21:29-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-05T14:21:29-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/umg-says-rival-firm-pirated-songs-under-names-jutin-biber-and-arriana-gramde/#comments" title="76 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> 76 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2060197" data-id="2060197" class="relative group card-list-square post-2060197 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-elon-musk-x tag-x-blocking"> <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/on-musks-x-blocking-users-doesnt-block-them-from-viewing-your-posts-anymore/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/11/x-logo-150x150-1730743131.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="A smartphone screen displays the logo for X, Elon Musk's social network" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/11/x-logo-150x150-1730743131.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/x-logo-500x500-1730743132.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/11/x-logo-1000x1000-1730743132.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/on-musks-x-blocking-users-doesnt-block-them-from-viewing-your-posts-anymore/">Elon Musk turns X’s block button into a “glorified mute button”</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> X change lets blocked users see posts made by the people who blocked them. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-04T13:34:21-05:00" datetime="2024-11-04T13:34:21-05:00" x-data="{ compact: true, open: false, date: new Date('2024-11-04T13:34: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/4/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/on-musks-x-blocking-users-doesnt-block-them-from-viewing-your-posts-anymore/#comments" title="228 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> 228 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2059945" data-id="2059945" class="relative group card-list-square post-2059945 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-national-radio-quiet-zone tag-starlink"> <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/starlink-enters-national-radio-quiet-zone-but-reportedly-cut-off-access-for-some/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/09/starlink-dish-150x150-1730490697.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="A Starlink satellite dish sitting on the ground outdoors." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/09/starlink-dish-150x150-1730490697.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/starlink-dish-500x500-1730490697.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/09/starlink-dish-1000x1000-1730490698.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/starlink-enters-national-radio-quiet-zone-but-reportedly-cut-off-access-for-some/">Starlink enters National Radio Quiet Zone—but reportedly cut off access for some</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Starlink offered to 99.5% of zone, but locals say Roam product was disabled. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-11-01T16:16:33-04:00" datetime="2024-11-01T16:16:33-04:00" x-data="{ compact: true, open: false, date: new Date('2024-11-01T16:16:33-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/tech-policy/2024/11/starlink-enters-national-radio-quiet-zone-but-reportedly-cut-off-access-for-some/#comments" title="136 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> 136 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2059713" data-id="2059713" class="relative group card-list-square post-2059713 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology category-tech-policy tag-colorado-elections tag-voting-system-passwords"> <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/colorado-scrambles-to-change-voting-system-passwords-after-accidental-leak/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/jena-griswold-150x150-1730408590.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Colorado Secretary of State Jena Griswold speaks from behind a podium during a press conference." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/jena-griswold-150x150-1730408590.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/jena-griswold-500x500-1730408591.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/jena-griswold-1000x1000-1730408591.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/colorado-scrambles-to-change-voting-system-passwords-after-accidental-leak/">Colorado scrambles to change voting-system passwords after accidental leak</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> "The goal is to complete the password updates by this evening," government says. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-31T17:28:05-04:00" datetime="2024-10-31T17:28:05-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-31T17:28:05-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/colorado-scrambles-to-change-voting-system-passwords-after-accidental-leak/#comments" title="81 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> 81 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2059582" data-id="2059582" class="relative group card-list-square post-2059582 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-google-2 tag-russia tag-youtube"> <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/googles-compounding-fines-in-russia-add-up-to-more-than-worlds-total-gdp/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/youtube-logo-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="A YouTube logo displayed on a mobile phone screen" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/youtube-logo-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/youtube-logo-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/youtube-logo-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/googles-compounding-fines-in-russia-add-up-to-more-than-worlds-total-gdp/">Russia fines Google an impossible amount in attempt to end YouTube bans</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Kremlin rep on fine of 2 undecillion rubles: "I cannot even say this number." </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-31T13:13:50-04:00" datetime="2024-10-31T13:13:50-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-31T13:13:50-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/googles-compounding-fines-in-russia-add-up-to-more-than-worlds-total-gdp/#comments" title="164 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> 164 </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-2059384" data-id="2059384" class="relative group card-list-square post-2059384 post type-post status-publish format-standard has-post-thumbnail hentry category-information-technology tag-dropbox"> <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/dropbox-lays-off-528-employees-slashing-total-workforce-by-20-percent/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/cloud-storage-app-icons-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="An iPhone screen displaying icons for file sharing apps Google Drive, OneDrive, Dropbox, pCloud, Box, and Sync." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/cloud-storage-app-icons-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/cloud-storage-app-icons-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/cloud-storage-app-icons-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/dropbox-lays-off-528-employees-slashing-total-workforce-by-20-percent/">Dropbox lays off 20% of staff, says it overinvested and underperformed</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Dropbox also laid off 500 last year but still had "excess layers of management." </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-30T16:03:31-04:00" datetime="2024-10-30T16:03:31-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-30T16:03: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/30/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/dropbox-lays-off-528-employees-slashing-total-workforce-by-20-percent/#comments" title="97 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> 97 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2059285" data-id="2059285" class="relative group card-list-square post-2059285 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-att"> <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/att-praises-itself-after-getting-caught-taking-too-much-money-from-fcc-program/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/taking-money-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="A person with gloved hands taking money out of a briefcase" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/taking-money-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/taking-money-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/taking-money-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/att-praises-itself-after-getting-caught-taking-too-much-money-from-fcc-program/">AT&T praises itself after getting caught taking too much money from FCC program</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> AT&T obtained subsidies for duplicate users and non-users, will pay $2.3 million. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-30T14:20:14-04:00" datetime="2024-10-30T14:20:14-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-30T14:20: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/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/10/att-praises-itself-after-getting-caught-taking-too-much-money-from-fcc-program/#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-2058492" data-id="2058492" class="relative group card-list-square post-2058492 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-mcflurry tag-soft-serve-ice-cream-machines"> <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/us-copyright-office-frees-the-mcflurry-allowing-repair-of-ice-cream-machines/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/mcdonalds-ice-cream-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="An adult holds an ice cream cone up for a child to eat. A McDonald's sign is in the background." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/mcdonalds-ice-cream-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/mcdonalds-ice-cream-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/mcdonalds-ice-cream-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/us-copyright-office-frees-the-mcflurry-allowing-repair-of-ice-cream-machines/">US Copyright Office “frees the McFlurry,” allowing repair of ice cream machines</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Soft-serve machines get a not-quite-parfait exemption to DMCA circumvention rule. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-25T15:37:53-04:00" datetime="2024-10-25T15:37:53-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-25T15:37:53-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/tech-policy/2024/10/us-copyright-office-frees-the-mcflurry-allowing-repair-of-ice-cream-machines/#comments" title="149 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> 149 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2058414" data-id="2058414" class="relative group card-list-square post-2058414 post type-post status-publish format-standard has-post-thumbnail hentry category-google category-tech-policy tag-andrew-bailey tag-google-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/tech-policy/2024/10/missouri-ag-claims-google-censors-trump-demands-info-on-search-algorithm/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/andrew-bailey-150x150-1729873517.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Missouri Attorney General Andrew Bailey speaking into a microphone during a House Judiciary Committee hearing" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/andrew-bailey-150x150-1729873517.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/andrew-bailey-500x500-1729873517.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/andrew-bailey-1000x1000-1729873518.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/missouri-ag-claims-google-censors-trump-demands-info-on-search-algorithm/">Missouri AG claims Google censors Trump, demands info on search algorithm</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Bailey to subpoena info on algorithms; Google says "claims are totally false." </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-25T12:51:29-04:00" datetime="2024-10-25T12:51:29-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-25T12:51:29-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/tech-policy/2024/10/missouri-ag-claims-google-censors-trump-demands-info-on-search-algorithm/#comments" title="183 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> 183 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2058176" data-id="2058176" class="relative group card-list-square post-2058176 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-click-to-cancel-rule"> <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/cable-companies-ask-5th-circuit-to-block-ftcs-click-to-cancel-rule/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/mouse-click-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Close-up shot of a person's hand using a computer mouse" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/mouse-click-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/mouse-click-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/mouse-click-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/cable-companies-ask-5th-circuit-to-block-ftcs-click-to-cancel-rule/">Cable companies ask 5th Circuit to block FTC’s click-to-cancel rule</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Cable companies worry rule will make it hard to talk customers out of canceling. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-24T13:02:24-04:00" datetime="2024-10-24T13:02:24-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-24T13:02: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/24/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/cable-companies-ask-5th-circuit-to-block-ftcs-click-to-cancel-rule/#comments" title="207 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> 207 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2057995" data-id="2057995" class="relative group card-list-square post-2057995 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-data-caps tag-fcc tag-fcc-data-caps"> <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/please-ban-data-caps-internet-users-tell-fcc/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2023/08/getty-abstract-broadband-network-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="An abstract illustration shows flowing lines to data to represent a broadband network." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2023/08/getty-abstract-broadband-network-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2023/08/getty-abstract-broadband-network-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2023/08/getty-abstract-broadband-network-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/please-ban-data-caps-internet-users-tell-fcc/">Please ban data caps, Internet users tell FCC</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> FCC docket draws anger at ISPs and mockery of Republican's data/coffee analogy. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-23T15:12:44-04:00" datetime="2024-10-23T15:12:44-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-23T15:12: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()"> 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/tech-policy/2024/10/please-ban-data-caps-internet-users-tell-fcc/#comments" title="195 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> 195 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2056988" data-id="2056988" class="relative group card-list-square post-2056988 post type-post status-publish format-standard has-post-thumbnail hentry category-features category-tech-policy tag-t-mobile tag-t-mobile-price-lock tag-t-mobile-un-contract"> <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/i-am-still-alive-users-say-t-mobile-must-pay-for-killing-lifetime-price-lock/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/t-mobile-its-alive-150x150-1729188462.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="A hand holding a T-Mobile phone emerges from the ground in an illustration of a hellish landscape in which zombies appear to be rising from the dead" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/t-mobile-its-alive-150x150-1729188462.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/t-mobile-its-alive-500x500-1729188462.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/t-mobile-its-alive-1000x1000-1729188463.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/i-am-still-alive-users-say-t-mobile-must-pay-for-killing-lifetime-price-lock/">“I am still alive”: Users say T-Mobile must pay for killing “lifetime” price lock</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> We obtained 900 complaints the FCC received about T-Mobile's infamous price hike. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-23T07:00:17-04:00" datetime="2024-10-23T07:00:17-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-23T07:00:17-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/tech-policy/2024/10/i-am-still-alive-users-say-t-mobile-must-pay-for-killing-lifetime-price-lock/#comments" title="166 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> 166 </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-2057764" data-id="2057764" class="relative group card-list-square post-2057764 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-automated-license-plate-readers tag-flock-safety"> <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/lawsuit-city-cameras-make-it-impossible-to-drive-anywhere-without-being-tracked/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/license-plate-reader-camera-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="A license plate reader camera mounted on a pole" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/license-plate-reader-camera-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/license-plate-reader-camera-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/license-plate-reader-camera-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/lawsuit-city-cameras-make-it-impossible-to-drive-anywhere-without-being-tracked/">Lawsuit: City cameras make it impossible to drive anywhere without being tracked</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> "Every passing car is captured," says 4th Amendment lawsuit against Norfolk, Va. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-22T16:11:25-04:00" datetime="2024-10-22T16:11:25-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-22T16:11:25-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/tech-policy/2024/10/lawsuit-city-cameras-make-it-impossible-to-drive-anywhere-without-being-tracked/#comments" title="161 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> 161 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2057562" data-id="2057562" class="relative group card-list-square post-2057562 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-att tag-phone-locking tag-t-mobile tag-verizon"> <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/t-mobile-att-oppose-unlocking-rule-claim-locked-phones-are-good-for-users/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/phone-locking-150x150-1729540364.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="A smartphone wrapped in a metal chain and padlock" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/phone-locking-150x150-1729540364.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/phone-locking-500x500-1729540365.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/phone-locking-1000x1000-1729540365.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/t-mobile-att-oppose-unlocking-rule-claim-locked-phones-are-good-for-users/">T-Mobile, AT&T oppose unlocking rule, claim locked phones are good for users</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Carriers fight plan to require unlocking of phones 60 days after activation. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-21T16:16:42-04:00" datetime="2024-10-21T16:16:42-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-21T16:16:42-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/21/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/t-mobile-att-oppose-unlocking-rule-claim-locked-phones-are-good-for-users/#comments" title="231 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> 231 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2057319" data-id="2057319" class="relative group card-list-square post-2057319 post type-post status-publish format-standard has-post-thumbnail hentry category-health category-tech-policy tag-censorship tag-first-amendment"> <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/judge-slams-florida-for-censoring-political-ad-its-the-first-amendment-stupid/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/floridians-protecting-freedom-ad-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="A woman holding an MRI displaying a brain tumor." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/floridians-protecting-freedom-ad-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/floridians-protecting-freedom-ad-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/floridians-protecting-freedom-ad-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/judge-slams-florida-for-censoring-political-ad-its-the-first-amendment-stupid/">Judge slams Florida for censoring political ad: “It’s the First Amendment, stupid”</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Florida threatened TV stations over ad that criticized state's abortion law. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-18T15:57:28-04:00" datetime="2024-10-18T15:57:28-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-18T15:57:28-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/judge-slams-florida-for-censoring-political-ad-its-the-first-amendment-stupid/#comments" title="373 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> 373 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2057266" data-id="2057266" class="relative group card-list-square post-2057266 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-elon-musk-x tag-northern-district-of-texas"> <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/xs-new-terms-steer-lawsuits-to-texas-court-where-judge-owns-tesla-stock/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/02/musk-texas-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Elon Musk speaks at an event while wearing a cowboy hat, sunglasses, and T-shirt." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/02/musk-texas-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/02/musk-texas-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/xs-new-terms-steer-lawsuits-to-texas-court-where-judge-owns-tesla-stock/">Elon Musk changes X terms to steer lawsuits to his favorite Texas court</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> X terms specify Northern District, where Judge Reed O'Connor is a Tesla investor. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-18T13:04:00-04:00" datetime="2024-10-18T13:04:00-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-18T13:04:00-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/xs-new-terms-steer-lawsuits-to-texas-court-where-judge-owns-tesla-stock/#comments" title="288 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> 288 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2056953" data-id="2056953" class="relative group card-list-square post-2056953 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-digital-services-act tag-elon-musk-x"> <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/eu-considers-calculating-x-fines-by-including-revenue-from-musks-other-firms/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/02/Elon-Musk-X-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="A photo of Elon Musk next to the logo for X, the social network formerly known as Twitter,." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/02/Elon-Musk-X-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/02/Elon-Musk-X-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/02/Elon-Musk-X-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/eu-considers-calculating-x-fines-by-including-revenue-from-musks-other-firms/">EU considers calculating X fines by including revenue from Musk’s other firms</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Musk could face DSA fines of up to 6% of global revenue—including SpaceX sales. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-17T13:11:00-04:00" datetime="2024-10-17T13:11:00-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-17T13:11:00-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/tech-policy/2024/10/eu-considers-calculating-x-fines-by-including-revenue-from-musks-other-firms/#comments" title="457 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> 457 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2056797" data-id="2056797" class="relative group card-list-square post-2056797 post type-post status-publish format-standard has-post-thumbnail hentry category-ai category-tech-policy tag-ai-chatbot"> <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/student-was-punished-for-using-ai-then-his-parents-sued-teacher-and-administrators/"><img width="150" height="150" src="https://cdn.arstechnica.net/wp-content/uploads/2024/10/chatbot-150x150.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Illustration of a robot's head on a digital background, to represent an artificial intelligence chatbot" loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/10/chatbot-150x150.jpg 150w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/chatbot-500x500.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/10/chatbot-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/student-was-punished-for-using-ai-then-his-parents-sued-teacher-and-administrators/">Student was punished for using AI—then his parents sued teacher and administrators</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Parents claim there was no rule banning AI, but school cites multiple policies. </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-16T14:53:18-04:00" datetime="2024-10-16T14:53:18-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-16T14:53:18-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/16/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/student-was-punished-for-using-ai-then-his-parents-sued-teacher-and-administrators/#comments" title="387 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> 387 </a> </span></div> </div> </div> </div> </div> </article> <article id="card-2056631" data-id="2056631" class="relative group card-list-square post-2056631 post type-post status-publish format-standard has-post-thumbnail hentry category-tech-policy tag-data-caps"> <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/fcc-republican-opposes-regulation-of-data-caps-with-analogy-to-coffee-refills/"><img width="300" height="300" src="https://cdn.arstechnica.net/wp-content/uploads/2024/04/getty-network-300x300-1732040422.jpg" class="group-hover:saturate-150 object-cover h-auto min-w-full min-h-full absolute wp-post-image" alt="Illustration of network data represented by curving lines flowing on a dark background." loading="lazy" decoding="async" srcset="https://cdn.arstechnica.net/wp-content/uploads/2024/04/getty-network-300x300-1732040422.jpg 300w, https://cdn.arstechnica.net/wp-content/uploads/2024/04/getty-network-500x500-1732040422.jpg 500w, https://cdn.arstechnica.net/wp-content/uploads/2024/04/getty-network-1000x1000-1732040423.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/tech-policy/2024/10/fcc-republican-opposes-regulation-of-data-caps-with-analogy-to-coffee-refills/">FCC Republican opposes regulation of data caps with analogy to coffee refills</a> </h2> <p class="leading-tighter dark:text-gray-250 my-1 text-base text-gray-400"> Republican commissioner: You wouldn't require free coffee refills, would you? </p> <div class="font-impact text-xs font-semibold uppercase text-gray-300"><span>Jon Brodkin</span> – <span class="whitespace-nowrap"> <time class="mr-[2px] inline-block cursor-default" title="2024-10-15T17:29:06-04:00" datetime="2024-10-15T17:29:06-04:00" x-data="{ compact: true, open: false, date: new Date('2024-10-15T17:29:06-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/15/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/fcc-republican-opposes-regulation-of-data-caps-with-analogy-to-coffee-refills/#comments" title="229 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> 229 </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/jon-brodkin/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":"Jon Brodkin \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\/jon-brodkin\/","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>